@0xmonaco/types 0.0.0-develop-20260120180031
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 +391 -0
- package/dist/api/index.d.ts +19 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +8 -0
- package/dist/api/index.js.map +1 -0
- package/dist/applications/index.d.ts +24 -0
- package/dist/applications/index.d.ts.map +1 -0
- package/dist/applications/index.js +7 -0
- package/dist/applications/index.js.map +1 -0
- package/dist/applications/responses.d.ts +21 -0
- package/dist/applications/responses.d.ts.map +1 -0
- package/dist/applications/responses.js +7 -0
- package/dist/applications/responses.js.map +1 -0
- package/dist/auth/index.d.ts +76 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +8 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/responses.d.ts +68 -0
- package/dist/auth/responses.d.ts.map +1 -0
- package/dist/auth/responses.js +7 -0
- package/dist/auth/responses.js.map +1 -0
- package/dist/contracts/balances.d.ts +44 -0
- package/dist/contracts/balances.d.ts.map +1 -0
- package/dist/contracts/balances.js +7 -0
- package/dist/contracts/balances.js.map +1 -0
- package/dist/contracts/index.d.ts +28 -0
- package/dist/contracts/index.d.ts.map +1 -0
- package/dist/contracts/index.js +7 -0
- package/dist/contracts/index.js.map +1 -0
- package/dist/fees/index.d.ts +40 -0
- package/dist/fees/index.d.ts.map +1 -0
- package/dist/fees/index.js +7 -0
- package/dist/fees/index.js.map +1 -0
- package/dist/fees/responses.d.ts +47 -0
- package/dist/fees/responses.d.ts.map +1 -0
- package/dist/fees/responses.js +62 -0
- package/dist/fees/responses.js.map +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/market/index.d.ts +224 -0
- package/dist/market/index.d.ts.map +1 -0
- package/dist/market/index.js +7 -0
- package/dist/market/index.js.map +1 -0
- package/dist/profile/index.d.ts +228 -0
- package/dist/profile/index.d.ts.map +1 -0
- package/dist/profile/index.js +7 -0
- package/dist/profile/index.js.map +1 -0
- package/dist/sdk/index.d.ts +122 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +2 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/network.d.ts +31 -0
- package/dist/sdk/network.d.ts.map +1 -0
- package/dist/sdk/network.js +7 -0
- package/dist/sdk/network.js.map +1 -0
- package/dist/trading/index.d.ts +88 -0
- package/dist/trading/index.d.ts.map +1 -0
- package/dist/trading/index.js +7 -0
- package/dist/trading/index.js.map +1 -0
- package/dist/trading/orders.d.ts +108 -0
- package/dist/trading/orders.d.ts.map +1 -0
- package/dist/trading/orders.js +7 -0
- package/dist/trading/orders.js.map +1 -0
- package/dist/trading/responses.d.ts +130 -0
- package/dist/trading/responses.d.ts.map +1 -0
- package/dist/trading/responses.js +7 -0
- package/dist/trading/responses.js.map +1 -0
- package/dist/validation/common.d.ts +181 -0
- package/dist/validation/common.d.ts.map +1 -0
- package/dist/validation/common.js +196 -0
- package/dist/validation/common.js.map +1 -0
- package/dist/validation/index.d.ts +20 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +22 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/market.d.ts +215 -0
- package/dist/validation/market.d.ts.map +1 -0
- package/dist/validation/market.js +226 -0
- package/dist/validation/market.js.map +1 -0
- package/dist/validation/trading.d.ts +148 -0
- package/dist/validation/trading.d.ts.map +1 -0
- package/dist/validation/trading.js +139 -0
- package/dist/validation/trading.js.map +1 -0
- package/dist/validation/vault.d.ts +62 -0
- package/dist/validation/vault.d.ts.map +1 -0
- package/dist/validation/vault.js +75 -0
- package/dist/validation/vault.js.map +1 -0
- package/dist/vault/index.d.ts +64 -0
- package/dist/vault/index.d.ts.map +1 -0
- package/dist/vault/index.js +7 -0
- package/dist/vault/index.js.map +1 -0
- package/dist/vault/responses.d.ts +34 -0
- package/dist/vault/responses.d.ts.map +1 -0
- package/dist/vault/responses.js +7 -0
- package/dist/vault/responses.js.map +1 -0
- package/dist/websocket/base.d.ts +32 -0
- package/dist/websocket/base.d.ts.map +1 -0
- package/dist/websocket/base.js +7 -0
- package/dist/websocket/base.js.map +1 -0
- package/dist/websocket/clients/orderbook-client.d.ts +15 -0
- package/dist/websocket/clients/orderbook-client.d.ts.map +1 -0
- package/dist/websocket/clients/orderbook-client.js +5 -0
- package/dist/websocket/clients/orderbook-client.js.map +1 -0
- package/dist/websocket/events/index.d.ts +6 -0
- package/dist/websocket/events/index.d.ts.map +1 -0
- package/dist/websocket/events/index.js +6 -0
- package/dist/websocket/events/index.js.map +1 -0
- package/dist/websocket/events/movement-events.d.ts +53 -0
- package/dist/websocket/events/movement-events.d.ts.map +1 -0
- package/dist/websocket/events/movement-events.js +8 -0
- package/dist/websocket/events/movement-events.js.map +1 -0
- package/dist/websocket/events/ohlcv-events.d.ts +32 -0
- package/dist/websocket/events/ohlcv-events.d.ts.map +1 -0
- package/dist/websocket/events/ohlcv-events.js +7 -0
- package/dist/websocket/events/ohlcv-events.js.map +1 -0
- package/dist/websocket/events/orderbook-events.d.ts +73 -0
- package/dist/websocket/events/orderbook-events.d.ts.map +1 -0
- package/dist/websocket/events/orderbook-events.js +7 -0
- package/dist/websocket/events/orderbook-events.js.map +1 -0
- package/dist/websocket/events/orders-events.d.ts +285 -0
- package/dist/websocket/events/orders-events.d.ts.map +1 -0
- package/dist/websocket/events/orders-events.js +2 -0
- package/dist/websocket/events/orders-events.js.map +1 -0
- package/dist/websocket/events/trade-events.d.ts +35 -0
- package/dist/websocket/events/trade-events.d.ts.map +1 -0
- package/dist/websocket/events/trade-events.js +7 -0
- package/dist/websocket/events/trade-events.js.map +1 -0
- package/dist/websocket/index.d.ts +9 -0
- package/dist/websocket/index.d.ts.map +1 -0
- package/dist/websocket/index.js +9 -0
- package/dist/websocket/index.js.map +1 -0
- package/package.json +31 -0
|
@@ -0,0 +1,73 @@
|
|
|
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
|
+
}
|
|
73
|
+
//# sourceMappingURL=orderbook-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderbook-events.d.ts","sourceRoot":"","sources":["../../../src/websocket/events/orderbook-events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,eAAe,GAAG;IACvD,iBAAiB;IACjB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,YAAY,EAAE,OAAO,CAAC;IACtB,sCAAsC;IACtC,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,WAAW,EAAE,WAAW,CAAC;IACzB,2CAA2C;IAC3C,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,4CAA4C;IAC5C,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,0BAA0B;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orderbook-events.js","sourceRoot":"","sources":["../../../src/websocket/events/orderbook-events.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,285 @@
|
|
|
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
|
+
tradingPair: 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 cancelled
|
|
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 cancelled */
|
|
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
|
+
trading_pair: string;
|
|
282
|
+
/** Trading mode (e.g., "Spot", "Margin") */
|
|
283
|
+
trading_mode: string;
|
|
284
|
+
}
|
|
285
|
+
//# sourceMappingURL=orders-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orders-events.d.ts","sourceRoot":"","sources":["../../../src/websocket/events/orders-events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orders-events.js","sourceRoot":"","sources":["../../../src/websocket/events/orders-events.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
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
|
+
}
|
|
35
|
+
//# sourceMappingURL=trade-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trade-events.d.ts","sourceRoot":"","sources":["../../../src/websocket/events/trade-events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,SAAS,EAAE,SAAS,CAAC;IACrB,uDAAuD;IACvD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,4BAA4B;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,6BAA6B;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,WAAW,EAAE,WAAW,CAAC;IACzB,2BAA2B;IAC3B,IAAI,EAAE,cAAc,CAAC;CACtB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trade-events.js","sourceRoot":"","sources":["../../../src/websocket/events/trade-events.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/websocket/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,QAAQ,CAAC;AAEvB,cAAc,4BAA4B,CAAC;AAE3C,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/websocket/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,QAAQ,CAAC;AAEvB,cAAc,4BAA4B,CAAC;AAE3C,cAAc,UAAU,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@0xmonaco/types",
|
|
3
|
+
"version": "0.0.0-develop-20260120180031",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"module": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"viem": "^2.31.7",
|
|
13
|
+
"zod": "^4.1.12",
|
|
14
|
+
"@0xmonaco/contracts": "0.0.0-develop-20260120180031"
|
|
15
|
+
},
|
|
16
|
+
"devDependencies": {
|
|
17
|
+
"typescript": "5.9.2"
|
|
18
|
+
},
|
|
19
|
+
"exports": {
|
|
20
|
+
".": {
|
|
21
|
+
"types": "./dist/index.d.ts",
|
|
22
|
+
"default": "./dist/index.js"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"scripts": {
|
|
26
|
+
"build": "tsc -b",
|
|
27
|
+
"dev": "tsc --watch",
|
|
28
|
+
"clean": "rm -rf dist",
|
|
29
|
+
"lint": "eslint src --ext .ts"
|
|
30
|
+
}
|
|
31
|
+
}
|