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/okx.py CHANGED
@@ -2769,7 +2769,7 @@ class okx(Exchange, ImplicitAPI):
2769
2769
  :param str type: 'market' or 'limit'
2770
2770
  :param str side: 'buy' or 'sell'
2771
2771
  :param float amount: how much of currency you want to trade in units of base currency
2772
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
2772
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
2773
2773
  :param dict [params]: extra parameters specific to the exchange API endpoint
2774
2774
  :param bool [params.reduceOnly]: a mark to reduce the position size for margin, swap and future orders
2775
2775
  :param bool [params.postOnly]: True to place a post only order
@@ -2947,7 +2947,7 @@ class okx(Exchange, ImplicitAPI):
2947
2947
  :param str type: 'market' or 'limit'
2948
2948
  :param str side: 'buy' or 'sell'
2949
2949
  :param float amount: how much of the currency you want to trade in units of the base currency
2950
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
2950
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
2951
2951
  :param dict [params]: extra parameters specific to the exchange API endpoint
2952
2952
  :param str [params.clientOrderId]: client order id, uses id if not passed
2953
2953
  :param float [params.stopLossPrice]: stop loss trigger price
@@ -5173,7 +5173,7 @@ class okx(Exchange, ImplicitAPI):
5173
5173
  result = []
5174
5174
  for i in range(0, len(positions)):
5175
5175
  result.append(self.parse_position(positions[i]))
5176
- return self.filter_by_array_positions(result, 'symbol', symbols, False)
5176
+ return self.filter_by_array_positions(result, 'symbol', self.market_symbols(symbols), False)
5177
5177
 
5178
5178
  def fetch_positions_for_symbol(self, symbol: str, params={}):
5179
5179
  """
ccxt/onetrading.py CHANGED
@@ -1454,7 +1454,7 @@ class onetrading(Exchange, ImplicitAPI):
1454
1454
  :param str type: 'market' or 'limit'
1455
1455
  :param str side: 'buy' or 'sell'
1456
1456
  :param float amount: how much of currency you want to trade in units of base currency
1457
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1457
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1458
1458
  :param dict [params]: extra parameters specific to the exchange API endpoint
1459
1459
  :param float [params.triggerPrice]: onetrading only does stop limit orders and does not do stop market
1460
1460
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
ccxt/oxfun.py CHANGED
@@ -2140,7 +2140,7 @@ class oxfun(Exchange, ImplicitAPI):
2140
2140
  :param str type: 'market', 'limit', 'STOP_LIMIT' or 'STOP_MARKET'
2141
2141
  :param str side: 'buy' or 'sell'
2142
2142
  :param float amount: how much of currency you want to trade in units of base currency
2143
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
2143
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
2144
2144
  :param dict [params]: extra parameters specific to the exchange API endpoint
2145
2145
  :param int [params.clientOrderId]: a unique id for the order
2146
2146
  :param int [params.timestamp]: in milliseconds. If an order reaches the matching engine and the current timestamp exceeds timestamp + recvWindow, then the order will be rejected.
@@ -2326,7 +2326,7 @@ class oxfun(Exchange, ImplicitAPI):
2326
2326
  :param str type: 'market', 'limit', 'STOP_LIMIT' or 'STOP_MARKET'
2327
2327
  :param str side: 'buy' or 'sell'
2328
2328
  :param float amount: how much of currency you want to trade in units of base currency
2329
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
2329
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
2330
2330
  :param dict [params]: extra parameters specific to the exchange API endpoint
2331
2331
  :param int [params.clientOrderId]: a unique id for the order
2332
2332
  :param float [params.cost]: the quote quantity that can be used alternative for the amount for market buy orders
ccxt/p2b.py CHANGED
@@ -771,7 +771,7 @@ class p2b(Exchange, ImplicitAPI):
771
771
  :param str type: must be 'limit'
772
772
  :param str side: 'buy' or 'sell'
773
773
  :param float amount: how much of currency you want to trade in units of base currency
774
- :param float price: the price at which the order is to be fullfilled, in units of the quote currency
774
+ :param float price: the price at which the order is to be fulfilled, in units of the quote currency
775
775
  :param dict [params]: extra parameters specific to the exchange API endpoint
776
776
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
777
777
  """
ccxt/paymium.py CHANGED
@@ -374,7 +374,7 @@ class paymium(Exchange, ImplicitAPI):
374
374
  :param str type: 'market' or 'limit'
375
375
  :param str side: 'buy' or 'sell'
376
376
  :param float amount: how much of currency you want to trade in units of base currency
377
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
377
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
378
378
  :param dict [params]: extra parameters specific to the exchange API endpoint
379
379
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
380
380
  """
ccxt/phemex.py CHANGED
@@ -2395,7 +2395,7 @@ class phemex(Exchange, ImplicitAPI):
2395
2395
  :param str type: 'market' or 'limit'
2396
2396
  :param str side: 'buy' or 'sell'
2397
2397
  :param float amount: how much of currency you want to trade in units of base currency
2398
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
2398
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
2399
2399
  :param dict [params]: extra parameters specific to the exchange API endpoint
2400
2400
  :param float [params.trigger]: trigger price for conditional orders
2401
2401
  :param dict [params.takeProfit]: *swap only* *takeProfit object in params* containing the triggerPrice at which the attached take profit order will be triggered(perpetual swap markets only)
@@ -2651,7 +2651,7 @@ class phemex(Exchange, ImplicitAPI):
2651
2651
  :param str type: 'market' or 'limit'
2652
2652
  :param str side: 'buy' or 'sell'
2653
2653
  :param float amount: how much of currency you want to trade in units of base currency
2654
- :param float [price]: the price at which the order is to be fullfilled, in units of the base currency, ignored in market orders
2654
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
2655
2655
  :param dict [params]: extra parameters specific to the exchange API endpoint
2656
2656
  :param str [params.posSide]: either 'Merged' or 'Long' or 'Short'
2657
2657
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
ccxt/poloniex.py CHANGED
@@ -1224,7 +1224,7 @@ class poloniex(Exchange, ImplicitAPI):
1224
1224
  :param str type: 'market' or 'limit'
1225
1225
  :param str side: 'buy' or 'sell'
1226
1226
  :param float amount: how much of currency you want to trade in units of base currency
1227
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1227
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1228
1228
  :param dict [params]: extra parameters specific to the exchange API endpoint
1229
1229
  :param float [params.triggerPrice]: *spot only* The price at which a trigger order is triggered at
1230
1230
  :param float [params.cost]: *spot market buy only* the quote quantity that can be used alternative for the amount
@@ -1314,7 +1314,7 @@ class poloniex(Exchange, ImplicitAPI):
1314
1314
  :param str type: 'market' or 'limit'
1315
1315
  :param str side: 'buy' or 'sell'
1316
1316
  :param float [amount]: how much of the currency you want to trade in units of the 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 dict [params]: extra parameters specific to the exchange API endpoint
1319
1319
  :param float [params.triggerPrice]: The price at which a trigger order is triggered at
1320
1320
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
@@ -1341,7 +1341,8 @@ class poloniex(Exchange, ImplicitAPI):
1341
1341
  # }
1342
1342
  #
1343
1343
  response = self.extend(response, {
1344
- 'type': side,
1344
+ 'side': side,
1345
+ 'type': type,
1345
1346
  })
1346
1347
  return self.parse_order(response, market)
1347
1348
 
ccxt/poloniexfutures.py CHANGED
@@ -802,7 +802,7 @@ class poloniexfutures(Exchange, ImplicitAPI):
802
802
  :param str type: 'limit' or 'market'
803
803
  :param str side: 'buy' or 'sell'
804
804
  :param float amount: the amount of currency to trade
805
- :param float [price]: *ignored in "market" orders* the price at which the order is to be fullfilled at in units of the quote currency
805
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
806
806
  :param dict [params]: extra parameters specific to the exchange API endpoint
807
807
  :param float [params.leverage]: Leverage size of the order
808
808
  :param float [params.stopPrice]: The price at which a trigger order is triggered at
ccxt/pro/__init__.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.54'
7
+ __version__ = '4.3.56'
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
ccxt/pro/binance.py CHANGED
@@ -2145,7 +2145,7 @@ class binance(ccxt.async_support.binance):
2145
2145
  :param str type: 'market' or 'limit'
2146
2146
  :param str side: 'buy' or 'sell'
2147
2147
  :param float amount: how much of currency you want to trade in units of base currency
2148
- :param float|None [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
2148
+ :param float|None [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
2149
2149
  :param dict [params]: extra parameters specific to the exchange API endpoint
2150
2150
  :param boolean params['test']: test order, default False
2151
2151
  :param boolean params['returnRateLimits']: set to True to return rate limit information, default False
@@ -2288,7 +2288,7 @@ class binance(ccxt.async_support.binance):
2288
2288
  :param str type: 'market' or 'limit'
2289
2289
  :param str side: 'buy' or 'sell'
2290
2290
  :param float amount: how much of the currency you want to trade in units of the base currency
2291
- :param float|None [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
2291
+ :param float|None [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
2292
2292
  :param dict [params]: extra parameters specific to the exchange API endpoint
2293
2293
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
2294
2294
  """
ccxt/pro/bitvavo.py CHANGED
@@ -510,7 +510,7 @@ class bitvavo(ccxt.async_support.bitvavo):
510
510
  :param str type: 'market' or 'limit'
511
511
  :param str side: 'buy' or 'sell'
512
512
  :param float amount: how much of currency you want to trade in units of base currency
513
- :param float price: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
513
+ :param float price: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
514
514
  :param dict [params]: extra parameters specific to the bitvavo api endpoint
515
515
  :param str [params.timeInForce]: "GTC", "IOC", or "PO"
516
516
  :param float [params.stopPrice]: The price at which a trigger order is triggered at
@@ -539,7 +539,7 @@ class bitvavo(ccxt.async_support.bitvavo):
539
539
  :param str type: 'market' or 'limit'
540
540
  :param str side: 'buy' or 'sell'
541
541
  :param float [amount]: how much of currency you want to trade in units of base currency
542
- :param float [price]: the price at which the order is to be fullfilled, in units of the base currency, ignored in market orders
542
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
543
543
  :param dict [params]: extra parameters specific to the bitvavo api endpoint
544
544
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
545
545
  """
ccxt/pro/bybit.py CHANGED
@@ -193,7 +193,7 @@ class bybit(ccxt.async_support.bybit):
193
193
  :param str type: 'market' or 'limit'
194
194
  :param str side: 'buy' or 'sell'
195
195
  :param float amount: how much of currency you want to trade in units of base currency
196
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
196
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
197
197
  :param dict [params]: extra parameters specific to the exchange API endpoint
198
198
  :param str [params.timeInForce]: "GTC", "IOC", "FOK"
199
199
  :param bool [params.postOnly]: True or False whether the order is post-only
@@ -242,7 +242,7 @@ class bybit(ccxt.async_support.bybit):
242
242
  :param str type: 'market' or 'limit'
243
243
  :param str side: 'buy' or 'sell'
244
244
  :param float amount: how much of currency you want to trade in units of base currency
245
- :param float price: the price at which the order is to be fullfilled, in units of the base currency, ignored in market orders
245
+ :param float price: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
246
246
  :param dict [params]: extra parameters specific to the exchange API endpoint
247
247
  :param float [params.triggerPrice]: The price that a trigger order is triggered at
248
248
  :param float [params.stopLossPrice]: The price that a stop loss order is triggered at
ccxt/pro/cex.py CHANGED
@@ -640,7 +640,7 @@ class cex(ccxt.async_support.cex):
640
640
  # }
641
641
  # }
642
642
  # }
643
- # fullfilledOrder
643
+ # fulfilledOrder
644
644
  # {
645
645
  # "e": "order",
646
646
  # "data": {
@@ -1187,7 +1187,7 @@ class cex(ccxt.async_support.cex):
1187
1187
  :param str type: 'market' or 'limit'
1188
1188
  :param str side: 'buy' or 'sell'
1189
1189
  :param float amount: how much of currency you want to trade in units of base currency
1190
- :param float price: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1190
+ :param float price: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1191
1191
  :param dict [params]: extra parameters specific to the kraken api endpoint
1192
1192
  :param boolean [params.maker_only]: Optional, maker only places an order only if offers best sell(<= max) or buy(>= max) price for self pair, if not order placement will be rejected with an error - "Order is not maker"
1193
1193
  :returns dict: an `order structure <https://docs.ccxt.com/en/latest/manual.html#order-structure>`
@@ -1222,7 +1222,7 @@ class cex(ccxt.async_support.cex):
1222
1222
  :param str type: 'market' or 'limit'
1223
1223
  :param str side: 'buy' or 'sell'
1224
1224
  :param float amount: how much of the currency you want to trade in units of the base currency
1225
- :param float|None [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1225
+ :param float|None [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1226
1226
  :param dict [params]: extra parameters specific to the cex api endpoint
1227
1227
  :returns dict: an `order structure <https://docs.ccxt.com/en/latest/manual.html#order-structure>`
1228
1228
  """
ccxt/pro/coinbase.py CHANGED
@@ -660,6 +660,25 @@ class coinbase(ccxt.async_support.coinbase):
660
660
  #
661
661
  return message
662
662
 
663
+ def handle_heartbeats(self, client, message):
664
+ # although the subscription takes a product_ids parameter(i.e. symbol),
665
+ # there is no(clear) way of mapping the message back to the symbol.
666
+ #
667
+ # {
668
+ # "channel": "heartbeats",
669
+ # "client_id": "",
670
+ # "timestamp": "2023-06-23T20:31:26.122969572Z",
671
+ # "sequence_num": 0,
672
+ # "events": [
673
+ # {
674
+ # "current_time": "2023-06-23 20:31:56.121961769 +0000 UTC m=+91717.525857105",
675
+ # "heartbeat_counter": "3049"
676
+ # }
677
+ # ]
678
+ # }
679
+ #
680
+ return message
681
+
663
682
  def handle_message(self, client, message):
664
683
  channel = self.safe_string(message, 'channel')
665
684
  methods: dict = {
@@ -669,10 +688,12 @@ class coinbase(ccxt.async_support.coinbase):
669
688
  'market_trades': self.handle_trade,
670
689
  'user': self.handle_order,
671
690
  'l2_data': self.handle_order_book,
691
+ 'heartbeats': self.handle_heartbeats,
672
692
  }
673
693
  type = self.safe_string(message, 'type')
674
694
  if type == 'error':
675
695
  errorMessage = self.safe_string(message, 'message')
676
696
  raise ExchangeError(errorMessage)
677
697
  method = self.safe_value(methods, channel)
678
- method(client, message)
698
+ if method:
699
+ method(client, message)
ccxt/pro/cryptocom.py CHANGED
@@ -682,7 +682,7 @@ class cryptocom(ccxt.async_support.cryptocom):
682
682
  :param str type: 'market' or 'limit'
683
683
  :param str side: 'buy' or 'sell'
684
684
  :param float amount: how much of currency you want to trade in units of base currency
685
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
685
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
686
686
  :param dict [params]: extra parameters specific to the exchange API endpoint
687
687
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
688
688
  """
ccxt/pro/gate.py CHANGED
@@ -138,7 +138,7 @@ class gate(ccxt.async_support.gate):
138
138
  :param str type: 'limit' or 'market' *"market" is contract only*
139
139
  :param str side: 'buy' or 'sell'
140
140
  :param float amount: the amount of currency to trade
141
- :param float [price]: *ignored in "market" orders* the price at which the order is to be fullfilled at in units of the quote currency
141
+ :param float [price]: *ignored in "market" orders* the price at which the order is to be fulfilled at in units of the quote currency
142
142
  :param dict [params]: extra parameters specific to the exchange API endpoint
143
143
  :param float [params.stopPrice]: The price at which a trigger order is triggered at
144
144
  :param str [params.timeInForce]: "GTC", "IOC", or "PO"
@@ -249,7 +249,7 @@ class gate(ccxt.async_support.gate):
249
249
  :param str type: 'market' or 'limit'
250
250
  :param str side: 'buy' or 'sell'
251
251
  :param float amount: how much of the currency you want to trade in units of the base currency
252
- :param float [price]: the price at which the order is to be fullfilled, in units of the base currency, ignored in market orders
252
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
253
253
  :param dict [params]: extra parameters specific to the exchange API endpoint
254
254
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
255
255
  """
ccxt/pro/hitbtc.py CHANGED
@@ -954,7 +954,7 @@ class hitbtc(ccxt.async_support.hitbtc):
954
954
  :param str type: 'market' or 'limit'
955
955
  :param str side: 'buy' or 'sell'
956
956
  :param float amount: how much of currency you want to trade in units of base currency
957
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
957
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
958
958
  :param dict [params]: extra parameters specific to the exchange API endpoint
959
959
  :param str [params.marginMode]: 'cross' or 'isolated' only 'isolated' is supported for spot-margin, swap supports both, default is 'cross'
960
960
  :param bool [params.margin]: True for creating a margin order
ccxt/pro/kraken.py CHANGED
@@ -131,7 +131,7 @@ class kraken(ccxt.async_support.kraken):
131
131
  :param str type: 'market' or 'limit'
132
132
  :param str side: 'buy' or 'sell'
133
133
  :param float amount: how much of currency you want to trade in units of base currency
134
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
134
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
135
135
  :param dict [params]: extra parameters specific to the exchange API endpoint
136
136
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
137
137
  """
@@ -186,7 +186,7 @@ class kraken(ccxt.async_support.kraken):
186
186
  :param str type: 'market' or 'limit'
187
187
  :param str side: 'buy' or 'sell'
188
188
  :param float amount: how much of the currency you want to trade in units of the base currency
189
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
189
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
190
190
  :param dict [params]: extra parameters specific to the exchange API endpoint
191
191
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
192
192
  """
ccxt/pro/kucoin.py CHANGED
@@ -999,8 +999,8 @@ class kucoin(ccxt.async_support.kucoin):
999
999
  type = self.safe_string(trade, 'orderType')
1000
1000
  side = self.safe_string(trade, 'side')
1001
1001
  tradeId = self.safe_string(trade, 'tradeId')
1002
- price = self.safe_string(trade, 'price')
1003
- amount = self.safe_string(trade, 'size')
1002
+ price = self.safe_string(trade, 'matchPrice')
1003
+ amount = self.safe_string(trade, 'matchSize')
1004
1004
  order = self.safe_string(trade, 'orderId')
1005
1005
  timestamp = self.safe_integer_product(trade, 'ts', 0.000001)
1006
1006
  return self.safe_trade({
ccxt/pro/okx.py CHANGED
@@ -1520,7 +1520,7 @@ class okx(ccxt.async_support.okx):
1520
1520
  :param str type: 'market' or 'limit'
1521
1521
  :param str side: 'buy' or 'sell'
1522
1522
  :param float amount: how much of currency you want to trade in units of base currency
1523
- :param float|None [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1523
+ :param float|None [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1524
1524
  :param dict [params]: extra parameters specific to the exchange API endpoint
1525
1525
  :param boolean params['test']: test order, default False
1526
1526
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
@@ -1586,7 +1586,7 @@ class okx(ccxt.async_support.okx):
1586
1586
  :param str type: 'market' or 'limit'
1587
1587
  :param str side: 'buy' or 'sell'
1588
1588
  :param float amount: how much of the currency you want to trade in units of the base currency
1589
- :param float|None [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1589
+ :param float|None [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1590
1590
  :param dict [params]: extra parameters specific to the exchange API endpoint
1591
1591
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
1592
1592
  """
ccxt/pro/oxfun.py CHANGED
@@ -715,7 +715,7 @@ class oxfun(ccxt.async_support.oxfun):
715
715
  :param str type: 'market', 'limit', 'STOP_LIMIT' or 'STOP_MARKET'
716
716
  :param str side: 'buy' or 'sell'
717
717
  :param float amount: how much of currency you want to trade in units of base currency
718
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
718
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
719
719
  :param dict [params]: extra parameters specific to the exchange API endpoint
720
720
  :param int [params.clientOrderId]: a unique id for the order
721
721
  :param int [params.timestamp]: in milliseconds. If an order reaches the matching engine and the current timestamp exceeds timestamp + recvWindow, then the order will be rejected.
@@ -754,7 +754,7 @@ class oxfun(ccxt.async_support.oxfun):
754
754
  :param str type: 'market' or 'limit'
755
755
  :param str side: 'buy' or 'sell'
756
756
  :param float amount: how much of the currency you want to trade in units of the base currency
757
- :param float|None [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
757
+ :param float|None [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
758
758
  :param int [params.timestamp]: in milliseconds. If an order reaches the matching engine and the current timestamp exceeds timestamp + recvWindow, then the order will be rejected.
759
759
  :param int [params.recvWindow]: in milliseconds. If an order reaches the matching engine and the current timestamp exceeds timestamp + recvWindow, then the order will be rejected. If timestamp is provided without recvWindow, then a default recvWindow of 1000ms is used.
760
760
  :param dict [params]: extra parameters specific to the exchange API endpoint
ccxt/pro/poloniex.py CHANGED
@@ -190,7 +190,7 @@ class poloniex(ccxt.async_support.poloniex):
190
190
  :param str type: 'market' or 'limit'
191
191
  :param str side: 'buy' or 'sell'
192
192
  :param float amount: how much of currency you want to trade in units of base currency
193
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
193
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
194
194
  :param dict [params]: extra parameters specific to the poloniex api endpoint
195
195
  :param str [params.timeInForce]: GTC(default), IOC, FOK
196
196
  :param str [params.clientOrderId]: Maximum 64-character length.*
ccxt/pro/vertex.py CHANGED
@@ -256,7 +256,7 @@ class vertex(ccxt.async_support.vertex):
256
256
  price = self.convertFromX18(self.safe_string(trade, 'price'))
257
257
  amount = self.convertFromX18(self.safe_string_2(trade, 'taker_qty', 'filled_qty'))
258
258
  cost = Precise.string_mul(price, amount)
259
- timestamp = Precise.string_div(self.safe_string(trade, 'timestamp'), '1000000')
259
+ timestamp = self.safe_integer_product(trade, 'timestamp', 0.000001)
260
260
  takerOrMaker = None
261
261
  isTaker = self.safe_bool(trade, 'is_taker')
262
262
  if isTaker is not None:
ccxt/probit.py CHANGED
@@ -1132,7 +1132,7 @@ class probit(Exchange, ImplicitAPI):
1132
1132
  :param str type: 'market' or 'limit'
1133
1133
  :param str side: 'buy' or 'sell'
1134
1134
  :param float amount: how much you want to trade in units of the base currency
1135
- :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1135
+ :param float [price]: the price at which the order is to be fulfilled, in units of the quote currency, ignored in market orders
1136
1136
  :param dict [params]: extra parameters specific to the exchange API endpoint
1137
1137
  :param float [params.cost]: the quote quantity that can be used alternative for the amount for market buy orders
1138
1138
  :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`