ccxt 4.3.54__py2.py3-none-any.whl → 4.3.56__py2.py3-none-any.whl

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.

Potentially problematic release.


This version of ccxt might be problematic. Click here for more details.

Files changed (255) hide show
  1. ccxt/__init__.py +1 -1
  2. ccxt/abstract/bingx.py +16 -0
  3. ccxt/abstract/kucoin.py +3 -0
  4. ccxt/abstract/kucoinfutures.py +3 -0
  5. ccxt/ace.py +1 -1
  6. ccxt/alpaca.py +1 -1
  7. ccxt/ascendex.py +6 -4
  8. ccxt/async_support/__init__.py +1 -1
  9. ccxt/async_support/ace.py +1 -1
  10. ccxt/async_support/alpaca.py +1 -1
  11. ccxt/async_support/ascendex.py +6 -4
  12. ccxt/async_support/base/exchange.py +19 -3
  13. ccxt/async_support/bigone.py +1 -1
  14. ccxt/async_support/binance.py +13 -13
  15. ccxt/async_support/bingx.py +36 -3
  16. ccxt/async_support/bit2c.py +1 -1
  17. ccxt/async_support/bitbank.py +1 -1
  18. ccxt/async_support/bitbns.py +1 -1
  19. ccxt/async_support/bitfinex.py +1 -1
  20. ccxt/async_support/bitfinex2.py +1 -1
  21. ccxt/async_support/bitflyer.py +8 -2
  22. ccxt/async_support/bitget.py +2 -2
  23. ccxt/async_support/bithumb.py +1 -1
  24. ccxt/async_support/bitmart.py +3 -3
  25. ccxt/async_support/bitmex.py +1 -1
  26. ccxt/async_support/bitopro.py +19 -4
  27. ccxt/async_support/bitrue.py +1 -1
  28. ccxt/async_support/bitso.py +1 -1
  29. ccxt/async_support/bitstamp.py +1 -1
  30. ccxt/async_support/bitteam.py +1 -1
  31. ccxt/async_support/bitvavo.py +2 -2
  32. ccxt/async_support/bl3p.py +1 -1
  33. ccxt/async_support/blockchaincom.py +28 -28
  34. ccxt/async_support/blofin.py +1 -1
  35. ccxt/async_support/btcalpha.py +4 -11
  36. ccxt/async_support/btcbox.py +1 -1
  37. ccxt/async_support/btcmarkets.py +28 -27
  38. ccxt/async_support/btcturk.py +1 -1
  39. ccxt/async_support/bybit.py +10 -7
  40. ccxt/async_support/cex.py +2 -2
  41. ccxt/async_support/coinbase.py +33 -33
  42. ccxt/async_support/coinbaseexchange.py +1 -1
  43. ccxt/async_support/coinbaseinternational.py +1 -1
  44. ccxt/async_support/coincheck.py +1 -1
  45. ccxt/async_support/coinex.py +2 -2
  46. ccxt/async_support/coinlist.py +2 -2
  47. ccxt/async_support/coinmate.py +1 -1
  48. ccxt/async_support/coinmetro.py +1 -1
  49. ccxt/async_support/coinone.py +1 -1
  50. ccxt/async_support/coinsph.py +1 -1
  51. ccxt/async_support/coinspot.py +1 -1
  52. ccxt/async_support/cryptocom.py +1 -1
  53. ccxt/async_support/currencycom.py +1 -1
  54. ccxt/async_support/delta.py +7 -3
  55. ccxt/async_support/deribit.py +4 -4
  56. ccxt/async_support/digifinex.py +2 -2
  57. ccxt/async_support/exmo.py +2 -2
  58. ccxt/async_support/gate.py +3 -2
  59. ccxt/async_support/gemini.py +1 -1
  60. ccxt/async_support/hitbtc.py +1 -1
  61. ccxt/async_support/hollaex.py +1 -1
  62. ccxt/async_support/htx.py +3 -3
  63. ccxt/async_support/huobijp.py +1 -1
  64. ccxt/async_support/hyperliquid.py +3 -3
  65. ccxt/async_support/idex.py +1 -1
  66. ccxt/async_support/independentreserve.py +1 -1
  67. ccxt/async_support/indodax.py +1 -1
  68. ccxt/async_support/kraken.py +2 -2
  69. ccxt/async_support/kucoin.py +127 -46
  70. ccxt/async_support/kucoinfutures.py +1 -1
  71. ccxt/async_support/kuna.py +1 -1
  72. ccxt/async_support/latoken.py +1 -1
  73. ccxt/async_support/lbank.py +28 -7
  74. ccxt/async_support/luno.py +1 -1
  75. ccxt/async_support/lykke.py +1 -1
  76. ccxt/async_support/mercado.py +1 -1
  77. ccxt/async_support/mexc.py +1 -1
  78. ccxt/async_support/ndax.py +1 -1
  79. ccxt/async_support/novadax.py +1 -1
  80. ccxt/async_support/oceanex.py +1 -1
  81. ccxt/async_support/okcoin.py +1 -1
  82. ccxt/async_support/okx.py +3 -3
  83. ccxt/async_support/onetrading.py +1 -1
  84. ccxt/async_support/oxfun.py +2 -2
  85. ccxt/async_support/p2b.py +1 -1
  86. ccxt/async_support/paymium.py +1 -1
  87. ccxt/async_support/phemex.py +2 -2
  88. ccxt/async_support/poloniex.py +4 -3
  89. ccxt/async_support/poloniexfutures.py +1 -1
  90. ccxt/async_support/probit.py +1 -1
  91. ccxt/async_support/timex.py +1 -1
  92. ccxt/async_support/tokocrypto.py +1 -1
  93. ccxt/async_support/tradeogre.py +1 -1
  94. ccxt/async_support/upbit.py +1 -1
  95. ccxt/async_support/vertex.py +2 -2
  96. ccxt/async_support/wavesexchange.py +1 -1
  97. ccxt/async_support/wazirx.py +1 -1
  98. ccxt/async_support/whitebit.py +2 -2
  99. ccxt/async_support/woo.py +5 -5
  100. ccxt/async_support/woofipro.py +3 -3
  101. ccxt/async_support/yobit.py +1 -1
  102. ccxt/async_support/zaif.py +1 -1
  103. ccxt/async_support/zonda.py +1 -1
  104. ccxt/base/exchange.py +19 -3
  105. ccxt/base/types.py +4 -1
  106. ccxt/bigone.py +1 -1
  107. ccxt/binance.py +13 -13
  108. ccxt/bingx.py +36 -3
  109. ccxt/bit2c.py +1 -1
  110. ccxt/bitbank.py +1 -1
  111. ccxt/bitbns.py +1 -1
  112. ccxt/bitfinex.py +1 -1
  113. ccxt/bitfinex2.py +1 -1
  114. ccxt/bitflyer.py +8 -2
  115. ccxt/bitget.py +2 -2
  116. ccxt/bithumb.py +1 -1
  117. ccxt/bitmart.py +3 -3
  118. ccxt/bitmex.py +1 -1
  119. ccxt/bitopro.py +19 -4
  120. ccxt/bitrue.py +1 -1
  121. ccxt/bitso.py +1 -1
  122. ccxt/bitstamp.py +1 -1
  123. ccxt/bitteam.py +1 -1
  124. ccxt/bitvavo.py +2 -2
  125. ccxt/bl3p.py +1 -1
  126. ccxt/blockchaincom.py +28 -28
  127. ccxt/blofin.py +1 -1
  128. ccxt/btcalpha.py +4 -11
  129. ccxt/btcbox.py +1 -1
  130. ccxt/btcmarkets.py +28 -27
  131. ccxt/btcturk.py +1 -1
  132. ccxt/bybit.py +10 -7
  133. ccxt/cex.py +2 -2
  134. ccxt/coinbase.py +33 -33
  135. ccxt/coinbaseexchange.py +1 -1
  136. ccxt/coinbaseinternational.py +1 -1
  137. ccxt/coincheck.py +1 -1
  138. ccxt/coinex.py +2 -2
  139. ccxt/coinlist.py +2 -2
  140. ccxt/coinmate.py +1 -1
  141. ccxt/coinmetro.py +1 -1
  142. ccxt/coinone.py +1 -1
  143. ccxt/coinsph.py +1 -1
  144. ccxt/coinspot.py +1 -1
  145. ccxt/cryptocom.py +1 -1
  146. ccxt/currencycom.py +1 -1
  147. ccxt/delta.py +7 -3
  148. ccxt/deribit.py +4 -4
  149. ccxt/digifinex.py +2 -2
  150. ccxt/exmo.py +2 -2
  151. ccxt/gate.py +3 -2
  152. ccxt/gemini.py +1 -1
  153. ccxt/hitbtc.py +1 -1
  154. ccxt/hollaex.py +1 -1
  155. ccxt/htx.py +3 -3
  156. ccxt/huobijp.py +1 -1
  157. ccxt/hyperliquid.py +3 -3
  158. ccxt/idex.py +1 -1
  159. ccxt/independentreserve.py +1 -1
  160. ccxt/indodax.py +1 -1
  161. ccxt/kraken.py +2 -2
  162. ccxt/kucoin.py +127 -46
  163. ccxt/kucoinfutures.py +1 -1
  164. ccxt/kuna.py +1 -1
  165. ccxt/latoken.py +1 -1
  166. ccxt/lbank.py +28 -7
  167. ccxt/luno.py +1 -1
  168. ccxt/lykke.py +1 -1
  169. ccxt/mercado.py +1 -1
  170. ccxt/mexc.py +1 -1
  171. ccxt/ndax.py +1 -1
  172. ccxt/novadax.py +1 -1
  173. ccxt/oceanex.py +1 -1
  174. ccxt/okcoin.py +1 -1
  175. ccxt/okx.py +3 -3
  176. ccxt/onetrading.py +1 -1
  177. ccxt/oxfun.py +2 -2
  178. ccxt/p2b.py +1 -1
  179. ccxt/paymium.py +1 -1
  180. ccxt/phemex.py +2 -2
  181. ccxt/poloniex.py +4 -3
  182. ccxt/poloniexfutures.py +1 -1
  183. ccxt/pro/__init__.py +1 -1
  184. ccxt/pro/binance.py +2 -2
  185. ccxt/pro/bitvavo.py +2 -2
  186. ccxt/pro/bybit.py +2 -2
  187. ccxt/pro/cex.py +3 -3
  188. ccxt/pro/coinbase.py +22 -1
  189. ccxt/pro/cryptocom.py +1 -1
  190. ccxt/pro/gate.py +2 -2
  191. ccxt/pro/hitbtc.py +1 -1
  192. ccxt/pro/kraken.py +2 -2
  193. ccxt/pro/kucoin.py +2 -2
  194. ccxt/pro/okx.py +2 -2
  195. ccxt/pro/oxfun.py +2 -2
  196. ccxt/pro/poloniex.py +1 -1
  197. ccxt/pro/vertex.py +1 -1
  198. ccxt/probit.py +1 -1
  199. ccxt/test/{test_async.py → tests_async.py} +27 -280
  200. ccxt/test/tests_helpers.py +284 -0
  201. ccxt/test/tests_init.py +35 -0
  202. ccxt/test/{test_sync.py → tests_sync.py} +27 -282
  203. ccxt/timex.py +1 -1
  204. ccxt/tokocrypto.py +1 -1
  205. ccxt/tradeogre.py +1 -1
  206. ccxt/upbit.py +1 -1
  207. ccxt/vertex.py +2 -2
  208. ccxt/wavesexchange.py +1 -1
  209. ccxt/wazirx.py +1 -1
  210. ccxt/whitebit.py +2 -2
  211. ccxt/woo.py +5 -5
  212. ccxt/woofipro.py +3 -3
  213. ccxt/yobit.py +1 -1
  214. ccxt/zaif.py +1 -1
  215. ccxt/zonda.py +1 -1
  216. {ccxt-4.3.54.dist-info → ccxt-4.3.56.dist-info}/METADATA +5 -7
  217. {ccxt-4.3.54.dist-info → ccxt-4.3.56.dist-info}/RECORD +220 -253
  218. ccxt/test/base/__init__.py +0 -29
  219. ccxt/test/base/test_account.py +0 -26
  220. ccxt/test/base/test_balance.py +0 -56
  221. ccxt/test/base/test_borrow_interest.py +0 -35
  222. ccxt/test/base/test_borrow_rate.py +0 -32
  223. ccxt/test/base/test_calculate_fee.py +0 -51
  224. ccxt/test/base/test_crypto.py +0 -127
  225. ccxt/test/base/test_currency.py +0 -76
  226. ccxt/test/base/test_datetime.py +0 -109
  227. ccxt/test/base/test_decimal_to_precision.py +0 -392
  228. ccxt/test/base/test_deep_extend.py +0 -68
  229. ccxt/test/base/test_deposit_withdrawal.py +0 -50
  230. ccxt/test/base/test_exchange_datetime_functions.py +0 -76
  231. ccxt/test/base/test_funding_rate_history.py +0 -29
  232. ccxt/test/base/test_last_price.py +0 -31
  233. ccxt/test/base/test_ledger_entry.py +0 -45
  234. ccxt/test/base/test_ledger_item.py +0 -48
  235. ccxt/test/base/test_leverage_tier.py +0 -33
  236. ccxt/test/base/test_liquidation.py +0 -50
  237. ccxt/test/base/test_margin_mode.py +0 -24
  238. ccxt/test/base/test_margin_modification.py +0 -35
  239. ccxt/test/base/test_market.py +0 -193
  240. ccxt/test/base/test_number.py +0 -411
  241. ccxt/test/base/test_ohlcv.py +0 -33
  242. ccxt/test/base/test_open_interest.py +0 -32
  243. ccxt/test/base/test_order.py +0 -64
  244. ccxt/test/base/test_order_book.py +0 -69
  245. ccxt/test/base/test_position.py +0 -60
  246. ccxt/test/base/test_shared_methods.py +0 -353
  247. ccxt/test/base/test_status.py +0 -24
  248. ccxt/test/base/test_throttle.py +0 -126
  249. ccxt/test/base/test_ticker.py +0 -92
  250. ccxt/test/base/test_trade.py +0 -47
  251. ccxt/test/base/test_trading_fee.py +0 -26
  252. ccxt/test/base/test_transaction.py +0 -39
  253. {ccxt-4.3.54.dist-info → ccxt-4.3.56.dist-info}/LICENSE.txt +0 -0
  254. {ccxt-4.3.54.dist-info → ccxt-4.3.56.dist-info}/WHEEL +0 -0
  255. {ccxt-4.3.54.dist-info → ccxt-4.3.56.dist-info}/top_level.txt +0 -0
ccxt/gemini.py CHANGED
@@ -1382,7 +1382,7 @@ class gemini(Exchange, ImplicitAPI):
1382
1382
  :param str type: must be 'limit'
1383
1383
  :param str side: 'buy' or 'sell'
1384
1384
  :param float amount: how much of currency you want to trade in units of base currency
1385
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1385
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1386
1386
  :param dict [params]: extra parameters specific to the exchange API endpoint
1387
1387
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
1388
1388
  """
ccxt/hitbtc.py CHANGED
@@ -2132,7 +2132,7 @@ class hitbtc(Exchange, ImplicitAPI):
2132
2132
  :param str type: 'market' or 'limit'
2133
2133
  :param str side: 'buy' or 'sell'
2134
2134
  :param float amount: how much of currency you want to trade in units of base currency
2135
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
2135
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
2136
2136
  :param dict [params]: extra parameters specific to the exchange API endpoint
2137
2137
  :param str [params.marginMode]: 'cross' or 'isolated' only 'isolated' is supported for spot-margin, swap supports both, default is 'cross'
2138
2138
  :param bool [params.margin]: True for creating a margin order
ccxt/hollaex.py CHANGED
@@ -1105,7 +1105,7 @@ class hollaex(Exchange, ImplicitAPI):
1105
1105
  :param str type: 'market' or 'limit'
1106
1106
  :param str side: 'buy' or 'sell'
1107
1107
  :param float amount: how much of currency you want to trade in units of base currency
1108
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1108
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1109
1109
  :param dict [params]: extra parameters specific to the exchange API endpoint
1110
1110
  :param float [params.triggerPrice]: the price at which a trigger order is triggered at
1111
1111
  :param bool [params.postOnly]: if True, the order will only be posted to the order book and not executed immediately
ccxt/htx.py CHANGED
@@ -4805,7 +4805,7 @@ class htx(Exchange, ImplicitAPI):
4805
4805
  :param str type: 'market' or 'limit'
4806
4806
  :param str side: 'buy' or 'sell'
4807
4807
  :param float amount: how much you want to trade in units of the base currency
4808
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
4808
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
4809
4809
  :param dict [params]: extra parameters specific to the exchange API endpoint
4810
4810
  :param str [params.timeInForce]: supports 'IOC' and 'FOK'
4811
4811
  :param float [params.cost]: the quote quantity that can be used alternative for the amount for market buy orders
@@ -4909,7 +4909,7 @@ class htx(Exchange, ImplicitAPI):
4909
4909
  :param str type: 'market' or 'limit'
4910
4910
  :param str side: 'buy' or 'sell'
4911
4911
  :param float amount: how much you want to trade in units of the base currency
4912
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
4912
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
4913
4913
  :param dict [params]: extra parameters specific to the exchange API endpoint
4914
4914
  :param str [params.timeInForce]: supports 'IOC' and 'FOK'
4915
4915
  :param float [params.trailingPercent]: *contract only* the percent to trail away from the current market price
@@ -4998,7 +4998,7 @@ class htx(Exchange, ImplicitAPI):
4998
4998
  :param str type: 'market' or 'limit'
4999
4999
  :param str side: 'buy' or 'sell'
5000
5000
  :param float amount: how much you want to trade in units of the base currency
5001
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
5001
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
5002
5002
  :param dict [params]: extra parameters specific to the exchange API endpoint
5003
5003
  :param float [params.stopPrice]: the price a trigger order is triggered at
5004
5004
  :param str [params.triggerType]: *contract trigger orders only* ge: greater than or equal to, le: less than or equal to
ccxt/huobijp.py CHANGED
@@ -1327,7 +1327,7 @@ class huobijp(Exchange, ImplicitAPI):
1327
1327
  :param str type: 'market' or 'limit'
1328
1328
  :param str side: 'buy' or 'sell'
1329
1329
  :param float amount: how much of currency you want to trade in units of base currency
1330
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1330
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1331
1331
  :param dict [params]: extra parameters specific to the exchange API endpoint
1332
1332
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
1333
1333
  """
ccxt/hyperliquid.py CHANGED
@@ -592,7 +592,7 @@ class hyperliquid(Exchange, ImplicitAPI):
592
592
  'limits': {
593
593
  'leverage': {
594
594
  'min': None,
595
- 'max': None,
595
+ 'max': self.safe_integer(market, 'maxLeverage'),
596
596
  },
597
597
  'amount': {
598
598
  'min': None,
@@ -995,7 +995,7 @@ class hyperliquid(Exchange, ImplicitAPI):
995
995
  :param str type: 'market' or 'limit'
996
996
  :param str side: 'buy' or 'sell'
997
997
  :param float amount: how much of currency you want to trade in units of base currency
998
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
998
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
999
999
  :param dict [params]: extra parameters specific to the exchange API endpoint
1000
1000
  :param str [params.timeInForce]: 'Gtc', 'Ioc', 'Alo'
1001
1001
  :param bool [params.postOnly]: True or False whether the order is post-only
@@ -1367,7 +1367,7 @@ class hyperliquid(Exchange, ImplicitAPI):
1367
1367
  :param str type: 'market' or 'limit'
1368
1368
  :param str side: 'buy' or 'sell'
1369
1369
  :param float amount: how much of currency you want to trade in units of base currency
1370
- :param float [price]: the price at which the order is to be fullfilled, in units of the base currency, ignored in market orders
1370
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1371
1371
  :param dict [params]: extra parameters specific to the exchange API endpoint
1372
1372
  :param str [params.timeInForce]: 'Gtc', 'Ioc', 'Alo'
1373
1373
  :param bool [params.postOnly]: True or False whether the order is post-only
ccxt/idex.py CHANGED
@@ -1117,7 +1117,7 @@ class idex(Exchange, ImplicitAPI):
1117
1117
  :param str type: 'market' or 'limit'
1118
1118
  :param str side: 'buy' or 'sell'
1119
1119
  :param float amount: how much of currency you want to trade in units of base currency
1120
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1120
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1121
1121
  :param dict [params]: extra parameters specific to the exchange API endpoint
1122
1122
  :param bool [params.test]: set to True to test an order, no order will be created but the request will be validated
1123
1123
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
@@ -653,7 +653,7 @@ class independentreserve(Exchange, ImplicitAPI):
653
653
  :param str type: 'market' or 'limit'
654
654
  :param str side: 'buy' or 'sell'
655
655
  :param float amount: how much of currency you want to trade in units of base currency
656
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
656
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
657
657
  :param dict [params]: extra parameters specific to the exchange API endpoint
658
658
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
659
659
  """
ccxt/indodax.py CHANGED
@@ -797,7 +797,7 @@ class indodax(Exchange, ImplicitAPI):
797
797
  :param str type: 'market' or 'limit'
798
798
  :param str side: 'buy' or 'sell'
799
799
  :param float amount: how much of currency you want to trade in units of base currency
800
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
800
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
801
801
  :param dict [params]: extra parameters specific to the exchange API endpoint
802
802
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
803
803
  """
ccxt/kraken.py CHANGED
@@ -1343,7 +1343,7 @@ class kraken(Exchange, ImplicitAPI):
1343
1343
  :param str type: 'market' or 'limit'
1344
1344
  :param str side: 'buy' or 'sell'
1345
1345
  :param float amount: how much of currency you want to trade in units of base currency
1346
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1346
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1347
1347
  :param dict [params]: extra parameters specific to the exchange API endpoint
1348
1348
  :param bool [params.postOnly]: if True, the order will only be posted to the order book and not executed immediately
1349
1349
  :param bool [params.reduceOnly]: *margin only* indicates if self order is to reduce the size of a position
@@ -1737,7 +1737,7 @@ class kraken(Exchange, ImplicitAPI):
1737
1737
  :param str type: 'market' or 'limit'
1738
1738
  :param str side: 'buy' or 'sell'
1739
1739
  :param float amount: how much of the currency you want to trade in units of the base currency
1740
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1740
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1741
1741
  :param dict [params]: extra parameters specific to the exchange API endpoint
1742
1742
  :param float [params.stopLossPrice]: *margin only* the price that a stop loss order is triggered at
1743
1743
  :param float [params.takeProfitPrice]: *margin only* the price that a take profit order is triggered at
ccxt/kucoin.py CHANGED
@@ -123,7 +123,7 @@ class kucoin(Exchange, ImplicitAPI):
123
123
  'fetchWithdrawals': True,
124
124
  'repayCrossMargin': True,
125
125
  'repayIsolatedMargin': True,
126
- 'setLeverage': False,
126
+ 'setLeverage': True,
127
127
  'setMarginMode': False,
128
128
  'setPositionMode': False,
129
129
  'signIn': False,
@@ -219,6 +219,7 @@ class kucoin(Exchange, ImplicitAPI):
219
219
  'market/orderbook/level3': 3, # 3SW
220
220
  'hf/orders/active': 2, # 2SW
221
221
  'hf/orders/active/symbols': 2, # 2SW
222
+ 'hf/margin/order/active/symbols': 2, # 2SW
222
223
  'hf/orders/done': 2, # 2SW
223
224
  'hf/orders/{orderId}': 2, # 2SW
224
225
  'hf/orders/client-order/{clientOid}': 2, # 2SW
@@ -247,6 +248,7 @@ class kucoin(Exchange, ImplicitAPI):
247
248
  'margin/currencies': 20, # 20SW
248
249
  'risk/limit/strategy': 20, # 20SW(Deprecate)
249
250
  'isolated/symbols': 20, # 20SW
251
+ 'margin/symbols': 5,
250
252
  'isolated/account/{symbol}': 50, # 50SW
251
253
  'margin/borrow': 15, # 15SW
252
254
  'margin/repay': 15, # 15SW
@@ -296,6 +298,7 @@ class kucoin(Exchange, ImplicitAPI):
296
298
  'lend/purchase/update': 10, # 10SW
297
299
  # ws
298
300
  'bullet-private': 10, # 10SW
301
+ 'position/update-user-leverage': 5,
299
302
  },
300
303
  'delete': {
301
304
  # account
@@ -682,6 +685,7 @@ class kucoin(Exchange, ImplicitAPI):
682
685
  'oco/orders': 'v3',
683
686
  # margin trading
684
687
  'hf/margin/orders/active': 'v3',
688
+ 'hf/margin/order/active/symbols': 'v3',
685
689
  'hf/margin/orders/done': 'v3',
686
690
  'hf/margin/orders/{orderId}': 'v3',
687
691
  'hf/margin/orders/client-order/{clientOid}': 'v3',
@@ -695,6 +699,7 @@ class kucoin(Exchange, ImplicitAPI):
695
699
  'project/marketInterestRate': 'v3',
696
700
  'redeem/orders': 'v3',
697
701
  'purchase/orders': 'v3',
702
+ 'margin/symbols': 'v3',
698
703
  },
699
704
  'POST': {
700
705
  # account
@@ -714,6 +719,7 @@ class kucoin(Exchange, ImplicitAPI):
714
719
  'purchase': 'v3',
715
720
  'redeem': 'v3',
716
721
  'lend/purchase/update': 'v3',
722
+ 'position/update-user-leverage': 'v3',
717
723
  },
718
724
  'DELETE': {
719
725
  # account
@@ -1030,7 +1036,10 @@ class kucoin(Exchange, ImplicitAPI):
1030
1036
  :param dict [params]: extra parameters specific to the exchange API endpoint
1031
1037
  :returns dict[]: an array of objects representing market data
1032
1038
  """
1033
- response = self.publicGetSymbols(params)
1039
+ fetchTickersFees = None
1040
+ fetchTickersFees, params = self.handle_option_and_params(params, 'fetchMarkets', 'fetchTickersFees', True)
1041
+ promises = []
1042
+ promises.append(self.publicGetSymbols(params))
1034
1043
  #
1035
1044
  # {
1036
1045
  # "code": "200000",
@@ -1053,59 +1062,98 @@ class kucoin(Exchange, ImplicitAPI):
1053
1062
  # "isMarginEnabled": True,
1054
1063
  # "enableTrading": True
1055
1064
  # },
1056
- # ]
1057
- # }
1058
1065
  #
1059
- data = self.safe_list(response, 'data')
1060
- options = self.safe_dict(self.options, 'fetchMarkets', {})
1061
- fetchTickersFees = self.safe_bool(options, 'fetchTickersFees', True)
1062
- tickersResponse: dict = {}
1066
+ requestMarginables = self.check_required_credentials(False)
1067
+ if requestMarginables:
1068
+ promises.append(self.privateGetMarginSymbols(params)) # cross margin symbols
1069
+ #
1070
+ # {
1071
+ # "code": "200000",
1072
+ # "data": {
1073
+ # "timestamp": 1719393213421,
1074
+ # "items": [
1075
+ # {
1076
+ # # same object market, with one additional field:
1077
+ # "minFunds": "0.1"
1078
+ # },
1079
+ #
1080
+ promises.append(self.privateGetIsolatedSymbols(params)) # isolated margin symbols
1081
+ #
1082
+ # {
1083
+ # "code": "200000",
1084
+ # "data": [
1085
+ # {
1086
+ # "symbol": "NKN-USDT",
1087
+ # "symbolName": "NKN-USDT",
1088
+ # "baseCurrency": "NKN",
1089
+ # "quoteCurrency": "USDT",
1090
+ # "maxLeverage": 5,
1091
+ # "flDebtRatio": "0.97",
1092
+ # "tradeEnable": True,
1093
+ # "autoRenewMaxDebtRatio": "0.96",
1094
+ # "baseBorrowEnable": True,
1095
+ # "quoteBorrowEnable": True,
1096
+ # "baseTransferInEnable": True,
1097
+ # "quoteTransferInEnable": True,
1098
+ # "baseBorrowCoefficient": "1",
1099
+ # "quoteBorrowCoefficient": "1"
1100
+ # },
1101
+ #
1063
1102
  if fetchTickersFees:
1064
- tickersResponse = self.publicGetMarketAllTickers(params)
1065
- #
1066
- # {
1067
- # "code": "200000",
1068
- # "data": {
1069
- # "time":1602832092060,
1070
- # "ticker":[
1071
- # {
1072
- # "symbol": "BTC-USDT", # symbol
1073
- # "symbolName":"BTC-USDT", # Name of trading pairs, it would change after renaming
1074
- # "buy": "11328.9", # bestAsk
1075
- # "sell": "11329", # bestBid
1076
- # "changeRate": "-0.0055", # 24h change rate
1077
- # "changePrice": "-63.6", # 24h change price
1078
- # "high": "11610", # 24h highest price
1079
- # "low": "11200", # 24h lowest price
1080
- # "vol": "2282.70993217", # 24h volume,the aggregated trading volume in BTC
1081
- # "volValue": "25984946.157790431", # 24h total, the trading volume in quote currency of last 24 hours
1082
- # "last": "11328.9", # last price
1083
- # "averagePrice": "11360.66065903", # 24h average transaction price yesterday
1084
- # "takerFeeRate": "0.001", # Basic Taker Fee
1085
- # "makerFeeRate": "0.001", # Basic Maker Fee
1086
- # "takerCoefficient": "1", # Taker Fee Coefficient
1087
- # "makerCoefficient": "1" # Maker Fee Coefficient
1088
- # }
1089
- # ]
1090
- # }
1091
- # }
1092
- #
1093
- tickersData = self.safe_dict(tickersResponse, 'data', {})
1094
- tickers = self.safe_list(tickersData, 'ticker', [])
1095
- tickersByMarketId = self.index_by(tickers, 'symbol')
1103
+ promises.append(self.publicGetMarketAllTickers(params))
1104
+ #
1105
+ # {
1106
+ # "code": "200000",
1107
+ # "data": {
1108
+ # "time":1602832092060,
1109
+ # "ticker":[
1110
+ # {
1111
+ # "symbol": "BTC-USDT", # symbol
1112
+ # "symbolName":"BTC-USDT", # Name of trading pairs, it would change after renaming
1113
+ # "buy": "11328.9", # bestAsk
1114
+ # "sell": "11329", # bestBid
1115
+ # "changeRate": "-0.0055", # 24h change rate
1116
+ # "changePrice": "-63.6", # 24h change price
1117
+ # "high": "11610", # 24h highest price
1118
+ # "low": "11200", # 24h lowest price
1119
+ # "vol": "2282.70993217", # 24h volume,the aggregated trading volume in BTC
1120
+ # "volValue": "25984946.157790431", # 24h total, the trading volume in quote currency of last 24 hours
1121
+ # "last": "11328.9", # last price
1122
+ # "averagePrice": "11360.66065903", # 24h average transaction price yesterday
1123
+ # "takerFeeRate": "0.001", # Basic Taker Fee
1124
+ # "makerFeeRate": "0.001", # Basic Maker Fee
1125
+ # "takerCoefficient": "1", # Taker Fee Coefficient
1126
+ # "makerCoefficient": "1" # Maker Fee Coefficient
1127
+ # }
1128
+ #
1129
+ responses = promises
1130
+ symbolsData = self.safe_list(responses[0], 'data')
1131
+ crossData = self.safe_dict(responses[1], 'data', {}) if requestMarginables else {}
1132
+ crossItems = self.safe_list(crossData, 'items', [])
1133
+ crossById = self.index_by(crossItems, 'symbol')
1134
+ isolatedData = responses[2] if requestMarginables else {}
1135
+ isolatedItems = self.safe_list(isolatedData, 'data', [])
1136
+ isolatedById = self.index_by(isolatedItems, 'symbol')
1137
+ tickersIdx = 3 if requestMarginables else 1
1138
+ tickersResponse = self.safe_dict(responses, tickersIdx, {})
1139
+ tickerItems = self.safe_list(self.safe_dict(tickersResponse, 'data', {}), 'ticker', [])
1140
+ tickersById = self.index_by(tickerItems, 'symbol')
1096
1141
  result = []
1097
- for i in range(0, len(data)):
1098
- market = data[i]
1142
+ for i in range(0, len(symbolsData)):
1143
+ market = symbolsData[i]
1099
1144
  id = self.safe_string(market, 'symbol')
1100
1145
  baseId, quoteId = id.split('-')
1101
1146
  base = self.safe_currency_code(baseId)
1102
1147
  quote = self.safe_currency_code(quoteId)
1103
1148
  # quoteIncrement = self.safe_number(market, 'quoteIncrement')
1104
- ticker = self.safe_dict(tickersByMarketId, id, {})
1149
+ ticker = self.safe_dict(tickersById, id, {})
1105
1150
  makerFeeRate = self.safe_string(ticker, 'makerFeeRate')
1106
1151
  takerFeeRate = self.safe_string(ticker, 'takerFeeRate')
1107
1152
  makerCoefficient = self.safe_string(ticker, 'makerCoefficient')
1108
1153
  takerCoefficient = self.safe_string(ticker, 'takerCoefficient')
1154
+ hasCrossMargin = (id in crossById)
1155
+ hasIsolatedMargin = (id in isolatedById)
1156
+ isMarginable = self.safe_bool(market, 'isMarginEnabled', False) or hasCrossMargin or hasIsolatedMargin
1109
1157
  result.append({
1110
1158
  'id': id,
1111
1159
  'symbol': base + '/' + quote,
@@ -1117,7 +1165,11 @@ class kucoin(Exchange, ImplicitAPI):
1117
1165
  'settleId': None,
1118
1166
  'type': 'spot',
1119
1167
  'spot': True,
1120
- 'margin': self.safe_bool(market, 'isMarginEnabled'),
1168
+ 'margin': isMarginable,
1169
+ 'marginMode': {
1170
+ 'cross': hasCrossMargin,
1171
+ 'isolated': hasIsolatedMargin,
1172
+ },
1121
1173
  'swap': False,
1122
1174
  'future': False,
1123
1175
  'option': False,
@@ -1944,7 +1996,7 @@ class kucoin(Exchange, ImplicitAPI):
1944
1996
  :param str type: 'limit' or 'market'
1945
1997
  :param str side: 'buy' or 'sell'
1946
1998
  :param float amount: the amount of currency to trade
1947
- :param float [price]: *ignored in "market" orders* the price at which the order is to be fullfilled at in units of the quote currency
1999
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1948
2000
  :param dict [params]: extra parameters specific to the exchange API endpoint
1949
2001
  :param float [params.triggerPrice]: The price at which a trigger order is triggered at
1950
2002
  :param str [params.marginMode]: 'cross', # cross(cross mode) and isolated(isolated mode), set to cross by default, the isolated mode will be released soon, stay tuned
@@ -2197,7 +2249,7 @@ class kucoin(Exchange, ImplicitAPI):
2197
2249
  :param str type: not used
2198
2250
  :param str side: not used
2199
2251
  :param float amount: how much of the currency you want to trade in units of the base currency
2200
- :param float [price]: the price at which the order is to be fullfilled, in units of the base currency, ignored in market orders
2252
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
2201
2253
  :param dict [params]: extra parameters specific to the exchange API endpoint
2202
2254
  :param str [params.clientOrderId]: client order id, defaults to id if not passed
2203
2255
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
@@ -4514,6 +4566,35 @@ class kucoin(Exchange, ImplicitAPI):
4514
4566
  data = self.safe_list(response, 'data', [])
4515
4567
  return self.parse_deposit_withdraw_fees(data, codes, 'currency')
4516
4568
 
4569
+ def set_leverage(self, leverage: Int, symbol: Str = None, params={}):
4570
+ """
4571
+ set the level of leverage for a market
4572
+ :see: https://www.kucoin.com/docs/rest/margin-trading/margin-trading-v3-/modify-leverage-multiplier
4573
+ :param str symbol: unified market symbol
4574
+ :param dict [params]: extra parameters specific to the exchange API endpoint
4575
+ :returns dict: response from the exchange
4576
+ """
4577
+ self.load_markets()
4578
+ market = None
4579
+ marketType: Str = None
4580
+ marketType, params = self.handle_market_type_and_params('setLeverage', None, params)
4581
+ if (symbol is not None) or marketType != 'spot':
4582
+ market = self.market(symbol)
4583
+ if market['contract']:
4584
+ raise NotSupported(self.id + ' setLeverage currently supports only spot margin')
4585
+ marginMode: Str = None
4586
+ marginMode, params = self.handle_margin_mode_and_params('setLeverage', params)
4587
+ if marginMode is None:
4588
+ raise ArgumentsRequired(self.id + ' setLeverage requires a marginMode parameter')
4589
+ request: dict = {}
4590
+ if marginMode == 'isolated' and symbol is None:
4591
+ raise ArgumentsRequired(self.id + ' setLeverage requires a symbol parameter for isolated margin')
4592
+ if symbol is not None:
4593
+ request['symbol'] = market['id']
4594
+ request['leverage'] = str(leverage)
4595
+ request['isIsolated'] = (marginMode == 'isolated')
4596
+ return self.privatePostPositionUpdateUserLeverage(self.extend(request, params))
4597
+
4517
4598
  def sign(self, path, api='public', method='GET', params={}, headers=None, body=None):
4518
4599
  #
4519
4600
  # the v2 URL is https://openapi-v2.kucoin.com/api/v1/endpoint
ccxt/kucoinfutures.py CHANGED
@@ -1309,7 +1309,7 @@ class kucoinfutures(kucoin, ImplicitAPI):
1309
1309
  :param str type: 'limit' or 'market'
1310
1310
  :param str side: 'buy' or 'sell'
1311
1311
  :param float amount: the amount of currency to trade
1312
- :param float [price]: *ignored in "market" orders* the price at which the order is to be fullfilled at in units of the quote currency
1312
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1313
1313
  :param dict [params]: extra parameters specific to the exchange API endpoint
1314
1314
  :param float [params.triggerPrice]: The price a trigger order is triggered at
1315
1315
  :param float [params.stopLossPrice]: price to trigger stop-loss orders
ccxt/kuna.py CHANGED
@@ -924,7 +924,7 @@ class kuna(Exchange, ImplicitAPI):
924
924
  :param str type: 'market' or 'limit'
925
925
  :param str side: 'buy' or 'sell'
926
926
  :param float amount: how much of currency you want to trade in units of base currency
927
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
927
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
928
928
  :param dict [params]: extra parameters specific to the exchange API endpoint
929
929
  :param float [params.triggerPrice]: the price at which a trigger order is triggered at
930
930
  *
ccxt/latoken.py CHANGED
@@ -1225,7 +1225,7 @@ class latoken(Exchange, ImplicitAPI):
1225
1225
  :param str type: 'market' or 'limit'
1226
1226
  :param str side: 'buy' or 'sell'
1227
1227
  :param float amount: how much of currency you want to trade in units of base currency
1228
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1228
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1229
1229
  :param dict [params]: extra parameters specific to the exchange API endpoint
1230
1230
  :param float [params.triggerPrice]: the price at which a trigger order is triggered at
1231
1231
  *
ccxt/lbank.py CHANGED
@@ -1257,7 +1257,7 @@ class lbank(Exchange, ImplicitAPI):
1257
1257
  :param str type: 'market' or 'limit'
1258
1258
  :param str side: 'buy' or 'sell'
1259
1259
  :param float amount: how much of currency you want to trade in units of base currency
1260
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1260
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1261
1261
  :param dict [params]: extra parameters specific to the exchange API endpoint
1262
1262
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
1263
1263
  """
@@ -1416,6 +1416,27 @@ class lbank(Exchange, ImplicitAPI):
1416
1416
  # "status":-1
1417
1417
  # }
1418
1418
  #
1419
+ # cancelOrder
1420
+ #
1421
+ # {
1422
+ # "executedQty":0.0,
1423
+ # "price":0.05,
1424
+ # "origQty":100.0,
1425
+ # "tradeType":"buy",
1426
+ # "status":0
1427
+ # }
1428
+ #
1429
+ # cancelAllOrders
1430
+ #
1431
+ # {
1432
+ # "executedQty":0.00000000000000000000,
1433
+ # "orderId":"293ef71b-3e67-4962-af93-aa06990a045f",
1434
+ # "price":0.05000000000000000000,
1435
+ # "origQty":100.00000000000000000000,
1436
+ # "tradeType":"buy",
1437
+ # "status":0
1438
+ # }
1439
+ #
1419
1440
  id = self.safe_string_2(order, 'orderId', 'order_id')
1420
1441
  clientOrderId = self.safe_string_2(order, 'clientOrderId', 'custom_id')
1421
1442
  timestamp = self.safe_integer_2(order, 'time', 'create_time')
@@ -1425,7 +1446,7 @@ class lbank(Exchange, ImplicitAPI):
1425
1446
  timeInForce = None
1426
1447
  postOnly = False
1427
1448
  type = 'limit'
1428
- rawType = self.safe_string(order, 'type') # buy, sell, buy_market, sell_market, buy_maker,sell_maker,buy_ioc,sell_ioc, buy_fok, sell_fok
1449
+ rawType = self.safe_string_2(order, 'type', 'tradeType') # buy, sell, buy_market, sell_market, buy_maker,sell_maker,buy_ioc,sell_ioc, buy_fok, sell_fok
1429
1450
  parts = rawType.split('_')
1430
1451
  side = self.safe_string(parts, 0)
1431
1452
  typePart = self.safe_string(parts, 1) # market, maker, ioc, fok or None(limit)
@@ -1759,12 +1780,12 @@ class lbank(Exchange, ImplicitAPI):
1759
1780
  # "origQty":100.0,
1760
1781
  # "tradeType":"buy",
1761
1782
  # "status":0
1762
- # },
1783
+ # },
1763
1784
  # "error_code":0,
1764
1785
  # "ts":1648501286196
1765
1786
  # }
1766
- result = self.safe_value(response, 'data', {})
1767
- return result
1787
+ data = self.safe_dict(response, 'data', {})
1788
+ return self.parse_order(data)
1768
1789
 
1769
1790
  def cancel_all_orders(self, symbol: Str = None, params={}):
1770
1791
  """
@@ -1799,8 +1820,8 @@ class lbank(Exchange, ImplicitAPI):
1799
1820
  # "ts":1648506641469
1800
1821
  # }
1801
1822
  #
1802
- result = self.safe_value(response, 'data', [])
1803
- return result
1823
+ data = self.safe_list(response, 'data', [])
1824
+ return self.parse_orders(data)
1804
1825
 
1805
1826
  def get_network_code_for_currency(self, currencyCode, params):
1806
1827
  defaultNetworks = self.safe_value(self.options, 'defaultNetworks')
ccxt/luno.py CHANGED
@@ -856,7 +856,7 @@ class luno(Exchange, ImplicitAPI):
856
856
  :param str type: 'market' or 'limit'
857
857
  :param str side: 'buy' or 'sell'
858
858
  :param float amount: how much of currency you want to trade in units of base currency
859
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
859
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
860
860
  :param dict [params]: extra parameters specific to the exchange API endpoint
861
861
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
862
862
  """
ccxt/lykke.py CHANGED
@@ -777,7 +777,7 @@ class lykke(Exchange, ImplicitAPI):
777
777
  :param str type: 'market' or 'limit'
778
778
  :param str side: 'buy' or 'sell'
779
779
  :param float amount: how much of currency you want to trade in units of base currency
780
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
780
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
781
781
  :param dict [params]: extra parameters specific to the exchange API endpoint
782
782
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
783
783
  """
ccxt/mercado.py CHANGED
@@ -425,7 +425,7 @@ class mercado(Exchange, ImplicitAPI):
425
425
  :param str type: 'market' or 'limit'
426
426
  :param str side: 'buy' or 'sell'
427
427
  :param float amount: how much of currency you want to trade in units of base currency
428
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
428
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
429
429
  :param dict [params]: extra parameters specific to the exchange API endpoint
430
430
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
431
431
  """
ccxt/mexc.py CHANGED
@@ -2124,7 +2124,7 @@ class mexc(Exchange, ImplicitAPI):
2124
2124
  :param str type: 'market' or 'limit'
2125
2125
  :param str side: 'buy' or 'sell'
2126
2126
  :param float amount: how much of currency you want to trade in units of base currency
2127
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
2127
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
2128
2128
  :param dict [params]: extra parameters specific to the exchange API endpoint
2129
2129
  :param str [params.marginMode]: only 'isolated' is supported for spot-margin trading
2130
2130
  :param float [params.triggerPrice]: The price at which a trigger order is triggered at
ccxt/ndax.py CHANGED
@@ -1296,7 +1296,7 @@ class ndax(Exchange, ImplicitAPI):
1296
1296
  :param str type: 'market' or 'limit'
1297
1297
  :param str side: 'buy' or 'sell'
1298
1298
  :param float amount: how much of currency you want to trade in units of base currency
1299
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1299
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1300
1300
  :param dict [params]: extra parameters specific to the exchange API endpoint
1301
1301
  :param float [params.triggerPrice]: the price at which a trigger order would be triggered
1302
1302
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
ccxt/novadax.py CHANGED
@@ -727,7 +727,7 @@ class novadax(Exchange, ImplicitAPI):
727
727
  :param str type: 'market' or 'limit'
728
728
  :param str side: 'buy' or 'sell'
729
729
  :param float amount: how much you want to trade in units of the base currency
730
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
730
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
731
731
  :param dict [params]: extra parameters specific to the exchange API endpoint
732
732
  :param float [params.cost]: for spot market buy orders, the quote quantity that can be used alternative for the amount
733
733
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
ccxt/oceanex.py CHANGED
@@ -605,7 +605,7 @@ class oceanex(Exchange, ImplicitAPI):
605
605
  :param str type: 'market' or 'limit'
606
606
  :param str side: 'buy' or 'sell'
607
607
  :param float amount: how much of currency you want to trade in units of base currency
608
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
608
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
609
609
  :param dict [params]: extra parameters specific to the exchange API endpoint
610
610
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
611
611
  """
ccxt/okcoin.py CHANGED
@@ -1299,7 +1299,7 @@ class okcoin(Exchange, ImplicitAPI):
1299
1299
  :param str type: 'market' or 'limit'
1300
1300
  :param str side: 'buy' or 'sell'
1301
1301
  :param float amount: how much of currency you want to trade in units of base currency
1302
- :param float price: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1302
+ :param float price: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1303
1303
  :param dict [params]: extra parameters specific to the exchange API endpoint
1304
1304
  :param bool [params.reduceOnly]: MARGIN orders only, or swap/future orders in net mode
1305
1305
  :param bool [params.postOnly]: True to place a post only order