mirror of
https://github.com/NoFxAiOS/nofx.git
synced 2026-07-17 01:14:40 +08:00
feat: Add Aster DEX exchange support + fix precision issues
## Features - Add full Aster DEX integration with Binance-compatible API - Support Web3 authentication with API wallet system - Add comprehensive Aster integration guide (ASTER_INTEGRATION.md) - Add example Aster configuration (config.aster.example.json) ## Bug Fixes - Fix precision error (code -1111) for all order types - Implement proper float-to-string conversion with exchange precision - Add automatic precision fetching from /exchangeInfo endpoint - Remove trailing zeros from formatted values ## Documentation - Update README.md with Aster quick start guide - Add detailed setup instructions for creating API wallet - Include troubleshooting FAQ and security best practices - Update core features to mention three supported exchanges ## Technical Details - Added formatFloatWithPrecision() helper function - Updated all order functions to use proper precision formatting - Added precision logging for debugging - Fully backward compatible with existing configurations Closes #[issue number if applicable]
This commit is contained in:
@@ -21,7 +21,7 @@ type AutoTraderConfig struct {
|
||||
AIModel string // AI模型: "qwen" 或 "deepseek"
|
||||
|
||||
// 交易平台选择
|
||||
Exchange string // "binance" 或 "hyperliquid"
|
||||
Exchange string // "binance", "hyperliquid" 或 "aster"
|
||||
|
||||
// 币安API配置
|
||||
BinanceAPIKey string
|
||||
@@ -31,6 +31,11 @@ type AutoTraderConfig struct {
|
||||
HyperliquidPrivateKey string
|
||||
HyperliquidTestnet bool
|
||||
|
||||
// Aster配置
|
||||
AsterUser string // Aster主钱包地址
|
||||
AsterSigner string // Aster API钱包地址
|
||||
AsterPrivateKey string // Aster API钱包私钥
|
||||
|
||||
CoinPoolAPIURL string
|
||||
|
||||
// AI配置
|
||||
@@ -134,6 +139,12 @@ func NewAutoTrader(config AutoTraderConfig) (*AutoTrader, error) {
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("初始化Hyperliquid交易器失败: %w", err)
|
||||
}
|
||||
case "aster":
|
||||
log.Printf("🏦 [%s] 使用Aster交易", config.Name)
|
||||
trader, err = NewAsterTrader(config.AsterUser, config.AsterSigner, config.AsterPrivateKey)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("初始化Aster交易器失败: %w", err)
|
||||
}
|
||||
default:
|
||||
return nil, fmt.Errorf("不支持的交易平台: %s", config.Exchange)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user