@0xmonaco/types 0.7.6 → 0.7.7
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/package.json +2 -2
- package/dist/api/index.d.ts +0 -18
- package/dist/api/index.js +0 -6
- package/dist/applications/index.d.ts +0 -23
- package/dist/applications/index.js +0 -5
- package/dist/applications/responses.d.ts +0 -22
- package/dist/applications/responses.js +0 -5
- package/dist/auth/index.d.ts +0 -81
- package/dist/auth/index.js +0 -6
- package/dist/auth/responses.d.ts +0 -67
- package/dist/auth/responses.js +0 -5
- package/dist/contracts/balances.d.ts +0 -43
- package/dist/contracts/balances.js +0 -5
- package/dist/contracts/index.d.ts +0 -27
- package/dist/contracts/index.js +0 -5
- package/dist/fees/index.d.ts +0 -39
- package/dist/fees/index.js +0 -6
- package/dist/fees/responses.d.ts +0 -54
- package/dist/fees/responses.js +0 -86
- package/dist/index.d.ts +0 -20
- package/dist/index.js +0 -21
- package/dist/margin-accounts/index.d.ts +0 -110
- package/dist/margin-accounts/index.js +0 -0
- package/dist/market/index.d.ts +0 -312
- package/dist/market/index.js +0 -5
- package/dist/positions/index.d.ts +0 -128
- package/dist/positions/index.js +0 -0
- package/dist/profile/index.d.ts +0 -405
- package/dist/profile/index.js +0 -5
- package/dist/sdk/index.d.ts +0 -131
- package/dist/sdk/index.js +0 -0
- package/dist/sdk/network.d.ts +0 -25
- package/dist/sdk/network.js +0 -5
- package/dist/trading/index.d.ts +0 -132
- package/dist/trading/index.js +0 -6
- package/dist/trading/orders.d.ts +0 -137
- package/dist/trading/orders.js +0 -9
- package/dist/trading/responses.d.ts +0 -347
- package/dist/trading/responses.js +0 -5
- package/dist/validation/common.d.ts +0 -179
- package/dist/validation/common.js +0 -199
- package/dist/validation/index.d.ts +0 -22
- package/dist/validation/index.js +0 -24
- package/dist/validation/margin-accounts.d.ts +0 -55
- package/dist/validation/margin-accounts.js +0 -59
- package/dist/validation/market.d.ts +0 -214
- package/dist/validation/market.js +0 -225
- package/dist/validation/positions.d.ts +0 -89
- package/dist/validation/positions.js +0 -93
- package/dist/validation/profile.d.ts +0 -69
- package/dist/validation/profile.js +0 -44
- package/dist/validation/trading.d.ts +0 -350
- package/dist/validation/trading.js +0 -313
- package/dist/validation/vault.d.ts +0 -66
- package/dist/validation/vault.js +0 -79
- package/dist/vault/index.d.ts +0 -84
- package/dist/vault/index.js +0 -5
- package/dist/vault/responses.d.ts +0 -51
- package/dist/vault/responses.js +0 -5
- package/dist/websocket/base.d.ts +0 -31
- package/dist/websocket/base.js +0 -5
- package/dist/websocket/clients/orderbook-client.d.ts +0 -14
- package/dist/websocket/clients/orderbook-client.js +0 -3
- package/dist/websocket/events/balance-events.d.ts +0 -48
- package/dist/websocket/events/balance-events.js +0 -6
- package/dist/websocket/events/conditional-order-events.d.ts +0 -33
- package/dist/websocket/events/conditional-order-events.js +0 -0
- package/dist/websocket/events/index.d.ts +0 -7
- package/dist/websocket/events/index.js +0 -7
- package/dist/websocket/events/movement-events.d.ts +0 -64
- package/dist/websocket/events/movement-events.js +0 -6
- package/dist/websocket/events/ohlcv-events.d.ts +0 -31
- package/dist/websocket/events/ohlcv-events.js +0 -5
- package/dist/websocket/events/orderbook-events.d.ts +0 -72
- package/dist/websocket/events/orderbook-events.js +0 -5
- package/dist/websocket/events/orders-events.d.ts +0 -284
- package/dist/websocket/events/orders-events.js +0 -0
- package/dist/websocket/events/trade-events.d.ts +0 -34
- package/dist/websocket/events/trade-events.js +0 -5
- package/dist/websocket/index.d.ts +0 -8
- package/dist/websocket/index.js +0 -8
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* User Balance WebSocket Event Types
|
|
3
|
-
*
|
|
4
|
-
* Types for real-time user balance update events.
|
|
5
|
-
* This is an authenticated channel - requires JWT token.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Reason for the balance update
|
|
9
|
-
*/
|
|
10
|
-
export type BalanceUpdateReason = "lock" | "unlock" | "deposit" | "withdrawal" | "trade" | "margin_transfer_in" | "margin_transfer_out";
|
|
11
|
-
/**
|
|
12
|
-
* User balance event data containing current balance state
|
|
13
|
-
*/
|
|
14
|
-
export interface UserBalanceEventData {
|
|
15
|
-
/** Token contract address */
|
|
16
|
-
tokenAddress: string;
|
|
17
|
-
/** Token symbol */
|
|
18
|
-
tokenSymbol: string | null;
|
|
19
|
-
/** Available balance for trading (normalized) */
|
|
20
|
-
available: string;
|
|
21
|
-
/** Available balance in raw format (wei) */
|
|
22
|
-
availableRaw: string;
|
|
23
|
-
/** Locked balance (in orders or pending operations, normalized) */
|
|
24
|
-
locked: string;
|
|
25
|
-
/** Locked balance in raw format (wei) */
|
|
26
|
-
lockedRaw: string;
|
|
27
|
-
/** Total balance (available + locked + margin collateral, normalized) */
|
|
28
|
-
total: string;
|
|
29
|
-
/** Total balance in raw format (wei) */
|
|
30
|
-
totalRaw: string;
|
|
31
|
-
/** Reason for the balance update */
|
|
32
|
-
reason: BalanceUpdateReason;
|
|
33
|
-
/** Reference ID for related entity (e.g., order ID, deposit ID) */
|
|
34
|
-
referenceId: string | null;
|
|
35
|
-
/** Timestamp when the balance was updated (ISO 8601) */
|
|
36
|
-
updatedAt: string;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* User balance event emitted when a user's balance changes
|
|
40
|
-
*/
|
|
41
|
-
export interface UserBalanceEvent {
|
|
42
|
-
/** Event type identifier */
|
|
43
|
-
eventType: "balance_update";
|
|
44
|
-
/** User ID (UUID) */
|
|
45
|
-
userId: string;
|
|
46
|
-
/** Balance data */
|
|
47
|
-
data: UserBalanceEventData;
|
|
48
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import type { ConditionalOrderConditionType, ConditionalOrderState, ConditionalOrderTriggerSource, OrderSide, OrderType, PositionSide, TimeInForce } from "../../trading";
|
|
2
|
-
export type ConditionalOrderEventReason = "created" | "cancelled" | "triggered" | "failed" | "oco_cancelled";
|
|
3
|
-
export interface ConditionalOrderEventData {
|
|
4
|
-
conditionalOrderId: string;
|
|
5
|
-
tradingPairId: string;
|
|
6
|
-
marginAccountId: string;
|
|
7
|
-
positionId?: string;
|
|
8
|
-
linkedGroupId?: string;
|
|
9
|
-
conditionType: ConditionalOrderConditionType;
|
|
10
|
-
triggerSource: ConditionalOrderTriggerSource;
|
|
11
|
-
triggerPrice: string;
|
|
12
|
-
side: OrderSide;
|
|
13
|
-
positionSide: PositionSide;
|
|
14
|
-
orderType: OrderType;
|
|
15
|
-
limitPrice?: string;
|
|
16
|
-
quantity?: string;
|
|
17
|
-
slippageToleranceBps?: number;
|
|
18
|
-
reduceOnly: boolean;
|
|
19
|
-
timeInForce?: Extract<TimeInForce, "GTC" | "IOC">;
|
|
20
|
-
state: ConditionalOrderState;
|
|
21
|
-
triggeredOrderId?: string;
|
|
22
|
-
triggeredAt?: string;
|
|
23
|
-
cancelledAt?: string;
|
|
24
|
-
expiresAt?: string;
|
|
25
|
-
failureReason?: string;
|
|
26
|
-
reason: ConditionalOrderEventReason;
|
|
27
|
-
updatedAt: string;
|
|
28
|
-
}
|
|
29
|
-
export interface ConditionalOrderEvent {
|
|
30
|
-
eventType: "conditional_order_update";
|
|
31
|
-
userId: string;
|
|
32
|
-
data: ConditionalOrderEventData;
|
|
33
|
-
}
|
|
File without changes
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* User Movement WebSocket Event Types
|
|
3
|
-
*
|
|
4
|
-
* Types for real-time user ledger movement events (deposits, withdrawals, transfers).
|
|
5
|
-
* This is an authenticated channel - requires JWT token.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* User movement event data containing ledger entry details
|
|
9
|
-
*/
|
|
10
|
-
export interface UserMovementEventData {
|
|
11
|
-
/** Unique movement identifier (UUID) */
|
|
12
|
-
id: string;
|
|
13
|
-
/** Entry type (e.g., "credit", "debit") */
|
|
14
|
-
entryType: string;
|
|
15
|
-
/** Transaction type (e.g., "deposit", "withdrawal", "trade") */
|
|
16
|
-
transactionType: string;
|
|
17
|
-
/** Token contract address */
|
|
18
|
-
tokenAddress: string;
|
|
19
|
-
/** Token symbol */
|
|
20
|
-
symbol?: string;
|
|
21
|
-
/** Token decimals */
|
|
22
|
-
decimals: number;
|
|
23
|
-
/** Movement amount (decimal string, normalized) */
|
|
24
|
-
amount: string;
|
|
25
|
-
/** Raw amount (integer string, no decimals) */
|
|
26
|
-
amountRaw?: string;
|
|
27
|
-
/** Balance before this movement (normalized) */
|
|
28
|
-
balanceBefore?: string;
|
|
29
|
-
/** Balance before in raw format (wei) */
|
|
30
|
-
balanceBeforeRaw?: string;
|
|
31
|
-
/** Balance after this movement (normalized) */
|
|
32
|
-
balanceAfter?: string;
|
|
33
|
-
/** Balance after in raw format (wei) */
|
|
34
|
-
balanceAfterRaw?: string;
|
|
35
|
-
/** Locked balance before this movement (normalized) */
|
|
36
|
-
lockedBefore?: string;
|
|
37
|
-
/** Locked balance before in raw format (wei) */
|
|
38
|
-
lockedBeforeRaw?: string;
|
|
39
|
-
/** Locked balance after this movement (normalized) */
|
|
40
|
-
lockedAfter?: string;
|
|
41
|
-
/** Locked balance after in raw format (wei) */
|
|
42
|
-
lockedAfterRaw?: string;
|
|
43
|
-
/** Reference ID for related entity (UUID) */
|
|
44
|
-
referenceId?: string;
|
|
45
|
-
/** Reference type (e.g., "order", "deposit") */
|
|
46
|
-
referenceType?: string;
|
|
47
|
-
/** Human-readable description */
|
|
48
|
-
description?: string;
|
|
49
|
-
/** Transaction hash (if applicable) */
|
|
50
|
-
txHash?: string;
|
|
51
|
-
/** Timestamp when the movement was created (ISO 8601) */
|
|
52
|
-
createdAt?: string;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* User movement event emitted when a user's ledger entry changes
|
|
56
|
-
*/
|
|
57
|
-
export interface UserMovementEvent {
|
|
58
|
-
/** Event type identifier */
|
|
59
|
-
eventType: "movement";
|
|
60
|
-
/** User ID (UUID) */
|
|
61
|
-
userId: string;
|
|
62
|
-
/** Movement data */
|
|
63
|
-
data: UserMovementEventData;
|
|
64
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* OHLCV WebSocket Event Types
|
|
3
|
-
*
|
|
4
|
-
* Types for OHLCV (Open, High, Low, Close, Volume) candlestick data events.
|
|
5
|
-
*/
|
|
6
|
-
import type { Candlestick, Interval } from "../../market";
|
|
7
|
-
import type { TradingMode } from "../../trading";
|
|
8
|
-
/**
|
|
9
|
-
* OHLCV update event
|
|
10
|
-
*/
|
|
11
|
-
export interface OHLCVEvent {
|
|
12
|
-
/** Trading pair ID (UUID) */
|
|
13
|
-
tradingPairId: string;
|
|
14
|
-
/** Candlestick interval */
|
|
15
|
-
interval: Interval;
|
|
16
|
-
/** Trading mode */
|
|
17
|
-
tradingMode: TradingMode;
|
|
18
|
-
/** OHLCV candlestick data */
|
|
19
|
-
candlestick: Candlestick;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* OHLCV subscription configuration
|
|
23
|
-
*/
|
|
24
|
-
export interface OHLCVSubscriptionConfig {
|
|
25
|
-
/** Trading pair ID (UUID) */
|
|
26
|
-
tradingPairId: string;
|
|
27
|
-
/** Trading mode */
|
|
28
|
-
tradingMode: TradingMode;
|
|
29
|
-
/** Candlestick interval */
|
|
30
|
-
interval: Interval;
|
|
31
|
-
}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Orderbook WebSocket Events
|
|
3
|
-
*
|
|
4
|
-
* Defines the structure for orderbook-related WebSocket events.
|
|
5
|
-
*/
|
|
6
|
-
import type { OrderSide, TradingMode } from "../../trading";
|
|
7
|
-
import type { RawEventMessage } from "../base";
|
|
8
|
-
/**
|
|
9
|
-
* Raw event message interface
|
|
10
|
-
* This is the raw message received from the backend
|
|
11
|
-
*/
|
|
12
|
-
export type RawOrderbookEventMessage = RawEventMessage & {
|
|
13
|
-
/** Event data */
|
|
14
|
-
data: unknown;
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* Orderbook price level
|
|
18
|
-
*/
|
|
19
|
-
export interface OrderbookLevel {
|
|
20
|
-
/** Price level */
|
|
21
|
-
price: string;
|
|
22
|
-
/** Total quantity at this price level */
|
|
23
|
-
quantity: string;
|
|
24
|
-
/** Number of orders at this price level */
|
|
25
|
-
orderCount: number;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Price change information
|
|
29
|
-
*/
|
|
30
|
-
export interface PriceChange {
|
|
31
|
-
/** Order side (BUY or SELL) */
|
|
32
|
-
side: OrderSide;
|
|
33
|
-
/** Old price before the change */
|
|
34
|
-
oldPrice?: string;
|
|
35
|
-
/** New price after the change */
|
|
36
|
-
newPrice?: string;
|
|
37
|
-
/** Whether a price level was removed */
|
|
38
|
-
levelRemoved: boolean;
|
|
39
|
-
/** Whether a price level was added */
|
|
40
|
-
levelAdded: boolean;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Orderbook update event
|
|
44
|
-
*/
|
|
45
|
-
export interface OrderbookEvent {
|
|
46
|
-
/** Trading pair ID (UUID) */
|
|
47
|
-
tradingPairId: string;
|
|
48
|
-
/** Trading mode (SPOT, MARGIN) */
|
|
49
|
-
tradingMode: TradingMode;
|
|
50
|
-
/** Bid orders (buy orders) - Full depth */
|
|
51
|
-
bids: OrderbookLevel[];
|
|
52
|
-
/** Ask orders (sell orders) - Full depth */
|
|
53
|
-
asks: OrderbookLevel[];
|
|
54
|
-
/** Best bid price */
|
|
55
|
-
bestBid?: string;
|
|
56
|
-
/** Best ask price */
|
|
57
|
-
bestAsk?: string;
|
|
58
|
-
/** Total bid volume */
|
|
59
|
-
bidVolume?: string;
|
|
60
|
-
/** Total ask volume */
|
|
61
|
-
askVolume?: string;
|
|
62
|
-
/** Price change information */
|
|
63
|
-
priceChange?: PriceChange;
|
|
64
|
-
/** Base token decimals */
|
|
65
|
-
baseDecimals: number;
|
|
66
|
-
/** Quote token decimals */
|
|
67
|
-
quoteDecimals: number;
|
|
68
|
-
/** Event timestamp */
|
|
69
|
-
timestamp: string;
|
|
70
|
-
/** Sequence number for ordering */
|
|
71
|
-
sequence: number;
|
|
72
|
-
}
|
|
@@ -1,284 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Order WebSocket Event Types
|
|
3
|
-
*
|
|
4
|
-
* TypeScript types for order websocket events matching the Rust backend definitions.
|
|
5
|
-
* Each event type has specific data fields based on the event context.
|
|
6
|
-
*/
|
|
7
|
-
import type { OrderRole, OrderSide, OrderStatus, OrderType, TimeInForce, TradingMode } from "../../trading";
|
|
8
|
-
import type { RawEventMessage } from "../base";
|
|
9
|
-
/**
|
|
10
|
-
* Order event types
|
|
11
|
-
*/
|
|
12
|
-
export type OrderEventType = "OrderPlaced" | "OrderMatched" | "OrderPartiallyFilled" | "OrderFilled" | "OrderCancelled" | "OrderRejected" | "OrderExpired";
|
|
13
|
-
/**
|
|
14
|
-
* Base order event structure
|
|
15
|
-
* All order events share these common fields
|
|
16
|
-
*/
|
|
17
|
-
export interface OrderEvent {
|
|
18
|
-
/** Order ID (UUID) */
|
|
19
|
-
orderId: string;
|
|
20
|
-
/** Event type */
|
|
21
|
-
eventType: OrderEventType;
|
|
22
|
-
/** ISO 8601 timestamp */
|
|
23
|
-
timestamp: string;
|
|
24
|
-
/** Event-specific data */
|
|
25
|
-
data: OrderEventData;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Common fields shared across most order events
|
|
29
|
-
* Note: orderId is duplicated (exists in both OrderEvent and data) to match backend structure
|
|
30
|
-
*/
|
|
31
|
-
export interface CommonOrderEventData {
|
|
32
|
-
/** Order ID (UUID) - duplicated from parent for backend compatibility */
|
|
33
|
-
orderId: string;
|
|
34
|
-
/** User ID (UUID) */
|
|
35
|
-
userId: string;
|
|
36
|
-
/** Trading pair ID (UUID) */
|
|
37
|
-
tradingPairId?: string;
|
|
38
|
-
/** Application ID (UUID) - present in several events */
|
|
39
|
-
applicationId?: string;
|
|
40
|
-
/** Trading pair symbol (e.g., "BTC/USDC") */
|
|
41
|
-
symbol: string;
|
|
42
|
-
/** Trading mode (e.g., "SPOT", "MARGIN") */
|
|
43
|
-
tradingMode: TradingMode;
|
|
44
|
-
/** Order type - present in most events */
|
|
45
|
-
orderType?: OrderType;
|
|
46
|
-
/** Order side - present in most events */
|
|
47
|
-
side?: OrderSide;
|
|
48
|
-
/** Order price - present in most events */
|
|
49
|
-
price?: string;
|
|
50
|
-
/** Order quantity - present in most events */
|
|
51
|
-
quantity?: string;
|
|
52
|
-
/** Time in force - present in most events */
|
|
53
|
-
timeInForce?: TimeInForce;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* OrderPlaced event - emitted when a new order is placed
|
|
57
|
-
*/
|
|
58
|
-
export interface OrderPlacedEvent extends OrderEvent {
|
|
59
|
-
eventType: "OrderPlaced";
|
|
60
|
-
data: CommonOrderEventData & {
|
|
61
|
-
/** Order status */
|
|
62
|
-
status: OrderStatus;
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* OrderMatched event - emitted when an order is matched but not necessarily filled
|
|
67
|
-
* This event is only emitted for taker orders
|
|
68
|
-
*/
|
|
69
|
-
export interface OrderMatchedEvent extends OrderEvent {
|
|
70
|
-
eventType: "OrderMatched";
|
|
71
|
-
data: CommonOrderEventData & {
|
|
72
|
-
/** Taker order ID */
|
|
73
|
-
takerOrderId?: string;
|
|
74
|
-
/** Reference price used for slippage calculation */
|
|
75
|
-
referencePrice?: string;
|
|
76
|
-
/** Best price achieved in matching */
|
|
77
|
-
bestPrice?: string;
|
|
78
|
-
/** Worst price achieved in matching */
|
|
79
|
-
worstPrice?: string;
|
|
80
|
-
/** Actual slippage in basis points */
|
|
81
|
-
actualSlippageBps?: number;
|
|
82
|
-
/** Maximum allowed slippage in basis points */
|
|
83
|
-
maxSlippageBps?: number;
|
|
84
|
-
/** Number of trades executed (taker only) */
|
|
85
|
-
tradesCount?: number;
|
|
86
|
-
/** Total quantity filled (taker only) */
|
|
87
|
-
totalFilled?: string;
|
|
88
|
-
/** Remaining quantity to be filled (taker only) */
|
|
89
|
-
remainingQuantity?: string;
|
|
90
|
-
/** Average fill price across all trades */
|
|
91
|
-
averageFillPrice?: string;
|
|
92
|
-
/** Order status */
|
|
93
|
-
status?: OrderStatus;
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* OrderPartiallyFilled event - emitted when an order is partially filled
|
|
98
|
-
* Can be emitted for both taker and maker orders with different field sets
|
|
99
|
-
*
|
|
100
|
-
* Taker events include: trades_count, total_filled, slippage data
|
|
101
|
-
* Maker events include: trade_id, execution_price, execution_quantity, maker_fee
|
|
102
|
-
*/
|
|
103
|
-
export interface OrderPartiallyFilledEvent extends OrderEvent {
|
|
104
|
-
eventType: "OrderPartiallyFilled";
|
|
105
|
-
data: CommonOrderEventData & {
|
|
106
|
-
/** Taker order ID (taker orders only) */
|
|
107
|
-
takerOrderId?: string;
|
|
108
|
-
/** Maker order ID (maker orders only) */
|
|
109
|
-
makerOrderId?: string;
|
|
110
|
-
/** Reference price (taker orders only) */
|
|
111
|
-
referencePrice?: string;
|
|
112
|
-
/** Best price (taker orders only) */
|
|
113
|
-
bestPrice?: string;
|
|
114
|
-
/** Worst price (taker orders only) */
|
|
115
|
-
worstPrice?: string;
|
|
116
|
-
/** Actual slippage in basis points (taker orders only) */
|
|
117
|
-
actualSlippageBps?: number;
|
|
118
|
-
/** Maximum slippage in basis points (taker orders only) */
|
|
119
|
-
maxSlippageBps?: number;
|
|
120
|
-
/** Number of trades (taker orders only - not present for maker) */
|
|
121
|
-
tradesCount?: number;
|
|
122
|
-
/** Total filled quantity (taker orders only - not present for maker) */
|
|
123
|
-
totalFilled?: string;
|
|
124
|
-
/** Remaining quantity (present for both taker and maker) */
|
|
125
|
-
remainingQuantity?: string;
|
|
126
|
-
/** Average fill price (taker orders only) */
|
|
127
|
-
averageFillPrice?: string;
|
|
128
|
-
/** Order status (taker orders only) */
|
|
129
|
-
status?: OrderStatus;
|
|
130
|
-
/** Trade ID (maker orders only) */
|
|
131
|
-
tradeId?: string;
|
|
132
|
-
/** Execution price (maker orders only) */
|
|
133
|
-
executionPrice?: string;
|
|
134
|
-
/** Execution quantity (maker orders only) */
|
|
135
|
-
executionQuantity?: string;
|
|
136
|
-
/** Maker fee (maker orders only) */
|
|
137
|
-
makerFee?: string;
|
|
138
|
-
/** Trade execution timestamp (maker orders only) */
|
|
139
|
-
executedAt?: string;
|
|
140
|
-
/** Role of the order in the trade (taker or maker) */
|
|
141
|
-
role?: OrderRole;
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* OrderFilled event - emitted when an order is completely filled
|
|
146
|
-
* Can be emitted for both taker and maker orders with different field sets
|
|
147
|
-
*
|
|
148
|
-
* Taker events include: trades_count, total_filled, slippage data
|
|
149
|
-
* Maker events include: trade_id, execution_price, execution_quantity, maker_fee
|
|
150
|
-
*/
|
|
151
|
-
export interface OrderFilledEvent extends OrderEvent {
|
|
152
|
-
eventType: "OrderFilled";
|
|
153
|
-
data: CommonOrderEventData & {
|
|
154
|
-
/** Taker order ID (taker orders only) */
|
|
155
|
-
takerOrderId?: string;
|
|
156
|
-
/** Maker order ID (maker orders only) */
|
|
157
|
-
makerOrderId?: string;
|
|
158
|
-
/** Reference price (taker orders only) */
|
|
159
|
-
referencePrice?: string;
|
|
160
|
-
/** Best price (taker orders only) */
|
|
161
|
-
bestPrice?: string;
|
|
162
|
-
/** Worst price (taker orders only) */
|
|
163
|
-
worstPrice?: string;
|
|
164
|
-
/** Actual slippage in basis points (taker orders only) */
|
|
165
|
-
actualSlippageBps?: number;
|
|
166
|
-
/** Maximum slippage in basis points (taker orders only) */
|
|
167
|
-
maxSlippageBps?: number;
|
|
168
|
-
/** Number of trades (taker orders only - not present for maker) */
|
|
169
|
-
tradesCount?: number;
|
|
170
|
-
/** Total filled quantity (taker orders only - not present for maker) */
|
|
171
|
-
totalFilled?: string;
|
|
172
|
-
/** Remaining quantity (present for both, should be 0 for filled orders) */
|
|
173
|
-
remainingQuantity?: string;
|
|
174
|
-
/** Average fill price (taker orders only) */
|
|
175
|
-
averageFillPrice?: string;
|
|
176
|
-
/** Order status (taker orders only) */
|
|
177
|
-
status?: OrderStatus;
|
|
178
|
-
/** Trade ID (maker orders only) */
|
|
179
|
-
tradeId?: string;
|
|
180
|
-
/** Execution price (maker orders only) */
|
|
181
|
-
executionPrice?: string;
|
|
182
|
-
/** Execution quantity (maker orders only) */
|
|
183
|
-
executionQuantity?: string;
|
|
184
|
-
/** Maker fee (maker orders only) */
|
|
185
|
-
makerFee?: string;
|
|
186
|
-
/** Trade execution timestamp (maker orders only) */
|
|
187
|
-
executedAt?: string;
|
|
188
|
-
/** Role of the order in the trade (taker or maker) */
|
|
189
|
-
role?: OrderRole;
|
|
190
|
-
};
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* OrderCancelled event - emitted when an order is canceled
|
|
194
|
-
*/
|
|
195
|
-
export interface OrderCancelledEvent extends OrderEvent {
|
|
196
|
-
eventType: "OrderCancelled";
|
|
197
|
-
data: CommonOrderEventData & {
|
|
198
|
-
/** Reason for cancellation */
|
|
199
|
-
reason?: string;
|
|
200
|
-
/** Total filled quantity before cancellation */
|
|
201
|
-
totalFilled?: string;
|
|
202
|
-
/** Remaining quantity when canceled */
|
|
203
|
-
remainingQuantity?: string;
|
|
204
|
-
/** Number of trades executed before cancellation */
|
|
205
|
-
tradesCount?: number;
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* OrderRejected event - emitted when an order is rejected
|
|
210
|
-
*/
|
|
211
|
-
export interface OrderRejectedEvent extends OrderEvent {
|
|
212
|
-
eventType: "OrderRejected";
|
|
213
|
-
data: CommonOrderEventData & {
|
|
214
|
-
/** Reason for rejection */
|
|
215
|
-
reason: string;
|
|
216
|
-
/** Order status */
|
|
217
|
-
status: OrderStatus;
|
|
218
|
-
/** Total filled quantity (may-be partially filled) */
|
|
219
|
-
totalFilled: string;
|
|
220
|
-
/** Remaining quantity that couldn't be filled */
|
|
221
|
-
remainingQuantity: string;
|
|
222
|
-
};
|
|
223
|
-
}
|
|
224
|
-
/**
|
|
225
|
-
* OrderExpired event - emitted when a GTC order expires
|
|
226
|
-
*/
|
|
227
|
-
export interface OrderExpiredEvent extends OrderEvent {
|
|
228
|
-
eventType: "OrderExpired";
|
|
229
|
-
data: CommonOrderEventData & {
|
|
230
|
-
/** Filled quantity before expiration */
|
|
231
|
-
filledQuantity?: string;
|
|
232
|
-
/** Remaining quantity at expiration */
|
|
233
|
-
remainingQuantity?: string;
|
|
234
|
-
/** Average fill price (if any fills occurred) */
|
|
235
|
-
averageFillPrice?: string;
|
|
236
|
-
/** Reason for expiration */
|
|
237
|
-
reason: string;
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* Union type of all possible order event data
|
|
242
|
-
*/
|
|
243
|
-
export type OrderEventData = OrderPlacedEvent["data"] | OrderMatchedEvent["data"] | OrderPartiallyFilledEvent["data"] | OrderFilledEvent["data"] | OrderCancelledEvent["data"] | OrderRejectedEvent["data"] | OrderExpiredEvent["data"];
|
|
244
|
-
/**
|
|
245
|
-
* Subscription configuration for order events
|
|
246
|
-
*/
|
|
247
|
-
export interface OrderSubscriptionConfig {
|
|
248
|
-
eventTypes: OrderEventType[];
|
|
249
|
-
}
|
|
250
|
-
/**
|
|
251
|
-
* Raw event message interface
|
|
252
|
-
* This is the raw message received from the backend
|
|
253
|
-
*/
|
|
254
|
-
export type RawOrderEventMessage = RawEventMessage & {
|
|
255
|
-
/** Event data */
|
|
256
|
-
data: BackendOrderEvent;
|
|
257
|
-
};
|
|
258
|
-
/**
|
|
259
|
-
* Backend order event
|
|
260
|
-
* These will be in snake case and should match the non-camelCase types
|
|
261
|
-
*/
|
|
262
|
-
export interface BackendOrderEvent {
|
|
263
|
-
/** Order ID (UUID) */
|
|
264
|
-
order_id: string;
|
|
265
|
-
/** Event type */
|
|
266
|
-
event_type: OrderEventType;
|
|
267
|
-
/** ISO 8601 timestamp */
|
|
268
|
-
timestamp: string;
|
|
269
|
-
/** Event-specific data */
|
|
270
|
-
data: BackendCommonOrderEventData & unknown;
|
|
271
|
-
}
|
|
272
|
-
/**
|
|
273
|
-
* Common fields shared across most order events
|
|
274
|
-
*/
|
|
275
|
-
export interface BackendCommonOrderEventData {
|
|
276
|
-
/** User ID (UUID) */
|
|
277
|
-
user_id: string;
|
|
278
|
-
/** Trading pair ID (UUID) */
|
|
279
|
-
trading_pair_id?: string;
|
|
280
|
-
/** Trading pair symbol (e.g., "BTC/USDC") */
|
|
281
|
-
symbol: string;
|
|
282
|
-
/** Trading mode (e.g., "Spot", "Margin") */
|
|
283
|
-
trading_mode: string;
|
|
284
|
-
}
|
|
File without changes
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Trade WebSocket Event Types
|
|
3
|
-
*
|
|
4
|
-
* Types for real-time trade events from the matching engine.
|
|
5
|
-
*/
|
|
6
|
-
import type { OrderSide, TradingMode } from "../../trading";
|
|
7
|
-
/**
|
|
8
|
-
* Trade event data containing execution details
|
|
9
|
-
*/
|
|
10
|
-
export interface TradeEventData {
|
|
11
|
-
/** Unique trade identifier (UUID) */
|
|
12
|
-
tradeId: string;
|
|
13
|
-
/** Execution price */
|
|
14
|
-
price: string;
|
|
15
|
-
/** Executed quantity */
|
|
16
|
-
quantity: string;
|
|
17
|
-
/** Side of the maker order (BUY or SELL) */
|
|
18
|
-
makerSide: OrderSide;
|
|
19
|
-
/** Timestamp when the trade was executed (ISO 8601) */
|
|
20
|
-
executedAt: string;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Trade event emitted when a trade is executed
|
|
24
|
-
*/
|
|
25
|
-
export interface TradeEvent {
|
|
26
|
-
/** Event type identifier */
|
|
27
|
-
eventType: "trade";
|
|
28
|
-
/** Trading pair ID (UUID) */
|
|
29
|
-
tradingPairId: string;
|
|
30
|
-
/** Trading mode (SPOT or MARGIN) */
|
|
31
|
-
tradingMode: TradingMode;
|
|
32
|
-
/** Trade execution data */
|
|
33
|
-
data: TradeEventData;
|
|
34
|
-
}
|