ccxt 4.5.20 → 4.5.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 (71) hide show
  1. package/README.md +4 -4
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/ascendex.js +7 -0
  5. package/dist/cjs/src/base/Exchange.js +6 -0
  6. package/dist/cjs/src/binance.js +1 -0
  7. package/dist/cjs/src/bingx.js +10 -0
  8. package/dist/cjs/src/bitfinex.js +5 -0
  9. package/dist/cjs/src/bitflyer.js +20 -0
  10. package/dist/cjs/src/bitget.js +19 -0
  11. package/dist/cjs/src/bybit.js +12 -6
  12. package/dist/cjs/src/defx.js +1 -0
  13. package/dist/cjs/src/deribit.js +102 -0
  14. package/dist/cjs/src/hyperliquid.js +30 -6
  15. package/dist/cjs/src/pro/bittrade.js +2 -0
  16. package/dist/cjs/src/pro/bybit.js +2 -0
  17. package/dist/cjs/src/pro/cex.js +2 -0
  18. package/dist/cjs/src/pro/coinex.js +2 -0
  19. package/dist/cjs/src/pro/deepcoin.js +2 -0
  20. package/dist/cjs/src/pro/exmo.js +2 -0
  21. package/dist/cjs/src/pro/gate.js +5 -3
  22. package/dist/cjs/src/pro/htx.js +2 -0
  23. package/dist/cjs/src/pro/kraken.js +2 -0
  24. package/dist/cjs/src/pro/kucoin.js +2 -0
  25. package/dist/cjs/src/pro/kucoinfutures.js +2 -0
  26. package/dist/cjs/src/pro/lbank.js +2 -0
  27. package/dist/cjs/src/pro/phemex.js +2 -0
  28. package/dist/cjs/src/pro/upbit.js +24 -13
  29. package/dist/cjs/src/pro/xt.js +10 -9
  30. package/dist/cjs/src/upbit.js +4 -3
  31. package/js/ccxt.d.ts +1 -1
  32. package/js/ccxt.js +1 -1
  33. package/js/src/abstract/binance.d.ts +1 -0
  34. package/js/src/abstract/binancecoinm.d.ts +1 -0
  35. package/js/src/abstract/binanceus.d.ts +1 -0
  36. package/js/src/abstract/binanceusdm.d.ts +1 -0
  37. package/js/src/abstract/bingx.d.ts +10 -0
  38. package/js/src/abstract/bitget.d.ts +19 -0
  39. package/js/src/abstract/upbit.d.ts +2 -1
  40. package/js/src/ascendex.js +7 -0
  41. package/js/src/base/Exchange.d.ts +2 -0
  42. package/js/src/base/Exchange.js +6 -0
  43. package/js/src/binance.js +1 -0
  44. package/js/src/bingx.js +10 -0
  45. package/js/src/bitfinex.js +5 -0
  46. package/js/src/bitflyer.js +20 -0
  47. package/js/src/bitget.js +19 -0
  48. package/js/src/bybit.d.ts +1 -0
  49. package/js/src/bybit.js +12 -6
  50. package/js/src/defx.js +1 -0
  51. package/js/src/deribit.d.ts +11 -0
  52. package/js/src/deribit.js +102 -0
  53. package/js/src/hyperliquid.d.ts +3 -0
  54. package/js/src/hyperliquid.js +30 -6
  55. package/js/src/pro/bittrade.js +2 -0
  56. package/js/src/pro/bybit.js +2 -0
  57. package/js/src/pro/cex.js +2 -0
  58. package/js/src/pro/coinex.js +2 -0
  59. package/js/src/pro/deepcoin.js +2 -0
  60. package/js/src/pro/exmo.js +2 -0
  61. package/js/src/pro/gate.js +5 -3
  62. package/js/src/pro/htx.js +2 -0
  63. package/js/src/pro/kraken.js +2 -0
  64. package/js/src/pro/kucoin.js +2 -0
  65. package/js/src/pro/kucoinfutures.js +2 -0
  66. package/js/src/pro/lbank.js +2 -0
  67. package/js/src/pro/phemex.js +2 -0
  68. package/js/src/pro/upbit.js +24 -13
  69. package/js/src/pro/xt.js +10 -9
  70. package/js/src/upbit.js +4 -3
  71. package/package.json +1 -1
@@ -143,8 +143,10 @@ class kucoinfutures extends kucoinfutures$1["default"] {
143
143
  return undefined;
144
144
  }
145
145
  requestId() {
146
+ this.lockId();
146
147
  const requestId = this.sum(this.safeInteger(this.options, 'requestId', 0), 1);
147
148
  this.options['requestId'] = requestId;
149
+ this.unlockId();
148
150
  return requestId;
149
151
  }
150
152
  async subscribe(url, messageHash, subscriptionHash, subscription, params = {}) {
@@ -53,9 +53,11 @@ class lbank extends lbank$1["default"] {
53
53
  });
54
54
  }
55
55
  requestId() {
56
+ this.lockId();
56
57
  const previousValue = this.safeInteger(this.options, 'requestId', 0);
57
58
  const newValue = this.sum(previousValue, 1);
58
59
  this.options['requestId'] = newValue;
60
+ this.unlockId();
59
61
  return newValue;
60
62
  }
61
63
  /**
@@ -74,8 +74,10 @@ class phemex extends phemex$1["default"] {
74
74
  return this.fromEn(er, this.safeInteger(market, 'ratioScale'));
75
75
  }
76
76
  requestId() {
77
+ this.lockId();
77
78
  const requestId = this.sum(this.safeInteger(this.options, 'requestId', 0), 1);
78
79
  this.options['requestId'] = requestId;
80
+ this.unlockId();
79
81
  return requestId;
80
82
  }
81
83
  parseSwapTicker(ticker, market = undefined) {
@@ -43,23 +43,34 @@ class upbit extends upbit$1["default"] {
43
43
  const url = this.implodeParams(this.urls['api']['ws'], {
44
44
  'hostname': this.hostname,
45
45
  });
46
- this.options[channel] = this.safeValue(this.options, channel, {});
47
- this.options[channel][symbol] = true;
48
- const symbols = Object.keys(this.options[channel]);
49
- const marketIds = this.marketIds(symbols);
50
- const request = [
46
+ const client = this.client(url);
47
+ const subscriptionsKey = 'upbitPublicSubscriptions';
48
+ if (!(subscriptionsKey in client.subscriptions)) {
49
+ client.subscriptions[subscriptionsKey] = {};
50
+ }
51
+ const subscriptions = client.subscriptions[subscriptionsKey];
52
+ let messageHash = channel;
53
+ const request = {
54
+ 'type': channel,
55
+ };
56
+ if (symbol !== undefined) {
57
+ messageHash = channel + ':' + symbol;
58
+ request['codes'] = [marketId];
59
+ }
60
+ if (!(messageHash in subscriptions)) {
61
+ subscriptions[messageHash] = request;
62
+ }
63
+ const finalMessage = [
51
64
  {
52
65
  'ticket': this.uuid(),
53
66
  },
54
- {
55
- 'type': channel,
56
- 'codes': marketIds,
57
- // 'isOnlySnapshot': false,
58
- // 'isOnlyRealtime': false,
59
- },
60
67
  ];
61
- const messageHash = channel + ':' + marketId;
62
- return await this.watch(url, messageHash, request, messageHash);
68
+ const channelKeys = Object.keys(subscriptions);
69
+ for (let i = 0; i < channelKeys.length; i++) {
70
+ const key = channelKeys[i];
71
+ finalMessage.push(subscriptions[key]);
72
+ }
73
+ return await this.watch(url, messageHash, finalMessage, messageHash);
63
74
  }
64
75
  async watchPublicMultiple(symbols, channel, params = {}) {
65
76
  await this.loadMarkets();
@@ -244,10 +244,7 @@ class xt extends xt$1["default"] {
244
244
  unsubscribe['params'] = [name];
245
245
  }
246
246
  const tradeType = isContract ? 'contract' : 'spot';
247
- let subMessageHash = name + '::' + tradeType;
248
- if (symbols !== undefined) {
249
- subMessageHash = subMessageHash + '::' + symbols.join(',');
250
- }
247
+ const subMessageHash = name + '::' + tradeType;
251
248
  const request = this.extend(unsubscribe, params);
252
249
  let tail = access;
253
250
  if (isContract) {
@@ -262,6 +259,11 @@ class xt extends xt$1["default"] {
262
259
  'symbols': symbols,
263
260
  'topic': topic,
264
261
  };
262
+ const symbolsAndTimeframes = this.safeList(subscriptionParams, 'symbolsAndTimeframes');
263
+ if (symbolsAndTimeframes !== undefined) {
264
+ subscription['symbolsAndTimeframes'] = symbolsAndTimeframes;
265
+ subscriptionParams = this.omit(subscriptionParams, 'symbolsAndTimeframes');
266
+ }
265
267
  return await this.watch(url, messageHash, this.extend(request, params), messageHash, this.extend(subscription, subscriptionParams));
266
268
  }
267
269
  /**
@@ -324,7 +326,6 @@ class xt extends xt$1["default"] {
324
326
  const options = this.safeDict(this.options, 'watchTickers');
325
327
  const defaultMethod = this.safeString(options, 'method', 'tickers');
326
328
  const name = this.safeString(params, 'method', defaultMethod);
327
- symbols = this.marketSymbols(symbols);
328
329
  let market = undefined;
329
330
  if (symbols !== undefined) {
330
331
  market = this.market(symbols[0]);
@@ -401,8 +402,8 @@ class xt extends xt$1["default"] {
401
402
  const market = this.market(symbol);
402
403
  const name = 'kline@' + market['id'] + ',' + timeframe;
403
404
  const messageHash = 'unsubscribe::' + name;
404
- params['symbolsAndTimeframes'] = [[market['symbol'], timeframe]];
405
- return await this.unSubscribe(messageHash, name, 'public', 'unWatchOHLCV', 'kline', market, undefined, params);
405
+ const symbolsAndTimeframes = [[market['symbol'], timeframe]];
406
+ return await this.unSubscribe(messageHash, name, 'public', 'unWatchOHLCV', 'ohlcv', market, [symbol], params, { 'symbolsAndTimeframes': symbolsAndTimeframes });
406
407
  }
407
408
  /**
408
409
  * @method
@@ -441,7 +442,7 @@ class xt extends xt$1["default"] {
441
442
  const market = this.market(symbol);
442
443
  const name = 'trade@' + market['id'];
443
444
  const messageHash = 'unsubscribe::' + name;
444
- return await this.unSubscribe(messageHash, name, 'public', 'unWatchTrades', 'trade', market, undefined, params);
445
+ return await this.unSubscribe(messageHash, name, 'public', 'unWatchTrades', 'trades', market, [symbol], params);
445
446
  }
446
447
  /**
447
448
  * @method
@@ -492,7 +493,7 @@ class xt extends xt$1["default"] {
492
493
  name = 'depth@' + market['id'] + ',' + levels;
493
494
  }
494
495
  const messageHash = 'unsubscribe::' + name;
495
- return await this.unSubscribe(messageHash, name, 'public', 'unWatchOrderBook', 'depth', market, undefined, params);
496
+ return await this.unSubscribe(messageHash, name, 'public', 'unWatchOrderBook', 'orderbook', market, [symbol], params);
496
497
  }
497
498
  /**
498
499
  * @method
@@ -21,7 +21,7 @@ class upbit extends upbit$1["default"] {
21
21
  return this.deepExtend(super.describe(), {
22
22
  'id': 'upbit',
23
23
  'name': 'Upbit',
24
- 'countries': ['KR'],
24
+ 'countries': ['KR', 'ID', 'SG', 'TH'],
25
25
  'version': 'v1',
26
26
  'rateLimit': 50,
27
27
  'pro': true,
@@ -102,7 +102,7 @@ class upbit extends upbit$1["default"] {
102
102
  'private': 'https://{hostname}',
103
103
  },
104
104
  'www': 'https://upbit.com',
105
- 'doc': 'https://docs.upbit.com/docs/%EC%9A%94%EC%B2%AD-%EC%88%98-%EC%A0%9C%ED%95%9C',
105
+ 'doc': ['https://docs.upbit.com/kr', 'https://global-docs.upbit.com'],
106
106
  'fees': 'https://upbit.com/service_center/guide',
107
107
  },
108
108
  'api': {
@@ -132,7 +132,6 @@ class upbit extends upbit$1["default"] {
132
132
  'ticker/all': 2,
133
133
  'orderbook': 2,
134
134
  'orderbook/instruments': 2,
135
- 'orderbook/supported_levels': 2, // Upbit KR only, deprecatd
136
135
  },
137
136
  },
138
137
  'private': {
@@ -158,6 +157,7 @@ class upbit extends upbit$1["default"] {
158
157
  },
159
158
  'post': {
160
159
  'orders': 2.5,
160
+ 'orders/test': 2.5,
161
161
  'orders/cancel_and_new': 2.5,
162
162
  'withdraws/coin': 0.67,
163
163
  'withdraws/krw': 0.67,
@@ -170,6 +170,7 @@ class upbit extends upbit$1["default"] {
170
170
  'order': 0.67,
171
171
  'orders/open': 40,
172
172
  'orders/uuids': 0.67,
173
+ 'withdraws/coin': 0.67,
173
174
  },
174
175
  },
175
176
  },
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.19";
7
+ declare const version = "4.5.20";
8
8
  import alpaca from './src/alpaca.js';
9
9
  import apex from './src/apex.js';
10
10
  import arkham from './src/arkham.js';
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.19';
41
+ const version = '4.5.20';
42
42
  Exchange.ccxtVersion = version;
43
43
  //-----------------------------------------------------------------------------
44
44
  import alpaca from './src/alpaca.js';
@@ -527,6 +527,7 @@ interface Exchange {
527
527
  fapiPrivateGetCommissionRate(params?: {}): Promise<implicitReturnType>;
528
528
  fapiPrivateGetRateLimitOrder(params?: {}): Promise<implicitReturnType>;
529
529
  fapiPrivateGetApiTradingStatus(params?: {}): Promise<implicitReturnType>;
530
+ fapiPrivateGetSymbolAdlRisk(params?: {}): Promise<implicitReturnType>;
530
531
  fapiPrivateGetMultiAssetsMargin(params?: {}): Promise<implicitReturnType>;
531
532
  fapiPrivateGetApiReferralIfNewUser(params?: {}): Promise<implicitReturnType>;
532
533
  fapiPrivateGetApiReferralCustomization(params?: {}): Promise<implicitReturnType>;
@@ -527,6 +527,7 @@ interface binance {
527
527
  fapiPrivateGetCommissionRate(params?: {}): Promise<implicitReturnType>;
528
528
  fapiPrivateGetRateLimitOrder(params?: {}): Promise<implicitReturnType>;
529
529
  fapiPrivateGetApiTradingStatus(params?: {}): Promise<implicitReturnType>;
530
+ fapiPrivateGetSymbolAdlRisk(params?: {}): Promise<implicitReturnType>;
530
531
  fapiPrivateGetMultiAssetsMargin(params?: {}): Promise<implicitReturnType>;
531
532
  fapiPrivateGetApiReferralIfNewUser(params?: {}): Promise<implicitReturnType>;
532
533
  fapiPrivateGetApiReferralCustomization(params?: {}): Promise<implicitReturnType>;
@@ -579,6 +579,7 @@ interface binance {
579
579
  fapiPrivateGetCommissionRate(params?: {}): Promise<implicitReturnType>;
580
580
  fapiPrivateGetRateLimitOrder(params?: {}): Promise<implicitReturnType>;
581
581
  fapiPrivateGetApiTradingStatus(params?: {}): Promise<implicitReturnType>;
582
+ fapiPrivateGetSymbolAdlRisk(params?: {}): Promise<implicitReturnType>;
582
583
  fapiPrivateGetMultiAssetsMargin(params?: {}): Promise<implicitReturnType>;
583
584
  fapiPrivateGetApiReferralIfNewUser(params?: {}): Promise<implicitReturnType>;
584
585
  fapiPrivateGetApiReferralCustomization(params?: {}): Promise<implicitReturnType>;
@@ -527,6 +527,7 @@ interface binance {
527
527
  fapiPrivateGetCommissionRate(params?: {}): Promise<implicitReturnType>;
528
528
  fapiPrivateGetRateLimitOrder(params?: {}): Promise<implicitReturnType>;
529
529
  fapiPrivateGetApiTradingStatus(params?: {}): Promise<implicitReturnType>;
530
+ fapiPrivateGetSymbolAdlRisk(params?: {}): Promise<implicitReturnType>;
530
531
  fapiPrivateGetMultiAssetsMargin(params?: {}): Promise<implicitReturnType>;
531
532
  fapiPrivateGetApiReferralIfNewUser(params?: {}): Promise<implicitReturnType>;
532
533
  fapiPrivateGetApiReferralCustomization(params?: {}): Promise<implicitReturnType>;
@@ -51,6 +51,7 @@ interface Exchange {
51
51
  swapV1PrivateGetTwapOrderDetail(params?: {}): Promise<implicitReturnType>;
52
52
  swapV1PrivateGetTradeAssetMode(params?: {}): Promise<implicitReturnType>;
53
53
  swapV1PrivateGetUserMarginAssets(params?: {}): Promise<implicitReturnType>;
54
+ swapV1PrivatePostTradeAmend(params?: {}): Promise<implicitReturnType>;
54
55
  swapV1PrivatePostTradeCancelReplace(params?: {}): Promise<implicitReturnType>;
55
56
  swapV1PrivatePostPositionSideDual(params?: {}): Promise<implicitReturnType>;
56
57
  swapV1PrivatePostTradeBatchCancelReplace(params?: {}): Promise<implicitReturnType>;
@@ -158,8 +159,17 @@ interface Exchange {
158
159
  userAuthPrivatePutUserDataStream(params?: {}): Promise<implicitReturnType>;
159
160
  userAuthPrivateDeleteUserDataStream(params?: {}): Promise<implicitReturnType>;
160
161
  copyTradingV1PrivateGetSwapTraceCurrentTrack(params?: {}): Promise<implicitReturnType>;
162
+ copyTradingV1PrivateGetPFuturesTraderDetail(params?: {}): Promise<implicitReturnType>;
163
+ copyTradingV1PrivateGetPFuturesProfitHistorySummarys(params?: {}): Promise<implicitReturnType>;
164
+ copyTradingV1PrivateGetPFuturesProfitDetail(params?: {}): Promise<implicitReturnType>;
165
+ copyTradingV1PrivateGetPFuturesTradingPairs(params?: {}): Promise<implicitReturnType>;
166
+ copyTradingV1PrivateGetSpotTraderDetail(params?: {}): Promise<implicitReturnType>;
167
+ copyTradingV1PrivateGetSpotProfitHistorySummarys(params?: {}): Promise<implicitReturnType>;
168
+ copyTradingV1PrivateGetSpotProfitDetail(params?: {}): Promise<implicitReturnType>;
169
+ copyTradingV1PrivateGetSpotHistoryOrder(params?: {}): Promise<implicitReturnType>;
161
170
  copyTradingV1PrivatePostSwapTraceCloseTrackOrder(params?: {}): Promise<implicitReturnType>;
162
171
  copyTradingV1PrivatePostSwapTraceSetTPSL(params?: {}): Promise<implicitReturnType>;
172
+ copyTradingV1PrivatePostPFuturesSetCommission(params?: {}): Promise<implicitReturnType>;
163
173
  copyTradingV1PrivatePostSpotTraderSellOrder(params?: {}): Promise<implicitReturnType>;
164
174
  apiV3PrivateGetAssetTransfer(params?: {}): Promise<implicitReturnType>;
165
175
  apiV3PrivateGetAssetTransferRecord(params?: {}): Promise<implicitReturnType>;
@@ -51,6 +51,9 @@ interface Exchange {
51
51
  publicMixGetMixV1MarketHistoryMarkCandles(params?: {}): Promise<implicitReturnType>;
52
52
  publicMixGetMixV1MarketMergeDepth(params?: {}): Promise<implicitReturnType>;
53
53
  publicMixGetV2MixMarketVipFeeRate(params?: {}): Promise<implicitReturnType>;
54
+ publicMixGetV2MixMarketUnionInterestRateHistory(params?: {}): Promise<implicitReturnType>;
55
+ publicMixGetV2MixMarketExchangeRate(params?: {}): Promise<implicitReturnType>;
56
+ publicMixGetV2MixMarketDiscountRate(params?: {}): Promise<implicitReturnType>;
54
57
  publicMixGetV2MixMarketMergeDepth(params?: {}): Promise<implicitReturnType>;
55
58
  publicMixGetV2MixMarketTicker(params?: {}): Promise<implicitReturnType>;
56
59
  publicMixGetV2MixMarketTickers(params?: {}): Promise<implicitReturnType>;
@@ -65,6 +68,7 @@ interface Exchange {
65
68
  publicMixGetV2MixMarketSymbolPrice(params?: {}): Promise<implicitReturnType>;
66
69
  publicMixGetV2MixMarketHistoryFundRate(params?: {}): Promise<implicitReturnType>;
67
70
  publicMixGetV2MixMarketCurrentFundRate(params?: {}): Promise<implicitReturnType>;
71
+ publicMixGetV2MixMarketOiLimit(params?: {}): Promise<implicitReturnType>;
68
72
  publicMixGetV2MixMarketContracts(params?: {}): Promise<implicitReturnType>;
69
73
  publicMixGetV2MixMarketQueryPositionLever(params?: {}): Promise<implicitReturnType>;
70
74
  publicMixGetV2MixMarketAccountLongShort(params?: {}): Promise<implicitReturnType>;
@@ -223,17 +227,26 @@ interface Exchange {
223
227
  privateMixGetV2MixAccountAccount(params?: {}): Promise<implicitReturnType>;
224
228
  privateMixGetV2MixAccountAccounts(params?: {}): Promise<implicitReturnType>;
225
229
  privateMixGetV2MixAccountSubAccountAssets(params?: {}): Promise<implicitReturnType>;
230
+ privateMixGetV2MixAccountInterestHistory(params?: {}): Promise<implicitReturnType>;
231
+ privateMixGetV2MixAccountMaxOpen(params?: {}): Promise<implicitReturnType>;
232
+ privateMixGetV2MixAccountLiqPrice(params?: {}): Promise<implicitReturnType>;
226
233
  privateMixGetV2MixAccountOpenCount(params?: {}): Promise<implicitReturnType>;
227
234
  privateMixGetV2MixAccountBill(params?: {}): Promise<implicitReturnType>;
235
+ privateMixGetV2MixAccountTransferLimits(params?: {}): Promise<implicitReturnType>;
236
+ privateMixGetV2MixAccountUnionConfig(params?: {}): Promise<implicitReturnType>;
237
+ privateMixGetV2MixAccountSwitchUnionUsdt(params?: {}): Promise<implicitReturnType>;
238
+ privateMixGetV2MixAccountIsolatedSymbols(params?: {}): Promise<implicitReturnType>;
228
239
  privateMixGetV2MixMarketQueryPositionLever(params?: {}): Promise<implicitReturnType>;
229
240
  privateMixGetV2MixPositionSinglePosition(params?: {}): Promise<implicitReturnType>;
230
241
  privateMixGetV2MixPositionAllPosition(params?: {}): Promise<implicitReturnType>;
242
+ privateMixGetV2MixPositionAdlRank(params?: {}): Promise<implicitReturnType>;
231
243
  privateMixGetV2MixPositionHistoryPosition(params?: {}): Promise<implicitReturnType>;
232
244
  privateMixGetV2MixOrderDetail(params?: {}): Promise<implicitReturnType>;
233
245
  privateMixGetV2MixOrderFills(params?: {}): Promise<implicitReturnType>;
234
246
  privateMixGetV2MixOrderFillHistory(params?: {}): Promise<implicitReturnType>;
235
247
  privateMixGetV2MixOrderOrdersPending(params?: {}): Promise<implicitReturnType>;
236
248
  privateMixGetV2MixOrderOrdersHistory(params?: {}): Promise<implicitReturnType>;
249
+ privateMixGetV2MixOrderPlanSubOrder(params?: {}): Promise<implicitReturnType>;
237
250
  privateMixGetV2MixOrderOrdersPlanPending(params?: {}): Promise<implicitReturnType>;
238
251
  privateMixGetV2MixOrderOrdersPlanHistory(params?: {}): Promise<implicitReturnType>;
239
252
  privateMixGetV2MixMarketPositionLongShort(params?: {}): Promise<implicitReturnType>;
@@ -279,9 +292,13 @@ interface Exchange {
279
292
  privateMixPostMixV1TraceReportOrderCurrentList(params?: {}): Promise<implicitReturnType>;
280
293
  privateMixPostMixV1TraceQueryTraderTpslRatioConfig(params?: {}): Promise<implicitReturnType>;
281
294
  privateMixPostMixV1TraceTraderUpdateTpslRatioConfig(params?: {}): Promise<implicitReturnType>;
295
+ privateMixPostV2MixAccountSetAutoMargin(params?: {}): Promise<implicitReturnType>;
282
296
  privateMixPostV2MixAccountSetLeverage(params?: {}): Promise<implicitReturnType>;
297
+ privateMixPostV2MixAccountSetAllLeverage(params?: {}): Promise<implicitReturnType>;
283
298
  privateMixPostV2MixAccountSetMargin(params?: {}): Promise<implicitReturnType>;
299
+ privateMixPostV2MixAccountSetAssetMode(params?: {}): Promise<implicitReturnType>;
284
300
  privateMixPostV2MixAccountSetMarginMode(params?: {}): Promise<implicitReturnType>;
301
+ privateMixPostV2MixAccountUnionConvert(params?: {}): Promise<implicitReturnType>;
285
302
  privateMixPostV2MixAccountSetPositionMode(params?: {}): Promise<implicitReturnType>;
286
303
  privateMixPostV2MixOrderPlaceOrder(params?: {}): Promise<implicitReturnType>;
287
304
  privateMixPostV2MixOrderClickBackhand(params?: {}): Promise<implicitReturnType>;
@@ -290,7 +307,9 @@ interface Exchange {
290
307
  privateMixPostV2MixOrderCancelOrder(params?: {}): Promise<implicitReturnType>;
291
308
  privateMixPostV2MixOrderBatchCancelOrders(params?: {}): Promise<implicitReturnType>;
292
309
  privateMixPostV2MixOrderClosePositions(params?: {}): Promise<implicitReturnType>;
310
+ privateMixPostV2MixOrderCancelAllOrders(params?: {}): Promise<implicitReturnType>;
293
311
  privateMixPostV2MixOrderPlaceTpslOrder(params?: {}): Promise<implicitReturnType>;
312
+ privateMixPostV2MixOrderPlacePosTpsl(params?: {}): Promise<implicitReturnType>;
294
313
  privateMixPostV2MixOrderPlacePlanOrder(params?: {}): Promise<implicitReturnType>;
295
314
  privateMixPostV2MixOrderModifyTpslOrder(params?: {}): Promise<implicitReturnType>;
296
315
  privateMixPostV2MixOrderModifyPlanOrder(params?: {}): Promise<implicitReturnType>;
@@ -23,7 +23,6 @@ interface Exchange {
23
23
  publicGetTickerAll(params?: {}): Promise<implicitReturnType>;
24
24
  publicGetOrderbook(params?: {}): Promise<implicitReturnType>;
25
25
  publicGetOrderbookInstruments(params?: {}): Promise<implicitReturnType>;
26
- publicGetOrderbookSupportedLevels(params?: {}): Promise<implicitReturnType>;
27
26
  privateGetAccounts(params?: {}): Promise<implicitReturnType>;
28
27
  privateGetOrdersChance(params?: {}): Promise<implicitReturnType>;
29
28
  privateGetOrder(params?: {}): Promise<implicitReturnType>;
@@ -43,6 +42,7 @@ interface Exchange {
43
42
  privateGetStatusWallet(params?: {}): Promise<implicitReturnType>;
44
43
  privateGetApiKeys(params?: {}): Promise<implicitReturnType>;
45
44
  privatePostOrders(params?: {}): Promise<implicitReturnType>;
45
+ privatePostOrdersTest(params?: {}): Promise<implicitReturnType>;
46
46
  privatePostOrdersCancelAndNew(params?: {}): Promise<implicitReturnType>;
47
47
  privatePostWithdrawsCoin(params?: {}): Promise<implicitReturnType>;
48
48
  privatePostWithdrawsKrw(params?: {}): Promise<implicitReturnType>;
@@ -53,6 +53,7 @@ interface Exchange {
53
53
  privateDeleteOrder(params?: {}): Promise<implicitReturnType>;
54
54
  privateDeleteOrdersOpen(params?: {}): Promise<implicitReturnType>;
55
55
  privateDeleteOrdersUuids(params?: {}): Promise<implicitReturnType>;
56
+ privateDeleteWithdrawsCoin(params?: {}): Promise<implicitReturnType>;
56
57
  }
57
58
  declare abstract class Exchange extends _Exchange {
58
59
  }
@@ -47,7 +47,12 @@ export default class ascendex extends Exchange {
47
47
  'fetchAccounts': true,
48
48
  'fetchAllGreeks': false,
49
49
  'fetchBalance': true,
50
+ 'fetchBorrowRate': false,
51
+ 'fetchBorrowRateHistory': false,
52
+ 'fetchBorrowRates': false,
50
53
  'fetchClosedOrders': true,
54
+ 'fetchCrossBorrowRate': false,
55
+ 'fetchCrossBorrowRates': false,
51
56
  'fetchCurrencies': true,
52
57
  'fetchDepositAddress': true,
53
58
  'fetchDepositAddresses': false,
@@ -62,6 +67,8 @@ export default class ascendex extends Exchange {
62
67
  'fetchFundingRates': true,
63
68
  'fetchGreeks': false,
64
69
  'fetchIndexOHLCV': false,
70
+ 'fetchIsolatedBorrowRate': false,
71
+ 'fetchIsolatedBorrowRates': false,
65
72
  'fetchLeverage': 'emulated',
66
73
  'fetchLeverages': true,
67
74
  'fetchLeverageTiers': true,
@@ -411,6 +411,8 @@ export default class Exchange {
411
411
  randomBytes(length: number): string;
412
412
  randNumber(size: number): number;
413
413
  binaryLength(binary: Uint8Array): number;
414
+ lockId(): any;
415
+ unlockId(): any;
414
416
  describe(): any;
415
417
  safeBoolN(dictionaryOrList: any, keys: IndexType[], defaultValue?: boolean): boolean | undefined;
416
418
  safeBool2(dictionary: any, key1: IndexType, key2: IndexType, defaultValue?: boolean): boolean | undefined;
@@ -1526,6 +1526,12 @@ export default class Exchange {
1526
1526
  binaryLength(binary) {
1527
1527
  return binary.length;
1528
1528
  }
1529
+ lockId() {
1530
+ return undefined; // c# stub
1531
+ }
1532
+ unlockId() {
1533
+ return undefined; // c# stub
1534
+ }
1529
1535
  /* eslint-enable */
1530
1536
  // ------------------------------------------------------------------------
1531
1537
  // ########################################################################
package/js/src/binance.js CHANGED
@@ -880,6 +880,7 @@ export default class binance extends Exchange {
880
880
  'commissionRate': 20,
881
881
  'rateLimit/order': 1,
882
882
  'apiTradingStatus': 1,
883
+ 'symbolAdlRisk': 1,
883
884
  'multiAssetsMargin': 30,
884
885
  // broker endpoints
885
886
  'apiReferral/ifNewUser': 1,
package/js/src/bingx.js CHANGED
@@ -259,6 +259,7 @@ export default class bingx extends Exchange {
259
259
  'user/marginAssets': 5,
260
260
  },
261
261
  'post': {
262
+ 'trade/amend': 2,
262
263
  'trade/cancelReplace': 2,
263
264
  'positionSide/dual': 5,
264
265
  'trade/batchCancelReplace': 5,
@@ -474,10 +475,19 @@ export default class bingx extends Exchange {
474
475
  'private': {
475
476
  'get': {
476
477
  'swap/trace/currentTrack': 2,
478
+ 'PFutures/traderDetail': 2,
479
+ 'PFutures/profitHistorySummarys': 2,
480
+ 'PFutures/profitDetail': 2,
481
+ 'PFutures/tradingPairs': 2,
482
+ 'spot/traderDetail': 2,
483
+ 'spot/profitHistorySummarys': 2,
484
+ 'spot/profitDetail': 2,
485
+ 'spot/historyOrder': 2,
477
486
  },
478
487
  'post': {
479
488
  'swap/trace/closeTrackOrder': 2,
480
489
  'swap/trace/setTPSL': 2,
490
+ 'PFutures/setCommission': 2,
481
491
  'spot/trader/sellOrder': 10,
482
492
  },
483
493
  },
@@ -51,6 +51,7 @@ export default class bitfinex extends Exchange {
51
51
  'createTrailingPercentOrder': false,
52
52
  'createTriggerOrder': true,
53
53
  'editOrder': true,
54
+ 'fetchAllGreeks': false,
54
55
  'fetchBalance': true,
55
56
  'fetchBorrowInterest': false,
56
57
  'fetchBorrowRate': false,
@@ -71,6 +72,7 @@ export default class bitfinex extends Exchange {
71
72
  'fetchFundingRate': 'emulated',
72
73
  'fetchFundingRateHistory': true,
73
74
  'fetchFundingRates': true,
75
+ 'fetchGreeks': false,
74
76
  'fetchIndexOHLCV': false,
75
77
  'fetchIsolatedBorrowRate': false,
76
78
  'fetchIsolatedBorrowRates': false,
@@ -88,6 +90,8 @@ export default class bitfinex extends Exchange {
88
90
  'fetchOpenInterests': true,
89
91
  'fetchOpenOrder': true,
90
92
  'fetchOpenOrders': true,
93
+ 'fetchOption': false,
94
+ 'fetchOptionChain': false,
91
95
  'fetchOrder': true,
92
96
  'fetchOrderBook': true,
93
97
  'fetchOrderBooks': false,
@@ -103,6 +107,7 @@ export default class bitfinex extends Exchange {
103
107
  'fetchTradingFees': true,
104
108
  'fetchTransactionFees': undefined,
105
109
  'fetchTransactions': 'emulated',
110
+ 'fetchVolatilityHistory': false,
106
111
  'reduceMargin': false,
107
112
  'repayCrossMargin': false,
108
113
  'repayIsolatedMargin': false,
@@ -31,20 +31,37 @@ export default class bitflyer extends Exchange {
31
31
  'swap': undefined,
32
32
  'future': undefined,
33
33
  'option': false,
34
+ 'borrowCrossMargin': false,
35
+ 'borrowIsolatedMargin': false,
36
+ 'borrowMargin': false,
34
37
  'cancelAllOrders': undefined,
35
38
  'cancelOrder': true,
36
39
  'createOrder': true,
40
+ 'fetchAllGreeks': false,
37
41
  'fetchBalance': true,
42
+ 'fetchBorrowInterest': false,
43
+ 'fetchBorrowRate': false,
44
+ 'fetchBorrowRateHistories': false,
45
+ 'fetchBorrowRateHistory': false,
46
+ 'fetchBorrowRates': false,
47
+ 'fetchBorrowRatesPerSymbol': false,
38
48
  'fetchClosedOrders': 'emulated',
49
+ 'fetchCrossBorrowRate': false,
50
+ 'fetchCrossBorrowRates': false,
39
51
  'fetchCurrencies': false,
40
52
  'fetchDeposits': true,
41
53
  'fetchFundingRate': true,
42
54
  'fetchFundingRateHistory': false,
43
55
  'fetchFundingRates': false,
56
+ 'fetchGreeks': false,
57
+ 'fetchIsolatedBorrowRate': false,
58
+ 'fetchIsolatedBorrowRates': false,
44
59
  'fetchMarginMode': false,
45
60
  'fetchMarkets': true,
46
61
  'fetchMyTrades': true,
47
62
  'fetchOpenOrders': 'emulated',
63
+ 'fetchOption': false,
64
+ 'fetchOptionChain': false,
48
65
  'fetchOrder': 'emulated',
49
66
  'fetchOrderBook': true,
50
67
  'fetchOrders': true,
@@ -56,7 +73,10 @@ export default class bitflyer extends Exchange {
56
73
  'fetchTradingFees': false,
57
74
  'fetchTransfer': false,
58
75
  'fetchTransfers': false,
76
+ 'fetchVolatilityHistory': false,
59
77
  'fetchWithdrawals': true,
78
+ 'repayCrossMargin': false,
79
+ 'repayIsolatedMargin': false,
60
80
  'transfer': false,
61
81
  'withdraw': true,
62
82
  },
package/js/src/bitget.js CHANGED
@@ -257,6 +257,9 @@ export default class bitget extends Exchange {
257
257
  'mix/v1/market/history-mark-candles': 1,
258
258
  'mix/v1/market/merge-depth': 1,
259
259
  'v2/mix/market/vip-fee-rate': 2,
260
+ 'v2/mix/market/union-interest-rate-history': 4,
261
+ 'v2/mix/market/exchange-rate': 4,
262
+ 'v2/mix/market/discount-rate': 4,
260
263
  'v2/mix/market/merge-depth': 1,
261
264
  'v2/mix/market/ticker': 1,
262
265
  'v2/mix/market/tickers': 1,
@@ -271,6 +274,7 @@ export default class bitget extends Exchange {
271
274
  'v2/mix/market/symbol-price': 1,
272
275
  'v2/mix/market/history-fund-rate': 1,
273
276
  'v2/mix/market/current-fund-rate': 1,
277
+ 'v2/mix/market/oi-limit': 2,
274
278
  'v2/mix/market/contracts': 1,
275
279
  'v2/mix/market/query-position-lever': 2,
276
280
  'v2/mix/market/account-long-short': 20,
@@ -453,17 +457,26 @@ export default class bitget extends Exchange {
453
457
  'v2/mix/account/account': 2,
454
458
  'v2/mix/account/accounts': 2,
455
459
  'v2/mix/account/sub-account-assets': 200,
460
+ 'v2/mix/account/interest-history': 4,
461
+ 'v2/mix/account/max-open': 1,
462
+ 'v2/mix/account/liq-price': 1,
456
463
  'v2/mix/account/open-count': 2,
457
464
  'v2/mix/account/bill': 2,
465
+ 'v2/mix/account/transfer-limits': 20,
466
+ 'v2/mix/account/union-config': 20,
467
+ 'v2/mix/account/switch-union-usdt': 20,
468
+ 'v2/mix/account/isolated-symbols': 2,
458
469
  'v2/mix/market/query-position-lever': 2,
459
470
  'v2/mix/position/single-position': 2,
460
471
  'v2/mix/position/all-position': 4,
472
+ 'v2/mix/position/adlRank': 4,
461
473
  'v2/mix/position/history-position': 1,
462
474
  'v2/mix/order/detail': 2,
463
475
  'v2/mix/order/fills': 2,
464
476
  'v2/mix/order/fill-history': 2,
465
477
  'v2/mix/order/orders-pending': 2,
466
478
  'v2/mix/order/orders-history': 2,
479
+ 'v2/mix/order/plan-sub-order': 2,
467
480
  'v2/mix/order/orders-plan-pending': 2,
468
481
  'v2/mix/order/orders-plan-history': 2,
469
482
  'v2/mix/market/position-long-short': 20,
@@ -511,9 +524,13 @@ export default class bitget extends Exchange {
511
524
  'mix/v1/trace/report/order/currentList': 2,
512
525
  'mix/v1/trace/queryTraderTpslRatioConfig': 2,
513
526
  'mix/v1/trace/traderUpdateTpslRatioConfig': 2,
527
+ 'v2/mix/account/set-auto-margin': 4,
514
528
  'v2/mix/account/set-leverage': 4,
529
+ 'v2/mix/account/set-all-leverage': 4,
515
530
  'v2/mix/account/set-margin': 4,
531
+ 'v2/mix/account/set-asset-mode': 10,
516
532
  'v2/mix/account/set-margin-mode': 4,
533
+ 'v2/mix/account/union-convert': 20,
517
534
  'v2/mix/account/set-position-mode': 4,
518
535
  'v2/mix/order/place-order': 2,
519
536
  'v2/mix/order/click-backhand': 20,
@@ -522,7 +539,9 @@ export default class bitget extends Exchange {
522
539
  'v2/mix/order/cancel-order': 2,
523
540
  'v2/mix/order/batch-cancel-orders': 2,
524
541
  'v2/mix/order/close-positions': 20,
542
+ 'v2/mix/order/cancel-all-orders': 20,
525
543
  'v2/mix/order/place-tpsl-order': 2,
544
+ 'v2/mix/order/place-pos-tpsl': 2,
526
545
  'v2/mix/order/place-plan-order': 2,
527
546
  'v2/mix/order/modify-tpsl-order': 2,
528
547
  'v2/mix/order/modify-plan-order': 2,
package/js/src/bybit.d.ts CHANGED
@@ -273,6 +273,7 @@ export default class bybit extends Exchange {
273
273
  * @param {float} amount how much of currency you want to trade in units of base currency
274
274
  * @param {float} price the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
275
275
  * @param {object} [params] extra parameters specific to the exchange API endpoint
276
+ * @param {string} [params.clientOrderId] unique client order id
276
277
  * @param {float} [params.triggerPrice] The price that a trigger order is triggered at
277
278
  * @param {float} [params.stopLossPrice] The price that a stop loss order is triggered at
278
279
  * @param {float} [params.takeProfitPrice] The price that a take profit order is triggered at