forgex-cli 1.0.59 → 1.0.61

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (158) hide show
  1. package/README.md +375 -368
  2. package/dist/bin/forgex.d.ts +5 -5
  3. package/dist/bin/forgex.js +14 -14
  4. package/dist/bin/forgex.js.map +1 -1
  5. package/dist/src/adapters/codex-adapter.d.ts +90 -90
  6. package/dist/src/adapters/codex-adapter.d.ts.map +1 -1
  7. package/dist/src/adapters/codex-adapter.js +76 -76
  8. package/dist/src/adapters/codex-adapter.js.map +1 -1
  9. package/dist/src/adapters/connection.d.ts +6 -6
  10. package/dist/src/adapters/connection.js +8 -8
  11. package/dist/src/adapters/connection.js.map +1 -1
  12. package/dist/src/adapters/ipfs.d.ts +3 -3
  13. package/dist/src/adapters/ipfs.js +3 -3
  14. package/dist/src/adapters/jito-adapter.d.ts +85 -85
  15. package/dist/src/adapters/jito-adapter.d.ts.map +1 -1
  16. package/dist/src/adapters/jito-adapter.js +111 -111
  17. package/dist/src/adapters/jito-adapter.js.map +1 -1
  18. package/dist/src/adapters/rpc-adapter.d.ts +53 -53
  19. package/dist/src/adapters/rpc-adapter.d.ts.map +1 -1
  20. package/dist/src/adapters/rpc-adapter.js +69 -69
  21. package/dist/src/adapters/rpc-adapter.js.map +1 -1
  22. package/dist/src/adapters/sdk-adapter.d.ts +21 -21
  23. package/dist/src/adapters/sdk-adapter.d.ts.map +1 -1
  24. package/dist/src/adapters/sdk-adapter.js +79 -79
  25. package/dist/src/adapters/sdk-adapter.js.map +1 -1
  26. package/dist/src/commands/config/index.d.ts +1 -1
  27. package/dist/src/commands/config/index.js +15 -15
  28. package/dist/src/commands/config/index.js.map +1 -1
  29. package/dist/src/commands/query/index.d.ts +2 -2
  30. package/dist/src/commands/query/index.js +82 -82
  31. package/dist/src/commands/query/index.js.map +1 -1
  32. package/dist/src/commands/token/index.d.ts +8 -8
  33. package/dist/src/commands/token/index.js +73 -73
  34. package/dist/src/commands/token/index.js.map +1 -1
  35. package/dist/src/commands/tools/index.d.ts +9 -9
  36. package/dist/src/commands/tools/index.js +137 -137
  37. package/dist/src/commands/tools/index.js.map +1 -1
  38. package/dist/src/commands/trade/index.d.ts +2 -2
  39. package/dist/src/commands/trade/index.js +82 -82
  40. package/dist/src/commands/trade/index.js.map +1 -1
  41. package/dist/src/commands/transfer/index.d.ts +8 -8
  42. package/dist/src/commands/transfer/index.js +106 -106
  43. package/dist/src/commands/transfer/index.js.map +1 -1
  44. package/dist/src/commands/wallet/index.d.ts +1 -1
  45. package/dist/src/commands/wallet/index.js +175 -175
  46. package/dist/src/commands/wallet/index.js.map +1 -1
  47. package/dist/src/config.d.ts +26 -26
  48. package/dist/src/config.d.ts.map +1 -1
  49. package/dist/src/config.js +28 -28
  50. package/dist/src/config.js.map +1 -1
  51. package/dist/src/const/index.js +1 -1
  52. package/dist/src/const/index.js.map +1 -1
  53. package/dist/src/data-source.d.ts +81 -81
  54. package/dist/src/data-source.d.ts.map +1 -1
  55. package/dist/src/data-source.js +149 -149
  56. package/dist/src/data-source.js.map +1 -1
  57. package/dist/src/data-store/index.d.ts +22 -22
  58. package/dist/src/data-store/index.d.ts.map +1 -1
  59. package/dist/src/data-store/index.js +46 -46
  60. package/dist/src/data-store/index.js.map +1 -1
  61. package/dist/src/data-store/types.d.ts +3 -3
  62. package/dist/src/data-store/types.js +3 -3
  63. package/dist/src/index.d.ts +2 -2
  64. package/dist/src/index.js +10 -10
  65. package/dist/src/index.js.map +1 -1
  66. package/dist/src/output.d.ts +18 -18
  67. package/dist/src/output.d.ts.map +1 -1
  68. package/dist/src/output.js +34 -34
  69. package/dist/src/output.js.map +1 -1
  70. package/dist/src/shims/store.d.ts +3 -2
  71. package/dist/src/shims/store.d.ts.map +1 -1
  72. package/dist/src/shims/store.js +6 -5
  73. package/dist/src/shims/store.js.map +1 -1
  74. package/dist/src/sol-sdk/batch/create.d.ts +4 -1
  75. package/dist/src/sol-sdk/batch/create.d.ts.map +1 -1
  76. package/dist/src/sol-sdk/batch/create.js +44 -44
  77. package/dist/src/sol-sdk/batch/create.js.map +1 -1
  78. package/dist/src/sol-sdk/batch/index.js +135 -135
  79. package/dist/src/sol-sdk/batch/index.js.map +1 -1
  80. package/dist/src/sol-sdk/calc.d.ts +63 -63
  81. package/dist/src/sol-sdk/calc.d.ts.map +1 -1
  82. package/dist/src/sol-sdk/calc.js +120 -120
  83. package/dist/src/sol-sdk/calc.js.map +1 -1
  84. package/dist/src/sol-sdk/jito/index.js +12 -12
  85. package/dist/src/sol-sdk/jito/index.js.map +1 -1
  86. package/dist/src/sol-sdk/launchlab/instructions/create.js +10 -10
  87. package/dist/src/sol-sdk/launchlab/instructions/create.js.map +1 -1
  88. package/dist/src/sol-sdk/meteora/index.d.ts +5 -5
  89. package/dist/src/sol-sdk/meteora/index.js +11 -11
  90. package/dist/src/sol-sdk/meteora/index.js.map +1 -1
  91. package/dist/src/sol-sdk/meteora/instructions/buy.js +8 -8
  92. package/dist/src/sol-sdk/meteora/instructions/buy.js.map +1 -1
  93. package/dist/src/sol-sdk/meteora/instructions/sell.js +6 -6
  94. package/dist/src/sol-sdk/meteora/instructions/sell.js.map +1 -1
  95. package/dist/src/sol-sdk/pump/index.js +3 -3
  96. package/dist/src/sol-sdk/pump/index.js.map +1 -1
  97. package/dist/src/sol-sdk/pump/instructions/buy.d.ts +12 -12
  98. package/dist/src/sol-sdk/pump/instructions/buy.d.ts.map +1 -1
  99. package/dist/src/sol-sdk/pump/instructions/buy.js +26 -26
  100. package/dist/src/sol-sdk/pump/instructions/buy.js.map +1 -1
  101. package/dist/src/sol-sdk/pump/instructions/createAndBuy.d.ts +13 -13
  102. package/dist/src/sol-sdk/pump/instructions/createAndBuy.js +17 -17
  103. package/dist/src/sol-sdk/pump/instructions/createAndBuy.js.map +1 -1
  104. package/dist/src/sol-sdk/pump/instructions/sell.d.ts +2 -2
  105. package/dist/src/sol-sdk/pump/instructions/sell.d.ts.map +1 -1
  106. package/dist/src/sol-sdk/pump/instructions/sell.js +7 -7
  107. package/dist/src/sol-sdk/pump/instructions/sell.js.map +1 -1
  108. package/dist/src/sol-sdk/pumpswap/index.d.ts +4 -4
  109. package/dist/src/sol-sdk/pumpswap/index.js +5 -5
  110. package/dist/src/sol-sdk/pumpswap/index.js.map +1 -1
  111. package/dist/src/sol-sdk/pumpswap/instructions/buy.d.ts +8 -8
  112. package/dist/src/sol-sdk/pumpswap/instructions/buy.js +19 -19
  113. package/dist/src/sol-sdk/pumpswap/instructions/buy.js.map +1 -1
  114. package/dist/src/sol-sdk/pumpswap/instructions/migrate.js +2 -2
  115. package/dist/src/sol-sdk/pumpswap/instructions/migrate.js.map +1 -1
  116. package/dist/src/sol-sdk/pumpswap/instructions/sell.js +4 -4
  117. package/dist/src/sol-sdk/pumpswap/instructions/sell.js.map +1 -1
  118. package/dist/src/sol-sdk/pumpswap/rpc/index.js +1 -1
  119. package/dist/src/sol-sdk/pumpswap/rpc/index.js.map +1 -1
  120. package/dist/src/sol-sdk/raydium/instructions/cpmmSell.js +3 -3
  121. package/dist/src/sol-sdk/raydium/instructions/cpmmSell.js.map +1 -1
  122. package/dist/src/sol-sdk/raydium/instructions/sell.d.ts +40 -8520
  123. package/dist/src/sol-sdk/raydium/instructions/sell.d.ts.map +1 -1
  124. package/dist/src/sol-sdk/raydium/instructions/sell.js +6 -6
  125. package/dist/src/sol-sdk/raydium/instructions/sell.js.map +1 -1
  126. package/dist/src/sol-sdk/raydium/rpc/index.d.ts +4 -4
  127. package/dist/src/sol-sdk/rpc/index.d.ts +14 -14
  128. package/dist/src/sol-sdk/rpc/index.d.ts.map +1 -1
  129. package/dist/src/sol-sdk/rpc/index.js +17 -17
  130. package/dist/src/sol-sdk/rpc/index.js.map +1 -1
  131. package/dist/src/sol-sdk/transfer/index.js +5 -5
  132. package/dist/src/sol-sdk/transfer/index.js.map +1 -1
  133. package/dist/src/sol-sdk/turnover/index.d.ts +3 -3
  134. package/dist/src/sol-sdk/turnover/index.js +56 -56
  135. package/dist/src/sol-sdk/turnover/index.js.map +1 -1
  136. package/dist/src/telemetry.d.ts +8 -8
  137. package/dist/src/telemetry.d.ts.map +1 -1
  138. package/dist/src/telemetry.js +25 -25
  139. package/dist/src/telemetry.js.map +1 -1
  140. package/dist/src/tx-tracker/detail-adapter.d.ts +53 -53
  141. package/dist/src/tx-tracker/detail-adapter.d.ts.map +1 -1
  142. package/dist/src/tx-tracker/detail-adapter.js +68 -68
  143. package/dist/src/tx-tracker/detail-adapter.js.map +1 -1
  144. package/dist/src/tx-tracker/index.d.ts +67 -67
  145. package/dist/src/tx-tracker/index.d.ts.map +1 -1
  146. package/dist/src/tx-tracker/index.js +103 -103
  147. package/dist/src/tx-tracker/index.js.map +1 -1
  148. package/dist/src/types/index.d.ts +10 -10
  149. package/dist/src/types/index.d.ts.map +1 -1
  150. package/dist/src/types/websocket.js +1 -1
  151. package/dist/src/types/websocket.js.map +1 -1
  152. package/dist/src/utils/index.js +20 -20
  153. package/dist/src/utils/index.js.map +1 -1
  154. package/dist/src/wallet-store.d.ts +51 -51
  155. package/dist/src/wallet-store.d.ts.map +1 -1
  156. package/dist/src/wallet-store.js +104 -104
  157. package/dist/src/wallet-store.js.map +1 -1
  158. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 配置管理命令组
2
+ * Configuration management command group
3
3
  *
4
4
  * forgex config init | set | get | list
5
5
  */
@@ -8,14 +8,14 @@ import { output, success, error } from '../../output.js';
8
8
  export function registerConfigCommands(program) {
9
9
  const configCmd = program
10
10
  .command('config')
11
- .description('配置管理');
11
+ .description('Configuration management');
12
12
  // forgex config init
13
13
  configCmd
14
14
  .command('init')
15
- .description('初始化配置文件')
16
- .option('--rpc-url <url>', 'Solana RPC 节点 URL')
15
+ .description('Initialize config file')
16
+ .option('--rpc-url <url>', 'Solana RPC node URL')
17
17
  .option('--codex-api-key <key>', 'Codex API Key')
18
- .option('--network <network>', '网络类型: mainnet | devnet | testnet')
18
+ .option('--network <network>', 'Network type: mainnet | devnet | testnet')
19
19
  .action((options) => {
20
20
  try {
21
21
  const overrides = {};
@@ -27,38 +27,38 @@ export function registerConfigCommands(program) {
27
27
  overrides.network = options.network;
28
28
  const config = initConfig(overrides);
29
29
  output({ success: true, configFile: CONFIG_FILE, config });
30
- success(`配置文件已创建: ${CONFIG_FILE}`);
30
+ success(`Config file created: ${CONFIG_FILE}`);
31
31
  }
32
32
  catch (e) {
33
- error('初始化配置失败', e.message);
33
+ error('Failed to initialize config', e.message);
34
34
  process.exit(1);
35
35
  }
36
36
  });
37
37
  // forgex config set <key> <value>
38
38
  configCmd
39
39
  .command('set <key> <value>')
40
- .description('设置配置项')
40
+ .description('Set config value')
41
41
  .action((key, value) => {
42
42
  try {
43
43
  setConfigValue(key, value);
44
44
  output({ success: true, key, value: getConfigValue(key) });
45
- success(`配置已更新: ${key} = ${value}`);
45
+ success(`Config updated: ${key} = ${value}`);
46
46
  }
47
47
  catch (e) {
48
- error('设置配置失败', e.message);
48
+ error('Failed to set config', e.message);
49
49
  process.exit(1);
50
50
  }
51
51
  });
52
52
  // forgex config get [key]
53
53
  configCmd
54
54
  .command('get [key]')
55
- .description('查看配置项')
55
+ .description('Get config value')
56
56
  .action((key) => {
57
57
  try {
58
58
  if (key) {
59
59
  const value = getConfigValue(key);
60
60
  if (value === undefined) {
61
- error(`配置项不存在: ${key}`);
61
+ error(`Config key does not exist: ${key}`);
62
62
  process.exit(1);
63
63
  }
64
64
  output({ key, value });
@@ -69,21 +69,21 @@ export function registerConfigCommands(program) {
69
69
  }
70
70
  }
71
71
  catch (e) {
72
- error('读取配置失败', e.message);
72
+ error('Failed to read config', e.message);
73
73
  process.exit(1);
74
74
  }
75
75
  });
76
76
  // forgex config list
77
77
  configCmd
78
78
  .command('list')
79
- .description('列出所有配置')
79
+ .description('List all config')
80
80
  .action(() => {
81
81
  try {
82
82
  const config = loadConfig();
83
83
  output(config);
84
84
  }
85
85
  catch (e) {
86
- error('读取配置失败', e.message);
86
+ error('Failed to read config', e.message);
87
87
  process.exit(1);
88
88
  }
89
89
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/config/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  /**
2
- * 查询命令组
2
+ * Query command group
3
3
  *
4
4
  * forgex query balance | price | kline | transactions | monitor
5
5
  *
6
- * 数据源: DataSource 统一门面 (3.0g 迁移)
6
+ * Data source: DataSource unified facade (3.0g migration)
7
7
  */
8
8
  import { Command } from 'commander';
9
9
  export declare function registerQueryCommands(program: Command): void;
@@ -1,31 +1,31 @@
1
1
  /**
2
- * 查询命令组
2
+ * Query command group
3
3
  *
4
4
  * forgex query balance | price | kline | transactions | monitor
5
5
  *
6
- * 数据源: DataSource 统一门面 (3.0g 迁移)
6
+ * Data source: DataSource unified facade (3.0g migration)
7
7
  */
8
8
  import { PublicKey } from '@solana/web3.js';
9
9
  import { getDataSource } from '../../data-source.js';
10
10
  import { output, error, warn } from '../../output.js';
11
11
  // ============================================================
12
- // 输入验证辅助函数
12
+ // Input validation helper functions
13
13
  // ============================================================
14
- /** 验证 Solana 公钥地址格式 */
14
+ /** Validate Solana public key address format */
15
15
  function validatePublicKey(address, label) {
16
16
  try {
17
17
  new PublicKey(address);
18
18
  }
19
19
  catch {
20
- error(`无效的${label}格式: ${address}`);
20
+ error(`Invalid ${label} format: ${address}`);
21
21
  process.exit(1);
22
22
  }
23
23
  }
24
- /** 验证正整数 */
24
+ /** Validate positive integer */
25
25
  function validatePositiveInt(value, label) {
26
26
  const num = Number(value);
27
27
  if (!Number.isInteger(num) || num <= 0) {
28
- error(`${label} 必须是正整数,收到: ${value}`);
28
+ error(`${label} must be a positive integer, received: ${value}`);
29
29
  process.exit(1);
30
30
  }
31
31
  return num;
@@ -33,26 +33,26 @@ function validatePositiveInt(value, label) {
33
33
  export function registerQueryCommands(program) {
34
34
  const queryCmd = program
35
35
  .command('query')
36
- .description('查询操作');
36
+ .description('Query operations');
37
37
  // ============================================================
38
38
  // forgex query balance
39
39
  // ============================================================
40
40
  queryCmd
41
41
  .command('balance')
42
- .description('查询钱包余额')
43
- .requiredOption('--address <addr>', '钱包地址')
44
- .option('--token <ca>', '代币合约地址(不填则查 SOL')
42
+ .description('Query wallet balance')
43
+ .requiredOption('--address <addr>', 'Wallet address')
44
+ .option('--token <ca>', 'Token contract address (queries SOL if omitted)')
45
45
  .action(async (options) => {
46
46
  try {
47
- // P1 fix #5: 验证 --address 是有效 Solana 公钥
48
- validatePublicKey(options.address, '钱包地址');
49
- // P1 fix #6: 验证 --token 地址(当提供时)
47
+ // P1 fix #5: validate --address is a valid Solana public key
48
+ validatePublicKey(options.address, 'Wallet address');
49
+ // P1 fix #6: validate --token address (when provided)
50
50
  if (options.token) {
51
- validatePublicKey(options.token, '代币合约地址');
51
+ validatePublicKey(options.token, 'Token contract address');
52
52
  }
53
53
  const ds = getDataSource();
54
54
  if (!options.token) {
55
- // 查询 SOL 余额 -- 通过 DataSource -> RpcAdapter
55
+ // Query SOL balance -- via DataSource -> RpcAdapter
56
56
  const balance = await ds.getSolBalance(options.address);
57
57
  output({
58
58
  address: options.address,
@@ -62,9 +62,9 @@ export function registerQueryCommands(program) {
62
62
  });
63
63
  }
64
64
  else {
65
- // 查询代币余额 -- 通过 DataSource -> RpcAdapter
65
+ // Query token balance -- via DataSource -> RpcAdapter
66
66
  const tokenBalance = await ds.getTokenBalance(options.address, options.token);
67
- // 尝试获取代币符号信息
67
+ // Try to get token symbol info
68
68
  let symbol;
69
69
  let decimals;
70
70
  try {
@@ -73,7 +73,7 @@ export function registerQueryCommands(program) {
73
73
  decimals = tokenInfo.decimals;
74
74
  }
75
75
  catch {
76
- // 代币信息获取失败不影响余额显示
76
+ // Token info fetch failure does not affect balance display
77
77
  }
78
78
  if (tokenBalance > 0) {
79
79
  output({
@@ -89,13 +89,13 @@ export function registerQueryCommands(program) {
89
89
  address: options.address,
90
90
  token: options.token,
91
91
  balance: 0,
92
- message: '未持有该代币',
92
+ message: 'Token not held',
93
93
  });
94
94
  }
95
95
  }
96
96
  }
97
97
  catch (e) {
98
- error('查询余额失败', e.message);
98
+ error('Balance query failed', e.message);
99
99
  process.exit(1);
100
100
  }
101
101
  });
@@ -104,20 +104,20 @@ export function registerQueryCommands(program) {
104
104
  // ============================================================
105
105
  queryCmd
106
106
  .command('price')
107
- .description('查询代币价格')
108
- .requiredOption('--token <ca>', '代币合约地址')
107
+ .description('Query token price')
108
+ .requiredOption('--token <ca>', 'Token contract address')
109
109
  .action(async (options) => {
110
110
  try {
111
- // P2 fix: 验证 --token 是有效 Solana 公钥
112
- validatePublicKey(options.token, '代币合约地址');
111
+ // P2 fix: validate --token is a valid Solana public key
112
+ validatePublicKey(options.token, 'Token contract address');
113
113
  const ds = getDataSource();
114
- // 并行获取代币信息和价格 -- 通过 DataSource -> CodexAdapter
114
+ // Fetch token info and price in parallel -- via DataSource -> CodexAdapter
115
115
  const [tokenInfo, priceData, pairsData] = await Promise.all([
116
116
  ds.getTokenInfo(options.token),
117
117
  ds.getTokenPrice(options.token),
118
118
  ds.getPairsForToken(options.token, 5).catch(() => []),
119
119
  ]);
120
- // 格式化交易对信息
120
+ // Format trading pair info
121
121
  const formattedPairs = pairsData.map((p) => ({
122
122
  exchange: p.exchangeName,
123
123
  pairAddress: p.pairAddress,
@@ -134,7 +134,7 @@ export function registerQueryCommands(program) {
134
134
  });
135
135
  }
136
136
  catch (e) {
137
- error('查询价格失败', e.message);
137
+ error('Price query failed', e.message);
138
138
  process.exit(1);
139
139
  }
140
140
  });
@@ -143,24 +143,24 @@ export function registerQueryCommands(program) {
143
143
  // ============================================================
144
144
  queryCmd
145
145
  .command('kline')
146
- .description('查询 K 线数据')
147
- .requiredOption('--token <ca>', '代币合约地址')
148
- .option('--interval <interval>', '周期: 1m | 5m | 15m | 1h | 4h | 1d', '1h')
149
- .option('--count <n>', '数据条数', '100')
146
+ .description('Query candlestick data')
147
+ .requiredOption('--token <ca>', 'Token contract address')
148
+ .option('--interval <interval>', 'Interval: 1m | 5m | 15m | 1h | 4h | 1d', '1h')
149
+ .option('--count <n>', 'Data count', '100')
150
150
  .action(async (options) => {
151
151
  try {
152
- // P2 fix: 验证 --token 是有效 Solana 公钥
153
- validatePublicKey(options.token, '代币合约地址');
154
- // P1 fix #1: 验证 --interval 必须是有效值
152
+ // P2 fix: validate --token is a valid Solana public key
153
+ validatePublicKey(options.token, 'Token contract address');
154
+ // P1 fix #1: validate --interval is a valid value
155
155
  const validIntervals = ['1m', '5m', '15m', '1h', '4h', '1d'];
156
156
  if (!validIntervals.includes(options.interval)) {
157
- error(`--interval 必须是以下之一: ${validIntervals.join(', ')},收到: ${options.interval}`);
157
+ error(`--interval must be one of: ${validIntervals.join(', ')}, received: ${options.interval}`);
158
158
  process.exit(1);
159
159
  }
160
- // P1 fix #2: 验证 --count 是正整数,非 NaN
160
+ // P1 fix #2: validate --count is a positive integer, not NaN
161
161
  const count = Number(options.count);
162
162
  if (!Number.isInteger(count) || count <= 0) {
163
- error(`--count 必须是正整数,收到: ${options.count}`);
163
+ error(`--count must be a positive integer, received: ${options.count}`);
164
164
  process.exit(1);
165
165
  }
166
166
  const ds = getDataSource();
@@ -173,7 +173,7 @@ export function registerQueryCommands(program) {
173
173
  '4h': 14400,
174
174
  '1d': 86400,
175
175
  };
176
- // Codex API 使用不同的 resolution 格式
176
+ // Codex API uses different resolution format
177
177
  const resolutionMap = {
178
178
  '1m': '1',
179
179
  '5m': '5',
@@ -185,16 +185,16 @@ export function registerQueryCommands(program) {
185
185
  const seconds = intervalSeconds[options.interval];
186
186
  const from = now - seconds * count;
187
187
  const codexResolution = resolutionMap[options.interval] || '60';
188
- // 先获取代币的 pairAddress 用于 K线查询
188
+ // Get token pairAddress first for candlestick query
189
189
  let pairAddress;
190
190
  try {
191
191
  const tokenInfo = await ds.getTokenInfo(options.token);
192
192
  pairAddress = tokenInfo.pairAddress;
193
193
  }
194
194
  catch {
195
- // 如果获取不到 pairAddress,使用 token 地址
195
+ // If pairAddress unavailable, use token address
196
196
  }
197
- // 通过 DataSource -> CodexAdapter 获取 K线数据
197
+ // Get candlestick data via DataSource -> CodexAdapter
198
198
  const klineData = await ds.getKlineData({
199
199
  tokenAddress: options.token,
200
200
  pairAddress: pairAddress || undefined,
@@ -206,7 +206,7 @@ export function registerQueryCommands(program) {
206
206
  output(klineData);
207
207
  }
208
208
  catch (e) {
209
- error('查询 K 线数据失败', e.message);
209
+ error('Candlestick data query failed', e.message);
210
210
  process.exit(1);
211
211
  }
212
212
  });
@@ -215,42 +215,42 @@ export function registerQueryCommands(program) {
215
215
  // ============================================================
216
216
  queryCmd
217
217
  .command('transactions')
218
- .description('查询交易记录')
219
- .requiredOption('--group <id>', '钱包组 ID')
220
- .option('--token <ca>', '按代币过滤')
221
- .option('--page <n>', '页码', '1')
222
- .option('--page-size <n>', '每页数量', '20')
218
+ .description('Query trade records')
219
+ .requiredOption('--group <id>', 'Wallet group ID')
220
+ .option('--token <ca>', 'Filter by token')
221
+ .option('--page <n>', 'Page number', '1')
222
+ .option('--page-size <n>', 'Page size', '20')
223
223
  .action(async (options) => {
224
224
  try {
225
- // P1 fix #3: 验证 --group, --page, --page-size 是有效正整数
225
+ // P1 fix #3: validate --group, --page, --page-size are valid positive integers
226
226
  const groupId = validatePositiveInt(options.group, '--group');
227
227
  const page = validatePositiveInt(options.page, '--page');
228
228
  const pageSize = validatePositiveInt(options.pageSize, '--page-size');
229
229
  const ds = getDataSource();
230
230
  if (options.token) {
231
- // 按代币过滤: DataStore 读取本地交易记录
232
- validatePublicKey(options.token, '代币合约地址');
231
+ // Filter by token: read local trade records from DataStore
232
+ validatePublicKey(options.token, 'Token contract address');
233
233
  const txFile = ds.getTransactions(options.token, groupId);
234
234
  const allTxs = txFile?.transactions || [];
235
- // 手动分页
235
+ // Manual pagination
236
236
  const start = (page - 1) * pageSize;
237
237
  const pagedTxs = allTxs.slice(start, start + pageSize);
238
238
  if (pagedTxs.length === 0) {
239
- warn('暂无交易记录');
239
+ warn('No trade records');
240
240
  }
241
241
  output(pagedTxs, {
242
242
  columns: [
243
- { key: 'txHash', header: '交易哈希' },
244
- { key: 'txType', header: '类型' },
245
- { key: 'walletAddress', header: '钱包' },
246
- { key: 'amountSol', header: 'SOL 数量' },
247
- { key: 'amountToken', header: 'Token 数量' },
248
- { key: 'blockTime', header: '时间' },
243
+ { key: 'txHash', header: 'Tx Hash' },
244
+ { key: 'txType', header: 'Type' },
245
+ { key: 'walletAddress', header: 'Wallet' },
246
+ { key: 'amountSol', header: 'SOL Amount' },
247
+ { key: 'amountToken', header: 'Token Amount' },
248
+ { key: 'blockTime', header: 'Time' },
249
249
  ],
250
250
  });
251
251
  }
252
252
  else {
253
- // 无代币过滤: 汇总所有代币的交易记录
253
+ // No token filter: aggregate all token trade records
254
254
  const allTokens = ds.listTokens();
255
255
  const allTxs = [];
256
256
  for (const ca of allTokens) {
@@ -259,28 +259,28 @@ export function registerQueryCommands(program) {
259
259
  allTxs.push(...txFile.transactions);
260
260
  }
261
261
  }
262
- // 按时间倒序排列
262
+ // Sort by time descending
263
263
  allTxs.sort((a, b) => (b.blockTime || 0) - (a.blockTime || 0));
264
- // 手动分页
264
+ // Manual pagination
265
265
  const start = (page - 1) * pageSize;
266
266
  const pagedTxs = allTxs.slice(start, start + pageSize);
267
267
  if (pagedTxs.length === 0) {
268
- warn('暂无交易记录');
268
+ warn('No trade records');
269
269
  }
270
270
  output(pagedTxs, {
271
271
  columns: [
272
- { key: 'txHash', header: '交易哈希' },
273
- { key: 'txType', header: '类型' },
274
- { key: 'walletAddress', header: '钱包' },
275
- { key: 'amountSol', header: 'SOL 数量' },
276
- { key: 'amountToken', header: 'Token 数量' },
277
- { key: 'blockTime', header: '时间' },
272
+ { key: 'txHash', header: 'Tx Hash' },
273
+ { key: 'txType', header: 'Type' },
274
+ { key: 'walletAddress', header: 'Wallet' },
275
+ { key: 'amountSol', header: 'SOL Amount' },
276
+ { key: 'amountToken', header: 'Token Amount' },
277
+ { key: 'blockTime', header: 'Time' },
278
278
  ],
279
279
  });
280
280
  }
281
281
  }
282
282
  catch (e) {
283
- error('查询交易记录失败', e.message);
283
+ error('Trade records query failed', e.message);
284
284
  process.exit(1);
285
285
  }
286
286
  });
@@ -289,26 +289,26 @@ export function registerQueryCommands(program) {
289
289
  // ============================================================
290
290
  queryCmd
291
291
  .command('monitor')
292
- .description('查询监控数据')
293
- .requiredOption('--group <id>', '钱包组 ID')
294
- .option('--token <ca>', '代币合约地址')
292
+ .description('Query monitoring data')
293
+ .requiredOption('--group <id>', 'Wallet group ID')
294
+ .option('--token <ca>', 'Token contract address')
295
295
  .action(async (options) => {
296
296
  try {
297
- // P1 fix #4: 验证 --group 是有效正整数
297
+ // P1 fix #4: validate --group is a valid positive integer
298
298
  const groupId = validatePositiveInt(options.group, '--group');
299
- // P2 fix: 验证 --token 地址(当提供时)
299
+ // P2 fix: validate --token address (when provided)
300
300
  if (options.token) {
301
- validatePublicKey(options.token, '代币合约地址');
301
+ validatePublicKey(options.token, 'Token contract address');
302
302
  }
303
303
  const ds = getDataSource();
304
304
  if (options.token) {
305
- // 指定代币: DataStore 读取持仓 + 获取实时价格
305
+ // Specific token: read positions from DataStore + get real-time price
306
306
  const [holdings, priceData] = await Promise.all([
307
307
  Promise.resolve(ds.getHoldings(options.token, groupId)),
308
308
  ds.getTokenPrice(options.token).catch(() => ({ priceSol: 0, priceUsd: 0 })),
309
309
  ]);
310
310
  const walletHoldings = holdings?.wallets || [];
311
- // 计算未实现盈亏
311
+ // Calculate unrealized P&L
312
312
  const enrichedHoldings = walletHoldings.map((w) => ({
313
313
  walletAddress: w.walletAddress,
314
314
  tokenBalance: w.tokenBalance,
@@ -331,7 +331,7 @@ export function registerQueryCommands(program) {
331
331
  });
332
332
  }
333
333
  else {
334
- // 无指定代币: 汇总所有代币的持仓数据
334
+ // No specific token: aggregate all token positions
335
335
  const allTokens = ds.listTokens();
336
336
  const tokenSummaries = [];
337
337
  for (const ca of allTokens) {
@@ -343,7 +343,7 @@ export function registerQueryCommands(program) {
343
343
  priceData = await ds.getTokenPrice(ca);
344
344
  }
345
345
  catch {
346
- // 价格获取失败,使用默认值
346
+ // Price fetch failed, use default
347
347
  }
348
348
  const totalTokenBalance = holdings.wallets.reduce((sum, w) => sum + w.tokenBalance, 0);
349
349
  const totalRealizedPnl = holdings.wallets.reduce((sum, w) => sum + w.realizedPnl, 0);
@@ -359,7 +359,7 @@ export function registerQueryCommands(program) {
359
359
  });
360
360
  }
361
361
  if (tokenSummaries.length === 0) {
362
- warn('暂无持仓数据');
362
+ warn('No position data');
363
363
  }
364
364
  output({
365
365
  groupId,
@@ -368,7 +368,7 @@ export function registerQueryCommands(program) {
368
368
  }
369
369
  }
370
370
  catch (e) {
371
- error('查询监控数据失败', e.message);
371
+ error('Monitoring data query failed', e.message);
372
372
  process.exit(1);
373
373
  }
374
374
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/query/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEtD,+DAA+D;AAC/D,WAAW;AACX,+DAA+D;AAE/D,uBAAuB;AACvB,SAAS,iBAAiB,CAAC,OAAe,EAAE,KAAa;IACvD,IAAI,CAAC;QACH,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,CAAC,MAAM,KAAK,OAAO,OAAO,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,YAAY;AACZ,SAAS,mBAAmB,CAAC,KAAa,EAAE,KAAa;IACvD,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,GAAG,KAAK,eAAe,KAAK,EAAE,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,MAAM,CAAC,CAAC;IAEvB,+DAA+D;IAC/D,uBAAuB;IACvB,+DAA+D;IAC/D,QAAQ;SACL,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,QAAQ,CAAC;SACrB,cAAc,CAAC,kBAAkB,EAAE,MAAM,CAAC;SAC1C,MAAM,CAAC,cAAc,EAAE,kBAAkB,CAAC;SAC1C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,wCAAwC;YACxC,iBAAiB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAE3C,iCAAiC;YACjC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;YAE3B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBACnB,2CAA2C;gBAC3C,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACxD,MAAM,CAAC;oBACL,OAAO,EAAE,OAAO,CAAC,OAAO;oBACxB,KAAK,EAAE,KAAK;oBACZ,OAAO;oBACP,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;iBACpC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,wCAAwC;gBACxC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gBAE9E,aAAa;gBACb,IAAI,MAA0B,CAAC;gBAC/B,IAAI,QAA4B,CAAC;gBACjC,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACvD,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;oBAC1B,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;gBAChC,CAAC;gBAAC,MAAM,CAAC;oBACP,kBAAkB;gBACpB,CAAC;gBAED,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;oBACrB,MAAM,CAAC;wBACL,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,MAAM;wBACN,OAAO,EAAE,YAAY;wBACrB,QAAQ;qBACT,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC;wBACL,OAAO,EAAE,OAAO,CAAC,OAAO;wBACxB,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,OAAO,EAAE,CAAC;wBACV,OAAO,EAAE,QAAQ;qBAClB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,+DAA+D;IAC/D,qBAAqB;IACrB,+DAA+D;IAC/D,QAAQ;SACL,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,QAAQ,CAAC;SACrB,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC;SACxC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,mCAAmC;YACnC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAE3C,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;YAE3B,+CAA+C;YAC/C,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC1D,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC9B,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC/B,EAAE,CAAC,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;aACtD,CAAC,CAAC;YAEH,WAAW;YACX,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3C,QAAQ,EAAE,CAAC,CAAC,YAAY;gBACxB,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,MAAM,EAAE,CAAC,CAAC,SAAS;aACpB,CAAC,CAAC,CAAC;YAEJ,MAAM,CAAC;gBACL,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,QAAQ,EAAE,SAAS,CAAC,QAAQ;gBAC5B,KAAK,EAAE,cAAc;aACtB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,+DAA+D;IAC/D,qBAAqB;IACrB,+DAA+D;IAC/D,QAAQ;SACL,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,UAAU,CAAC;SACvB,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC;SACxC,MAAM,CAAC,uBAAuB,EAAE,kCAAkC,EAAE,IAAI,CAAC;SACzE,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC;SACpC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,mCAAmC;YACnC,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAE3C,kCAAkC;YAClC,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC7D,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/C,KAAK,CAAC,uBAAuB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,mCAAmC;YACnC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBAC3C,KAAK,CAAC,sBAAsB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;YAE3B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;YAC1C,MAAM,eAAe,GAA2B;gBAC9C,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,GAAG;gBACV,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,KAAK;aACZ,CAAC;YAEF,gCAAgC;YAChC,MAAM,aAAa,GAA2B;gBAC5C,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,GAAG;gBACT,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,KAAK;gBACX,IAAI,EAAE,IAAI;aACX,CAAC;YAEF,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAClD,MAAM,IAAI,GAAG,GAAG,GAAG,OAAO,GAAG,KAAK,CAAC;YACnC,MAAM,eAAe,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;YAEhE,6BAA6B;YAC7B,IAAI,WAA+B,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACvD,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACP,iCAAiC;YACnC,CAAC;YAED,wCAAwC;YACxC,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC;gBACtC,YAAY,EAAE,OAAO,CAAC,KAAK;gBAC3B,WAAW,EAAE,WAAW,IAAI,SAAS;gBACrC,UAAU,EAAE,eAAsB;gBAClC,IAAI;gBACJ,EAAE,EAAE,GAAG;gBACP,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;YAEH,MAAM,CAAC,SAAS,CAAC,CAAC;QACpB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,+DAA+D;IAC/D,4BAA4B;IAC5B,+DAA+D;IAC/D,QAAQ;SACL,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,QAAQ,CAAC;SACrB,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC;SACxC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC;SAC/B,MAAM,CAAC,YAAY,EAAE,IAAI,EAAE,GAAG,CAAC;SAC/B,MAAM,CAAC,iBAAiB,EAAE,MAAM,EAAE,IAAI,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,oDAAoD;YACpD,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAC9D,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACzD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAEtE,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;YAE3B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,8BAA8B;gBAC9B,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;gBAC3C,MAAM,MAAM,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC1D,MAAM,MAAM,GAAG,MAAM,EAAE,YAAY,IAAI,EAAE,CAAC;gBAE1C,OAAO;gBACP,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;gBAEvD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjB,CAAC;gBAED,MAAM,CAAC,QAAQ,EAAE;oBACf,OAAO,EAAE;wBACP,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;wBACjC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;wBAC/B,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE;wBACtC,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE;wBACtC,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE;wBAC1C,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE;qBACnC;iBACF,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,qBAAqB;gBACrB,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAU,EAAE,CAAC;gBAEzB,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;oBAC3B,MAAM,MAAM,GAAG,EAAE,CAAC,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;oBAC/C,IAAI,MAAM,EAAE,YAAY,EAAE,CAAC;wBACzB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;gBAED,UAAU;gBACV,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC;gBAE/D,OAAO;gBACP,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAC,CAAC;gBAEvD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjB,CAAC;gBAED,MAAM,CAAC,QAAQ,EAAE;oBACf,OAAO,EAAE;wBACP,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;wBACjC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;wBAC/B,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE;wBACtC,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE;wBACtC,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE;wBAC1C,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE;qBACnC;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,+DAA+D;IAC/D,uBAAuB;IACvB,+DAA+D;IAC/D,QAAQ;SACL,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,QAAQ,CAAC;SACrB,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC;SACxC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC;SAChC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,+BAA+B;YAC/B,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YAE9D,8BAA8B;YAC9B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;YAE3B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,kCAAkC;gBAClC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAC9C,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBACvD,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;iBAC5E,CAAC,CAAC;gBAEH,MAAM,cAAc,GAAG,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;gBAE/C,UAAU;gBACV,MAAM,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAClD,aAAa,EAAE,CAAC,CAAC,aAAa;oBAC9B,YAAY,EAAE,CAAC,CAAC,YAAY;oBAC5B,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,YAAY,EAAE,CAAC,CAAC,YAAY;oBAC5B,eAAe,EAAE,CAAC,CAAC,eAAe;oBAClC,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,aAAa,EAAE,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,WAAW;oBACnF,eAAe,EAAE,SAAS,CAAC,QAAQ;oBACnC,eAAe,EAAE,SAAS,CAAC,QAAQ;iBACpC,CAAC,CAAC,CAAC;gBAEJ,MAAM,CAAC;oBACL,OAAO;oBACP,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,OAAO,EAAE,gBAAgB;oBACzB,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC7E,kBAAkB,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;iBAClF,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,qBAAqB;gBACrB,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC;gBAClC,MAAM,cAAc,GAAU,EAAE,CAAC;gBAEjC,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;oBAC3B,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;oBAC7C,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;wBAAE,SAAS;oBAEzD,IAAI,SAAS,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;oBAC7C,IAAI,CAAC;wBACH,SAAS,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;oBACzC,CAAC;oBAAC,MAAM,CAAC;wBACP,eAAe;oBACjB,CAAC;oBAED,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;oBACvF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;oBACrF,MAAM,kBAAkB,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAChD,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,WAAW,CAAC,EACxF,CAAC,CACF,CAAC;oBAEF,cAAc,CAAC,IAAI,CAAC;wBAClB,KAAK,EAAE,EAAE;wBACT,QAAQ,EAAE,SAAS,CAAC,QAAQ;wBAC5B,QAAQ,EAAE,SAAS,CAAC,QAAQ;wBAC5B,iBAAiB;wBACjB,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;wBACpC,gBAAgB;wBAChB,kBAAkB;qBACnB,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjB,CAAC;gBAED,MAAM,CAAC;oBACL,OAAO;oBACP,MAAM,EAAE,cAAc;iBACvB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/query/index.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,15 @@
1
1
  /**
2
- * 代币命令组
2
+ * Token command group
3
3
  *
4
4
  * forgex token create | info | pool
5
5
  *
6
- * Phase 3 升级:
7
- * - 使用 DataSource 门面代替直接 API 调用(info/pool
8
- * - 集成 TxTracker 自动追踪代币创建交易结果
9
- * - 添加 ensurePasswordAndValidate 密码验证
10
- * - 添加 suppressConsole/restoreConsole 防止 JSON 输出污染
11
- * - 完善输入参数验证
12
- * - api 函数全部直连 (Jito / pump.fun / 本地靓号目录),不走远程代理
6
+ * Phase 3 upgrade:
7
+ * - Use DataSource facade instead of direct API calls (info/pool)
8
+ * - Integrate TxTracker for automatic token creation tx result tracking
9
+ * - Add ensurePasswordAndValidate for password verification
10
+ * - Add suppressConsole/restoreConsole to prevent JSON output pollution
11
+ * - Improve input parameter validation
12
+ * - All api functions connect directly (Jito / pump.fun / local vanity dir), no remote proxy
13
13
  */
14
14
  import { Command } from 'commander';
15
15
  export declare function registerTokenCommands(program: Command): void;