ccxt 4.2.20 → 4.2.22

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 (82) hide show
  1. package/README.md +3 -3
  2. package/dist/ccxt.browser.js +1405 -274
  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 +37 -4
  6. package/dist/cjs/src/base/ws/WsClient.js +3 -1
  7. package/dist/cjs/src/bigone.js +1 -0
  8. package/dist/cjs/src/binance.js +14 -3
  9. package/dist/cjs/src/bitget.js +12 -2
  10. package/dist/cjs/src/bitrue.js +1 -0
  11. package/dist/cjs/src/bitvavo.js +271 -172
  12. package/dist/cjs/src/blockchaincom.js +3 -1
  13. package/dist/cjs/src/bybit.js +57 -9
  14. package/dist/cjs/src/coinbasepro.js +1 -0
  15. package/dist/cjs/src/coinex.js +37 -12
  16. package/dist/cjs/src/deribit.js +164 -0
  17. package/dist/cjs/src/gate.js +32 -1
  18. package/dist/cjs/src/novadax.js +26 -22
  19. package/dist/cjs/src/okcoin.js +3 -0
  20. package/dist/cjs/src/phemex.js +7 -3
  21. package/dist/cjs/src/poloniex.js +1 -0
  22. package/dist/cjs/src/pro/bequant.js +6 -1
  23. package/dist/cjs/src/pro/binance.js +7 -4
  24. package/dist/cjs/src/pro/binancecoinm.js +6 -1
  25. package/dist/cjs/src/pro/binanceus.js +6 -1
  26. package/dist/cjs/src/pro/bitcoincom.js +6 -1
  27. package/dist/cjs/src/pro/bitget.js +1 -1
  28. package/dist/cjs/src/pro/bitopro.js +7 -3
  29. package/dist/cjs/src/pro/bitrue.js +6 -1
  30. package/dist/cjs/src/pro/bitvavo.js +668 -22
  31. package/dist/cjs/src/pro/lbank.js +1 -1
  32. package/dist/cjs/src/pro/okx.js +13 -3
  33. package/dist/cjs/src/woo.js +1 -1
  34. package/js/ccxt.d.ts +1 -1
  35. package/js/ccxt.js +1 -1
  36. package/js/src/abstract/binance.d.ts +3 -0
  37. package/js/src/abstract/binancecoinm.d.ts +3 -0
  38. package/js/src/abstract/binanceus.d.ts +4 -0
  39. package/js/src/abstract/binanceusdm.d.ts +3 -0
  40. package/js/src/abstract/gate.d.ts +1 -0
  41. package/js/src/abstract/gateio.d.ts +1 -0
  42. package/js/src/abstract/novadax.d.ts +5 -1
  43. package/js/src/abstract/phemex.d.ts +1 -0
  44. package/js/src/base/Exchange.d.ts +12 -1
  45. package/js/src/base/Exchange.js +37 -4
  46. package/js/src/base/ws/WsClient.js +3 -2
  47. package/js/src/bigone.js +1 -0
  48. package/js/src/binance.js +14 -3
  49. package/js/src/bitget.js +12 -2
  50. package/js/src/bitrue.js +1 -0
  51. package/js/src/bitvavo.d.ts +14 -2
  52. package/js/src/bitvavo.js +271 -172
  53. package/js/src/blockchaincom.js +3 -1
  54. package/js/src/bybit.d.ts +2 -1
  55. package/js/src/bybit.js +57 -9
  56. package/js/src/coinbasepro.js +1 -0
  57. package/js/src/coinex.d.ts +1 -0
  58. package/js/src/coinex.js +37 -12
  59. package/js/src/deribit.d.ts +6 -1
  60. package/js/src/deribit.js +164 -0
  61. package/js/src/gate.d.ts +1 -0
  62. package/js/src/gate.js +32 -1
  63. package/js/src/novadax.js +26 -22
  64. package/js/src/okcoin.js +3 -0
  65. package/js/src/phemex.js +7 -3
  66. package/js/src/poloniex.js +1 -0
  67. package/js/src/pro/bequant.js +6 -1
  68. package/js/src/pro/binance.js +7 -4
  69. package/js/src/pro/binancecoinm.js +6 -1
  70. package/js/src/pro/binanceus.js +6 -1
  71. package/js/src/pro/bitcoincom.js +6 -1
  72. package/js/src/pro/bitget.js +1 -1
  73. package/js/src/pro/bitopro.js +7 -3
  74. package/js/src/pro/bitrue.js +6 -1
  75. package/js/src/pro/bitvavo.d.ts +35 -2
  76. package/js/src/pro/bitvavo.js +669 -23
  77. package/js/src/pro/lbank.js +1 -1
  78. package/js/src/pro/okx.js +13 -3
  79. package/js/src/woo.js +1 -1
  80. package/jsdoc2md.js +38 -16
  81. package/package.json +4 -1
  82. package/skip-tests.json +4 -0
@@ -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
  /**
@@ -1011,17 +1011,20 @@ class okx extends okx$1 {
1011
1011
  /**
1012
1012
  * @method
1013
1013
  * @name okx#watchOrders
1014
- * @see https://www.okx.com/docs-v5/en/#order-book-trading-trade-ws-order-channel
1015
1014
  * @description watches information on multiple orders made by the user
1016
- * @param {string} [symbol] unified market symbol of the market orders were made in
1015
+ * @see https://www.okx.com/docs-v5/en/#order-book-trading-trade-ws-order-channel
1016
+ * @param {string} [symbol] unified market symbol of the market the orders were made in
1017
1017
  * @param {int} [since] the earliest time in ms to fetch orders for
1018
1018
  * @param {int} [limit] the maximum number of order structures to retrieve
1019
1019
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1020
1020
  * @param {bool} [params.stop] true if fetching trigger or conditional orders
1021
+ * @param {string} [params.type] 'spot', 'swap', 'future', 'option', 'ANY', 'SPOT', 'MARGIN', 'SWAP', 'FUTURES' or 'OPTION'
1022
+ * @param {string} [params.marginMode] 'cross' or 'isolated', for automatically setting the type to spot margin
1021
1023
  * @returns {object[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
1022
1024
  */
1023
1025
  let type = undefined;
1024
1026
  // By default, receive order updates from any instrument type
1027
+ [type, params] = this.handleOptionAndParams(params, 'watchOrders', 'defaultType');
1025
1028
  [type, params] = this.handleOptionAndParams(params, 'watchOrders', 'type', 'ANY');
1026
1029
  const isStop = this.safeValue2(params, 'stop', 'trigger', false);
1027
1030
  params = this.omit(params, ['stop', 'trigger']);
@@ -1036,7 +1039,14 @@ class okx extends okx$1 {
1036
1039
  if (type === 'future') {
1037
1040
  type = 'futures';
1038
1041
  }
1039
- const uppercaseType = type.toUpperCase();
1042
+ let uppercaseType = type.toUpperCase();
1043
+ let marginMode = undefined;
1044
+ [marginMode, params] = this.handleMarginModeAndParams('watchOrders', params);
1045
+ if (uppercaseType === 'SPOT') {
1046
+ if (marginMode !== undefined) {
1047
+ uppercaseType = 'MARGIN';
1048
+ }
1049
+ }
1040
1050
  const request = {
1041
1051
  'instType': uppercaseType,
1042
1052
  };
@@ -58,7 +58,7 @@ class woo extends woo$1 {
58
58
  'fetchClosedOrder': false,
59
59
  'fetchClosedOrders': false,
60
60
  'fetchCurrencies': true,
61
- 'fetchDepositAddress': false,
61
+ 'fetchDepositAddress': true,
62
62
  'fetchDeposits': true,
63
63
  'fetchDepositsWithdrawals': true,
64
64
  'fetchFundingHistory': true,
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.19";
7
+ declare const version = "4.2.21";
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.20';
41
+ const version = '4.2.22';
42
42
  Exchange.ccxtVersion = version;
43
43
  //-----------------------------------------------------------------------------
44
44
  import ace from './src/ace.js';
@@ -93,6 +93,7 @@ interface Exchange {
93
93
  sapiGetConvertExchangeInfo(params?: {}): Promise<implicitReturnType>;
94
94
  sapiGetConvertAssetInfo(params?: {}): Promise<implicitReturnType>;
95
95
  sapiGetConvertOrderStatus(params?: {}): Promise<implicitReturnType>;
96
+ sapiGetConvertLimitQueryOpenOrders(params?: {}): Promise<implicitReturnType>;
96
97
  sapiGetAccountStatus(params?: {}): Promise<implicitReturnType>;
97
98
  sapiGetAccountApiTradingStatus(params?: {}): Promise<implicitReturnType>;
98
99
  sapiGetAccountApiRestrictionsIpRestriction(params?: {}): Promise<implicitReturnType>;
@@ -338,6 +339,8 @@ interface Exchange {
338
339
  sapiPostLoanVipRepay(params?: {}): Promise<implicitReturnType>;
339
340
  sapiPostConvertGetQuote(params?: {}): Promise<implicitReturnType>;
340
341
  sapiPostConvertAcceptQuote(params?: {}): Promise<implicitReturnType>;
342
+ sapiPostConvertLimitPlaceOrder(params?: {}): Promise<implicitReturnType>;
343
+ sapiPostConvertLimitCancelOrder(params?: {}): Promise<implicitReturnType>;
341
344
  sapiPostPortfolioAutoCollection(params?: {}): Promise<implicitReturnType>;
342
345
  sapiPostPortfolioAssetCollection(params?: {}): Promise<implicitReturnType>;
343
346
  sapiPostPortfolioBnbTransfer(params?: {}): Promise<implicitReturnType>;
@@ -93,6 +93,7 @@ interface binance {
93
93
  sapiGetConvertExchangeInfo(params?: {}): Promise<implicitReturnType>;
94
94
  sapiGetConvertAssetInfo(params?: {}): Promise<implicitReturnType>;
95
95
  sapiGetConvertOrderStatus(params?: {}): Promise<implicitReturnType>;
96
+ sapiGetConvertLimitQueryOpenOrders(params?: {}): Promise<implicitReturnType>;
96
97
  sapiGetAccountStatus(params?: {}): Promise<implicitReturnType>;
97
98
  sapiGetAccountApiTradingStatus(params?: {}): Promise<implicitReturnType>;
98
99
  sapiGetAccountApiRestrictionsIpRestriction(params?: {}): Promise<implicitReturnType>;
@@ -338,6 +339,8 @@ interface binance {
338
339
  sapiPostLoanVipRepay(params?: {}): Promise<implicitReturnType>;
339
340
  sapiPostConvertGetQuote(params?: {}): Promise<implicitReturnType>;
340
341
  sapiPostConvertAcceptQuote(params?: {}): Promise<implicitReturnType>;
342
+ sapiPostConvertLimitPlaceOrder(params?: {}): Promise<implicitReturnType>;
343
+ sapiPostConvertLimitCancelOrder(params?: {}): Promise<implicitReturnType>;
341
344
  sapiPostPortfolioAutoCollection(params?: {}): Promise<implicitReturnType>;
342
345
  sapiPostPortfolioAssetCollection(params?: {}): Promise<implicitReturnType>;
343
346
  sapiPostPortfolioBnbTransfer(params?: {}): Promise<implicitReturnType>;
@@ -93,6 +93,7 @@ interface binance {
93
93
  sapiGetConvertExchangeInfo(params?: {}): Promise<implicitReturnType>;
94
94
  sapiGetConvertAssetInfo(params?: {}): Promise<implicitReturnType>;
95
95
  sapiGetConvertOrderStatus(params?: {}): Promise<implicitReturnType>;
96
+ sapiGetConvertLimitQueryOpenOrders(params?: {}): Promise<implicitReturnType>;
96
97
  sapiGetAccountStatus(params?: {}): Promise<implicitReturnType>;
97
98
  sapiGetAccountApiTradingStatus(params?: {}): Promise<implicitReturnType>;
98
99
  sapiGetAccountApiRestrictionsIpRestriction(params?: {}): Promise<implicitReturnType>;
@@ -338,6 +339,8 @@ interface binance {
338
339
  sapiPostLoanVipRepay(params?: {}): Promise<implicitReturnType>;
339
340
  sapiPostConvertGetQuote(params?: {}): Promise<implicitReturnType>;
340
341
  sapiPostConvertAcceptQuote(params?: {}): Promise<implicitReturnType>;
342
+ sapiPostConvertLimitPlaceOrder(params?: {}): Promise<implicitReturnType>;
343
+ sapiPostConvertLimitCancelOrder(params?: {}): Promise<implicitReturnType>;
341
344
  sapiPostPortfolioAutoCollection(params?: {}): Promise<implicitReturnType>;
342
345
  sapiPostPortfolioAssetCollection(params?: {}): Promise<implicitReturnType>;
343
346
  sapiPostPortfolioBnbTransfer(params?: {}): Promise<implicitReturnType>;
@@ -591,6 +594,7 @@ interface binance {
591
594
  privateGetMyPreventedMatches(params?: {}): Promise<implicitReturnType>;
592
595
  privateGetMyAllocations(params?: {}): Promise<implicitReturnType>;
593
596
  privateGetAccountCommission(params?: {}): Promise<implicitReturnType>;
597
+ privateGetStatus(params?: {}): Promise<implicitReturnType>;
594
598
  privatePostOrderOco(params?: {}): Promise<implicitReturnType>;
595
599
  privatePostSorOrder(params?: {}): Promise<implicitReturnType>;
596
600
  privatePostSorOrderTest(params?: {}): Promise<implicitReturnType>;
@@ -93,6 +93,7 @@ interface binance {
93
93
  sapiGetConvertExchangeInfo(params?: {}): Promise<implicitReturnType>;
94
94
  sapiGetConvertAssetInfo(params?: {}): Promise<implicitReturnType>;
95
95
  sapiGetConvertOrderStatus(params?: {}): Promise<implicitReturnType>;
96
+ sapiGetConvertLimitQueryOpenOrders(params?: {}): Promise<implicitReturnType>;
96
97
  sapiGetAccountStatus(params?: {}): Promise<implicitReturnType>;
97
98
  sapiGetAccountApiTradingStatus(params?: {}): Promise<implicitReturnType>;
98
99
  sapiGetAccountApiRestrictionsIpRestriction(params?: {}): Promise<implicitReturnType>;
@@ -338,6 +339,8 @@ interface binance {
338
339
  sapiPostLoanVipRepay(params?: {}): Promise<implicitReturnType>;
339
340
  sapiPostConvertGetQuote(params?: {}): Promise<implicitReturnType>;
340
341
  sapiPostConvertAcceptQuote(params?: {}): Promise<implicitReturnType>;
342
+ sapiPostConvertLimitPlaceOrder(params?: {}): Promise<implicitReturnType>;
343
+ sapiPostConvertLimitCancelOrder(params?: {}): Promise<implicitReturnType>;
341
344
  sapiPostPortfolioAutoCollection(params?: {}): Promise<implicitReturnType>;
342
345
  sapiPostPortfolioAssetCollection(params?: {}): Promise<implicitReturnType>;
343
346
  sapiPostPortfolioBnbTransfer(params?: {}): Promise<implicitReturnType>;
@@ -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>;
@@ -337,11 +337,13 @@ export default class Exchange {
337
337
  fetchCrossBorrowRate: any;
338
338
  fetchCrossBorrowRates: any;
339
339
  fetchCurrencies: string;
340
+ fetchCurrenciesWs: string;
340
341
  fetchDeposit: any;
341
342
  fetchDepositAddress: any;
342
343
  fetchDepositAddresses: any;
343
344
  fetchDepositAddressesByNetwork: any;
344
345
  fetchDeposits: any;
346
+ fetchDepositsWs: any;
345
347
  fetchDepositsWithdrawals: any;
346
348
  fetchTransactionFee: any;
347
349
  fetchTransactionFees: any;
@@ -359,9 +361,11 @@ export default class Exchange {
359
361
  fetchLeverageTiers: any;
360
362
  fetchMarketLeverageTiers: any;
361
363
  fetchMarkets: boolean;
364
+ fetchMarketsWs: any;
362
365
  fetchMarkOHLCV: any;
363
366
  fetchMyTrades: any;
364
367
  fetchOHLCV: any;
368
+ fetchOHLCVWs: any;
365
369
  fetchOpenInterest: any;
366
370
  fetchOpenInterestHistory: any;
367
371
  fetchOpenOrder: any;
@@ -384,12 +388,14 @@ export default class Exchange {
384
388
  fetchTrades: boolean;
385
389
  fetchTradingFee: any;
386
390
  fetchTradingFees: any;
391
+ fetchTradingFeesWs: any;
387
392
  fetchTradingLimits: any;
388
393
  fetchTransactions: any;
389
394
  fetchTransfers: any;
390
395
  fetchWithdrawAddresses: any;
391
396
  fetchWithdrawal: any;
392
397
  fetchWithdrawals: any;
398
+ fetchWithdrawalsWs: any;
393
399
  reduceMargin: any;
394
400
  setLeverage: any;
395
401
  setMargin: any;
@@ -534,7 +540,9 @@ export default class Exchange {
534
540
  loadMarketsHelper(reload?: boolean, params?: {}): Promise<Dictionary<any>>;
535
541
  loadMarkets(reload?: boolean, params?: {}): Promise<Dictionary<Market>>;
536
542
  fetchCurrencies(params?: {}): Promise<unknown>;
543
+ fetchCurrenciesWs(params?: {}): Promise<unknown>;
537
544
  fetchMarkets(params?: {}): Promise<Market[]>;
545
+ fetchMarketsWs(params?: {}): Promise<Market[]>;
538
546
  checkRequiredDependencies(): void;
539
547
  parseNumber(value: any, d?: number): number;
540
548
  checkOrderArguments(market: any, type: any, side: any, amount: any, price: any, params: any): void;
@@ -678,6 +686,7 @@ export default class Exchange {
678
686
  borrowMargin(code: string, amount: any, symbol?: Str, params?: {}): Promise<any>;
679
687
  repayMargin(code: string, amount: any, symbol?: Str, params?: {}): Promise<any>;
680
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[]>;
681
690
  watchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
682
691
  convertTradingViewToOHLCV(ohlcvs: any, timestamp?: string, open?: string, high?: string, low?: string, close?: string, volume?: string, ms?: boolean): any[];
683
692
  convertOHLCVToTradingView(ohlcvs: any, timestamp?: string, open?: string, high?: string, low?: string, close?: string, volume?: string, ms?: boolean): {};
@@ -808,11 +817,12 @@ export default class Exchange {
808
817
  fetchLiquidations(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<Liquidation[]>;
809
818
  fetchMyTradesWs(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
810
819
  watchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
811
- fetchOHLCVWs(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
812
820
  fetchGreeks(symbol: string, params?: {}): Promise<Greeks>;
813
821
  fetchDepositsWithdrawals(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
814
822
  fetchDeposits(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
823
+ fetchDepositsWs(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
815
824
  fetchWithdrawals(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
825
+ fetchWithdrawalsWs(code?: string, since?: Int, limit?: Int, params?: {}): Promise<any>;
816
826
  fetchOpenInterest(symbol: string, params?: {}): Promise<OpenInterest>;
817
827
  fetchFundingRateHistory(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<FundingRateHistory[]>;
818
828
  fetchFundingHistory(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<FundingHistory[]>;
@@ -870,6 +880,7 @@ export default class Exchange {
870
880
  handlePostOnly(isMarketOrder: boolean, exchangeSpecificPostOnlyOption: boolean, params?: any): any[];
871
881
  fetchLastPrices(symbols?: string[], params?: {}): Promise<void>;
872
882
  fetchTradingFees(params?: {}): Promise<any>;
883
+ fetchTradingFeesWs(params?: {}): Promise<any>;
873
884
  fetchTradingFee(symbol: string, params?: {}): Promise<any>;
874
885
  parseOpenInterest(interest: any, market?: Market): OpenInterest;
875
886
  parseOpenInterests(response: any, market?: any, since?: Int, limit?: Int): OpenInterest[];
@@ -394,11 +394,13 @@ export default class Exchange {
394
394
  'fetchCrossBorrowRate': undefined,
395
395
  'fetchCrossBorrowRates': undefined,
396
396
  'fetchCurrencies': 'emulated',
397
+ 'fetchCurrenciesWs': 'emulated',
397
398
  'fetchDeposit': undefined,
398
399
  'fetchDepositAddress': undefined,
399
400
  'fetchDepositAddresses': undefined,
400
401
  'fetchDepositAddressesByNetwork': undefined,
401
402
  'fetchDeposits': undefined,
403
+ 'fetchDepositsWs': undefined,
402
404
  'fetchDepositsWithdrawals': undefined,
403
405
  'fetchTransactionFee': undefined,
404
406
  'fetchTransactionFees': undefined,
@@ -416,9 +418,11 @@ export default class Exchange {
416
418
  'fetchLeverageTiers': undefined,
417
419
  'fetchMarketLeverageTiers': undefined,
418
420
  'fetchMarkets': true,
421
+ 'fetchMarketsWs': undefined,
419
422
  'fetchMarkOHLCV': undefined,
420
423
  'fetchMyTrades': undefined,
421
424
  'fetchOHLCV': undefined,
425
+ 'fetchOHLCVWs': undefined,
422
426
  'fetchOpenInterest': undefined,
423
427
  'fetchOpenInterestHistory': undefined,
424
428
  'fetchOpenOrder': undefined,
@@ -441,12 +445,14 @@ export default class Exchange {
441
445
  'fetchTrades': true,
442
446
  'fetchTradingFee': undefined,
443
447
  'fetchTradingFees': undefined,
448
+ 'fetchTradingFeesWs': undefined,
444
449
  'fetchTradingLimits': undefined,
445
450
  'fetchTransactions': undefined,
446
451
  'fetchTransfers': undefined,
447
452
  'fetchWithdrawAddresses': undefined,
448
453
  'fetchWithdrawal': undefined,
449
454
  'fetchWithdrawals': undefined,
455
+ 'fetchWithdrawalsWs': undefined,
450
456
  'reduceMargin': undefined,
451
457
  'setLeverage': undefined,
452
458
  'setMargin': undefined,
@@ -966,6 +972,13 @@ export default class Exchange {
966
972
  // and may be changed for consistency later
967
973
  return new Promise((resolve, reject) => resolve(this.currencies));
968
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
+ }
969
982
  fetchMarkets(params = {}) {
970
983
  // markets are returned as a list
971
984
  // currencies are returned as a dict
@@ -973,6 +986,13 @@ export default class Exchange {
973
986
  // and may be changed for consistency later
974
987
  return new Promise((resolve, reject) => resolve(Object.values(this.markets)));
975
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
+ }
976
996
  checkRequiredDependencies() {
977
997
  return;
978
998
  }
@@ -2753,6 +2773,13 @@ export default class Exchange {
2753
2773
  }
2754
2774
  throw new NotSupported(this.id + ' fetchOHLCV() is not supported yet' + message);
2755
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
+ }
2756
2783
  async watchOHLCV(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
2757
2784
  throw new NotSupported(this.id + ' watchOHLCV() is not supported yet');
2758
2785
  }
@@ -3112,7 +3139,7 @@ export default class Exchange {
3112
3139
  for (let i = 0; i < response.length; i++) {
3113
3140
  const item = response[i];
3114
3141
  const id = this.safeString(item, marketIdKey);
3115
- const market = this.safeMarket(id, undefined, undefined, this.safeString(this.options, 'defaultType'));
3142
+ const market = this.safeMarket(id, undefined, undefined, 'swap');
3116
3143
  const symbol = market['symbol'];
3117
3144
  const contract = this.safeValue(market, 'contract', false);
3118
3145
  if (contract && ((symbols === undefined) || this.inArray(symbol, symbols))) {
@@ -4106,9 +4133,6 @@ export default class Exchange {
4106
4133
  async watchMyTrades(symbol = undefined, since = undefined, limit = undefined, params = {}) {
4107
4134
  throw new NotSupported(this.id + ' watchMyTrades() is not supported yet');
4108
4135
  }
4109
- async fetchOHLCVWs(symbol, timeframe = '1m', since = undefined, limit = undefined, params = {}) {
4110
- throw new NotSupported(this.id + ' fetchOHLCVWs() is not supported yet');
4111
- }
4112
4136
  async fetchGreeks(symbol, params = {}) {
4113
4137
  throw new NotSupported(this.id + ' fetchGreeks() is not supported yet');
4114
4138
  }
@@ -4128,9 +4152,15 @@ export default class Exchange {
4128
4152
  async fetchDeposits(code = undefined, since = undefined, limit = undefined, params = {}) {
4129
4153
  throw new NotSupported(this.id + ' fetchDeposits() is not supported yet');
4130
4154
  }
4155
+ async fetchDepositsWs(code = undefined, since = undefined, limit = undefined, params = {}) {
4156
+ throw new NotSupported(this.id + ' fetchDepositsWs() is not supported yet');
4157
+ }
4131
4158
  async fetchWithdrawals(code = undefined, since = undefined, limit = undefined, params = {}) {
4132
4159
  throw new NotSupported(this.id + ' fetchWithdrawals() is not supported yet');
4133
4160
  }
4161
+ async fetchWithdrawalsWs(code = undefined, since = undefined, limit = undefined, params = {}) {
4162
+ throw new NotSupported(this.id + ' fetchWithdrawalsWs() is not supported yet');
4163
+ }
4134
4164
  async fetchOpenInterest(symbol, params = {}) {
4135
4165
  throw new NotSupported(this.id + ' fetchOpenInterest() is not supported yet');
4136
4166
  }
@@ -4610,6 +4640,9 @@ export default class Exchange {
4610
4640
  async fetchTradingFees(params = {}) {
4611
4641
  throw new NotSupported(this.id + ' fetchTradingFees() is not supported yet');
4612
4642
  }
4643
+ async fetchTradingFeesWs(params = {}) {
4644
+ throw new NotSupported(this.id + ' fetchTradingFeesWs() is not supported yet');
4645
+ }
4613
4646
  async fetchTradingFee(symbol, params = {}) {
4614
4647
  if (!this.has['fetchTradingFees']) {
4615
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/bigone.js CHANGED
@@ -46,6 +46,7 @@ export default class bigone extends Exchange {
46
46
  'fetchCurrencies': true,
47
47
  'fetchDepositAddress': true,
48
48
  'fetchDeposits': true,
49
+ 'fetchFundingRate': false,
49
50
  'fetchMarkets': true,
50
51
  'fetchMyTrades': true,
51
52
  'fetchOHLCV': true,
package/js/src/binance.js CHANGED
@@ -311,6 +311,7 @@ export default class binance extends Exchange {
311
311
  'convert/exchangeInfo': 50,
312
312
  'convert/assetInfo': 10,
313
313
  'convert/orderStatus': 0.6667,
314
+ 'convert/limit/queryOpenOrders': 20.001,
314
315
  'account/status': 0.1,
315
316
  'account/apiTradingStatus': 0.1,
316
317
  'account/apiRestrictions/ipRestriction': 0.1,
@@ -582,6 +583,8 @@ export default class binance extends Exchange {
582
583
  'loan/vip/repay': 40.002,
583
584
  'convert/getQuote': 1.3334,
584
585
  'convert/acceptQuote': 3.3335,
586
+ 'convert/limit/placeOrder': 3.3335,
587
+ 'convert/limit/cancelOrder': 1.3334,
585
588
  'portfolio/auto-collection': 150,
586
589
  'portfolio/asset-collection': 6,
587
590
  'portfolio/bnb-transfer': 150,
@@ -7968,12 +7971,20 @@ export default class binance extends Exchange {
7968
7971
  /**
7969
7972
  * @method
7970
7973
  * @name binance#fetchPositions
7974
+ * @see https://binance-docs.github.io/apidocs/futures/en/#position-information-v2-user_data
7975
+ * @see https://binance-docs.github.io/apidocs/delivery/en/#position-information-user_data
7976
+ * @see https://binance-docs.github.io/apidocs/futures/en/#account-information-v2-user_data
7977
+ * @see https://binance-docs.github.io/apidocs/delivery/en/#account-information-user_data
7978
+ * @see https://binance-docs.github.io/apidocs/voptions/en/#option-position-information-user_data
7971
7979
  * @description fetch all open positions
7972
- * @param {string[]|undefined} symbols list of unified market symbols
7980
+ * @param {string[]} [symbols] list of unified market symbols
7973
7981
  * @param {object} [params] extra parameters specific to the exchange API endpoint
7982
+ * @param {string} [method] method name to call, "positionRisk", "account" or "option", default is "positionRisk"
7974
7983
  * @returns {object[]} a list of [position structure]{@link https://docs.ccxt.com/#/?id=position-structure}
7975
7984
  */
7976
- const defaultMethod = this.safeString(this.options, 'fetchPositions', 'positionRisk');
7985
+ const defaultValue = this.safeString(this.options, 'fetchPositions', 'positionRisk');
7986
+ let defaultMethod = undefined;
7987
+ [defaultMethod, params] = this.handleOptionAndParams(params, 'fetchPositions', 'method', defaultValue);
7977
7988
  if (defaultMethod === 'positionRisk') {
7978
7989
  return await this.fetchPositionsRisk(symbols, params);
7979
7990
  }
@@ -7984,7 +7995,7 @@ export default class binance extends Exchange {
7984
7995
  return await this.fetchOptionPositions(symbols, params);
7985
7996
  }
7986
7997
  else {
7987
- throw new NotSupported(this.id + '.options["fetchPositions"] = "' + defaultMethod + '" is invalid, please choose between "account", "positionRisk" and "option"');
7998
+ throw new NotSupported(this.id + '.options["fetchPositions"]/params["method"] = "' + defaultMethod + '" is invalid, please choose between "account", "positionRisk" and "option"');
7988
7999
  }
7989
8000
  }
7990
8001
  async fetchAccountPositions(symbols = undefined, params = {}) {
package/js/src/bitget.js CHANGED
@@ -40,6 +40,7 @@ export default class bitget extends Exchange {
40
40
  'cancelOrders': true,
41
41
  'closeAllPositions': true,
42
42
  'closePosition': true,
43
+ 'createDepositAddress': false,
43
44
  'createMarketBuyOrderWithCost': true,
44
45
  'createMarketOrderWithCost': false,
45
46
  'createMarketSellOrderWithCost': false,
@@ -49,16 +50,21 @@ export default class bitget extends Exchange {
49
50
  'createReduceOnlyOrder': false,
50
51
  'createStopLossOrder': true,
51
52
  'createTakeProfitOrder': true,
53
+ 'createPostOnlyOrder': true,
54
+ 'createStopOrder': true,
55
+ 'createStopLimitOrder': true,
56
+ 'createStopMarketOrder': true,
52
57
  'createTrailingPercentOrder': true,
53
58
  'createTriggerOrder': true,
59
+ 'signIn': false,
54
60
  'editOrder': true,
55
61
  'fetchAccounts': false,
56
62
  'fetchBalance': true,
57
63
  'fetchBorrowInterest': true,
58
64
  'fetchBorrowRateHistories': false,
59
65
  'fetchBorrowRateHistory': false,
60
- 'fetchCanceledOrders': true,
61
66
  'fetchCanceledAndClosedOrders': true,
67
+ 'fetchCanceledOrders': true,
62
68
  'fetchClosedOrders': true,
63
69
  'fetchCrossBorrowRate': true,
64
70
  'fetchCrossBorrowRates': false,
@@ -68,7 +74,10 @@ export default class bitget extends Exchange {
68
74
  'fetchDeposits': true,
69
75
  'fetchDepositWithdrawFee': 'emulated',
70
76
  'fetchDepositWithdrawFees': true,
77
+ 'fetchDepositsWithdrawals': false,
71
78
  'fetchFundingHistory': true,
79
+ 'fetchWithdrawAddresses': false,
80
+ 'fetchTransactions': false,
72
81
  'fetchFundingRate': true,
73
82
  'fetchFundingRateHistory': true,
74
83
  'fetchFundingRates': false,
@@ -79,7 +88,7 @@ export default class bitget extends Exchange {
79
88
  'fetchLeverage': true,
80
89
  'fetchLeverageTiers': false,
81
90
  'fetchLiquidations': false,
82
- 'fetchMarginMode': undefined,
91
+ 'fetchMarginMode': false,
83
92
  'fetchMarketLeverageTiers': true,
84
93
  'fetchMarkets': true,
85
94
  'fetchMarkOHLCV': true,
@@ -92,6 +101,7 @@ export default class bitget extends Exchange {
92
101
  'fetchOrder': true,
93
102
  'fetchOrderBook': true,
94
103
  'fetchOrders': false,
104
+ 'createTrailingAmountOrder': false,
95
105
  'fetchOrderTrades': false,
96
106
  'fetchPosition': true,
97
107
  'fetchPositionMode': false,
package/js/src/bitrue.js CHANGED
@@ -55,6 +55,7 @@ export default class bitrue extends Exchange {
55
55
  'fetchDepositsWithdrawals': false,
56
56
  'fetchDepositWithdrawFee': 'emulated',
57
57
  'fetchDepositWithdrawFees': true,
58
+ 'fetchFundingRate': false,
58
59
  'fetchIsolatedBorrowRate': false,
59
60
  'fetchIsolatedBorrowRates': false,
60
61
  'fetchMarginMode': false,
@@ -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;