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,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
|
|
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>', '
|
|
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(
|
|
30
|
+
success(`Config file created: ${CONFIG_FILE}`);
|
|
31
31
|
}
|
|
32
32
|
catch (e) {
|
|
33
|
-
error('
|
|
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(
|
|
45
|
+
success(`Config updated: ${key} = ${value}`);
|
|
46
46
|
}
|
|
47
47
|
catch (e) {
|
|
48
|
-
error('
|
|
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(
|
|
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('
|
|
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('
|
|
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":"AAAA;;;;GAIG;AAGH,OAAO,EACL,UAAU,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,WAAW,GACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,SAAS,GAAG,OAAO;SACtB,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
/**
|
|
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(
|
|
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}
|
|
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>', '
|
|
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:
|
|
48
|
-
validatePublicKey(options.address, '
|
|
49
|
-
// P1 fix #6:
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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('
|
|
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:
|
|
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
|
-
//
|
|
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('
|
|
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('
|
|
147
|
-
.requiredOption('--token <ca>', '
|
|
148
|
-
.option('--interval <interval>', '
|
|
149
|
-
.option('--count <n>', '
|
|
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:
|
|
153
|
-
validatePublicKey(options.token, '
|
|
154
|
-
// P1 fix #1:
|
|
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
|
|
157
|
+
error(`--interval must be one of: ${validIntervals.join(', ')}, received: ${options.interval}`);
|
|
158
158
|
process.exit(1);
|
|
159
159
|
}
|
|
160
|
-
// P1 fix #2:
|
|
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
|
|
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
|
|
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
|
-
//
|
|
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
|
-
//
|
|
195
|
+
// If pairAddress unavailable, use token address
|
|
196
196
|
}
|
|
197
|
-
//
|
|
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('
|
|
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>', '
|
|
220
|
-
.option('--token <ca>', '
|
|
221
|
-
.option('--page <n>', '
|
|
222
|
-
.option('--page-size <n>', '
|
|
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:
|
|
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
|
-
//
|
|
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('
|
|
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>', '
|
|
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:
|
|
297
|
+
// P1 fix #4: validate --group is a valid positive integer
|
|
298
298
|
const groupId = validatePositiveInt(options.group, '--group');
|
|
299
|
-
// P2 fix:
|
|
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
|
-
//
|
|
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('
|
|
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":"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"}
|
|
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
|
-
* -
|
|
8
|
-
* -
|
|
9
|
-
* -
|
|
10
|
-
* -
|
|
11
|
-
* -
|
|
12
|
-
* - api
|
|
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;
|