@imbingox/acex 0.3.0-beta.2 → 0.3.0-beta.4
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 +21 -1
- package/docs/api.md +1464 -0
- package/package.json +4 -3
- package/src/adapters/binance/adapter.ts +10 -1
- package/src/adapters/binance/private-adapter.ts +111 -3
- package/src/adapters/juplend/private-adapter.ts +35 -1
- package/src/adapters/types.ts +13 -0
- package/src/client/context.ts +1 -0
- package/src/client/private-subscription-coordinator.ts +173 -0
- package/src/client/runtime.ts +23 -1
- package/src/client/venue-capabilities.ts +109 -0
- package/src/managers/account-manager.ts +23 -10
- package/src/types/account.ts +1 -0
- package/src/types/client.ts +71 -0
- package/src/types/shared.ts +3 -0
package/README.md
CHANGED
|
@@ -60,11 +60,14 @@ await client.stop();
|
|
|
60
60
|
|
|
61
61
|
### 同一个 client 同时使用 Binance + Juplend
|
|
62
62
|
|
|
63
|
-
`createClient({ account: { juplend: { pollIntervalMs } } })`
|
|
63
|
+
`createClient({ account: { binance: { riskPollIntervalMs }, juplend: { pollIntervalMs } } })` 只是分别配置 Binance 风险/仓位校准间隔和 Juplend 账户 polling 间隔,不代表这个 client 只能注册某个 venue。一个 `AcexClient` 可以同时注册 Binance 交易账户和 Juplend 借贷只读账户,用同一个 `AccountManager` 对比风险值。
|
|
64
64
|
|
|
65
65
|
```ts
|
|
66
66
|
const client = createClient({
|
|
67
67
|
account: {
|
|
68
|
+
binance: {
|
|
69
|
+
riskPollIntervalMs: 5_000,
|
|
70
|
+
},
|
|
68
71
|
juplend: {
|
|
69
72
|
pollIntervalMs: 30_000,
|
|
70
73
|
},
|
|
@@ -114,12 +117,29 @@ await client.stop();
|
|
|
114
117
|
|
|
115
118
|
Juplend 使用 Jupiter Portfolio API 读取 Solana 钱包的借贷仓位,不需要私钥,也不支持 supply / borrow / repay / withdraw 等写操作。`accountId` 是你自定义的 SDK 账户名;Solana 钱包地址放在 `options.walletAddress`。如果只想观察某个 Juplend NFT position,可传 `options.positionId`。
|
|
116
119
|
|
|
120
|
+
### 查询 venue 能力
|
|
121
|
+
|
|
122
|
+
`getVenueCapabilities()` 查询的是当前 SDK runtime 已实现能力,不是交易所官网完整能力,也不会检查 API key 是否有交易权限:
|
|
123
|
+
|
|
124
|
+
```ts
|
|
125
|
+
const binance = client.getVenueCapabilities("binance");
|
|
126
|
+
console.log(binance.order.supported); // true
|
|
127
|
+
console.log(binance.market.fundingRate); // "market_dependent"
|
|
128
|
+
|
|
129
|
+
const juplend = client.getVenueCapabilities("juplend");
|
|
130
|
+
console.log(juplend.readOnly); // true
|
|
131
|
+
console.log(juplend.order.reason); // "read_only"
|
|
132
|
+
|
|
133
|
+
const capabilities = client.listVenueCapabilities();
|
|
134
|
+
```
|
|
135
|
+
|
|
117
136
|
价格、数量等输出字段统一是 `BigNumber`;`createOrder()` 的 `price` / `amount` 输入仍接受 decimal string。详见手册 [§3 核心概念](./docs/api.md#3-核心概念)。
|
|
118
137
|
|
|
119
138
|
## 核心能力
|
|
120
139
|
|
|
121
140
|
| 能力 | 概述 | 详细文档 |
|
|
122
141
|
|---|---|---|
|
|
142
|
+
| **Capabilities** | `getVenueCapabilities` / `listVenueCapabilities` 查询 SDK 当前 runtime 支持能力 | [docs/api.md §4](./docs/api.md#43-venue-capabilities) |
|
|
123
143
|
| **Market** | Market catalog、L1 Book / Funding Rate 订阅、增量事件、订阅状态与自动重连 | [docs/api.md §5](./docs/api.md#5-marketmanager) |
|
|
124
144
|
| **Account** | 账户快照、余额、持仓、风险投影与事件流 | [docs/api.md §6](./docs/api.md#6-accountmanager) |
|
|
125
145
|
| **Order** | open orders 投影、订单事件流,`createOrder` / `cancelOrder` / `cancelAllOrders` 第一版命令 | [docs/api.md §7](./docs/api.md#7-ordermanager) |
|