ccxt 4.1.36 → 4.1.38

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 (143) hide show
  1. package/README.md +4 -4
  2. package/dist/ccxt.browser.js +1767 -446
  3. package/dist/ccxt.browser.min.js +3 -3
  4. package/dist/cjs/ccxt.js +1 -1
  5. package/dist/cjs/src/base/Exchange.js +19 -0
  6. package/dist/cjs/src/base/errors.js +6 -6
  7. package/dist/cjs/src/binance.js +2 -2
  8. package/dist/cjs/src/bingx.js +106 -0
  9. package/dist/cjs/src/bitforex.js +26 -1
  10. package/dist/cjs/src/bitget.js +2 -2
  11. package/dist/cjs/src/bitmart.js +2 -2
  12. package/dist/cjs/src/bitmex.js +3 -3
  13. package/dist/cjs/src/bybit.js +1 -0
  14. package/dist/cjs/src/deribit.js +2 -2
  15. package/dist/cjs/src/digifinex.js +204 -52
  16. package/dist/cjs/src/gate.js +2 -2
  17. package/dist/cjs/src/hollaex.js +7 -7
  18. package/dist/cjs/src/huobi.js +20 -4
  19. package/dist/cjs/src/kucoinfutures.js +0 -3
  20. package/dist/cjs/src/kuna.js +1284 -350
  21. package/dist/cjs/src/latoken.js +2 -2
  22. package/dist/cjs/src/pro/bitget.js +50 -7
  23. package/dist/cjs/src/wazirx.js +23 -1
  24. package/js/ccxt.d.ts +1 -1
  25. package/js/ccxt.js +1 -1
  26. package/js/src/abstract/bybit.d.ts +1 -0
  27. package/js/src/abstract/kuna.d.ts +29 -27
  28. package/js/src/ace.d.ts +7 -7
  29. package/js/src/alpaca.d.ts +7 -7
  30. package/js/src/ascendex.d.ts +3 -3
  31. package/js/src/base/Exchange.d.ts +3 -2
  32. package/js/src/base/Exchange.js +19 -0
  33. package/js/src/base/errorHierarchy.d.ts +1 -1
  34. package/js/src/base/errorHierarchy.js +1 -1
  35. package/js/src/base/errors.d.ts +3 -3
  36. package/js/src/base/errors.js +6 -6
  37. package/js/src/bigone.d.ts +10 -10
  38. package/js/src/binance.d.ts +48 -15
  39. package/js/src/binance.js +2 -2
  40. package/js/src/bingx.d.ts +10 -8
  41. package/js/src/bingx.js +106 -0
  42. package/js/src/bit2c.d.ts +5 -5
  43. package/js/src/bitbank.d.ts +7 -7
  44. package/js/src/bitbns.d.ts +6 -6
  45. package/js/src/bitfinex.d.ts +9 -9
  46. package/js/src/bitfinex2.d.ts +1 -1
  47. package/js/src/bitforex.d.ts +8 -8
  48. package/js/src/bitforex.js +26 -1
  49. package/js/src/bitget.d.ts +2 -12
  50. package/js/src/bitget.js +2 -2
  51. package/js/src/bithumb.d.ts +7 -7
  52. package/js/src/bitmart.d.ts +11 -21
  53. package/js/src/bitmart.js +2 -2
  54. package/js/src/bitmex.d.ts +2 -12
  55. package/js/src/bitmex.js +3 -3
  56. package/js/src/bitopro.d.ts +9 -9
  57. package/js/src/bitpanda.d.ts +8 -8
  58. package/js/src/bitrue.d.ts +9 -9
  59. package/js/src/bitso.d.ts +7 -7
  60. package/js/src/bitstamp.d.ts +7 -7
  61. package/js/src/bittrex.d.ts +9 -9
  62. package/js/src/bitvavo.d.ts +1 -1
  63. package/js/src/blockchaincom.d.ts +8 -8
  64. package/js/src/btcalpha.d.ts +9 -9
  65. package/js/src/btcbox.d.ts +8 -8
  66. package/js/src/btcmarkets.d.ts +3 -3
  67. package/js/src/btctradeua.d.ts +3 -3
  68. package/js/src/btcturk.d.ts +6 -6
  69. package/js/src/bybit.d.ts +1 -1
  70. package/js/src/bybit.js +1 -0
  71. package/js/src/cex.d.ts +3 -3
  72. package/js/src/coinbase.d.ts +1 -1
  73. package/js/src/coinbasepro.d.ts +1 -1
  74. package/js/src/coinex.d.ts +11 -11
  75. package/js/src/coinfalcon.d.ts +6 -6
  76. package/js/src/coinmate.d.ts +6 -6
  77. package/js/src/coinone.d.ts +5 -5
  78. package/js/src/coinsph.d.ts +10 -10
  79. package/js/src/cryptocom.d.ts +1 -1
  80. package/js/src/currencycom.d.ts +8 -8
  81. package/js/src/delta.d.ts +10 -10
  82. package/js/src/deribit.d.ts +9 -19
  83. package/js/src/deribit.js +2 -2
  84. package/js/src/digifinex.d.ts +10 -8
  85. package/js/src/digifinex.js +204 -52
  86. package/js/src/exmo.d.ts +3 -3
  87. package/js/src/gate.d.ts +2 -12
  88. package/js/src/gate.js +2 -2
  89. package/js/src/gemini.d.ts +6 -6
  90. package/js/src/hitbtc.d.ts +1 -1
  91. package/js/src/hollaex.d.ts +12 -12
  92. package/js/src/hollaex.js +7 -7
  93. package/js/src/huobi.d.ts +2 -12
  94. package/js/src/huobi.js +20 -4
  95. package/js/src/huobijp.d.ts +3 -3
  96. package/js/src/idex.d.ts +3 -3
  97. package/js/src/independentreserve.d.ts +6 -6
  98. package/js/src/kraken.d.ts +8 -8
  99. package/js/src/krakenfutures.d.ts +8 -8
  100. package/js/src/kucoin.d.ts +1 -1
  101. package/js/src/kucoinfutures.d.ts +4 -5
  102. package/js/src/kucoinfutures.js +0 -3
  103. package/js/src/kuna.d.ts +155 -7
  104. package/js/src/kuna.js +1290 -351
  105. package/js/src/latoken.d.ts +7 -7
  106. package/js/src/latoken.js +2 -2
  107. package/js/src/lbank.d.ts +3 -3
  108. package/js/src/lbank2.d.ts +10 -10
  109. package/js/src/luno.d.ts +8 -8
  110. package/js/src/lykke.d.ts +6 -6
  111. package/js/src/mercado.d.ts +9 -9
  112. package/js/src/mexc.d.ts +17 -17
  113. package/js/src/ndax.d.ts +9 -9
  114. package/js/src/novadax.d.ts +10 -10
  115. package/js/src/oceanex.d.ts +3 -3
  116. package/js/src/okcoin.d.ts +9 -9
  117. package/js/src/okx.d.ts +1 -1
  118. package/js/src/phemex.d.ts +13 -13
  119. package/js/src/poloniex.d.ts +9 -9
  120. package/js/src/poloniexfutures.d.ts +8 -8
  121. package/js/src/pro/bingx.d.ts +2 -2
  122. package/js/src/pro/bitget.d.ts +3 -3
  123. package/js/src/pro/bitget.js +50 -7
  124. package/js/src/pro/bybit.d.ts +3 -3
  125. package/js/src/pro/hitbtc.d.ts +2 -2
  126. package/js/src/pro/mexc.d.ts +2 -2
  127. package/js/src/pro/poloniex.d.ts +2 -2
  128. package/js/src/pro/wazirx.d.ts +2 -2
  129. package/js/src/probit.d.ts +9 -9
  130. package/js/src/tidex.d.ts +5 -5
  131. package/js/src/timex.d.ts +9 -9
  132. package/js/src/tokocrypto.d.ts +10 -10
  133. package/js/src/upbit.d.ts +11 -11
  134. package/js/src/wavesexchange.d.ts +9 -9
  135. package/js/src/wazirx.d.ts +8 -8
  136. package/js/src/wazirx.js +23 -1
  137. package/js/src/whitebit.d.ts +3 -3
  138. package/js/src/woo.d.ts +8 -8
  139. package/js/src/yobit.d.ts +6 -6
  140. package/js/src/zaif.d.ts +5 -5
  141. package/js/src/zonda.d.ts +6 -6
  142. package/package.json +1 -1
  143. package/skip-tests.json +6 -1
@@ -23,8 +23,8 @@ class latoken extends latoken$1 {
23
23
  'CORS': undefined,
24
24
  'spot': true,
25
25
  'margin': false,
26
- 'swap': undefined,
27
- 'future': undefined,
26
+ 'swap': false,
27
+ 'future': false,
28
28
  'option': false,
29
29
  'cancelAllOrders': true,
30
30
  'cancelOrder': true,
@@ -754,6 +754,9 @@ class bitget extends bitget$1 {
754
754
  /**
755
755
  * @method
756
756
  * @name bitget#watchOrders
757
+ * @see https://bitgetlimited.github.io/apidoc/en/spot/#order-channel
758
+ * @see https://bitgetlimited.github.io/apidoc/en/mix/#order-channel
759
+ * @see https://bitgetlimited.github.io/apidoc/en/mix/#plan-order-channel
757
760
  * @description watches information on multiple orders made by the user
758
761
  * @param {string} symbol unified market symbol of the market orders were made in
759
762
  * @param {int} [since] the earliest time in ms to fetch orders for
@@ -764,7 +767,9 @@ class bitget extends bitget$1 {
764
767
  await this.loadMarkets();
765
768
  let market = undefined;
766
769
  let marketId = undefined;
767
- let messageHash = 'order';
770
+ const isStop = this.safeValue(params, 'stop', false);
771
+ params = this.omit(params, 'stop');
772
+ let messageHash = (isStop) ? 'triggerOrder' : 'order';
768
773
  let subscriptionHash = 'order:trades';
769
774
  if (symbol !== undefined) {
770
775
  market = this.market(symbol);
@@ -772,8 +777,6 @@ class bitget extends bitget$1 {
772
777
  marketId = market['id'];
773
778
  messageHash = messageHash + ':' + symbol;
774
779
  }
775
- const isStop = this.safeValue(params, 'stop', false);
776
- params = this.omit(params, 'stop');
777
780
  let type = undefined;
778
781
  [type, params] = this.handleMarketTypeAndParams('watchOrders', market, params);
779
782
  if ((type === 'spot') && (symbol === undefined)) {
@@ -796,6 +799,9 @@ class bitget extends bitget$1 {
796
799
  instType = 'SUMCBL';
797
800
  }
798
801
  }
802
+ if (isStop) {
803
+ subscriptionHash = subscriptionHash + ':stop'; // we don't want to re-use the same subscription hash for stop orders
804
+ }
799
805
  const instId = (type === 'spot') ? marketId : 'default'; // different from other streams here the 'rest' id is required for spot markets, contract markets require default here
800
806
  const channel = isStop ? 'ordersAlgo' : 'orders';
801
807
  const args = {
@@ -837,7 +843,42 @@ class bitget extends bitget$1 {
837
843
  // ]
838
844
  // }
839
845
  //
846
+ // {
847
+ // action: 'snapshot',
848
+ // arg: { instType: 'umcbl', channel: 'ordersAlgo', instId: 'default' },
849
+ // data: [
850
+ // {
851
+ // actualPx: '55.000000000',
852
+ // actualSz: '0.000000000',
853
+ // cOid: '1104372235724890112',
854
+ // cTime: '1699028779917',
855
+ // eps: 'web',
856
+ // hM: 'double_hold',
857
+ // id: '1104372235724890113',
858
+ // instId: 'BTCUSDT_UMCBL',
859
+ // key: '1104372235724890113',
860
+ // ordPx: '55.000000000',
861
+ // ordType: 'limit',
862
+ // planType: 'pl',
863
+ // posSide: 'long',
864
+ // side: 'buy',
865
+ // state: 'not_trigger',
866
+ // sz: '3.557000000',
867
+ // tS: 'open_long',
868
+ // tgtCcy: 'USDT',
869
+ // triggerPx: '55.000000000',
870
+ // triggerPxType: 'last',
871
+ // triggerTime: '1699028779917',
872
+ // uTime: '1699028779917',
873
+ // userId: '3704614084',
874
+ // version: 1104372235586478100
875
+ // }
876
+ // ],
877
+ // ts: 1699028780327
878
+ // }
879
+ //
840
880
  const arg = this.safeValue(message, 'arg', {});
881
+ const channel = this.safeString(arg, 'channel');
841
882
  const instType = this.safeString(arg, 'instType');
842
883
  const sandboxMode = this.safeValue(this.options, 'sandboxMode', false);
843
884
  const isContractUpdate = (!sandboxMode) ? (instType === 'umcbl') : (instType === 'sumcbl');
@@ -845,8 +886,10 @@ class bitget extends bitget$1 {
845
886
  if (this.orders === undefined) {
846
887
  const limit = this.safeInteger(this.options, 'ordersLimit', 1000);
847
888
  this.orders = new Cache.ArrayCacheBySymbolById(limit);
889
+ this.triggerOrders = new Cache.ArrayCacheBySymbolById(limit);
848
890
  }
849
- const stored = this.orders;
891
+ const stored = (channel === 'ordersAlgo') ? this.triggerOrders : this.orders;
892
+ const messageHash = (channel === 'ordersAlgo') ? 'triggerOrder' : 'order';
850
893
  const marketSymbols = {};
851
894
  for (let i = 0; i < data.length; i++) {
852
895
  const order = data[i];
@@ -863,10 +906,10 @@ class bitget extends bitget$1 {
863
906
  const keys = Object.keys(marketSymbols);
864
907
  for (let i = 0; i < keys.length; i++) {
865
908
  const symbol = keys[i];
866
- const messageHash = 'order:' + symbol;
867
- client.resolve(stored, messageHash);
909
+ const innerMessageHash = messageHash + ':' + symbol;
910
+ client.resolve(stored, innerMessageHash);
868
911
  }
869
- client.resolve(stored, 'order');
912
+ client.resolve(stored, messageHash);
870
913
  }
871
914
  parseWsOrder(order, market = undefined) {
872
915
  //
@@ -22,18 +22,27 @@ class wazirx extends wazirx$1 {
22
22
  'has': {
23
23
  'CORS': false,
24
24
  'spot': true,
25
- 'margin': undefined,
25
+ 'margin': false,
26
26
  'swap': false,
27
27
  'future': false,
28
28
  'option': false,
29
+ 'addMargin': false,
30
+ 'borrowMargin': false,
29
31
  'cancelAllOrders': true,
30
32
  'cancelOrder': true,
31
33
  'createOrder': true,
34
+ 'createReduceOnlyOrder': false,
32
35
  'createStopLimitOrder': true,
33
36
  'createStopMarketOrder': true,
34
37
  'createStopOrder': true,
35
38
  'fetchBalance': true,
36
39
  'fetchBidsAsks': false,
40
+ 'fetchBorrowInterest': false,
41
+ 'fetchBorrowRate': false,
42
+ 'fetchBorrowRateHistories': false,
43
+ 'fetchBorrowRateHistory': false,
44
+ 'fetchBorrowRates': false,
45
+ 'fetchBorrowRatesPerSymbol': false,
37
46
  'fetchClosedOrders': false,
38
47
  'fetchCurrencies': false,
39
48
  'fetchDepositAddress': false,
@@ -45,7 +54,11 @@ class wazirx extends wazirx$1 {
45
54
  'fetchFundingRateHistory': false,
46
55
  'fetchFundingRates': false,
47
56
  'fetchIndexOHLCV': false,
57
+ 'fetchIsolatedPositions': false,
58
+ 'fetchLeverage': false,
59
+ 'fetchLeverageTiers': false,
48
60
  'fetchMarginMode': false,
61
+ 'fetchMarketLeverageTiers': false,
49
62
  'fetchMarkets': true,
50
63
  'fetchMarkOHLCV': false,
51
64
  'fetchMyTrades': false,
@@ -55,7 +68,10 @@ class wazirx extends wazirx$1 {
55
68
  'fetchOrder': false,
56
69
  'fetchOrderBook': true,
57
70
  'fetchOrders': true,
71
+ 'fetchPosition': false,
58
72
  'fetchPositionMode': false,
73
+ 'fetchPositions': false,
74
+ 'fetchPositionsRisk': false,
59
75
  'fetchPremiumIndexOHLCV': false,
60
76
  'fetchStatus': true,
61
77
  'fetchTicker': true,
@@ -68,6 +84,12 @@ class wazirx extends wazirx$1 {
68
84
  'fetchTransactions': false,
69
85
  'fetchTransfers': false,
70
86
  'fetchWithdrawals': false,
87
+ 'reduceMargin': false,
88
+ 'repayMargin': false,
89
+ 'setLeverage': false,
90
+ 'setMargin': false,
91
+ 'setMarginMode': false,
92
+ 'setPositionMode': false,
71
93
  'transfer': false,
72
94
  'withdraw': false,
73
95
  },
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 { Market, Trade, Fee, Ticker, OrderBook, Order, Transaction, Tickers, Currency, Balance, DepositAddress, WithdrawalResponse, DepositAddressResponse, OHLCV, Balances, PartialBalances, Dictionary, MinMax, Position, FundingRateHistory, Liquidation, FundingHistory } 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.1.35";
7
+ declare const version = "4.1.37";
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.1.36';
41
+ const version = '4.1.38';
42
42
  Exchange.ccxtVersion = version;
43
43
  //-----------------------------------------------------------------------------
44
44
  import ace from './src/ace.js';
@@ -257,6 +257,7 @@ interface Exchange {
257
257
  privateGetV5UserQueryApi(params?: {}): Promise<implicitReturnType>;
258
258
  privateGetV5UserGetMemberType(params?: {}): Promise<implicitReturnType>;
259
259
  privateGetV5UserAffCustomerInfo(params?: {}): Promise<implicitReturnType>;
260
+ privateGetV5UserDelSubmember(params?: {}): Promise<implicitReturnType>;
260
261
  privateGetV5SpotLeverTokenOrderRecord(params?: {}): Promise<implicitReturnType>;
261
262
  privateGetV5SpotMarginTradeState(params?: {}): Promise<implicitReturnType>;
262
263
  privateGetV5SpotCrossMarginTradeLoanInfo(params?: {}): Promise<implicitReturnType>;
@@ -5,40 +5,42 @@ interface Exchange {
5
5
  xreserveGetFee(params?: {}): Promise<implicitReturnType>;
6
6
  xreserveGetDelegatedTransactions(params?: {}): Promise<implicitReturnType>;
7
7
  xreservePostDelegateTransfer(params?: {}): Promise<implicitReturnType>;
8
- v4PrivateGetMe(params?: {}): Promise<implicitReturnType>;
9
- v4PrivateGetGetBalance(params?: {}): Promise<implicitReturnType>;
10
- v4PrivateGetActive(params?: {}): Promise<implicitReturnType>;
11
- v4PrivateGetOrderHistory(params?: {}): Promise<implicitReturnType>;
8
+ v4PrivateGetPrivateMe(params?: {}): Promise<implicitReturnType>;
9
+ v4PrivateGetPrivateGetBalance(params?: {}): Promise<implicitReturnType>;
10
+ v4PrivateGetOrderPrivateActive(params?: {}): Promise<implicitReturnType>;
11
+ v4PrivateGetOrderPrivateHistory(params?: {}): Promise<implicitReturnType>;
12
12
  v4PrivateGetOrderPrivateIdTrades(params?: {}): Promise<implicitReturnType>;
13
- v4PrivateGetOrderDetailsIdWithTradesWithTrades(params?: {}): Promise<implicitReturnType>;
14
- v4PrivateGetTradeHistory(params?: {}): Promise<implicitReturnType>;
15
- v4PrivateGetTransactionHash(params?: {}): Promise<implicitReturnType>;
16
- v4PrivateGetDepositPreRequest(params?: {}): Promise<implicitReturnType>;
17
- v4PrivateGetDepositCryptoAddress(params?: {}): Promise<implicitReturnType>;
18
- v4PrivateGetDepositCryptoGetMerchantAddress(params?: {}): Promise<implicitReturnType>;
19
- v4PrivateGetDepositHistory(params?: {}): Promise<implicitReturnType>;
20
- v4PrivateGetDepositDetailsDepositId(params?: {}): Promise<implicitReturnType>;
21
- v4PrivateGetWithdrawPreRequest(params?: {}): Promise<implicitReturnType>;
22
- v4PrivateGetWithdrawHistory(params?: {}): Promise<implicitReturnType>;
23
- v4PrivateGetWithdrawDetailsWithdrawId(params?: {}): Promise<implicitReturnType>;
13
+ v4PrivateGetOrderPrivateDetailsId(params?: {}): Promise<implicitReturnType>;
14
+ v4PrivateGetTradePrivateHistory(params?: {}): Promise<implicitReturnType>;
15
+ v4PrivateGetTransactionPrivateHash(params?: {}): Promise<implicitReturnType>;
16
+ v4PrivateGetDepositPrivatePreRequest(params?: {}): Promise<implicitReturnType>;
17
+ v4PrivateGetDepositPrivateCryptoAddress(params?: {}): Promise<implicitReturnType>;
18
+ v4PrivateGetDepositPrivateCryptoGetMerchantAddress(params?: {}): Promise<implicitReturnType>;
19
+ v4PrivateGetDepositPrivateHistory(params?: {}): Promise<implicitReturnType>;
20
+ v4PrivateGetDepositPrivateDetailsDepositId(params?: {}): Promise<implicitReturnType>;
21
+ v4PrivateGetWithdrawPrivatePreRequest(params?: {}): Promise<implicitReturnType>;
22
+ v4PrivateGetWithdrawPrivateHistory(params?: {}): Promise<implicitReturnType>;
23
+ v4PrivateGetWithdrawPrivateDetailsWithdrawId(params?: {}): Promise<implicitReturnType>;
24
24
  v4PrivateGetKunaCodeId(params?: {}): Promise<implicitReturnType>;
25
25
  v4PrivateGetKunaCodeCodeCheck(params?: {}): Promise<implicitReturnType>;
26
26
  v4PrivateGetKunaCodeIssuedByMe(params?: {}): Promise<implicitReturnType>;
27
27
  v4PrivateGetKunaCodeRedeemedByMe(params?: {}): Promise<implicitReturnType>;
28
- v4PrivatePostOrderCreate(params?: {}): Promise<implicitReturnType>;
29
- v4PrivatePostOrderCancel(params?: {}): Promise<implicitReturnType>;
30
- v4PrivatePostOrderCancelMulti(params?: {}): Promise<implicitReturnType>;
31
- v4PrivatePostDepositCryptoGenerateAddress(params?: {}): Promise<implicitReturnType>;
32
- v4PrivatePostDepositCryptoGenerateMerchantAddress(params?: {}): Promise<implicitReturnType>;
33
- v4PrivatePostWithdrawCreate(params?: {}): Promise<implicitReturnType>;
28
+ v4PrivatePostOrderPrivateCreate(params?: {}): Promise<implicitReturnType>;
29
+ v4PrivatePostOrderPrivateCancel(params?: {}): Promise<implicitReturnType>;
30
+ v4PrivatePostOrderPrivateCancelMulti(params?: {}): Promise<implicitReturnType>;
31
+ v4PrivatePostDepositPrivateCryptoGenerateAddress(params?: {}): Promise<implicitReturnType>;
32
+ v4PrivatePostDepositPrivateCryptoGenerateMerchantAddress(params?: {}): Promise<implicitReturnType>;
33
+ v4PrivatePostWithdrawPrivateCreate(params?: {}): Promise<implicitReturnType>;
34
34
  v4PrivatePostKunaCode(params?: {}): Promise<implicitReturnType>;
35
35
  v4PrivatePutKunaCodeRedeem(params?: {}): Promise<implicitReturnType>;
36
- v4PublicGetTimestamp(params?: {}): Promise<implicitReturnType>;
37
- v4PublicGetFees(params?: {}): Promise<implicitReturnType>;
38
- v4PublicGetCurrenciesTypeType(params?: {}): Promise<implicitReturnType>;
39
- v4PublicGetMarketsGetAll(params?: {}): Promise<implicitReturnType>;
40
- v4PublicGetMarketsTickersPairsPairs(params?: {}): Promise<implicitReturnType>;
41
- v4PublicGetOrderBookPairs(params?: {}): Promise<implicitReturnType>;
36
+ v4PublicGetPublicTimestamp(params?: {}): Promise<implicitReturnType>;
37
+ v4PublicGetPublicFees(params?: {}): Promise<implicitReturnType>;
38
+ v4PublicGetPublicCurrenciesTypeType(params?: {}): Promise<implicitReturnType>;
39
+ v4PublicGetPublicCurrencies(params?: {}): Promise<implicitReturnType>;
40
+ v4PublicGetMarketsPublicGetAll(params?: {}): Promise<implicitReturnType>;
41
+ v4PublicGetMarketsPublicTickersPairsPairs(params?: {}): Promise<implicitReturnType>;
42
+ v4PublicGetOrderPublicBookPairs(params?: {}): Promise<implicitReturnType>;
43
+ v4PublicGetTradePublicBookPairs(params?: {}): Promise<implicitReturnType>;
42
44
  v3PublicGetTimestamp(params?: {}): Promise<implicitReturnType>;
43
45
  v3PublicGetCurrencies(params?: {}): Promise<implicitReturnType>;
44
46
  v3PublicGetMarkets(params?: {}): Promise<implicitReturnType>;
package/js/src/ace.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/ace.js';
2
- import { Int, OrderSide, OrderType } from './base/types.js';
2
+ import { Int, OHLCV, Order, OrderSide, OrderType } from './base/types.js';
3
3
  /**
4
4
  * @class ace
5
5
  * @extends Exchange
@@ -11,14 +11,14 @@ export default class ace extends Exchange {
11
11
  fetchTicker(symbol: string, params?: {}): Promise<import("./base/types.js").Ticker>;
12
12
  fetchTickers(symbols?: string[], params?: {}): Promise<import("./base/types.js").Dictionary<import("./base/types.js").Ticker>>;
13
13
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<import("./base/types.js").OrderBook>;
14
- parseOHLCV(ohlcv: any, market?: any): number[];
15
- fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").OHLCV[]>;
14
+ parseOHLCV(ohlcv: any, market?: any): OHLCV;
15
+ fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
16
16
  parseOrderStatus(status: any): string;
17
- parseOrder(order: any, market?: any): import("./base/types.js").Order;
18
- createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<import("./base/types.js").Order>;
17
+ parseOrder(order: any, market?: any): Order;
18
+ createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
19
19
  cancelOrder(id: string, symbol?: string, params?: {}): Promise<any>;
20
- fetchOrder(id: string, symbol?: string, params?: {}): Promise<import("./base/types.js").Order>;
21
- fetchOpenOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").Order[]>;
20
+ fetchOrder(id: string, symbol?: string, params?: {}): Promise<Order>;
21
+ fetchOpenOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
22
22
  parseTrade(trade: any, market?: any): import("./base/types.js").Trade;
23
23
  fetchOrderTrades(id: string, symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").Trade[]>;
24
24
  fetchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").Trade[]>;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/alpaca.js';
2
- import { Int, OrderSide, OrderType } from './base/types.js';
2
+ import { Int, OHLCV, Order, OrderSide, OrderType } from './base/types.js';
3
3
  /**
4
4
  * @class alpaca
5
5
  * @extends Exchange
@@ -9,13 +9,13 @@ export default class alpaca extends Exchange {
9
9
  fetchMarkets(params?: {}): Promise<any[]>;
10
10
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").Trade[]>;
11
11
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<import("./base/types.js").OrderBook>;
12
- fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").OHLCV[]>;
13
- parseOHLCV(ohlcv: any, market?: any): number[];
14
- createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<import("./base/types.js").Order>;
12
+ fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
13
+ parseOHLCV(ohlcv: any, market?: any): OHLCV;
14
+ createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
15
15
  cancelOrder(id: string, symbol?: string, params?: {}): Promise<any>;
16
- fetchOrder(id: string, symbol?: string, params?: {}): Promise<import("./base/types.js").Order>;
17
- fetchOpenOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").Order[]>;
18
- parseOrder(order: any, market?: any): import("./base/types.js").Order;
16
+ fetchOrder(id: string, symbol?: string, params?: {}): Promise<Order>;
17
+ fetchOpenOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
18
+ parseOrder(order: any, market?: any): Order;
19
19
  parseOrderStatus(status: any): string;
20
20
  parseTimeInForce(timeInForce: any): string;
21
21
  parseTrade(trade: any, market?: any): import("./base/types.js").Trade;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/ascendex.js';
2
- import { FundingHistory, Int, Order, OrderSide, OrderType } from './base/types.js';
2
+ import { FundingHistory, Int, OHLCV, Order, OrderSide, OrderType } from './base/types.js';
3
3
  /**
4
4
  * @class ascendex
5
5
  * @extends Exchange
@@ -24,8 +24,8 @@ export default class ascendex extends Exchange {
24
24
  parseTicker(ticker: any, market?: any): import("./base/types.js").Ticker;
25
25
  fetchTicker(symbol: string, params?: {}): Promise<import("./base/types.js").Ticker>;
26
26
  fetchTickers(symbols?: string[], params?: {}): Promise<import("./base/types.js").Dictionary<import("./base/types.js").Ticker>>;
27
- parseOHLCV(ohlcv: any, market?: any): number[];
28
- fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").OHLCV[]>;
27
+ parseOHLCV(ohlcv: any, market?: any): OHLCV;
28
+ fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
29
29
  parseTrade(trade: any, market?: any): import("./base/types.js").Trade;
30
30
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").Trade[]>;
31
31
  parseOrderStatus(status: any): string;
@@ -569,7 +569,7 @@ export default class Exchange {
569
569
  parseWsTrade(trade: any, market?: any): Trade;
570
570
  parseWsOrder(order: any, market?: any): Order;
571
571
  parseWsOrderTrade(trade: any, market?: any): Trade;
572
- parseWsOHLCV(ohlcv: any, market?: any): any;
572
+ parseWsOHLCV(ohlcv: any, market?: any): OHLCV;
573
573
  fetchFundingRates(symbols?: string[], params?: {}): Promise<any>;
574
574
  transfer(code: string, amount: any, fromAccount: any, toAccount: any, params?: {}): Promise<any>;
575
575
  withdraw(code: string, amount: any, address: any, tag?: any, params?: {}): Promise<any>;
@@ -620,6 +620,7 @@ export default class Exchange {
620
620
  rate: number;
621
621
  cost: number;
622
622
  };
623
+ safeLiquidation(liquidation: object, market?: object): Liquidation;
623
624
  safeTrade(trade: object, market?: object): Trade;
624
625
  invertFlatStringDictionary(dict: any): {};
625
626
  reduceFeesByCurrency(fees: any): any[];
@@ -635,7 +636,7 @@ export default class Exchange {
635
636
  parseBidsAsks(bidasks: any, priceKey?: IndexType, amountKey?: IndexType): any[];
636
637
  fetchL2OrderBook(symbol: string, limit?: Int, params?: {}): Promise<any>;
637
638
  filterBySymbol(objects: any, symbol?: string): any;
638
- parseOHLCV(ohlcv: any, market?: any): any;
639
+ parseOHLCV(ohlcv: any, market?: any): OHLCV;
639
640
  networkCodeToId(networkCode: any, currencyCode?: any): string;
640
641
  networkIdToCode(networkId: any, currencyCode?: any): string;
641
642
  handleNetworkCodeAndParams(params: any): any[];
@@ -2099,6 +2099,25 @@ export default class Exchange {
2099
2099
  'cost': this.parseNumber(cost),
2100
2100
  };
2101
2101
  }
2102
+ safeLiquidation(liquidation, market = undefined) {
2103
+ const contracts = this.safeString(liquidation, 'contracts');
2104
+ const contractSize = this.safeString(market, 'contractSize');
2105
+ const price = this.safeString(liquidation, 'price');
2106
+ let baseValue = this.safeString(liquidation, 'baseValue');
2107
+ let quoteValue = this.safeString(liquidation, 'quoteValue');
2108
+ if ((baseValue === undefined) && (contracts !== undefined) && (contractSize !== undefined) && (price !== undefined)) {
2109
+ baseValue = Precise.stringMul(contracts, contractSize);
2110
+ }
2111
+ if ((quoteValue === undefined) && (baseValue !== undefined) && (price !== undefined)) {
2112
+ quoteValue = Precise.stringMul(baseValue, price);
2113
+ }
2114
+ liquidation['contracts'] = this.parseNumber(contracts);
2115
+ liquidation['contractSize'] = this.parseNumber(contractSize);
2116
+ liquidation['price'] = this.parseNumber(price);
2117
+ liquidation['baseValue'] = this.parseNumber(baseValue);
2118
+ liquidation['quoteValue'] = this.parseNumber(quoteValue);
2119
+ return liquidation;
2120
+ }
2102
2121
  safeTrade(trade, market = undefined) {
2103
2122
  const amount = this.safeString(trade, 'amount');
2104
2123
  const price = this.safeString(trade, 'price');
@@ -17,7 +17,6 @@ declare const errorHierarchy: {
17
17
  BadResponse: {
18
18
  NullResponse: {};
19
19
  };
20
- OperationFailed: {};
21
20
  InsufficientFunds: {};
22
21
  InvalidAddress: {
23
22
  AddressPending: {};
@@ -42,6 +41,7 @@ declare const errorHierarchy: {
42
41
  };
43
42
  InvalidNonce: {};
44
43
  RequestTimeout: {};
44
+ OperationFailed: {};
45
45
  };
46
46
  };
47
47
  };
@@ -23,7 +23,6 @@ const errorHierarchy = {
23
23
  'BadResponse': {
24
24
  'NullResponse': {},
25
25
  },
26
- 'OperationFailed': {},
27
26
  'InsufficientFunds': {},
28
27
  'InvalidAddress': {
29
28
  'AddressPending': {},
@@ -48,6 +47,7 @@ const errorHierarchy = {
48
47
  },
49
48
  'InvalidNonce': {},
50
49
  'RequestTimeout': {},
50
+ 'OperationFailed': {},
51
51
  },
52
52
  },
53
53
  };
@@ -4,9 +4,6 @@ declare class BaseError extends Error {
4
4
  declare class ExchangeError extends Error {
5
5
  constructor(message: any);
6
6
  }
7
- declare class OperationFailed extends ExchangeError {
8
- constructor(message: any);
9
- }
10
7
  declare class AuthenticationError extends ExchangeError {
11
8
  constructor(message: any);
12
9
  }
@@ -100,6 +97,9 @@ declare class InvalidNonce extends NetworkError {
100
97
  declare class RequestTimeout extends NetworkError {
101
98
  constructor(message: any);
102
99
  }
100
+ declare class OperationFailed extends NetworkError {
101
+ constructor(message: any);
102
+ }
103
103
  declare const errors: {
104
104
  BaseError: typeof BaseError;
105
105
  ExchangeError: typeof ExchangeError;
@@ -48,12 +48,6 @@ class ExchangeError extends Error {
48
48
  this.name = 'ExchangeError';
49
49
  }
50
50
  }
51
- class OperationFailed extends ExchangeError {
52
- constructor(message) {
53
- super(message);
54
- this.name = 'OperationFailed';
55
- }
56
- }
57
51
  class AuthenticationError extends ExchangeError {
58
52
  constructor(message) {
59
53
  super(message);
@@ -241,6 +235,12 @@ class RequestTimeout extends NetworkError {
241
235
  this.name = 'RequestTimeout';
242
236
  }
243
237
  }
238
+ class OperationFailed extends NetworkError {
239
+ constructor(message) {
240
+ super(message);
241
+ this.name = 'OperationFailed';
242
+ }
243
+ }
244
244
  /* ------------------------------------------------------------------------ */
245
245
  // export default subclass (
246
246
  // // Root class
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/bigone.js';
2
- import { Int, OrderSide, OrderType } from './base/types.js';
2
+ import { Int, OHLCV, Order, OrderSide, OrderType } from './base/types.js';
3
3
  /**
4
4
  * @class bigone
5
5
  * @extends Exchange
@@ -16,21 +16,21 @@ export default class bigone extends Exchange {
16
16
  fetchOrderBook(symbol: string, limit?: Int, params?: {}): Promise<import("./base/types.js").OrderBook>;
17
17
  parseTrade(trade: any, market?: any): import("./base/types.js").Trade;
18
18
  fetchTrades(symbol: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").Trade[]>;
19
- parseOHLCV(ohlcv: any, market?: any): number[];
20
- fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").OHLCV[]>;
19
+ parseOHLCV(ohlcv: any, market?: any): OHLCV;
20
+ fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
21
21
  parseBalance(response: any): import("./base/types.js").Balances;
22
22
  fetchBalance(params?: {}): Promise<import("./base/types.js").Balances>;
23
23
  parseType(type: string): string;
24
- parseOrder(order: any, market?: any): import("./base/types.js").Order;
25
- createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<import("./base/types.js").Order>;
26
- cancelOrder(id: string, symbol?: string, params?: {}): Promise<import("./base/types.js").Order>;
24
+ parseOrder(order: any, market?: any): Order;
25
+ createOrder(symbol: string, type: OrderType, side: OrderSide, amount: any, price?: any, params?: {}): Promise<Order>;
26
+ cancelOrder(id: string, symbol?: string, params?: {}): Promise<Order>;
27
27
  cancelAllOrders(symbol?: string, params?: {}): Promise<any>;
28
- fetchOrder(id: string, symbol?: string, params?: {}): Promise<import("./base/types.js").Order>;
29
- fetchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").Order[]>;
28
+ fetchOrder(id: string, symbol?: string, params?: {}): Promise<Order>;
29
+ fetchOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
30
30
  fetchMyTrades(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").Trade[]>;
31
31
  parseOrderStatus(status: any): string;
32
- fetchOpenOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").Order[]>;
33
- fetchClosedOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<import("./base/types.js").Order[]>;
32
+ fetchOpenOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
33
+ fetchClosedOrders(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
34
34
  nonce(): any;
35
35
  sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
36
36
  url: string;
@@ -1,5 +1,5 @@
1
1
  import Exchange from './abstract/binance.js';
2
- import { Market, Int, OrderSide, Balances, OrderType, Trade, OHLCV, Order, FundingRateHistory, OpenInterest, Liquidation, OrderRequest } from './base/types.js';
2
+ import { Int, OrderSide, Balances, OrderType, Trade, OHLCV, Order, FundingRateHistory, OpenInterest, Liquidation, OrderRequest } from './base/types.js';
3
3
  /**
4
4
  * @class binance
5
5
  * @extends Exchange
@@ -10,8 +10,51 @@ export default class binance extends Exchange {
10
10
  isLinear(type: any, subType?: any): boolean;
11
11
  setSandboxMode(enable: any): void;
12
12
  convertExpireDate(date: any): string;
13
- createExpiredOptionMarket(symbol: any): Market;
14
- market(symbol: any): Market;
13
+ createExpiredOptionMarket(symbol: any): {
14
+ id: string;
15
+ symbol: string;
16
+ base: any;
17
+ quote: string;
18
+ baseId: any;
19
+ quoteId: string;
20
+ active: any;
21
+ type: string;
22
+ linear: any;
23
+ inverse: any;
24
+ spot: boolean;
25
+ swap: boolean;
26
+ future: boolean;
27
+ option: boolean;
28
+ margin: boolean;
29
+ contract: boolean;
30
+ contractSize: any;
31
+ expiry: number;
32
+ expiryDatetime: string;
33
+ optionType: string;
34
+ strike: number;
35
+ settle: string;
36
+ settleId: string;
37
+ precision: {
38
+ amount: any;
39
+ price: any;
40
+ };
41
+ limits: {
42
+ amount: {
43
+ min: any;
44
+ max: any;
45
+ };
46
+ price: {
47
+ min: any;
48
+ max: any;
49
+ };
50
+ cost: {
51
+ min: any;
52
+ max: any;
53
+ };
54
+ };
55
+ info: any;
56
+ };
57
+ market(symbol: any): any;
15
58
  safeMarket(marketId?: any, market?: any, delimiter?: any, marketType?: any): any;
16
59
  costToPrecision(symbol: any, cost: any): any;
17
60
  currencyToPrecision(code: any, fee: any, networkCode?: any): any;
@@ -97,7 +140,7 @@ export default class binance extends Exchange {
97
140
  info: any;
98
141
  };
99
142
  fetchTickers(symbols?: string[], params?: {}): Promise<import("./base/types.js").Dictionary<import("./base/types.js").Ticker>>;
100
- parseOHLCV(ohlcv: any, market?: any): number[];
143
+ parseOHLCV(ohlcv: any, market?: any): OHLCV;
101
144
  fetchOHLCV(symbol: string, timeframe?: string, since?: Int, limit?: Int, params?: {}): Promise<OHLCV[]>;
102
145
  parseTrade(trade: any, market?: any): Trade | {
103
146
  id: any;
@@ -499,15 +542,5 @@ export default class binance extends Exchange {
499
542
  fetchOpenInterest(symbol: string, params?: {}): Promise<OpenInterest>;
500
543
  parseOpenInterest(interest: any, market?: any): OpenInterest;
501
544
  fetchMyLiquidations(symbol?: string, since?: Int, limit?: Int, params?: {}): Promise<Liquidation[]>;
502
- parseLiquidation(liquidation: any, market?: any): {
503
- info: any;
504
- symbol: any;
505
- contracts: number;
506
- contractSize: number;
507
- price: number;
508
- baseValue: number;
509
- quoteValue: number;
510
- timestamp: number;
511
- datetime: string;
512
- };
545
+ parseLiquidation(liquidation: any, market?: any): Liquidation;
513
546
  }
package/js/src/binance.js CHANGED
@@ -9524,7 +9524,7 @@ export default class binance extends Exchange {
9524
9524
  //
9525
9525
  const marketId = this.safeString(liquidation, 'symbol');
9526
9526
  const timestamp = this.safeInteger2(liquidation, 'updatedTime', 'updateTime');
9527
- return {
9527
+ return this.safeLiquidation({
9528
9528
  'info': liquidation,
9529
9529
  'symbol': this.safeSymbol(marketId, market),
9530
9530
  'contracts': this.safeNumber(liquidation, 'executedQty'),
@@ -9534,6 +9534,6 @@ export default class binance extends Exchange {
9534
9534
  'quoteValue': this.safeNumber(liquidation, 'cumQuote'),
9535
9535
  'timestamp': timestamp,
9536
9536
  'datetime': this.iso8601(timestamp),
9537
- };
9537
+ });
9538
9538
  }
9539
9539
  }