@123456btc/123456btc-cli 1.0.4 → 1.0.6
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/dist/api/auth.js +2 -2
- package/dist/api/auth.js.map +1 -1
- package/dist/api/client.d.ts +10 -6
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +62 -19
- package/dist/api/client.js.map +1 -1
- package/dist/api/client.test.js +24 -16
- package/dist/api/client.test.js.map +1 -1
- package/dist/api/signals.d.ts +3 -3
- package/dist/api/signals.d.ts.map +1 -1
- package/dist/api/signals.js +3 -3
- package/dist/api/signals.js.map +1 -1
- package/dist/api/strategy-stream.d.ts +4 -9
- package/dist/api/strategy-stream.d.ts.map +1 -1
- package/dist/api/strategy-stream.js +14 -13
- package/dist/api/strategy-stream.js.map +1 -1
- package/dist/api/strategy.d.ts +3 -1
- package/dist/api/strategy.d.ts.map +1 -1
- package/dist/api/strategy.js +3 -1
- package/dist/api/strategy.js.map +1 -1
- package/dist/api/token-manager.d.ts.map +1 -1
- package/dist/api/token-manager.js +4 -0
- package/dist/api/token-manager.js.map +1 -1
- package/dist/cli.js +5 -47
- package/dist/cli.js.map +1 -1
- package/dist/commands/auth.d.ts.map +1 -1
- package/dist/commands/auth.js +27 -93
- package/dist/commands/auth.js.map +1 -1
- package/dist/commands/exchange.d.ts +3 -0
- package/dist/commands/exchange.d.ts.map +1 -0
- package/dist/commands/exchange.js +141 -0
- package/dist/commands/exchange.js.map +1 -0
- package/dist/commands/gas.d.ts.map +1 -1
- package/dist/commands/gas.js +3 -2
- package/dist/commands/gas.js.map +1 -1
- package/dist/commands/health.d.ts.map +1 -1
- package/dist/commands/health.js +5 -3
- package/dist/commands/health.js.map +1 -1
- package/dist/commands/provider.d.ts.map +1 -1
- package/dist/commands/provider.js +17 -20
- package/dist/commands/provider.js.map +1 -1
- package/dist/commands/signals.d.ts.map +1 -1
- package/dist/commands/signals.js +10 -9
- package/dist/commands/signals.js.map +1 -1
- package/dist/commands/strategy.d.ts.map +1 -1
- package/dist/commands/strategy.js +184 -10
- package/dist/commands/strategy.js.map +1 -1
- package/dist/commands/tier.d.ts.map +1 -1
- package/dist/commands/tier.js +3 -2
- package/dist/commands/tier.js.map +1 -1
- package/dist/commands/vault.d.ts.map +1 -1
- package/dist/commands/vault.js +5 -3
- package/dist/commands/vault.js.map +1 -1
- package/dist/commands/wallet.d.ts.map +1 -1
- package/dist/commands/wallet.js +3 -2
- package/dist/commands/wallet.js.map +1 -1
- package/dist/config/strategy-exchange.d.ts +30 -0
- package/dist/config/strategy-exchange.d.ts.map +1 -0
- package/dist/config/strategy-exchange.js +130 -0
- package/dist/config/strategy-exchange.js.map +1 -0
- package/dist/config.d.ts +11 -4
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +28 -56
- package/dist/config.js.map +1 -1
- package/dist/exchange/index.d.ts +106 -0
- package/dist/exchange/index.d.ts.map +1 -0
- package/dist/exchange/index.js +43 -0
- package/dist/exchange/index.js.map +1 -0
- package/dist/exchange/v2/adapters/base.d.ts +130 -0
- package/dist/exchange/v2/adapters/base.d.ts.map +1 -0
- package/dist/exchange/v2/adapters/base.js +296 -0
- package/dist/exchange/v2/adapters/base.js.map +1 -0
- package/dist/exchange/v2/adapters/binance.d.ts +51 -0
- package/dist/exchange/v2/adapters/binance.d.ts.map +1 -0
- package/dist/exchange/v2/adapters/binance.js +549 -0
- package/dist/exchange/v2/adapters/binance.js.map +1 -0
- package/dist/exchange/v2/adapters/bitget.d.ts +43 -0
- package/dist/exchange/v2/adapters/bitget.d.ts.map +1 -0
- package/dist/exchange/v2/adapters/bitget.js +524 -0
- package/dist/exchange/v2/adapters/bitget.js.map +1 -0
- package/dist/exchange/v2/adapters/hyperliquid.d.ts +102 -0
- package/dist/exchange/v2/adapters/hyperliquid.d.ts.map +1 -0
- package/dist/exchange/v2/adapters/hyperliquid.js +536 -0
- package/dist/exchange/v2/adapters/hyperliquid.js.map +1 -0
- package/dist/exchange/v2/adapters/okx.d.ts +38 -0
- package/dist/exchange/v2/adapters/okx.d.ts.map +1 -0
- package/dist/exchange/v2/adapters/okx.js +437 -0
- package/dist/exchange/v2/adapters/okx.js.map +1 -0
- package/dist/exchange/v2/algorithms/index.d.ts +78 -0
- package/dist/exchange/v2/algorithms/index.d.ts.map +1 -0
- package/dist/exchange/v2/algorithms/index.js +441 -0
- package/dist/exchange/v2/algorithms/index.js.map +1 -0
- package/dist/exchange/v2/executor/circuit-breaker.d.ts +44 -0
- package/dist/exchange/v2/executor/circuit-breaker.d.ts.map +1 -0
- package/dist/exchange/v2/executor/circuit-breaker.js +90 -0
- package/dist/exchange/v2/executor/circuit-breaker.js.map +1 -0
- package/dist/exchange/v2/executor/core.d.ts +64 -0
- package/dist/exchange/v2/executor/core.d.ts.map +1 -0
- package/dist/exchange/v2/executor/core.js +458 -0
- package/dist/exchange/v2/executor/core.js.map +1 -0
- package/dist/exchange/v2/executor/risk.d.ts +29 -0
- package/dist/exchange/v2/executor/risk.d.ts.map +1 -0
- package/dist/exchange/v2/executor/risk.js +144 -0
- package/dist/exchange/v2/executor/risk.js.map +1 -0
- package/dist/exchange/v2/executor/state.d.ts +29 -0
- package/dist/exchange/v2/executor/state.d.ts.map +1 -0
- package/dist/exchange/v2/executor/state.js +171 -0
- package/dist/exchange/v2/executor/state.js.map +1 -0
- package/dist/exchange/v2/index.d.ts +50 -0
- package/dist/exchange/v2/index.d.ts.map +1 -0
- package/dist/exchange/v2/index.js +82 -0
- package/dist/exchange/v2/index.js.map +1 -0
- package/dist/exchange/v2/registry.d.ts +50 -0
- package/dist/exchange/v2/registry.d.ts.map +1 -0
- package/dist/exchange/v2/registry.js +101 -0
- package/dist/exchange/v2/registry.js.map +1 -0
- package/dist/exchange/v2/types.d.ts +413 -0
- package/dist/exchange/v2/types.d.ts.map +1 -0
- package/dist/exchange/v2/types.js +3 -0
- package/dist/exchange/v2/types.js.map +1 -0
- package/dist/index.d.ts +105 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +40 -39
- package/dist/index.js.map +1 -1
- package/dist/session/store.d.ts +25 -0
- package/dist/session/store.d.ts.map +1 -0
- package/dist/session/store.js +108 -0
- package/dist/session/store.js.map +1 -0
- package/dist/session/store.test.d.ts +2 -0
- package/dist/session/store.test.d.ts.map +1 -0
- package/dist/session/store.test.js +118 -0
- package/dist/session/store.test.js.map +1 -0
- package/dist/types/financial.d.ts +14 -0
- package/dist/types/financial.d.ts.map +1 -0
- package/dist/types/financial.js +6 -0
- package/dist/types/financial.js.map +1 -0
- package/dist/utils/auth.d.ts +1 -1
- package/dist/utils/auth.d.ts.map +1 -1
- package/dist/utils/auth.js +5 -5
- package/dist/utils/auth.js.map +1 -1
- package/dist/vault/crypto.js +3 -3
- package/dist/vault/crypto.js.map +1 -1
- package/dist/vault/index.d.ts +28 -0
- package/dist/vault/index.d.ts.map +1 -1
- package/dist/vault/index.js +70 -0
- package/dist/vault/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,QAqPjD"}
|
package/dist/commands/auth.js
CHANGED
|
@@ -1,37 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
4
|
};
|
|
@@ -39,16 +6,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
6
|
exports.createAuthCommand = createAuthCommand;
|
|
40
7
|
const commander_1 = require("commander");
|
|
41
8
|
const inquirer_1 = __importDefault(require("inquirer"));
|
|
42
|
-
const fs = __importStar(require("fs"));
|
|
43
|
-
const path = __importStar(require("path"));
|
|
44
9
|
const axios_1 = __importDefault(require("axios"));
|
|
45
10
|
const qrcode_terminal_1 = __importDefault(require("qrcode-terminal"));
|
|
46
11
|
const client_1 = require("../api/client");
|
|
47
12
|
const auth_1 = require("../api/auth");
|
|
48
13
|
const auth_2 = require("../utils/auth");
|
|
49
|
-
const
|
|
14
|
+
const store_1 = require("../session/store");
|
|
50
15
|
function createAuthCommand(program) {
|
|
51
16
|
const authCmd = new commander_1.Command('auth');
|
|
17
|
+
const store = new store_1.SessionStore();
|
|
52
18
|
// Login command
|
|
53
19
|
authCmd
|
|
54
20
|
.command('login')
|
|
@@ -67,26 +33,18 @@ function createAuthCommand(program) {
|
|
|
67
33
|
]);
|
|
68
34
|
apiKey = answers.apiKey;
|
|
69
35
|
}
|
|
70
|
-
// Validate API key format (支持新旧格式)
|
|
71
36
|
if (!apiKey.startsWith('sk_live_') && !apiKey.startsWith('sk_test_') && !apiKey.startsWith('sk-bbt-')) {
|
|
72
37
|
console.error('Invalid API key format. Should start with sk_live_, sk_test_, or sk-bbt-');
|
|
73
38
|
process.exit(1);
|
|
74
39
|
}
|
|
75
|
-
|
|
76
|
-
const dir = path.dirname(CREDENTIALS_FILE);
|
|
77
|
-
if (!fs.existsSync(dir)) {
|
|
78
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
79
|
-
}
|
|
80
|
-
// Save credentials
|
|
81
|
-
const credentials = {
|
|
40
|
+
store.saveCredentials({
|
|
82
41
|
apiKey,
|
|
83
42
|
baseUrl: process.env.API_BASE_URL || 'https://platform.123456btc.com',
|
|
84
43
|
environment: options.env,
|
|
85
44
|
savedAt: new Date().toISOString(),
|
|
86
|
-
};
|
|
87
|
-
|
|
88
|
-
console.log(
|
|
89
|
-
console.log(` Base URL: ${credentials.baseUrl}`);
|
|
45
|
+
});
|
|
46
|
+
console.log('✓ Authentication saved');
|
|
47
|
+
console.log(` Base URL: ${store.getCredentials()?.baseUrl}`);
|
|
90
48
|
console.log(` Environment: ${options.env}`);
|
|
91
49
|
});
|
|
92
50
|
// Status command
|
|
@@ -94,32 +52,25 @@ function createAuthCommand(program) {
|
|
|
94
52
|
.command('status')
|
|
95
53
|
.description('Show authentication status')
|
|
96
54
|
.action(async () => {
|
|
97
|
-
|
|
55
|
+
const creds = store.getCredentials();
|
|
56
|
+
if (!creds) {
|
|
98
57
|
console.log('Not authenticated. Run "123456btc-cli auth login" first.');
|
|
99
58
|
return;
|
|
100
59
|
}
|
|
101
|
-
const credentials = JSON.parse(fs.readFileSync(CREDENTIALS_FILE, 'utf-8'));
|
|
102
60
|
console.log('Authentication Status:');
|
|
103
|
-
console.log(` API Key: ${
|
|
104
|
-
console.log(`
|
|
105
|
-
console.log(`
|
|
61
|
+
console.log(` API Key: ${creds.apiKey?.substring(0, 20) ?? 'N/A'}...`);
|
|
62
|
+
console.log(` JWT: ${creds.jwt ? 'Present' : 'None'}`);
|
|
63
|
+
console.log(` Environment: ${creds.environment}`);
|
|
64
|
+
console.log(` Saved: ${creds.savedAt}`);
|
|
106
65
|
});
|
|
107
|
-
const SESSION_FILE = path.join(process.env.HOME || process.env.USERPROFILE || '.', '.123456btc-cli', 'session.json');
|
|
108
66
|
// Logout command
|
|
109
67
|
authCmd
|
|
110
68
|
.command('logout')
|
|
111
69
|
.description('Clear authentication')
|
|
112
70
|
.action(() => {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
cleared = true;
|
|
117
|
-
}
|
|
118
|
-
if (fs.existsSync(SESSION_FILE)) {
|
|
119
|
-
fs.unlinkSync(SESSION_FILE);
|
|
120
|
-
cleared = true;
|
|
121
|
-
}
|
|
122
|
-
if (cleared) {
|
|
71
|
+
const hadCreds = store.getCredentials() !== null;
|
|
72
|
+
store.clearAll();
|
|
73
|
+
if (hadCreds) {
|
|
123
74
|
console.log('✓ Authentication cleared');
|
|
124
75
|
}
|
|
125
76
|
else {
|
|
@@ -131,8 +82,8 @@ function createAuthCommand(program) {
|
|
|
131
82
|
.command('verify')
|
|
132
83
|
.description('Verify API key and show tier info')
|
|
133
84
|
.action(async () => {
|
|
134
|
-
|
|
135
|
-
const client = new client_1.ApiClient(
|
|
85
|
+
(0, auth_2.checkAuth)();
|
|
86
|
+
const client = new client_1.ApiClient(new store_1.SessionStore());
|
|
136
87
|
const authApi = new auth_1.AuthApi(client);
|
|
137
88
|
console.log('Verifying API key...');
|
|
138
89
|
const tierResponse = await authApi.verifyKey();
|
|
@@ -153,7 +104,6 @@ function createAuthCommand(program) {
|
|
|
153
104
|
console.error('✗ API Key Invalid');
|
|
154
105
|
console.error('Error:', tierResponse.error?.message);
|
|
155
106
|
}
|
|
156
|
-
// Also get user info
|
|
157
107
|
const userInfoResponse = await authApi.userInfo();
|
|
158
108
|
if (userInfoResponse.success && userInfoResponse.data) {
|
|
159
109
|
console.log('');
|
|
@@ -164,14 +114,14 @@ function createAuthCommand(program) {
|
|
|
164
114
|
}
|
|
165
115
|
console.log(` Created: ${userInfoResponse.data.createdAt}`);
|
|
166
116
|
}
|
|
167
|
-
|
|
168
|
-
if (creds
|
|
117
|
+
const creds = store.getCredentials();
|
|
118
|
+
if (creds?.walletAddress) {
|
|
169
119
|
console.log('');
|
|
170
120
|
console.log('Wallet:');
|
|
171
121
|
console.log(` Address: ${creds.walletAddress}`);
|
|
172
122
|
}
|
|
173
123
|
});
|
|
174
|
-
// Wallet login command
|
|
124
|
+
// Wallet login command
|
|
175
125
|
authCmd
|
|
176
126
|
.command('wallet-login')
|
|
177
127
|
.description('Login with Solana wallet scan (generates QR code link)')
|
|
@@ -179,17 +129,14 @@ function createAuthCommand(program) {
|
|
|
179
129
|
.action(async (options) => {
|
|
180
130
|
const baseUrl = options.url;
|
|
181
131
|
try {
|
|
182
|
-
// 1. 获取 session nonce
|
|
183
132
|
const sessionRes = await axios_1.default.get(`${baseUrl}/api/auth/wallet-session`);
|
|
184
|
-
const { nonce
|
|
185
|
-
// 2. 生成登录 URL(指向 platform 的扫码登录页面)
|
|
133
|
+
const { nonce } = sessionRes.data;
|
|
186
134
|
const loginUrl = `${baseUrl}/login?nonce=${nonce}`;
|
|
187
135
|
console.log('');
|
|
188
136
|
console.log('═══════════════════════════════════════════════════════');
|
|
189
137
|
console.log(' Wallet Login');
|
|
190
138
|
console.log('═══════════════════════════════════════════════════════');
|
|
191
139
|
console.log('');
|
|
192
|
-
// 在终端显示二维码
|
|
193
140
|
qrcode_terminal_1.default.generate(loginUrl, { small: true }, (qrcodeStr) => {
|
|
194
141
|
console.log(qrcodeStr);
|
|
195
142
|
});
|
|
@@ -200,9 +147,8 @@ function createAuthCommand(program) {
|
|
|
200
147
|
console.log('');
|
|
201
148
|
console.log(' Waiting for wallet signature...');
|
|
202
149
|
console.log('');
|
|
203
|
-
// 3. 轮询等待签名
|
|
204
150
|
let attempts = 0;
|
|
205
|
-
const maxAttempts = 60;
|
|
151
|
+
const maxAttempts = 60;
|
|
206
152
|
let loginResult = null;
|
|
207
153
|
let wallet_address = null;
|
|
208
154
|
while (attempts < maxAttempts) {
|
|
@@ -216,7 +162,6 @@ function createAuthCommand(program) {
|
|
|
216
162
|
wallet_address = pollRes.data.wallet_address;
|
|
217
163
|
console.log('\n✓ Signature received!');
|
|
218
164
|
console.log(` Wallet: ${wallet_address}`);
|
|
219
|
-
// 4. 调用 wallet-login 获取 JWT
|
|
220
165
|
const loginRes = await axios_1.default.post(`${baseUrl}/api/auth/wallet-login`, {
|
|
221
166
|
wallet_address,
|
|
222
167
|
signature,
|
|
@@ -230,7 +175,7 @@ function createAuthCommand(program) {
|
|
|
230
175
|
}
|
|
231
176
|
}
|
|
232
177
|
catch {
|
|
233
|
-
//
|
|
178
|
+
// continue polling
|
|
234
179
|
}
|
|
235
180
|
}
|
|
236
181
|
if (!loginResult) {
|
|
@@ -239,35 +184,24 @@ function createAuthCommand(program) {
|
|
|
239
184
|
}
|
|
240
185
|
console.log(`✓ Logged in as ${loginResult.user.sol_address}`);
|
|
241
186
|
console.log(' Creating API Key...');
|
|
242
|
-
// 5. 用 JWT 创建 API Key
|
|
243
187
|
const keyRes = await axios_1.default.post(`${baseUrl}/api/api-keys`, { name: '123456btc-cli' }, { headers: { Authorization: `Bearer ${loginResult.token}` } });
|
|
244
188
|
const apiKey = keyRes.data?.data?.key || keyRes.data?.key;
|
|
245
189
|
if (!apiKey) {
|
|
246
190
|
console.error('✗ Failed to create API key');
|
|
247
191
|
process.exit(1);
|
|
248
192
|
}
|
|
249
|
-
|
|
250
|
-
const dir = path.dirname(CREDENTIALS_FILE);
|
|
251
|
-
if (!fs.existsSync(dir)) {
|
|
252
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
253
|
-
}
|
|
254
|
-
const credentials = {
|
|
193
|
+
store.saveCredentials({
|
|
255
194
|
apiKey,
|
|
256
195
|
baseUrl,
|
|
257
196
|
jwt: loginResult.token,
|
|
258
|
-
walletAddress: wallet_address,
|
|
197
|
+
walletAddress: wallet_address || undefined,
|
|
259
198
|
environment: 'live',
|
|
260
199
|
savedAt: new Date().toISOString(),
|
|
261
|
-
};
|
|
262
|
-
|
|
263
|
-
const sessionFile = path.join(dir, 'session.json');
|
|
264
|
-
if (fs.existsSync(sessionFile)) {
|
|
265
|
-
fs.unlinkSync(sessionFile);
|
|
266
|
-
}
|
|
200
|
+
});
|
|
201
|
+
store.clearAccessToken();
|
|
267
202
|
console.log('');
|
|
268
203
|
console.log('✓ Login successful!');
|
|
269
204
|
console.log(` API Key: ${apiKey.slice(0, 20)}...`);
|
|
270
|
-
console.log(` Saved to: ${CREDENTIALS_FILE}`);
|
|
271
205
|
if (loginResult?.debug) {
|
|
272
206
|
console.log('');
|
|
273
207
|
console.log(' Debug:');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/commands/auth.ts"],"names":[],"mappings":";;;;;AASA,8CAqPC;AA9PD,yCAAoC;AACpC,wDAAgC;AAChC,kDAA0B;AAC1B,sEAAqC;AACrC,0CAA0C;AAC1C,sCAAsC;AACtC,wCAA0C;AAC1C,4CAAgD;AAEhD,SAAgB,iBAAiB,CAAC,OAAgB;IAChD,MAAM,OAAO,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,IAAI,oBAAY,EAAE,CAAC;IAEjC,gBAAgB;IAChB,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,iCAAiC,CAAC;SAC9C,MAAM,CAAC,qBAAqB,EAAE,sCAAsC,CAAC;SACrE,MAAM,CAAC,yBAAyB,EAAE,2BAA2B,EAAE,MAAM,CAAC;SACtE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;QAEzB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAC;gBACpC;oBACE,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,qBAAqB;iBAC/B;aACF,CAAC,CAAC;YACH,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACtG,OAAO,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;YAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,KAAK,CAAC,eAAe,CAAC;YACpB,MAAM;YACN,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,gCAAgC;YACrE,WAAW,EAAE,OAAO,CAAC,GAAG;YACxB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SAClC,CAAC,CAAC;QAEH,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,kBAAkB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEL,iBAAiB;IACjB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,4BAA4B,CAAC;SACzC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEL,iBAAiB;IACjB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,sBAAsB,CAAC;SACnC,MAAM,CAAC,GAAG,EAAE;QACX,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,EAAE,KAAK,IAAI,CAAC;QACjD,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,iBAAiB;IACjB,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,mCAAmC,CAAC;SAChD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAA,gBAAS,GAAE,CAAC;QACZ,MAAM,MAAM,GAAG,IAAI,kBAAS,CAAC,IAAI,oBAAY,EAAE,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,cAAO,CAAC,MAAM,CAAC,CAAC;QAEpC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QAEpC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;QAC/C,IAAI,YAAY,CAAC,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,WAAW,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,YAAY,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,kBAAkB,YAAY,CAAC,IAAI,CAAC,kBAAkB,aAAa,CAAC,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,iBAAiB,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,kBAAkB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1E,IAAI,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,cAAc,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACnC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QAClD,IAAI,gBAAgB,CAAC,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,SAAS,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;YACjD,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,YAAY,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACzD,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,cAAc,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;QACrC,IAAI,KAAK,EAAE,aAAa,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,uBAAuB;IACvB,OAAO;SACJ,OAAO,CAAC,cAAc,CAAC;SACvB,WAAW,CAAC,wDAAwD,CAAC;SACrE,MAAM,CAAC,sBAAsB,EAAE,mBAAmB,EAAE,gCAAgC,CAAC;SACrF,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;QAE5B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,OAAO,0BAA0B,CAAC,CAAC;YACzE,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC;YAClC,MAAM,QAAQ,GAAG,GAAG,OAAO,gBAAgB,KAAK,EAAE,CAAC;YAEnD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,yBAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,SAAiB,EAAE,EAAE;gBAC/D,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzB,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,MAAM,WAAW,GAAG,EAAE,CAAC;YACvB,IAAI,WAAW,GAAqF,IAAI,CAAC;YACzG,IAAI,cAAc,GAAkB,IAAI,CAAC;YAEzC,OAAO,QAAQ,GAAG,WAAW,EAAE,CAAC;gBAC9B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC5C,QAAQ,EAAE,CAAC;gBACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAE1B,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,OAAO,yBAAyB,KAAK,EAAE,CAAC,CAAC;oBAC5E,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;wBACvB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;wBAC5C,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;wBAC7C,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;wBACvC,OAAO,CAAC,GAAG,CAAC,aAAa,cAAc,EAAE,CAAC,CAAC;wBAE3C,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,IAAI,CAAC,GAAG,OAAO,wBAAwB,EAAE;4BACpE,cAAc;4BACd,SAAS;4BACT,KAAK;4BACL,OAAO;yBACR,CAAC,CAAC;wBAEH,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;4BAChD,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;4BACjC,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,mBAAmB;gBACrB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,kBAAkB,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YAErC,MAAM,MAAM,GAAG,MAAM,eAAK,CAAC,IAAI,CAC7B,GAAG,OAAO,eAAe,EACzB,EAAE,IAAI,EAAE,eAAe,EAAE,EACzB,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,CAC9D,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;YAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAC5C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,KAAK,CAAC,eAAe,CAAC;gBACpB,MAAM;gBACN,OAAO;gBACP,GAAG,EAAE,WAAW,CAAC,KAAK;gBACtB,aAAa,EAAE,cAAc,IAAI,SAAS;gBAC1C,WAAW,EAAE,MAAM;gBACnB,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aAClC,CAAC,CAAC;YACH,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAEzB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,cAAc,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,WAAW,EAAE,KAAK,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACxB,OAAO,CAAC,GAAG,CAAC,eAAe,WAAW,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,gBAAgB,WAAW,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,mBAAmB,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC/D,OAAO,CAAC,GAAG,CAAC,iBAAiB,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/E,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAElB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exchange.d.ts","sourceRoot":"","sources":["../../src/commands/exchange.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QAgJrD"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createExchangeCommand = createExchangeCommand;
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const vault_1 = require("../vault");
|
|
9
|
+
const exchange_1 = require("../exchange");
|
|
10
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
11
|
+
function createExchangeCommand(program) {
|
|
12
|
+
const exchangeCmd = new commander_1.Command('exchange');
|
|
13
|
+
const EXCHANGE_IDS = Object.keys(exchange_1.EXCHANGE_CONFIG);
|
|
14
|
+
// Add exchange config
|
|
15
|
+
exchangeCmd
|
|
16
|
+
.command('add')
|
|
17
|
+
.description('Add a new exchange API configuration (stored encrypted in vault)')
|
|
18
|
+
.option('-n, --name <name>', 'Configuration name (e.g. okx-main, binance-futures)')
|
|
19
|
+
.option('-p, --platform <platform>', 'Exchange platform: ' + EXCHANGE_IDS.join(', '))
|
|
20
|
+
.action(async (options) => {
|
|
21
|
+
const vault = (0, vault_1.getVault)();
|
|
22
|
+
if (!vault.isUnlocked()) {
|
|
23
|
+
console.error('Vault is locked. Run `123456btc-cli vault unlock` first.');
|
|
24
|
+
process.exit(1);
|
|
25
|
+
}
|
|
26
|
+
let { name, platform } = options;
|
|
27
|
+
if (!name) {
|
|
28
|
+
const ans = await inquirer_1.default.prompt([{
|
|
29
|
+
type: 'input', name: 'name',
|
|
30
|
+
message: 'Configuration name (e.g. okx-main):',
|
|
31
|
+
validate: (v) => v.length > 0 || 'Name is required',
|
|
32
|
+
}]);
|
|
33
|
+
name = ans.name;
|
|
34
|
+
}
|
|
35
|
+
if (!platform) {
|
|
36
|
+
const ans = await inquirer_1.default.prompt([{
|
|
37
|
+
type: 'list', name: 'platform',
|
|
38
|
+
message: 'Select exchange:',
|
|
39
|
+
choices: EXCHANGE_IDS.map(id => ({ name: exchange_1.EXCHANGE_CONFIG[id].name, value: id })),
|
|
40
|
+
}]);
|
|
41
|
+
platform = ans.platform;
|
|
42
|
+
}
|
|
43
|
+
const config = exchange_1.EXCHANGE_CONFIG[platform];
|
|
44
|
+
if (!config) {
|
|
45
|
+
console.error(`Unsupported exchange: ${platform}`);
|
|
46
|
+
process.exit(1);
|
|
47
|
+
}
|
|
48
|
+
const data = { platform };
|
|
49
|
+
for (const field of config.fields) {
|
|
50
|
+
const ans = await inquirer_1.default.prompt([{
|
|
51
|
+
type: 'password', name: field.key,
|
|
52
|
+
message: `${field.label}${field.required ? '' : ' (optional)'}:`,
|
|
53
|
+
mask: '*',
|
|
54
|
+
validate: (v) => !field.required || v.length > 0 || `${field.label} is required`,
|
|
55
|
+
}]);
|
|
56
|
+
if (ans[field.key])
|
|
57
|
+
data[field.key] = ans[field.key];
|
|
58
|
+
}
|
|
59
|
+
const testnetAns = await inquirer_1.default.prompt([{
|
|
60
|
+
type: 'confirm', name: 'testnet',
|
|
61
|
+
message: 'Use testnet / sandbox?',
|
|
62
|
+
default: false,
|
|
63
|
+
}]);
|
|
64
|
+
data.testnet = testnetAns.testnet ? 'true' : 'false';
|
|
65
|
+
await vault.set(name, data, 'exchange', [platform, testnetAns.testnet ? 'testnet' : 'live']);
|
|
66
|
+
console.log(`✓ Exchange configuration "${name}" (${config.name}) saved securely in vault.`);
|
|
67
|
+
if (testnetAns.testnet)
|
|
68
|
+
console.log(' ⚠️ Testnet mode enabled');
|
|
69
|
+
});
|
|
70
|
+
// List exchange configs
|
|
71
|
+
exchangeCmd
|
|
72
|
+
.command('list')
|
|
73
|
+
.description('List all exchange configurations')
|
|
74
|
+
.action(() => {
|
|
75
|
+
const vault = (0, vault_1.getVault)();
|
|
76
|
+
if (!vault.isUnlocked()) {
|
|
77
|
+
console.error('Vault is locked. Run `123456btc-cli vault unlock` first.');
|
|
78
|
+
process.exit(1);
|
|
79
|
+
}
|
|
80
|
+
const entries = vault.list().filter(e => e.category === 'exchange');
|
|
81
|
+
if (entries.length === 0) {
|
|
82
|
+
console.log('No exchange configurations found.');
|
|
83
|
+
console.log('Run `123456btc-cli exchange add` to add one.');
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
console.log('Exchange Configurations:');
|
|
87
|
+
console.log('='.repeat(60));
|
|
88
|
+
entries.forEach(e => {
|
|
89
|
+
const platform = e.tags?.[0] || 'unknown';
|
|
90
|
+
const isTestnet = e.tags?.includes('testnet');
|
|
91
|
+
const config = exchange_1.EXCHANGE_CONFIG[platform];
|
|
92
|
+
console.log(` ${e.name} ${isTestnet ? '[TESTNET]' : '[LIVE]'}`);
|
|
93
|
+
console.log(` Platform: ${config?.name || platform}`);
|
|
94
|
+
console.log(` Fields: ${e.fields.join(', ')}`);
|
|
95
|
+
console.log(` Created: ${new Date(e.createdAt).toLocaleString()}`);
|
|
96
|
+
console.log('');
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
// Remove exchange config
|
|
100
|
+
exchangeCmd
|
|
101
|
+
.command('remove <name>')
|
|
102
|
+
.description('Remove an exchange configuration')
|
|
103
|
+
.action(async (name) => {
|
|
104
|
+
const vault = (0, vault_1.getVault)();
|
|
105
|
+
if (!vault.isUnlocked()) {
|
|
106
|
+
console.error('Vault is locked. Run `123456btc-cli vault unlock` first.');
|
|
107
|
+
process.exit(1);
|
|
108
|
+
}
|
|
109
|
+
const ok = await vault.remove(name);
|
|
110
|
+
if (ok) {
|
|
111
|
+
console.log(`✓ Configuration "${name}" removed.`);
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
console.error(`Configuration "${name}" not found.`);
|
|
115
|
+
process.exit(1);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
// Test exchange connection
|
|
119
|
+
exchangeCmd
|
|
120
|
+
.command('test <name>')
|
|
121
|
+
.description('Test exchange API connection (fetch account balance)')
|
|
122
|
+
.action(async (name) => {
|
|
123
|
+
const vault = (0, vault_1.getVault)();
|
|
124
|
+
if (!vault.isUnlocked()) {
|
|
125
|
+
console.error('Vault is locked. Run `123456btc-cli vault unlock` first.');
|
|
126
|
+
process.exit(1);
|
|
127
|
+
}
|
|
128
|
+
const entry = vault.get(name);
|
|
129
|
+
if (!entry) {
|
|
130
|
+
console.error(`Configuration "${name}" not found.`);
|
|
131
|
+
process.exit(1);
|
|
132
|
+
}
|
|
133
|
+
const platform = entry.data.platform;
|
|
134
|
+
console.log(`Testing connection to ${platform}...`);
|
|
135
|
+
console.log('⚠️ Exchange API test coming in next release.');
|
|
136
|
+
console.log(` Config: ${name} (${platform})`);
|
|
137
|
+
console.log(` Testnet: ${entry.data.testnet === 'true' ? 'Yes' : 'No'}`);
|
|
138
|
+
});
|
|
139
|
+
program.addCommand(exchangeCmd);
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=exchange.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exchange.js","sourceRoot":"","sources":["../../src/commands/exchange.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gas.d.ts","sourceRoot":"","sources":["../../src/commands/gas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"gas.d.ts","sourceRoot":"","sources":["../../src/commands/gas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,QA6GhD"}
|
package/dist/commands/gas.js
CHANGED
|
@@ -3,14 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createGasCommand = createGasCommand;
|
|
4
4
|
const commander_1 = require("commander");
|
|
5
5
|
const client_1 = require("../api/client");
|
|
6
|
+
const store_1 = require("../session/store");
|
|
6
7
|
const gas_1 = require("../api/gas");
|
|
7
8
|
const auth_1 = require("../utils/auth");
|
|
8
9
|
function createGasCommand(program) {
|
|
9
10
|
const gasCmd = new commander_1.Command('gas');
|
|
10
11
|
// Helper to get authenticated client
|
|
11
12
|
function getClient() {
|
|
12
|
-
|
|
13
|
-
return new client_1.ApiClient(
|
|
13
|
+
(0, auth_1.checkAuth)();
|
|
14
|
+
return new client_1.ApiClient(new store_1.SessionStore());
|
|
14
15
|
}
|
|
15
16
|
// Balance
|
|
16
17
|
gasCmd
|
package/dist/commands/gas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gas.js","sourceRoot":"","sources":["../../src/commands/gas.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"gas.js","sourceRoot":"","sources":["../../src/commands/gas.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,QAuEnD"}
|
package/dist/commands/health.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createHealthCommand = createHealthCommand;
|
|
4
4
|
const commander_1 = require("commander");
|
|
5
5
|
const client_1 = require("../api/client");
|
|
6
|
+
const store_1 = require("../session/store");
|
|
6
7
|
const auth_1 = require("../api/auth");
|
|
7
8
|
const solana_1 = require("../providers/solana");
|
|
8
9
|
const auth_2 = require("../utils/auth");
|
|
@@ -10,8 +11,8 @@ function createHealthCommand(program) {
|
|
|
10
11
|
const healthCmd = new commander_1.Command('health');
|
|
11
12
|
// Helper to get authenticated client
|
|
12
13
|
function getClient() {
|
|
13
|
-
|
|
14
|
-
return new client_1.ApiClient(
|
|
14
|
+
(0, auth_2.checkAuth)();
|
|
15
|
+
return new client_1.ApiClient(new store_1.SessionStore());
|
|
15
16
|
}
|
|
16
17
|
healthCmd
|
|
17
18
|
.description('Check connection status for API and Solana')
|
|
@@ -23,10 +24,11 @@ function createHealthCommand(program) {
|
|
|
23
24
|
const client = getClient();
|
|
24
25
|
const authApi = new auth_1.AuthApi(client);
|
|
25
26
|
const apiResponse = await authApi.verifyKey();
|
|
27
|
+
const creds = (0, auth_2.checkAuth)();
|
|
26
28
|
if (apiResponse.success) {
|
|
27
29
|
console.log(' ✓ API Connection: OK');
|
|
28
30
|
console.log(` ✓ API Key: Valid`);
|
|
29
|
-
console.log(` Base URL: ${
|
|
31
|
+
console.log(` Base URL: ${creds?.baseUrl}`);
|
|
30
32
|
}
|
|
31
33
|
else {
|
|
32
34
|
console.log(' ✗ API Connection: FAILED');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/commands/health.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/commands/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/commands/provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,QA0XrD"}
|