xtraderClient/docs/api/market.md
2026-03-02 11:47:34 +08:00

64 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# market.ts
**路径**`src/api/market.ts`
## 功能用途
交易与市场相关接口下单、取消订单、SplitUSDC 换 Yes+No、MergeYes+No 换 USDC。对接 CLOB Gateway 与 PmMarket 接口。`ApiResponse` 来自 `@/api/types`
## 核心能力
- `pmOrderPlace`:下单(买入/卖出 Yes 或 No
- `pmCancelOrder`:取消订单
- `pmMarketSplit`:用 USDC 兑换 Yes+No 份额
- `pmMarketMerge`:合并 Yes+No 份额得到 USDC
## 类型说明
| 类型 | 说明 |
|------|------|
| `ClobSubmitOrderRequest` | 下单请求体,含 tokenID、price、size、side 等 |
| `ClobCancelOrderRequest` | 取消订单请求体 |
| `PmMarketSplitRequest` | Split 请求体marketID、usdcAmount |
| `PmMarketMergeRequest` | Merge 请求体marketID、amount |
## 使用方式
```typescript
import {
pmOrderPlace,
pmCancelOrder,
pmMarketSplit,
pmMarketMerge,
} from '@/api/market'
import { useUserStore } from '@/stores/user'
const userStore = useUserStore()
const headers = userStore.getAuthHeaders()
if (!headers) return
// 下单
await pmOrderPlace(
{
tokenID: clobTokenId,
price: 3700, // 37¢ = 3700
size: 100,
side: Side.Buy,
// ... 其他字段
},
{ headers }
)
// Split
await pmMarketSplit({ marketID: '123', usdcAmount: '10' }, { headers })
// Merge
await pmMarketMerge({ marketID: '123', amount: '5' }, { headers })
```
## 扩展方式
1. **批量下单**:封装 `pmOrderPlace` 循环或对接批量接口
2. **订单状态查询**:新增 `getOpenOrders``getOrderHistory` 等接口
3. **价格/数量校验**:在调用前增加业务校验逻辑