@0xmonaco/core 0.4.0 → 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.
- package/README.md +22 -0
- package/dist/api/applications/api.d.ts +0 -1
- package/dist/api/applications/api.d.ts.map +1 -1
- package/dist/api/applications/api.js +0 -1
- package/dist/api/applications/api.js.map +1 -1
- package/dist/api/index.d.ts +3 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +3 -1
- package/dist/api/index.js.map +1 -1
- package/dist/api/orderbook/api.d.ts +16 -0
- package/dist/api/orderbook/api.d.ts.map +1 -0
- package/dist/api/orderbook/api.js +38 -0
- package/dist/api/orderbook/api.js.map +1 -0
- package/dist/api/orderbook/index.d.ts +2 -0
- package/dist/api/orderbook/index.d.ts.map +1 -0
- package/dist/api/orderbook/index.js +2 -0
- package/dist/api/orderbook/index.js.map +1 -0
- package/dist/api/trades/api.d.ts +45 -0
- package/dist/api/trades/api.d.ts.map +1 -0
- package/dist/api/trades/api.js +43 -0
- package/dist/api/trades/api.js.map +1 -0
- package/dist/api/trades/index.d.ts +2 -0
- package/dist/api/trades/index.d.ts.map +1 -0
- package/dist/api/trades/index.js +2 -0
- package/dist/api/trades/index.js.map +1 -0
- package/dist/api/websocket/index.d.ts +3 -9
- package/dist/api/websocket/index.d.ts.map +1 -1
- package/dist/api/websocket/index.js +3 -9
- package/dist/api/websocket/index.js.map +1 -1
- package/dist/api/websocket/types.d.ts +34 -0
- package/dist/api/websocket/types.d.ts.map +1 -0
- package/dist/api/websocket/types.js +2 -0
- package/dist/api/websocket/types.js.map +1 -0
- package/dist/api/websocket/utils.d.ts +9 -0
- package/dist/api/websocket/utils.d.ts.map +1 -0
- package/dist/api/websocket/utils.js +23 -0
- package/dist/api/websocket/utils.js.map +1 -0
- package/dist/api/websocket/websocket.d.ts +6 -0
- package/dist/api/websocket/websocket.d.ts.map +1 -0
- package/dist/api/websocket/websocket.js +314 -0
- package/dist/api/websocket/websocket.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/networks.d.ts +1 -1
- package/dist/networks.js +3 -3
- package/dist/networks.js.map +1 -1
- package/dist/sdk.d.ts +15 -24
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +40 -59
- package/dist/sdk.js.map +1 -1
- package/package.json +3 -3
- package/dist/api/websocket/base-ws-client.d.ts +0 -85
- package/dist/api/websocket/base-ws-client.d.ts.map +0 -1
- package/dist/api/websocket/base-ws-client.js +0 -256
- package/dist/api/websocket/base-ws-client.js.map +0 -1
- package/dist/api/websocket/clients/ohlcv-ws-client.d.ts +0 -57
- package/dist/api/websocket/clients/ohlcv-ws-client.d.ts.map +0 -1
- package/dist/api/websocket/clients/ohlcv-ws-client.js +0 -132
- package/dist/api/websocket/clients/ohlcv-ws-client.js.map +0 -1
- package/dist/api/websocket/clients/orderbook-ws-client.d.ts +0 -70
- package/dist/api/websocket/clients/orderbook-ws-client.d.ts.map +0 -1
- package/dist/api/websocket/clients/orderbook-ws-client.js +0 -197
- package/dist/api/websocket/clients/orderbook-ws-client.js.map +0 -1
- package/dist/api/websocket/clients/orders-ws-client.d.ts +0 -61
- package/dist/api/websocket/clients/orders-ws-client.d.ts.map +0 -1
- package/dist/api/websocket/clients/orders-ws-client.js +0 -150
- 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,8 +4,9 @@
|
|
|
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 type { GetTradesOptions, TradeRecord } from "./api/trades";
|
|
8
|
+
export { createMonacoWebSocket, type MonacoWebSocket, type MonacoWebSocketOptions } from "./api/websocket";
|
|
7
9
|
export { createMonacoSDK, MonacoSDKImpl as MonacoSDK } from "./sdk";
|
|
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
10
|
export { resolveApiUrl } from "./networks";
|
|
10
11
|
export { APIError, ContractError, InvalidConfigError, InvalidStateError, MonacoCoreError, OrderError, TransactionError, } from "./errors";
|
|
11
12
|
export { ALL_MAGNITUDES, calculateValidMagnitudes, MAX_BUCKETS_ALLOWED, MIN_BUCKETS_ALLOWED, } from "./utils";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
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,9 +4,7 @@
|
|
|
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
|
-
// ============================================================================
|
|
7
|
+
export { createMonacoWebSocket } from "./api/websocket";
|
|
10
8
|
export { createMonacoSDK, MonacoSDKImpl as MonacoSDK } from "./sdk";
|
|
11
9
|
// ============================================================================
|
|
12
10
|
// Network Configuration
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
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"}
|
package/dist/networks.d.ts
CHANGED
|
@@ -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://
|
|
13
|
-
|
|
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
|
package/dist/networks.js.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
* //
|
|
40
|
+
* // Login and connect WebSocket
|
|
45
41
|
* const authState = await sdk.login(clientId);
|
|
46
|
-
* await sdk.
|
|
47
|
-
*
|
|
48
|
-
*
|
|
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
|
|
56
|
-
* await sdk.logout(); // ✅ Calls revokeToken internally and disconnects
|
|
48
|
+
* // Or revoke and disconnect WebSocket:
|
|
49
|
+
* await sdk.logout(); // ✅ Calls revokeToken internally and disconnects WebSocket
|
|
57
50
|
* ```
|
|
58
51
|
*/
|
|
59
|
-
login(clientId: string
|
|
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
|
-
*
|
|
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,
|
|
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"}
|