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.
- package/README.md +375 -368
- package/dist/bin/forgex.d.ts +5 -5
- package/dist/bin/forgex.js +14 -14
- package/dist/bin/forgex.js.map +1 -1
- package/dist/src/adapters/codex-adapter.d.ts +90 -90
- package/dist/src/adapters/codex-adapter.d.ts.map +1 -1
- package/dist/src/adapters/codex-adapter.js +76 -76
- package/dist/src/adapters/codex-adapter.js.map +1 -1
- package/dist/src/adapters/connection.d.ts +6 -6
- package/dist/src/adapters/connection.js +8 -8
- package/dist/src/adapters/connection.js.map +1 -1
- package/dist/src/adapters/ipfs.d.ts +3 -3
- package/dist/src/adapters/ipfs.js +3 -3
- package/dist/src/adapters/jito-adapter.d.ts +85 -85
- package/dist/src/adapters/jito-adapter.d.ts.map +1 -1
- package/dist/src/adapters/jito-adapter.js +111 -111
- package/dist/src/adapters/jito-adapter.js.map +1 -1
- package/dist/src/adapters/rpc-adapter.d.ts +53 -53
- package/dist/src/adapters/rpc-adapter.d.ts.map +1 -1
- package/dist/src/adapters/rpc-adapter.js +69 -69
- package/dist/src/adapters/rpc-adapter.js.map +1 -1
- package/dist/src/adapters/sdk-adapter.d.ts +21 -21
- package/dist/src/adapters/sdk-adapter.d.ts.map +1 -1
- package/dist/src/adapters/sdk-adapter.js +79 -79
- package/dist/src/adapters/sdk-adapter.js.map +1 -1
- package/dist/src/commands/config/index.d.ts +1 -1
- package/dist/src/commands/config/index.js +15 -15
- package/dist/src/commands/config/index.js.map +1 -1
- package/dist/src/commands/query/index.d.ts +2 -2
- package/dist/src/commands/query/index.js +82 -82
- package/dist/src/commands/query/index.js.map +1 -1
- package/dist/src/commands/token/index.d.ts +8 -8
- package/dist/src/commands/token/index.js +73 -73
- package/dist/src/commands/token/index.js.map +1 -1
- package/dist/src/commands/tools/index.d.ts +9 -9
- package/dist/src/commands/tools/index.js +137 -137
- package/dist/src/commands/tools/index.js.map +1 -1
- package/dist/src/commands/trade/index.d.ts +2 -2
- package/dist/src/commands/trade/index.js +82 -82
- package/dist/src/commands/trade/index.js.map +1 -1
- package/dist/src/commands/transfer/index.d.ts +8 -8
- package/dist/src/commands/transfer/index.js +106 -106
- package/dist/src/commands/transfer/index.js.map +1 -1
- package/dist/src/commands/wallet/index.d.ts +1 -1
- package/dist/src/commands/wallet/index.js +175 -175
- package/dist/src/commands/wallet/index.js.map +1 -1
- package/dist/src/config.d.ts +26 -26
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +28 -28
- package/dist/src/config.js.map +1 -1
- package/dist/src/const/index.js +1 -1
- package/dist/src/const/index.js.map +1 -1
- package/dist/src/data-source.d.ts +81 -81
- package/dist/src/data-source.d.ts.map +1 -1
- package/dist/src/data-source.js +149 -149
- package/dist/src/data-source.js.map +1 -1
- package/dist/src/data-store/index.d.ts +22 -22
- package/dist/src/data-store/index.d.ts.map +1 -1
- package/dist/src/data-store/index.js +46 -46
- package/dist/src/data-store/index.js.map +1 -1
- package/dist/src/data-store/types.d.ts +3 -3
- package/dist/src/data-store/types.js +3 -3
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.js +10 -10
- package/dist/src/index.js.map +1 -1
- package/dist/src/output.d.ts +18 -18
- package/dist/src/output.d.ts.map +1 -1
- package/dist/src/output.js +34 -34
- package/dist/src/output.js.map +1 -1
- package/dist/src/shims/store.d.ts +3 -2
- package/dist/src/shims/store.d.ts.map +1 -1
- package/dist/src/shims/store.js +6 -5
- package/dist/src/shims/store.js.map +1 -1
- package/dist/src/sol-sdk/batch/create.d.ts +4 -1
- package/dist/src/sol-sdk/batch/create.d.ts.map +1 -1
- package/dist/src/sol-sdk/batch/create.js +44 -44
- package/dist/src/sol-sdk/batch/create.js.map +1 -1
- package/dist/src/sol-sdk/batch/index.js +135 -135
- package/dist/src/sol-sdk/batch/index.js.map +1 -1
- package/dist/src/sol-sdk/calc.d.ts +63 -63
- package/dist/src/sol-sdk/calc.d.ts.map +1 -1
- package/dist/src/sol-sdk/calc.js +120 -120
- package/dist/src/sol-sdk/calc.js.map +1 -1
- package/dist/src/sol-sdk/jito/index.js +12 -12
- package/dist/src/sol-sdk/jito/index.js.map +1 -1
- package/dist/src/sol-sdk/launchlab/instructions/create.js +10 -10
- package/dist/src/sol-sdk/launchlab/instructions/create.js.map +1 -1
- package/dist/src/sol-sdk/meteora/index.d.ts +5 -5
- package/dist/src/sol-sdk/meteora/index.js +11 -11
- package/dist/src/sol-sdk/meteora/index.js.map +1 -1
- package/dist/src/sol-sdk/meteora/instructions/buy.js +8 -8
- package/dist/src/sol-sdk/meteora/instructions/buy.js.map +1 -1
- package/dist/src/sol-sdk/meteora/instructions/sell.js +6 -6
- package/dist/src/sol-sdk/meteora/instructions/sell.js.map +1 -1
- package/dist/src/sol-sdk/pump/index.js +3 -3
- package/dist/src/sol-sdk/pump/index.js.map +1 -1
- package/dist/src/sol-sdk/pump/instructions/buy.d.ts +12 -12
- package/dist/src/sol-sdk/pump/instructions/buy.d.ts.map +1 -1
- package/dist/src/sol-sdk/pump/instructions/buy.js +26 -26
- package/dist/src/sol-sdk/pump/instructions/buy.js.map +1 -1
- package/dist/src/sol-sdk/pump/instructions/createAndBuy.d.ts +13 -13
- package/dist/src/sol-sdk/pump/instructions/createAndBuy.js +17 -17
- package/dist/src/sol-sdk/pump/instructions/createAndBuy.js.map +1 -1
- package/dist/src/sol-sdk/pump/instructions/sell.d.ts +2 -2
- package/dist/src/sol-sdk/pump/instructions/sell.d.ts.map +1 -1
- package/dist/src/sol-sdk/pump/instructions/sell.js +7 -7
- package/dist/src/sol-sdk/pump/instructions/sell.js.map +1 -1
- package/dist/src/sol-sdk/pumpswap/index.d.ts +4 -4
- package/dist/src/sol-sdk/pumpswap/index.js +5 -5
- package/dist/src/sol-sdk/pumpswap/index.js.map +1 -1
- package/dist/src/sol-sdk/pumpswap/instructions/buy.d.ts +8 -8
- package/dist/src/sol-sdk/pumpswap/instructions/buy.js +19 -19
- package/dist/src/sol-sdk/pumpswap/instructions/buy.js.map +1 -1
- package/dist/src/sol-sdk/pumpswap/instructions/migrate.js +2 -2
- package/dist/src/sol-sdk/pumpswap/instructions/migrate.js.map +1 -1
- package/dist/src/sol-sdk/pumpswap/instructions/sell.js +4 -4
- package/dist/src/sol-sdk/pumpswap/instructions/sell.js.map +1 -1
- package/dist/src/sol-sdk/pumpswap/rpc/index.js +1 -1
- package/dist/src/sol-sdk/pumpswap/rpc/index.js.map +1 -1
- package/dist/src/sol-sdk/raydium/instructions/cpmmSell.js +3 -3
- package/dist/src/sol-sdk/raydium/instructions/cpmmSell.js.map +1 -1
- package/dist/src/sol-sdk/raydium/instructions/sell.d.ts +40 -8520
- package/dist/src/sol-sdk/raydium/instructions/sell.d.ts.map +1 -1
- package/dist/src/sol-sdk/raydium/instructions/sell.js +6 -6
- package/dist/src/sol-sdk/raydium/instructions/sell.js.map +1 -1
- package/dist/src/sol-sdk/raydium/rpc/index.d.ts +4 -4
- package/dist/src/sol-sdk/rpc/index.d.ts +14 -14
- package/dist/src/sol-sdk/rpc/index.d.ts.map +1 -1
- package/dist/src/sol-sdk/rpc/index.js +17 -17
- package/dist/src/sol-sdk/rpc/index.js.map +1 -1
- package/dist/src/sol-sdk/transfer/index.js +5 -5
- package/dist/src/sol-sdk/transfer/index.js.map +1 -1
- package/dist/src/sol-sdk/turnover/index.d.ts +3 -3
- package/dist/src/sol-sdk/turnover/index.js +56 -56
- package/dist/src/sol-sdk/turnover/index.js.map +1 -1
- package/dist/src/telemetry.d.ts +8 -8
- package/dist/src/telemetry.d.ts.map +1 -1
- package/dist/src/telemetry.js +25 -25
- package/dist/src/telemetry.js.map +1 -1
- package/dist/src/tx-tracker/detail-adapter.d.ts +53 -53
- package/dist/src/tx-tracker/detail-adapter.d.ts.map +1 -1
- package/dist/src/tx-tracker/detail-adapter.js +68 -68
- package/dist/src/tx-tracker/detail-adapter.js.map +1 -1
- package/dist/src/tx-tracker/index.d.ts +67 -67
- package/dist/src/tx-tracker/index.d.ts.map +1 -1
- package/dist/src/tx-tracker/index.js +103 -103
- package/dist/src/tx-tracker/index.js.map +1 -1
- package/dist/src/types/index.d.ts +10 -10
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/websocket.js +1 -1
- package/dist/src/types/websocket.js.map +1 -1
- package/dist/src/utils/index.js +20 -20
- package/dist/src/utils/index.js.map +1 -1
- package/dist/src/wallet-store.d.ts +51 -51
- package/dist/src/wallet-store.d.ts.map +1 -1
- package/dist/src/wallet-store.js +104 -104
- package/dist/src/wallet-store.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Transfer command group - real transaction execution
|
|
3
3
|
*
|
|
4
4
|
* forgex transfer in | out | many-to-many
|
|
5
5
|
*
|
|
6
|
-
* Phase 3
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
9
|
-
* -
|
|
10
|
-
* -
|
|
11
|
-
* -
|
|
12
|
-
* -
|
|
6
|
+
* Phase 3 upgrade:
|
|
7
|
+
* - Use DataSource facade for balance queries
|
|
8
|
+
* - Integrate TxTracker for automatic transfer result tracking
|
|
9
|
+
* - Add ensurePasswordAndValidate for password verification
|
|
10
|
+
* - Add suppressConsole/restoreConsole to prevent JSON output pollution
|
|
11
|
+
* - Improve input parameter validation
|
|
12
|
+
* - Add balance pre-check
|
|
13
13
|
*/
|
|
14
14
|
import { getGroup, getAllGroups, getDecryptedPrivateKey, ensurePasswordAndValidate } from '../../wallet-store.js';
|
|
15
15
|
import { loadConfig } from '../../config.js';
|
|
@@ -19,54 +19,54 @@ import { getDataSource } from '../../data-source.js';
|
|
|
19
19
|
export function registerTransferCommands(program) {
|
|
20
20
|
const transferCmd = program
|
|
21
21
|
.command('transfer')
|
|
22
|
-
.description('
|
|
22
|
+
.description('Transfer operations');
|
|
23
23
|
// ============================================================
|
|
24
|
-
// forgex transfer in -
|
|
24
|
+
// forgex transfer in - real batch collect
|
|
25
25
|
// ============================================================
|
|
26
26
|
transferCmd
|
|
27
27
|
.command('in')
|
|
28
|
-
.description('
|
|
29
|
-
.requiredOption('--to <address>', '
|
|
30
|
-
.requiredOption('--from-group <id>', '
|
|
31
|
-
.option('--token <token>', '
|
|
32
|
-
.option('--amount <type>', '
|
|
33
|
-
.option('--value <n>', '
|
|
34
|
-
.option('--priority-fee <sol>', '
|
|
35
|
-
.option('--dry-run', '
|
|
28
|
+
.description('Batch collect (multiple wallets to one address)')
|
|
29
|
+
.requiredOption('--to <address>', 'Target address')
|
|
30
|
+
.requiredOption('--from-group <id>', 'Source wallet group ID')
|
|
31
|
+
.option('--token <token>', 'Token: SOL or contract address', 'SOL')
|
|
32
|
+
.option('--amount <type>', 'Amount type: all | fixed | reserve', 'all')
|
|
33
|
+
.option('--value <n>', 'Amount value (SOL or token count)')
|
|
34
|
+
.option('--priority-fee <sol>', 'Priority fee (SOL)')
|
|
35
|
+
.option('--dry-run', 'Simulate only, do not execute', false)
|
|
36
36
|
.action(async (options) => {
|
|
37
37
|
try {
|
|
38
|
-
//
|
|
38
|
+
// Password verification
|
|
39
39
|
await ensurePasswordAndValidate();
|
|
40
40
|
const config = loadConfig();
|
|
41
41
|
const groupId = Number(options.fromGroup);
|
|
42
|
-
//
|
|
42
|
+
// Parameter validation
|
|
43
43
|
if (isNaN(groupId)) {
|
|
44
|
-
error('--from-group
|
|
44
|
+
error('--from-group must be a valid number');
|
|
45
45
|
process.exit(1);
|
|
46
46
|
}
|
|
47
47
|
const group = getGroup(groupId);
|
|
48
48
|
if (!group) {
|
|
49
|
-
error(
|
|
49
|
+
error(`Wallet group ${groupId} does not exist`);
|
|
50
50
|
process.exit(1);
|
|
51
51
|
}
|
|
52
52
|
if (group.wallets.length === 0) {
|
|
53
|
-
error('
|
|
53
|
+
error('Wallet group has no wallets');
|
|
54
54
|
process.exit(1);
|
|
55
55
|
}
|
|
56
|
-
// --amount
|
|
56
|
+
// --amount validation
|
|
57
57
|
const validAmountTypes = ['all', 'fixed', 'reserve'];
|
|
58
58
|
if (!validAmountTypes.includes(options.amount)) {
|
|
59
|
-
error(`--amount
|
|
59
|
+
error(`--amount invalid: "${options.amount}", must be all | fixed | reserve`);
|
|
60
60
|
process.exit(1);
|
|
61
61
|
}
|
|
62
62
|
if ((options.amount === 'fixed' || options.amount === 'reserve') && !options.value) {
|
|
63
|
-
error(`--amount ${options.amount}
|
|
63
|
+
error(`--amount ${options.amount} mode requires --value parameter`);
|
|
64
64
|
process.exit(1);
|
|
65
65
|
}
|
|
66
66
|
if (options.value) {
|
|
67
67
|
const val = Number(options.value);
|
|
68
68
|
if (isNaN(val) || val < 0) {
|
|
69
|
-
error('--value
|
|
69
|
+
error('--value must be a non-negative number');
|
|
70
70
|
process.exit(1);
|
|
71
71
|
}
|
|
72
72
|
}
|
|
@@ -74,13 +74,13 @@ export function registerTransferCommands(program) {
|
|
|
74
74
|
? Number(options.priorityFee)
|
|
75
75
|
: config.defaultPriorityFee;
|
|
76
76
|
if (isNaN(priorityFee) || priorityFee < 0) {
|
|
77
|
-
error('--priority-fee
|
|
77
|
+
error('--priority-fee must be a non-negative number');
|
|
78
78
|
process.exit(1);
|
|
79
79
|
}
|
|
80
80
|
const wallets = buildWalletList(group);
|
|
81
81
|
const ds = getDataSource();
|
|
82
82
|
if (options.dryRun) {
|
|
83
|
-
//
|
|
83
|
+
// Query balance via DataSource
|
|
84
84
|
const balances = [];
|
|
85
85
|
for (const w of wallets) {
|
|
86
86
|
const bal = await ds.getSolBalance(w.address);
|
|
@@ -92,15 +92,15 @@ export function registerTransferCommands(program) {
|
|
|
92
92
|
walletCount: wallets.length,
|
|
93
93
|
balances,
|
|
94
94
|
totalBalance: balances.reduce((sum, b) => sum + b.balance, 0),
|
|
95
|
-
message: '
|
|
95
|
+
message: 'Simulation successful',
|
|
96
96
|
});
|
|
97
97
|
return;
|
|
98
98
|
}
|
|
99
|
-
//
|
|
99
|
+
// Suppress SDK console.log in JSON mode
|
|
100
100
|
if (getOutputFormat() === 'json')
|
|
101
101
|
suppressConsole();
|
|
102
102
|
if (options.token === 'SOL') {
|
|
103
|
-
info(
|
|
103
|
+
info(`Executing SOL collect: ${wallets.length} wallets -> ${options.to}`);
|
|
104
104
|
const results = await executeCollectSOL({
|
|
105
105
|
wallets: wallets.map(w => ({
|
|
106
106
|
privateKey: w.privateKey,
|
|
@@ -124,85 +124,85 @@ export function registerTransferCommands(program) {
|
|
|
124
124
|
}
|
|
125
125
|
else {
|
|
126
126
|
restoreConsole();
|
|
127
|
-
// SPL Token
|
|
128
|
-
info(
|
|
127
|
+
// SPL Token collect - query token balance via DataSource
|
|
128
|
+
info(`Executing token collect: ${options.token}`);
|
|
129
129
|
output({
|
|
130
130
|
success: false,
|
|
131
|
-
error: '
|
|
131
|
+
error: 'Token collect feature is under development, please use SOL collect first',
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
catch (e) {
|
|
136
136
|
restoreConsole();
|
|
137
|
-
error('
|
|
137
|
+
error('Batch collect failed', e.message);
|
|
138
138
|
process.exit(1);
|
|
139
139
|
}
|
|
140
140
|
});
|
|
141
141
|
// ============================================================
|
|
142
|
-
// forgex transfer out -
|
|
142
|
+
// forgex transfer out - real batch distribute
|
|
143
143
|
// ============================================================
|
|
144
144
|
transferCmd
|
|
145
145
|
.command('out')
|
|
146
|
-
.description('
|
|
147
|
-
.requiredOption('--from <address>', '
|
|
148
|
-
.requiredOption('--to-group <id>', '
|
|
149
|
-
.option('--token <token>', '
|
|
150
|
-
.option('--amount <type>', '
|
|
151
|
-
.requiredOption('--value <n>', '
|
|
152
|
-
.option('--max <n>', '
|
|
153
|
-
.option('--priority-fee <sol>', '
|
|
154
|
-
.option('--batch-size <n>', '
|
|
155
|
-
.option('--multi-hop', '
|
|
156
|
-
.option('--hop-count <n>', '
|
|
157
|
-
.option('--dry-run', '
|
|
146
|
+
.description('Batch distribute (one address to multiple wallets)')
|
|
147
|
+
.requiredOption('--from <address>', 'Source address (must be in a wallet group with private key)')
|
|
148
|
+
.requiredOption('--to-group <id>', 'Target wallet group ID')
|
|
149
|
+
.option('--token <token>', 'Token: SOL or contract address', 'SOL')
|
|
150
|
+
.option('--amount <type>', 'Amount type: fixed | random', 'fixed')
|
|
151
|
+
.requiredOption('--value <n>', 'Amount value (SOL or token count)')
|
|
152
|
+
.option('--max <n>', 'Max value (random mode)')
|
|
153
|
+
.option('--priority-fee <sol>', 'Priority fee (SOL)')
|
|
154
|
+
.option('--batch-size <n>', 'Batch size', '20')
|
|
155
|
+
.option('--multi-hop', 'Enable multi-hop transfer (via 6 temp relay wallets, SOL only)', false)
|
|
156
|
+
.option('--hop-count <n>', 'Number of relay wallets (default 6)', '6')
|
|
157
|
+
.option('--dry-run', 'Simulate only, do not execute', false)
|
|
158
158
|
.action(async (options) => {
|
|
159
159
|
try {
|
|
160
|
-
//
|
|
160
|
+
// Password verification
|
|
161
161
|
await ensurePasswordAndValidate();
|
|
162
162
|
const config = loadConfig();
|
|
163
163
|
const toGroupId = Number(options.toGroup);
|
|
164
164
|
const valueNum = Number(options.value);
|
|
165
165
|
const batchSize = Number(options.batchSize);
|
|
166
|
-
//
|
|
166
|
+
// Parameter validation
|
|
167
167
|
if (isNaN(toGroupId)) {
|
|
168
|
-
error('--to-group
|
|
168
|
+
error('--to-group must be a valid number');
|
|
169
169
|
process.exit(1);
|
|
170
170
|
}
|
|
171
171
|
if (isNaN(valueNum) || valueNum <= 0) {
|
|
172
|
-
error('--value
|
|
172
|
+
error('--value must be a number greater than 0');
|
|
173
173
|
process.exit(1);
|
|
174
174
|
}
|
|
175
175
|
if (isNaN(batchSize) || batchSize <= 0) {
|
|
176
|
-
error('--batch-size
|
|
176
|
+
error('--batch-size must be an integer greater than 0');
|
|
177
177
|
process.exit(1);
|
|
178
178
|
}
|
|
179
|
-
// --amount
|
|
179
|
+
// --amount validation
|
|
180
180
|
const validAmountTypes = ['fixed', 'random'];
|
|
181
181
|
if (!validAmountTypes.includes(options.amount)) {
|
|
182
|
-
error(`--amount
|
|
182
|
+
error(`--amount invalid: "${options.amount}", must be fixed | random`);
|
|
183
183
|
process.exit(1);
|
|
184
184
|
}
|
|
185
185
|
if (options.amount === 'random' && !options.max) {
|
|
186
|
-
error('--amount random
|
|
186
|
+
error('--amount random mode requires --max parameter');
|
|
187
187
|
process.exit(1);
|
|
188
188
|
}
|
|
189
189
|
const toGroup = getGroup(toGroupId);
|
|
190
190
|
if (!toGroup) {
|
|
191
|
-
error(
|
|
191
|
+
error(`Target wallet group ${toGroupId} does not exist`);
|
|
192
192
|
process.exit(1);
|
|
193
193
|
}
|
|
194
194
|
if (toGroup.wallets.length === 0) {
|
|
195
|
-
error('
|
|
195
|
+
error('Target wallet group has no wallets');
|
|
196
196
|
process.exit(1);
|
|
197
197
|
}
|
|
198
198
|
const priorityFee = options.priorityFee
|
|
199
199
|
? Number(options.priorityFee)
|
|
200
200
|
: config.defaultPriorityFee;
|
|
201
201
|
if (isNaN(priorityFee) || priorityFee < 0) {
|
|
202
|
-
error('--priority-fee
|
|
202
|
+
error('--priority-fee must be a non-negative number');
|
|
203
203
|
process.exit(1);
|
|
204
204
|
}
|
|
205
|
-
//
|
|
205
|
+
// Find sender's private key
|
|
206
206
|
let fromPrivateKey;
|
|
207
207
|
let fromGroupId;
|
|
208
208
|
const allGroups = getAllGroups();
|
|
@@ -215,12 +215,12 @@ export function registerTransferCommands(program) {
|
|
|
215
215
|
}
|
|
216
216
|
}
|
|
217
217
|
if (!fromPrivateKey) {
|
|
218
|
-
error(
|
|
218
|
+
error(`Cannot find private key for address ${options.from}, ensure it is in a wallet group`);
|
|
219
219
|
process.exit(1);
|
|
220
220
|
}
|
|
221
221
|
const ds = getDataSource();
|
|
222
222
|
if (options.dryRun) {
|
|
223
|
-
//
|
|
223
|
+
// Balance pre-check -- via DataSource
|
|
224
224
|
const balance = await ds.getSolBalance(options.from);
|
|
225
225
|
const totalNeeded = Number(options.value) * toGroup.wallets.length;
|
|
226
226
|
output({
|
|
@@ -232,15 +232,15 @@ export function registerTransferCommands(program) {
|
|
|
232
232
|
amountPerWallet: Number(options.value),
|
|
233
233
|
totalNeeded,
|
|
234
234
|
sufficient: balance >= totalNeeded,
|
|
235
|
-
message: balance >= totalNeeded ? '
|
|
235
|
+
message: balance >= totalNeeded ? 'Simulation successful' : `Insufficient balance: need ${totalNeeded} SOL, current ${balance} SOL`,
|
|
236
236
|
});
|
|
237
237
|
return;
|
|
238
238
|
}
|
|
239
|
-
//
|
|
239
|
+
// Suppress SDK console.log in JSON mode
|
|
240
240
|
if (getOutputFormat() === 'json')
|
|
241
241
|
suppressConsole();
|
|
242
242
|
if (options.token === 'SOL') {
|
|
243
|
-
//
|
|
243
|
+
// Balance pre-check
|
|
244
244
|
const balance = await ds.getSolBalance(options.from);
|
|
245
245
|
const targets = toGroup.wallets.map(w => {
|
|
246
246
|
let amount = Number(options.value);
|
|
@@ -252,10 +252,10 @@ export function registerTransferCommands(program) {
|
|
|
252
252
|
const totalNeeded = targets.reduce((sum, t) => sum + t.amountSOL, 0) + priorityFee * targets.length;
|
|
253
253
|
if (balance < totalNeeded) {
|
|
254
254
|
restoreConsole();
|
|
255
|
-
error(
|
|
255
|
+
error(`Insufficient balance: need ~${totalNeeded.toFixed(4)} SOL, current ${balance.toFixed(4)} SOL`);
|
|
256
256
|
process.exit(1);
|
|
257
257
|
}
|
|
258
|
-
info(
|
|
258
|
+
info(`Executing SOL distribute: ${options.from} -> ${targets.length} wallets, ~${options.value} SOL each${options.multiHop ? ' (multi-hop mode)' : ''}`);
|
|
259
259
|
const results = await executeBatchSOLTransfer({
|
|
260
260
|
fromPrivateKey: fromPrivateKey,
|
|
261
261
|
targets,
|
|
@@ -278,105 +278,105 @@ export function registerTransferCommands(program) {
|
|
|
278
278
|
restoreConsole();
|
|
279
279
|
output({
|
|
280
280
|
success: false,
|
|
281
|
-
error: '
|
|
281
|
+
error: 'Token distribute feature is under development, please use SOL distribute first',
|
|
282
282
|
});
|
|
283
283
|
}
|
|
284
284
|
}
|
|
285
285
|
catch (e) {
|
|
286
286
|
restoreConsole();
|
|
287
|
-
error('
|
|
287
|
+
error('Batch distribute failed', e.message);
|
|
288
288
|
process.exit(1);
|
|
289
289
|
}
|
|
290
290
|
});
|
|
291
291
|
// ============================================================
|
|
292
|
-
// forgex transfer many-to-many -
|
|
292
|
+
// forgex transfer many-to-many - real many-to-many transfer
|
|
293
293
|
// ============================================================
|
|
294
294
|
transferCmd
|
|
295
295
|
.command('many-to-many')
|
|
296
|
-
.description('
|
|
297
|
-
.requiredOption('--from-group <id>', '
|
|
298
|
-
.requiredOption('--to-group <id>', '
|
|
299
|
-
.option('--token <token>', '
|
|
300
|
-
.option('--amount <type>', '
|
|
301
|
-
.option('--value <n>', '
|
|
302
|
-
.option('--max <n>', '
|
|
303
|
-
.option('--interval <ms>', '
|
|
304
|
-
.option('--priority-fee <sol>', '
|
|
305
|
-
.option('--multi-hop', '
|
|
306
|
-
.option('--hop-count <n>', '
|
|
307
|
-
.option('--dry-run', '
|
|
296
|
+
.description('Many-to-many transfer')
|
|
297
|
+
.requiredOption('--from-group <id>', 'Source wallet group ID')
|
|
298
|
+
.requiredOption('--to-group <id>', 'Target wallet group ID')
|
|
299
|
+
.option('--token <token>', 'Token: SOL or contract address', 'SOL')
|
|
300
|
+
.option('--amount <type>', 'Amount type: all | fixed | reserve | random', 'all')
|
|
301
|
+
.option('--value <n>', 'Amount value')
|
|
302
|
+
.option('--max <n>', 'Max value (random mode)')
|
|
303
|
+
.option('--interval <ms>', 'Transfer interval (ms)', '500')
|
|
304
|
+
.option('--priority-fee <sol>', 'Priority fee (SOL)')
|
|
305
|
+
.option('--multi-hop', 'Enable multi-hop transfer (via 6 temp relay wallets, SOL only)', false)
|
|
306
|
+
.option('--hop-count <n>', 'Number of relay wallets (default 6)', '6')
|
|
307
|
+
.option('--dry-run', 'Simulate only, do not execute', false)
|
|
308
308
|
.action(async (options) => {
|
|
309
309
|
try {
|
|
310
|
-
//
|
|
310
|
+
// Password verification
|
|
311
311
|
await ensurePasswordAndValidate();
|
|
312
312
|
const config = loadConfig();
|
|
313
313
|
const fromGroupId = Number(options.fromGroup);
|
|
314
314
|
const toGroupId = Number(options.toGroup);
|
|
315
|
-
//
|
|
315
|
+
// Parameter validation
|
|
316
316
|
if (isNaN(fromGroupId)) {
|
|
317
|
-
error('--from-group
|
|
317
|
+
error('--from-group must be a valid number');
|
|
318
318
|
process.exit(1);
|
|
319
319
|
}
|
|
320
320
|
if (isNaN(toGroupId)) {
|
|
321
|
-
error('--to-group
|
|
321
|
+
error('--to-group must be a valid number');
|
|
322
322
|
process.exit(1);
|
|
323
323
|
}
|
|
324
|
-
// --amount
|
|
324
|
+
// --amount validation
|
|
325
325
|
const validAmountTypes = ['all', 'fixed', 'reserve', 'random'];
|
|
326
326
|
if (!validAmountTypes.includes(options.amount)) {
|
|
327
|
-
error(`--amount
|
|
327
|
+
error(`--amount invalid: "${options.amount}", must be all | fixed | reserve | random`);
|
|
328
328
|
process.exit(1);
|
|
329
329
|
}
|
|
330
330
|
if ((options.amount === 'fixed' || options.amount === 'reserve') && !options.value) {
|
|
331
|
-
error(`--amount ${options.amount}
|
|
331
|
+
error(`--amount ${options.amount} mode requires --value parameter`);
|
|
332
332
|
process.exit(1);
|
|
333
333
|
}
|
|
334
334
|
if (options.amount === 'random') {
|
|
335
335
|
if (!options.value) {
|
|
336
|
-
error('--amount random
|
|
336
|
+
error('--amount random mode requires --value parameter (min value)');
|
|
337
337
|
process.exit(1);
|
|
338
338
|
}
|
|
339
339
|
if (!options.max) {
|
|
340
|
-
error('--amount random
|
|
340
|
+
error('--amount random mode requires --max parameter (max value)');
|
|
341
341
|
process.exit(1);
|
|
342
342
|
}
|
|
343
343
|
}
|
|
344
344
|
if (options.value) {
|
|
345
345
|
const val = Number(options.value);
|
|
346
346
|
if (isNaN(val) || val < 0) {
|
|
347
|
-
error('--value
|
|
347
|
+
error('--value must be a non-negative number');
|
|
348
348
|
process.exit(1);
|
|
349
349
|
}
|
|
350
350
|
}
|
|
351
351
|
const fromGroup = getGroup(fromGroupId);
|
|
352
352
|
const toGroup = getGroup(toGroupId);
|
|
353
353
|
if (!fromGroup) {
|
|
354
|
-
error(
|
|
354
|
+
error(`Source wallet group ${fromGroupId} does not exist`);
|
|
355
355
|
process.exit(1);
|
|
356
356
|
}
|
|
357
357
|
if (!toGroup) {
|
|
358
|
-
error(
|
|
358
|
+
error(`Target wallet group ${toGroupId} does not exist`);
|
|
359
359
|
process.exit(1);
|
|
360
360
|
}
|
|
361
361
|
if (fromGroup.wallets.length === 0) {
|
|
362
|
-
error('
|
|
362
|
+
error('Source wallet group has no wallets');
|
|
363
363
|
process.exit(1);
|
|
364
364
|
}
|
|
365
365
|
if (toGroup.wallets.length === 0) {
|
|
366
|
-
error('
|
|
366
|
+
error('Target wallet group has no wallets');
|
|
367
367
|
process.exit(1);
|
|
368
368
|
}
|
|
369
369
|
const priorityFee = options.priorityFee
|
|
370
370
|
? Number(options.priorityFee)
|
|
371
371
|
: config.defaultPriorityFee;
|
|
372
372
|
if (isNaN(priorityFee) || priorityFee < 0) {
|
|
373
|
-
error('--priority-fee
|
|
373
|
+
error('--priority-fee must be a non-negative number');
|
|
374
374
|
process.exit(1);
|
|
375
375
|
}
|
|
376
376
|
const ds = getDataSource();
|
|
377
377
|
const pairCount = Math.min(fromGroup.wallets.length, toGroup.wallets.length);
|
|
378
378
|
if (options.dryRun) {
|
|
379
|
-
//
|
|
379
|
+
// Balance pre-check -- via DataSource
|
|
380
380
|
const balances = [];
|
|
381
381
|
for (let i = 0; i < pairCount; i++) {
|
|
382
382
|
const bal = await ds.getSolBalance(fromGroup.wallets[i].walletAddress);
|
|
@@ -394,20 +394,20 @@ export function registerTransferCommands(program) {
|
|
|
394
394
|
toWallets: toGroup.wallets.length,
|
|
395
395
|
pairs: pairCount,
|
|
396
396
|
balances,
|
|
397
|
-
message: '
|
|
397
|
+
message: 'Simulation successful',
|
|
398
398
|
});
|
|
399
399
|
return;
|
|
400
400
|
}
|
|
401
|
-
//
|
|
401
|
+
// Suppress SDK console.log in JSON mode
|
|
402
402
|
if (getOutputFormat() === 'json')
|
|
403
403
|
suppressConsole();
|
|
404
404
|
if (options.token === 'SOL') {
|
|
405
405
|
const results = [];
|
|
406
|
-
info(
|
|
406
|
+
info(`Executing many-to-many SOL transfer: ${pairCount} pairs${options.multiHop ? ' (multi-hop mode)' : ''}`);
|
|
407
407
|
for (let i = 0; i < pairCount; i++) {
|
|
408
408
|
const fromWallet = fromGroup.wallets[i];
|
|
409
409
|
const toWallet = toGroup.wallets[i];
|
|
410
|
-
//
|
|
410
|
+
// Calculate transfer amount - query balance via DataSource
|
|
411
411
|
let amountSOL;
|
|
412
412
|
if (options.amount === 'all') {
|
|
413
413
|
const bal = await ds.getSolBalance(fromWallet.walletAddress);
|
|
@@ -434,7 +434,7 @@ export function registerTransferCommands(program) {
|
|
|
434
434
|
to: toWallet.walletAddress,
|
|
435
435
|
amount: 0,
|
|
436
436
|
success: false,
|
|
437
|
-
error: '
|
|
437
|
+
error: 'Insufficient balance',
|
|
438
438
|
token: 'SOL',
|
|
439
439
|
});
|
|
440
440
|
continue;
|
|
@@ -466,13 +466,13 @@ export function registerTransferCommands(program) {
|
|
|
466
466
|
restoreConsole();
|
|
467
467
|
output({
|
|
468
468
|
success: false,
|
|
469
|
-
error: '
|
|
469
|
+
error: 'Token many-to-many transfer is under development, please use SOL first',
|
|
470
470
|
});
|
|
471
471
|
}
|
|
472
472
|
}
|
|
473
473
|
catch (e) {
|
|
474
474
|
restoreConsole();
|
|
475
|
-
error('
|
|
475
|
+
error('Many-to-many transfer failed', e.message);
|
|
476
476
|
process.exit(1);
|
|
477
477
|
}
|
|
478
478
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/transfer/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/transfer/index.ts"],"names":[],"mappings":"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"}
|