|
1 | 1 | import { OrderIdRequest } from './types/rest/request/trade.js'; |
2 | 2 | import { OrderResult } from './types/rest/response/private-trade.js'; |
3 | | -import { WSAPIResponse } from './types/websockets/ws-api.js'; |
4 | 3 | import { |
5 | | - WSAPIAmendOrderRequestV5, |
6 | | - WSAPIAmendSpreadOrderRequestV5, |
7 | | - WSAPICancelSpreadOrderRequestV5, |
8 | | - WSAPIMassCancelOrdersRequestV5, |
9 | | - WSAPIPlaceOrderRequestV5, |
10 | | - WSAPIPlaceSpreadOrderRequestV5, |
11 | | - WSAPISpreadMassCancelOrdersRequestV5, |
| 4 | + WSAPIAmendOrderRequestV5, |
| 5 | + WSAPIAmendSpreadOrderRequestV5, |
| 6 | + WSAPICancelSpreadOrderRequestV5, |
| 7 | + WSAPIMassCancelOrdersRequestV5, |
| 8 | + WSAPIPlaceOrderRequestV5, |
| 9 | + WSAPIPlaceSpreadOrderRequestV5, |
| 10 | + WSAPISpreadMassCancelOrdersRequestV5, |
12 | 11 | } from './types/websockets/ws-api-request.js'; |
13 | 12 | import { |
14 | | - WSAPICancelOrderResultV5, |
15 | | - WSAPISpreadAmendOrderResultV5, |
16 | | - WSAPISpreadCancelOrderResultV5, |
17 | | - WSAPISpreadPlaceOrderResultV5, |
| 13 | + WSAPICancelOrderResultV5, |
| 14 | + WSAPISpreadAmendOrderResultV5, |
| 15 | + WSAPISpreadCancelOrderResultV5, |
| 16 | + WSAPISpreadPlaceOrderResultV5, |
18 | 17 | } from './types/websockets/ws-api-response.js'; |
| 18 | +import { WSAPIResponse } from './types/websockets/ws-api.js'; |
19 | 19 | import { WSClientConfigurableOptions } from './types/websockets/ws-general.js'; |
20 | 20 | import { DefaultLogger } from './util/logger.js'; |
21 | 21 | import { WebsocketClient } from './websocket-client.js'; |
@@ -291,7 +291,17 @@ export class WebsocketAPIClient { |
291 | 291 | console.info(new Date(), 'ws has authenticated ', data?.wsKey); |
292 | 292 | }) |
293 | 293 | .on('exception', (data) => { |
294 | | - console.error(new Date(), 'ws exception: ', JSON.stringify(data)); |
| 294 | + try { |
| 295 | + // Blind JSON.stringify can fail on circular references |
| 296 | + console.error( |
| 297 | + new Date(), |
| 298 | + 'ws exception: ', |
| 299 | + JSON.stringify(data), |
| 300 | + // JSON.stringify({ ...data, target: 'WebSocket' }), |
| 301 | + ); |
| 302 | + } catch { |
| 303 | + console.error(new Date(), 'ws exception: ', data); |
| 304 | + } |
295 | 305 | }); |
296 | 306 | } |
297 | 307 | } |
|
0 commit comments