### 统一适配器接口（ExchangeAdapter）规范

— 目标 —

- 统一 Binance/Aster/Pacifica 等接入层接口，隐藏签名、路径与字段差异，支持多账户并行。

— 接口（TypeScript） —

```
name(): string
time(): Promise<number>
symbols(): Promise<string[]>
balances(): Promise<{ asset: string; total: string; free: string }[]>
positions(): Promise<{ symbol: string; side: 'LONG'|'SHORT'; qty: string; entryPrice: string; unrealizedPnl: string; leverage?: number }[]>
placeOrder(req): Promise<Order>
cancelOrder(symbol: string, orderId: string): Promise<void>
cancelAll(symbol: string): Promise<void>
getOrder(symbol: string, orderId: string): Promise<Order>
openOrders(symbol: string): Promise<Order[]>
leverage?(symbol: string, lev: number): Promise<void>
depth(symbol: string, limit?: number): Promise<{ bids: {price:string;qty:string}[]; asks: {price:string;qty:string}[]; ts: number }>
ws(): EventEmitter
```

— 统一约定 —

- 符号：Pacifica 使用基础符号（如 `BTC`），Aster 使用 `BTCUSDT`；适配器内部规范化。
- 返回值：数量/价格以字符串表示，避免精度丢失；时间戳为毫秒。
- 错误：网络 429/5xx 由底层客户端做指数退避；业务错误向上抛出，策略层决定回退。

— 事件 —

- 推荐事件：`depth`、`orders`、`trades`、`balance`、`account_info`、`account_positions`、`ws_error`、`ws_close`。
- 多账户聚合：由 `AccountManager` 在事件上附加 `{ exchange, accountId }` 标签。


