ccxt 4.5.29 → 4.5.31

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 (85) hide show
  1. package/README.md +4 -4
  2. package/dist/ccxt.browser.min.js +18 -18
  3. package/dist/cjs/ccxt.js +6 -4
  4. package/dist/cjs/src/base/Exchange.js +16 -1
  5. package/dist/cjs/src/base/ws/WsClient.js +1 -0
  6. package/dist/cjs/src/bingx.js +1 -1
  7. package/dist/cjs/src/bullish.js +1 -1
  8. package/dist/cjs/src/bybit.js +2 -0
  9. package/dist/cjs/src/bydfi.js +2907 -0
  10. package/dist/cjs/src/coinbase.js +34 -1
  11. package/dist/cjs/src/dydx.js +3 -3
  12. package/dist/cjs/src/gate.js +55 -8
  13. package/dist/cjs/src/hyperliquid.js +19 -4
  14. package/dist/cjs/src/kucoin.js +175 -68
  15. package/dist/cjs/src/pro/apex.js +7 -5
  16. package/dist/cjs/src/pro/ascendex.js +1 -1
  17. package/dist/cjs/src/pro/binance.js +10 -6
  18. package/dist/cjs/src/pro/bingx.js +6 -4
  19. package/dist/cjs/src/pro/bitmart.js +5 -3
  20. package/dist/cjs/src/pro/bybit.js +6 -4
  21. package/dist/cjs/src/pro/bydfi.js +1077 -0
  22. package/dist/cjs/src/pro/cryptocom.js +6 -4
  23. package/dist/cjs/src/pro/gate.js +5 -3
  24. package/dist/cjs/src/pro/hashkey.js +5 -3
  25. package/dist/cjs/src/pro/htx.js +1 -1
  26. package/dist/cjs/src/pro/hyperliquid.js +1 -1
  27. package/dist/cjs/src/pro/kucoinfutures.js +5 -3
  28. package/dist/cjs/src/pro/modetrade.js +5 -3
  29. package/dist/cjs/src/pro/p2b.js +1 -1
  30. package/dist/cjs/src/pro/toobit.js +12 -8
  31. package/dist/cjs/src/pro/woo.js +5 -3
  32. package/dist/cjs/src/pro/woofipro.js +5 -3
  33. package/dist/cjs/src/pro/xt.js +5 -3
  34. package/dist/cjs/src/toobit.js +2 -1
  35. package/js/ccxt.d.ts +8 -5
  36. package/js/ccxt.js +6 -4
  37. package/js/src/abstract/bydfi.d.ts +52 -0
  38. package/js/src/abstract/kucoin.d.ts +2 -0
  39. package/js/src/abstract/kucoinfutures.d.ts +2 -0
  40. package/js/src/base/Exchange.d.ts +3 -0
  41. package/js/src/base/Exchange.js +16 -1
  42. package/js/src/base/ws/WsClient.js +1 -0
  43. package/js/src/binance.d.ts +1 -1
  44. package/js/src/bingx.js +1 -1
  45. package/js/src/bullish.js +1 -1
  46. package/js/src/bybit.js +2 -0
  47. package/js/src/bydfi.d.ts +472 -0
  48. package/js/src/bydfi.js +2905 -0
  49. package/js/src/coinbase.d.ts +11 -0
  50. package/js/src/coinbase.js +34 -1
  51. package/js/src/dydx.js +3 -3
  52. package/js/src/exmo.d.ts +1 -1
  53. package/js/src/gate.js +55 -8
  54. package/js/src/hyperliquid.d.ts +1 -0
  55. package/js/src/hyperliquid.js +19 -4
  56. package/js/src/kucoin.d.ts +19 -3
  57. package/js/src/kucoin.js +175 -68
  58. package/js/src/pro/apex.js +7 -5
  59. package/js/src/pro/ascendex.js +1 -1
  60. package/js/src/pro/binance.js +10 -6
  61. package/js/src/pro/bingx.js +6 -4
  62. package/js/src/pro/bitmart.js +5 -3
  63. package/js/src/pro/bybit.js +6 -4
  64. package/js/src/pro/bydfi.d.ts +206 -0
  65. package/js/src/pro/bydfi.js +1076 -0
  66. package/js/src/pro/cryptocom.js +6 -4
  67. package/js/src/pro/gate.js +5 -3
  68. package/js/src/pro/hashkey.js +5 -3
  69. package/js/src/pro/htx.js +1 -1
  70. package/js/src/pro/hyperliquid.js +1 -1
  71. package/js/src/pro/kucoinfutures.js +5 -3
  72. package/js/src/pro/modetrade.js +5 -3
  73. package/js/src/pro/p2b.js +1 -1
  74. package/js/src/pro/toobit.js +12 -8
  75. package/js/src/pro/woo.js +5 -3
  76. package/js/src/pro/woofipro.js +5 -3
  77. package/js/src/pro/xt.js +5 -3
  78. package/js/src/toobit.js +2 -1
  79. package/package.json +1 -1
  80. package/dist/cjs/src/oceanex.js +0 -1125
  81. package/js/src/abstract/oceanex.d.ts +0 -30
  82. package/js/src/oceanex.d.ts +0 -231
  83. package/js/src/oceanex.js +0 -1124
  84. /package/dist/cjs/src/abstract/{oceanex.js → bydfi.js} +0 -0
  85. /package/js/src/abstract/{oceanex.js → bydfi.js} +0 -0
@@ -66,7 +66,7 @@ export default class cryptocom extends cryptocomRest {
66
66
  await client.send({ 'id': this.safeInteger(message, 'id'), 'method': 'public/respond-heartbeat' });
67
67
  }
68
68
  catch (e) {
69
- const error = new NetworkError(this.id + ' pong failed with error ' + this.json(e));
69
+ const error = new NetworkError(this.id + ' pong failed with error ' + this.exceptionMessage(e));
70
70
  client.reset(error);
71
71
  }
72
72
  }
@@ -906,9 +906,11 @@ export default class cryptocom extends cryptocomRest {
906
906
  }
907
907
  }
908
908
  // don't remove the future from the .futures cache
909
- const future = client.futures[messageHash];
910
- future.resolve(cache);
911
- client.resolve(cache, 'positions');
909
+ if (messageHash in client.futures) {
910
+ const future = client.futures[messageHash];
911
+ future.resolve(cache);
912
+ client.resolve(cache, 'positions');
913
+ }
912
914
  }
913
915
  handlePositions(client, message) {
914
916
  //
@@ -1205,9 +1205,11 @@ export default class gate extends gateRest {
1205
1205
  }
1206
1206
  }
1207
1207
  // don't remove the future from the .futures cache
1208
- const future = client.futures[messageHash];
1209
- future.resolve(cache);
1210
- client.resolve(cache, type + ':position');
1208
+ if (messageHash in client.futures) {
1209
+ const future = client.futures[messageHash];
1210
+ future.resolve(cache);
1211
+ client.resolve(cache, type + ':position');
1212
+ }
1211
1213
  }
1212
1214
  handlePositions(client, message) {
1213
1215
  //
@@ -731,9 +731,11 @@ export default class hashkey extends hashkeyRest {
731
731
  const response = await this.fetchBalance({ 'type': type });
732
732
  this.balance[type] = this.extend(response, this.safeValue(this.balance, type, {}));
733
733
  // don't remove the future from the .futures cache
734
- const future = client.futures[messageHash];
735
- future.resolve();
736
- client.resolve(this.balance[type], 'balance:' + type);
734
+ if (messageHash in client.futures) {
735
+ const future = client.futures[messageHash];
736
+ future.resolve();
737
+ client.resolve(this.balance[type], 'balance:' + type);
738
+ }
737
739
  }
738
740
  handleBalance(client, message) {
739
741
  //
package/js/src/pro/htx.js CHANGED
@@ -2034,7 +2034,7 @@ export default class htx extends htxRest {
2034
2034
  }
2035
2035
  }
2036
2036
  catch (e) {
2037
- const error = new NetworkError(this.id + ' pong failed ' + this.json(e));
2037
+ const error = new NetworkError(this.id + ' pong failed ' + this.exceptionMessage(e));
2038
2038
  client.reset(error);
2039
2039
  }
2040
2040
  }
@@ -1262,7 +1262,7 @@ export default class hyperliquid extends hyperliquidRest {
1262
1262
  // "channel": "pong"
1263
1263
  // }
1264
1264
  //
1265
- client.lastPong = this.safeInteger(message, 'pong');
1265
+ client.lastPong = this.safeInteger(message, 'pong', this.milliseconds());
1266
1266
  return message;
1267
1267
  }
1268
1268
  requestId() {
@@ -410,9 +410,11 @@ export default class kucoinfutures extends kucoinfuturesRest {
410
410
  const cache = this.positions;
411
411
  cache.append(position);
412
412
  // don't remove the future from the .futures cache
413
- const future = client.futures[messageHash];
414
- future.resolve(cache);
415
- client.resolve(position, 'position:' + symbol);
413
+ if (messageHash in client.futures) {
414
+ const future = client.futures[messageHash];
415
+ future.resolve(cache);
416
+ client.resolve(position, 'position:' + symbol);
417
+ }
416
418
  }
417
419
  handlePosition(client, message) {
418
420
  //
@@ -1024,9 +1024,11 @@ export default class modetrade extends modetradeRest {
1024
1024
  }
1025
1025
  }
1026
1026
  // don't remove the future from the .futures cache
1027
- const future = client.futures[messageHash];
1028
- future.resolve(cache);
1029
- client.resolve(cache, 'positions');
1027
+ if (messageHash in client.futures) {
1028
+ const future = client.futures[messageHash];
1029
+ future.resolve(cache);
1030
+ client.resolve(cache, 'positions');
1031
+ }
1030
1032
  }
1031
1033
  handlePositions(client, message) {
1032
1034
  //
package/js/src/pro/p2b.js CHANGED
@@ -492,7 +492,7 @@ export default class p2b extends p2bRest {
492
492
  // id: 1706539608030
493
493
  // }
494
494
  //
495
- client.lastPong = this.safeInteger(message, 'id');
495
+ client.lastPong = this.safeInteger(message, 'id', this.milliseconds());
496
496
  return message;
497
497
  }
498
498
  onError(client, error) {
@@ -734,10 +734,12 @@ export default class toobit extends toobitRest {
734
734
  const type = (marketType === 'spot') ? 'spot' : 'contract';
735
735
  this.balance[type] = this.extend(response, this.safeDict(this.balance, type, {}));
736
736
  // don't remove the future from the .futures cache
737
- const future = client.futures[messageHash];
738
- future.resolve();
739
- client.resolve(this.balance[type], type + ':fetchBalanceSnapshot');
740
- client.resolve(this.balance[type], type + ':balance'); // we should also resolve right away after snapshot, so user doesn't double-fetch balance
737
+ if (messageHash in client.futures) {
738
+ const future = client.futures[messageHash];
739
+ future.resolve();
740
+ client.resolve(this.balance[type], type + ':fetchBalanceSnapshot');
741
+ client.resolve(this.balance[type], type + ':balance'); // we should also resolve right away after snapshot, so user doesn't double-fetch balance
742
+ }
741
743
  }
742
744
  /**
743
745
  * @method
@@ -997,9 +999,11 @@ export default class toobit extends toobitRest {
997
999
  cache.append(position);
998
1000
  }
999
1001
  // don't remove the future from the .futures cache
1000
- const future = client.futures[messageHash];
1001
- future.resolve(cache);
1002
- client.resolve(cache, type + ':positions');
1002
+ if (messageHash in client.futures) {
1003
+ const future = client.futures[messageHash];
1004
+ future.resolve(cache);
1005
+ client.resolve(cache, type + ':positions');
1006
+ }
1003
1007
  }
1004
1008
  handlePositions(client, message) {
1005
1009
  //
@@ -1108,7 +1112,7 @@ export default class toobit extends toobitRest {
1108
1112
  this.delay(listenKeyRefreshRate, this.keepAliveListenKey, params);
1109
1113
  }
1110
1114
  catch (e) {
1111
- const err = new AuthenticationError(this.id + ' ' + this.json(e));
1115
+ const err = new AuthenticationError(this.id + ' ' + this.exceptionMessage(e));
1112
1116
  client.reject(err, messageHash);
1113
1117
  if (messageHash in client.subscriptions) {
1114
1118
  delete client.subscriptions[messageHash];
package/js/src/pro/woo.js CHANGED
@@ -1269,9 +1269,11 @@ export default class woo extends wooRest {
1269
1269
  }
1270
1270
  }
1271
1271
  // don't remove the future from the .futures cache
1272
- const future = client.futures[messageHash];
1273
- future.resolve(cache);
1274
- client.resolve(cache, 'positions');
1272
+ if (messageHash in client.futures) {
1273
+ const future = client.futures[messageHash];
1274
+ future.resolve(cache);
1275
+ client.resolve(cache, 'positions');
1276
+ }
1275
1277
  }
1276
1278
  handlePositions(client, message) {
1277
1279
  //
@@ -1024,9 +1024,11 @@ export default class woofipro extends woofiproRest {
1024
1024
  }
1025
1025
  }
1026
1026
  // don't remove the future from the .futures cache
1027
- const future = client.futures[messageHash];
1028
- future.resolve(cache);
1029
- client.resolve(cache, 'positions');
1027
+ if (messageHash in client.futures) {
1028
+ const future = client.futures[messageHash];
1029
+ future.resolve(cache);
1030
+ client.resolve(cache, 'positions');
1031
+ }
1030
1032
  }
1031
1033
  handlePositions(client, message) {
1032
1034
  //
package/js/src/pro/xt.js CHANGED
@@ -615,9 +615,11 @@ export default class xt extends xtRest {
615
615
  }
616
616
  }
617
617
  // don't remove the future from the .futures cache
618
- const future = client.futures[messageHash];
619
- future.resolve(cache);
620
- client.resolve(cache, 'position::contract');
618
+ if (messageHash in client.futures) {
619
+ const future = client.futures[messageHash];
620
+ future.resolve(cache);
621
+ client.resolve(cache, 'position::contract');
622
+ }
621
623
  }
622
624
  handlePosition(client, message) {
623
625
  //
package/js/src/toobit.js CHANGED
@@ -2732,7 +2732,8 @@ export default class toobit extends Exchange {
2732
2732
  'coin': currency['id'],
2733
2733
  'address': address,
2734
2734
  'quantity': this.currencyToPrecision(currency['code'], amount),
2735
- 'network': networkCode,
2735
+ 'chainType': networkCode,
2736
+ 'clientOrderId': this.milliseconds(),
2736
2737
  };
2737
2738
  if (tag !== undefined) {
2738
2739
  request['addressExt'] = tag;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.5.29",
3
+ "version": "4.5.31",
4
4
  "description": "A cryptocurrency trading API with more than 100 exchanges in JavaScript / TypeScript / Python / C# / PHP / Go",
5
5
  "unpkg": "dist/ccxt.browser.min.js",
6
6
  "type": "module",