ccxt 4.3.54 → 4.3.56

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 (236) hide show
  1. package/README.md +4 -6
  2. package/dist/ccxt.browser.min.js +3 -3
  3. package/dist/cjs/ccxt.js +1 -1
  4. package/dist/cjs/src/ace.js +1 -1
  5. package/dist/cjs/src/alpaca.js +1 -1
  6. package/dist/cjs/src/ascendex.js +6 -4
  7. package/dist/cjs/src/base/Exchange.js +26 -2
  8. package/dist/cjs/src/bigone.js +1 -1
  9. package/dist/cjs/src/binance.js +13 -13
  10. package/dist/cjs/src/bingx.js +38 -4
  11. package/dist/cjs/src/bit2c.js +1 -1
  12. package/dist/cjs/src/bitbank.js +1 -1
  13. package/dist/cjs/src/bitbns.js +1 -1
  14. package/dist/cjs/src/bitfinex.js +1 -1
  15. package/dist/cjs/src/bitfinex2.js +1 -1
  16. package/dist/cjs/src/bitflyer.js +8 -2
  17. package/dist/cjs/src/bitget.js +2 -2
  18. package/dist/cjs/src/bithumb.js +1 -1
  19. package/dist/cjs/src/bitmart.js +3 -3
  20. package/dist/cjs/src/bitmex.js +1 -1
  21. package/dist/cjs/src/bitopro.js +21 -4
  22. package/dist/cjs/src/bitrue.js +1 -1
  23. package/dist/cjs/src/bitso.js +1 -1
  24. package/dist/cjs/src/bitstamp.js +1 -1
  25. package/dist/cjs/src/bitteam.js +1 -1
  26. package/dist/cjs/src/bitvavo.js +2 -2
  27. package/dist/cjs/src/bl3p.js +1 -1
  28. package/dist/cjs/src/blockchaincom.js +28 -28
  29. package/dist/cjs/src/blofin.js +1 -1
  30. package/dist/cjs/src/btcalpha.js +4 -12
  31. package/dist/cjs/src/btcbox.js +1 -1
  32. package/dist/cjs/src/btcmarkets.js +27 -28
  33. package/dist/cjs/src/btcturk.js +1 -1
  34. package/dist/cjs/src/bybit.js +11 -7
  35. package/dist/cjs/src/cex.js +2 -2
  36. package/dist/cjs/src/coinbase.js +33 -33
  37. package/dist/cjs/src/coinbaseexchange.js +1 -1
  38. package/dist/cjs/src/coinbaseinternational.js +1 -1
  39. package/dist/cjs/src/coincheck.js +1 -1
  40. package/dist/cjs/src/coinex.js +2 -2
  41. package/dist/cjs/src/coinlist.js +2 -2
  42. package/dist/cjs/src/coinmate.js +1 -1
  43. package/dist/cjs/src/coinmetro.js +1 -1
  44. package/dist/cjs/src/coinone.js +1 -1
  45. package/dist/cjs/src/coinsph.js +1 -1
  46. package/dist/cjs/src/coinspot.js +1 -1
  47. package/dist/cjs/src/cryptocom.js +1 -1
  48. package/dist/cjs/src/currencycom.js +1 -1
  49. package/dist/cjs/src/delta.js +7 -3
  50. package/dist/cjs/src/deribit.js +4 -4
  51. package/dist/cjs/src/digifinex.js +2 -2
  52. package/dist/cjs/src/exmo.js +2 -2
  53. package/dist/cjs/src/gate.js +3 -2
  54. package/dist/cjs/src/gemini.js +1 -1
  55. package/dist/cjs/src/hitbtc.js +1 -1
  56. package/dist/cjs/src/hollaex.js +1 -1
  57. package/dist/cjs/src/htx.js +3 -3
  58. package/dist/cjs/src/huobijp.js +1 -1
  59. package/dist/cjs/src/hyperliquid.js +3 -3
  60. package/dist/cjs/src/idex.js +1 -1
  61. package/dist/cjs/src/independentreserve.js +1 -1
  62. package/dist/cjs/src/indodax.js +1 -1
  63. package/dist/cjs/src/kraken.js +2 -2
  64. package/dist/cjs/src/kucoin.js +136 -47
  65. package/dist/cjs/src/kucoinfutures.js +1 -1
  66. package/dist/cjs/src/kuna.js +1 -1
  67. package/dist/cjs/src/latoken.js +1 -1
  68. package/dist/cjs/src/lbank.js +28 -7
  69. package/dist/cjs/src/luno.js +1 -1
  70. package/dist/cjs/src/lykke.js +1 -1
  71. package/dist/cjs/src/mercado.js +1 -1
  72. package/dist/cjs/src/mexc.js +1 -1
  73. package/dist/cjs/src/ndax.js +1 -1
  74. package/dist/cjs/src/novadax.js +1 -1
  75. package/dist/cjs/src/oceanex.js +1 -1
  76. package/dist/cjs/src/okcoin.js +1 -1
  77. package/dist/cjs/src/okx.js +3 -3
  78. package/dist/cjs/src/onetrading.js +1 -1
  79. package/dist/cjs/src/oxfun.js +2 -2
  80. package/dist/cjs/src/p2b.js +1 -1
  81. package/dist/cjs/src/paymium.js +1 -1
  82. package/dist/cjs/src/phemex.js +2 -2
  83. package/dist/cjs/src/poloniex.js +4 -3
  84. package/dist/cjs/src/poloniexfutures.js +1 -1
  85. package/dist/cjs/src/pro/binance.js +2 -2
  86. package/dist/cjs/src/pro/bitvavo.js +2 -2
  87. package/dist/cjs/src/pro/bybit.js +2 -2
  88. package/dist/cjs/src/pro/cex.js +3 -3
  89. package/dist/cjs/src/pro/coinbase.js +23 -1
  90. package/dist/cjs/src/pro/cryptocom.js +1 -1
  91. package/dist/cjs/src/pro/gate.js +2 -2
  92. package/dist/cjs/src/pro/hitbtc.js +1 -1
  93. package/dist/cjs/src/pro/kraken.js +2 -2
  94. package/dist/cjs/src/pro/kucoin.js +2 -2
  95. package/dist/cjs/src/pro/okx.js +2 -2
  96. package/dist/cjs/src/pro/oxfun.js +2 -2
  97. package/dist/cjs/src/pro/poloniex.js +1 -1
  98. package/dist/cjs/src/pro/vertex.js +1 -1
  99. package/dist/cjs/src/probit.js +1 -1
  100. package/dist/cjs/src/timex.js +1 -1
  101. package/dist/cjs/src/tokocrypto.js +1 -1
  102. package/dist/cjs/src/tradeogre.js +1 -1
  103. package/dist/cjs/src/upbit.js +1 -1
  104. package/dist/cjs/src/vertex.js +2 -2
  105. package/dist/cjs/src/wavesexchange.js +1 -1
  106. package/dist/cjs/src/wazirx.js +1 -1
  107. package/dist/cjs/src/whitebit.js +2 -2
  108. package/dist/cjs/src/woo.js +5 -5
  109. package/dist/cjs/src/woofipro.js +3 -3
  110. package/dist/cjs/src/yobit.js +1 -1
  111. package/dist/cjs/src/zaif.js +1 -1
  112. package/dist/cjs/src/zonda.js +1 -1
  113. package/js/ccxt.d.ts +1 -1
  114. package/js/ccxt.js +1 -1
  115. package/js/src/abstract/bingx.d.ts +16 -0
  116. package/js/src/abstract/kucoin.d.ts +3 -0
  117. package/js/src/abstract/kucoinfutures.d.ts +3 -0
  118. package/js/src/ace.js +1 -1
  119. package/js/src/alpaca.js +1 -1
  120. package/js/src/ascendex.d.ts +1 -1
  121. package/js/src/ascendex.js +6 -4
  122. package/js/src/base/Exchange.d.ts +1 -0
  123. package/js/src/base/Exchange.js +26 -2
  124. package/js/src/base/types.d.ts +4 -0
  125. package/js/src/bigone.js +1 -1
  126. package/js/src/binance.js +13 -13
  127. package/js/src/bingx.js +38 -4
  128. package/js/src/bit2c.js +1 -1
  129. package/js/src/bitbank.js +1 -1
  130. package/js/src/bitbns.js +1 -1
  131. package/js/src/bitfinex.js +1 -1
  132. package/js/src/bitfinex2.js +1 -1
  133. package/js/src/bitflyer.d.ts +1 -1
  134. package/js/src/bitflyer.js +8 -2
  135. package/js/src/bitget.js +2 -2
  136. package/js/src/bithumb.js +1 -1
  137. package/js/src/bitmart.js +3 -3
  138. package/js/src/bitmex.js +1 -1
  139. package/js/src/bitopro.d.ts +3 -2
  140. package/js/src/bitopro.js +21 -4
  141. package/js/src/bitrue.js +1 -1
  142. package/js/src/bitso.js +1 -1
  143. package/js/src/bitstamp.js +1 -1
  144. package/js/src/bitteam.js +1 -1
  145. package/js/src/bitvavo.js +2 -2
  146. package/js/src/bl3p.js +1 -1
  147. package/js/src/blockchaincom.js +28 -28
  148. package/js/src/blofin.js +1 -1
  149. package/js/src/btcalpha.js +5 -13
  150. package/js/src/btcbox.js +1 -1
  151. package/js/src/btcmarkets.js +28 -29
  152. package/js/src/btcturk.js +1 -1
  153. package/js/src/bybit.js +11 -7
  154. package/js/src/cex.js +2 -2
  155. package/js/src/coinbase.js +33 -33
  156. package/js/src/coinbaseexchange.js +1 -1
  157. package/js/src/coinbaseinternational.js +1 -1
  158. package/js/src/coincheck.js +1 -1
  159. package/js/src/coinex.js +2 -2
  160. package/js/src/coinlist.js +2 -2
  161. package/js/src/coinmate.js +1 -1
  162. package/js/src/coinmetro.js +1 -1
  163. package/js/src/coinone.js +1 -1
  164. package/js/src/coinsph.js +1 -1
  165. package/js/src/coinspot.js +1 -1
  166. package/js/src/cryptocom.js +1 -1
  167. package/js/src/currencycom.js +1 -1
  168. package/js/src/delta.d.ts +1 -1
  169. package/js/src/delta.js +7 -3
  170. package/js/src/deribit.js +4 -4
  171. package/js/src/digifinex.js +2 -2
  172. package/js/src/exmo.js +2 -2
  173. package/js/src/gate.js +3 -2
  174. package/js/src/gemini.js +1 -1
  175. package/js/src/hitbtc.js +1 -1
  176. package/js/src/hollaex.js +1 -1
  177. package/js/src/htx.js +3 -3
  178. package/js/src/huobijp.js +1 -1
  179. package/js/src/hyperliquid.js +3 -3
  180. package/js/src/idex.js +1 -1
  181. package/js/src/independentreserve.js +1 -1
  182. package/js/src/indodax.js +1 -1
  183. package/js/src/kraken.js +2 -2
  184. package/js/src/kucoin.d.ts +1 -0
  185. package/js/src/kucoin.js +136 -47
  186. package/js/src/kucoinfutures.js +1 -1
  187. package/js/src/kuna.js +1 -1
  188. package/js/src/latoken.js +1 -1
  189. package/js/src/lbank.d.ts +2 -2
  190. package/js/src/lbank.js +28 -7
  191. package/js/src/luno.js +1 -1
  192. package/js/src/lykke.js +1 -1
  193. package/js/src/mercado.js +1 -1
  194. package/js/src/mexc.js +1 -1
  195. package/js/src/ndax.js +1 -1
  196. package/js/src/novadax.js +1 -1
  197. package/js/src/oceanex.js +1 -1
  198. package/js/src/okcoin.js +1 -1
  199. package/js/src/okx.js +3 -3
  200. package/js/src/onetrading.js +1 -1
  201. package/js/src/oxfun.js +2 -2
  202. package/js/src/p2b.js +1 -1
  203. package/js/src/paymium.js +1 -1
  204. package/js/src/phemex.js +2 -2
  205. package/js/src/poloniex.js +4 -3
  206. package/js/src/poloniexfutures.js +1 -1
  207. package/js/src/pro/binance.js +2 -2
  208. package/js/src/pro/bitvavo.js +2 -2
  209. package/js/src/pro/bybit.js +2 -2
  210. package/js/src/pro/cex.js +3 -3
  211. package/js/src/pro/coinbase.d.ts +1 -0
  212. package/js/src/pro/coinbase.js +23 -1
  213. package/js/src/pro/cryptocom.js +1 -1
  214. package/js/src/pro/gate.js +2 -2
  215. package/js/src/pro/hitbtc.js +1 -1
  216. package/js/src/pro/kraken.js +2 -2
  217. package/js/src/pro/kucoin.js +2 -2
  218. package/js/src/pro/okx.js +2 -2
  219. package/js/src/pro/oxfun.js +2 -2
  220. package/js/src/pro/poloniex.js +1 -1
  221. package/js/src/pro/vertex.js +1 -1
  222. package/js/src/probit.js +1 -1
  223. package/js/src/timex.js +1 -1
  224. package/js/src/tokocrypto.js +1 -1
  225. package/js/src/tradeogre.js +1 -1
  226. package/js/src/upbit.js +1 -1
  227. package/js/src/vertex.js +2 -2
  228. package/js/src/wavesexchange.js +1 -1
  229. package/js/src/wazirx.js +1 -1
  230. package/js/src/whitebit.js +2 -2
  231. package/js/src/woo.js +5 -5
  232. package/js/src/woofipro.js +3 -3
  233. package/js/src/yobit.js +1 -1
  234. package/js/src/zaif.js +1 -1
  235. package/js/src/zonda.js +1 -1
  236. package/package.json +58 -52
package/js/src/htx.js CHANGED
@@ -5149,7 +5149,7 @@ export default class htx extends Exchange {
5149
5149
  * @param {string} type 'market' or 'limit'
5150
5150
  * @param {string} side 'buy' or 'sell'
5151
5151
  * @param {float} amount how much you want to trade in units of the base currency
5152
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
5152
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
5153
5153
  * @param {object} [params] extra parameters specific to the exchange API endpoint
5154
5154
  * @param {string} [params.timeInForce] supports 'IOC' and 'FOK'
5155
5155
  * @param {float} [params.cost] the quote quantity that can be used as an alternative for the amount for market buy orders
@@ -5276,7 +5276,7 @@ export default class htx extends Exchange {
5276
5276
  * @param {string} type 'market' or 'limit'
5277
5277
  * @param {string} side 'buy' or 'sell'
5278
5278
  * @param {float} amount how much you want to trade in units of the base currency
5279
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
5279
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
5280
5280
  * @param {object} [params] extra parameters specific to the exchange API endpoint
5281
5281
  * @param {string} [params.timeInForce] supports 'IOC' and 'FOK'
5282
5282
  * @param {float} [params.trailingPercent] *contract only* the percent to trail away from the current market price
@@ -5384,7 +5384,7 @@ export default class htx extends Exchange {
5384
5384
  * @param {string} type 'market' or 'limit'
5385
5385
  * @param {string} side 'buy' or 'sell'
5386
5386
  * @param {float} amount how much you want to trade in units of the base currency
5387
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
5387
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
5388
5388
  * @param {object} [params] extra parameters specific to the exchange API endpoint
5389
5389
  * @param {float} [params.stopPrice] the price a trigger order is triggered at
5390
5390
  * @param {string} [params.triggerType] *contract trigger orders only* ge: greater than or equal to, le: less than or equal to
package/js/src/huobijp.js CHANGED
@@ -1391,7 +1391,7 @@ export default class huobijp extends Exchange {
1391
1391
  * @param {string} type 'market' or 'limit'
1392
1392
  * @param {string} side 'buy' or 'sell'
1393
1393
  * @param {float} amount how much of currency you want to trade in units of base currency
1394
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1394
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1395
1395
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1396
1396
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
1397
1397
  */
@@ -596,7 +596,7 @@ export default class hyperliquid extends Exchange {
596
596
  'limits': {
597
597
  'leverage': {
598
598
  'min': undefined,
599
- 'max': undefined,
599
+ 'max': this.safeInteger(market, 'maxLeverage'),
600
600
  },
601
601
  'amount': {
602
602
  'min': undefined,
@@ -1019,7 +1019,7 @@ export default class hyperliquid extends Exchange {
1019
1019
  * @param {string} type 'market' or 'limit'
1020
1020
  * @param {string} side 'buy' or 'sell'
1021
1021
  * @param {float} amount how much of currency you want to trade in units of base currency
1022
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1022
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1023
1023
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1024
1024
  * @param {string} [params.timeInForce] 'Gtc', 'Ioc', 'Alo'
1025
1025
  * @param {bool} [params.postOnly] true or false whether the order is post-only
@@ -1435,7 +1435,7 @@ export default class hyperliquid extends Exchange {
1435
1435
  * @param {string} type 'market' or 'limit'
1436
1436
  * @param {string} side 'buy' or 'sell'
1437
1437
  * @param {float} amount how much of currency you want to trade in units of base currency
1438
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the base currency, ignored in market orders
1438
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1439
1439
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1440
1440
  * @param {string} [params.timeInForce] 'Gtc', 'Ioc', 'Alo'
1441
1441
  * @param {bool} [params.postOnly] true or false whether the order is post-only
package/js/src/idex.js CHANGED
@@ -1169,7 +1169,7 @@ export default class idex extends Exchange {
1169
1169
  * @param {string} type 'market' or 'limit'
1170
1170
  * @param {string} side 'buy' or 'sell'
1171
1171
  * @param {float} amount how much of currency you want to trade in units of base currency
1172
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1172
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1173
1173
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1174
1174
  * @param {bool} [params.test] set to true to test an order, no order will be created but the request will be validated
1175
1175
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
@@ -701,7 +701,7 @@ export default class independentreserve extends Exchange {
701
701
  * @param {string} type 'market' or 'limit'
702
702
  * @param {string} side 'buy' or 'sell'
703
703
  * @param {float} amount how much of currency you want to trade in units of base currency
704
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
704
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
705
705
  * @param {object} [params] extra parameters specific to the exchange API endpoint
706
706
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
707
707
  */
package/js/src/indodax.js CHANGED
@@ -831,7 +831,7 @@ export default class indodax extends Exchange {
831
831
  * @param {string} type 'market' or 'limit'
832
832
  * @param {string} side 'buy' or 'sell'
833
833
  * @param {float} amount how much of currency you want to trade in units of base currency
834
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
834
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
835
835
  * @param {object} [params] extra parameters specific to the exchange API endpoint
836
836
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
837
837
  */
package/js/src/kraken.js CHANGED
@@ -1394,7 +1394,7 @@ export default class kraken extends Exchange {
1394
1394
  * @param {string} type 'market' or 'limit'
1395
1395
  * @param {string} side 'buy' or 'sell'
1396
1396
  * @param {float} amount how much of currency you want to trade in units of base currency
1397
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1397
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1398
1398
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1399
1399
  * @param {bool} [params.postOnly] if true, the order will only be posted to the order book and not executed immediately
1400
1400
  * @param {bool} [params.reduceOnly] *margin only* indicates if this order is to reduce the size of a position
@@ -1840,7 +1840,7 @@ export default class kraken extends Exchange {
1840
1840
  * @param {string} type 'market' or 'limit'
1841
1841
  * @param {string} side 'buy' or 'sell'
1842
1842
  * @param {float} amount how much of the currency you want to trade in units of the base currency
1843
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1843
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1844
1844
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1845
1845
  * @param {float} [params.stopLossPrice] *margin only* the price that a stop loss order is triggered at
1846
1846
  * @param {float} [params.takeProfitPrice] *margin only* the price that a take profit order is triggered at
@@ -176,6 +176,7 @@ export default class kucoin extends Exchange {
176
176
  info: any;
177
177
  };
178
178
  fetchDepositWithdrawFees(codes?: Strings, params?: {}): Promise<any>;
179
+ setLeverage(leverage: Int, symbol?: Str, params?: {}): Promise<any>;
179
180
  sign(path: any, api?: string, method?: string, params?: {}, headers?: any, body?: any): {
180
181
  url: any;
181
182
  method: string;
package/js/src/kucoin.js CHANGED
@@ -107,7 +107,7 @@ export default class kucoin extends Exchange {
107
107
  'fetchWithdrawals': true,
108
108
  'repayCrossMargin': true,
109
109
  'repayIsolatedMargin': true,
110
- 'setLeverage': false,
110
+ 'setLeverage': true,
111
111
  'setMarginMode': false,
112
112
  'setPositionMode': false,
113
113
  'signIn': false,
@@ -203,6 +203,7 @@ export default class kucoin extends Exchange {
203
203
  'market/orderbook/level3': 3,
204
204
  'hf/orders/active': 2,
205
205
  'hf/orders/active/symbols': 2,
206
+ 'hf/margin/order/active/symbols': 2,
206
207
  'hf/orders/done': 2,
207
208
  'hf/orders/{orderId}': 2,
208
209
  'hf/orders/client-order/{clientOid}': 2,
@@ -231,6 +232,7 @@ export default class kucoin extends Exchange {
231
232
  'margin/currencies': 20,
232
233
  'risk/limit/strategy': 20,
233
234
  'isolated/symbols': 20,
235
+ 'margin/symbols': 5,
234
236
  'isolated/account/{symbol}': 50,
235
237
  'margin/borrow': 15,
236
238
  'margin/repay': 15,
@@ -279,7 +281,8 @@ export default class kucoin extends Exchange {
279
281
  'redeem': 15,
280
282
  'lend/purchase/update': 10,
281
283
  // ws
282
- 'bullet-private': 10, // 10SW
284
+ 'bullet-private': 10,
285
+ 'position/update-user-leverage': 5,
283
286
  },
284
287
  'delete': {
285
288
  // account
@@ -666,6 +669,7 @@ export default class kucoin extends Exchange {
666
669
  'oco/orders': 'v3',
667
670
  // margin trading
668
671
  'hf/margin/orders/active': 'v3',
672
+ 'hf/margin/order/active/symbols': 'v3',
669
673
  'hf/margin/orders/done': 'v3',
670
674
  'hf/margin/orders/{orderId}': 'v3',
671
675
  'hf/margin/orders/client-order/{clientOid}': 'v3',
@@ -679,6 +683,7 @@ export default class kucoin extends Exchange {
679
683
  'project/marketInterestRate': 'v3',
680
684
  'redeem/orders': 'v3',
681
685
  'purchase/orders': 'v3',
686
+ 'margin/symbols': 'v3',
682
687
  },
683
688
  'POST': {
684
689
  // account
@@ -698,6 +703,7 @@ export default class kucoin extends Exchange {
698
703
  'purchase': 'v3',
699
704
  'redeem': 'v3',
700
705
  'lend/purchase/update': 'v3',
706
+ 'position/update-user-leverage': 'v3',
701
707
  },
702
708
  'DELETE': {
703
709
  // account
@@ -1020,7 +1026,10 @@ export default class kucoin extends Exchange {
1020
1026
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1021
1027
  * @returns {object[]} an array of objects representing market data
1022
1028
  */
1023
- const response = await this.publicGetSymbols(params);
1029
+ let fetchTickersFees = undefined;
1030
+ [fetchTickersFees, params] = this.handleOptionAndParams(params, 'fetchMarkets', 'fetchTickersFees', true);
1031
+ const promises = [];
1032
+ promises.push(this.publicGetSymbols(params));
1024
1033
  //
1025
1034
  // {
1026
1035
  // "code": "200000",
@@ -1043,60 +1052,100 @@ export default class kucoin extends Exchange {
1043
1052
  // "isMarginEnabled": true,
1044
1053
  // "enableTrading": true
1045
1054
  // },
1046
- // ]
1047
- // }
1048
1055
  //
1049
- const data = this.safeList(response, 'data');
1050
- const options = this.safeDict(this.options, 'fetchMarkets', {});
1051
- const fetchTickersFees = this.safeBool(options, 'fetchTickersFees', true);
1052
- let tickersResponse = {};
1056
+ const requestMarginables = this.checkRequiredCredentials(false);
1057
+ if (requestMarginables) {
1058
+ promises.push(this.privateGetMarginSymbols(params)); // cross margin symbols
1059
+ //
1060
+ // {
1061
+ // "code": "200000",
1062
+ // "data": {
1063
+ // "timestamp": 1719393213421,
1064
+ // "items": [
1065
+ // {
1066
+ // // same object as in market, with one additional field:
1067
+ // "minFunds": "0.1"
1068
+ // },
1069
+ //
1070
+ promises.push(this.privateGetIsolatedSymbols(params)); // isolated margin symbols
1071
+ //
1072
+ // {
1073
+ // "code": "200000",
1074
+ // "data": [
1075
+ // {
1076
+ // "symbol": "NKN-USDT",
1077
+ // "symbolName": "NKN-USDT",
1078
+ // "baseCurrency": "NKN",
1079
+ // "quoteCurrency": "USDT",
1080
+ // "maxLeverage": 5,
1081
+ // "flDebtRatio": "0.97",
1082
+ // "tradeEnable": true,
1083
+ // "autoRenewMaxDebtRatio": "0.96",
1084
+ // "baseBorrowEnable": true,
1085
+ // "quoteBorrowEnable": true,
1086
+ // "baseTransferInEnable": true,
1087
+ // "quoteTransferInEnable": true,
1088
+ // "baseBorrowCoefficient": "1",
1089
+ // "quoteBorrowCoefficient": "1"
1090
+ // },
1091
+ //
1092
+ }
1053
1093
  if (fetchTickersFees) {
1054
- tickersResponse = await this.publicGetMarketAllTickers(params);
1094
+ promises.push(this.publicGetMarketAllTickers(params));
1095
+ //
1096
+ // {
1097
+ // "code": "200000",
1098
+ // "data": {
1099
+ // "time":1602832092060,
1100
+ // "ticker":[
1101
+ // {
1102
+ // "symbol": "BTC-USDT", // symbol
1103
+ // "symbolName":"BTC-USDT", // Name of trading pairs, it would change after renaming
1104
+ // "buy": "11328.9", // bestAsk
1105
+ // "sell": "11329", // bestBid
1106
+ // "changeRate": "-0.0055", // 24h change rate
1107
+ // "changePrice": "-63.6", // 24h change price
1108
+ // "high": "11610", // 24h highest price
1109
+ // "low": "11200", // 24h lowest price
1110
+ // "vol": "2282.70993217", // 24h volume,the aggregated trading volume in BTC
1111
+ // "volValue": "25984946.157790431", // 24h total, the trading volume in quote currency of last 24 hours
1112
+ // "last": "11328.9", // last price
1113
+ // "averagePrice": "11360.66065903", // 24h average transaction price yesterday
1114
+ // "takerFeeRate": "0.001", // Basic Taker Fee
1115
+ // "makerFeeRate": "0.001", // Basic Maker Fee
1116
+ // "takerCoefficient": "1", // Taker Fee Coefficient
1117
+ // "makerCoefficient": "1" // Maker Fee Coefficient
1118
+ // }
1119
+ //
1055
1120
  }
1056
- //
1057
- // {
1058
- // "code": "200000",
1059
- // "data": {
1060
- // "time":1602832092060,
1061
- // "ticker":[
1062
- // {
1063
- // "symbol": "BTC-USDT", // symbol
1064
- // "symbolName":"BTC-USDT", // Name of trading pairs, it would change after renaming
1065
- // "buy": "11328.9", // bestAsk
1066
- // "sell": "11329", // bestBid
1067
- // "changeRate": "-0.0055", // 24h change rate
1068
- // "changePrice": "-63.6", // 24h change price
1069
- // "high": "11610", // 24h highest price
1070
- // "low": "11200", // 24h lowest price
1071
- // "vol": "2282.70993217", // 24h volume,the aggregated trading volume in BTC
1072
- // "volValue": "25984946.157790431", // 24h total, the trading volume in quote currency of last 24 hours
1073
- // "last": "11328.9", // last price
1074
- // "averagePrice": "11360.66065903", // 24h average transaction price yesterday
1075
- // "takerFeeRate": "0.001", // Basic Taker Fee
1076
- // "makerFeeRate": "0.001", // Basic Maker Fee
1077
- // "takerCoefficient": "1", // Taker Fee Coefficient
1078
- // "makerCoefficient": "1" // Maker Fee Coefficient
1079
- // }
1080
- // ]
1081
- // }
1082
- // }
1083
- //
1084
- const tickersData = this.safeDict(tickersResponse, 'data', {});
1085
- const tickers = this.safeList(tickersData, 'ticker', []);
1086
- const tickersByMarketId = this.indexBy(tickers, 'symbol');
1121
+ const responses = await Promise.all(promises);
1122
+ const symbolsData = this.safeList(responses[0], 'data');
1123
+ const crossData = requestMarginables ? this.safeDict(responses[1], 'data', {}) : {};
1124
+ const crossItems = this.safeList(crossData, 'items', []);
1125
+ const crossById = this.indexBy(crossItems, 'symbol');
1126
+ const isolatedData = requestMarginables ? responses[2] : {};
1127
+ const isolatedItems = this.safeList(isolatedData, 'data', []);
1128
+ const isolatedById = this.indexBy(isolatedItems, 'symbol');
1129
+ const tickersIdx = requestMarginables ? 3 : 1;
1130
+ const tickersResponse = this.safeDict(responses, tickersIdx, {});
1131
+ const tickerItems = this.safeList(this.safeDict(tickersResponse, 'data', {}), 'ticker', []);
1132
+ const tickersById = this.indexBy(tickerItems, 'symbol');
1087
1133
  const result = [];
1088
- for (let i = 0; i < data.length; i++) {
1089
- const market = data[i];
1134
+ for (let i = 0; i < symbolsData.length; i++) {
1135
+ const market = symbolsData[i];
1090
1136
  const id = this.safeString(market, 'symbol');
1091
1137
  const [baseId, quoteId] = id.split('-');
1092
1138
  const base = this.safeCurrencyCode(baseId);
1093
1139
  const quote = this.safeCurrencyCode(quoteId);
1094
1140
  // const quoteIncrement = this.safeNumber (market, 'quoteIncrement');
1095
- const ticker = this.safeDict(tickersByMarketId, id, {});
1141
+ const ticker = this.safeDict(tickersById, id, {});
1096
1142
  const makerFeeRate = this.safeString(ticker, 'makerFeeRate');
1097
1143
  const takerFeeRate = this.safeString(ticker, 'takerFeeRate');
1098
1144
  const makerCoefficient = this.safeString(ticker, 'makerCoefficient');
1099
1145
  const takerCoefficient = this.safeString(ticker, 'takerCoefficient');
1146
+ const hasCrossMargin = (id in crossById);
1147
+ const hasIsolatedMargin = (id in isolatedById);
1148
+ const isMarginable = this.safeBool(market, 'isMarginEnabled', false) || hasCrossMargin || hasIsolatedMargin;
1100
1149
  result.push({
1101
1150
  'id': id,
1102
1151
  'symbol': base + '/' + quote,
@@ -1108,7 +1157,11 @@ export default class kucoin extends Exchange {
1108
1157
  'settleId': undefined,
1109
1158
  'type': 'spot',
1110
1159
  'spot': true,
1111
- 'margin': this.safeBool(market, 'isMarginEnabled'),
1160
+ 'margin': isMarginable,
1161
+ 'marginMode': {
1162
+ 'cross': hasCrossMargin,
1163
+ 'isolated': hasIsolatedMargin,
1164
+ },
1112
1165
  'swap': false,
1113
1166
  'future': false,
1114
1167
  'option': false,
@@ -1993,7 +2046,7 @@ export default class kucoin extends Exchange {
1993
2046
  * @param {string} type 'limit' or 'market'
1994
2047
  * @param {string} side 'buy' or 'sell'
1995
2048
  * @param {float} amount the amount of currency to trade
1996
- * @param {float} [price] *ignored in "market" orders* the price at which the order is to be fullfilled at in units of the quote currency
2049
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1997
2050
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1998
2051
  * @param {float} [params.triggerPrice] The price at which a trigger order is triggered at
1999
2052
  * @param {string} [params.marginMode] 'cross', // cross (cross mode) and isolated (isolated mode), set to cross by default, the isolated mode will be released soon, stay tuned
@@ -2285,7 +2338,7 @@ export default class kucoin extends Exchange {
2285
2338
  * @param {string} type not used
2286
2339
  * @param {string} side not used
2287
2340
  * @param {float} amount how much of the currency you want to trade in units of the base currency
2288
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the base currency, ignored in market orders
2341
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
2289
2342
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2290
2343
  * @param {string} [params.clientOrderId] client order id, defaults to id if not passed
2291
2344
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
@@ -4805,6 +4858,42 @@ export default class kucoin extends Exchange {
4805
4858
  const data = this.safeList(response, 'data', []);
4806
4859
  return this.parseDepositWithdrawFees(data, codes, 'currency');
4807
4860
  }
4861
+ async setLeverage(leverage, symbol = undefined, params = {}) {
4862
+ /**
4863
+ * @method
4864
+ * @name kucoin#setLeverage
4865
+ * @description set the level of leverage for a market
4866
+ * @see https://www.kucoin.com/docs/rest/margin-trading/margin-trading-v3-/modify-leverage-multiplier
4867
+ * @param {string} symbol unified market symbol
4868
+ * @param {object} [params] extra parameters specific to the exchange API endpoint
4869
+ * @returns {object} response from the exchange
4870
+ */
4871
+ await this.loadMarkets();
4872
+ let market = undefined;
4873
+ let marketType = undefined;
4874
+ [marketType, params] = this.handleMarketTypeAndParams('setLeverage', undefined, params);
4875
+ if ((symbol !== undefined) || marketType !== 'spot') {
4876
+ market = this.market(symbol);
4877
+ if (market['contract']) {
4878
+ throw new NotSupported(this.id + ' setLeverage currently supports only spot margin');
4879
+ }
4880
+ }
4881
+ let marginMode = undefined;
4882
+ [marginMode, params] = this.handleMarginModeAndParams('setLeverage', params);
4883
+ if (marginMode === undefined) {
4884
+ throw new ArgumentsRequired(this.id + ' setLeverage requires a marginMode parameter');
4885
+ }
4886
+ const request = {};
4887
+ if (marginMode === 'isolated' && symbol === undefined) {
4888
+ throw new ArgumentsRequired(this.id + ' setLeverage requires a symbol parameter for isolated margin');
4889
+ }
4890
+ if (symbol !== undefined) {
4891
+ request['symbol'] = market['id'];
4892
+ }
4893
+ request['leverage'] = leverage.toString();
4894
+ request['isIsolated'] = (marginMode === 'isolated');
4895
+ return await this.privatePostPositionUpdateUserLeverage(this.extend(request, params));
4896
+ }
4808
4897
  sign(path, api = 'public', method = 'GET', params = {}, headers = undefined, body = undefined) {
4809
4898
  //
4810
4899
  // the v2 URL is https://openapi-v2.kucoin.com/api/v1/endpoint
@@ -1356,7 +1356,7 @@ export default class kucoinfutures extends kucoin {
1356
1356
  * @param {string} type 'limit' or 'market'
1357
1357
  * @param {string} side 'buy' or 'sell'
1358
1358
  * @param {float} amount the amount of currency to trade
1359
- * @param {float} [price] *ignored in "market" orders* the price at which the order is to be fullfilled at in units of the quote currency
1359
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1360
1360
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1361
1361
  * @param {float} [params.triggerPrice] The price a trigger order is triggered at
1362
1362
  * @param {float} [params.stopLossPrice] price to trigger stop-loss orders
package/js/src/kuna.js CHANGED
@@ -947,7 +947,7 @@ export default class kuna extends Exchange {
947
947
  * @param {string} type 'market' or 'limit'
948
948
  * @param {string} side 'buy' or 'sell'
949
949
  * @param {float} amount how much of currency you want to trade in units of base currency
950
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
950
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
951
951
  * @param {object} [params] extra parameters specific to the exchange API endpoint
952
952
  * @param {float} [params.triggerPrice] the price at which a trigger order is triggered at
953
953
  *
package/js/src/latoken.js CHANGED
@@ -1285,7 +1285,7 @@ export default class latoken extends Exchange {
1285
1285
  * @param {string} type 'market' or 'limit'
1286
1286
  * @param {string} side 'buy' or 'sell'
1287
1287
  * @param {float} amount how much of currency you want to trade in units of base currency
1288
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1288
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1289
1289
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1290
1290
  * @param {float} [params.triggerPrice] the price at which a trigger order is triggered at
1291
1291
  *
package/js/src/lbank.d.ts CHANGED
@@ -33,8 +33,8 @@ export default class lbank extends Exchange {
33
33
  fetchMyTrades(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Trade[]>;
34
34
  fetchOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
35
35
  fetchOpenOrders(symbol?: Str, since?: Int, limit?: Int, params?: {}): Promise<Order[]>;
36
- cancelOrder(id: string, symbol?: Str, params?: {}): Promise<any>;
37
- cancelAllOrders(symbol?: Str, params?: {}): Promise<any>;
36
+ cancelOrder(id: string, symbol?: Str, params?: {}): Promise<Order>;
37
+ cancelAllOrders(symbol?: Str, params?: {}): Promise<Order[]>;
38
38
  getNetworkCodeForCurrency(currencyCode: any, params: any): string;
39
39
  fetchDepositAddress(code: string, params?: {}): Promise<any>;
40
40
  fetchDepositAddressDefault(code: string, params?: {}): Promise<{
package/js/src/lbank.js CHANGED
@@ -1314,7 +1314,7 @@ export default class lbank extends Exchange {
1314
1314
  * @param {string} type 'market' or 'limit'
1315
1315
  * @param {string} side 'buy' or 'sell'
1316
1316
  * @param {float} amount how much of currency you want to trade in units of base currency
1317
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1317
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1318
1318
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1319
1319
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
1320
1320
  */
@@ -1489,6 +1489,27 @@ export default class lbank extends Exchange {
1489
1489
  // "status":-1
1490
1490
  // }
1491
1491
  //
1492
+ // cancelOrder
1493
+ //
1494
+ // {
1495
+ // "executedQty":0.0,
1496
+ // "price":0.05,
1497
+ // "origQty":100.0,
1498
+ // "tradeType":"buy",
1499
+ // "status":0
1500
+ // }
1501
+ //
1502
+ // cancelAllOrders
1503
+ //
1504
+ // {
1505
+ // "executedQty":0.00000000000000000000,
1506
+ // "orderId":"293ef71b-3e67-4962-af93-aa06990a045f",
1507
+ // "price":0.05000000000000000000,
1508
+ // "origQty":100.00000000000000000000,
1509
+ // "tradeType":"buy",
1510
+ // "status":0
1511
+ // }
1512
+ //
1492
1513
  const id = this.safeString2(order, 'orderId', 'order_id');
1493
1514
  const clientOrderId = this.safeString2(order, 'clientOrderId', 'custom_id');
1494
1515
  const timestamp = this.safeInteger2(order, 'time', 'create_time');
@@ -1498,7 +1519,7 @@ export default class lbank extends Exchange {
1498
1519
  let timeInForce = undefined;
1499
1520
  let postOnly = false;
1500
1521
  let type = 'limit';
1501
- const rawType = this.safeString(order, 'type'); // buy, sell, buy_market, sell_market, buy_maker,sell_maker,buy_ioc,sell_ioc, buy_fok, sell_fok
1522
+ const rawType = this.safeString2(order, 'type', 'tradeType'); // buy, sell, buy_market, sell_market, buy_maker,sell_maker,buy_ioc,sell_ioc, buy_fok, sell_fok
1502
1523
  const parts = rawType.split('_');
1503
1524
  const side = this.safeString(parts, 0);
1504
1525
  const typePart = this.safeString(parts, 1); // market, maker, ioc, fok or undefined (limit)
@@ -1862,12 +1883,12 @@ export default class lbank extends Exchange {
1862
1883
  // "origQty":100.0,
1863
1884
  // "tradeType":"buy",
1864
1885
  // "status":0
1865
- // },
1886
+ // },
1866
1887
  // "error_code":0,
1867
1888
  // "ts":1648501286196
1868
1889
  // }
1869
- const result = this.safeValue(response, 'data', {});
1870
- return result;
1890
+ const data = this.safeDict(response, 'data', {});
1891
+ return this.parseOrder(data);
1871
1892
  }
1872
1893
  async cancelAllOrders(symbol = undefined, params = {}) {
1873
1894
  /**
@@ -1905,8 +1926,8 @@ export default class lbank extends Exchange {
1905
1926
  // "ts":1648506641469
1906
1927
  // }
1907
1928
  //
1908
- const result = this.safeValue(response, 'data', []);
1909
- return result;
1929
+ const data = this.safeList(response, 'data', []);
1930
+ return this.parseOrders(data);
1910
1931
  }
1911
1932
  getNetworkCodeForCurrency(currencyCode, params) {
1912
1933
  const defaultNetworks = this.safeValue(this.options, 'defaultNetworks');
package/js/src/luno.js CHANGED
@@ -917,7 +917,7 @@ export default class luno extends Exchange {
917
917
  * @param {string} type 'market' or 'limit'
918
918
  * @param {string} side 'buy' or 'sell'
919
919
  * @param {float} amount how much of currency you want to trade in units of base currency
920
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
920
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
921
921
  * @param {object} [params] extra parameters specific to the exchange API endpoint
922
922
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
923
923
  */
package/js/src/lykke.js CHANGED
@@ -796,7 +796,7 @@ export default class lykke extends Exchange {
796
796
  * @param {string} type 'market' or 'limit'
797
797
  * @param {string} side 'buy' or 'sell'
798
798
  * @param {float} amount how much of currency you want to trade in units of base currency
799
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
799
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
800
800
  * @param {object} [params] extra parameters specific to the exchange API endpoint
801
801
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
802
802
  */
package/js/src/mercado.js CHANGED
@@ -442,7 +442,7 @@ export default class mercado extends Exchange {
442
442
  * @param {string} type 'market' or 'limit'
443
443
  * @param {string} side 'buy' or 'sell'
444
444
  * @param {float} amount how much of currency you want to trade in units of base currency
445
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
445
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
446
446
  * @param {object} [params] extra parameters specific to the exchange API endpoint
447
447
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
448
448
  */
package/js/src/mexc.js CHANGED
@@ -2212,7 +2212,7 @@ export default class mexc extends Exchange {
2212
2212
  * @param {string} type 'market' or 'limit'
2213
2213
  * @param {string} side 'buy' or 'sell'
2214
2214
  * @param {float} amount how much of currency you want to trade in units of base currency
2215
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
2215
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
2216
2216
  * @param {object} [params] extra parameters specific to the exchange API endpoint
2217
2217
  * @param {string} [params.marginMode] only 'isolated' is supported for spot-margin trading
2218
2218
  * @param {float} [params.triggerPrice] The price at which a trigger order is triggered at
package/js/src/ndax.js CHANGED
@@ -1345,7 +1345,7 @@ export default class ndax extends Exchange {
1345
1345
  * @param {string} type 'market' or 'limit'
1346
1346
  * @param {string} side 'buy' or 'sell'
1347
1347
  * @param {float} amount how much of currency you want to trade in units of base currency
1348
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1348
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1349
1349
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1350
1350
  * @param {float} [params.triggerPrice] the price at which a trigger order would be triggered
1351
1351
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
package/js/src/novadax.js CHANGED
@@ -741,7 +741,7 @@ export default class novadax extends Exchange {
741
741
  * @param {string} type 'market' or 'limit'
742
742
  * @param {string} side 'buy' or 'sell'
743
743
  * @param {float} amount how much you want to trade in units of the base currency
744
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
744
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
745
745
  * @param {object} [params] extra parameters specific to the exchange API endpoint
746
746
  * @param {float} [params.cost] for spot market buy orders, the quote quantity that can be used as an alternative for the amount
747
747
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
package/js/src/oceanex.js CHANGED
@@ -633,7 +633,7 @@ export default class oceanex extends Exchange {
633
633
  * @param {string} type 'market' or 'limit'
634
634
  * @param {string} side 'buy' or 'sell'
635
635
  * @param {float} amount how much of currency you want to trade in units of base currency
636
- * @param {float} [price] the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
636
+ * @param {float} [price] the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
637
637
  * @param {object} [params] extra parameters specific to the exchange API endpoint
638
638
  * @returns {object} an [order structure]{@link https://docs.ccxt.com/#/?id=order-structure}
639
639
  */
package/js/src/okcoin.js CHANGED
@@ -1333,7 +1333,7 @@ export default class okcoin extends Exchange {
1333
1333
  * @param {string} type 'market' or 'limit'
1334
1334
  * @param {string} side 'buy' or 'sell'
1335
1335
  * @param {float} amount how much of currency you want to trade in units of base currency
1336
- * @param {float} price the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1336
+ * @param {float} price the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1337
1337
  * @param {object} [params] extra parameters specific to the exchange API endpoint
1338
1338
  * @param {bool} [params.reduceOnly] MARGIN orders only, or swap/future orders in net mode
1339
1339
  * @param {bool} [params.postOnly] true to place a post only order