@0xmonaco/core 0.2.1 → 0.2.3

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 (44) hide show
  1. package/dist/api/market/api.d.ts +2 -2
  2. package/dist/api/market/api.d.ts.map +1 -1
  3. package/dist/api/market/api.js.map +1 -1
  4. package/dist/api/trading/api.d.ts +19 -2
  5. package/dist/api/trading/api.d.ts.map +1 -1
  6. package/dist/api/trading/api.js +20 -3
  7. package/dist/api/trading/api.js.map +1 -1
  8. package/dist/api/vault/api.d.ts +25 -42
  9. package/dist/api/vault/api.d.ts.map +1 -1
  10. package/dist/api/vault/api.js +65 -211
  11. package/dist/api/vault/api.js.map +1 -1
  12. package/dist/api/websocket/base-ws-client.d.ts +8 -0
  13. package/dist/api/websocket/base-ws-client.d.ts.map +1 -1
  14. package/dist/api/websocket/base-ws-client.js +25 -6
  15. package/dist/api/websocket/base-ws-client.js.map +1 -1
  16. package/dist/api/websocket/{ohlcv-ws-client.d.ts → clients/ohlcv-ws-client.d.ts} +18 -13
  17. package/dist/api/websocket/clients/ohlcv-ws-client.d.ts.map +1 -0
  18. package/dist/api/websocket/clients/ohlcv-ws-client.js +126 -0
  19. package/dist/api/websocket/clients/ohlcv-ws-client.js.map +1 -0
  20. package/dist/api/websocket/clients/orderbook-ws-client.d.ts +46 -0
  21. package/dist/api/websocket/clients/orderbook-ws-client.d.ts.map +1 -0
  22. package/dist/api/websocket/clients/orderbook-ws-client.js +131 -0
  23. package/dist/api/websocket/clients/orderbook-ws-client.js.map +1 -0
  24. package/dist/api/websocket/{orders-ws-client.d.ts → clients/orders-ws-client.d.ts} +17 -13
  25. package/dist/api/websocket/clients/orders-ws-client.d.ts.map +1 -0
  26. package/dist/api/websocket/clients/orders-ws-client.js +124 -0
  27. package/dist/api/websocket/clients/orders-ws-client.js.map +1 -0
  28. package/dist/api/websocket/index.d.ts +4 -3
  29. package/dist/api/websocket/index.d.ts.map +1 -1
  30. package/dist/api/websocket/index.js +4 -3
  31. package/dist/api/websocket/index.js.map +1 -1
  32. package/dist/index.d.ts +1 -1
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/sdk.d.ts +2 -1
  35. package/dist/sdk.d.ts.map +1 -1
  36. package/dist/sdk.js +6 -1
  37. package/dist/sdk.js.map +1 -1
  38. package/package.json +5 -5
  39. package/dist/api/websocket/ohlcv-ws-client.d.ts.map +0 -1
  40. package/dist/api/websocket/ohlcv-ws-client.js +0 -123
  41. package/dist/api/websocket/ohlcv-ws-client.js.map +0 -1
  42. package/dist/api/websocket/orders-ws-client.d.ts.map +0 -1
  43. package/dist/api/websocket/orders-ws-client.js +0 -131
  44. package/dist/api/websocket/orders-ws-client.js.map +0 -1
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Orders WebSocket Client Implementation
3
+ *
4
+ * Specialized WebSocket client for order-related events and operations.
5
+ * Extends the base WebSocket client with order-specific functionality.
6
+ */
7
+ import { WebSocketChannel, } from "@0xmonaco/types";
8
+ import { BaseWebSocketClientImpl } from "../base-ws-client";
9
+ /**
10
+ * Orders-specific WebSocket client implementation
11
+ */
12
+ export class OrdersWebSocketClientImpl extends BaseWebSocketClientImpl {
13
+ constructor(config) {
14
+ super(config);
15
+ // Map to store order event handlers by subscription key
16
+ this.orderHandlers = new Map();
17
+ }
18
+ /**
19
+ * Subscribe to order events for a specific market and trading mode.
20
+ *
21
+ * @param market - Trading pair symbol (e.g., "BTC/USDC")
22
+ * @param tradingMode - Trading mode (TradingMode.SPOT or TradingMode.MARGIN)
23
+ * @param callback - Function to handle incoming order events
24
+ *
25
+ * @example
26
+ * ```typescript
27
+ * ordersWS.subscribeToOrderEvents("BTC/USDC", TradingMode.SPOT, (event) => {
28
+ * console.log("Order event:", event.eventType);
29
+ * });
30
+ * ```
31
+ */
32
+ subscribeToOrderEvents(market, tradingMode, callback) {
33
+ const channel = `orders:${market}:${tradingMode}`;
34
+ const subscriptionKey = `${market.toUpperCase()}-${tradingMode.toUpperCase()}`;
35
+ this.orderHandlers.set(subscriptionKey, callback);
36
+ // Send subscription message using backend's channel format
37
+ this.send({
38
+ type: "Subscribe",
39
+ channels: [channel],
40
+ });
41
+ }
42
+ /**
43
+ * Unsubscribe from order events for a specific market and trading mode.
44
+ *
45
+ * @param market - Trading pair symbol (e.g., "BTC/USDC")
46
+ * @param tradingMode - Trading mode (TradingMode.SPOT or TradingMode.MARGIN)
47
+ *
48
+ * @example
49
+ * ```typescript
50
+ * ordersWS.unsubscribeFromOrderEvents("BTC/USDC", TradingMode.SPOT);
51
+ * ```
52
+ */
53
+ unsubscribeFromOrderEvents(market, tradingMode) {
54
+ const channel = `orders:${market}:${tradingMode}`;
55
+ const subscriptionKey = `${market.toUpperCase()}-${tradingMode.toUpperCase()}`;
56
+ this.orderHandlers.delete(subscriptionKey);
57
+ // Send unsubscription message
58
+ this.send({
59
+ type: "Unsubscribe",
60
+ channels: [channel],
61
+ });
62
+ }
63
+ /** Override message handling to process order-specific events */
64
+ handleMessage(message) {
65
+ super.handleMessage(message);
66
+ // Handle order-specific Event messages
67
+ if (this.isOrderEvent(message)) {
68
+ this.handleOrderEvent(message);
69
+ }
70
+ }
71
+ /** Check if message is an order event from the backend */
72
+ isOrderEvent(message) {
73
+ return this.isEventMessage(message, WebSocketChannel.Orders);
74
+ }
75
+ /** Handle order-specific events from the backend */
76
+ handleOrderEvent(event) {
77
+ try {
78
+ const backendEvent = event.data; // Parent (has order_id, event_type, etc.)
79
+ const market = backendEvent.trading_pair;
80
+ const tradingMode = backendEvent.trading_mode;
81
+ if (!market || !tradingMode) {
82
+ console.warn("Missing required order event data:", backendEvent);
83
+ return;
84
+ }
85
+ const subscriptionKey = `${market.toUpperCase()}-${tradingMode.toUpperCase()}`;
86
+ // Find the appropriate handler
87
+ const handler = this.orderHandlers.get(subscriptionKey);
88
+ if (handler) {
89
+ // Transform backend event to OrderEvent format
90
+ const orderEvent = {
91
+ orderId: backendEvent.order_id,
92
+ eventType: backendEvent.event_type || "OrderPlaced",
93
+ details: {
94
+ applicationId: backendEvent.application_id,
95
+ orderType: backendEvent.order_type,
96
+ price: backendEvent.price,
97
+ quantity: backendEvent.quantity,
98
+ side: backendEvent.side,
99
+ tradingMode: tradingMode,
100
+ tradingPair: market,
101
+ tradingPairId: backendEvent.trading_pair_id,
102
+ userId: backendEvent.user_id,
103
+ cancelledAt: backendEvent.cancelled_at,
104
+ filledQuantity: backendEvent.filled_quantity,
105
+ remainingQuantity: backendEvent.remaining_quantity,
106
+ reason: backendEvent.reason,
107
+ },
108
+ };
109
+ handler(orderEvent);
110
+ }
111
+ else {
112
+ console.warn(`No handler found for order event: ${subscriptionKey}`, event);
113
+ }
114
+ }
115
+ catch (error) {
116
+ console.error("Error handling order event:", error, event);
117
+ }
118
+ }
119
+ /** Clean up resources when disconnecting */
120
+ cleanup() {
121
+ this.orderHandlers.clear();
122
+ }
123
+ }
124
+ //# sourceMappingURL=orders-ws-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orders-ws-client.js","sourceRoot":"","sources":["../../../../src/api/websocket/clients/orders-ws-client.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * WebSocket API Module
3
3
  *
4
- * Exports Base WebSocket client implementation + Orders WebSocket client implementation + Markets WebSocket client implementation
4
+ * Exports Base WebSocket client implementation + Orders WebSocket client implementation + OHLCV WebSocket client implementation + Orderbook WebSocket client implementation
5
5
  */
6
6
  export { BaseWebSocketClientImpl } from "./base-ws-client";
7
- export { OrdersWebSocketClientImpl } from "./orders-ws-client";
8
- export { OHLCVWebSocketClientImpl } from "./ohlcv-ws-client";
7
+ export { OrdersWebSocketClientImpl } from "./clients/orders-ws-client";
8
+ export { OHLCVWebSocketClientImpl } from "./clients/ohlcv-ws-client";
9
+ export { OrderbookWebSocketClientImpl } from "./clients/orderbook-ws-client";
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/websocket/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/websocket/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC"}
@@ -1,9 +1,10 @@
1
1
  /**
2
2
  * WebSocket API Module
3
3
  *
4
- * Exports Base WebSocket client implementation + Orders WebSocket client implementation + Markets WebSocket client implementation
4
+ * Exports Base WebSocket client implementation + Orders WebSocket client implementation + OHLCV WebSocket client implementation + Orderbook WebSocket client implementation
5
5
  */
6
6
  export { BaseWebSocketClientImpl } from "./base-ws-client";
7
- export { OrdersWebSocketClientImpl } from "./orders-ws-client";
8
- export { OHLCVWebSocketClientImpl } from "./ohlcv-ws-client";
7
+ export { OrdersWebSocketClientImpl } from "./clients/orders-ws-client";
8
+ export { OHLCVWebSocketClientImpl } from "./clients/ohlcv-ws-client";
9
+ export { OrderbookWebSocketClientImpl } from "./clients/orderbook-ws-client";
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/websocket/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/websocket/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  * Provides secure access to Monaco's hybrid trading architecture.
6
6
  */
7
7
  export { MonacoSDKImpl as MonacoSDK } from "./sdk";
8
- export type { MonacoSDK as IMonacoSDK, SDKConfig, Network, VaultAPI, TradingAPI, MarketAPI, ProfileAPI, OrdersWebSocketClient, OHLCVWebSocketClient, WebSocketConfig, ConnectionStatus, Balance, TransactionResult, CancelOrderResponse, Candlestick, CandlestickInterval, OHLCVEvent, } from "@0xmonaco/types";
8
+ export type { MonacoSDK as IMonacoSDK, SDKConfig, Network, VaultAPI, TradingAPI, MarketAPI, ProfileAPI, OrdersWebSocketClient, OHLCVWebSocketClient, WebSocketConfig, ConnectionStatus, Balance, TransactionResult, CancelOrderResponse, Candlestick, Interval, OHLCVEvent, } from "@0xmonaco/types";
9
9
  export { NETWORK_ENDPOINTS } from "./networks";
10
10
  export { MonacoCoreError, InitializationError, InvalidConfigError, InvalidStateError, UnsupportedNetworkError, APIError, ContractError, TransactionError, OrderError, InvalidOrderError, OrderNotFoundError, InsufficientBalanceError, EventError, SubscriptionError, } from "./errors";
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,OAAO,CAAC;AAMnD,YAAY,EACV,SAAS,IAAI,UAAU,EACvB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,UAAU,EACV,SAAS,EACT,UAAU,EACV,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACnB,UAAU,GACX,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAM/C,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,UAAU,EACV,iBAAiB,GAClB,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,OAAO,CAAC;AAMnD,YAAY,EACV,SAAS,IAAI,UAAU,EACvB,SAAS,EACT,OAAO,EACP,QAAQ,EACR,UAAU,EACV,SAAS,EACT,UAAU,EACV,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,QAAQ,EACR,UAAU,GACX,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAM/C,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,uBAAuB,EACvB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,UAAU,EACV,iBAAiB,GAClB,MAAM,UAAU,CAAC"}
package/dist/sdk.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Monaco SDK Implementation
3
3
  */
4
- import type { ApplicationsAPI, AuthAPI, AuthState, MarketAPI, MonacoSDK, Network, OrdersWebSocketClient, OHLCVWebSocketClient, ProfileAPI, SDKConfig, TradingAPI, VaultAPI } from "@0xmonaco/types";
4
+ import type { ApplicationsAPI, AuthAPI, AuthState, MarketAPI, MonacoSDK, Network, OrdersWebSocketClient, OHLCVWebSocketClient, OrderbookWebSocketClient, ProfileAPI, SDKConfig, TradingAPI, VaultAPI } from "@0xmonaco/types";
5
5
  import { type PublicClient, type TransactionReceipt, type WalletClient } from "viem";
6
6
  export declare class MonacoSDKImpl implements MonacoSDK {
7
7
  auth: AuthAPI;
@@ -13,6 +13,7 @@ export declare class MonacoSDKImpl implements MonacoSDK {
13
13
  websocket: {
14
14
  orders: OrdersWebSocketClient;
15
15
  ohlcv: OHLCVWebSocketClient;
16
+ orderbook: OrderbookWebSocketClient;
16
17
  };
17
18
  walletClient: WalletClient;
18
19
  publicClient: PublicClient;
package/dist/sdk.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EACV,eAAe,EACf,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,EACT,OAAO,EACP,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,SAAS,EACT,UAAU,EACV,QAAQ,EACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAClB,MAAM,MAAM,CAAC;AAkBd,qBAAa,aAAc,YAAW,SAAS;IACtC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,eAAe,CAAC;IAC9B,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,UAAU,CAAC;IACpB,SAAS,EAAE;QAChB,MAAM,EAAE,qBAAqB,CAAC;QAC9B,KAAK,EAAE,oBAAoB,CAAC;KAC7B,CAAC;IAEK,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAElC,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,KAAK,CAAQ;gBAET,GAAG,EAAE,SAAS;IA+D1B;;;OAGG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA0BjD;;;OAGG;IACH,YAAY,IAAI,SAAS,GAAG,SAAS;IAIrC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAY7B;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC;IAsCvC;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAO3B;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;;;;;OAMG;IACG,kBAAkB,CACtB,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC;CAO/B;AAMD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAE5D"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EACV,eAAe,EACf,OAAO,EACP,SAAS,EACT,SAAS,EACT,SAAS,EACT,OAAO,EACP,qBAAqB,EACrB,oBAAoB,EACpB,wBAAwB,EACxB,UAAU,EACV,SAAS,EACT,UAAU,EACV,QAAQ,EACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAClB,MAAM,MAAM,CAAC;AAmBd,qBAAa,aAAc,YAAW,SAAS;IACtC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,eAAe,CAAC;IAC9B,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,UAAU,CAAC;IACpB,SAAS,EAAE;QAChB,MAAM,EAAE,qBAAqB,CAAC;QAC9B,KAAK,EAAE,oBAAoB,CAAC;QAC5B,SAAS,EAAE,wBAAwB,CAAC;KACrC,CAAC;IAEK,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAElC,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,KAAK,CAAQ;gBAET,GAAG,EAAE,SAAS;IAkE1B;;;OAGG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IA0BjD;;;OAGG;IACH,YAAY,IAAI,SAAS,GAAG,SAAS;IAIrC;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAY7B;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC;IAuCvC;;OAEG;IACH,eAAe,IAAI,OAAO;IAI1B;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAO3B;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;;;;;OAMG;IACG,kBAAkB,CACtB,IAAI,EAAE,MAAM,EACZ,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC;CAO/B;AAMD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAE5D"}
package/dist/sdk.js CHANGED
@@ -6,7 +6,7 @@ import { MarketAPIImpl } from "./api/market";
6
6
  import { ProfileAPIImpl } from "./api/profile";
7
7
  import { TradingAPIImpl } from "./api/trading";
8
8
  import { VaultAPIImpl } from "./api/vault";
9
- import { OrdersWebSocketClientImpl, OHLCVWebSocketClientImpl, } from "./api/websocket";
9
+ import { OrdersWebSocketClientImpl, OHLCVWebSocketClientImpl, OrderbookWebSocketClientImpl, } from "./api/websocket";
10
10
  import { APIError, InvalidConfigError, InvalidStateError } from "./errors";
11
11
  import { NETWORK_ENDPOINTS } from "./networks";
12
12
  // ---------------------------------------------------------------------------
@@ -50,6 +50,9 @@ export class MonacoSDKImpl {
50
50
  ohlcv: new OHLCVWebSocketClientImpl({
51
51
  wsUrl: endpoints.apiUrl + "/ws",
52
52
  }),
53
+ orderbook: new OrderbookWebSocketClientImpl({
54
+ wsUrl: endpoints.apiUrl + "/ws",
55
+ }),
53
56
  };
54
57
  }
55
58
  // -----------------------------------------------------------------------
@@ -77,6 +80,7 @@ export class MonacoSDKImpl {
77
80
  // Set WebSocket access tokens
78
81
  this.websocket.orders.setAccessToken(this.authState.accessToken);
79
82
  this.websocket.ohlcv.setAccessToken(this.authState.accessToken);
83
+ this.websocket.orderbook.setAccessToken(this.authState.accessToken);
80
84
  return this.authState;
81
85
  }
82
86
  /**
@@ -124,6 +128,7 @@ export class MonacoSDKImpl {
124
128
  // Set WebSocket access tokens
125
129
  this.websocket.orders.setAccessToken(this.authState.accessToken);
126
130
  this.websocket.ohlcv.setAccessToken(this.authState.accessToken);
131
+ this.websocket.orderbook.setAccessToken(this.authState.accessToken);
127
132
  return this.authState;
128
133
  }
129
134
  catch (error) {
package/dist/sdk.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.js","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@0xmonaco/core",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -9,18 +9,18 @@
9
9
  "dist"
10
10
  ],
11
11
  "peerDependencies": {
12
- "viem": "2.x"
12
+ "viem": "^2.31.7"
13
13
  },
14
14
  "dependencies": {
15
- "@0xmonaco/contracts": "0.1.7",
16
- "@0xmonaco/types": "0.2.1"
15
+ "@0xmonaco/contracts": "0.1.8",
16
+ "@0xmonaco/types": "0.2.3"
17
17
  },
18
18
  "devDependencies": {
19
19
  "@types/node": "^20.11.30",
20
20
  "@types/ws": "^8.18.1",
21
21
  "@vitest/coverage-v8": "^1.3.1",
22
22
  "dotenv": "^17.1.0",
23
- "typescript": "5.7.3",
23
+ "typescript": "5.9.2",
24
24
  "vitest": "^1.3.1",
25
25
  "ws": "^8.18.3"
26
26
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"ohlcv-ws-client.d.ts","sourceRoot":"","sources":["../../../src/api/websocket/ohlcv-ws-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,UAAU,EACX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAE3D;;GAEG;AACH,qBAAa,wBACX,SAAQ,uBACR,YAAW,oBAAoB;IAE/B,OAAO,CAAC,aAAa,CAAuD;gBAEhE,MAAM,EAAE,eAAe;IAInC;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,CACd,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GACpC,IAAI;IAaP;;;;;;OAMG;IACH,oBAAoB,CAClB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,IAAI;IAaP,mEAAmE;IACnE,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IAU3C,0DAA0D;IAC1D,OAAO,CAAC,YAAY;IAgBpB,oDAAoD;IACpD,OAAO,CAAC,gBAAgB;IA+CxB,4CAA4C;IAC5C,UAAU,IAAI,IAAI;CAInB"}
@@ -1,123 +0,0 @@
1
- import { BaseWebSocketClientImpl } from "./base-ws-client";
2
- /**
3
- * OHLCV-specific WebSocket client implementation
4
- */
5
- export class OHLCVWebSocketClientImpl extends BaseWebSocketClientImpl {
6
- constructor(config) {
7
- super(config);
8
- this.ohlcvHandlers = new Map();
9
- }
10
- /**
11
- * Subscribe to OHLCV (candlestick) updates for a specific trading pair, mode, and interval.
12
- *
13
- * @param symbol - Trading pair symbol (e.g., "BTC-USDC")
14
- * @param tradingMode - Trading mode ("SPOT" or "MARGIN")
15
- * @param interval - Candlestick interval (e.g., "1m", "5m", "1h", "1d")
16
- * @param callback - Function to handle incoming OHLCV events
17
- *
18
- * @example
19
- * ```typescript
20
- * ohlcvWS.subscribeToOHLCV("BTC-USDC", "SPOT", "1m", (event) => {
21
- * console.log("New OHLCV data:", event.candlestick);
22
- * });
23
- * ```
24
- */
25
- subscribeToOHLCV(symbol, tradingMode, interval, callback) {
26
- const channel = `ohlcv:${symbol.toUpperCase()}:${tradingMode.toUpperCase()}:${interval.toLowerCase()}`;
27
- const subscriptionKey = `${symbol.toUpperCase()}-${tradingMode.toUpperCase()}-${interval.toLowerCase()}`;
28
- this.ohlcvHandlers.set(subscriptionKey, callback);
29
- // Send subscription message using the backend's channel format
30
- this.send({
31
- type: "Subscribe",
32
- channels: [channel],
33
- });
34
- }
35
- /**
36
- * Unsubscribe from OHLCV (candlestick) updates.
37
- *
38
- * @param symbol - Trading pair symbol (e.g., "BTC-USDC")
39
- * @param tradingMode - Trading mode ("SPOT" or "MARGIN")
40
- * @param interval - Candlestick interval (e.g., "1m", "5m", "1h", "1d")
41
- */
42
- unsubscribeFromOHLCV(symbol, tradingMode, interval) {
43
- const channel = `ohlcv:${symbol.toUpperCase()}:${tradingMode.toUpperCase()}:${interval.toLowerCase()}`;
44
- const subscriptionKey = `${symbol.toUpperCase()}-${tradingMode.toUpperCase()}-${interval.toLowerCase()}`;
45
- this.ohlcvHandlers.delete(subscriptionKey);
46
- // Send unsubscription message
47
- this.send({
48
- type: "Unsubscribe",
49
- channels: [channel],
50
- });
51
- }
52
- /** Handle incoming WebSocket messages with OHLCV-specific logic */
53
- handleMessage(message) {
54
- // Handle base messages first (PONG, etc.)
55
- super.handleMessage(message);
56
- // Handle OHLCV-specific Event messages
57
- if (this.isOHLCVEvent(message)) {
58
- this.handleOHLCVEvent(message);
59
- }
60
- }
61
- /** Check if message is an OHLCV event from the backend */
62
- isOHLCVEvent(message) {
63
- if (!message || typeof message !== "object") {
64
- return false;
65
- }
66
- // Backend sends: { type: "Event", channel: "ohlcv:...", data: {...} }
67
- return (message.type === "Event" &&
68
- message.channel &&
69
- typeof message.channel === "string" &&
70
- message.channel.startsWith("ohlcv:") &&
71
- message.data &&
72
- typeof message.data === "object");
73
- }
74
- /** Handle OHLCV-specific events from the backend */
75
- handleOHLCVEvent(event) {
76
- try {
77
- // Parse channel: "ohlcv:BTC-USDC:SPOT:1m"
78
- const channelParts = event.channel.split(":");
79
- if (channelParts.length !== 4) {
80
- console.warn("Invalid OHLCV channel format:", event.channel);
81
- return;
82
- }
83
- const [, symbol, tradingMode, interval] = channelParts;
84
- const subscriptionKey = `${symbol.toUpperCase()}-${tradingMode.toUpperCase()}-${interval.toLowerCase()}`;
85
- const handler = this.ohlcvHandlers.get(subscriptionKey);
86
- if (handler) {
87
- // Backend OHLCVUpdateEvent structure
88
- const ohlcvData = event.data.data || event.data;
89
- // Transform to match OHLCVEvent interface
90
- const ohlcvEvent = {
91
- symbol: ohlcvData.pair || symbol,
92
- interval: ohlcvData.interval || interval,
93
- tradingMode: ohlcvData.trading_mode || tradingMode,
94
- candlestick: {
95
- t: ohlcvData.period_start || 0,
96
- T: ohlcvData.period_end || 0,
97
- o: ohlcvData.open || "0",
98
- h: ohlcvData.high || "0",
99
- l: ohlcvData.low || "0",
100
- c: ohlcvData.close || "0",
101
- v: ohlcvData.volume || "0",
102
- s: ohlcvData.pair || symbol,
103
- i: ohlcvData.interval || interval,
104
- n: ohlcvData.trades_count || 0,
105
- },
106
- };
107
- handler(ohlcvEvent);
108
- }
109
- else {
110
- console.debug(`No handler registered for OHLCV subscription: ${subscriptionKey}`);
111
- }
112
- }
113
- catch (error) {
114
- console.error("Error handling OHLCV event:", error, event);
115
- }
116
- }
117
- /** Clean up OHLCV handlers on disconnect */
118
- disconnect() {
119
- this.ohlcvHandlers.clear();
120
- super.disconnect();
121
- }
122
- }
123
- //# sourceMappingURL=ohlcv-ws-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ohlcv-ws-client.js","sourceRoot":"","sources":["../../../src/api/websocket/ohlcv-ws-client.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"orders-ws-client.d.ts","sourceRoot":"","sources":["../../../src/api/websocket/orders-ws-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;GAEG;AACH,qBAAa,yBACX,SAAQ,uBACR,YAAW,qBAAqB;IAEhC,OAAO,CAAC,aAAa,CACT;gBAEA,MAAM,EAAE,eAAe;IAInC;;;;;;;;;;;;;OAaG;IACH,sBAAsB,CACpB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GACpC,IAAI;IAaP;;;;;OAKG;IACH,0BAA0B,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAarE,mEAAmE;IACnE,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IAU3C,0DAA0D;IAC1D,OAAO,CAAC,YAAY;IAgBpB,oDAAoD;IACpD,OAAO,CAAC,gBAAgB;IAwDxB,kDAAkD;IAClD,UAAU,IAAI,IAAI;CAInB"}
@@ -1,131 +0,0 @@
1
- import { BaseWebSocketClientImpl } from "./base-ws-client";
2
- /**
3
- * Orders-specific WebSocket client implementation
4
- */
5
- export class OrdersWebSocketClientImpl extends BaseWebSocketClientImpl {
6
- constructor(config) {
7
- super(config);
8
- this.orderHandlers = new Map();
9
- }
10
- /**
11
- * Subscribe to order events for a specific market and trading mode.
12
- *
13
- * @param market - Trading pair symbol (e.g., "BTC-USDC")
14
- * @param tradingMode - Trading mode ("SPOT" or "MARGIN")
15
- * @param callback - Function to handle incoming order events
16
- *
17
- * @example
18
- * ```typescript
19
- * ordersWS.subscribeToOrderEvents("BTC-USDC", "SPOT", (event) => {
20
- * console.log("Order event:", event.eventType);
21
- * });
22
- * ```
23
- */
24
- subscribeToOrderEvents(market, tradingMode, callback) {
25
- const channel = `orders:${market.toUpperCase()}:${tradingMode.toUpperCase()}`;
26
- const subscriptionKey = `${market.toUpperCase()}-${tradingMode.toUpperCase()}`;
27
- this.orderHandlers.set(subscriptionKey, callback);
28
- // Send subscription message using backend's channel format
29
- this.send({
30
- type: "Subscribe",
31
- channels: [channel],
32
- });
33
- }
34
- /**
35
- * Unsubscribe from order events for a specific market and trading mode.
36
- *
37
- * @param market - Trading pair symbol (e.g., "BTC-USDC")
38
- * @param tradingMode - Trading mode ("SPOT" or "MARGIN")
39
- */
40
- unsubscribeFromOrderEvents(market, tradingMode) {
41
- const channel = `orders:${market.toUpperCase()}:${tradingMode.toUpperCase()}`;
42
- const subscriptionKey = `${market.toUpperCase()}-${tradingMode.toUpperCase()}`;
43
- this.orderHandlers.delete(subscriptionKey);
44
- // Send unsubscription message
45
- this.send({
46
- type: "Unsubscribe",
47
- channels: [channel],
48
- });
49
- }
50
- /** Handle incoming WebSocket messages with order-specific logic */
51
- handleMessage(message) {
52
- // Handle base messages first (PONG, etc.)
53
- super.handleMessage(message);
54
- // Handle order-specific Event messages
55
- if (this.isOrderEvent(message)) {
56
- this.handleOrderEvent(message);
57
- }
58
- }
59
- /** Check if message is an order event from the backend */
60
- isOrderEvent(message) {
61
- if (!message || typeof message !== "object") {
62
- return false;
63
- }
64
- // Backend sends: { type: "Event", channel: "orders:...", data: {...} }
65
- return (message.type === "Event" &&
66
- message.channel &&
67
- typeof message.channel === "string" &&
68
- message.channel.startsWith("orders:") &&
69
- message.data &&
70
- typeof message.data === "object");
71
- }
72
- /** Handle order-specific events from the backend */
73
- handleOrderEvent(event) {
74
- try {
75
- // Parse channel: "orders:BTC-USDC:SPOT" or just "orders"
76
- const channelParts = event.channel.split(":");
77
- let subscriptionKey;
78
- if (channelParts.length === 3) {
79
- // Specific market and mode: "orders:BTC-USDC:SPOT"
80
- const [, market, tradingMode] = channelParts;
81
- subscriptionKey = `${market.toUpperCase()}-${tradingMode.toUpperCase()}`;
82
- }
83
- else if (channelParts.length === 1) {
84
- // All orders: "orders"
85
- subscriptionKey = "all";
86
- }
87
- else {
88
- console.warn("Invalid orders channel format:", event.channel);
89
- return;
90
- }
91
- const handler = this.orderHandlers.get(subscriptionKey);
92
- if (handler) {
93
- // Backend order event structure (matching matching_engine::types::OrderEvent)
94
- const orderData = event.data;
95
- // Transform to match OrderEvent interface
96
- const transformedEvent = {
97
- orderId: orderData.order_id,
98
- eventType: orderData.event_type,
99
- details: {
100
- userId: orderData.data?.user_id,
101
- applicationId: orderData.data?.application_id,
102
- orderType: orderData.data?.order_type,
103
- price: orderData.data?.price,
104
- quantity: orderData.data?.quantity,
105
- side: orderData.data?.side,
106
- tradingMode: orderData.data?.trading_mode,
107
- tradingPair: orderData.data?.trading_pair,
108
- tradingPairId: orderData.data?.trading_pair_id,
109
- cancelledAt: orderData.data?.cancelled_at,
110
- filledQuantity: orderData.data?.filled_quantity,
111
- remainingQuantity: orderData.data?.remaining_quantity,
112
- reason: orderData.data?.reason,
113
- },
114
- };
115
- handler(transformedEvent);
116
- }
117
- else {
118
- console.debug(`No handler registered for orders subscription: ${subscriptionKey}`);
119
- }
120
- }
121
- catch (error) {
122
- console.error("Error handling order event:", error, event);
123
- }
124
- }
125
- /** Clean up order event handlers on disconnect */
126
- disconnect() {
127
- this.orderHandlers.clear();
128
- super.disconnect();
129
- }
130
- }
131
- //# sourceMappingURL=orders-ws-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"orders-ws-client.js","sourceRoot":"","sources":["../../../src/api/websocket/orders-ws-client.ts"],"names":[],"mappings":"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"}