ccxt 4.4.39 → 4.4.40

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 (185) hide show
  1. package/README.md +3 -3
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/ascendex.js +9 -9
  5. package/dist/cjs/src/base/Exchange.js +12 -18
  6. package/dist/cjs/src/binance.js +13 -19
  7. package/dist/cjs/src/bingx.js +1 -2
  8. package/dist/cjs/src/bit2c.js +0 -1
  9. package/dist/cjs/src/bitbank.js +0 -1
  10. package/dist/cjs/src/bitbns.js +0 -1
  11. package/dist/cjs/src/bitfinex.js +17 -18
  12. package/dist/cjs/src/bitfinex1.js +0 -1
  13. package/dist/cjs/src/bitflyer.js +0 -1
  14. package/dist/cjs/src/bitget.js +1 -2
  15. package/dist/cjs/src/bithumb.js +0 -1
  16. package/dist/cjs/src/bitmart.js +3 -4
  17. package/dist/cjs/src/bitmex.js +5 -6
  18. package/dist/cjs/src/bitopro.js +4 -5
  19. package/dist/cjs/src/bitrue.js +5 -7
  20. package/dist/cjs/src/bitso.js +1 -2
  21. package/dist/cjs/src/bitstamp.js +1 -2
  22. package/dist/cjs/src/bitteam.js +1 -3
  23. package/dist/cjs/src/bitvavo.js +2 -4
  24. package/dist/cjs/src/blockchaincom.js +5 -5
  25. package/dist/cjs/src/blofin.js +10 -10
  26. package/dist/cjs/src/btcalpha.js +0 -1
  27. package/dist/cjs/src/btcbox.js +0 -1
  28. package/dist/cjs/src/btcmarkets.js +1 -3
  29. package/dist/cjs/src/bybit.js +2 -3
  30. package/dist/cjs/src/cex.js +1 -1
  31. package/dist/cjs/src/coinbase.js +77 -1
  32. package/dist/cjs/src/coinbaseexchange.js +1 -1
  33. package/dist/cjs/src/coinbaseinternational.js +62 -0
  34. package/dist/cjs/src/coincatch.js +1 -1
  35. package/dist/cjs/src/coinex.js +9 -9
  36. package/dist/cjs/src/coinlist.js +1 -1
  37. package/dist/cjs/src/coinmetro.js +1 -1
  38. package/dist/cjs/src/cryptocom.js +91 -2
  39. package/dist/cjs/src/currencycom.js +1 -1
  40. package/dist/cjs/src/defx.js +1 -2
  41. package/dist/cjs/src/delta.js +1 -1
  42. package/dist/cjs/src/digifinex.js +1 -1
  43. package/dist/cjs/src/exmo.js +2 -2
  44. package/dist/cjs/src/gate.js +1 -1
  45. package/dist/cjs/src/hashkey.js +3 -5
  46. package/dist/cjs/src/htx.js +1 -1
  47. package/dist/cjs/src/hyperliquid.js +1 -1
  48. package/dist/cjs/src/kraken.js +1 -1
  49. package/dist/cjs/src/kucoin.js +24 -24
  50. package/dist/cjs/src/luno.js +1 -1
  51. package/dist/cjs/src/mexc.js +138 -2
  52. package/dist/cjs/src/ndax.js +1 -1
  53. package/dist/cjs/src/okcoin.js +18 -18
  54. package/dist/cjs/src/okx.js +21 -21
  55. package/dist/cjs/src/phemex.js +12 -8
  56. package/dist/cjs/src/poloniex.js +1 -1
  57. package/dist/cjs/src/poloniexfutures.js +6 -6
  58. package/dist/cjs/src/pro/bitget.js +1 -1
  59. package/dist/cjs/src/pro/bybit.js +13 -1
  60. package/dist/cjs/src/pro/coinex.js +2 -2
  61. package/dist/cjs/src/pro/gate.js +6 -6
  62. package/dist/cjs/src/pro/kucoin.js +3 -3
  63. package/dist/cjs/src/pro/okx.js +11 -11
  64. package/dist/cjs/src/pro/upbit.js +3 -3
  65. package/dist/cjs/src/vertex.js +11 -11
  66. package/dist/cjs/src/woo.js +33 -33
  67. package/dist/cjs/src/woofipro.js +24 -24
  68. package/dist/cjs/src/xt.js +26 -26
  69. package/dist/cjs/src/zonda.js +1 -1
  70. package/js/ccxt.d.ts +1 -1
  71. package/js/ccxt.js +1 -1
  72. package/js/src/ascendex.d.ts +2 -2
  73. package/js/src/ascendex.js +9 -9
  74. package/js/src/base/Exchange.js +12 -18
  75. package/js/src/binance.d.ts +9 -9
  76. package/js/src/binance.js +13 -19
  77. package/js/src/bingx.d.ts +1 -1
  78. package/js/src/bingx.js +1 -2
  79. package/js/src/bit2c.js +0 -1
  80. package/js/src/bitbank.js +0 -1
  81. package/js/src/bitbns.js +0 -1
  82. package/js/src/bitfinex.d.ts +3 -3
  83. package/js/src/bitfinex.js +17 -18
  84. package/js/src/bitfinex1.js +0 -1
  85. package/js/src/bitflyer.js +0 -1
  86. package/js/src/bitget.d.ts +1 -1
  87. package/js/src/bitget.js +1 -2
  88. package/js/src/bithumb.js +0 -1
  89. package/js/src/bitmart.d.ts +1 -1
  90. package/js/src/bitmart.js +3 -4
  91. package/js/src/bitmex.d.ts +1 -1
  92. package/js/src/bitmex.js +5 -6
  93. package/js/src/bitopro.js +4 -5
  94. package/js/src/bitrue.js +5 -7
  95. package/js/src/bitso.d.ts +1 -1
  96. package/js/src/bitso.js +1 -2
  97. package/js/src/bitstamp.d.ts +1 -1
  98. package/js/src/bitstamp.js +1 -2
  99. package/js/src/bitteam.js +1 -3
  100. package/js/src/bitvavo.d.ts +1 -1
  101. package/js/src/bitvavo.js +2 -4
  102. package/js/src/blockchaincom.js +5 -5
  103. package/js/src/blofin.d.ts +3 -3
  104. package/js/src/blofin.js +10 -10
  105. package/js/src/btcalpha.js +0 -1
  106. package/js/src/btcbox.js +0 -1
  107. package/js/src/btcmarkets.js +1 -3
  108. package/js/src/bybit.d.ts +1 -1
  109. package/js/src/bybit.js +2 -3
  110. package/js/src/cex.d.ts +1 -1
  111. package/js/src/cex.js +1 -1
  112. package/js/src/coinbase.d.ts +1 -1
  113. package/js/src/coinbase.js +77 -1
  114. package/js/src/coinbaseexchange.d.ts +1 -1
  115. package/js/src/coinbaseexchange.js +1 -1
  116. package/js/src/coinbaseinternational.js +62 -0
  117. package/js/src/coincatch.d.ts +1 -1
  118. package/js/src/coincatch.js +1 -1
  119. package/js/src/coinex.js +9 -9
  120. package/js/src/coinlist.d.ts +1 -1
  121. package/js/src/coinlist.js +1 -1
  122. package/js/src/coinmetro.d.ts +1 -1
  123. package/js/src/coinmetro.js +1 -1
  124. package/js/src/cryptocom.d.ts +2 -2
  125. package/js/src/cryptocom.js +91 -2
  126. package/js/src/currencycom.d.ts +1 -1
  127. package/js/src/currencycom.js +1 -1
  128. package/js/src/defx.d.ts +1 -2
  129. package/js/src/defx.js +1 -2
  130. package/js/src/delta.d.ts +1 -1
  131. package/js/src/delta.js +1 -1
  132. package/js/src/digifinex.d.ts +1 -1
  133. package/js/src/digifinex.js +1 -1
  134. package/js/src/exmo.js +2 -2
  135. package/js/src/gate.d.ts +1 -1
  136. package/js/src/gate.js +1 -1
  137. package/js/src/hashkey.d.ts +1 -1
  138. package/js/src/hashkey.js +3 -5
  139. package/js/src/htx.d.ts +1 -1
  140. package/js/src/htx.js +1 -1
  141. package/js/src/hyperliquid.d.ts +1 -1
  142. package/js/src/hyperliquid.js +1 -1
  143. package/js/src/kraken.d.ts +1 -1
  144. package/js/src/kraken.js +1 -1
  145. package/js/src/kucoin.d.ts +13 -13
  146. package/js/src/kucoin.js +24 -24
  147. package/js/src/luno.d.ts +1 -1
  148. package/js/src/luno.js +1 -1
  149. package/js/src/mexc.d.ts +1 -2
  150. package/js/src/mexc.js +138 -2
  151. package/js/src/ndax.d.ts +1 -1
  152. package/js/src/ndax.js +1 -1
  153. package/js/src/okcoin.d.ts +4 -4
  154. package/js/src/okcoin.js +18 -18
  155. package/js/src/okx.d.ts +3 -3
  156. package/js/src/okx.js +21 -21
  157. package/js/src/phemex.js +12 -8
  158. package/js/src/poloniex.d.ts +1 -1
  159. package/js/src/poloniex.js +1 -1
  160. package/js/src/poloniexfutures.d.ts +1 -1
  161. package/js/src/poloniexfutures.js +6 -6
  162. package/js/src/pro/bitget.d.ts +1 -1
  163. package/js/src/pro/bitget.js +1 -1
  164. package/js/src/pro/bybit.d.ts +1 -1
  165. package/js/src/pro/bybit.js +13 -1
  166. package/js/src/pro/coinex.js +2 -2
  167. package/js/src/pro/gate.d.ts +2 -2
  168. package/js/src/pro/gate.js +6 -6
  169. package/js/src/pro/kucoin.d.ts +1 -1
  170. package/js/src/pro/kucoin.js +3 -3
  171. package/js/src/pro/okx.d.ts +2 -2
  172. package/js/src/pro/okx.js +11 -11
  173. package/js/src/pro/upbit.d.ts +3 -3
  174. package/js/src/pro/upbit.js +3 -3
  175. package/js/src/vertex.d.ts +3 -3
  176. package/js/src/vertex.js +11 -11
  177. package/js/src/woo.d.ts +7 -7
  178. package/js/src/woo.js +33 -33
  179. package/js/src/woofipro.d.ts +1 -1
  180. package/js/src/woofipro.js +24 -24
  181. package/js/src/xt.d.ts +7 -7
  182. package/js/src/xt.js +26 -26
  183. package/js/src/zonda.d.ts +1 -1
  184. package/js/src/zonda.js +1 -1
  185. package/package.json +1 -1
@@ -2643,7 +2643,7 @@ class digifinex extends digifinex$1 {
2643
2643
  * @param {int} [since] timestamp in ms of the earliest ledger entry, default is undefined
2644
2644
  * @param {int} [limit] max number of ledger entries to return, default is undefined
2645
2645
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2646
- * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger-structure}
2646
+ * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
2647
2647
  */
2648
2648
  async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
2649
2649
  await this.loadMarkets();
@@ -1540,7 +1540,7 @@ class exmo extends exmo$1 {
1540
1540
  async cancelOrder(id, symbol = undefined, params = {}) {
1541
1541
  await this.loadMarkets();
1542
1542
  const request = {};
1543
- const stop = this.safeValue2(params, 'trigger', 'stop');
1543
+ const trigger = this.safeValue2(params, 'trigger', 'stop');
1544
1544
  params = this.omit(params, ['trigger', 'stop']);
1545
1545
  let marginMode = undefined;
1546
1546
  [marginMode, params] = this.handleMarginModeAndParams('cancelOrder', params);
@@ -1556,7 +1556,7 @@ class exmo extends exmo$1 {
1556
1556
  //
1557
1557
  }
1558
1558
  else {
1559
- if (stop) {
1559
+ if (trigger) {
1560
1560
  request['parent_order_id'] = id;
1561
1561
  response = await this.privatePostStopMarketOrderCancel(this.extend(request, params));
1562
1562
  //
@@ -7122,7 +7122,7 @@ class gate extends gate$1 {
7122
7122
  * @param {object} [params] extra parameters specific to the exchange API endpoint
7123
7123
  * @param {int} [params.until] end time in ms
7124
7124
  * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
7125
- * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger-structure}
7125
+ * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
7126
7126
  */
7127
7127
  async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
7128
7128
  await this.loadMarkets();
@@ -2238,7 +2238,7 @@ class hashkey extends hashkey$1 {
2238
2238
  * @param {int} [params.until] the latest time in ms to fetch entries for
2239
2239
  * @param {int} [params.flowType] trade, fee, transfer, deposit, withdrawal
2240
2240
  * @param {int} [params.accountType] spot, swap, custody
2241
- * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger-structure}
2241
+ * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
2242
2242
  */
2243
2243
  async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
2244
2244
  const methodName = 'fetchLedger';
@@ -3479,10 +3479,8 @@ class hashkey extends hashkey$1 {
3479
3479
  }
3480
3480
  }
3481
3481
  handleTriggerOptionAndParams(params, methodName, defaultValue = undefined) {
3482
- let isStop = defaultValue;
3483
- [isStop, params] = this.handleOptionAndParams(params, methodName, 'stop', isStop);
3484
- let isTrigger = isStop;
3485
- [isTrigger, params] = this.handleOptionAndParams(params, methodName, 'trigger', isTrigger);
3482
+ let isTrigger = defaultValue;
3483
+ [isTrigger, params] = this.handleOptionAndParams2(params, methodName, 'stop', 'trigger', isTrigger);
3486
3484
  return [isTrigger, params];
3487
3485
  }
3488
3486
  parseOrder(order, market = undefined) {
@@ -8386,7 +8386,7 @@ class htx extends htx$1 {
8386
8386
  * @param {object} [params] extra parameters specific to the exchange API endpoint
8387
8387
  * @param {int} [params.until] the latest time in ms to fetch entries for
8388
8388
  * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
8389
- * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger-structure}
8389
+ * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
8390
8390
  */
8391
8391
  async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
8392
8392
  await this.loadMarkets();
@@ -3079,7 +3079,7 @@ class hyperliquid extends hyperliquid$1 {
3079
3079
  * @param {int} [limit] max number of ledger entries to return
3080
3080
  * @param {object} [params] extra parameters specific to the exchange API endpoint
3081
3081
  * @param {int} [params.until] timestamp in ms of the latest ledger entry
3082
- * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger-structure}
3082
+ * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
3083
3083
  */
3084
3084
  async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
3085
3085
  await this.loadMarkets();
@@ -1134,7 +1134,7 @@ class kraken extends kraken$1 {
1134
1134
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1135
1135
  * @param {int} [params.until] timestamp in ms of the latest ledger entry
1136
1136
  * @param {int} [params.end] timestamp in seconds of the latest ledger entry
1137
- * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger-structure}
1137
+ * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
1138
1138
  */
1139
1139
  async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
1140
1140
  // https://www.kraken.com/features/api#get-ledgers-info
@@ -2232,7 +2232,7 @@ class kucoin extends kucoin$1 {
2232
2232
  * market orders --------------------------------------------------
2233
2233
  * @param {string} [params.funds] // Amount of quote currency to use
2234
2234
  * stop orders ----------------------------------------------------
2235
- * @param {string} [params.stop] Either loss or entry, the default is loss. Requires stopPrice to be defined
2235
+ * @param {string} [params.stop] Either loss or entry, the default is loss. Requires triggerPrice to be defined
2236
2236
  * margin orders --------------------------------------------------
2237
2237
  * @param {float} [params.leverage] Leverage size of the order
2238
2238
  * @param {string} [params.stp] '', // self trade prevention, CN, CO, CB or DC
@@ -2573,7 +2573,7 @@ class kucoin extends kucoin$1 {
2573
2573
  * @param {string} id order id
2574
2574
  * @param {string} symbol unified symbol of the market the order was made in
2575
2575
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2576
- * @param {bool} [params.stop] True if cancelling a stop order
2576
+ * @param {bool} [params.trigger] True if cancelling a stop order
2577
2577
  * @param {bool} [params.hf] false, // true for hf order
2578
2578
  * @param {bool} [params.sync] false, // true to use the hf sync call
2579
2579
  * @returns Response from the exchange
@@ -2582,7 +2582,7 @@ class kucoin extends kucoin$1 {
2582
2582
  await this.loadMarkets();
2583
2583
  const request = {};
2584
2584
  const clientOrderId = this.safeString2(params, 'clientOid', 'clientOrderId');
2585
- const stop = this.safeBool2(params, 'stop', 'trigger', false);
2585
+ const trigger = this.safeBool2(params, 'stop', 'trigger', false);
2586
2586
  let hf = undefined;
2587
2587
  [hf, params] = this.handleHfAndParams(params);
2588
2588
  let useSync = false;
@@ -2598,7 +2598,7 @@ class kucoin extends kucoin$1 {
2598
2598
  params = this.omit(params, ['clientOid', 'clientOrderId', 'stop', 'trigger']);
2599
2599
  if (clientOrderId !== undefined) {
2600
2600
  request['clientOid'] = clientOrderId;
2601
- if (stop) {
2601
+ if (trigger) {
2602
2602
  response = await this.privateDeleteStopOrderCancelOrderByClientOid(this.extend(request, params));
2603
2603
  //
2604
2604
  // {
@@ -2642,7 +2642,7 @@ class kucoin extends kucoin$1 {
2642
2642
  }
2643
2643
  else {
2644
2644
  request['orderId'] = id;
2645
- if (stop) {
2645
+ if (trigger) {
2646
2646
  response = await this.privateDeleteStopOrderOrderId(this.extend(request, params));
2647
2647
  //
2648
2648
  // {
@@ -2694,7 +2694,7 @@ class kucoin extends kucoin$1 {
2694
2694
  * @see https://docs.kucoin.com/spot-hf/#cancel-all-hf-orders-by-symbol
2695
2695
  * @param {string} symbol unified market symbol, only orders in the market of this symbol are cancelled when symbol is not undefined
2696
2696
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2697
- * @param {bool} [params.stop] *invalid for isolated margin* true if cancelling all stop orders
2697
+ * @param {bool} [params.trigger] *invalid for isolated margin* true if cancelling all stop orders
2698
2698
  * @param {string} [params.marginMode] 'cross' or 'isolated'
2699
2699
  * @param {string} [params.orderIds] *stop orders only* Comma seperated order IDs
2700
2700
  * @param {bool} [params.hf] false, // true for hf order
@@ -2703,7 +2703,7 @@ class kucoin extends kucoin$1 {
2703
2703
  async cancelAllOrders(symbol = undefined, params = {}) {
2704
2704
  await this.loadMarkets();
2705
2705
  const request = {};
2706
- const stop = this.safeBool(params, 'stop', false);
2706
+ const trigger = this.safeBool(params, 'stop', false);
2707
2707
  let hf = undefined;
2708
2708
  [hf, params] = this.handleHfAndParams(params);
2709
2709
  params = this.omit(params, 'stop');
@@ -2713,12 +2713,12 @@ class kucoin extends kucoin$1 {
2713
2713
  }
2714
2714
  if (marginMode !== undefined) {
2715
2715
  request['tradeType'] = this.options['marginModes'][marginMode];
2716
- if (marginMode === 'isolated' && stop) {
2716
+ if (marginMode === 'isolated' && trigger) {
2717
2717
  throw new errors.BadRequest(this.id + ' cancelAllOrders does not support isolated margin for stop orders');
2718
2718
  }
2719
2719
  }
2720
2720
  let response = undefined;
2721
- if (stop) {
2721
+ if (trigger) {
2722
2722
  response = await this.privateDeleteStopOrderCancel(this.extend(request, query));
2723
2723
  }
2724
2724
  else if (hf) {
@@ -2751,9 +2751,9 @@ class kucoin extends kucoin$1 {
2751
2751
  * @param {string} [params.side] buy or sell
2752
2752
  * @param {string} [params.type] limit, market, limit_stop or market_stop
2753
2753
  * @param {string} [params.tradeType] TRADE for spot trading, MARGIN_TRADE for Margin Trading
2754
- * @param {int} [params.currentPage] *stop orders only* current page
2755
- * @param {string} [params.orderIds] *stop orders only* comma seperated order ID list
2756
- * @param {bool} [params.stop] True if fetching a stop order
2754
+ * @param {int} [params.currentPage] *trigger orders only* current page
2755
+ * @param {string} [params.orderIds] *trigger orders only* comma seperated order ID list
2756
+ * @param {bool} [params.trigger] True if fetching a trigger order
2757
2757
  * @param {bool} [params.hf] false, // true for hf order
2758
2758
  * @returns An [array of order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
2759
2759
  */
@@ -2875,7 +2875,7 @@ class kucoin extends kucoin$1 {
2875
2875
  * @param {string} [params.side] buy or sell
2876
2876
  * @param {string} [params.type] limit, market, limit_stop or market_stop
2877
2877
  * @param {string} [params.tradeType] TRADE for spot trading, MARGIN_TRADE for Margin Trading
2878
- * @param {bool} [params.stop] True if fetching a stop order
2878
+ * @param {bool} [params.trigger] True if fetching a trigger order
2879
2879
  * @param {bool} [params.hf] false, // true for hf order
2880
2880
  * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
2881
2881
  * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
@@ -2902,12 +2902,12 @@ class kucoin extends kucoin$1 {
2902
2902
  * @param {int} [limit] the maximum number of open orders structures to retrieve
2903
2903
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2904
2904
  * @param {int} [params.until] end time in ms
2905
- * @param {bool} [params.stop] true if fetching stop orders
2905
+ * @param {bool} [params.trigger] true if fetching trigger orders
2906
2906
  * @param {string} [params.side] buy or sell
2907
2907
  * @param {string} [params.type] limit, market, limit_stop or market_stop
2908
2908
  * @param {string} [params.tradeType] TRADE for spot trading, MARGIN_TRADE for Margin Trading
2909
- * @param {int} [params.currentPage] *stop orders only* current page
2910
- * @param {string} [params.orderIds] *stop orders only* comma seperated order ID list
2909
+ * @param {int} [params.currentPage] *trigger orders only* current page
2910
+ * @param {string} [params.orderIds] *trigger orders only* comma seperated order ID list
2911
2911
  * @param {bool} [params.hf] false, // true for hf order
2912
2912
  * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
2913
2913
  * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
@@ -2932,9 +2932,9 @@ class kucoin extends kucoin$1 {
2932
2932
  * @see https://docs.kucoin.com/spot-hf/#details-of-a-single-hf-order
2933
2933
  * @see https://docs.kucoin.com/spot-hf/#obtain-details-of-a-single-hf-order-using-clientoid
2934
2934
  * @param {string} id Order id
2935
- * @param {string} symbol not sent to exchange except for stop orders with clientOid, but used internally by CCXT to filter
2935
+ * @param {string} symbol not sent to exchange except for trigger orders with clientOid, but used internally by CCXT to filter
2936
2936
  * @param {object} [params] exchange specific parameters
2937
- * @param {bool} [params.stop] true if fetching a stop order
2937
+ * @param {bool} [params.trigger] true if fetching a trigger order
2938
2938
  * @param {bool} [params.hf] false, // true for hf order
2939
2939
  * @param {bool} [params.clientOid] unique order id created by users to identify their orders
2940
2940
  * @returns An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
@@ -2943,7 +2943,7 @@ class kucoin extends kucoin$1 {
2943
2943
  await this.loadMarkets();
2944
2944
  const request = {};
2945
2945
  const clientOrderId = this.safeString2(params, 'clientOid', 'clientOrderId');
2946
- const stop = this.safeBool2(params, 'stop', 'trigger', false);
2946
+ const trigger = this.safeBool2(params, 'stop', 'trigger', false);
2947
2947
  let hf = undefined;
2948
2948
  [hf, params] = this.handleHfAndParams(params);
2949
2949
  let market = undefined;
@@ -2960,7 +2960,7 @@ class kucoin extends kucoin$1 {
2960
2960
  let response = undefined;
2961
2961
  if (clientOrderId !== undefined) {
2962
2962
  request['clientOid'] = clientOrderId;
2963
- if (stop) {
2963
+ if (trigger) {
2964
2964
  if (symbol !== undefined) {
2965
2965
  request['symbol'] = market['id'];
2966
2966
  }
@@ -2981,7 +2981,7 @@ class kucoin extends kucoin$1 {
2981
2981
  throw new errors.InvalidOrder(this.id + ' fetchOrder() requires an order id');
2982
2982
  }
2983
2983
  request['orderId'] = id;
2984
- if (stop) {
2984
+ if (trigger) {
2985
2985
  response = await this.privateGetStopOrderOrderId(this.extend(request, params));
2986
2986
  }
2987
2987
  else if (hf) {
@@ -3124,7 +3124,7 @@ class kucoin extends kucoin$1 {
3124
3124
  const feeCurrencyId = this.safeString(order, 'feeCurrency');
3125
3125
  const cancelExist = this.safeBool(order, 'cancelExist', false);
3126
3126
  const responseStop = this.safeString(order, 'stop');
3127
- const stop = responseStop !== undefined;
3127
+ const trigger = responseStop !== undefined;
3128
3128
  const stopTriggered = this.safeBool(order, 'stopTriggered', false);
3129
3129
  const isActive = this.safeBool2(order, 'isActive', 'active');
3130
3130
  const responseStatus = this.safeString(order, 'status');
@@ -3137,7 +3137,7 @@ class kucoin extends kucoin$1 {
3137
3137
  status = 'closed';
3138
3138
  }
3139
3139
  }
3140
- if (stop) {
3140
+ if (trigger) {
3141
3141
  if (responseStatus === 'NEW') {
3142
3142
  status = 'open';
3143
3143
  }
@@ -4364,7 +4364,7 @@ class kucoin extends kucoin$1 {
4364
4364
  * @param {boolean} [params.hf] default false, when true will fetch ledger entries for the high frequency trading account
4365
4365
  * @param {int} [params.until] the latest time in ms to fetch entries for
4366
4366
  * @param {boolean} [params.paginate] default false, when true will automatically paginate by calling this endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
4367
- * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger-structure}
4367
+ * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
4368
4368
  */
4369
4369
  async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
4370
4370
  await this.loadMarkets();
@@ -996,7 +996,7 @@ class luno extends luno$1 {
996
996
  * @param {int} [since] timestamp in ms of the earliest ledger entry, default is undefined
997
997
  * @param {int} [limit] max number of ledger entries to return, default is undefined
998
998
  * @param {object} [params] extra parameters specific to the exchange API endpoint
999
- * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger-structure}
999
+ * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
1000
1000
  */
1001
1001
  async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
1002
1002
  await this.loadMarkets();
@@ -674,6 +674,143 @@ class mexc extends mexc$1 {
674
674
  'maxTimeTillEnd': 90 * 86400 * 1000 - 1,
675
675
  'broker': 'CCXT',
676
676
  },
677
+ 'features': {
678
+ 'def': {
679
+ 'sandbox': false,
680
+ 'createOrder': {
681
+ 'marginMode': true,
682
+ 'triggerPrice': false,
683
+ 'triggerDirection': false,
684
+ 'triggerPriceType': {
685
+ 'last': false,
686
+ 'mark': false,
687
+ 'index': false,
688
+ },
689
+ 'stopLossPrice': false,
690
+ 'takeProfitPrice': false,
691
+ 'attachedStopLossTakeProfit': undefined,
692
+ 'timeInForce': {
693
+ 'IOC': true,
694
+ 'FOK': true,
695
+ 'PO': true,
696
+ 'GTD': false,
697
+ },
698
+ 'hedged': false,
699
+ // exchange-supported features
700
+ 'selfTradePrevention': false,
701
+ 'trailing': false,
702
+ 'iceberg': false,
703
+ },
704
+ 'createOrders': {
705
+ 'max': 20,
706
+ },
707
+ 'fetchMyTrades': {
708
+ 'marginMode': false,
709
+ 'limit': 100,
710
+ 'daysBack': 30,
711
+ 'untilDays': undefined,
712
+ },
713
+ 'fetchOrder': {
714
+ 'marginMode': false,
715
+ 'trigger': false,
716
+ 'trailing': false,
717
+ },
718
+ 'fetchOpenOrders': {
719
+ 'marginMode': true,
720
+ 'limit': undefined,
721
+ 'trigger': false,
722
+ 'trailing': false,
723
+ },
724
+ 'fetchOrders': {
725
+ 'marginMode': true,
726
+ 'limit': 1000,
727
+ 'daysBack': 7,
728
+ 'untilDays': 7,
729
+ 'trigger': false,
730
+ 'trailing': false,
731
+ },
732
+ 'fetchClosedOrders': {
733
+ 'marginMode': true,
734
+ 'limit': 1000,
735
+ 'daysBackClosed': 7,
736
+ 'daysBackCanceled': 7,
737
+ 'untilDays': 7,
738
+ 'trigger': false,
739
+ 'trailing': false,
740
+ },
741
+ 'fetchOHLCV': {
742
+ 'limit': 1000,
743
+ },
744
+ },
745
+ 'spot': {
746
+ 'extends': 'def',
747
+ },
748
+ 'forDerivs': {
749
+ 'extends': 'def',
750
+ 'createOrder': {
751
+ 'triggerPrice': true,
752
+ 'triggerPriceType': {
753
+ 'last': true,
754
+ 'mark': true,
755
+ 'index': true,
756
+ },
757
+ 'triggerDirection': true,
758
+ 'stopLossPrice': false,
759
+ 'takeProfitPrice': false,
760
+ 'hedged': true,
761
+ },
762
+ 'createOrders': {
763
+ 'max': 50,
764
+ },
765
+ 'fetchMyTrades': {
766
+ 'marginMode': false,
767
+ 'limit': 100,
768
+ 'daysBack': 90,
769
+ 'untilDays': 90,
770
+ },
771
+ 'fetchOrder': {
772
+ 'marginMode': false,
773
+ },
774
+ 'fetchOpenOrders': {
775
+ 'marginMode': false,
776
+ 'limit': 100,
777
+ 'trigger': true,
778
+ 'trailing': false,
779
+ },
780
+ 'fetchOrders': {
781
+ 'marginMode': false,
782
+ 'limit': 100,
783
+ 'daysBack': 90,
784
+ 'untilDays': 90,
785
+ 'trigger': true,
786
+ 'trailing': false,
787
+ },
788
+ 'fetchClosedOrders': {
789
+ 'marginMode': false,
790
+ 'limit': 100,
791
+ 'daysBackClosed': 90,
792
+ 'daysBackCanceled': undefined,
793
+ 'untilDays': 90,
794
+ 'trigger': true,
795
+ 'trailing': false,
796
+ },
797
+ 'fetchOHLCV': {
798
+ 'limit': 2000,
799
+ },
800
+ },
801
+ 'swap': {
802
+ 'linear': {
803
+ 'extends': 'forDerivs',
804
+ },
805
+ 'inverse': {
806
+ 'extends': 'forDerivs',
807
+ },
808
+ },
809
+ 'future': {
810
+ 'linear': undefined,
811
+ 'inverse': undefined,
812
+ },
813
+ },
677
814
  'commonCurrencies': {
678
815
  'BEYONDPROTOCOL': 'BEYOND',
679
816
  'BIFI': 'BIFIF',
@@ -2235,7 +2372,6 @@ class mexc extends mexc$1 {
2235
2372
  * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
2236
2373
  * @param {string} [marginMode] only 'isolated' is supported for spot-margin trading
2237
2374
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2238
- * @param {float} [params.triggerPrice] The price at which a trigger order is triggered at
2239
2375
  * @param {bool} [params.postOnly] if true, the order will only be posted if it will be a maker order
2240
2376
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
2241
2377
  */
@@ -2284,7 +2420,7 @@ class mexc extends mexc$1 {
2284
2420
  /**
2285
2421
  * @ignore
2286
2422
  * @method
2287
- * @name mexc#createOrder
2423
+ * @name mexc#createSwapOrder
2288
2424
  * @description create a trade order
2289
2425
  * @see https://mexcdevelop.github.io/apidocs/spot_v3_en/#new-order
2290
2426
  * @see https://mexcdevelop.github.io/apidocs/contract_v1_en/#order-under-maintenance
@@ -1218,7 +1218,7 @@ class ndax extends ndax$1 {
1218
1218
  * @param {int} [since] timestamp in ms of the earliest ledger entry, default is undefined
1219
1219
  * @param {int} [limit] max number of ledger entries to return, default is undefined
1220
1220
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1221
- * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger-structure}
1221
+ * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
1222
1222
  */
1223
1223
  async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
1224
1224
  const omsId = this.safeInteger(this.options, 'omsId', 1);
@@ -1635,7 +1635,7 @@ class okcoin extends okcoin$1 {
1635
1635
  * @param {string} id order id
1636
1636
  * @param {string} symbol unified symbol of the market the order was made in
1637
1637
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1638
- * @param {bool} [params.stop] True if cancel trigger or conditional orders
1638
+ * @param {bool} [params.trigger] True if cancel trigger or conditional orders
1639
1639
  * @param {bool} [params.advanced] True if canceling advanced orders only
1640
1640
  * @returns {object} An [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
1641
1641
  */
@@ -1644,9 +1644,9 @@ class okcoin extends okcoin$1 {
1644
1644
  throw new errors.ArgumentsRequired(this.id + ' cancelOrder() requires a symbol argument');
1645
1645
  }
1646
1646
  await this.loadMarkets();
1647
- const stop = this.safeValue2(params, 'stop', 'trigger');
1647
+ const trigger = this.safeValue2(params, 'stop', 'trigger');
1648
1648
  const advanced = this.safeValue(params, 'advanced');
1649
- if (stop || advanced) {
1649
+ if (trigger || advanced) {
1650
1650
  const orderInner = await this.cancelOrders([id], symbol, params);
1651
1651
  return this.safeValue(orderInner, 0);
1652
1652
  }
@@ -1702,7 +1702,7 @@ class okcoin extends okcoin$1 {
1702
1702
  throw new errors.ArgumentsRequired(this.id + ' cancelOrders() requires a symbol argument');
1703
1703
  }
1704
1704
  await this.loadMarkets();
1705
- const stop = this.safeValue2(params, 'stop', 'trigger');
1705
+ const trigger = this.safeValue2(params, 'stop', 'trigger');
1706
1706
  const advanced = this.safeValue(params, 'advanced');
1707
1707
  params = this.omit(params, ['stop', 'trigger', 'advanced']);
1708
1708
  const market = this.market(symbol);
@@ -1720,7 +1720,7 @@ class okcoin extends okcoin$1 {
1720
1720
  }
1721
1721
  }
1722
1722
  for (let i = 0; i < ids.length; i++) {
1723
- if (stop || advanced) {
1723
+ if (trigger || advanced) {
1724
1724
  request.push({
1725
1725
  'algoId': ids[i],
1726
1726
  'instId': market['id'],
@@ -1743,7 +1743,7 @@ class okcoin extends okcoin$1 {
1743
1743
  }
1744
1744
  }
1745
1745
  let response = undefined;
1746
- if (stop) {
1746
+ if (trigger) {
1747
1747
  response = await this.privatePostTradeCancelAlgos(request);
1748
1748
  }
1749
1749
  else if (advanced) {
@@ -2003,8 +2003,8 @@ class okcoin extends okcoin$1 {
2003
2003
  // 'ordId': id,
2004
2004
  };
2005
2005
  const clientOrderId = this.safeString2(params, 'clOrdId', 'clientOrderId');
2006
- const stop = this.safeValue2(params, 'stop', 'trigger');
2007
- if (stop) {
2006
+ const trigger = this.safeValue2(params, 'stop', 'trigger');
2007
+ if (trigger) {
2008
2008
  if (clientOrderId !== undefined) {
2009
2009
  request['algoClOrdId'] = clientOrderId;
2010
2010
  }
@@ -2022,7 +2022,7 @@ class okcoin extends okcoin$1 {
2022
2022
  }
2023
2023
  const query = this.omit(params, ['clientOrderId', 'stop', 'trigger']);
2024
2024
  let response = undefined;
2025
- if (stop) {
2025
+ if (trigger) {
2026
2026
  response = await this.privateGetTradeOrderAlgo(this.extend(request, query));
2027
2027
  }
2028
2028
  else {
@@ -2042,7 +2042,7 @@ class okcoin extends okcoin$1 {
2042
2042
  * @param {int} [since] the earliest time in ms to fetch open orders for
2043
2043
  * @param {int} [limit] the maximum number of open orders structures to retrieve
2044
2044
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2045
- * @param {bool} [params.stop] True if fetching trigger or conditional orders
2045
+ * @param {bool} [params.trigger] True if fetching trigger or conditional orders
2046
2046
  * @param {string} [params.ordType] "conditional", "oco", "trigger", "move_order_stop", "iceberg", or "twap"
2047
2047
  * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
2048
2048
  */
@@ -2065,13 +2065,13 @@ class okcoin extends okcoin$1 {
2065
2065
  request['limit'] = limit; // default 100, max 100
2066
2066
  }
2067
2067
  const ordType = this.safeString(params, 'ordType');
2068
- const stop = this.safeValue(params, 'stop') || (this.safeString(params, 'ordType') !== undefined);
2069
- if (stop && (ordType === undefined)) {
2068
+ const trigger = this.safeValue(params, 'stop') || (this.safeString(params, 'ordType') !== undefined);
2069
+ if (trigger && (ordType === undefined)) {
2070
2070
  request['ordType'] = 'trigger'; // default to trigger
2071
2071
  }
2072
2072
  params = this.omit(params, ['stop']);
2073
2073
  let response = undefined;
2074
- if (stop) {
2074
+ if (trigger) {
2075
2075
  response = await this.privateGetTradeOrdersAlgoPending(this.extend(request, params));
2076
2076
  }
2077
2077
  else {
@@ -2091,7 +2091,7 @@ class okcoin extends okcoin$1 {
2091
2091
  * @param {int} [since] the earliest time in ms to fetch orders for
2092
2092
  * @param {int} [limit] the maximum number of order structures to retrieve
2093
2093
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2094
- * @param {bool} [params.stop] True if fetching trigger or conditional orders
2094
+ * @param {bool} [params.trigger] True if fetching trigger or conditional orders
2095
2095
  * @param {string} [params.ordType] "conditional", "oco", "trigger", "move_order_stop", "iceberg", or "twap"
2096
2096
  * @returns {Order[]} a list of [order structures]{@link https://docs.ccxt.com/#/?id=order-structure}
2097
2097
  */
@@ -2106,13 +2106,13 @@ class okcoin extends okcoin$1 {
2106
2106
  request['instId'] = market['id'];
2107
2107
  }
2108
2108
  const ordType = this.safeString(params, 'ordType');
2109
- const stop = this.safeValue(params, 'stop') || (this.safeString(params, 'ordType') !== undefined);
2110
- if (stop && (ordType === undefined)) {
2109
+ const trigger = this.safeValue(params, 'stop') || (this.safeString(params, 'ordType') !== undefined);
2110
+ if (trigger && (ordType === undefined)) {
2111
2111
  request['ordType'] = 'trigger'; // default to trigger
2112
2112
  }
2113
2113
  params = this.omit(params, ['stop']);
2114
2114
  let response = undefined;
2115
- if (stop) {
2115
+ if (trigger) {
2116
2116
  response = await this.privateGetTradeOrdersAlgoHistory(this.extend(request, params));
2117
2117
  }
2118
2118
  else {
@@ -2871,7 +2871,7 @@ class okcoin extends okcoin$1 {
2871
2871
  * @param {int} [since] timestamp in ms of the earliest ledger entry, default is undefined
2872
2872
  * @param {int} [limit] max number of ledger entries to return, default is undefined
2873
2873
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2874
- * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger-structure}
2874
+ * @returns {object} a [ledger structure]{@link https://docs.ccxt.com/#/?id=ledger}
2875
2875
  */
2876
2876
  async fetchLedger(code = undefined, since = undefined, limit = undefined, params = {}) {
2877
2877
  await this.loadMarkets();