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
package/dist/cjs/ccxt.js CHANGED
@@ -44,6 +44,7 @@ var btcmarkets = require('./src/btcmarkets.js');
44
44
  var btcturk = require('./src/btcturk.js');
45
45
  var bullish = require('./src/bullish.js');
46
46
  var bybit = require('./src/bybit.js');
47
+ var bydfi = require('./src/bydfi.js');
47
48
  var cex = require('./src/cex.js');
48
49
  var coinbase = require('./src/coinbase.js');
49
50
  var coinbaseadvanced = require('./src/coinbaseadvanced.js');
@@ -94,7 +95,6 @@ var modetrade = require('./src/modetrade.js');
94
95
  var myokx = require('./src/myokx.js');
95
96
  var ndax = require('./src/ndax.js');
96
97
  var novadax = require('./src/novadax.js');
97
- var oceanex = require('./src/oceanex.js');
98
98
  var okx = require('./src/okx.js');
99
99
  var okxus = require('./src/okxus.js');
100
100
  var onetrading = require('./src/onetrading.js');
@@ -143,6 +143,7 @@ var blockchaincom$1 = require('./src/pro/blockchaincom.js');
143
143
  var blofin$1 = require('./src/pro/blofin.js');
144
144
  var bullish$1 = require('./src/pro/bullish.js');
145
145
  var bybit$1 = require('./src/pro/bybit.js');
146
+ var bydfi$1 = require('./src/pro/bydfi.js');
146
147
  var cex$1 = require('./src/pro/cex.js');
147
148
  var coinbase$1 = require('./src/pro/coinbase.js');
148
149
  var coinbaseadvanced$1 = require('./src/pro/coinbaseadvanced.js');
@@ -197,7 +198,7 @@ var xt$1 = require('./src/pro/xt.js');
197
198
 
198
199
  //-----------------------------------------------------------------------------
199
200
  // this is updated by vss.js when building
200
- const version = '4.5.29';
201
+ const version = '4.5.31';
201
202
  Exchange["default"].ccxtVersion = version;
202
203
  const exchanges = {
203
204
  'alpaca': alpaca["default"],
@@ -236,6 +237,7 @@ const exchanges = {
236
237
  'btcturk': btcturk["default"],
237
238
  'bullish': bullish["default"],
238
239
  'bybit': bybit["default"],
240
+ 'bydfi': bydfi["default"],
239
241
  'cex': cex["default"],
240
242
  'coinbase': coinbase["default"],
241
243
  'coinbaseadvanced': coinbaseadvanced["default"],
@@ -286,7 +288,6 @@ const exchanges = {
286
288
  'myokx': myokx["default"],
287
289
  'ndax': ndax["default"],
288
290
  'novadax': novadax["default"],
289
- 'oceanex': oceanex["default"],
290
291
  'okx': okx["default"],
291
292
  'okxus': okxus["default"],
292
293
  'onetrading': onetrading["default"],
@@ -337,6 +338,7 @@ const pro = {
337
338
  'blofin': blofin$1["default"],
338
339
  'bullish': bullish$1["default"],
339
340
  'bybit': bybit$1["default"],
341
+ 'bydfi': bydfi$1["default"],
340
342
  'cex': cex$1["default"],
341
343
  'coinbase': coinbase$1["default"],
342
344
  'coinbaseadvanced': coinbaseadvanced$1["default"],
@@ -476,6 +478,7 @@ exports.btcmarkets = btcmarkets["default"];
476
478
  exports.btcturk = btcturk["default"];
477
479
  exports.bullish = bullish["default"];
478
480
  exports.bybit = bybit["default"];
481
+ exports.bydfi = bydfi["default"];
479
482
  exports.cex = cex["default"];
480
483
  exports.coinbase = coinbase["default"];
481
484
  exports.coinbaseadvanced = coinbaseadvanced["default"];
@@ -526,7 +529,6 @@ exports.modetrade = modetrade["default"];
526
529
  exports.myokx = myokx["default"];
527
530
  exports.ndax = ndax["default"];
528
531
  exports.novadax = novadax["default"];
529
- exports.oceanex = oceanex["default"];
530
532
  exports.okx = okx["default"];
531
533
  exports.okxus = okxus["default"];
532
534
  exports.onetrading = onetrading["default"];
@@ -615,12 +615,16 @@ class Exchange {
615
615
  return undefined;
616
616
  }
617
617
  isBinaryMessage(msg) {
618
- return msg instanceof Uint8Array;
618
+ return msg instanceof Uint8Array || msg instanceof ArrayBuffer;
619
619
  }
620
620
  decodeProtoMsg(data) {
621
621
  if (!protobufMexc) {
622
622
  throw new errors.NotSupported(this.id + ' requires protobuf to decode messages, please install it with `npm install protobufjs`');
623
623
  }
624
+ if (data instanceof ArrayBuffer) {
625
+ // browser case
626
+ data = new Uint8Array(data);
627
+ }
624
628
  if (data instanceof Uint8Array) {
625
629
  const decoded = protobufMexc.default.PushDataV3ApiWrapper.decode(data);
626
630
  const dict = decoded.toJSON();
@@ -1291,6 +1295,11 @@ class Exchange {
1291
1295
  setProperty(obj, property, defaultValue = undefined) {
1292
1296
  obj[property] = defaultValue;
1293
1297
  }
1298
+ exceptionMessage(exc, includeStack = true) {
1299
+ const message = '[' + exc.constructor.name + '] ' + (!includeStack ? exc.message : exc.stack);
1300
+ const length = Math.min(100000, message.length);
1301
+ return message.slice(0, length);
1302
+ }
1294
1303
  axolotl(payload, hexKey, ed25519) {
1295
1304
  return crypto.axolotl(payload, hexKey, ed25519);
1296
1305
  }
@@ -5983,6 +5992,9 @@ class Exchange {
5983
5992
  }
5984
5993
  throw new errors.NotSupported(this.id + ' fetchClosedOrders() is not supported yet');
5985
5994
  }
5995
+ async fetchCanceledOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
5996
+ throw new errors.NotSupported(this.id + ' fetchCanceledOrders() is not supported yet');
5997
+ }
5986
5998
  async fetchCanceledAndClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
5987
5999
  throw new errors.NotSupported(this.id + ' fetchCanceledAndClosedOrders() is not supported yet');
5988
6000
  }
@@ -7733,6 +7745,9 @@ class Exchange {
7733
7745
  throw new errors.NotSupported(this.id + ' fetchPositionHistory () is not supported yet');
7734
7746
  }
7735
7747
  }
7748
+ async loadMarketsAndSignIn() {
7749
+ await Promise.all([this.loadMarkets(), this.signIn()]);
7750
+ }
7736
7751
  async fetchPositionsHistory(symbols = undefined, since = undefined, limit = undefined, params = {}) {
7737
7752
  /**
7738
7753
  * @method
@@ -49,6 +49,7 @@ class WsClient extends Client["default"] {
49
49
  }
50
50
  else {
51
51
  this.connection = new WebSocketPlatform(this.url, this.protocols);
52
+ this.connection.binaryType = "arraybuffer"; // for browsers not to use blob by default
52
53
  }
53
54
  this.connection.onopen = this.onOpen.bind(this);
54
55
  this.connection.onmessage = this.onMessage.bind(this);
@@ -5442,7 +5442,7 @@ class bingx extends bingx$1["default"] {
5442
5442
  '3': 'rejected',
5443
5443
  '4': 'pending',
5444
5444
  '5': 'rejected',
5445
- '6': 'pending',
5445
+ '6': 'ok',
5446
5446
  };
5447
5447
  return this.safeString(statuses, status, status);
5448
5448
  }
@@ -1490,7 +1490,7 @@ class bullish extends bullish$1["default"] {
1490
1490
  // [
1491
1491
  // {
1492
1492
  // "clientOrderId": "187",
1493
- // "orderId": "297735387747975680",
1493
+ // "orderId": "297735387747975681",
1494
1494
  // "symbol": "BTCUSDC",
1495
1495
  // "price": "1.00000000",
1496
1496
  // "averageFillPrice": "1.00000000",
@@ -901,6 +901,8 @@ class bybit extends bybit$1["default"] {
901
901
  '170229': errors.InvalidOrder,
902
902
  '170234': errors.ExchangeError,
903
903
  '170241': errors.ManualInteractionNeeded,
904
+ '170371': errors.InvalidOrder,
905
+ '170372': errors.InvalidOrder,
904
906
  '175000': errors.InvalidOrder,
905
907
  '175001': errors.InvalidOrder,
906
908
  '175002': errors.InvalidOrder,