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
@@ -65,7 +65,7 @@ class cryptocom extends cryptocom$1["default"] {
65
65
  await client.send({ 'id': this.safeInteger(message, 'id'), 'method': 'public/respond-heartbeat' });
66
66
  }
67
67
  catch (e) {
68
- const error = new errors.NetworkError(this.id + ' pong failed with error ' + this.json(e));
68
+ const error = new errors.NetworkError(this.id + ' pong failed with error ' + this.exceptionMessage(e));
69
69
  client.reset(error);
70
70
  }
71
71
  }
@@ -905,9 +905,11 @@ class cryptocom extends cryptocom$1["default"] {
905
905
  }
906
906
  }
907
907
  // don't remove the future from the .futures cache
908
- const future = client.futures[messageHash];
909
- future.resolve(cache);
910
- client.resolve(cache, 'positions');
908
+ if (messageHash in client.futures) {
909
+ const future = client.futures[messageHash];
910
+ future.resolve(cache);
911
+ client.resolve(cache, 'positions');
912
+ }
911
913
  }
912
914
  handlePositions(client, message) {
913
915
  //
@@ -1204,9 +1204,11 @@ class gate extends gate$1["default"] {
1204
1204
  }
1205
1205
  }
1206
1206
  // don't remove the future from the .futures cache
1207
- const future = client.futures[messageHash];
1208
- future.resolve(cache);
1209
- client.resolve(cache, type + ':position');
1207
+ if (messageHash in client.futures) {
1208
+ const future = client.futures[messageHash];
1209
+ future.resolve(cache);
1210
+ client.resolve(cache, type + ':position');
1211
+ }
1210
1212
  }
1211
1213
  handlePositions(client, message) {
1212
1214
  //
@@ -730,9 +730,11 @@ class hashkey extends hashkey$1["default"] {
730
730
  const response = await this.fetchBalance({ 'type': type });
731
731
  this.balance[type] = this.extend(response, this.safeValue(this.balance, type, {}));
732
732
  // don't remove the future from the .futures cache
733
- const future = client.futures[messageHash];
734
- future.resolve();
735
- client.resolve(this.balance[type], 'balance:' + type);
733
+ if (messageHash in client.futures) {
734
+ const future = client.futures[messageHash];
735
+ future.resolve();
736
+ client.resolve(this.balance[type], 'balance:' + type);
737
+ }
736
738
  }
737
739
  handleBalance(client, message) {
738
740
  //
@@ -2033,7 +2033,7 @@ class htx extends htx$1["default"] {
2033
2033
  }
2034
2034
  }
2035
2035
  catch (e) {
2036
- const error = new errors.NetworkError(this.id + ' pong failed ' + this.json(e));
2036
+ const error = new errors.NetworkError(this.id + ' pong failed ' + this.exceptionMessage(e));
2037
2037
  client.reset(error);
2038
2038
  }
2039
2039
  }
@@ -1261,7 +1261,7 @@ class hyperliquid extends hyperliquid$1["default"] {
1261
1261
  // "channel": "pong"
1262
1262
  // }
1263
1263
  //
1264
- client.lastPong = this.safeInteger(message, 'pong');
1264
+ client.lastPong = this.safeInteger(message, 'pong', this.milliseconds());
1265
1265
  return message;
1266
1266
  }
1267
1267
  requestId() {
@@ -409,9 +409,11 @@ class kucoinfutures extends kucoinfutures$1["default"] {
409
409
  const cache = this.positions;
410
410
  cache.append(position);
411
411
  // don't remove the future from the .futures cache
412
- const future = client.futures[messageHash];
413
- future.resolve(cache);
414
- client.resolve(position, 'position:' + symbol);
412
+ if (messageHash in client.futures) {
413
+ const future = client.futures[messageHash];
414
+ future.resolve(cache);
415
+ client.resolve(position, 'position:' + symbol);
416
+ }
415
417
  }
416
418
  handlePosition(client, message) {
417
419
  //
@@ -1023,9 +1023,11 @@ class modetrade extends modetrade$1["default"] {
1023
1023
  }
1024
1024
  }
1025
1025
  // don't remove the future from the .futures cache
1026
- const future = client.futures[messageHash];
1027
- future.resolve(cache);
1028
- client.resolve(cache, 'positions');
1026
+ if (messageHash in client.futures) {
1027
+ const future = client.futures[messageHash];
1028
+ future.resolve(cache);
1029
+ client.resolve(cache, 'positions');
1030
+ }
1029
1031
  }
1030
1032
  handlePositions(client, message) {
1031
1033
  //
@@ -491,7 +491,7 @@ class p2b extends p2b$1["default"] {
491
491
  // id: 1706539608030
492
492
  // }
493
493
  //
494
- client.lastPong = this.safeInteger(message, 'id');
494
+ client.lastPong = this.safeInteger(message, 'id', this.milliseconds());
495
495
  return message;
496
496
  }
497
497
  onError(client, error) {
@@ -727,10 +727,12 @@ class toobit extends toobit$1["default"] {
727
727
  const type = (marketType === 'spot') ? 'spot' : 'contract';
728
728
  this.balance[type] = this.extend(response, this.safeDict(this.balance, type, {}));
729
729
  // don't remove the future from the .futures cache
730
- const future = client.futures[messageHash];
731
- future.resolve();
732
- client.resolve(this.balance[type], type + ':fetchBalanceSnapshot');
733
- client.resolve(this.balance[type], type + ':balance'); // we should also resolve right away after snapshot, so user doesn't double-fetch balance
730
+ if (messageHash in client.futures) {
731
+ const future = client.futures[messageHash];
732
+ future.resolve();
733
+ client.resolve(this.balance[type], type + ':fetchBalanceSnapshot');
734
+ client.resolve(this.balance[type], type + ':balance'); // we should also resolve right away after snapshot, so user doesn't double-fetch balance
735
+ }
734
736
  }
735
737
  /**
736
738
  * @method
@@ -990,9 +992,11 @@ class toobit extends toobit$1["default"] {
990
992
  cache.append(position);
991
993
  }
992
994
  // don't remove the future from the .futures cache
993
- const future = client.futures[messageHash];
994
- future.resolve(cache);
995
- client.resolve(cache, type + ':positions');
995
+ if (messageHash in client.futures) {
996
+ const future = client.futures[messageHash];
997
+ future.resolve(cache);
998
+ client.resolve(cache, type + ':positions');
999
+ }
996
1000
  }
997
1001
  handlePositions(client, message) {
998
1002
  //
@@ -1101,7 +1105,7 @@ class toobit extends toobit$1["default"] {
1101
1105
  this.delay(listenKeyRefreshRate, this.keepAliveListenKey, params);
1102
1106
  }
1103
1107
  catch (e) {
1104
- const err = new errors.AuthenticationError(this.id + ' ' + this.json(e));
1108
+ const err = new errors.AuthenticationError(this.id + ' ' + this.exceptionMessage(e));
1105
1109
  client.reject(err, messageHash);
1106
1110
  if (messageHash in client.subscriptions) {
1107
1111
  delete client.subscriptions[messageHash];
@@ -1268,9 +1268,11 @@ class woo extends woo$1["default"] {
1268
1268
  }
1269
1269
  }
1270
1270
  // don't remove the future from the .futures cache
1271
- const future = client.futures[messageHash];
1272
- future.resolve(cache);
1273
- client.resolve(cache, 'positions');
1271
+ if (messageHash in client.futures) {
1272
+ const future = client.futures[messageHash];
1273
+ future.resolve(cache);
1274
+ client.resolve(cache, 'positions');
1275
+ }
1274
1276
  }
1275
1277
  handlePositions(client, message) {
1276
1278
  //
@@ -1023,9 +1023,11 @@ class woofipro extends woofipro$1["default"] {
1023
1023
  }
1024
1024
  }
1025
1025
  // don't remove the future from the .futures cache
1026
- const future = client.futures[messageHash];
1027
- future.resolve(cache);
1028
- client.resolve(cache, 'positions');
1026
+ if (messageHash in client.futures) {
1027
+ const future = client.futures[messageHash];
1028
+ future.resolve(cache);
1029
+ client.resolve(cache, 'positions');
1030
+ }
1029
1031
  }
1030
1032
  handlePositions(client, message) {
1031
1033
  //
@@ -614,9 +614,11 @@ class xt extends xt$1["default"] {
614
614
  }
615
615
  }
616
616
  // don't remove the future from the .futures cache
617
- const future = client.futures[messageHash];
618
- future.resolve(cache);
619
- client.resolve(cache, 'position::contract');
617
+ if (messageHash in client.futures) {
618
+ const future = client.futures[messageHash];
619
+ future.resolve(cache);
620
+ client.resolve(cache, 'position::contract');
621
+ }
620
622
  }
621
623
  handlePosition(client, message) {
622
624
  //
@@ -2731,7 +2731,8 @@ class toobit extends toobit$1["default"] {
2731
2731
  'coin': currency['id'],
2732
2732
  'address': address,
2733
2733
  'quantity': this.currencyToPrecision(currency['code'], amount),
2734
- 'network': networkCode,
2734
+ 'chainType': networkCode,
2735
+ 'clientOrderId': this.milliseconds(),
2735
2736
  };
2736
2737
  if (tag !== undefined) {
2737
2738
  request['addressExt'] = tag;
package/js/ccxt.d.ts CHANGED
@@ -4,7 +4,7 @@ import * as functions from './src/base/functions.js';
4
4
  import * as errors from './src/base/errors.js';
5
5
  import type { Int, int, Str, Strings, Num, Bool, IndexType, OrderSide, OrderType, MarketType, SubType, Dict, NullableDict, List, NullableList, Fee, OHLCV, OHLCVC, implicitReturnType, Market, Currency, Dictionary, MinMax, FeeInterface, TradingFeeInterface, MarketInterface, Trade, Order, OrderBook, Ticker, Transaction, Tickers, CurrencyInterface, Balance, BalanceAccount, Account, PartialBalances, Balances, DepositAddress, WithdrawalResponse, FundingRate, FundingRates, Position, BorrowInterest, LeverageTier, LedgerEntry, DepositWithdrawFeeNetwork, DepositWithdrawFee, TransferEntry, CrossBorrowRate, IsolatedBorrowRate, FundingRateHistory, OpenInterest, Liquidation, OrderRequest, CancellationRequest, FundingHistory, MarketMarginModes, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, LeverageTiers, LongShortRatio, OrderBooks, OpenInterests, ConstructorArgs } from './src/base/types.js';
6
6
  import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError } from './src/base/errors.js';
7
- declare const version = "4.5.28";
7
+ declare const version = "4.5.30";
8
8
  import alpaca from './src/alpaca.js';
9
9
  import apex from './src/apex.js';
10
10
  import arkham from './src/arkham.js';
@@ -41,6 +41,7 @@ import btcmarkets from './src/btcmarkets.js';
41
41
  import btcturk from './src/btcturk.js';
42
42
  import bullish from './src/bullish.js';
43
43
  import bybit from './src/bybit.js';
44
+ import bydfi from './src/bydfi.js';
44
45
  import cex from './src/cex.js';
45
46
  import coinbase from './src/coinbase.js';
46
47
  import coinbaseadvanced from './src/coinbaseadvanced.js';
@@ -91,7 +92,6 @@ import modetrade from './src/modetrade.js';
91
92
  import myokx from './src/myokx.js';
92
93
  import ndax from './src/ndax.js';
93
94
  import novadax from './src/novadax.js';
94
- import oceanex from './src/oceanex.js';
95
95
  import okx from './src/okx.js';
96
96
  import okxus from './src/okxus.js';
97
97
  import onetrading from './src/onetrading.js';
@@ -140,6 +140,7 @@ import blockchaincomPro from './src/pro/blockchaincom.js';
140
140
  import blofinPro from './src/pro/blofin.js';
141
141
  import bullishPro from './src/pro/bullish.js';
142
142
  import bybitPro from './src/pro/bybit.js';
143
+ import bydfiPro from './src/pro/bydfi.js';
143
144
  import cexPro from './src/pro/cex.js';
144
145
  import coinbasePro from './src/pro/coinbase.js';
145
146
  import coinbaseadvancedPro from './src/pro/coinbaseadvanced.js';
@@ -228,6 +229,7 @@ declare const exchanges: {
228
229
  btcturk: typeof btcturk;
229
230
  bullish: typeof bullish;
230
231
  bybit: typeof bybit;
232
+ bydfi: typeof bydfi;
231
233
  cex: typeof cex;
232
234
  coinbase: typeof coinbase;
233
235
  coinbaseadvanced: typeof coinbaseadvanced;
@@ -278,7 +280,6 @@ declare const exchanges: {
278
280
  myokx: typeof myokx;
279
281
  ndax: typeof ndax;
280
282
  novadax: typeof novadax;
281
- oceanex: typeof oceanex;
282
283
  okx: typeof okx;
283
284
  okxus: typeof okxus;
284
285
  onetrading: typeof onetrading;
@@ -329,6 +330,7 @@ declare const pro: {
329
330
  blofin: typeof blofinPro;
330
331
  bullish: typeof bullishPro;
331
332
  bybit: typeof bybitPro;
333
+ bydfi: typeof bydfiPro;
332
334
  cex: typeof cexPro;
333
335
  coinbase: typeof coinbasePro;
334
336
  coinbaseadvanced: typeof coinbaseadvancedPro;
@@ -412,6 +414,7 @@ declare const ccxt: {
412
414
  blofin: typeof blofinPro;
413
415
  bullish: typeof bullishPro;
414
416
  bybit: typeof bybitPro;
417
+ bydfi: typeof bydfiPro;
415
418
  cex: typeof cexPro;
416
419
  coinbase: typeof coinbasePro;
417
420
  coinbaseadvanced: typeof coinbaseadvancedPro;
@@ -501,6 +504,7 @@ declare const ccxt: {
501
504
  btcturk: typeof btcturk;
502
505
  bullish: typeof bullish;
503
506
  bybit: typeof bybit;
507
+ bydfi: typeof bydfi;
504
508
  cex: typeof cex;
505
509
  coinbase: typeof coinbase;
506
510
  coinbaseadvanced: typeof coinbaseadvanced;
@@ -551,7 +555,6 @@ declare const ccxt: {
551
555
  myokx: typeof myokx;
552
556
  ndax: typeof ndax;
553
557
  novadax: typeof novadax;
554
- oceanex: typeof oceanex;
555
558
  okx: typeof okx;
556
559
  okxus: typeof okxus;
557
560
  onetrading: typeof onetrading;
@@ -576,5 +579,5 @@ declare const ccxt: {
576
579
  zebpay: typeof zebpay;
577
580
  zonda: typeof zonda;
578
581
  } & typeof functions & typeof errors;
579
- export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError, Int, int, Str, Strings, Num, Bool, IndexType, OrderSide, OrderType, MarketType, SubType, Dict, NullableDict, List, NullableList, Fee, OHLCV, OHLCVC, implicitReturnType, Market, Currency, ConstructorArgs, Dictionary, MinMax, FeeInterface, TradingFeeInterface, MarketMarginModes, MarketInterface, Trade, Order, OrderBook, OrderBooks, Ticker, Transaction, Tickers, CurrencyInterface, Balance, BalanceAccount, Account, PartialBalances, Balances, DepositAddress, WithdrawalResponse, FundingRate, FundingRates, Position, BorrowInterest, LeverageTier, LedgerEntry, DepositWithdrawFeeNetwork, DepositWithdrawFee, TransferEntry, CrossBorrowRate, IsolatedBorrowRate, FundingRateHistory, OpenInterest, OpenInterests, Liquidation, OrderRequest, CancellationRequest, FundingHistory, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, LongShortRatio, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, LeverageTiers, alpaca, apex, arkham, ascendex, backpack, bequant, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit2c, bitbank, bitbns, bitfinex, bitflyer, bitget, bithumb, bitmart, bitmex, bitopro, bitrue, bitso, bitstamp, bitteam, bittrade, bitvavo, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bullish, bybit, cex, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincatch, coincheck, coinex, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, cryptomus, deepcoin, defx, delta, deribit, derive, digifinex, dydx, exmo, fmfwio, foxbit, gate, gateio, gemini, hashkey, hibachi, hitbtc, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mercado, mexc, modetrade, myokx, ndax, novadax, oceanex, okx, okxus, onetrading, oxfun, p2b, paradex, paymium, phemex, poloniex, probit, timex, tokocrypto, toobit, upbit, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zebpay, zonda, };
582
+ export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError, Int, int, Str, Strings, Num, Bool, IndexType, OrderSide, OrderType, MarketType, SubType, Dict, NullableDict, List, NullableList, Fee, OHLCV, OHLCVC, implicitReturnType, Market, Currency, ConstructorArgs, Dictionary, MinMax, FeeInterface, TradingFeeInterface, MarketMarginModes, MarketInterface, Trade, Order, OrderBook, OrderBooks, Ticker, Transaction, Tickers, CurrencyInterface, Balance, BalanceAccount, Account, PartialBalances, Balances, DepositAddress, WithdrawalResponse, FundingRate, FundingRates, Position, BorrowInterest, LeverageTier, LedgerEntry, DepositWithdrawFeeNetwork, DepositWithdrawFee, TransferEntry, CrossBorrowRate, IsolatedBorrowRate, FundingRateHistory, OpenInterest, OpenInterests, Liquidation, OrderRequest, CancellationRequest, FundingHistory, MarginMode, Greeks, Conversion, Option, LastPrice, Leverage, LongShortRatio, MarginModification, Leverages, LastPrices, Currencies, TradingFees, MarginModes, OptionChain, IsolatedBorrowRates, CrossBorrowRates, LeverageTiers, alpaca, apex, arkham, ascendex, backpack, bequant, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit2c, bitbank, bitbns, bitfinex, bitflyer, bitget, bithumb, bitmart, bitmex, bitopro, bitrue, bitso, bitstamp, bitteam, bittrade, bitvavo, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bullish, bybit, bydfi, cex, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincatch, coincheck, coinex, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, cryptomus, deepcoin, defx, delta, deribit, derive, digifinex, dydx, exmo, fmfwio, foxbit, gate, gateio, gemini, hashkey, hibachi, hitbtc, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mercado, mexc, modetrade, myokx, ndax, novadax, okx, okxus, onetrading, oxfun, p2b, paradex, paymium, phemex, poloniex, probit, timex, tokocrypto, toobit, upbit, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zebpay, zonda, };
580
583
  export default ccxt;
package/js/ccxt.js CHANGED
@@ -38,7 +38,7 @@ import * as errors from './src/base/errors.js';
38
38
  import { BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError } from './src/base/errors.js';
39
39
  //-----------------------------------------------------------------------------
40
40
  // this is updated by vss.js when building
41
- const version = '4.5.28';
41
+ const version = '4.5.30';
42
42
  Exchange.ccxtVersion = version;
43
43
  //-----------------------------------------------------------------------------
44
44
  import alpaca from './src/alpaca.js';
@@ -77,6 +77,7 @@ import btcmarkets from './src/btcmarkets.js';
77
77
  import btcturk from './src/btcturk.js';
78
78
  import bullish from './src/bullish.js';
79
79
  import bybit from './src/bybit.js';
80
+ import bydfi from './src/bydfi.js';
80
81
  import cex from './src/cex.js';
81
82
  import coinbase from './src/coinbase.js';
82
83
  import coinbaseadvanced from './src/coinbaseadvanced.js';
@@ -127,7 +128,6 @@ import modetrade from './src/modetrade.js';
127
128
  import myokx from './src/myokx.js';
128
129
  import ndax from './src/ndax.js';
129
130
  import novadax from './src/novadax.js';
130
- import oceanex from './src/oceanex.js';
131
131
  import okx from './src/okx.js';
132
132
  import okxus from './src/okxus.js';
133
133
  import onetrading from './src/onetrading.js';
@@ -177,6 +177,7 @@ import blockchaincomPro from './src/pro/blockchaincom.js';
177
177
  import blofinPro from './src/pro/blofin.js';
178
178
  import bullishPro from './src/pro/bullish.js';
179
179
  import bybitPro from './src/pro/bybit.js';
180
+ import bydfiPro from './src/pro/bydfi.js';
180
181
  import cexPro from './src/pro/cex.js';
181
182
  import coinbasePro from './src/pro/coinbase.js';
182
183
  import coinbaseadvancedPro from './src/pro/coinbaseadvanced.js';
@@ -265,6 +266,7 @@ const exchanges = {
265
266
  'btcturk': btcturk,
266
267
  'bullish': bullish,
267
268
  'bybit': bybit,
269
+ 'bydfi': bydfi,
268
270
  'cex': cex,
269
271
  'coinbase': coinbase,
270
272
  'coinbaseadvanced': coinbaseadvanced,
@@ -315,7 +317,6 @@ const exchanges = {
315
317
  'myokx': myokx,
316
318
  'ndax': ndax,
317
319
  'novadax': novadax,
318
- 'oceanex': oceanex,
319
320
  'okx': okx,
320
321
  'okxus': okxus,
321
322
  'onetrading': onetrading,
@@ -366,6 +367,7 @@ const pro = {
366
367
  'blofin': blofinPro,
367
368
  'bullish': bullishPro,
368
369
  'bybit': bybitPro,
370
+ 'bydfi': bydfiPro,
369
371
  'cex': cexPro,
370
372
  'coinbase': coinbasePro,
371
373
  'coinbaseadvanced': coinbaseadvancedPro,
@@ -430,6 +432,6 @@ pro.exchanges = Object.keys(pro);
430
432
  pro['Exchange'] = Exchange; // now the same for rest and ts
431
433
  //-----------------------------------------------------------------------------
432
434
  const ccxt = Object.assign({ version, Exchange, Precise, 'exchanges': Object.keys(exchanges), 'pro': pro }, exchanges, functions, errors);
433
- export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError, alpaca, apex, arkham, ascendex, backpack, bequant, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit2c, bitbank, bitbns, bitfinex, bitflyer, bitget, bithumb, bitmart, bitmex, bitopro, bitrue, bitso, bitstamp, bitteam, bittrade, bitvavo, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bullish, bybit, cex, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincatch, coincheck, coinex, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, cryptomus, deepcoin, defx, delta, deribit, derive, digifinex, dydx, exmo, fmfwio, foxbit, gate, gateio, gemini, hashkey, hibachi, hitbtc, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mercado, mexc, modetrade, myokx, ndax, novadax, oceanex, okx, okxus, onetrading, oxfun, p2b, paradex, paymium, phemex, poloniex, probit, timex, tokocrypto, toobit, upbit, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zebpay, zonda, };
435
+ export { version, Exchange, exchanges, pro, Precise, functions, errors, BaseError, ExchangeError, AuthenticationError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, OperationRejected, NoChange, MarginModeAlreadySet, MarketClosed, ManualInteractionNeeded, RestrictedLocation, InsufficientFunds, InvalidAddress, AddressPending, InvalidOrder, OrderNotFound, OrderNotCached, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, ContractUnavailable, NotSupported, InvalidProxySettings, ExchangeClosedByUser, OperationFailed, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, ChecksumError, RequestTimeout, BadResponse, NullResponse, CancelPending, UnsubscribeError, alpaca, apex, arkham, ascendex, backpack, bequant, bigone, binance, binancecoinm, binanceus, binanceusdm, bingx, bit2c, bitbank, bitbns, bitfinex, bitflyer, bitget, bithumb, bitmart, bitmex, bitopro, bitrue, bitso, bitstamp, bitteam, bittrade, bitvavo, blockchaincom, blofin, btcalpha, btcbox, btcmarkets, btcturk, bullish, bybit, bydfi, cex, coinbase, coinbaseadvanced, coinbaseexchange, coinbaseinternational, coincatch, coincheck, coinex, coinmate, coinmetro, coinone, coinsph, coinspot, cryptocom, cryptomus, deepcoin, defx, delta, deribit, derive, digifinex, dydx, exmo, fmfwio, foxbit, gate, gateio, gemini, hashkey, hibachi, hitbtc, hollaex, htx, huobi, hyperliquid, independentreserve, indodax, kraken, krakenfutures, kucoin, kucoinfutures, latoken, lbank, luno, mercado, mexc, modetrade, myokx, ndax, novadax, okx, okxus, onetrading, oxfun, p2b, paradex, paymium, phemex, poloniex, probit, timex, tokocrypto, toobit, upbit, wavesexchange, whitebit, woo, woofipro, xt, yobit, zaif, zebpay, zonda, };
434
436
  export default ccxt;
435
437
  //-----------------------------------------------------------------------------
@@ -0,0 +1,52 @@
1
+ import { implicitReturnType } from '../base/types.js';
2
+ import { Exchange as _Exchange } from '../base/Exchange.js';
3
+ interface Exchange {
4
+ publicGetV1PublicApiLimits(params?: {}): Promise<implicitReturnType>;
5
+ publicGetV1SwapMarketExchangeInfo(params?: {}): Promise<implicitReturnType>;
6
+ publicGetV1SwapMarketDepth(params?: {}): Promise<implicitReturnType>;
7
+ publicGetV1SwapMarketTrades(params?: {}): Promise<implicitReturnType>;
8
+ publicGetV1SwapMarketKlines(params?: {}): Promise<implicitReturnType>;
9
+ publicGetV1SwapMarketTicker24hr(params?: {}): Promise<implicitReturnType>;
10
+ publicGetV1SwapMarketTickerPrice(params?: {}): Promise<implicitReturnType>;
11
+ publicGetV1SwapMarketMarkPrice(params?: {}): Promise<implicitReturnType>;
12
+ publicGetV1SwapMarketFundingRate(params?: {}): Promise<implicitReturnType>;
13
+ publicGetV1SwapMarketFundingRateHistory(params?: {}): Promise<implicitReturnType>;
14
+ publicGetV1SwapMarketRiskLimit(params?: {}): Promise<implicitReturnType>;
15
+ privateGetV1AccountAssets(params?: {}): Promise<implicitReturnType>;
16
+ privateGetV1AccountTransferRecords(params?: {}): Promise<implicitReturnType>;
17
+ privateGetV1SpotDepositRecords(params?: {}): Promise<implicitReturnType>;
18
+ privateGetV1SpotWithdrawRecords(params?: {}): Promise<implicitReturnType>;
19
+ privateGetV1SwapTradeOpenOrder(params?: {}): Promise<implicitReturnType>;
20
+ privateGetV1SwapTradePlanOrder(params?: {}): Promise<implicitReturnType>;
21
+ privateGetV1SwapTradeLeverage(params?: {}): Promise<implicitReturnType>;
22
+ privateGetV1SwapTradeHistoryOrder(params?: {}): Promise<implicitReturnType>;
23
+ privateGetV1SwapTradeHistoryTrade(params?: {}): Promise<implicitReturnType>;
24
+ privateGetV1SwapTradePositionHistory(params?: {}): Promise<implicitReturnType>;
25
+ privateGetV1SwapTradePositions(params?: {}): Promise<implicitReturnType>;
26
+ privateGetV1SwapAccountBalance(params?: {}): Promise<implicitReturnType>;
27
+ privateGetV1SwapUserDataAssetsMargin(params?: {}): Promise<implicitReturnType>;
28
+ privateGetV1SwapUserDataPositionSideDual(params?: {}): Promise<implicitReturnType>;
29
+ privateGetV1AgentTeams(params?: {}): Promise<implicitReturnType>;
30
+ privateGetV1AgentAgentLinks(params?: {}): Promise<implicitReturnType>;
31
+ privateGetV1AgentRegularOverview(params?: {}): Promise<implicitReturnType>;
32
+ privateGetV1AgentAgentSubOverview(params?: {}): Promise<implicitReturnType>;
33
+ privateGetV1AgentPartenerUserDeposit(params?: {}): Promise<implicitReturnType>;
34
+ privateGetV1AgentPartenerUsersData(params?: {}): Promise<implicitReturnType>;
35
+ privateGetV1AgentAffiliateUids(params?: {}): Promise<implicitReturnType>;
36
+ privateGetV1AgentAffiliateCommission(params?: {}): Promise<implicitReturnType>;
37
+ privateGetV1AgentInternalWithdrawalStatus(params?: {}): Promise<implicitReturnType>;
38
+ privatePostV1AccountTransfer(params?: {}): Promise<implicitReturnType>;
39
+ privatePostV1SwapTradePlaceOrder(params?: {}): Promise<implicitReturnType>;
40
+ privatePostV1SwapTradeBatchPlaceOrder(params?: {}): Promise<implicitReturnType>;
41
+ privatePostV1SwapTradeEditOrder(params?: {}): Promise<implicitReturnType>;
42
+ privatePostV1SwapTradeBatchEditOrder(params?: {}): Promise<implicitReturnType>;
43
+ privatePostV1SwapTradeCancelAllOrder(params?: {}): Promise<implicitReturnType>;
44
+ privatePostV1SwapTradeLeverage(params?: {}): Promise<implicitReturnType>;
45
+ privatePostV1SwapTradeBatchLeverageMargin(params?: {}): Promise<implicitReturnType>;
46
+ privatePostV1SwapUserDataMarginType(params?: {}): Promise<implicitReturnType>;
47
+ privatePostV1SwapUserDataPositionSideDual(params?: {}): Promise<implicitReturnType>;
48
+ privatePostV1AgentInternalWithdrawal(params?: {}): Promise<implicitReturnType>;
49
+ }
50
+ declare abstract class Exchange extends _Exchange {
51
+ }
52
+ export default Exchange;
@@ -25,6 +25,7 @@ interface Exchange {
25
25
  publicGetConvertCurrencies(params?: {}): Promise<implicitReturnType>;
26
26
  publicPostBulletPublic(params?: {}): Promise<implicitReturnType>;
27
27
  privateGetUserInfo(params?: {}): Promise<implicitReturnType>;
28
+ privateGetUserApiKey(params?: {}): Promise<implicitReturnType>;
28
29
  privateGetAccounts(params?: {}): Promise<implicitReturnType>;
29
30
  privateGetAccountsAccountId(params?: {}): Promise<implicitReturnType>;
30
31
  privateGetAccountsLedgers(params?: {}): Promise<implicitReturnType>;
@@ -103,6 +104,7 @@ interface Exchange {
103
104
  privateGetConvertLimitOrderDetail(params?: {}): Promise<implicitReturnType>;
104
105
  privateGetConvertLimitOrders(params?: {}): Promise<implicitReturnType>;
105
106
  privateGetAffiliateInviterStatistics(params?: {}): Promise<implicitReturnType>;
107
+ privateGetEarnRedeemPreview(params?: {}): Promise<implicitReturnType>;
106
108
  privatePostSubUserCreated(params?: {}): Promise<implicitReturnType>;
107
109
  privatePostSubApiKey(params?: {}): Promise<implicitReturnType>;
108
110
  privatePostSubApiKeyUpdate(params?: {}): Promise<implicitReturnType>;
@@ -25,6 +25,7 @@ interface kucoin {
25
25
  publicGetConvertCurrencies(params?: {}): Promise<implicitReturnType>;
26
26
  publicPostBulletPublic(params?: {}): Promise<implicitReturnType>;
27
27
  privateGetUserInfo(params?: {}): Promise<implicitReturnType>;
28
+ privateGetUserApiKey(params?: {}): Promise<implicitReturnType>;
28
29
  privateGetAccounts(params?: {}): Promise<implicitReturnType>;
29
30
  privateGetAccountsAccountId(params?: {}): Promise<implicitReturnType>;
30
31
  privateGetAccountsLedgers(params?: {}): Promise<implicitReturnType>;
@@ -103,6 +104,7 @@ interface kucoin {
103
104
  privateGetConvertLimitOrderDetail(params?: {}): Promise<implicitReturnType>;
104
105
  privateGetConvertLimitOrders(params?: {}): Promise<implicitReturnType>;
105
106
  privateGetAffiliateInviterStatistics(params?: {}): Promise<implicitReturnType>;
107
+ privateGetEarnRedeemPreview(params?: {}): Promise<implicitReturnType>;
106
108
  privatePostSubUserCreated(params?: {}): Promise<implicitReturnType>;
107
109
  privatePostSubApiKey(params?: {}): Promise<implicitReturnType>;
108
110
  privatePostSubApiKeyUpdate(params?: {}): Promise<implicitReturnType>;
@@ -387,6 +387,7 @@ export default class Exchange {
387
387
  arraySlice(array: any, first: any, second?: any): any;
388
388
  getProperty(obj: any, property: any, defaultValue?: any): any;
389
389
  setProperty(obj: any, property: any, defaultValue?: any): void;
390
+ exceptionMessage(exc: any, includeStack?: boolean): string;
390
391
  axolotl(payload: any, hexKey: any, ed25519: any): string;
391
392
  fixStringifiedJsonMembers(content: string): string;
392
393
  ethAbiEncode(types: any, args: any): Uint8Array;
@@ -823,6 +824,7 @@ export default class Exchange {
823
824
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
824
825
  fetchOpenOrdersWs(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
825
826
  fetchClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
827
+ fetchCanceledOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
826
828
  fetchCanceledAndClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
827
829
  fetchClosedOrdersWs(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
828
830
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
@@ -973,6 +975,7 @@ export default class Exchange {
973
975
  convertExpireDateToMarketIdDate(date: string): string;
974
976
  convertMarketIdExpireDate(date: string): string;
975
977
  fetchPositionHistory(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Position[]>;
978
+ loadMarketsAndSignIn(): Promise<void>;
976
979
  fetchPositionsHistory(symbols?: Strings, since?: Int, limit?: Int, params?: {}): Promise<Position[]>;
977
980
  parseMarginModification(data: Dict, market?: Market): MarginModification;
978
981
  parseMarginModifications(response: object[], symbols?: Strings, symbolKey?: Str, marketType?: MarketType): MarginModification[];
@@ -597,12 +597,16 @@ export default class Exchange {
597
597
  return undefined;
598
598
  }
599
599
  isBinaryMessage(msg) {
600
- return msg instanceof Uint8Array;
600
+ return msg instanceof Uint8Array || msg instanceof ArrayBuffer;
601
601
  }
602
602
  decodeProtoMsg(data) {
603
603
  if (!protobufMexc) {
604
604
  throw new NotSupported(this.id + ' requires protobuf to decode messages, please install it with `npm install protobufjs`');
605
605
  }
606
+ if (data instanceof ArrayBuffer) {
607
+ // browser case
608
+ data = new Uint8Array(data);
609
+ }
606
610
  if (data instanceof Uint8Array) {
607
611
  const decoded = protobufMexc.default.PushDataV3ApiWrapper.decode(data);
608
612
  const dict = decoded.toJSON();
@@ -1275,6 +1279,11 @@ export default class Exchange {
1275
1279
  setProperty(obj, property, defaultValue = undefined) {
1276
1280
  obj[property] = defaultValue;
1277
1281
  }
1282
+ exceptionMessage(exc, includeStack = true) {
1283
+ const message = '[' + exc.constructor.name + '] ' + (!includeStack ? exc.message : exc.stack);
1284
+ const length = Math.min(100000, message.length);
1285
+ return message.slice(0, length);
1286
+ }
1278
1287
  axolotl(payload, hexKey, ed25519) {
1279
1288
  return axolotl(payload, hexKey, ed25519);
1280
1289
  }
@@ -5967,6 +5976,9 @@ export default class Exchange {
5967
5976
  }
5968
5977
  throw new NotSupported(this.id + ' fetchClosedOrders() is not supported yet');
5969
5978
  }
5979
+ async fetchCanceledOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
5980
+ throw new NotSupported(this.id + ' fetchCanceledOrders() is not supported yet');
5981
+ }
5970
5982
  async fetchCanceledAndClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
5971
5983
  throw new NotSupported(this.id + ' fetchCanceledAndClosedOrders() is not supported yet');
5972
5984
  }
@@ -7717,6 +7729,9 @@ export default class Exchange {
7717
7729
  throw new NotSupported(this.id + ' fetchPositionHistory () is not supported yet');
7718
7730
  }
7719
7731
  }
7732
+ async loadMarketsAndSignIn() {
7733
+ await Promise.all([this.loadMarkets(), this.signIn()]);
7734
+ }
7720
7735
  async fetchPositionsHistory(symbols = undefined, since = undefined, limit = undefined, params = {}) {
7721
7736
  /**
7722
7737
  * @method
@@ -42,6 +42,7 @@ export default class WsClient extends Client {
42
42
  }
43
43
  else {
44
44
  this.connection = new WebSocketPlatform(this.url, this.protocols);
45
+ this.connection.binaryType = "arraybuffer"; // for browsers not to use blob by default
45
46
  }
46
47
  this.connection.onopen = this.onOpen.bind(this);
47
48
  this.connection.onmessage = this.onMessage.bind(this);
@@ -553,7 +553,7 @@ export default class binance extends Exchange {
553
553
  * @param {boolean} [params.trigger] set to true if you would like to fetch portfolio margin account trigger or conditional orders
554
554
  * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/?id=order-structure}
555
555
  */
556
- fetchCanceledOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
556
+ fetchCanceledOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
557
557
  /**
558
558
  * @method
559
559
  * @name binance#fetchCanceledAndClosedOrders
package/js/src/bingx.js CHANGED
@@ -5443,7 +5443,7 @@ export default class bingx extends Exchange {
5443
5443
  '3': 'rejected',
5444
5444
  '4': 'pending',
5445
5445
  '5': 'rejected',
5446
- '6': 'pending',
5446
+ '6': 'ok',
5447
5447
  };
5448
5448
  return this.safeString(statuses, status, status);
5449
5449
  }
package/js/src/bullish.js CHANGED
@@ -1491,7 +1491,7 @@ export default class bullish extends Exchange {
1491
1491
  // [
1492
1492
  // {
1493
1493
  // "clientOrderId": "187",
1494
- // "orderId": "297735387747975680",
1494
+ // "orderId": "297735387747975681",
1495
1495
  // "symbol": "BTCUSDC",
1496
1496
  // "price": "1.00000000",
1497
1497
  // "averageFillPrice": "1.00000000",
package/js/src/bybit.js CHANGED
@@ -902,6 +902,8 @@ export default class bybit extends Exchange {
902
902
  '170229': InvalidOrder,
903
903
  '170234': ExchangeError,
904
904
  '170241': ManualInteractionNeeded,
905
+ '170371': InvalidOrder,
906
+ '170372': InvalidOrder,
905
907
  '175000': InvalidOrder,
906
908
  '175001': InvalidOrder,
907
909
  '175002': InvalidOrder,