forgex-cli 1.0.54 → 1.0.55

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 (34) hide show
  1. package/README.md +1 -6
  2. package/dist/src/adapters/connection.js +2 -2
  3. package/dist/src/adapters/rpc-adapter.js +2 -2
  4. package/dist/src/adapters/sdk-adapter.d.ts +17 -0
  5. package/dist/src/adapters/sdk-adapter.d.ts.map +1 -1
  6. package/dist/src/adapters/sdk-adapter.js +130 -13
  7. package/dist/src/adapters/sdk-adapter.js.map +1 -1
  8. package/dist/src/commands/sniper/index.d.ts +1 -15
  9. package/dist/src/commands/sniper/index.d.ts.map +1 -1
  10. package/dist/src/commands/sniper/index.js +2 -291
  11. package/dist/src/commands/sniper/index.js.map +1 -1
  12. package/dist/src/commands/tools/index.d.ts.map +1 -1
  13. package/dist/src/commands/tools/index.js +58 -94
  14. package/dist/src/commands/tools/index.js.map +1 -1
  15. package/dist/src/commands/trade/index.d.ts +2 -0
  16. package/dist/src/commands/trade/index.d.ts.map +1 -1
  17. package/dist/src/commands/trade/index.js +26 -215
  18. package/dist/src/commands/trade/index.js.map +1 -1
  19. package/dist/src/commands/transfer/index.d.ts.map +1 -1
  20. package/dist/src/commands/transfer/index.js +12 -41
  21. package/dist/src/commands/transfer/index.js.map +1 -1
  22. package/dist/src/index.d.ts.map +1 -1
  23. package/dist/src/index.js +8 -3
  24. package/dist/src/index.js.map +1 -1
  25. package/dist/src/sol-sdk/batch/create.js +1 -1
  26. package/dist/src/sol-sdk/batch/external-sniper.d.ts +1 -26
  27. package/dist/src/sol-sdk/batch/external-sniper.d.ts.map +1 -1
  28. package/dist/src/sol-sdk/batch/external-sniper.js +1 -156
  29. package/dist/src/sol-sdk/batch/external-sniper.js.map +1 -1
  30. package/dist/src/sol-sdk/pump/instructions/sell.d.ts.map +1 -1
  31. package/dist/src/sol-sdk/pump/instructions/sell.js +2 -1
  32. package/dist/src/sol-sdk/pump/instructions/sell.js.map +1 -1
  33. package/dist/src/sol-sdk/rpc/index.js +2 -2
  34. package/package.json +1 -1
@@ -1,292 +1,3 @@
1
- /**
2
- * 外盘抢筹命令组
3
- *
4
- * forgex sniper external | bonk
5
- *
6
- * Phase 3 升级:
7
- * - 使用 DataSource 门面进行余额查询
8
- * - 集成 TxTracker 自动追踪抢筹交易结果
9
- * - 添加 ensurePasswordAndValidate 密码验证
10
- * - 添加 suppressConsole/restoreConsole 防止 JSON 输出污染
11
- * - 完善输入参数验证
12
- * - 添加余额预检查
13
- */
14
- import { getGroup, ensurePasswordAndValidate } from '../../wallet-store.js';
15
- import { loadConfig } from '../../config.js';
16
- import { output, error, info, suppressConsole, restoreConsole, getOutputFormat } from '../../output.js';
17
- import { getDataSource } from '../../data-source.js';
18
- // ============================================================
19
- // TxTracker 集成辅助函数
20
- // ============================================================
21
- /**
22
- * 追踪抢筹交易结果并写入 DataStore。
23
- */
24
- async function trackSniperResult(result, tokenCA, groupId, walletAddresses, expectedAmountSol) {
25
- if (!result.success)
26
- return;
27
- try {
28
- const ds = getDataSource();
29
- const trackingContext = {
30
- ca: tokenCA,
31
- groupId,
32
- txType: 'buy',
33
- wallets: walletAddresses,
34
- expectedAmountSol,
35
- };
36
- if (result.bundleId) {
37
- info('追踪 Bundle 交易结果...');
38
- const trackResults = await ds.trackBundle(result.bundleId, result.txHashes || [], trackingContext, { onProgress: (status, tx) => info(`追踪: ${status} - ${tx.substring(0, 16)}...`) });
39
- result.tracking = trackResults;
40
- }
41
- else if (result.txHashes && result.txHashes.length > 0) {
42
- info('追踪交易结果...');
43
- const entries = result.txHashes.map((txHash, i) => ({
44
- txHash,
45
- context: {
46
- ...trackingContext,
47
- wallets: [walletAddresses[i] || walletAddresses[0]],
48
- },
49
- }));
50
- const trackResults = await ds.trackBatch(entries);
51
- result.tracking = trackResults;
52
- }
53
- }
54
- catch (trackErr) {
55
- info(`交易追踪失败(不影响交易结果): ${trackErr.message}`);
56
- }
57
- }
58
- export function registerSniperCommands(program) {
59
- const sniperCmd = program
60
- .command('sniper')
61
- .description('外盘抢筹');
62
- // ============================================================
63
- // forgex sniper external (Pump 外盘抢筹)
64
- // ============================================================
65
- sniperCmd
66
- .command('external')
67
- .description('Pump.fun 外盘抢筹(Pump -> PumpSwap 迁移抢筹)')
68
- .requiredOption('--launch-group <id>', '发射钱包组 ID')
69
- .requiredOption('--sniper-group <id>', '抢筹钱包组 ID')
70
- .requiredOption('--token <ca>', '代币合约地址')
71
- .requiredOption('--amounts <amounts>', '抢筹金额(逗号分隔,对应每个狙击钱包)')
72
- .option('--slippage <bps>', '滑点 (bps)', '500')
73
- .option('--priority-fee <sol>', '优先费 (SOL)')
74
- .option('--dry-run', '仅模拟,不实际执行', false)
75
- .action(async (options) => {
76
- try {
77
- // 密码验证
78
- await ensurePasswordAndValidate();
79
- const config = loadConfig();
80
- const launchGroupId = Number(options.launchGroup);
81
- const sniperGroupId = Number(options.sniperGroup);
82
- // 参数验证
83
- if (isNaN(launchGroupId)) {
84
- error('--launch-group 必须是有效数字');
85
- process.exit(1);
86
- }
87
- if (isNaN(sniperGroupId)) {
88
- error('--sniper-group 必须是有效数字');
89
- process.exit(1);
90
- }
91
- const launchGroup = getGroup(launchGroupId);
92
- const sniperGroup = getGroup(sniperGroupId);
93
- if (!launchGroup) {
94
- error(`发射钱包组 ${launchGroupId} 不存在`);
95
- process.exit(1);
96
- }
97
- if (!sniperGroup) {
98
- error(`抢筹钱包组 ${sniperGroupId} 不存在`);
99
- process.exit(1);
100
- }
101
- if (launchGroup.wallets.length === 0) {
102
- error('发射钱包组中没有钱包');
103
- process.exit(1);
104
- }
105
- if (sniperGroup.wallets.length === 0) {
106
- error('抢筹钱包组中没有钱包');
107
- process.exit(1);
108
- }
109
- const amounts = options.amounts.split(',').map(Number);
110
- if (amounts.some(isNaN)) {
111
- error('--amounts 包含无效数字');
112
- process.exit(1);
113
- }
114
- if (amounts.some((a) => a <= 0)) {
115
- error('--amounts 中每个金额必须大于 0');
116
- process.exit(1);
117
- }
118
- if (amounts.length !== sniperGroup.wallets.length) {
119
- error(`金额数量 (${amounts.length}) 与狙击钱包数量 (${sniperGroup.wallets.length}) 不匹配`);
120
- process.exit(1);
121
- }
122
- const slippageBps = Number(options.slippage);
123
- if (isNaN(slippageBps) || slippageBps <= 0 || slippageBps > 5000) {
124
- error('--slippage 必须是 1-5000 之间的数字 (bps, 5000 = 50%)');
125
- process.exit(1);
126
- }
127
- const priorityFee = options.priorityFee
128
- ? Number(options.priorityFee)
129
- : config.defaultPriorityFee;
130
- if (isNaN(priorityFee) || priorityFee < 0) {
131
- error('--priority-fee 必须是非负数字');
132
- process.exit(1);
133
- }
134
- // DataSource 余额预检查
135
- const ds = getDataSource();
136
- const sniperWalletAddresses = sniperGroup.wallets.map((w) => w.walletAddress);
137
- const sniperParams = {
138
- type: 'external',
139
- launchGroup: launchGroupId,
140
- sniperGroup: sniperGroupId,
141
- token: options.token,
142
- amounts,
143
- slippage: slippageBps,
144
- priorityFee,
145
- launchWalletCount: launchGroup.wallets.length,
146
- sniperWalletCount: sniperGroup.wallets.length,
147
- dryRun: options.dryRun,
148
- };
149
- if (options.dryRun) {
150
- // 余额预检查
151
- const balances = [];
152
- for (let i = 0; i < sniperGroup.wallets.length; i++) {
153
- const bal = await ds.getSolBalance(sniperGroup.wallets[i].walletAddress);
154
- balances.push({
155
- address: sniperGroup.wallets[i].walletAddress,
156
- balance: bal,
157
- required: amounts[i] + priorityFee,
158
- sufficient: bal >= amounts[i] + priorityFee,
159
- });
160
- }
161
- const estimatedFee = 0;
162
- output({
163
- dryRun: true,
164
- params: sniperParams,
165
- estimatedFee,
166
- balances,
167
- message: '模拟模式,未实际执行抢筹',
168
- });
169
- return;
170
- }
171
- // JSON 模式下抑制 SDK 的 console.log
172
- if (getOutputFormat() === 'json')
173
- suppressConsole();
174
- // TODO: 实际 SDK 调用(当前输出参数)
175
- restoreConsole();
176
- output({
177
- success: true,
178
- ...sniperParams,
179
- message: '外盘抢筹已提交,等待 Pump -> PumpSwap 迁移触发',
180
- });
181
- }
182
- catch (e) {
183
- restoreConsole();
184
- error('外盘抢筹失败', e.message);
185
- process.exit(1);
186
- }
187
- });
188
- // ============================================================
189
- // forgex sniper bonk (Bonk 外盘抢筹)
190
- // ============================================================
191
- sniperCmd
192
- .command('bonk')
193
- .description('Bonk 外盘抢筹(通过 Raydium CPMM)')
194
- .requiredOption('--sniper-group <id>', '抢筹钱包组 ID')
195
- .requiredOption('--token <ca>', '代币合约地址')
196
- .requiredOption('--amounts <amounts>', '抢筹金额(逗号分隔)')
197
- .option('--slippage <bps>', '滑点 (bps)', '500')
198
- .option('--priority-fee <sol>', '优先费 (SOL)')
199
- .option('--dry-run', '仅模拟,不实际执行', false)
200
- .action(async (options) => {
201
- try {
202
- // 密码验证
203
- await ensurePasswordAndValidate();
204
- const config = loadConfig();
205
- const sniperGroupId = Number(options.sniperGroup);
206
- // 参数验证
207
- if (isNaN(sniperGroupId)) {
208
- error('--sniper-group 必须是有效数字');
209
- process.exit(1);
210
- }
211
- const sniperGroup = getGroup(sniperGroupId);
212
- if (!sniperGroup) {
213
- error(`抢筹钱包组 ${sniperGroupId} 不存在`);
214
- process.exit(1);
215
- }
216
- if (sniperGroup.wallets.length === 0) {
217
- error('抢筹钱包组中没有钱包');
218
- process.exit(1);
219
- }
220
- const amounts = options.amounts.split(',').map(Number);
221
- if (amounts.some(isNaN)) {
222
- error('--amounts 包含无效数字');
223
- process.exit(1);
224
- }
225
- if (amounts.some((a) => a <= 0)) {
226
- error('--amounts 中每个金额必须大于 0');
227
- process.exit(1);
228
- }
229
- const slippageBps = Number(options.slippage);
230
- if (isNaN(slippageBps) || slippageBps <= 0 || slippageBps > 5000) {
231
- error('--slippage 必须是 1-5000 之间的数字 (bps, 5000 = 50%)');
232
- process.exit(1);
233
- }
234
- const priorityFee = options.priorityFee
235
- ? Number(options.priorityFee)
236
- : config.defaultPriorityFee;
237
- if (isNaN(priorityFee) || priorityFee < 0) {
238
- error('--priority-fee 必须是非负数字');
239
- process.exit(1);
240
- }
241
- // DataSource 余额预检查
242
- const ds = getDataSource();
243
- const sniperWalletAddresses = sniperGroup.wallets.map((w) => w.walletAddress);
244
- const sniperParams = {
245
- type: 'bonk',
246
- sniperGroup: sniperGroupId,
247
- token: options.token,
248
- amounts,
249
- slippage: slippageBps,
250
- priorityFee,
251
- sniperWalletCount: sniperGroup.wallets.length,
252
- dryRun: options.dryRun,
253
- };
254
- if (options.dryRun) {
255
- // 余额预检查
256
- const balances = [];
257
- for (let i = 0; i < sniperGroup.wallets.length; i++) {
258
- const bal = await ds.getSolBalance(sniperGroup.wallets[i].walletAddress);
259
- balances.push({
260
- address: sniperGroup.wallets[i].walletAddress,
261
- balance: bal,
262
- required: amounts[i] + priorityFee,
263
- sufficient: bal >= amounts[i] + priorityFee,
264
- });
265
- }
266
- output({
267
- dryRun: true,
268
- params: sniperParams,
269
- balances,
270
- message: '模拟模式,未实际执行 Bonk 抢筹',
271
- });
272
- return;
273
- }
274
- // JSON 模式下抑制 SDK 的 console.log
275
- if (getOutputFormat() === 'json')
276
- suppressConsole();
277
- // TODO: 实际 SDK 调用(当前输出参数)
278
- restoreConsole();
279
- output({
280
- success: true,
281
- ...sniperParams,
282
- message: 'Bonk 外盘抢筹已提交',
283
- });
284
- }
285
- catch (e) {
286
- restoreConsole();
287
- error('Bonk 抢筹失败', e.message);
288
- process.exit(1);
289
- }
290
- });
291
- }
1
+ // Removed per request: external sniping commands are no longer part of CLI.
2
+ export function registerSniperCommands() { }
292
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/sniper/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EAAE,QAAQ,EAA0B,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACxG,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,+DAA+D;AAC/D,mBAAmB;AACnB,+DAA+D;AAE/D;;GAEG;AACH,KAAK,UAAU,iBAAiB,CAC9B,MAAoF,EACpF,OAAe,EACf,OAAe,EACf,eAAyB,EACzB,iBAA0B;IAE1B,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO;IAE5B,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;QAC3B,MAAM,eAAe,GAAoB;YACvC,EAAE,EAAE,OAAO;YACX,OAAO;YACP,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,eAAe;YACxB,iBAAiB;SAClB,CAAC;QAEF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC1B,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,WAAW,CACvC,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,QAAQ,IAAI,EAAE,EACrB,eAAe,EACf,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,MAAM,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAClF,CAAC;YACF,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC;QACjC,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,WAAW,CAAC,CAAC;YAClB,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC;gBAClE,MAAM;gBACN,OAAO,EAAE;oBACP,GAAG,eAAe;oBAClB,OAAO,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;iBACpD;aACF,CAAC,CAAC,CAAC;YACJ,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAClD,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC;QACjC,CAAC;IACH,CAAC;IAAC,OAAO,QAAa,EAAE,CAAC;QACvB,IAAI,CAAC,oBAAoB,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,SAAS,GAAG,OAAO;SACtB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,MAAM,CAAC,CAAC;IAEvB,+DAA+D;IAC/D,qCAAqC;IACrC,+DAA+D;IAC/D,SAAS;SACN,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,sCAAsC,CAAC;SACnD,cAAc,CAAC,qBAAqB,EAAE,UAAU,CAAC;SACjD,cAAc,CAAC,qBAAqB,EAAE,UAAU,CAAC;SACjD,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC;SACxC,cAAc,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;SAC5D,MAAM,CAAC,kBAAkB,EAAE,UAAU,EAAE,KAAK,CAAC;SAC7C,MAAM,CAAC,sBAAsB,EAAE,WAAW,CAAC;SAC3C,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,OAAO;YACP,MAAM,yBAAyB,EAAE,CAAC;YAElC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAClD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAElD,OAAO;YACP,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;YAE5C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,KAAK,CAAC,SAAS,aAAa,MAAM,CAAC,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,KAAK,CAAC,SAAS,aAAa,MAAM,CAAC,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACxC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAClD,KAAK,CAAC,SAAS,OAAO,CAAC,MAAM,cAAc,WAAW,CAAC,OAAO,CAAC,MAAM,OAAO,CAAC,CAAC;gBAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,IAAI,WAAW,GAAG,IAAI,EAAE,CAAC;gBACjE,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW;gBACrC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC7B,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC1C,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,mBAAmB;YACnB,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;YAC3B,MAAM,qBAAqB,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAEnF,MAAM,YAAY,GAAG;gBACnB,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,aAAa;gBAC1B,WAAW,EAAE,aAAa;gBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO;gBACP,QAAQ,EAAE,WAAW;gBACrB,WAAW;gBACX,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM;gBAC7C,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM;gBAC7C,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC;YAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,QAAQ;gBACR,MAAM,QAAQ,GAAkF,EAAE,CAAC;gBACnG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACpD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;oBACzE,QAAQ,CAAC,IAAI,CAAC;wBACZ,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa;wBAC7C,OAAO,EAAE,GAAG;wBACZ,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW;wBAClC,UAAU,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW;qBAC5C,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,YAAY,GAAG,CAAC,CAAC;gBACvB,MAAM,CAAC;oBACL,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,YAAY;oBACpB,YAAY;oBACZ,QAAQ;oBACR,OAAO,EAAE,cAAc;iBACxB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,+BAA+B;YAC/B,IAAI,eAAe,EAAE,KAAK,MAAM;gBAAE,eAAe,EAAE,CAAC;YAEpD,0BAA0B;YAC1B,cAAc,EAAE,CAAC;YAEjB,MAAM,CAAC;gBACL,OAAO,EAAE,IAAI;gBACb,GAAG,YAAY;gBACf,OAAO,EAAE,kCAAkC;aAC5C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,cAAc,EAAE,CAAC;YACjB,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,iCAAiC;IACjC,+DAA+D;IAC/D,SAAS;SACN,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,4BAA4B,CAAC;SACzC,cAAc,CAAC,qBAAqB,EAAE,UAAU,CAAC;SACjD,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC;SACxC,cAAc,CAAC,qBAAqB,EAAE,YAAY,CAAC;SACnD,MAAM,CAAC,kBAAkB,EAAE,UAAU,EAAE,KAAK,CAAC;SAC7C,MAAM,CAAC,sBAAsB,EAAE,WAAW,CAAC;SAC3C,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,OAAO;YACP,MAAM,yBAAyB,EAAE,CAAC;YAElC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAElD,OAAO;YACP,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;YAE5C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,KAAK,CAAC,SAAS,aAAa,MAAM,CAAC,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvD,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBACxC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,IAAI,WAAW,GAAG,IAAI,EAAE,CAAC;gBACjE,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW;gBACrC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC7B,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC1C,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,mBAAmB;YACnB,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;YAC3B,MAAM,qBAAqB,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YAEnF,MAAM,YAAY,GAAG;gBACnB,IAAI,EAAE,MAAM;gBACZ,WAAW,EAAE,aAAa;gBAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO;gBACP,QAAQ,EAAE,WAAW;gBACrB,WAAW;gBACX,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM;gBAC7C,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC;YAEF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,QAAQ;gBACR,MAAM,QAAQ,GAAkF,EAAE,CAAC;gBACnG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACpD,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;oBACzE,QAAQ,CAAC,IAAI,CAAC;wBACZ,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa;wBAC7C,OAAO,EAAE,GAAG;wBACZ,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW;wBAClC,UAAU,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,WAAW;qBAC5C,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,CAAC;oBACL,MAAM,EAAE,IAAI;oBACZ,MAAM,EAAE,YAAY;oBACpB,QAAQ;oBACR,OAAO,EAAE,oBAAoB;iBAC9B,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,+BAA+B;YAC/B,IAAI,eAAe,EAAE,KAAK,MAAM;gBAAE,eAAe,EAAE,CAAC;YAEpD,0BAA0B;YAC1B,cAAc,EAAE,CAAC;YAEjB,MAAM,CAAC;gBACL,OAAO,EAAE,IAAI;gBACb,GAAG,YAAY;gBACf,OAAO,EAAE,cAAc;aACxB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,cAAc,EAAE,CAAC;YACjB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9B,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/sniper/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,MAAM,UAAU,sBAAsB,KAAU,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmEpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAynB5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6mB5D"}
@@ -17,47 +17,6 @@ import { loadConfig } from '../../config.js';
17
17
  import { output, error, info, suppressConsole, restoreConsole, getOutputFormat } from '../../output.js';
18
18
  import { fetchTradeContext, executeTrades, executeBatchTurnoverTrade, buildWalletList, } from '../../adapters/sdk-adapter.js';
19
19
  import { getDataSource } from '../../data-source.js';
20
- // ============================================================
21
- // TxTracker 集成辅助函数
22
- // ============================================================
23
- /**
24
- * 追踪交易结果并写入 DataStore。
25
- * 复用 trade 命令组的追踪模式。
26
- */
27
- async function trackTradeResult(result, tokenCA, groupId, txType, walletAddresses, expectedAmountSol) {
28
- if (!result.success)
29
- return;
30
- try {
31
- const ds = getDataSource();
32
- const trackingContext = {
33
- ca: tokenCA,
34
- groupId,
35
- txType,
36
- wallets: walletAddresses,
37
- expectedAmountSol,
38
- };
39
- if (result.bundleId) {
40
- info('追踪 Bundle 交易结果...');
41
- const trackResults = await ds.trackBundle(result.bundleId, result.txHashes || [], trackingContext, { onProgress: (status, tx) => info(`追踪: ${status} - ${tx.substring(0, 16)}...`) });
42
- result.tracking = trackResults;
43
- }
44
- else if (result.txHashes && result.txHashes.length > 0) {
45
- info('追踪交易结果...');
46
- const entries = result.txHashes.map((txHash, i) => ({
47
- txHash,
48
- context: {
49
- ...trackingContext,
50
- wallets: [walletAddresses[i] || walletAddresses[0]],
51
- },
52
- }));
53
- const trackResults = await ds.trackBatch(entries);
54
- result.tracking = trackResults;
55
- }
56
- }
57
- catch (trackErr) {
58
- info(`交易追踪失败(不影响交易结果): ${trackErr.message}`);
59
- }
60
- }
61
20
  export function registerToolsCommands(program) {
62
21
  const toolsCmd = program
63
22
  .command('tools')
@@ -158,30 +117,69 @@ export function registerToolsCommands(program) {
158
117
  if (getOutputFormat() === 'json')
159
118
  suppressConsole();
160
119
  // 构建换手配对
161
- const pairCount = Math.min(fromGroup.wallets.length, toGroup.wallets.length);
120
+ // 支持 1→多: 如果 from 钱包少于 to 钱包,自动将代币按比例拆分到多个目标
162
121
  const turnoverItems = [];
163
122
  const fromWalletAddresses = [];
164
- for (let i = 0; i < pairCount; i++) {
165
- const fromWallet = fromGroup.wallets[i];
166
- const toWallet = toGroup.wallets[i % toGroup.wallets.length];
167
- // 获取代币余额 -- 通过 DataSource
168
- const tokenBalance = await ds.getTokenBalance(fromWallet.walletAddress, options.token);
169
- let amount = tokenBalance;
170
- if (options.amount !== 'all') {
171
- if (options.amount.endsWith('%')) {
172
- amount = tokenBalance * Number(options.amount.replace('%', '')) / 100;
123
+ if (fromGroup.wallets.length >= toGroup.wallets.length) {
124
+ // from >= to: 按 1:1 配对(原有逻辑)
125
+ const pairCount = Math.min(fromGroup.wallets.length, toGroup.wallets.length);
126
+ for (let i = 0; i < pairCount; i++) {
127
+ const fromWallet = fromGroup.wallets[i];
128
+ const toWallet = toGroup.wallets[i];
129
+ const tokenBalance = await ds.getTokenBalance(fromWallet.walletAddress, options.token);
130
+ let amount = tokenBalance;
131
+ if (options.amount !== 'all') {
132
+ if (options.amount.endsWith('%')) {
133
+ amount = tokenBalance * Number(options.amount.replace('%', '')) / 100;
134
+ }
135
+ else {
136
+ amount = Number(options.amount);
137
+ }
173
138
  }
174
- else {
175
- amount = Number(options.amount);
139
+ if (amount > 0) {
140
+ turnoverItems.push({
141
+ fromWallet: getDecryptedPrivateKey(fromWallet),
142
+ toWallet: getDecryptedPrivateKey(toWallet),
143
+ tokenAmount: amount,
144
+ });
145
+ fromWalletAddresses.push(fromWallet.walletAddress);
176
146
  }
177
147
  }
178
- if (amount > 0) {
179
- turnoverItems.push({
180
- fromWallet: getDecryptedPrivateKey(fromWallet),
181
- toWallet: getDecryptedPrivateKey(toWallet),
182
- tokenAmount: amount,
183
- });
184
- fromWalletAddresses.push(fromWallet.walletAddress);
148
+ }
149
+ else {
150
+ // from < to: 1→多 拆分模式
151
+ // 每个 from 钱包的代币平均分配到若干个 to 钱包
152
+ const toPerFrom = Math.ceil(toGroup.wallets.length / fromGroup.wallets.length);
153
+ let toIndex = 0;
154
+ for (let i = 0; i < fromGroup.wallets.length; i++) {
155
+ const fromWallet = fromGroup.wallets[i];
156
+ const tokenBalance = await ds.getTokenBalance(fromWallet.walletAddress, options.token);
157
+ let totalAmount = tokenBalance;
158
+ if (options.amount !== 'all') {
159
+ if (options.amount.endsWith('%')) {
160
+ totalAmount = tokenBalance * Number(options.amount.replace('%', '')) / 100;
161
+ }
162
+ else {
163
+ totalAmount = Math.min(Number(options.amount), tokenBalance);
164
+ }
165
+ }
166
+ if (totalAmount <= 0)
167
+ continue;
168
+ // 计算这个 from 钱包需要分配给多少个 to 钱包
169
+ const remainingTo = toGroup.wallets.length - toIndex;
170
+ const remainingFrom = fromGroup.wallets.length - i;
171
+ const allocCount = Math.min(Math.ceil(remainingTo / remainingFrom), remainingTo);
172
+ const amountPerTo = totalAmount / allocCount;
173
+ for (let j = 0; j < allocCount && toIndex < toGroup.wallets.length; j++) {
174
+ const toWallet = toGroup.wallets[toIndex];
175
+ turnoverItems.push({
176
+ fromWallet: getDecryptedPrivateKey(fromWallet),
177
+ toWallet: getDecryptedPrivateKey(toWallet),
178
+ tokenAmount: amountPerTo,
179
+ });
180
+ fromWalletAddresses.push(fromWallet.walletAddress);
181
+ toIndex++;
182
+ }
185
183
  }
186
184
  }
187
185
  if (turnoverItems.length === 0) {
@@ -199,31 +197,6 @@ export function registerToolsCommands(program) {
199
197
  intervalMs: Number(options.interval),
200
198
  });
201
199
  restoreConsole();
202
- // TxTracker 集成: 追踪成功的换手交易
203
- for (let i = 0; i < results.length; i++) {
204
- const r = results[i];
205
- if (r.success && r.bundleId) {
206
- try {
207
- // TurnoverTradeResult 有 buyTxHash / sellTxHash 而不是 txHashes
208
- const txHashes = [];
209
- if (r.buyTxHash)
210
- txHashes.push(r.buyTxHash);
211
- if (r.sellTxHash)
212
- txHashes.push(r.sellTxHash);
213
- const trackingContext = {
214
- ca: options.token,
215
- groupId: fromGroupId,
216
- txType: 'turnover',
217
- wallets: [fromWalletAddresses[i] || fromWalletAddresses[0]],
218
- jitoBundle: r.bundleId,
219
- };
220
- await ds.trackBundle(r.bundleId, txHashes, trackingContext);
221
- }
222
- catch (trackErr) {
223
- info(`换手追踪失败(不影响交易结果): ${trackErr.message}`);
224
- }
225
- }
226
- }
227
200
  const successCount = results.filter(r => r.success).length;
228
201
  output({
229
202
  round: currentRound,
@@ -382,11 +355,6 @@ export function registerToolsCommands(program) {
382
355
  volumeType: options.mode,
383
356
  });
384
357
  restoreConsole();
385
- // TxTracker 集成: 追踪刷量交易结果
386
- if (result.success) {
387
- await trackTradeResult(result, options.token, groupId, 'buy', // 刷量以 buy 为基准记录
388
- walletAddresses, amount);
389
- }
390
358
  output({
391
359
  round: currentRound,
392
360
  ...result,
@@ -587,10 +555,6 @@ export function registerToolsCommands(program) {
587
555
  });
588
556
  restoreConsole();
589
557
  totalCost += amount;
590
- // TxTracker 集成: 追踪价格机器人交易
591
- if (result.success) {
592
- await trackTradeResult(result, options.token, groupId, tradeType, [currentWallet.address], amount);
593
- }
594
558
  output({
595
559
  round: executeCount,
596
560
  direction: options.direction,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACxG,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,yBAAyB,EACzB,eAAe,GAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,QAAQ,CAAC,CAAC;IAEzB,+DAA+D;IAC/D,iCAAiC;IACjC,+DAA+D;IAC/D,QAAQ;SACL,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,cAAc,CAAC,mBAAmB,EAAE,SAAS,CAAC;SAC9C,cAAc,CAAC,iBAAiB,EAAE,UAAU,CAAC;SAC7C,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC;SACxC,MAAM,CAAC,kBAAkB,EAAE,kCAAkC,EAAE,KAAK,CAAC;SACrE,MAAM,CAAC,iBAAiB,EAAE,WAAW,EAAE,MAAM,CAAC;SAC9C,MAAM,CAAC,sBAAsB,EAAE,WAAW,CAAC;SAC3C,MAAM,CAAC,kBAAkB,EAAE,uBAAuB,EAAE,KAAK,CAAC;SAC1D,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC;SACvC,MAAM,CAAC,oBAAoB,EAAE,uCAAuC,EAAE,KAAK,CAAC;SAC5E,MAAM,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC;SACzC,MAAM,CAAC,cAAc,EAAE,YAAY,EAAE,GAAG,CAAC;SACzC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,OAAO;YACP,MAAM,yBAAyB,EAAE,CAAC;YAElC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAE1C,OAAO;YACP,IAAI,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;gBACrB,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;YACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;YAEpC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAAC,KAAK,CAAC,QAAQ,WAAW,MAAM,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YACtE,IAAI,CAAC,OAAO,EAAE,CAAC;gBAAC,KAAK,CAAC,SAAS,SAAS,MAAM,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YACnE,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YAC5E,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YAE3E,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,IAAI,WAAW,GAAG,IAAI,EAAE,CAAC;gBACjE,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW;gBACrC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC7B,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAC9B,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC1C,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBACtC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,wDAAwD;YACxD,MAAM,QAAQ,GAAG,WAAW,GAAG,KAAK,CAAC;YAErC,IAAI,CAAC,QAAQ,OAAO,CAAC,KAAK,YAAY,CAAC,CAAC;YACxC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,CAAC,QAAQ,OAAO,CAAC,YAAY,SAAS,OAAO,CAAC,UAAU,MAAM,CAAC,CAAC;YAEpE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,YAAY,GAAG,CAAC,CAAC;gBACvB,MAAM,CAAC;oBACL,MAAM,EAAE,IAAI;oBACZ,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM;oBACrC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;oBACjC,YAAY;oBACZ,OAAO,EAAE,MAAM;iBAChB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,oBAAoB;YACpB,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;YAC3B,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;gBACjC,YAAY,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,YAAY,SAAS,CAAC,CAAC;gBAEnC,+BAA+B;gBAC/B,IAAI,eAAe,EAAE,KAAK,MAAM;oBAAE,eAAe,EAAE,CAAC;gBAEpD,SAAS;gBACT,6CAA6C;gBAC7C,MAAM,aAAa,GAAoE,EAAE,CAAC;gBAC1F,MAAM,mBAAmB,GAAa,EAAE,CAAC;gBAEzC,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;oBACvD,6BAA6B;oBAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAC7E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;wBACnC,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBAEpC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;wBACvF,IAAI,MAAM,GAAG,YAAY,CAAC;wBAC1B,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;4BAC7B,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gCACjC,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;4BACxE,CAAC;iCAAM,CAAC;gCACN,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;4BAClC,CAAC;wBACH,CAAC;wBAED,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;4BACf,aAAa,CAAC,IAAI,CAAC;gCACjB,UAAU,EAAE,sBAAsB,CAAC,UAAU,CAAC;gCAC9C,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CAAC;gCAC1C,WAAW,EAAE,MAAM;6BACpB,CAAC,CAAC;4BACH,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;wBACrD,CAAC;oBACH,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,sBAAsB;oBACtB,8BAA8B;oBAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAC/E,IAAI,OAAO,GAAG,CAAC,CAAC;oBAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;wBAClD,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBACxC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;wBAEvF,IAAI,WAAW,GAAG,YAAY,CAAC;wBAC/B,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;4BAC7B,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gCACjC,WAAW,GAAG,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;4BAC7E,CAAC;iCAAM,CAAC;gCACN,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,CAAC;4BAC/D,CAAC;wBACH,CAAC;wBAED,IAAI,WAAW,IAAI,CAAC;4BAAE,SAAS;wBAE/B,6BAA6B;wBAC7B,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;wBACrD,MAAM,aAAa,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;wBACnD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC;wBACjF,MAAM,WAAW,GAAG,WAAW,GAAG,UAAU,CAAC;wBAE7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;4BACxE,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;4BAC1C,aAAa,CAAC,IAAI,CAAC;gCACjB,UAAU,EAAE,sBAAsB,CAAC,UAAU,CAAC;gCAC9C,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,CAAC;gCAC1C,WAAW,EAAE,WAAW;6BACzB,CAAC,CAAC;4BACH,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;4BACnD,OAAO,EAAE,CAAC;wBACZ,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC/B,cAAc,EAAE,CAAC;oBACjB,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBACxB,MAAM,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC;oBAC7F,OAAO;gBACT,CAAC;gBAED,MAAM,OAAO,GAAG,MAAM,yBAAyB,CAAC;oBAC9C,OAAO;oBACP,aAAa;oBACb,WAAW;oBACX,QAAQ;oBACR,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC;oBAC/C,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;iBACrC,CAAC,CAAC;gBAEH,cAAc,EAAE,CAAC;gBAEjB,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;gBAC3D,MAAM,CAAC;oBACL,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,OAAO,CAAC,MAAM;oBACrB,OAAO,EAAE,YAAY;oBACrB,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,YAAY;oBACrC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;wBACzB,OAAO,EAAE,CAAC,CAAC,OAAO;wBAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;wBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;wBACtB,UAAU,EAAE,CAAC,CAAC,UAAU;wBACxB,KAAK,EAAE,CAAC,CAAC,KAAK;qBACf,CAAC,CAAC;iBACJ,CAAC,CAAC;YACL,CAAC,CAAC;YAEF,MAAM,eAAe,EAAE,CAAC;YAExB,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,YAAY,GAAG,SAAS,CAAC,EAAE,CAAC;gBACpE,MAAM,YAAY,GAAG,GAAG,EAAE;oBACxB,UAAU,CAAC,KAAK,IAAI,EAAE;wBACpB,IAAI,CAAC;4BACH,kBAAkB;4BAClB,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;4BAC1D,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;4BACnC,MAAM,eAAe,EAAE,CAAC;wBAC1B,CAAC;wBAAC,OAAO,CAAM,EAAE,CAAC;4BAChB,cAAc,EAAE,CAAC;4BACjB,KAAK,CAAC,MAAM,YAAY,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;wBACrD,CAAC;wBACD,IAAI,SAAS,KAAK,CAAC,IAAI,YAAY,GAAG,SAAS,EAAE,CAAC;4BAChD,YAAY,EAAE,CAAC;wBACjB,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,SAAS,SAAS,IAAI,CAAC,CAAC;4BAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBAClB,CAAC;oBACH,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/B,CAAC,CAAC;gBAEF,YAAY,EAAE,CAAC;gBAEf,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;oBACxB,cAAc,EAAE,CAAC;oBACjB,IAAI,CAAC,aAAa,YAAY,IAAI,CAAC,CAAC;oBACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,cAAc,EAAE,CAAC;YACjB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,+DAA+D;IAC/D,+BAA+B;IAC/B,+DAA+D;IAC/D,QAAQ;SACL,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,gBAAgB,CAAC;SAC7B,cAAc,CAAC,mBAAmB,EAAE,QAAQ,CAAC;SAC7C,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC;SACxC,MAAM,CAAC,eAAe,EAAE,wCAAwC,EAAE,MAAM,CAAC;SACzE,MAAM,CAAC,gBAAgB,EAAE,YAAY,EAAE,MAAM,CAAC;SAC9C,MAAM,CAAC,iBAAiB,EAAE,WAAW,EAAE,MAAM,CAAC;SAC9C,MAAM,CAAC,cAAc,EAAE,YAAY,EAAE,GAAG,CAAC;SACzC,MAAM,CAAC,kBAAkB,EAAE,UAAU,EAAE,KAAK,CAAC;SAC7C,MAAM,CAAC,sBAAsB,EAAE,WAAW,CAAC;SAC3C,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC;SACvC,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC;SACnC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,OAAO;YACP,MAAM,yBAAyB,EAAE,CAAC;YAElC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW;gBACrC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC7B,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAE9B,OAAO;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnB,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;gBACjC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,IAAI,WAAW,GAAG,IAAI,EAAE,CAAC;gBACjE,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC1C,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,YAAY;YACZ,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAC5D,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,KAAK,CAAC,eAAe,OAAO,CAAC,IAAI,wCAAwC,CAAC,CAAC;gBAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBACtC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAAC,KAAK,CAAC,OAAO,OAAO,MAAM,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YAEvE,mBAAmB;YACnB,MAAM,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAC;YAElC,IAAI,CAAC,QAAQ,OAAO,CAAC,KAAK,YAAY,CAAC,CAAC;YACxC,IAAI,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrD,IAAI,CAAC,QAAQ,OAAO,CAAC,YAAY,SAAS,OAAO,CAAC,UAAU,MAAM,CAAC,CAAC;YAEpE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,CAAC;oBACL,MAAM,EAAE,IAAI;oBACZ,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,UAAU,EAAE,OAAO,CAAC,UAAU;oBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM;oBAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,oBAAoB,EAAE,CAAC;oBACvB,OAAO,EAAE,MAAM;iBAChB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACpD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;YACjC,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE;gBACjC,YAAY,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,YAAY,aAAa,OAAO,CAAC,IAAI,MAAM,CAAC,CAAC;gBAEzD,IAAI,CAAC;oBACH,gBAAgB;oBAChB,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;wBACrB,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACnD,CAAC;oBAED,+BAA+B;oBAC/B,IAAI,eAAe,EAAE,KAAK,MAAM;wBAAE,eAAe,EAAE,CAAC;oBAEpD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;wBACjC,OAAO;wBACP,OAAO;wBACP,SAAS,EAAE,aAAa;wBACxB,eAAe,EAAE,SAAS;wBAC1B,QAAQ;wBACR,WAAW;wBACX,UAAU,EAAE,OAAO,CAAC,IAAI;qBACzB,CAAC,CAAC;oBAEH,cAAc,EAAE,CAAC;oBAEjB,MAAM,CAAC;wBACL,KAAK,EAAE,YAAY;wBACnB,GAAG,MAAM;wBACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,cAAc,EAAE,CAAC;oBACjB,KAAK,CAAC,MAAM,YAAY,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,eAAe,EAAE,CAAC;YAExB,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,YAAY,GAAG,SAAS,CAAC,EAAE,CAAC;gBACvF,MAAM,YAAY,GAAG,GAAG,EAAE;oBACxB,UAAU,CAAC,KAAK,IAAI,EAAE;wBACpB,MAAM,eAAe,EAAE,CAAC;wBACxB,IAAI,SAAS,KAAK,CAAC,IAAI,YAAY,GAAG,SAAS,EAAE,CAAC;4BAChD,YAAY,EAAE,CAAC;wBACjB,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,SAAS,SAAS,IAAI,CAAC,CAAC;4BAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBAClB,CAAC;oBACH,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/B,CAAC,CAAC;gBAEF,YAAY,EAAE,CAAC;gBAEf,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;oBACxB,cAAc,EAAE,CAAC;oBACjB,IAAI,CAAC,aAAa,YAAY,IAAI,CAAC,CAAC;oBACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,cAAc,EAAE,CAAC;YACjB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,+DAA+D;IAC/D,qCAAqC;IACrC,+DAA+D;IAC/D,QAAQ;SACL,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,qBAAqB,CAAC;SAClC,cAAc,CAAC,mBAAmB,EAAE,QAAQ,CAAC;SAC7C,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC;SACxC,cAAc,CAAC,mBAAmB,EAAE,uBAAuB,CAAC;SAC5D,cAAc,CAAC,wBAAwB,EAAE,YAAY,CAAC;SACtD,MAAM,CAAC,gBAAgB,EAAE,cAAc,EAAE,MAAM,CAAC;SAChD,MAAM,CAAC,sBAAsB,EAAE,sBAAsB,EAAE,OAAO,CAAC;SAC/D,MAAM,CAAC,oBAAoB,EAAE,iBAAiB,CAAC;SAC/C,MAAM,CAAC,iBAAiB,EAAE,WAAW,EAAE,MAAM,CAAC;SAC9C,MAAM,CAAC,kBAAkB,EAAE,aAAa,CAAC;SACzC,MAAM,CAAC,kBAAkB,EAAE,UAAU,EAAE,KAAK,CAAC;SAC7C,MAAM,CAAC,sBAAsB,EAAE,WAAW,CAAC;SAC3C,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC;SACvC,MAAM,CAAC,UAAU,EAAE,4BAA4B,EAAE,IAAI,CAAC;SACtD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,OAAO;YACP,MAAM,yBAAyB,EAAE,CAAC;YAElC,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAChD,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW;gBACrC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;gBAC7B,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAE9B,OAAO;YACP,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnB,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACvC,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,IAAI,WAAW,GAAG,IAAI,EAAE,CAAC;gBACjE,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBAC1C,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;gBAC3C,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,iBAAiB;YACjB,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjD,KAAK,CAAC,oBAAoB,OAAO,CAAC,SAAS,iBAAiB,CAAC,CAAC;gBAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAAC,KAAK,CAAC,OAAO,OAAO,MAAM,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YAC7D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,CAAC;YAEvE,mBAAmB;YACnB,MAAM,QAAQ,GAAG,WAAW,GAAG,EAAE,CAAC;YAElC,IAAI,CAAC,QAAQ,OAAO,CAAC,KAAK,YAAY,CAAC,CAAC;YACxC,IAAI,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACrD,IAAI,CAAC,QAAQ,OAAO,CAAC,YAAY,WAAW,OAAO,CAAC,UAAU,aAAa,WAAW,MAAM,CAAC,CAAC;YAE9F,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,MAAM,CAAC;oBACL,MAAM,EAAE,IAAI;oBACZ,YAAY,EAAE,OAAO,CAAC,YAAY;oBAClC,YAAY,EAAE,OAAO,CAAC,UAAU;oBAChC,WAAW;oBACX,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,OAAO,EAAE,MAAM;iBAChB,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACpD,IAAI,SAAS,GAAG,CAAC,CAAC;YAClB,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,IAAI,OAAO,GAAG,QAAQ,CAAC;YACvB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAClC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;oBACnC,KAAK,CAAC,wBAAwB,CAAC,CAAC;oBAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,YAAY,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,WAAW,MAAM,CAAC,CAAC;YAEnF,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE;gBACzB,YAAY,EAAE,CAAC;gBAEf,OAAO;gBACP,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjD,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAEhD,WAAW;gBACX,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;oBAC9D,MAAM,CAAC;wBACL,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC3C,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY;wBAClD,OAAO,EAAE,SAAS;qBACnB,CAAC,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBACD,IAAI,OAAO,CAAC,SAAS,KAAK,MAAM,IAAI,YAAY,IAAI,WAAW,EAAE,CAAC;oBAChE,MAAM,CAAC;wBACL,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC3C,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY;wBAClD,OAAO,EAAE,SAAS;qBACnB,CAAC,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBAED,SAAS;gBACT,IAAI,SAAS,IAAI,OAAO,EAAE,CAAC;oBACzB,MAAM,CAAC;wBACL,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5C,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY;wBAClD,OAAO,EAAE,WAAW,OAAO,MAAM;qBAClC,CAAC,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBAED,SAAS;gBACT,IAAI,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACpC,IAAI,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACzD,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;gBACzE,CAAC;gBAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC9D,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;gBAE7D,sCAAsC;gBACtC,qBAAqB;gBACrB,IAAI,cAAsB,CAAC;gBAC3B,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;oBACzB,gDAAgD;oBAChD,MAAM,WAAW,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjE,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;oBACrC,IAAI,CAAC,KAAK,YAAY,MAAM,SAAS,SAAS,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,YAAY,EAAE,CAAC,CAAC;gBAC9H,CAAC;qBAAM,CAAC;oBACN,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;oBAChC,IAAI,CAAC,KAAK,YAAY,MAAM,SAAS,SAAS,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,YAAY,EAAE,CAAC,CAAC;gBAC/F,CAAC;gBAED,+BAA+B;gBAC/B,IAAI,eAAe,EAAE,KAAK,MAAM;oBAAE,eAAe,EAAE,CAAC;gBAEpD,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;wBACjC,OAAO;wBACP,OAAO,EAAE,CAAC,aAAa,CAAC;wBACxB,SAAS,EAAE,SAAgB;wBAC3B,eAAe,EAAE,cAAc;wBAC/B,QAAQ;wBACR,WAAW;qBACZ,CAAC,CAAC;oBAEH,cAAc,EAAE,CAAC;oBAEjB,SAAS,IAAI,MAAM,CAAC;oBAEpB,MAAM,CAAC;wBACL,KAAK,EAAE,YAAY;wBACnB,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,YAAY;wBACZ,WAAW;wBACX,MAAM;wBACN,SAAS;wBACT,GAAG,MAAM;wBACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBAChB,cAAc,EAAE,CAAC;oBACjB,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC9B,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,OAAO,EAAE,CAAC;YAEhB,mBAAmB;YACnB,MAAM,WAAW,GAAG,GAAG,EAAE;gBACvB,IAAI,OAAO,CAAC,YAAY,KAAK,QAAQ,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBAC7D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACrC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;oBACxC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;gBAC3D,CAAC;gBACD,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC,CAAC;YAEF,MAAM,YAAY,GAAG,GAAG,EAAE;gBACxB,UAAU,CAAC,KAAK,IAAI,EAAE;oBACpB,MAAM,OAAO,EAAE,CAAC;oBAChB,YAAY,EAAE,CAAC;gBACjB,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;YACpB,CAAC,CAAC;YAEF,YAAY,EAAE,CAAC;YAEf,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACxB,cAAc,EAAE,CAAC;gBACjB,IAAI,CAAC,gBAAgB,YAAY,UAAU,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,cAAc,EAAE,CAAC;YACjB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -2,6 +2,8 @@
2
2
  * 交易命令组 - 真实交易执行
3
3
  *
4
4
  * forgex trade buy | sell | batch | sniper
5
+ *
6
+ * 优化: 交易发出后不等确认、不追踪详情,直接返回 txHash
5
7
  */
6
8
  import { Command } from 'commander';
7
9
  export declare function registerTradeCommands(program: Command): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/trade/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAklB5D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/trade/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoR5D"}