ccxt 4.2.19 → 4.2.21

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 (64) hide show
  1. package/README.md +98 -98
  2. package/dist/ccxt.browser.js +1119 -364
  3. package/dist/ccxt.browser.min.js +6 -6
  4. package/dist/cjs/ccxt.js +1 -1
  5. package/dist/cjs/src/base/Exchange.js +47 -4
  6. package/dist/cjs/src/base/ws/WsClient.js +3 -1
  7. package/dist/cjs/src/binance.js +2 -1
  8. package/dist/cjs/src/binanceus.js +17 -0
  9. package/dist/cjs/src/bingx.js +2 -1
  10. package/dist/cjs/src/bitget.js +25 -31
  11. package/dist/cjs/src/bitteam.js +1 -1
  12. package/dist/cjs/src/bitvavo.js +271 -172
  13. package/dist/cjs/src/blockchaincom.js +3 -1
  14. package/dist/cjs/src/bybit.js +0 -28
  15. package/dist/cjs/src/delta.js +0 -18
  16. package/dist/cjs/src/gate.js +32 -26
  17. package/dist/cjs/src/kucoinfutures.js +9 -9
  18. package/dist/cjs/src/novadax.js +26 -22
  19. package/dist/cjs/src/okx.js +0 -18
  20. package/dist/cjs/src/phemex.js +2 -1
  21. package/dist/cjs/src/pro/bitopro.js +7 -3
  22. package/dist/cjs/src/pro/bitvavo.js +668 -22
  23. package/dist/cjs/src/pro/lbank.js +1 -1
  24. package/js/ccxt.d.ts +1 -1
  25. package/js/ccxt.js +1 -1
  26. package/js/src/abstract/binance.d.ts +1 -0
  27. package/js/src/abstract/binancecoinm.d.ts +1 -0
  28. package/js/src/abstract/binanceus.d.ts +1 -0
  29. package/js/src/abstract/binanceusdm.d.ts +1 -0
  30. package/js/src/abstract/bitpanda.js +11 -0
  31. package/js/src/abstract/gate.d.ts +1 -0
  32. package/js/src/abstract/gateio.d.ts +1 -0
  33. package/js/src/abstract/novadax.d.ts +5 -1
  34. package/js/src/abstract/phemex.d.ts +1 -0
  35. package/js/src/base/Exchange.d.ts +15 -1
  36. package/js/src/base/Exchange.js +47 -4
  37. package/js/src/base/ws/WsClient.js +3 -2
  38. package/js/src/binance.js +2 -1
  39. package/js/src/binanceus.js +17 -0
  40. package/js/src/bingx.js +2 -1
  41. package/js/src/bitget.d.ts +1 -1
  42. package/js/src/bitget.js +25 -31
  43. package/js/src/bitteam.js +1 -1
  44. package/js/src/bitvavo.d.ts +14 -2
  45. package/js/src/bitvavo.js +271 -172
  46. package/js/src/blockchaincom.js +3 -1
  47. package/js/src/bybit.d.ts +0 -1
  48. package/js/src/bybit.js +1 -29
  49. package/js/src/delta.d.ts +0 -1
  50. package/js/src/delta.js +0 -18
  51. package/js/src/gate.d.ts +1 -1
  52. package/js/src/gate.js +32 -26
  53. package/js/src/kucoinfutures.d.ts +6 -6
  54. package/js/src/kucoinfutures.js +9 -9
  55. package/js/src/novadax.js +26 -22
  56. package/js/src/okx.d.ts +0 -1
  57. package/js/src/okx.js +0 -18
  58. package/js/src/phemex.js +2 -1
  59. package/js/src/pro/bitopro.js +7 -3
  60. package/js/src/pro/bitvavo.d.ts +35 -2
  61. package/js/src/pro/bitvavo.js +669 -23
  62. package/js/src/pro/lbank.js +1 -1
  63. package/package.json +1 -1
  64. package/skip-tests.json +2 -1
@@ -682,7 +682,7 @@ class lbank extends lbank$1 {
682
682
  };
683
683
  const request = this.deepExtend(subscribe, params);
684
684
  const orderbook = await this.watch(url, messageHash, request, messageHash);
685
- return orderbook.limit(limit);
685
+ return orderbook.limit();
686
686
  }
687
687
  async watchOrderBook(symbol, limit = undefined, params = {}) {
688
688
  /**
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 { Market, Trade, Fee, Ticker, OrderBook, Order, Transaction, Tickers, Currency, Balance, DepositAddress, WithdrawalResponse, DepositAddressResponse, OHLCV, Balances, PartialBalances, Dictionary, MinMax, Position, FundingRateHistory, Liquidation, FundingHistory, MarginMode, Greeks } from './src/base/types.js';
6
6
  import { BaseError, ExchangeError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, NotSupported, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, AuthenticationError, AddressPending, NoChange } from './src/base/errors.js';
7
- declare const version = "4.2.18";
7
+ declare const version = "4.2.20";
8
8
  import ace from './src/ace.js';
9
9
  import alpaca from './src/alpaca.js';
10
10
  import ascendex from './src/ascendex.js';
package/js/ccxt.js CHANGED
@@ -38,7 +38,7 @@ import * as errors from './src/base/errors.js';
38
38
  import { BaseError, ExchangeError, PermissionDenied, AccountNotEnabled, AccountSuspended, ArgumentsRequired, BadRequest, BadSymbol, MarginModeAlreadySet, BadResponse, NullResponse, InsufficientFunds, InvalidAddress, InvalidOrder, OrderNotFound, OrderNotCached, CancelPending, OrderImmediatelyFillable, OrderNotFillable, DuplicateOrderId, NotSupported, NetworkError, DDoSProtection, RateLimitExceeded, ExchangeNotAvailable, OnMaintenance, InvalidNonce, RequestTimeout, AuthenticationError, AddressPending, NoChange } from './src/base/errors.js';
39
39
  //-----------------------------------------------------------------------------
40
40
  // this is updated by vss.js when building
41
- const version = '4.2.19';
41
+ const version = '4.2.21';
42
42
  Exchange.ccxtVersion = version;
43
43
  //-----------------------------------------------------------------------------
44
44
  import ace from './src/ace.js';
@@ -600,6 +600,7 @@ interface Exchange {
600
600
  privateDeleteOpenOrders(params?: {}): Promise<implicitReturnType>;
601
601
  privateDeleteOrderList(params?: {}): Promise<implicitReturnType>;
602
602
  privateDeleteOrder(params?: {}): Promise<implicitReturnType>;
603
+ papiGetPing(params?: {}): Promise<implicitReturnType>;
603
604
  papiGetUmOrder(params?: {}): Promise<implicitReturnType>;
604
605
  papiGetUmOpenOrder(params?: {}): Promise<implicitReturnType>;
605
606
  papiGetUmOpenOrders(params?: {}): Promise<implicitReturnType>;
@@ -600,6 +600,7 @@ interface binance {
600
600
  privateDeleteOpenOrders(params?: {}): Promise<implicitReturnType>;
601
601
  privateDeleteOrderList(params?: {}): Promise<implicitReturnType>;
602
602
  privateDeleteOrder(params?: {}): Promise<implicitReturnType>;
603
+ papiGetPing(params?: {}): Promise<implicitReturnType>;
603
604
  papiGetUmOrder(params?: {}): Promise<implicitReturnType>;
604
605
  papiGetUmOpenOrder(params?: {}): Promise<implicitReturnType>;
605
606
  papiGetUmOpenOrders(params?: {}): Promise<implicitReturnType>;
@@ -600,6 +600,7 @@ interface binance {
600
600
  privateDeleteOpenOrders(params?: {}): Promise<implicitReturnType>;
601
601
  privateDeleteOrderList(params?: {}): Promise<implicitReturnType>;
602
602
  privateDeleteOrder(params?: {}): Promise<implicitReturnType>;
603
+ papiGetPing(params?: {}): Promise<implicitReturnType>;
603
604
  papiGetUmOrder(params?: {}): Promise<implicitReturnType>;
604
605
  papiGetUmOpenOrder(params?: {}): Promise<implicitReturnType>;
605
606
  papiGetUmOpenOrders(params?: {}): Promise<implicitReturnType>;
@@ -600,6 +600,7 @@ interface binance {
600
600
  privateDeleteOpenOrders(params?: {}): Promise<implicitReturnType>;
601
601
  privateDeleteOrderList(params?: {}): Promise<implicitReturnType>;
602
602
  privateDeleteOrder(params?: {}): Promise<implicitReturnType>;
603
+ papiGetPing(params?: {}): Promise<implicitReturnType>;
603
604
  papiGetUmOrder(params?: {}): Promise<implicitReturnType>;
604
605
  papiGetUmOpenOrder(params?: {}): Promise<implicitReturnType>;
605
606
  papiGetUmOpenOrders(params?: {}): Promise<implicitReturnType>;
@@ -0,0 +1,11 @@
1
+ // ----------------------------------------------------------------------------
2
+
3
+ // PLEASE DO NOT EDIT THIS FILE, IT IS GENERATED AND WILL BE OVERWRITTEN:
4
+ // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
+ // EDIT THE CORRESPONDENT .ts FILE INSTEAD
6
+
7
+ // -------------------------------------------------------------------------------
8
+ import _onetrading from '../onetrading.js';
9
+ class onetrading extends _onetrading {
10
+ }
11
+ export default onetrading;
@@ -242,6 +242,7 @@ interface Exchange {
242
242
  privateLoanGetMultiCollateralCurrencyQuota(params?: {}): Promise<implicitReturnType>;
243
243
  privateLoanGetMultiCollateralCurrencies(params?: {}): Promise<implicitReturnType>;
244
244
  privateLoanGetMultiCollateralLtv(params?: {}): Promise<implicitReturnType>;
245
+ privateLoanGetMultiCollateralFixedRate(params?: {}): Promise<implicitReturnType>;
245
246
  privateLoanPostCollateralOrders(params?: {}): Promise<implicitReturnType>;
246
247
  privateLoanPostCollateralRepay(params?: {}): Promise<implicitReturnType>;
247
248
  privateLoanPostCollateralCollaterals(params?: {}): Promise<implicitReturnType>;
@@ -242,6 +242,7 @@ interface gate {
242
242
  privateLoanGetMultiCollateralCurrencyQuota(params?: {}): Promise<implicitReturnType>;
243
243
  privateLoanGetMultiCollateralCurrencies(params?: {}): Promise<implicitReturnType>;
244
244
  privateLoanGetMultiCollateralLtv(params?: {}): Promise<implicitReturnType>;
245
+ privateLoanGetMultiCollateralFixedRate(params?: {}): Promise<implicitReturnType>;
245
246
  privateLoanPostCollateralOrders(params?: {}): Promise<implicitReturnType>;
246
247
  privateLoanPostCollateralRepay(params?: {}): Promise<implicitReturnType>;
247
248
  privateLoanPostCollateralCollaterals(params?: {}): Promise<implicitReturnType>;
@@ -19,9 +19,13 @@ interface Exchange {
19
19
  privateGetAccountSubsTransferRecord(params?: {}): Promise<implicitReturnType>;
20
20
  privateGetWalletQueryDepositWithdraw(params?: {}): Promise<implicitReturnType>;
21
21
  privatePostOrdersCreate(params?: {}): Promise<implicitReturnType>;
22
+ privatePostOrdersBatchCreate(params?: {}): Promise<implicitReturnType>;
22
23
  privatePostOrdersCancel(params?: {}): Promise<implicitReturnType>;
23
- privatePostAccountWithdrawCoin(params?: {}): Promise<implicitReturnType>;
24
+ privatePostOrdersBatchCancel(params?: {}): Promise<implicitReturnType>;
25
+ privatePostOrdersCancelBySymbol(params?: {}): Promise<implicitReturnType>;
24
26
  privatePostAccountSubsTransfer(params?: {}): Promise<implicitReturnType>;
27
+ privatePostWalletWithdrawCoin(params?: {}): Promise<implicitReturnType>;
28
+ privatePostAccountWithdrawCoin(params?: {}): Promise<implicitReturnType>;
25
29
  }
26
30
  declare abstract class Exchange extends _Exchange {
27
31
  }
@@ -48,6 +48,7 @@ interface Exchange {
48
48
  privateGetApiDataGFuturesTrades(params?: {}): Promise<implicitReturnType>;
49
49
  privateGetApiDataFuturesTradingFees(params?: {}): Promise<implicitReturnType>;
50
50
  privateGetApiDataGFuturesTradingFees(params?: {}): Promise<implicitReturnType>;
51
+ privateGetApiDataFuturesV2TradeAccountDetail(params?: {}): Promise<implicitReturnType>;
51
52
  privateGetGOrdersActiveList(params?: {}): Promise<implicitReturnType>;
52
53
  privateGetOrdersActiveList(params?: {}): Promise<implicitReturnType>;
53
54
  privateGetExchangeOrderList(params?: {}): Promise<implicitReturnType>;
@@ -331,16 +331,19 @@ export default class Exchange {
331
331
  fetchBorrowInterest: any;
332
332
  fetchBorrowRateHistory: any;
333
333
  fetchCanceledOrders: any;
334
+ fetchCanceledAndClosedOrders: any;
334
335
  fetchClosedOrder: any;
335
336
  fetchClosedOrders: any;
336
337
  fetchCrossBorrowRate: any;
337
338
  fetchCrossBorrowRates: any;
338
339
  fetchCurrencies: string;
340
+ fetchCurrenciesWs: string;
339
341
  fetchDeposit: any;
340
342
  fetchDepositAddress: any;
341
343
  fetchDepositAddresses: any;
342
344
  fetchDepositAddressesByNetwork: any;
343
345
  fetchDeposits: any;
346
+ fetchDepositsWs: any;
344
347
  fetchDepositsWithdrawals: any;
345
348
  fetchTransactionFee: any;
346
349
  fetchTransactionFees: any;
@@ -358,9 +361,11 @@ export default class Exchange {
358
361
  fetchLeverageTiers: any;
359
362
  fetchMarketLeverageTiers: any;
360
363
  fetchMarkets: boolean;
364
+ fetchMarketsWs: any;
361
365
  fetchMarkOHLCV: any;
362
366
  fetchMyTrades: any;
363
367
  fetchOHLCV: any;
368
+ fetchOHLCVWs: any;
364
369
  fetchOpenInterest: any;
365
370
  fetchOpenInterestHistory: any;
366
371
  fetchOpenOrder: any;
@@ -383,12 +388,14 @@ export default class Exchange {
383
388
  fetchTrades: boolean;
384
389
  fetchTradingFee: any;
385
390
  fetchTradingFees: any;
391
+ fetchTradingFeesWs: any;
386
392
  fetchTradingLimits: any;
387
393
  fetchTransactions: any;
388
394
  fetchTransfers: any;
389
395
  fetchWithdrawAddresses: any;
390
396
  fetchWithdrawal: any;
391
397
  fetchWithdrawals: any;
398
+ fetchWithdrawalsWs: any;
392
399
  reduceMargin: any;
393
400
  setLeverage: any;
394
401
  setMargin: any;
@@ -533,7 +540,9 @@ export default class Exchange {
533
540
  loadMarketsHelper(reload?: boolean, params?: {}): Promise<Dictionary<any>>;
534
541
  loadMarkets(reload?: boolean, params?: {}): Promise<Dictionary<Market>>;
535
542
  fetchCurrencies(params?: {}): Promise<unknown>;
543
+ fetchCurrenciesWs(params?: {}): Promise<unknown>;
536
544
  fetchMarkets(params?: {}): Promise<Market[]>;
545
+ fetchMarketsWs(params?: {}): Promise<Market[]>;
537
546
  checkRequiredDependencies(): void;
538
547
  parseNumber(value: any, d?: number): number;
539
548
  checkOrderArguments(market: any, type: any, side: any, amount: any, price: any, params: any): void;
@@ -677,6 +686,7 @@ export default class Exchange {
677
686
  borrowMargin(code: string, amount: any, symbol?: Str, params?: {}): Promise<any>;
678
687
  repayMargin(code: string, amount: any, symbol?: Str, params?: {}): Promise<any>;
679
688
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
689
+ fetchOHLCVWs(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
680
690
  watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
681
691
  convertTradingViewToOHLCV(ohlcvs: any, timestamp?: string, open?: string, high?: string, low?: string, close?: string, volume?: string, ms?: boolean): any[];
682
692
  convertOHLCVToTradingView(ohlcvs: any, timestamp?: string, open?: string, high?: string, low?: string, close?: string, volume?: string, ms?: boolean): {};
@@ -800,17 +810,19 @@ export default class Exchange {
800
810
  fetchOpenOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
801
811
  fetchOpenOrdersWs(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
802
812
  fetchClosedOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
813
+ fetchCanceledAndClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
803
814
  fetchClosedOrdersWs(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
804
815
  fetchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
805
816
  fetchMyLiquidations(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Liquidation[]>;
806
817
  fetchLiquidations(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Liquidation[]>;
807
818
  fetchMyTradesWs(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
808
819
  watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
809
- fetchOHLCVWs(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
810
820
  fetchGreeks(symbol: string, params?: {}): Promise<Greeks>;
811
821
  fetchDepositsWithdrawals(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
812
822
  fetchDeposits(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
823
+ fetchDepositsWs(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
813
824
  fetchWithdrawals(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
825
+ fetchWithdrawalsWs(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
814
826
  fetchOpenInterest(symbol: string, params?: {}): Promise<OpenInterest>;
815
827
  fetchFundingRateHistory(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<FundingRateHistory[]>;
816
828
  fetchFundingHistory(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<FundingHistory[]>;
@@ -823,6 +835,7 @@ export default class Exchange {
823
835
  commonCurrencyCode(currency: string): string;
824
836
  currency(code: any): any;
825
837
  market(symbol: string): MarketInterface;
838
+ createExpiredOptionMarket(symbol: string): MarketInterface;
826
839
  handleWithdrawTagAndParams(tag: any, params: any): any;
827
840
  createLimitOrder(symbol: string, side: OrderSide, amount: any, price: any, params?: {}): Promise<Order>;
828
841
  createMarketOrder(symbol: string, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
@@ -867,6 +880,7 @@ export default class Exchange {
867
880
  handlePostOnly(isMarketOrder: boolean, exchangeSpecificPostOnlyOption: boolean, params?: any): any[];
868
881
  fetchLastPrices(symbols?: string[], params?: {}): Promise<void>;
869
882
  fetchTradingFees(params?: {}): Promise<any>;
883
+ fetchTradingFeesWs(params?: {}): Promise<any>;
870
884
  fetchTradingFee(symbol: string, params?: {}): Promise<any>;
871
885
  parseOpenInterest(interest: any, market?: Market): OpenInterest;
872
886
  parseOpenInterests(response: any, market?: any, since?: Int, limit?: Int): OpenInterest[];
@@ -388,16 +388,19 @@ export default class Exchange {
388
388
  'fetchBorrowInterest': undefined,
389
389
  'fetchBorrowRateHistory': undefined,
390
390
  'fetchCanceledOrders': undefined,
391
+ 'fetchCanceledAndClosedOrders': undefined,
391
392
  'fetchClosedOrder': undefined,
392
393
  'fetchClosedOrders': undefined,
393
394
  'fetchCrossBorrowRate': undefined,
394
395
  'fetchCrossBorrowRates': undefined,
395
396
  'fetchCurrencies': 'emulated',
397
+ 'fetchCurrenciesWs': 'emulated',
396
398
  'fetchDeposit': undefined,
397
399
  'fetchDepositAddress': undefined,
398
400
  'fetchDepositAddresses': undefined,
399
401
  'fetchDepositAddressesByNetwork': undefined,
400
402
  'fetchDeposits': undefined,
403
+ 'fetchDepositsWs': undefined,
401
404
  'fetchDepositsWithdrawals': undefined,
402
405
  'fetchTransactionFee': undefined,
403
406
  'fetchTransactionFees': undefined,
@@ -415,9 +418,11 @@ export default class Exchange {
415
418
  'fetchLeverageTiers': undefined,
416
419
  'fetchMarketLeverageTiers': undefined,
417
420
  'fetchMarkets': true,
421
+ 'fetchMarketsWs': undefined,
418
422
  'fetchMarkOHLCV': undefined,
419
423
  'fetchMyTrades': undefined,
420
424
  'fetchOHLCV': undefined,
425
+ 'fetchOHLCVWs': undefined,
421
426
  'fetchOpenInterest': undefined,
422
427
  'fetchOpenInterestHistory': undefined,
423
428
  'fetchOpenOrder': undefined,
@@ -440,12 +445,14 @@ export default class Exchange {
440
445
  'fetchTrades': true,
441
446
  'fetchTradingFee': undefined,
442
447
  'fetchTradingFees': undefined,
448
+ 'fetchTradingFeesWs': undefined,
443
449
  'fetchTradingLimits': undefined,
444
450
  'fetchTransactions': undefined,
445
451
  'fetchTransfers': undefined,
446
452
  'fetchWithdrawAddresses': undefined,
447
453
  'fetchWithdrawal': undefined,
448
454
  'fetchWithdrawals': undefined,
455
+ 'fetchWithdrawalsWs': undefined,
449
456
  'reduceMargin': undefined,
450
457
  'setLeverage': undefined,
451
458
  'setMargin': undefined,
@@ -965,6 +972,13 @@ export default class Exchange {
965
972
  // and may be changed for consistency later
966
973
  return new Promise((resolve, reject) => resolve(this.currencies));
967
974
  }
975
+ fetchCurrenciesWs(params = {}) {
976
+ // markets are returned as a list
977
+ // currencies are returned as a dict
978
+ // this is for historical reasons
979
+ // and may be changed for consistency later
980
+ return new Promise((resolve, reject) => resolve(this.currencies));
981
+ }
968
982
  fetchMarkets(params = {}) {
969
983
  // markets are returned as a list
970
984
  // currencies are returned as a dict
@@ -972,6 +986,13 @@ export default class Exchange {
972
986
  // and may be changed for consistency later
973
987
  return new Promise((resolve, reject) => resolve(Object.values(this.markets)));
974
988
  }
989
+ fetchMarketsWs(params = {}) {
990
+ // markets are returned as a list
991
+ // currencies are returned as a dict
992
+ // this is for historical reasons
993
+ // and may be changed for consistency later
994
+ return new Promise((resolve, reject) => resolve(Object.values(this.markets)));
995
+ }
975
996
  checkRequiredDependencies() {
976
997
  return;
977
998
  }
@@ -2752,6 +2773,13 @@ export default class Exchange {
2752
2773
  }
2753
2774
  throw new NotSupported(this.id + ' fetchOHLCV() is not supported yet' + message);
2754
2775
  }
2776
+ async fetchOHLCVWs(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
2777
+ let message = '';
2778
+ if (this.has['fetchTradesWs']) {
2779
+ message = '. If you want to build OHLCV candles from trade executions data, visit https://github.com/ccxt/ccxt/tree/master/examples/ and see "build-ohlcv-bars" file';
2780
+ }
2781
+ throw new NotSupported(this.id + ' fetchOHLCVWs() is not supported yet. Try using fetchOHLCV instead.' + message);
2782
+ }
2755
2783
  async watchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
2756
2784
  throw new NotSupported(this.id + ' watchOHLCV() is not supported yet');
2757
2785
  }
@@ -3111,7 +3139,7 @@ export default class Exchange {
3111
3139
  for (let i = 0; i < response.length; i++) {
3112
3140
  const item = response[i];
3113
3141
  const id = this.safeString(item, marketIdKey);
3114
- const market = this.safeMarket(id, undefined, undefined, this.safeString(this.options, 'defaultType'));
3142
+ const market = this.safeMarket(id, undefined, undefined, 'swap');
3115
3143
  const symbol = market['symbol'];
3116
3144
  const contract = this.safeValue(market, 'contract', false);
3117
3145
  if (contract && ((symbols === undefined) || this.inArray(symbol, symbols))) {
@@ -4080,6 +4108,9 @@ export default class Exchange {
4080
4108
  }
4081
4109
  throw new NotSupported(this.id + ' fetchClosedOrders() is not supported yet');
4082
4110
  }
4111
+ async fetchCanceledAndClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
4112
+ throw new NotSupported(this.id + ' fetchCanceledAndClosedOrders() is not supported yet');
4113
+ }
4083
4114
  async fetchClosedOrdersWs(symbol = undefined, since = undefined, limit = undefined, params = {}) {
4084
4115
  if (this.has['fetchOrdersWs']) {
4085
4116
  const orders = await this.fetchOrdersWs(symbol, since, limit, params);
@@ -4102,9 +4133,6 @@ export default class Exchange {
4102
4133
  async watchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
4103
4134
  throw new NotSupported(this.id + ' watchMyTrades() is not supported yet');
4104
4135
  }
4105
- async fetchOHLCVWs(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
4106
- throw new NotSupported(this.id + ' fetchOHLCVWs() is not supported yet');
4107
- }
4108
4136
  async fetchGreeks(symbol, params = {}) {
4109
4137
  throw new NotSupported(this.id + ' fetchGreeks() is not supported yet');
4110
4138
  }
@@ -4124,9 +4152,15 @@ export default class Exchange {
4124
4152
  async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
4125
4153
  throw new NotSupported(this.id + ' fetchDeposits() is not supported yet');
4126
4154
  }
4155
+ async fetchDepositsWs(code = undefined, since = undefined, limit = undefined, params = {}) {
4156
+ throw new NotSupported(this.id + ' fetchDepositsWs() is not supported yet');
4157
+ }
4127
4158
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
4128
4159
  throw new NotSupported(this.id + ' fetchWithdrawals() is not supported yet');
4129
4160
  }
4161
+ async fetchWithdrawalsWs(code = undefined, since = undefined, limit = undefined, params = {}) {
4162
+ throw new NotSupported(this.id + ' fetchWithdrawalsWs() is not supported yet');
4163
+ }
4130
4164
  async fetchOpenInterest(symbol, params = {}) {
4131
4165
  throw new NotSupported(this.id + ' fetchOpenInterest() is not supported yet');
4132
4166
  }
@@ -4208,8 +4242,14 @@ export default class Exchange {
4208
4242
  }
4209
4243
  return markets[0];
4210
4244
  }
4245
+ else if ((symbol.endsWith('-C')) || (symbol.endsWith('-P')) || (symbol.startsWith('C-')) || (symbol.startsWith('P-'))) {
4246
+ return this.createExpiredOptionMarket(symbol);
4247
+ }
4211
4248
  throw new BadSymbol(this.id + ' does not have market symbol ' + symbol);
4212
4249
  }
4250
+ createExpiredOptionMarket(symbol) {
4251
+ throw new NotSupported(this.id + ' createExpiredOptionMarket () is not supported yet');
4252
+ }
4213
4253
  handleWithdrawTagAndParams(tag, params) {
4214
4254
  if (typeof tag === 'object') {
4215
4255
  params = this.extend(tag, params);
@@ -4600,6 +4640,9 @@ export default class Exchange {
4600
4640
  async fetchTradingFees(params = {}) {
4601
4641
  throw new NotSupported(this.id + ' fetchTradingFees() is not supported yet');
4602
4642
  }
4643
+ async fetchTradingFeesWs(params = {}) {
4644
+ throw new NotSupported(this.id + ' fetchTradingFeesWs() is not supported yet');
4645
+ }
4603
4646
  async fetchTradingFee(symbol, params = {}) {
4604
4647
  if (!this.has['fetchTradingFees']) {
4605
4648
  throw new NotSupported(this.id + ' fetchTradingFee() is not supported yet');
@@ -4,10 +4,12 @@
4
4
  // https://github.com/ccxt/ccxt/blob/master/CONTRIBUTING.md#how-to-contribute-code
5
5
  // EDIT THE CORRESPONDENT .ts FILE INSTEAD
6
6
 
7
+ // eslint-disable-next-line no-shadow
8
+ import WebSocket from 'ws';
7
9
  import Client from './Client.js';
8
10
  import { sleep, isNode, milliseconds, } from '../../base/functions.js';
9
- import WebSocket from 'ws';
10
11
  import { Future } from './Future.js';
12
+ // eslint-disable-next-line no-restricted-globals
11
13
  const WebSocketPlatform = isNode ? WebSocket : self.WebSocket;
12
14
  export default class WsClient extends Client {
13
15
  createConnection() {
@@ -61,4 +63,3 @@ export default class WsClient extends Client {
61
63
  return this.disconnected;
62
64
  }
63
65
  }
64
- ;
package/js/src/binance.js CHANGED
@@ -955,6 +955,7 @@ export default class binance extends Exchange {
955
955
  },
956
956
  'papi': {
957
957
  'get': {
958
+ 'ping': 1,
958
959
  'um/order': 1,
959
960
  'um/openOrder': 1,
960
961
  'um/openOrders': 1,
@@ -8700,7 +8701,7 @@ export default class binance extends Exchange {
8700
8701
  throw new AuthenticationError(this.id + ' userDataStream endpoint requires `apiKey` credential');
8701
8702
  }
8702
8703
  }
8703
- else if ((api === 'private') || (api === 'eapiPrivate') || (api === 'sapi' && path !== 'system/status') || (api === 'sapiV2') || (api === 'sapiV3') || (api === 'sapiV4') || (api === 'dapiPrivate') || (api === 'dapiPrivateV2') || (api === 'fapiPrivate') || (api === 'fapiPrivateV2') || (api === 'papi')) {
8704
+ else if ((api === 'private') || (api === 'eapiPrivate') || (api === 'sapi' && path !== 'system/status') || (api === 'sapiV2') || (api === 'sapiV3') || (api === 'sapiV4') || (api === 'dapiPrivate') || (api === 'dapiPrivateV2') || (api === 'fapiPrivate') || (api === 'fapiPrivateV2') || (api === 'papi' && path !== 'ping')) {
8704
8705
  this.checkRequiredCredentials();
8705
8706
  if (method === 'POST' && ((path === 'order') || (path === 'sor/order'))) {
8706
8707
  // inject in implicit API calls
@@ -84,7 +84,24 @@ export default class binanceus extends binance {
84
84
  'api': {
85
85
  'public': {
86
86
  'get': {
87
+ 'exchangeInfo': 10,
88
+ 'ping': 1,
89
+ 'time': 1,
90
+ 'depth': { 'cost': 1, 'byLimit': [[100, 1], [500, 5], [1000, 10], [5000, 50]] },
91
+ 'trades': 1,
92
+ 'aggTrades': 1,
93
+ 'historicalTrades': 5,
94
+ 'klines': 1,
87
95
  'ticker/price': { 'cost': 1, 'noSymbol': 2 },
96
+ 'avgPrice': 1,
97
+ 'ticker/bookTicker': { 'cost': 1, 'noSymbol': 2 },
98
+ 'ticker/24hr': { 'cost': 1, 'noSymbol': 40 },
99
+ 'ticker': { 'cost': 2, 'noSymbol': 100 },
100
+ },
101
+ },
102
+ 'private': {
103
+ 'get': {
104
+ 'status': 1,
88
105
  },
89
106
  },
90
107
  },
package/js/src/bingx.js CHANGED
@@ -369,7 +369,8 @@ export default class bingx extends Exchange {
369
369
  '80017': OrderNotFound,
370
370
  '100414': AccountSuspended,
371
371
  '100419': PermissionDenied,
372
- '100437': BadRequest, // {"code":100437,"msg":"The withdrawal amount is lower than the minimum limit, please re-enter.","timestamp":1689258588845}
372
+ '100437': BadRequest,
373
+ '101204': InsufficientFunds, // bingx {"code":101204,"msg":"","data":{}}
373
374
  },
374
375
  'broad': {},
375
376
  },
@@ -92,7 +92,7 @@ export default class bitget extends Exchange {
92
92
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
93
93
  fetchClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
94
94
  fetchCanceledOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
95
- fetchCanceledAndClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
95
+ fetchCanceledAndClosedOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
96
96
  fetchLedger(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<any>;
97
97
  parseLedgerEntry(item: any, currency?: Currency): {
98
98
  info: any;
package/js/src/bitget.js CHANGED
@@ -57,6 +57,7 @@ export default class bitget extends Exchange {
57
57
  'fetchBorrowInterest': true,
58
58
  'fetchBorrowRateHistories': false,
59
59
  'fetchBorrowRateHistory': false,
60
+ 'fetchCanceledAndClosedOrders': true,
60
61
  'fetchCanceledOrders': true,
61
62
  'fetchClosedOrders': true,
62
63
  'fetchCrossBorrowRate': true,
@@ -5397,20 +5398,8 @@ export default class bitget extends Exchange {
5397
5398
  * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
5398
5399
  */
5399
5400
  await this.loadMarkets();
5400
- let market = undefined;
5401
- if (symbol !== undefined) {
5402
- market = this.market(symbol);
5403
- }
5404
- const response = await this.fetchCanceledAndClosedOrders(symbol, since, limit, params);
5405
- const result = [];
5406
- for (let i = 0; i < response.length; i++) {
5407
- const entry = response[i];
5408
- const status = this.parseOrderStatus(this.safeStringN(entry, ['state', 'status', 'planStatus']));
5409
- if (status === 'closed') {
5410
- result.push(entry);
5411
- }
5412
- }
5413
- return this.parseOrders(result, market, since, limit);
5401
+ const orders = await this.fetchCanceledAndClosedOrders(symbol, since, limit, params);
5402
+ return this.filterBy(orders, 'status', 'closed');
5414
5403
  }
5415
5404
  async fetchCanceledOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
5416
5405
  /**
@@ -5435,22 +5424,26 @@ export default class bitget extends Exchange {
5435
5424
  * @returns {object} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
5436
5425
  */
5437
5426
  await this.loadMarkets();
5438
- let market = undefined;
5439
- if (symbol !== undefined) {
5440
- market = this.market(symbol);
5441
- }
5442
- const response = await this.fetchCanceledAndClosedOrders(symbol, since, limit, params);
5443
- const result = [];
5444
- for (let i = 0; i < response.length; i++) {
5445
- const entry = response[i];
5446
- const status = this.parseOrderStatus(this.safeStringN(entry, ['state', 'status', 'planStatus']));
5447
- if (status === 'canceled') {
5448
- result.push(entry);
5449
- }
5450
- }
5451
- return this.parseOrders(result, market, since, limit);
5427
+ const orders = await this.fetchCanceledAndClosedOrders(symbol, since, limit, params);
5428
+ return this.filterBy(orders, 'status', 'canceled');
5452
5429
  }
5453
5430
  async fetchCanceledAndClosedOrders(symbol = undefined, since = undefined, limit = undefined, params = {}) {
5431
+ /**
5432
+ * @method
5433
+ * @name bitget#fetchCanceledAndClosedOrders
5434
+ * @see https://www.bitget.com/api-doc/spot/trade/Get-History-Orders
5435
+ * @see https://www.bitget.com/api-doc/spot/plan/Get-History-Plan-Order
5436
+ * @see https://www.bitget.com/api-doc/contract/trade/Get-Orders-History
5437
+ * @see https://www.bitget.com/api-doc/contract/plan/orders-plan-history
5438
+ * @see https://www.bitget.com/api-doc/margin/cross/trade/Get-Cross-Order-History
5439
+ * @see https://www.bitget.com/api-doc/margin/isolated/trade/Get-Isolated-Order-History
5440
+ * @description fetches information on multiple canceled and closed orders made by the user
5441
+ * @param {string} symbol unified market symbol of the market orders were made in
5442
+ * @param {int} [since] the earliest time in ms to fetch orders for
5443
+ * @param {int} [limit] the maximum number of order structures to retrieve
5444
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
5445
+ * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
5446
+ */
5454
5447
  await this.loadMarkets();
5455
5448
  const sandboxMode = this.safeValue(this.options, 'sandboxMode', false);
5456
5449
  let market = undefined;
@@ -5735,16 +5728,17 @@ export default class bitget extends Exchange {
5735
5728
  const data = this.safeValue(response, 'data', {});
5736
5729
  if (marketType === 'spot') {
5737
5730
  if ((marginMode !== undefined) || stop) {
5738
- return this.safeValue(data, 'orderList', []);
5731
+ return this.parseOrders(this.safeValue(data, 'orderList', []), market, since, limit);
5739
5732
  }
5740
5733
  }
5741
5734
  else {
5742
- return this.safeValue(data, 'entrustedList', []);
5735
+ return this.parseOrders(this.safeValue(data, 'entrustedList', []), market, since, limit);
5743
5736
  }
5744
5737
  if (typeof response === 'string') {
5745
5738
  response = JSON.parse(response);
5746
5739
  }
5747
- return this.safeValue(response, 'data', []);
5740
+ const orders = this.safeValue(response, 'data', []);
5741
+ return this.parseOrders(orders, market, since, limit);
5748
5742
  }
5749
5743
  async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
5750
5744
  /**
package/js/src/bitteam.js CHANGED
@@ -127,7 +127,7 @@ export default class bitteam extends Exchange {
127
127
  '1d': '1D',
128
128
  },
129
129
  'urls': {
130
- 'logo': 'https://private-user-images.githubusercontent.com/43336371/291263231-aa2e0d61-edba-44a8-b9bf-68797dc417bd.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTEiLCJleHAiOjE3MDMwOTE4NTYsIm5iZiI6MTcwMzA5MTU1NiwicGF0aCI6Ii80MzMzNjM3MS8yOTEyNjMyMzEtYWEyZTBkNjEtZWRiYS00NGE4LWI5YmYtNjg3OTdkYzQxN2JkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFJV05KWUFYNENTVkVINTNBJTJGMjAyMzEyMjAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjMxMjIwVDE2NTkxNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTVkOGE5YmY3ZDMzMWY4YzVjODYzYWJjNjE1MGFkNTRkNzVlMDJmNWE1ZTgwNGQ2NzVkMzkyZTFhOTc4OTNjMWQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.B-ySU5Uo6vz53-iDe08tTQmJH6QOzUA9Jcbj-kZc2wg',
130
+ 'logo': 'https://github.com/ccxt/ccxt/assets/43336371/cf71fe3d-b8b4-40f2-a906-907661b28793',
131
131
  'api': {
132
132
  'history': 'https://history.bit.team',
133
133
  'public': 'https://bit.team',
@@ -11,16 +11,20 @@ export default class bitvavo extends Exchange {
11
11
  priceToPrecision(symbol: any, price: any): any;
12
12
  fetchTime(params?: {}): Promise<number>;
13
13
  fetchMarkets(params?: {}): Promise<any[]>;
14
+ parseMarkets(markets: any): any[];
14
15
  fetchCurrencies(params?: {}): Promise<{}>;
16
+ parseCurrencies(currencies: any): {};
15
17
  fetchTicker(symbol: string, params?: {}): Promise<Ticker>;
16
18
  parseTicker(ticker: any, market?: Market): Ticker;
17
19
  fetchTickers(symbols?: Strings, params?: {}): Promise<Tickers>;
18
20
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
19
21
  parseTrade(trade: any, market?: Market): Trade;
20
22
  fetchTradingFees(params?: {}): Promise<{}>;
23
+ parseTradingFees(fees: any, market?: any): {};
21
24
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<OrderBook>;
22
25
  parseOHLCV(ohlcv: any, market?: Market): OHLCV;
23
- fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
26
+ fetchOHLCVRequest(symbol: Str, timeframe?: string, since?: Int, limit?: Int, params?: {}): any;
27
+ fetchOHLCV(symbol: Str, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
24
28
  parseBalance(response: any): Balances;
25
29
  fetchBalance(params?: {}): Promise<Balances>;
26
30
  fetchDepositAddress(code: string, params?: {}): Promise<{
@@ -30,18 +34,26 @@ export default class bitvavo extends Exchange {
30
34
  network: any;
31
35
  info: any;
32
36
  }>;
33
- createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
37
+ createOrderRequest(symbol: Str, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): any;
38
+ createOrder(symbol: Str, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
39
+ editOrderRequest(id: string, symbol: any, type: any, side: any, amount?: any, price?: any, params?: {}): {};
34
40
  editOrder(id: string, symbol: any, type: any, side: any, amount?: any, price?: any, params?: {}): Promise<Order>;
41
+ cancelOrderRequest(id: Str, symbol?: Str, params?: {}): any;
35
42
  cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
36
43
  cancelAllOrders(symbol?: Str, params?: {}): Promise<Order[]>;
37
44
  fetchOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
45
+ fetchOrdersRequest(symbol?: Str, since?: Int, limit?: Int, params?: {}): any;
38
46
  fetchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
39
47
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
40
48
  parseOrderStatus(status: any): string;
41
49
  parseOrder(order: any, market?: Market): Order;
50
+ fetchMyTradesRequest(symbol?: Str, since?: Int, limit?: Int, params?: {}): any;
42
51
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
52
+ withdrawRequest(code: Str, amount: any, address: any, tag?: any, params?: {}): any;
43
53
  withdraw(code: string, amount: any, address: any, tag?: any, params?: {}): Promise<Transaction>;
54
+ fetchWithdrawalsRequest(code?: Str, since?: Int, limit?: Int, params?: {}): any;
44
55
  fetchWithdrawals(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
56
+ fetchDepositsRequest(code?: Str, since?: Int, limit?: Int, params?: {}): any;
45
57
  fetchDeposits(code?: Str, since?: Int, limit?: Int, params?: {}): Promise<Transaction[]>;
46
58
  parseTransactionStatus(status: any): string;
47
59
  parseTransaction(transaction: any, currency?: Currency): Transaction;