@0xmonaco/core 0.4.1 → 0.4.2

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 (127) hide show
  1. package/README.md +22 -0
  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 -1
  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 -1
  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.js +1 -1
  19. package/dist/api/base.js.map +1 -1
  20. package/dist/api/fees/api.d.ts +1 -1
  21. package/dist/api/fees/api.d.ts.map +1 -1
  22. package/dist/api/fees/api.js +1 -1
  23. package/dist/api/fees/api.js.map +1 -1
  24. package/dist/api/fees/index.d.ts +1 -1
  25. package/dist/api/fees/index.d.ts.map +1 -1
  26. package/dist/api/fees/index.js +1 -1
  27. package/dist/api/fees/index.js.map +1 -1
  28. package/dist/api/index.d.ts +10 -8
  29. package/dist/api/index.d.ts.map +1 -1
  30. package/dist/api/index.js +10 -8
  31. package/dist/api/index.js.map +1 -1
  32. package/dist/api/market/api.d.ts +1 -1
  33. package/dist/api/market/api.d.ts.map +1 -1
  34. package/dist/api/market/api.js +1 -1
  35. package/dist/api/market/api.js.map +1 -1
  36. package/dist/api/market/index.d.ts +1 -1
  37. package/dist/api/market/index.d.ts.map +1 -1
  38. package/dist/api/market/index.js +1 -1
  39. package/dist/api/market/index.js.map +1 -1
  40. package/dist/api/orderbook/api.d.ts +16 -0
  41. package/dist/api/orderbook/api.d.ts.map +1 -0
  42. package/dist/api/orderbook/api.js +38 -0
  43. package/dist/api/orderbook/api.js.map +1 -0
  44. package/dist/api/orderbook/index.d.ts +2 -0
  45. package/dist/api/orderbook/index.d.ts.map +1 -0
  46. package/dist/api/orderbook/index.js +2 -0
  47. package/dist/api/orderbook/index.js.map +1 -0
  48. package/dist/api/profile/api.d.ts +1 -1
  49. package/dist/api/profile/api.d.ts.map +1 -1
  50. package/dist/api/profile/api.js +1 -1
  51. package/dist/api/profile/api.js.map +1 -1
  52. package/dist/api/profile/index.d.ts +1 -1
  53. package/dist/api/profile/index.d.ts.map +1 -1
  54. package/dist/api/profile/index.js +1 -1
  55. package/dist/api/profile/index.js.map +1 -1
  56. package/dist/api/trades/api.d.ts +45 -0
  57. package/dist/api/trades/api.d.ts.map +1 -0
  58. package/dist/api/trades/api.js +43 -0
  59. package/dist/api/trades/api.js.map +1 -0
  60. package/dist/api/trades/index.d.ts +2 -0
  61. package/dist/api/trades/index.d.ts.map +1 -0
  62. package/dist/api/trades/index.js +2 -0
  63. package/dist/api/trades/index.js.map +1 -0
  64. package/dist/api/trading/api.d.ts +1 -1
  65. package/dist/api/trading/api.d.ts.map +1 -1
  66. package/dist/api/trading/api.js +1 -1
  67. package/dist/api/trading/api.js.map +1 -1
  68. package/dist/api/trading/index.d.ts +1 -1
  69. package/dist/api/trading/index.d.ts.map +1 -1
  70. package/dist/api/trading/index.js +1 -1
  71. package/dist/api/trading/index.js.map +1 -1
  72. package/dist/api/vault/api.d.ts +1 -1
  73. package/dist/api/vault/api.d.ts.map +1 -1
  74. package/dist/api/vault/api.js +2 -2
  75. package/dist/api/vault/api.js.map +1 -1
  76. package/dist/api/vault/index.d.ts +1 -1
  77. package/dist/api/vault/index.d.ts.map +1 -1
  78. package/dist/api/vault/index.js +1 -1
  79. package/dist/api/vault/index.js.map +1 -1
  80. package/dist/api/websocket/index.d.ts +3 -9
  81. package/dist/api/websocket/index.d.ts.map +1 -1
  82. package/dist/api/websocket/index.js +3 -9
  83. package/dist/api/websocket/index.js.map +1 -1
  84. package/dist/api/websocket/types.d.ts +34 -0
  85. package/dist/api/websocket/types.d.ts.map +1 -0
  86. package/dist/api/websocket/types.js +2 -0
  87. package/dist/api/websocket/types.js.map +1 -0
  88. package/dist/api/websocket/utils.d.ts +9 -0
  89. package/dist/api/websocket/utils.d.ts.map +1 -0
  90. package/dist/api/websocket/utils.js +23 -0
  91. package/dist/api/websocket/utils.js.map +1 -0
  92. package/dist/api/websocket/websocket.d.ts +6 -0
  93. package/dist/api/websocket/websocket.d.ts.map +1 -0
  94. package/dist/api/websocket/websocket.js +314 -0
  95. package/dist/api/websocket/websocket.js.map +1 -0
  96. package/dist/index.d.ts +6 -5
  97. package/dist/index.d.ts.map +1 -1
  98. package/dist/index.js +5 -7
  99. package/dist/index.js.map +1 -1
  100. package/dist/networks.d.ts +1 -1
  101. package/dist/networks.js +3 -3
  102. package/dist/networks.js.map +1 -1
  103. package/dist/sdk.d.ts +15 -24
  104. package/dist/sdk.d.ts.map +1 -1
  105. package/dist/sdk.js +48 -67
  106. package/dist/sdk.js.map +1 -1
  107. package/dist/utils/index.d.ts +1 -1
  108. package/dist/utils/index.d.ts.map +1 -1
  109. package/dist/utils/index.js +1 -1
  110. package/dist/utils/index.js.map +1 -1
  111. package/package.json +3 -3
  112. package/dist/api/websocket/base-ws-client.d.ts +0 -85
  113. package/dist/api/websocket/base-ws-client.d.ts.map +0 -1
  114. package/dist/api/websocket/base-ws-client.js +0 -256
  115. package/dist/api/websocket/base-ws-client.js.map +0 -1
  116. package/dist/api/websocket/clients/ohlcv-ws-client.d.ts +0 -57
  117. package/dist/api/websocket/clients/ohlcv-ws-client.d.ts.map +0 -1
  118. package/dist/api/websocket/clients/ohlcv-ws-client.js +0 -132
  119. package/dist/api/websocket/clients/ohlcv-ws-client.js.map +0 -1
  120. package/dist/api/websocket/clients/orderbook-ws-client.d.ts +0 -70
  121. package/dist/api/websocket/clients/orderbook-ws-client.d.ts.map +0 -1
  122. package/dist/api/websocket/clients/orderbook-ws-client.js +0 -197
  123. package/dist/api/websocket/clients/orderbook-ws-client.js.map +0 -1
  124. package/dist/api/websocket/clients/orders-ws-client.d.ts +0 -61
  125. package/dist/api/websocket/clients/orders-ws-client.d.ts.map +0 -1
  126. package/dist/api/websocket/clients/orders-ws-client.js +0 -150
  127. package/dist/api/websocket/clients/orders-ws-client.js.map +0 -1
@@ -0,0 +1,314 @@
1
+ import { ALL_MAGNITUDES } from "../../utils";
2
+ import { keysToCamelCase } from "./utils";
3
+ // Connection constants
4
+ const CONNECTION_TIMEOUT = 10000;
5
+ const HEARTBEAT_INTERVAL = 15000;
6
+ const MAX_RECONNECT_DELAY = 30000;
7
+ /**
8
+ * Create a Monaco WebSocket client
9
+ */
10
+ export function createMonacoWebSocket(baseUrl, options = {}) {
11
+ let ws = null;
12
+ let token = options.token;
13
+ let reconnectAttempts = 0;
14
+ let reconnectTimer = null;
15
+ let heartbeatTimer = null;
16
+ let autoReconnect = options.autoReconnect ?? true;
17
+ const maxReconnectAttempts = options.maxReconnectAttempts ?? 5;
18
+ // Handler storage: channel -> handler
19
+ const handlers = new Map();
20
+ const getStatus = () => {
21
+ if (!ws)
22
+ return "disconnected";
23
+ switch (ws.readyState) {
24
+ case WebSocket.CONNECTING:
25
+ return "connecting";
26
+ case WebSocket.OPEN:
27
+ return "connected";
28
+ default:
29
+ return "disconnected";
30
+ }
31
+ };
32
+ const getUrl = () => {
33
+ const url = new URL(baseUrl);
34
+ if (token)
35
+ url.searchParams.set("token", token);
36
+ return url.toString();
37
+ };
38
+ const stopHeartbeat = () => {
39
+ if (heartbeatTimer) {
40
+ clearInterval(heartbeatTimer);
41
+ heartbeatTimer = null;
42
+ }
43
+ };
44
+ const startHeartbeat = () => {
45
+ stopHeartbeat();
46
+ heartbeatTimer = setInterval(() => {
47
+ if (ws?.readyState === WebSocket.OPEN) {
48
+ ws.send(JSON.stringify({ type: "Ping" }));
49
+ }
50
+ }, HEARTBEAT_INTERVAL);
51
+ };
52
+ const stopReconnect = () => {
53
+ if (reconnectTimer) {
54
+ clearTimeout(reconnectTimer);
55
+ reconnectTimer = null;
56
+ }
57
+ };
58
+ const scheduleReconnect = () => {
59
+ if (!autoReconnect || reconnectAttempts >= maxReconnectAttempts) {
60
+ console.error("WebSocket: Max reconnect attempts reached");
61
+ return;
62
+ }
63
+ reconnectAttempts++;
64
+ const delay = Math.min(1000 * 2 ** reconnectAttempts, MAX_RECONNECT_DELAY);
65
+ reconnectTimer = setTimeout(() => connect(), delay);
66
+ };
67
+ const send = (data) => {
68
+ if (ws?.readyState === WebSocket.OPEN) {
69
+ ws.send(JSON.stringify(data));
70
+ }
71
+ };
72
+ const resubscribeAll = () => {
73
+ const channels = Array.from(handlers.keys());
74
+ if (channels.length > 0) {
75
+ send({ type: "Subscribe", channels });
76
+ }
77
+ };
78
+ const routeMessage = (msg) => {
79
+ if (msg.type !== "Event" || !msg.channel)
80
+ return;
81
+ // Find matching handler
82
+ for (const [subscriptionChannel, handler] of handlers) {
83
+ if (msg.channel === subscriptionChannel || msg.channel.startsWith(`${subscriptionChannel}:`)) {
84
+ handler(msg.data);
85
+ return;
86
+ }
87
+ }
88
+ };
89
+ const connect = () => {
90
+ return new Promise((resolve, reject) => {
91
+ // Use WebSocket's built-in readyState instead of manual tracking
92
+ if (ws?.readyState === WebSocket.CONNECTING || ws?.readyState === WebSocket.OPEN) {
93
+ resolve();
94
+ return;
95
+ }
96
+ try {
97
+ ws = new WebSocket(getUrl());
98
+ const timeout = setTimeout(() => {
99
+ if (ws?.readyState === WebSocket.CONNECTING) {
100
+ ws.close();
101
+ reject(new Error("WebSocket connection timeout"));
102
+ }
103
+ }, CONNECTION_TIMEOUT);
104
+ ws.onopen = () => {
105
+ clearTimeout(timeout);
106
+ reconnectAttempts = 0;
107
+ startHeartbeat();
108
+ resubscribeAll();
109
+ options.onStatusChange?.("connected");
110
+ resolve();
111
+ };
112
+ ws.onmessage = (event) => {
113
+ try {
114
+ const msg = JSON.parse(event.data);
115
+ // Handle pong silently
116
+ if (msg.type === "Pong")
117
+ return;
118
+ routeMessage(msg);
119
+ }
120
+ catch (err) {
121
+ console.warn("WebSocket: Failed to parse message", err);
122
+ }
123
+ };
124
+ ws.onclose = (event) => {
125
+ clearTimeout(timeout);
126
+ stopHeartbeat();
127
+ options.onStatusChange?.("disconnected");
128
+ // Reconnect on abnormal close
129
+ if (autoReconnect && event.code !== 1000) {
130
+ scheduleReconnect();
131
+ }
132
+ };
133
+ ws.onerror = () => {
134
+ clearTimeout(timeout);
135
+ if (ws?.readyState === WebSocket.CONNECTING) {
136
+ reject(new Error("WebSocket connection failed"));
137
+ }
138
+ };
139
+ }
140
+ catch (err) {
141
+ options.onStatusChange?.("disconnected");
142
+ reject(err);
143
+ }
144
+ });
145
+ };
146
+ const disconnect = () => {
147
+ autoReconnect = false;
148
+ stopReconnect();
149
+ stopHeartbeat();
150
+ handlers.clear();
151
+ ws?.close(1000, "Client disconnect");
152
+ ws = null;
153
+ options.onStatusChange?.("disconnected");
154
+ };
155
+ const subscribe = (channel, handler) => {
156
+ handlers.set(channel, handler);
157
+ if (ws?.readyState === WebSocket.OPEN) {
158
+ send({ type: "Subscribe", channels: [channel] });
159
+ }
160
+ // Return unsubscribe function
161
+ return () => {
162
+ handlers.delete(channel);
163
+ if (ws?.readyState === WebSocket.OPEN) {
164
+ send({ type: "Unsubscribe", channels: [channel] });
165
+ }
166
+ };
167
+ };
168
+ // --- Channel-specific subscription methods ---
169
+ const subscribeOrders = (market, tradingMode, handler) => {
170
+ const channel = `orders:${market}:${tradingMode}`;
171
+ return subscribe(channel, (rawData) => {
172
+ try {
173
+ const data = rawData;
174
+ const event = {
175
+ orderId: data.order_id,
176
+ eventType: data.event_type,
177
+ timestamp: data.timestamp,
178
+ data: keysToCamelCase(data.data),
179
+ };
180
+ handler(event);
181
+ }
182
+ catch (err) {
183
+ console.error("WebSocket: Error processing order event", err);
184
+ }
185
+ });
186
+ };
187
+ const subscribeOrderbook = (market, tradingMode, magnitude, quotationMode, handler) => {
188
+ if (!market || !tradingMode || magnitude === undefined || !quotationMode) {
189
+ throw new Error(`orderbook subscription requires all params: market="${market}", tradingMode="${tradingMode}", magnitude=${magnitude} (valid: ${ALL_MAGNITUDES.join(", ")}), quotationMode="${quotationMode}" (valid: "BASE", "QUOTE")`);
190
+ }
191
+ if (!ALL_MAGNITUDES.includes(magnitude)) {
192
+ throw new Error(`Invalid magnitude: ${magnitude}. Must be one of: ${ALL_MAGNITUDES.join(", ")}`);
193
+ }
194
+ const channel = `orderbook:${market}:${tradingMode}:${magnitude}:${quotationMode.toLowerCase()}`;
195
+ return subscribe(channel, (rawData) => {
196
+ try {
197
+ const data = rawData;
198
+ const orderbookData = data.data;
199
+ const event = {
200
+ symbol: data.pair,
201
+ tradingMode: data.trading_mode,
202
+ bids: (orderbookData?.bids || []).map((level) => ({
203
+ price: level.price,
204
+ quantity: level.quantity,
205
+ orderCount: level.order_count || 0,
206
+ })),
207
+ asks: (orderbookData?.asks || []).map((level) => ({
208
+ price: level.price,
209
+ quantity: level.quantity,
210
+ orderCount: level.order_count || 0,
211
+ })),
212
+ bestBid: orderbookData?.best_bid,
213
+ bestAsk: orderbookData?.best_ask,
214
+ bidVolume: orderbookData?.bid_volume || undefined,
215
+ askVolume: orderbookData?.ask_volume || undefined,
216
+ priceChange: orderbookData?.price_change
217
+ ? {
218
+ side: orderbookData.price_change.side,
219
+ oldPrice: orderbookData.price_change.old_price,
220
+ newPrice: orderbookData.price_change.new_price,
221
+ levelRemoved: orderbookData.price_change.level_removed || false,
222
+ levelAdded: orderbookData.price_change.level_added || false,
223
+ }
224
+ : undefined,
225
+ baseDecimals: data.base_decimals || 0,
226
+ quoteDecimals: data.quote_decimals || 0,
227
+ timestamp: data.timestamp || new Date().toISOString(),
228
+ sequence: data.sequence_number || 0,
229
+ };
230
+ handler(event);
231
+ }
232
+ catch (err) {
233
+ console.error("WebSocket: Error processing orderbook event", err);
234
+ }
235
+ });
236
+ };
237
+ const subscribeOHLCV = (symbol, tradingMode, interval, handler) => {
238
+ const channel = `ohlcv:${symbol}:${tradingMode}:${interval}`;
239
+ return subscribe(channel, (rawData) => {
240
+ try {
241
+ const data = rawData;
242
+ const ohlcvData = data.data;
243
+ const event = {
244
+ symbol: data.pair,
245
+ tradingMode: data.trading_mode,
246
+ interval: data.interval,
247
+ candlestick: {
248
+ T: ohlcvData.period_start || 0,
249
+ t: ohlcvData.period_end || 0,
250
+ o: ohlcvData.open || "0",
251
+ h: ohlcvData.high || "0",
252
+ l: ohlcvData.low || "0",
253
+ c: ohlcvData.close || "0",
254
+ v: ohlcvData.volume || "0",
255
+ s: data.pair,
256
+ i: data.interval,
257
+ n: ohlcvData.trades_count || 0,
258
+ },
259
+ };
260
+ handler(event);
261
+ }
262
+ catch (err) {
263
+ console.error("WebSocket: Error processing OHLCV event", err);
264
+ }
265
+ });
266
+ };
267
+ const subscribeTrades = (tradingPairId, handler) => {
268
+ const channel = `trades:${tradingPairId}`;
269
+ return subscribe(channel, (rawData) => {
270
+ try {
271
+ const data = rawData;
272
+ const tradeData = data.data;
273
+ const event = {
274
+ eventType: "trade",
275
+ pairId: data.pair_id,
276
+ tradingMode: data.trading_mode.toUpperCase(),
277
+ data: {
278
+ tradeId: tradeData.trade_id,
279
+ price: tradeData.price,
280
+ quantity: tradeData.quantity,
281
+ makerSide: tradeData.maker_side.toUpperCase(),
282
+ executedAt: tradeData.executed_at,
283
+ },
284
+ };
285
+ handler(event);
286
+ }
287
+ catch (err) {
288
+ console.error("WebSocket: Error processing trade event", err);
289
+ }
290
+ });
291
+ };
292
+ return {
293
+ connect,
294
+ disconnect,
295
+ isConnected: () => ws?.readyState === WebSocket.OPEN,
296
+ getStatus,
297
+ setToken: (newToken) => {
298
+ token = newToken;
299
+ // Reconnect to include token in ws URL
300
+ if (ws?.readyState === WebSocket.OPEN || ws?.readyState === WebSocket.CONNECTING) {
301
+ ws.close(1000, "Token updated, reconnecting.");
302
+ ws = null;
303
+ }
304
+ connect().catch((err) => {
305
+ console.warn("WebSocket: Failed to reconnect after token update:", err);
306
+ });
307
+ },
308
+ orders: subscribeOrders,
309
+ orderbook: subscribeOrderbook,
310
+ ohlcv: subscribeOHLCV,
311
+ trades: subscribeTrades,
312
+ };
313
+ }
314
+ //# sourceMappingURL=websocket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../../src/api/websocket/websocket.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -4,9 +4,10 @@
4
4
  * TypeScript SDK for Monaco's Vault and Trading System
5
5
  * Provides secure access to Monaco's hybrid trading architecture.
6
6
  */
7
- export { createMonacoSDK, MonacoSDKImpl as MonacoSDK } from "./sdk.js";
8
- export type { Balance, CancelOrderResponse, Candlestick, ConnectionStatus, Interval, MarketAPI, MonacoSDK as IMonacoSDK, Network, OHLCVEvent, OHLCVWebSocketClient, OrdersWebSocketClient, ProfileAPI, SDKConfig, TradingAPI, TransactionResult, VaultAPI, WebSocketConfig, } from "@0xmonaco/types";
9
- export { resolveApiUrl } from "./networks.js";
10
- export { APIError, ContractError, InvalidConfigError, InvalidStateError, MonacoCoreError, OrderError, TransactionError, } from "./errors.js";
11
- export { ALL_MAGNITUDES, calculateValidMagnitudes, MAX_BUCKETS_ALLOWED, MIN_BUCKETS_ALLOWED, } from "./utils/index.js";
7
+ export type { GetTradesOptions, TradeRecord } from "./api/trades";
8
+ export { createMonacoWebSocket, type MonacoWebSocket, type MonacoWebSocketOptions } from "./api/websocket";
9
+ export { createMonacoSDK, MonacoSDKImpl as MonacoSDK } from "./sdk";
10
+ export { resolveApiUrl } from "./networks";
11
+ export { APIError, ContractError, InvalidConfigError, InvalidStateError, MonacoCoreError, OrderError, TransactionError, } from "./errors";
12
+ export { ALL_MAGNITUDES, calculateValidMagnitudes, MAX_BUCKETS_ALLOWED, MIN_BUCKETS_ALLOWED, } from "./utils";
12
13
  //# 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,eAAe,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,UAAU,CAAC;AAMvE,YAAY,EACV,OAAO,EACP,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACT,SAAS,IAAI,UAAU,EACvB,OAAO,EACP,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,QAAQ,EACR,eAAe,GAChB,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAM9C,OAAO,EACL,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAMrB,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,KAAK,eAAe,EAAE,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC3G,OAAO,EAAE,eAAe,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,OAAO,CAAC;AAMpE,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAM3C,OAAO,EACL,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAMlB,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -4,20 +4,18 @@
4
4
  * TypeScript SDK for Monaco's Vault and Trading System
5
5
  * Provides secure access to Monaco's hybrid trading architecture.
6
6
  */
7
- // ============================================================================
8
- // Main SDK Export
9
- // ============================================================================
10
- export { createMonacoSDK, MonacoSDKImpl as MonacoSDK } from "./sdk.js";
7
+ export { createMonacoWebSocket } from "./api/websocket";
8
+ export { createMonacoSDK, MonacoSDKImpl as MonacoSDK } from "./sdk";
11
9
  // ============================================================================
12
10
  // Network Configuration
13
11
  // ============================================================================
14
- export { resolveApiUrl } from "./networks.js";
12
+ export { resolveApiUrl } from "./networks";
15
13
  // ============================================================================
16
14
  // Error Classes
17
15
  // ============================================================================
18
- export { APIError, ContractError, InvalidConfigError, InvalidStateError, MonacoCoreError, OrderError, TransactionError, } from "./errors.js";
16
+ export { APIError, ContractError, InvalidConfigError, InvalidStateError, MonacoCoreError, OrderError, TransactionError, } from "./errors";
19
17
  // ============================================================================
20
18
  // Utility Functions & Constants
21
19
  // ============================================================================
22
- export { ALL_MAGNITUDES, calculateValidMagnitudes, MAX_BUCKETS_ALLOWED, MIN_BUCKETS_ALLOWED, } from "./utils/index.js";
20
+ export { ALL_MAGNITUDES, calculateValidMagnitudes, MAX_BUCKETS_ALLOWED, MIN_BUCKETS_ALLOWED, } from "./utils";
23
21
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E,OAAO,EAAE,eAAe,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,UAAU,CAAC;AA0BvE,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,OAAO,EACL,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAErB,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EAAE,qBAAqB,EAAqD,MAAM,iBAAiB,CAAC;AAC3G,OAAO,EAAE,eAAe,EAAE,aAAa,IAAI,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,OAAO,EACL,QAAQ,EACR,aAAa,EACb,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAElB,+EAA+E;AAC/E,gCAAgC;AAChC,+EAA+E;AAE/E,OAAO,EACL,cAAc,EACd,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * Monaco SDK Network Configuration
3
3
  *
4
4
  * Network configuration and endpoints with hardcoded defaults.
5
- * No environment variables required - all configuration is provided at runtime.
5
+ * No environment variables are required - all configuration is provided at runtime.
6
6
  */
7
7
  import type { Network } from "@0xmonaco/types";
8
8
  /**
package/dist/networks.js CHANGED
@@ -2,15 +2,15 @@
2
2
  * Monaco SDK Network Configuration
3
3
  *
4
4
  * Network configuration and endpoints with hardcoded defaults.
5
- * No environment variables required - all configuration is provided at runtime.
5
+ * No environment variables are required - all configuration is provided at runtime.
6
6
  */
7
7
  /**
8
8
  * Default API URLs for preset networks
9
9
  */
10
10
  const DEFAULT_API_URLS = {
11
11
  local: "http://localhost:8080",
12
- testnet: "https://dev.api-monaco.xyz",
13
- mainnet: "https://api-monaco.xyz",
12
+ testnet: "https://development.apimonaco.xyz",
13
+ staging: "https://staging.apimonaco.xyz",
14
14
  };
15
15
  /**
16
16
  * Resolve the API URL based on network
@@ -1 +1 @@
1
- {"version":3,"file":"networks.js","sourceRoot":"","sources":["../src/networks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,gBAAgB,GAA2B;IAC/C,KAAK,EAAE,uBAAuB;IAC9B,OAAO,EAAE,4BAA4B;IACrC,OAAO,EAAE,wBAAwB;CAClC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,+BAA+B;IAC/B,IAAI,OAAO,IAAI,gBAAgB,EAAE,CAAC;QAChC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,+CAA+C;IAC/C,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"networks.js","sourceRoot":"","sources":["../src/networks.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,gBAAgB,GAA2B;IAC/C,KAAK,EAAE,uBAAuB;IAC9B,OAAO,EAAE,mCAAmC;IAC5C,OAAO,EAAE,+BAA+B;CACzC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,+BAA+B;IAC/B,IAAI,OAAO,IAAI,gBAAgB,EAAE,CAAC;QAChC,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAED,+CAA+C;IAC/C,OAAO,OAAO,CAAC;AACjB,CAAC"}
package/dist/sdk.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * Monaco SDK Implementation
3
3
  */
4
- import type { ApplicationsAPI, AuthAPI, AuthState, FeesAPI, MarketAPI, MonacoSDK, Network, OHLCVWebSocketClient, OrderbookWebSocketClient, OrdersWebSocketClient, ProfileAPI, SDKConfig, TradingAPI, VaultAPI } from "@0xmonaco/types";
4
+ import type { ApplicationsAPI, AuthAPI, AuthState, FeesAPI, MarketAPI, MonacoSDK, Network, ProfileAPI, SDKConfig, TradingAPI, VaultAPI } from "@0xmonaco/types";
5
5
  import { type PublicClient, type TransactionReceipt, type WalletClient } from "viem";
6
+ import { type MonacoWebSocket, OrderbookAPIImpl, TradesAPIImpl } from "./api";
6
7
  export declare class MonacoSDKImpl implements MonacoSDK {
7
8
  auth: AuthAPI;
8
9
  applications: ApplicationsAPI;
@@ -11,16 +12,14 @@ export declare class MonacoSDKImpl implements MonacoSDK {
11
12
  trading: TradingAPI;
12
13
  market: MarketAPI;
13
14
  profile: ProfileAPI;
14
- websocket: {
15
- orders: OrdersWebSocketClient;
16
- ohlcv: OHLCVWebSocketClient;
17
- orderbook: OrderbookWebSocketClient;
18
- };
15
+ orderbook: OrderbookAPIImpl;
16
+ trades: TradesAPIImpl;
17
+ ws: MonacoWebSocket;
19
18
  walletClient: WalletClient;
20
19
  publicClient: PublicClient;
21
20
  private authState?;
22
- private network;
23
- private chain;
21
+ private readonly network;
22
+ private readonly chain;
24
23
  constructor(cfg: SDKConfig);
25
24
  /**
26
25
  * Authenticate the user
@@ -35,30 +34,22 @@ export declare class MonacoSDKImpl implements MonacoSDK {
35
34
  * when calling `auth.revokeToken()` or just call `sdk.logout()`.
36
35
  *
37
36
  * @param clientId - The client ID for authentication
38
- * @param options - Optional configuration
39
- * @param options.connectWebSocket - Auto-connect all authenticated WebSocket channels after login (currently Orders) (default: false)
40
- * @returns The authentication state with accessToken, refreshToken, user info, etc.
41
37
  *
42
38
  * @example
43
39
  * ```typescript
44
- * // Simple login (manual WebSocket connection)
40
+ * // Login and connect WebSocket
45
41
  * const authState = await sdk.login(clientId);
46
- * await sdk.websocket.orders.connect();
47
- *
48
- * // Auto-connect authenticated WebSocket channels (currently Orders)
49
- * const authState = await sdk.login(clientId, { connectWebSocket: true });
50
- * // Orders WebSocket is now connected and ready
51
- * sdk.websocket.orders.subscribeToOrderEvents("BTC/USDC", "SPOT", callback);
42
+ * await sdk.ws.connect();
43
+ * // WebSocket is now connected and ready
44
+ * const unsub = sdk.ws.orders("BTC/USDC", "SPOT", (event) => console.log(event));
52
45
  *
53
46
  * // Later, to revoke:
54
47
  * await sdk.auth.revokeToken(authState.refreshToken); // ✅
55
- * // Or simply:
56
- * await sdk.logout(); // ✅ Calls revokeToken internally and disconnects WebSockets
48
+ * // Or revoke and disconnect WebSocket:
49
+ * await sdk.logout(); // ✅ Calls revokeToken internally and disconnects WebSocket
57
50
  * ```
58
51
  */
59
- login(clientId: string, options?: {
60
- connectWebSocket?: boolean;
61
- }): Promise<AuthState>;
52
+ login(clientId: string): Promise<AuthState>;
62
53
  /**
63
54
  * Get the current authentication state
64
55
  *
@@ -73,7 +64,7 @@ export declare class MonacoSDKImpl implements MonacoSDK {
73
64
  */
74
65
  setAuthState(authState: AuthState): void;
75
66
  /**
76
- * Logout the user
67
+ * Log the user out
77
68
  *
78
69
  * This method revokes the refresh token (if available), disconnects all authenticated
79
70
  * WebSocket channels, and clears the local auth state.
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,OAAO,EACP,SAAS,EACT,SAAS,EACT,OAAO,EACP,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,UAAU,EACV,QAAQ,EACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAkD,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AAgBrI,qBAAa,aAAc,YAAW,SAAS;IACtC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,eAAe,CAAC;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,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;IAwE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAgC3F;;;;OAIG;IACH,YAAY,IAAI,SAAS,GAAG,SAAS;IAIrC;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAiBxC;;;;;;;;;;;;OAYG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAmB7B;;;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,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAO9G;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,OAAO,EACP,SAAS,EACT,SAAS,EACT,OAAO,EACP,UAAU,EACV,SAAS,EACT,UAAU,EACV,QAAQ,EACT,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAkD,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AAErI,OAAO,EAA8C,KAAK,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAa1H,qBAAa,aAAc,YAAW,SAAS;IACtC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,eAAe,CAAC;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,UAAU,CAAC;IACpB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC;IACtB,EAAE,EAAE,eAAe,CAAC;IAEpB,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAElC,OAAO,CAAC,SAAS,CAAC,CAAY;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;gBAElB,GAAG,EAAE,SAAS;IAwE1B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACG,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAyBjD;;;;OAIG;IACH,YAAY,IAAI,SAAS,GAAG,SAAS;IAIrC;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAgBxC;;;;;;;;;;;;OAYG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB7B;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,SAAS,CAAC;IAoCvC;;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,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAO9G;AAMD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAE5D"}