Feature/okx trading (#1177)

* feat: add OKX exchange trading support
- Add OKX trader client with full trading API integration
- Support API Key, Secret Key, and Passphrase authentication
- Add OKX icon and frontend configuration modal
- Update exchange store and types for OKX fields
* fix: add passphrase column migration and fix exchange type mapping
* fix: show OKX input fields in exchange config modal
* fix: ensure all supported exchanges exist for user when listing
* fix: simplify exchange type check condition for OKX
* debug: add visible debug info for exchange id
* fix: remove debug info from exchange config modal
* fix: add OKX to exchange type condition in AITradersPage
* feat: complete OKX trading support and fix exchange config issues
- Add LIGHTER exchange UI support in AITradersPage
- Add passphrase field to UpdateExchangeConfigRequest type
- Fix OKX HTTP client to bypass proxy (disable system proxy)
- Auto-fetch initial balance from exchange when not set
- Support multiple balance field names for different exchanges
- Add detailed error messages when trader fails to load
- Add lighter_api_key_private_key field to exchange store
This commit is contained in:
tinkle-community
2025-12-06 18:04:59 +08:00
committed by GitHub
parent 5d1d0b6842
commit 1e5ece947c
11 changed files with 1489 additions and 68 deletions

View File

@@ -445,6 +445,7 @@ export function useTraderActions({
...e,
apiKey: '',
secretKey: '',
passphrase: '', // OKX专用
hyperliquidWalletAddr: '',
asterUser: '',
asterSigner: '',
@@ -459,6 +460,7 @@ export function useTraderActions({
enabled: exchange.enabled,
api_key: exchange.apiKey || '',
secret_key: exchange.secretKey || '',
passphrase: exchange.passphrase || '', // OKX专用
testnet: exchange.testnet || false,
hyperliquid_wallet_addr: exchange.hyperliquidWalletAddr || '',
aster_user: exchange.asterUser || '',
@@ -486,6 +488,7 @@ export function useTraderActions({
exchangeId: string,
apiKey: string,
secretKey?: string,
passphrase?: string, // OKX专用
testnet?: boolean,
hyperliquidWalletAddr?: string,
asterUser?: string,
@@ -518,6 +521,7 @@ export function useTraderActions({
...e,
apiKey,
secretKey,
passphrase, // OKX专用
testnet,
hyperliquidWalletAddr,
asterUser,
@@ -536,6 +540,7 @@ export function useTraderActions({
...exchangeToUpdate,
apiKey,
secretKey,
passphrase, // OKX专用
testnet,
hyperliquidWalletAddr,
asterUser,
@@ -557,6 +562,7 @@ export function useTraderActions({
enabled: exchange.enabled,
api_key: exchange.apiKey || '',
secret_key: exchange.secretKey || '',
passphrase: exchange.passphrase || '', // OKX专用
testnet: exchange.testnet || false,
hyperliquid_wallet_addr: exchange.hyperliquidWalletAddr || '',
aster_user: exchange.asterUser || '',