@0xmonaco/core 0.4.1 → 0.5.0

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.
Files changed (148) hide show
  1. package/README.md +23 -8
  2. package/dist/api/applications/api.d.ts +1 -2
  3. package/dist/api/applications/api.d.ts.map +1 -1
  4. package/dist/api/applications/api.js +1 -2
  5. package/dist/api/applications/api.js.map +1 -1
  6. package/dist/api/applications/index.d.ts +1 -2
  7. package/dist/api/applications/index.d.ts.map +1 -1
  8. package/dist/api/applications/index.js +1 -1
  9. package/dist/api/applications/index.js.map +1 -1
  10. package/dist/api/auth/api.d.ts +1 -1
  11. package/dist/api/auth/api.d.ts.map +1 -1
  12. package/dist/api/auth/api.js +2 -2
  13. package/dist/api/auth/api.js.map +1 -1
  14. package/dist/api/auth/index.d.ts +1 -2
  15. package/dist/api/auth/index.d.ts.map +1 -1
  16. package/dist/api/auth/index.js +1 -1
  17. package/dist/api/auth/index.js.map +1 -1
  18. package/dist/api/base.d.ts +26 -1
  19. package/dist/api/base.d.ts.map +1 -1
  20. package/dist/api/base.js +173 -43
  21. package/dist/api/base.js.map +1 -1
  22. package/dist/api/fees/api.d.ts +1 -1
  23. package/dist/api/fees/api.d.ts.map +1 -1
  24. package/dist/api/fees/api.js +4 -4
  25. package/dist/api/fees/api.js.map +1 -1
  26. package/dist/api/fees/index.d.ts +1 -1
  27. package/dist/api/fees/index.d.ts.map +1 -1
  28. package/dist/api/fees/index.js +1 -1
  29. package/dist/api/fees/index.js.map +1 -1
  30. package/dist/api/index.d.ts +10 -8
  31. package/dist/api/index.d.ts.map +1 -1
  32. package/dist/api/index.js +10 -8
  33. package/dist/api/index.js.map +1 -1
  34. package/dist/api/market/api.d.ts +1 -1
  35. package/dist/api/market/api.d.ts.map +1 -1
  36. package/dist/api/market/api.js +12 -3
  37. package/dist/api/market/api.js.map +1 -1
  38. package/dist/api/market/index.d.ts +1 -2
  39. package/dist/api/market/index.d.ts.map +1 -1
  40. package/dist/api/market/index.js +1 -1
  41. package/dist/api/market/index.js.map +1 -1
  42. package/dist/api/orderbook/api.d.ts +16 -0
  43. package/dist/api/orderbook/api.d.ts.map +1 -0
  44. package/dist/api/orderbook/api.js +38 -0
  45. package/dist/api/orderbook/api.js.map +1 -0
  46. package/dist/api/orderbook/index.d.ts +2 -0
  47. package/dist/api/orderbook/index.d.ts.map +1 -0
  48. package/dist/api/orderbook/index.js +2 -0
  49. package/dist/api/orderbook/index.js.map +1 -0
  50. package/dist/api/profile/api.d.ts +10 -11
  51. package/dist/api/profile/api.d.ts.map +1 -1
  52. package/dist/api/profile/api.js +17 -11
  53. package/dist/api/profile/api.js.map +1 -1
  54. package/dist/api/profile/index.d.ts +1 -1
  55. package/dist/api/profile/index.d.ts.map +1 -1
  56. package/dist/api/profile/index.js +1 -1
  57. package/dist/api/profile/index.js.map +1 -1
  58. package/dist/api/trades/api.d.ts +45 -0
  59. package/dist/api/trades/api.d.ts.map +1 -0
  60. package/dist/api/trades/api.js +43 -0
  61. package/dist/api/trades/api.js.map +1 -0
  62. package/dist/api/trades/index.d.ts +2 -0
  63. package/dist/api/trades/index.d.ts.map +1 -0
  64. package/dist/api/trades/index.js +2 -0
  65. package/dist/api/trades/index.js.map +1 -0
  66. package/dist/api/trading/api.d.ts +1 -2
  67. package/dist/api/trading/api.d.ts.map +1 -1
  68. package/dist/api/trading/api.js +10 -2
  69. package/dist/api/trading/api.js.map +1 -1
  70. package/dist/api/trading/index.d.ts +1 -2
  71. package/dist/api/trading/index.d.ts.map +1 -1
  72. package/dist/api/trading/index.js +1 -1
  73. package/dist/api/trading/index.js.map +1 -1
  74. package/dist/api/vault/api.d.ts +17 -19
  75. package/dist/api/vault/api.d.ts.map +1 -1
  76. package/dist/api/vault/api.js +58 -46
  77. package/dist/api/vault/api.js.map +1 -1
  78. package/dist/api/vault/index.d.ts +1 -2
  79. package/dist/api/vault/index.d.ts.map +1 -1
  80. package/dist/api/vault/index.js +1 -1
  81. package/dist/api/vault/index.js.map +1 -1
  82. package/dist/api/websocket/index.d.ts +3 -9
  83. package/dist/api/websocket/index.d.ts.map +1 -1
  84. package/dist/api/websocket/index.js +3 -9
  85. package/dist/api/websocket/index.js.map +1 -1
  86. package/dist/api/websocket/types.d.ts +34 -0
  87. package/dist/api/websocket/types.d.ts.map +1 -0
  88. package/dist/api/websocket/types.js +2 -0
  89. package/dist/api/websocket/types.js.map +1 -0
  90. package/dist/api/websocket/utils.d.ts +9 -0
  91. package/dist/api/websocket/utils.d.ts.map +1 -0
  92. package/dist/api/websocket/utils.js +23 -0
  93. package/dist/api/websocket/utils.js.map +1 -0
  94. package/dist/api/websocket/websocket.d.ts +6 -0
  95. package/dist/api/websocket/websocket.d.ts.map +1 -0
  96. package/dist/api/websocket/websocket.js +309 -0
  97. package/dist/api/websocket/websocket.js.map +1 -0
  98. package/dist/errors/errors.d.ts +382 -0
  99. package/dist/errors/errors.d.ts.map +1 -0
  100. package/dist/errors/errors.js +801 -0
  101. package/dist/errors/errors.js.map +1 -0
  102. package/dist/errors/index.d.ts +2 -0
  103. package/dist/errors/index.d.ts.map +1 -0
  104. package/dist/errors/index.js +2 -0
  105. package/dist/errors/index.js.map +1 -0
  106. package/dist/index.d.ts +5 -11
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +5 -22
  109. package/dist/index.js.map +1 -1
  110. package/dist/networks/index.d.ts +2 -0
  111. package/dist/networks/index.d.ts.map +1 -0
  112. package/dist/networks/index.js +2 -0
  113. package/dist/networks/index.js.map +1 -0
  114. package/dist/{networks.d.ts → networks/networks.d.ts} +1 -1
  115. package/dist/networks/networks.d.ts.map +1 -0
  116. package/dist/{networks.js → networks/networks.js} +4 -3
  117. package/dist/networks/networks.js.map +1 -0
  118. package/dist/sdk.d.ts +19 -27
  119. package/dist/sdk.d.ts.map +1 -1
  120. package/dist/sdk.js +77 -107
  121. package/dist/sdk.js.map +1 -1
  122. package/dist/utils/index.d.ts +1 -1
  123. package/dist/utils/index.d.ts.map +1 -1
  124. package/dist/utils/index.js +1 -1
  125. package/dist/utils/index.js.map +1 -1
  126. package/package.json +5 -7
  127. package/dist/api/websocket/base-ws-client.d.ts +0 -85
  128. package/dist/api/websocket/base-ws-client.d.ts.map +0 -1
  129. package/dist/api/websocket/base-ws-client.js +0 -256
  130. package/dist/api/websocket/base-ws-client.js.map +0 -1
  131. package/dist/api/websocket/clients/ohlcv-ws-client.d.ts +0 -57
  132. package/dist/api/websocket/clients/ohlcv-ws-client.d.ts.map +0 -1
  133. package/dist/api/websocket/clients/ohlcv-ws-client.js +0 -132
  134. package/dist/api/websocket/clients/ohlcv-ws-client.js.map +0 -1
  135. package/dist/api/websocket/clients/orderbook-ws-client.d.ts +0 -70
  136. package/dist/api/websocket/clients/orderbook-ws-client.d.ts.map +0 -1
  137. package/dist/api/websocket/clients/orderbook-ws-client.js +0 -197
  138. package/dist/api/websocket/clients/orderbook-ws-client.js.map +0 -1
  139. package/dist/api/websocket/clients/orders-ws-client.d.ts +0 -61
  140. package/dist/api/websocket/clients/orders-ws-client.d.ts.map +0 -1
  141. package/dist/api/websocket/clients/orders-ws-client.js +0 -150
  142. package/dist/api/websocket/clients/orders-ws-client.js.map +0 -1
  143. package/dist/errors.d.ts +0 -103
  144. package/dist/errors.d.ts.map +0 -1
  145. package/dist/errors.js +0 -108
  146. package/dist/errors.js.map +0 -1
  147. package/dist/networks.d.ts.map +0 -1
  148. package/dist/networks.js.map +0 -1
@@ -1,70 +0,0 @@
1
- /**
2
- * Orderbook WebSocket Client Implementation
3
- *
4
- * PUBLIC WebSocket client for orderbook-related events and operations.
5
- * No authentication required - provides public orderbook market data.
6
- * Extends the base WebSocket client with orderbook-specific functionality.
7
- */
8
- import { type OrderbookEvent, type OrderbookQuotationMode, type OrderbookWebSocketClient, type RawEventMessage, type TradingMode } from "@0xmonaco/types";
9
- import { BaseWebSocketClientImpl } from "../base-ws-client.js";
10
- /**
11
- * Orderbook-specific WebSocket client implementation
12
- */
13
- export declare class OrderbookWebSocketClientImpl extends BaseWebSocketClientImpl implements OrderbookWebSocketClient {
14
- private orderbookHandlers;
15
- /** Build channel name for orderbook subscription */
16
- private getChannelName;
17
- /** Build subscription key for handler lookup */
18
- private getSubscriptionKey;
19
- /** Extract magnitude and quotationMode from channel string (e.g., "orderbook:BTC/USDC:SPOT:10:BASE" -> { magnitude: 10, quotationMode: "BASE" }) */
20
- private extractChannelParams;
21
- /**
22
- * Subscribe to orderbook events for a specific market and trading mode.
23
- * No authentication required - provides public orderbook data.
24
- *
25
- * @param market - Trading pair symbol (e.g., "BTC/USDC")
26
- * @param tradingMode - Trading mode (TradingMode.SPOT or TradingMode.MARGIN)
27
- * @param callback - Function to handle incoming orderbook events
28
- * @param magnitude - Optional magnitude for orderbook grouping (0.0001 to 10000, defaults to no grouping)
29
- * @param quotationMode - Optional quotation mode ("BASE" or "QUOTE"), defaults to "BASE"
30
- *
31
- * @example
32
- * ```typescript
33
- * // No authentication required
34
- * await orderbookWS.connect();
35
- *
36
- * orderbookWS.subscribeToOrderbookEvents("BTC/USDC", TradingMode.SPOT, (event) => {
37
- * console.log("Orderbook update:", event.bids.length, "bids", event.asks.length, "asks");
38
- * });
39
- *
40
- * // With magnitude for grouping
41
- * orderbookWS.subscribeToOrderbookEvents("BTC/USDC", TradingMode.SPOT, (event) => {
42
- * console.log("Grouped orderbook:", event);
43
- * }, 10);
44
- *
45
- * // With QUOTE quotation mode
46
- * orderbookWS.subscribeToOrderbookEvents("BTC/USDC", TradingMode.SPOT, (event) => {
47
- * console.log("Orderbook in QUOTE:", event);
48
- * }, undefined, "QUOTE");
49
- * ```
50
- */
51
- subscribeToOrderbookEvents(market: string, tradingMode: TradingMode, callback: (event: OrderbookEvent) => void, magnitude?: number, quotationMode?: OrderbookQuotationMode): void;
52
- /**
53
- * Unsubscribe from orderbook events for a specific market and trading mode.
54
- *
55
- * @param market - Trading pair symbol (e.g., "BTC/USDC")
56
- * @param tradingMode - Trading mode (TradingMode.SPOT or TradingMode.MARGIN)
57
- * @param magnitude - Optional magnitude that was used when subscribing
58
- * @param quotationMode - Optional quotation mode that was used when subscribing
59
- */
60
- unsubscribeFromOrderbookEvents(market: string, tradingMode: TradingMode, magnitude?: number, quotationMode?: OrderbookQuotationMode): void;
61
- /** Handle incoming WebSocket messages with orderbook-specific logic */
62
- protected handleMessage(message: RawEventMessage): void;
63
- /** Check if message is an orderbook event from the backend */
64
- private isOrderbookEvent;
65
- /** Handle orderbook-specific events from the backend */
66
- private handleOrderbookEvent;
67
- /** Clean up resources when disconnecting */
68
- protected cleanup(): void;
69
- }
70
- //# sourceMappingURL=orderbook-ws-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orderbook-ws-client.d.ts","sourceRoot":"","sources":["../../../../src/api/websocket/clients/orderbook-ws-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAE7B,KAAK,eAAe,EAEpB,KAAK,WAAW,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,uBAAwB,YAAW,wBAAwB;IAC3G,OAAO,CAAC,iBAAiB,CAA2D;IAEpF,oDAAoD;IACpD,OAAO,CAAC,cAAc;IAOtB,gDAAgD;IAChD,OAAO,CAAC,kBAAkB;IAM1B,oJAAoJ;IACpJ,OAAO,CAAC,oBAAoB;IAmC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,0BAA0B,CACxB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,EACzC,SAAS,CAAC,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,sBAAsB,GACrC,IAAI;IAaP;;;;;;;OAOG;IACH,8BAA8B,CAC5B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,SAAS,CAAC,EAAE,MAAM,EAClB,aAAa,CAAC,EAAE,sBAAsB,GACrC,IAAI;IAaP,uEAAuE;IACvE,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAUvD,8DAA8D;IAC9D,OAAO,CAAC,gBAAgB;IAIxB,wDAAwD;IACxD,OAAO,CAAC,oBAAoB;IAkE5B,4CAA4C;IAC5C,SAAS,CAAC,OAAO,IAAI,IAAI;CAG1B"}
@@ -1,197 +0,0 @@
1
- /**
2
- * Orderbook WebSocket Client Implementation
3
- *
4
- * PUBLIC WebSocket client for orderbook-related events and operations.
5
- * No authentication required - provides public orderbook market data.
6
- * Extends the base WebSocket client with orderbook-specific functionality.
7
- */
8
- import { WebSocketChannel, } from "@0xmonaco/types";
9
- import { BaseWebSocketClientImpl } from "../base-ws-client.js";
10
- /**
11
- * Orderbook-specific WebSocket client implementation
12
- */
13
- export class OrderbookWebSocketClientImpl extends BaseWebSocketClientImpl {
14
- constructor() {
15
- super(...arguments);
16
- this.orderbookHandlers = new Map();
17
- }
18
- /** Build channel name for orderbook subscription */
19
- getChannelName(market, tradingMode, magnitude, quotationMode) {
20
- const mode = quotationMode || "BASE";
21
- return magnitude !== undefined
22
- ? `orderbook:${market}:${tradingMode}:${magnitude}:${mode}`
23
- : `orderbook:${market}:${tradingMode}:${mode}`;
24
- }
25
- /** Build subscription key for handler lookup */
26
- getSubscriptionKey(market, tradingMode, magnitude, quotationMode) {
27
- const mode = (quotationMode || "BASE").toUpperCase();
28
- const base = `${market.toUpperCase()}-${tradingMode.toUpperCase()}`;
29
- return magnitude !== undefined ? `${base}-${magnitude}-${mode}` : `${base}-${mode}`;
30
- }
31
- /** Extract magnitude and quotationMode from channel string (e.g., "orderbook:BTC/USDC:SPOT:10:BASE" -> { magnitude: 10, quotationMode: "BASE" }) */
32
- extractChannelParams(channel) {
33
- const parts = channel.split(":");
34
- // Channel formats:
35
- // "orderbook:market:tradingMode" - old 3-part format (no magnitude, no quotationMode)
36
- // "orderbook:market:tradingMode:BASE" or "orderbook:market:tradingMode:QUOTE" (4 parts)
37
- // "orderbook:market:tradingMode:magnitude:BASE" or "orderbook:market:tradingMode:magnitude:QUOTE" (5 parts)
38
- // Old 3-part format: "orderbook:market:tradingMode" (no magnitude, no quotationMode)
39
- if (parts.length === 3) {
40
- return {};
41
- }
42
- if (parts.length === 4) {
43
- const lastPart = parts[3].toUpperCase();
44
- // Check if it's a quotation mode
45
- if (lastPart === "BASE" || lastPart === "QUOTE") {
46
- return { quotationMode: lastPart };
47
- }
48
- // Otherwise it might be magnitude (old format)
49
- const magnitude = Number(parts[3]);
50
- return Number.isNaN(magnitude) ? {} : { magnitude };
51
- }
52
- if (parts.length === 5) {
53
- const magnitude = Number(parts[3]);
54
- const quotationMode = parts[4].toUpperCase();
55
- return {
56
- magnitude: Number.isNaN(magnitude) ? undefined : magnitude,
57
- quotationMode: quotationMode === "BASE" || quotationMode === "QUOTE" ? quotationMode : undefined,
58
- };
59
- }
60
- return {};
61
- }
62
- /**
63
- * Subscribe to orderbook events for a specific market and trading mode.
64
- * No authentication required - provides public orderbook data.
65
- *
66
- * @param market - Trading pair symbol (e.g., "BTC/USDC")
67
- * @param tradingMode - Trading mode (TradingMode.SPOT or TradingMode.MARGIN)
68
- * @param callback - Function to handle incoming orderbook events
69
- * @param magnitude - Optional magnitude for orderbook grouping (0.0001 to 10000, defaults to no grouping)
70
- * @param quotationMode - Optional quotation mode ("BASE" or "QUOTE"), defaults to "BASE"
71
- *
72
- * @example
73
- * ```typescript
74
- * // No authentication required
75
- * await orderbookWS.connect();
76
- *
77
- * orderbookWS.subscribeToOrderbookEvents("BTC/USDC", TradingMode.SPOT, (event) => {
78
- * console.log("Orderbook update:", event.bids.length, "bids", event.asks.length, "asks");
79
- * });
80
- *
81
- * // With magnitude for grouping
82
- * orderbookWS.subscribeToOrderbookEvents("BTC/USDC", TradingMode.SPOT, (event) => {
83
- * console.log("Grouped orderbook:", event);
84
- * }, 10);
85
- *
86
- * // With QUOTE quotation mode
87
- * orderbookWS.subscribeToOrderbookEvents("BTC/USDC", TradingMode.SPOT, (event) => {
88
- * console.log("Orderbook in QUOTE:", event);
89
- * }, undefined, "QUOTE");
90
- * ```
91
- */
92
- subscribeToOrderbookEvents(market, tradingMode, callback, magnitude, quotationMode) {
93
- const channel = this.getChannelName(market, tradingMode, magnitude, quotationMode);
94
- const subscriptionKey = this.getSubscriptionKey(market, tradingMode, magnitude, quotationMode);
95
- this.orderbookHandlers.set(subscriptionKey, callback);
96
- // Send subscription message using backend's channel format
97
- this.send({
98
- type: "Subscribe",
99
- channels: [channel],
100
- });
101
- }
102
- /**
103
- * Unsubscribe from orderbook events for a specific market and trading mode.
104
- *
105
- * @param market - Trading pair symbol (e.g., "BTC/USDC")
106
- * @param tradingMode - Trading mode (TradingMode.SPOT or TradingMode.MARGIN)
107
- * @param magnitude - Optional magnitude that was used when subscribing
108
- * @param quotationMode - Optional quotation mode that was used when subscribing
109
- */
110
- unsubscribeFromOrderbookEvents(market, tradingMode, magnitude, quotationMode) {
111
- const channel = this.getChannelName(market, tradingMode, magnitude, quotationMode);
112
- const subscriptionKey = this.getSubscriptionKey(market, tradingMode, magnitude, quotationMode);
113
- this.orderbookHandlers.delete(subscriptionKey);
114
- // Send unsubscription message
115
- this.send({
116
- type: "Unsubscribe",
117
- channels: [channel],
118
- });
119
- }
120
- /** Handle incoming WebSocket messages with orderbook-specific logic */
121
- handleMessage(message) {
122
- // Handle base messages first (PONG, etc.)
123
- super.handleMessage(message);
124
- // Handle orderbook-specific Event messages
125
- if (this.isOrderbookEvent(message)) {
126
- this.handleOrderbookEvent(message);
127
- }
128
- }
129
- /** Check if message is an orderbook event from the backend */
130
- isOrderbookEvent(message) {
131
- return this.isEventMessage(message, WebSocketChannel.Orderbook);
132
- }
133
- /** Handle orderbook-specific events from the backend */
134
- handleOrderbookEvent(event) {
135
- try {
136
- const msg = event;
137
- const backendEvent = msg.data; // Parent (has pair, trading_mode)
138
- const orderbookData = backendEvent.data; // Nested (has bids, asks, etc.)
139
- const symbol = backendEvent.pair;
140
- const tradingMode = backendEvent.trading_mode;
141
- if (!symbol || !tradingMode) {
142
- console.warn("Missing required orderbook event data:", backendEvent);
143
- return;
144
- }
145
- // Extract magnitude and quotationMode from the channel if present (e.g., "orderbook:BTC/USDC:SPOT:10:BASE")
146
- const { magnitude, quotationMode } = this.extractChannelParams(event.channel);
147
- const subscriptionKey = this.getSubscriptionKey(symbol, tradingMode, magnitude, quotationMode);
148
- const handler = this.orderbookHandlers.get(subscriptionKey);
149
- if (handler) {
150
- // Backend orderbook event structure (matching matching_engine::types::OrderbookUpdateEvent)
151
- const transformedEvent = {
152
- symbol: symbol,
153
- tradingMode: tradingMode,
154
- bids: (orderbookData?.bids || []).map((level) => ({
155
- price: level.price,
156
- quantity: level.quantity,
157
- orderCount: level.order_count || 0,
158
- })),
159
- asks: (orderbookData?.asks || []).map((level) => ({
160
- price: level.price,
161
- quantity: level.quantity,
162
- orderCount: level.order_count || 0,
163
- })),
164
- bestBid: orderbookData?.best_bid || undefined,
165
- bestAsk: orderbookData?.best_ask || undefined,
166
- bidVolume: orderbookData?.bid_volume || "0",
167
- askVolume: orderbookData?.ask_volume || "0",
168
- priceChange: orderbookData?.price_change
169
- ? {
170
- side: orderbookData.price_change.side,
171
- oldPrice: orderbookData.price_change.old_price,
172
- newPrice: orderbookData.price_change.new_price,
173
- levelRemoved: orderbookData.price_change.level_removed || false,
174
- levelAdded: orderbookData.price_change.level_added || false,
175
- }
176
- : undefined,
177
- baseDecimals: backendEvent.base_decimals || 0,
178
- quoteDecimals: backendEvent.quote_decimals || 0,
179
- timestamp: backendEvent.timestamp || new Date().toISOString(),
180
- sequence: backendEvent.sequence_number || 0,
181
- };
182
- handler(transformedEvent);
183
- }
184
- else {
185
- console.debug(`No handler registered for orderbook subscription: ${subscriptionKey}`);
186
- }
187
- }
188
- catch (error) {
189
- console.error("Error handling orderbook event:", error, event);
190
- }
191
- }
192
- /** Clean up resources when disconnecting */
193
- cleanup() {
194
- this.orderbookHandlers.clear();
195
- }
196
- }
197
- //# sourceMappingURL=orderbook-ws-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orderbook-ws-client.js","sourceRoot":"","sources":["../../../../src/api/websocket/clients/orderbook-ws-client.ts"],"names":[],"mappings":"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"}
@@ -1,61 +0,0 @@
1
- /**
2
- * Orders WebSocket Client Implementation
3
- *
4
- * AUTHENTICATED WebSocket client for personal order-related events.
5
- * Requires JWT authentication via access token.
6
- * Shows user-specific order updates and events.
7
- */
8
- import { type OrderEvent, type OrdersWebSocketClient, type RawOrderEventMessage, type TradingMode } from "@0xmonaco/types";
9
- import { BaseWebSocketClientImpl } from "../index.js";
10
- /**
11
- * Orders-specific WebSocket client implementation
12
- */
13
- export declare class OrdersWebSocketClientImpl extends BaseWebSocketClientImpl implements OrdersWebSocketClient {
14
- private orderHandlers;
15
- /**
16
- * Override connect to enforce authentication requirement for Orders channel.
17
- * Orders WebSocket requires JWT authentication for personal order updates.
18
- */
19
- connect(): Promise<void>;
20
- /**
21
- * Subscribe to personal order events for a specific market and trading mode.
22
- * Requires authentication - call setAccessToken() before connecting.
23
- *
24
- * @param market - Trading pair symbol (e.g., "BTC/USDC")
25
- * @param tradingMode - Trading mode (TradingMode.SPOT or TradingMode.MARGIN)
26
- * @param callback - Function to handle incoming order events
27
- *
28
- * @example
29
- * ```typescript
30
- * // Set authentication token first
31
- * ordersWS.setAccessToken(authState.accessToken);
32
- * await ordersWS.connect();
33
- *
34
- * ordersWS.subscribeToOrderEvents("BTC/USDC", TradingMode.SPOT, (event) => {
35
- * console.log("Personal order event:", event.eventType);
36
- * });
37
- * ```
38
- */
39
- subscribeToOrderEvents(market: string, tradingMode: TradingMode, callback: (event: OrderEvent) => void): void;
40
- /**
41
- * Unsubscribe from order events for a specific market and trading mode.
42
- *
43
- * @param market - Trading pair symbol (e.g., "BTC/USDC")
44
- * @param tradingMode - Trading mode (TradingMode.SPOT or TradingMode.MARGIN)
45
- *
46
- * @example
47
- * ```typescript
48
- * ordersWS.unsubscribeFromOrderEvents("BTC/USDC", TradingMode.SPOT);
49
- * ```
50
- */
51
- unsubscribeFromOrderEvents(market: string, tradingMode: TradingMode): void;
52
- /** Override message handling to process order-specific events */
53
- protected handleMessage(message: RawOrderEventMessage): void;
54
- /** Check if message is an order event from the backend */
55
- private isOrderEvent;
56
- /** Handle order-specific events from the backend */
57
- private handleOrderEvent;
58
- /** Clean up resources when disconnecting */
59
- protected cleanup(): void;
60
- }
61
- //# sourceMappingURL=orders-ws-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orders-ws-client.d.ts","sourceRoot":"","sources":["../../../../src/api/websocket/clients/orders-ws-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAyBtD;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,uBAAwB,YAAW,qBAAqB;IAErG,OAAO,CAAC,aAAa,CAAkD;IAEvE;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAU9B;;;;;;;;;;;;;;;;;;OAkBG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAa7G;;;;;;;;;;OAUG;IACH,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI;IAa1E,iEAAiE;IACjE,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAS5D,0DAA0D;IAC1D,OAAO,CAAC,YAAY;IAIpB,oDAAoD;IACpD,OAAO,CAAC,gBAAgB;IAiCxB,4CAA4C;IAC5C,SAAS,CAAC,OAAO,IAAI,IAAI;CAG1B"}
@@ -1,150 +0,0 @@
1
- /**
2
- * Orders WebSocket Client Implementation
3
- *
4
- * AUTHENTICATED WebSocket client for personal order-related events.
5
- * Requires JWT authentication via access token.
6
- * Shows user-specific order updates and events.
7
- */
8
- import { WebSocketChannel, } from "@0xmonaco/types";
9
- import { BaseWebSocketClientImpl } from "../index.js";
10
- /**
11
- * Convert snake_case keys to camelCase
12
- */
13
- function toCamelCase(str) {
14
- return str.replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
15
- }
16
- /**
17
- * Convert an object's keys from snake_case to camelCase
18
- */
19
- function keysToCamelCase(obj) {
20
- if (obj === null || obj === undefined)
21
- return obj;
22
- if (typeof obj !== "object")
23
- return obj;
24
- if (Array.isArray(obj))
25
- return obj.map((item) => keysToCamelCase(item));
26
- const result = {};
27
- for (const [key, value] of Object.entries(obj)) {
28
- const camelKey = toCamelCase(key);
29
- result[camelKey] = typeof value === "object" && value !== null ? keysToCamelCase(value) : value;
30
- }
31
- return result;
32
- }
33
- /**
34
- * Orders-specific WebSocket client implementation
35
- */
36
- export class OrdersWebSocketClientImpl extends BaseWebSocketClientImpl {
37
- constructor() {
38
- super(...arguments);
39
- // Map to store order event handlers by subscription key
40
- this.orderHandlers = new Map();
41
- }
42
- /**
43
- * Override connect to enforce authentication requirement for Orders channel.
44
- * Orders WebSocket requires JWT authentication for personal order updates.
45
- */
46
- async connect() {
47
- if (!this.config.accessToken?.trim()) {
48
- throw new Error("Authentication required: Orders WebSocket requires a JWT access token. " +
49
- "Call setAccessToken() before connecting or sdk.login() to authenticate.");
50
- }
51
- return super.connect();
52
- }
53
- /**
54
- * Subscribe to personal order events for a specific market and trading mode.
55
- * Requires authentication - call setAccessToken() before connecting.
56
- *
57
- * @param market - Trading pair symbol (e.g., "BTC/USDC")
58
- * @param tradingMode - Trading mode (TradingMode.SPOT or TradingMode.MARGIN)
59
- * @param callback - Function to handle incoming order events
60
- *
61
- * @example
62
- * ```typescript
63
- * // Set authentication token first
64
- * ordersWS.setAccessToken(authState.accessToken);
65
- * await ordersWS.connect();
66
- *
67
- * ordersWS.subscribeToOrderEvents("BTC/USDC", TradingMode.SPOT, (event) => {
68
- * console.log("Personal order event:", event.eventType);
69
- * });
70
- * ```
71
- */
72
- subscribeToOrderEvents(market, tradingMode, callback) {
73
- const channel = `orders:${market}:${tradingMode}`;
74
- const subscriptionKey = `${market.toUpperCase()}-${tradingMode.toUpperCase()}`;
75
- this.orderHandlers.set(subscriptionKey, callback);
76
- // Send subscription message using backend's channel format
77
- this.send({
78
- type: "Subscribe",
79
- channels: [channel],
80
- });
81
- }
82
- /**
83
- * Unsubscribe from order events for a specific market and trading mode.
84
- *
85
- * @param market - Trading pair symbol (e.g., "BTC/USDC")
86
- * @param tradingMode - Trading mode (TradingMode.SPOT or TradingMode.MARGIN)
87
- *
88
- * @example
89
- * ```typescript
90
- * ordersWS.unsubscribeFromOrderEvents("BTC/USDC", TradingMode.SPOT);
91
- * ```
92
- */
93
- unsubscribeFromOrderEvents(market, tradingMode) {
94
- const channel = `orders:${market}:${tradingMode}`;
95
- const subscriptionKey = `${market.toUpperCase()}-${tradingMode.toUpperCase()}`;
96
- this.orderHandlers.delete(subscriptionKey);
97
- // Send unsubscription message
98
- this.send({
99
- type: "Unsubscribe",
100
- channels: [channel],
101
- });
102
- }
103
- /** Override message handling to process order-specific events */
104
- handleMessage(message) {
105
- super.handleMessage(message);
106
- // Handle order-specific Event messages
107
- if (this.isOrderEvent(message)) {
108
- this.handleOrderEvent(message);
109
- }
110
- }
111
- /** Check if message is an order event from the backend */
112
- isOrderEvent(message) {
113
- return this.isEventMessage(message, WebSocketChannel.Orders);
114
- }
115
- /** Handle order-specific events from the backend */
116
- handleOrderEvent(event) {
117
- try {
118
- const snakeCaseEventData = event.data;
119
- const snakeCaseOrderEventData = snakeCaseEventData?.data;
120
- const tradingPair = snakeCaseOrderEventData?.trading_pair;
121
- const tradingMode = snakeCaseOrderEventData?.trading_mode;
122
- if (!tradingPair || !tradingMode) {
123
- console.warn("Missing required order event data (trading_pair or trading_mode):", event);
124
- return;
125
- }
126
- const subscriptionKey = `${tradingPair.toUpperCase()}-${tradingMode.toUpperCase()}`;
127
- const handler = this.orderHandlers.get(subscriptionKey);
128
- if (handler) {
129
- const camelCaseOrderEvent = {
130
- orderId: snakeCaseEventData.order_id,
131
- eventType: snakeCaseEventData.event_type,
132
- timestamp: snakeCaseEventData.timestamp,
133
- data: keysToCamelCase(snakeCaseOrderEventData),
134
- };
135
- handler(camelCaseOrderEvent);
136
- }
137
- else {
138
- console.warn(`No handler found for order event: ${subscriptionKey}`, event);
139
- }
140
- }
141
- catch (error) {
142
- console.error("Error handling order event:", error, event);
143
- }
144
- }
145
- /** Clean up resources when disconnecting */
146
- cleanup() {
147
- this.orderHandlers.clear();
148
- }
149
- }
150
- //# sourceMappingURL=orders-ws-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orders-ws-client.js","sourceRoot":"","sources":["../../../../src/api/websocket/clients/orders-ws-client.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts DELETED
@@ -1,103 +0,0 @@
1
- /**
2
- * Monaco SDK Error Types
3
- *
4
- * Standardized error classes for SDK operations.
5
- */
6
- /**
7
- * Monaco Core SDK error codes.
8
- * Categorized by error type for better error handling and debugging.
9
- *
10
- * Initialization Errors:
11
- * - INITIALIZATION_ERROR: General initialization failure
12
- * - INVALID_CONFIG: Invalid SDK configuration
13
- * - INVALID_STATE: Invalid SDK state
14
- * - UNSUPPORTED_NETWORK: Network not supported by SDK
15
- *
16
- * API Errors:
17
- * - API_ERROR: General API operation failure
18
- * - CONTRACT_ERROR: Smart contract interaction failure
19
- * - TRANSACTION_ERROR: Blockchain transaction failure
20
- *
21
- * Order Errors:
22
- * - ORDER_ERROR: General order operation failure
23
- * - INVALID_ORDER: Order validation failure
24
- * - ORDER_NOT_FOUND: Order does not exist
25
- * - INSUFFICIENT_BALANCE: Insufficient token balance
26
- *
27
- * Event Errors:
28
- * - EVENT_ERROR: General event handling failure
29
- * - SUBSCRIPTION_ERROR: Event subscription failure
30
- */
31
- export declare const ERROR_CODES: {
32
- /** Initialization errors */
33
- readonly INITIALIZATION_ERROR: "INITIALIZATION_ERROR";
34
- readonly INVALID_CONFIG: "INVALID_CONFIG";
35
- readonly INVALID_STATE: "INVALID_STATE";
36
- readonly UNSUPPORTED_NETWORK: "UNSUPPORTED_NETWORK";
37
- /** API errors */
38
- readonly API_ERROR: "API_ERROR";
39
- readonly CONTRACT_ERROR: "CONTRACT_ERROR";
40
- readonly TRANSACTION_ERROR: "TRANSACTION_ERROR";
41
- /** Order errors */
42
- readonly ORDER_ERROR: "ORDER_ERROR";
43
- readonly INVALID_ORDER: "INVALID_ORDER";
44
- readonly ORDER_NOT_FOUND: "ORDER_NOT_FOUND";
45
- readonly INSUFFICIENT_BALANCE: "INSUFFICIENT_BALANCE";
46
- /** Event errors */
47
- readonly EVENT_ERROR: "EVENT_ERROR";
48
- readonly SUBSCRIPTION_ERROR: "SUBSCRIPTION_ERROR";
49
- };
50
- /**
51
- * Type representing all possible Monaco Core SDK error codes.
52
- * Derived from the ERROR_CODES constant for type safety.
53
- */
54
- export type MonacoErrorCode = (typeof ERROR_CODES)[keyof typeof ERROR_CODES];
55
- export declare abstract class MonacoCoreError extends Error {
56
- abstract code: MonacoErrorCode;
57
- cause?: unknown;
58
- protected constructor(message: string, options?: {
59
- cause?: unknown;
60
- });
61
- }
62
- export declare class InvalidConfigError extends MonacoCoreError {
63
- code: "INVALID_CONFIG";
64
- field?: string;
65
- value?: unknown;
66
- constructor(message: string, field?: string, value?: unknown, cause?: Error);
67
- }
68
- export declare class InvalidStateError extends MonacoCoreError {
69
- code: "INVALID_STATE";
70
- currentState?: string;
71
- expectedState?: string;
72
- constructor(message: string, currentState?: string, expectedState?: string, cause?: Error);
73
- }
74
- export declare class APIError extends MonacoCoreError {
75
- code: "API_ERROR";
76
- endpoint?: string;
77
- statusCode?: number;
78
- responseBody?: unknown;
79
- constructor(message: string, endpoint?: string, statusCode?: number, responseBody?: unknown, cause?: Error);
80
- }
81
- export declare class ContractError extends MonacoCoreError {
82
- code: "CONTRACT_ERROR";
83
- revertReason?: string;
84
- transactionHash?: string;
85
- constructor(message: string, revertReason?: string, transactionHash?: string, cause?: Error);
86
- }
87
- export declare class TransactionError extends MonacoCoreError {
88
- code: "TRANSACTION_ERROR";
89
- transactionHash?: string;
90
- gasUsed?: bigint;
91
- constructor(message: string, transactionHash?: string, gasUsed?: bigint, cause?: Error);
92
- }
93
- export declare class OrderError extends MonacoCoreError {
94
- code: "ORDER_ERROR";
95
- orderId?: string;
96
- market?: string;
97
- constructor(message: string, options?: {
98
- orderId?: string;
99
- market?: string;
100
- cause?: Error;
101
- });
102
- }
103
- //# sourceMappingURL=errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,WAAW;IACtB,4BAA4B;;;;;IAM5B,iBAAiB;;;;IAKjB,mBAAmB;;;;;IAMnB,mBAAmB;;;CAGX,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAE7E,8BAAsB,eAAgB,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,SAAS,aAAa,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;CAQrE;AAED,qBAAa,kBAAmB,SAAQ,eAAe;IACrD,IAAI,EAAE,gBAAgB,CAAoB;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;gBAEJ,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK;CAK5E;AAED,qBAAa,iBAAkB,SAAQ,eAAe;IACpD,IAAI,EAAE,eAAe,CAAmB;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;gBAEX,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAK1F;AAED,qBAAa,QAAS,SAAQ,eAAe;IAC3C,IAAI,EAAE,WAAW,CAAe;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;gBAEX,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK;CAM3G;AAED,qBAAa,aAAc,SAAQ,eAAe;IAChD,IAAI,EAAE,gBAAgB,CAAoB;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;gBAEb,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAK5F;AAED,qBAAa,gBAAiB,SAAQ,eAAe;IACnD,IAAI,EAAE,mBAAmB,CAAuB;IAChD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;gBAEL,OAAO,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK;CAKvF;AAED,qBAAa,UAAW,SAAQ,eAAe;IAC7C,IAAI,EAAE,aAAa,CAAiB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEJ,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,KAAK,CAAA;KAAE;CAK5F"}