ccxt 4.2.83__tar.gz → 4.2.84__tar.gz

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 (543) hide show
  1. {ccxt-4.2.83/ccxt.egg-info → ccxt-4.2.84}/PKG-INFO +4 -4
  2. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/__init__.py +1 -1
  3. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bybit.py +1 -1
  4. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/__init__.py +1 -1
  5. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/base/exchange.py +1 -1
  6. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bitget.py +10 -4
  7. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bybit.py +4 -4
  8. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/coinex.py +1 -2
  9. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/htx.py +5 -27
  10. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/kucoin.py +10 -1
  11. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/base/exchange.py +1 -1
  12. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bitget.py +10 -4
  13. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bybit.py +4 -4
  14. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/coinex.py +1 -2
  15. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/htx.py +5 -27
  16. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/kucoin.py +10 -1
  17. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/__init__.py +1 -1
  18. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_market.py +3 -0
  19. {ccxt-4.2.83 → ccxt-4.2.84/ccxt.egg-info}/PKG-INFO +4 -4
  20. {ccxt-4.2.83 → ccxt-4.2.84}/package.json +1 -1
  21. {ccxt-4.2.83 → ccxt-4.2.84}/LICENSE.txt +0 -0
  22. {ccxt-4.2.83 → ccxt-4.2.84}/MANIFEST.in +0 -0
  23. {ccxt-4.2.83 → ccxt-4.2.84}/README.rst +0 -0
  24. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/__init__.py +0 -0
  25. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/ace.py +0 -0
  26. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/alpaca.py +0 -0
  27. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/ascendex.py +0 -0
  28. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bequant.py +0 -0
  29. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bigone.py +0 -0
  30. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/binance.py +0 -0
  31. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/binancecoinm.py +0 -0
  32. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/binanceus.py +0 -0
  33. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/binanceusdm.py +0 -0
  34. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bingx.py +0 -0
  35. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bit2c.py +0 -0
  36. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bitbank.py +0 -0
  37. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bitbay.py +0 -0
  38. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bitbns.py +0 -0
  39. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bitcoincom.py +0 -0
  40. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bitfinex.py +0 -0
  41. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bitfinex2.py +0 -0
  42. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bitflyer.py +0 -0
  43. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bitget.py +0 -0
  44. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bithumb.py +0 -0
  45. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bitmart.py +0 -0
  46. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bitmex.py +0 -0
  47. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bitopro.py +0 -0
  48. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bitpanda.py +0 -0
  49. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bitrue.py +0 -0
  50. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bitso.py +0 -0
  51. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bitstamp.py +0 -0
  52. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bitteam.py +0 -0
  53. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bitvavo.py +0 -0
  54. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/bl3p.py +0 -0
  55. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/blockchaincom.py +0 -0
  56. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/blofin.py +0 -0
  57. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/btcalpha.py +0 -0
  58. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/btcbox.py +0 -0
  59. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/btcmarkets.py +0 -0
  60. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/btcturk.py +0 -0
  61. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/cex.py +0 -0
  62. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/coinbase.py +0 -0
  63. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/coinbaseinternational.py +0 -0
  64. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/coinbasepro.py +0 -0
  65. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/coincheck.py +0 -0
  66. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/coinex.py +0 -0
  67. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/coinlist.py +0 -0
  68. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/coinmate.py +0 -0
  69. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/coinmetro.py +0 -0
  70. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/coinone.py +0 -0
  71. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/coinsph.py +0 -0
  72. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/coinspot.py +0 -0
  73. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/cryptocom.py +0 -0
  74. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/currencycom.py +0 -0
  75. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/delta.py +0 -0
  76. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/deribit.py +0 -0
  77. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/digifinex.py +0 -0
  78. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/exmo.py +0 -0
  79. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/fmfwio.py +0 -0
  80. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/gate.py +0 -0
  81. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/gateio.py +0 -0
  82. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/gemini.py +0 -0
  83. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/hitbtc.py +0 -0
  84. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/hitbtc3.py +0 -0
  85. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/hollaex.py +0 -0
  86. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/htx.py +0 -0
  87. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/huobi.py +0 -0
  88. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/huobijp.py +0 -0
  89. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/hyperliquid.py +0 -0
  90. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/idex.py +0 -0
  91. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/independentreserve.py +0 -0
  92. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/indodax.py +0 -0
  93. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/kraken.py +0 -0
  94. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/krakenfutures.py +0 -0
  95. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/kucoin.py +0 -0
  96. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/kucoinfutures.py +0 -0
  97. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/kuna.py +0 -0
  98. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/latoken.py +0 -0
  99. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/lbank.py +0 -0
  100. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/luno.py +0 -0
  101. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/lykke.py +0 -0
  102. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/mercado.py +0 -0
  103. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/mexc.py +0 -0
  104. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/ndax.py +0 -0
  105. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/novadax.py +0 -0
  106. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/oceanex.py +0 -0
  107. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/okcoin.py +0 -0
  108. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/okx.py +0 -0
  109. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/onetrading.py +0 -0
  110. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/p2b.py +0 -0
  111. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/paymium.py +0 -0
  112. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/phemex.py +0 -0
  113. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/poloniex.py +0 -0
  114. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/poloniexfutures.py +0 -0
  115. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/probit.py +0 -0
  116. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/timex.py +0 -0
  117. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/tokocrypto.py +0 -0
  118. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/tradeogre.py +0 -0
  119. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/upbit.py +0 -0
  120. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/wavesexchange.py +0 -0
  121. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/wazirx.py +0 -0
  122. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/whitebit.py +0 -0
  123. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/woo.py +0 -0
  124. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/yobit.py +0 -0
  125. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/zaif.py +0 -0
  126. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/abstract/zonda.py +0 -0
  127. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/ace.py +0 -0
  128. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/alpaca.py +0 -0
  129. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/ascendex.py +0 -0
  130. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/ace.py +0 -0
  131. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/alpaca.py +0 -0
  132. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/ascendex.py +0 -0
  133. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/base/__init__.py +0 -0
  134. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/base/throttler.py +0 -0
  135. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/base/ws/__init__.py +0 -0
  136. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  137. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/base/ws/cache.py +0 -0
  138. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/base/ws/client.py +0 -0
  139. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/base/ws/fast_client.py +0 -0
  140. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/base/ws/functions.py +0 -0
  141. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/base/ws/future.py +0 -0
  142. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/base/ws/order_book.py +0 -0
  143. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  144. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bequant.py +0 -0
  145. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bigone.py +0 -0
  146. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/binance.py +0 -0
  147. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/binancecoinm.py +0 -0
  148. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/binanceus.py +0 -0
  149. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/binanceusdm.py +0 -0
  150. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bingx.py +0 -0
  151. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bit2c.py +0 -0
  152. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bitbank.py +0 -0
  153. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bitbay.py +0 -0
  154. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bitbns.py +0 -0
  155. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bitcoincom.py +0 -0
  156. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bitfinex.py +0 -0
  157. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bitfinex2.py +0 -0
  158. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bitflyer.py +0 -0
  159. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bithumb.py +0 -0
  160. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bitmart.py +0 -0
  161. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bitmex.py +0 -0
  162. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bitopro.py +0 -0
  163. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bitpanda.py +0 -0
  164. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bitrue.py +0 -0
  165. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bitso.py +0 -0
  166. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bitstamp.py +0 -0
  167. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bitteam.py +0 -0
  168. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bitvavo.py +0 -0
  169. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/bl3p.py +0 -0
  170. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/blockchaincom.py +0 -0
  171. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/blofin.py +0 -0
  172. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/btcalpha.py +0 -0
  173. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/btcbox.py +0 -0
  174. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/btcmarkets.py +0 -0
  175. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/btcturk.py +0 -0
  176. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/cex.py +0 -0
  177. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/coinbase.py +0 -0
  178. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/coinbaseinternational.py +0 -0
  179. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/coinbasepro.py +0 -0
  180. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/coincheck.py +0 -0
  181. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/coinlist.py +0 -0
  182. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/coinmate.py +0 -0
  183. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/coinmetro.py +0 -0
  184. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/coinone.py +0 -0
  185. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/coinsph.py +0 -0
  186. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/coinspot.py +0 -0
  187. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/cryptocom.py +0 -0
  188. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/currencycom.py +0 -0
  189. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/delta.py +0 -0
  190. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/deribit.py +0 -0
  191. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/digifinex.py +0 -0
  192. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/exmo.py +0 -0
  193. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/flowbtc.py +0 -0
  194. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/fmfwio.py +0 -0
  195. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/gate.py +0 -0
  196. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/gateio.py +0 -0
  197. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/gemini.py +0 -0
  198. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/hitbtc.py +0 -0
  199. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/hitbtc3.py +0 -0
  200. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/hollaex.py +0 -0
  201. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/huobi.py +0 -0
  202. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/huobijp.py +0 -0
  203. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/hyperliquid.py +0 -0
  204. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/idex.py +0 -0
  205. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/independentreserve.py +0 -0
  206. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/indodax.py +0 -0
  207. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/kraken.py +0 -0
  208. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/krakenfutures.py +0 -0
  209. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/kucoinfutures.py +0 -0
  210. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/kuna.py +0 -0
  211. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/latoken.py +0 -0
  212. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/lbank.py +0 -0
  213. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/luno.py +0 -0
  214. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/lykke.py +0 -0
  215. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/mercado.py +0 -0
  216. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/mexc.py +0 -0
  217. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/ndax.py +0 -0
  218. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/novadax.py +0 -0
  219. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/oceanex.py +0 -0
  220. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/okcoin.py +0 -0
  221. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/okx.py +0 -0
  222. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/onetrading.py +0 -0
  223. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/p2b.py +0 -0
  224. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/paymium.py +0 -0
  225. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/phemex.py +0 -0
  226. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/poloniex.py +0 -0
  227. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/poloniexfutures.py +0 -0
  228. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/probit.py +0 -0
  229. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/timex.py +0 -0
  230. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/tokocrypto.py +0 -0
  231. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/tradeogre.py +0 -0
  232. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/upbit.py +0 -0
  233. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/wavesexchange.py +0 -0
  234. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/wazirx.py +0 -0
  235. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/whitebit.py +0 -0
  236. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/woo.py +0 -0
  237. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/yobit.py +0 -0
  238. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/zaif.py +0 -0
  239. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/async_support/zonda.py +0 -0
  240. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/base/__init__.py +0 -0
  241. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/base/decimal_to_precision.py +0 -0
  242. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/base/errors.py +0 -0
  243. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/base/precise.py +0 -0
  244. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/base/types.py +0 -0
  245. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bequant.py +0 -0
  246. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bigone.py +0 -0
  247. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/binance.py +0 -0
  248. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/binancecoinm.py +0 -0
  249. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/binanceus.py +0 -0
  250. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/binanceusdm.py +0 -0
  251. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bingx.py +0 -0
  252. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bit2c.py +0 -0
  253. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bitbank.py +0 -0
  254. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bitbay.py +0 -0
  255. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bitbns.py +0 -0
  256. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bitcoincom.py +0 -0
  257. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bitfinex.py +0 -0
  258. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bitfinex2.py +0 -0
  259. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bitflyer.py +0 -0
  260. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bithumb.py +0 -0
  261. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bitmart.py +0 -0
  262. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bitmex.py +0 -0
  263. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bitopro.py +0 -0
  264. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bitpanda.py +0 -0
  265. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bitrue.py +0 -0
  266. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bitso.py +0 -0
  267. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bitstamp.py +0 -0
  268. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bitteam.py +0 -0
  269. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bitvavo.py +0 -0
  270. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/bl3p.py +0 -0
  271. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/blockchaincom.py +0 -0
  272. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/blofin.py +0 -0
  273. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/btcalpha.py +0 -0
  274. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/btcbox.py +0 -0
  275. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/btcmarkets.py +0 -0
  276. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/btcturk.py +0 -0
  277. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/cex.py +0 -0
  278. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/coinbase.py +0 -0
  279. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/coinbaseinternational.py +0 -0
  280. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/coinbasepro.py +0 -0
  281. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/coincheck.py +0 -0
  282. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/coinlist.py +0 -0
  283. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/coinmate.py +0 -0
  284. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/coinmetro.py +0 -0
  285. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/coinone.py +0 -0
  286. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/coinsph.py +0 -0
  287. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/coinspot.py +0 -0
  288. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/cryptocom.py +0 -0
  289. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/currencycom.py +0 -0
  290. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/delta.py +0 -0
  291. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/deribit.py +0 -0
  292. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/digifinex.py +0 -0
  293. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/exmo.py +0 -0
  294. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/flowbtc.py +0 -0
  295. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/fmfwio.py +0 -0
  296. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/gate.py +0 -0
  297. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/gateio.py +0 -0
  298. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/gemini.py +0 -0
  299. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/hitbtc.py +0 -0
  300. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/hitbtc3.py +0 -0
  301. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/hollaex.py +0 -0
  302. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/huobi.py +0 -0
  303. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/huobijp.py +0 -0
  304. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/hyperliquid.py +0 -0
  305. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/idex.py +0 -0
  306. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/independentreserve.py +0 -0
  307. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/indodax.py +0 -0
  308. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/kraken.py +0 -0
  309. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/krakenfutures.py +0 -0
  310. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/kucoinfutures.py +0 -0
  311. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/kuna.py +0 -0
  312. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/latoken.py +0 -0
  313. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/lbank.py +0 -0
  314. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/luno.py +0 -0
  315. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/lykke.py +0 -0
  316. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/mercado.py +0 -0
  317. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/mexc.py +0 -0
  318. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/ndax.py +0 -0
  319. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/novadax.py +0 -0
  320. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/oceanex.py +0 -0
  321. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/okcoin.py +0 -0
  322. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/okx.py +0 -0
  323. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/onetrading.py +0 -0
  324. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/p2b.py +0 -0
  325. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/paymium.py +0 -0
  326. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/phemex.py +0 -0
  327. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/poloniex.py +0 -0
  328. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/poloniexfutures.py +0 -0
  329. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/alpaca.py +0 -0
  330. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/ascendex.py +0 -0
  331. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/bequant.py +0 -0
  332. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/binance.py +0 -0
  333. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/binancecoinm.py +0 -0
  334. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/binanceus.py +0 -0
  335. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/binanceusdm.py +0 -0
  336. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/bingx.py +0 -0
  337. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/bitcoincom.py +0 -0
  338. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/bitfinex.py +0 -0
  339. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/bitfinex2.py +0 -0
  340. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/bitget.py +0 -0
  341. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/bithumb.py +0 -0
  342. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/bitmart.py +0 -0
  343. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/bitmex.py +0 -0
  344. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/bitopro.py +0 -0
  345. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/bitpanda.py +0 -0
  346. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/bitrue.py +0 -0
  347. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/bitstamp.py +0 -0
  348. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/bitvavo.py +0 -0
  349. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/blockchaincom.py +0 -0
  350. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/bybit.py +0 -0
  351. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/cex.py +0 -0
  352. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/coinbase.py +0 -0
  353. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/coinbaseinternational.py +0 -0
  354. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/coinbasepro.py +0 -0
  355. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/coincheck.py +0 -0
  356. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/coinex.py +0 -0
  357. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/coinone.py +0 -0
  358. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/cryptocom.py +0 -0
  359. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/currencycom.py +0 -0
  360. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/deribit.py +0 -0
  361. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/exmo.py +0 -0
  362. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/gate.py +0 -0
  363. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/gateio.py +0 -0
  364. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/gemini.py +0 -0
  365. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/hitbtc.py +0 -0
  366. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/hollaex.py +0 -0
  367. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/htx.py +0 -0
  368. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/huobi.py +0 -0
  369. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/huobijp.py +0 -0
  370. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/hyperliquid.py +0 -0
  371. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/idex.py +0 -0
  372. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/independentreserve.py +0 -0
  373. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/kraken.py +0 -0
  374. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/krakenfutures.py +0 -0
  375. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/kucoin.py +0 -0
  376. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/kucoinfutures.py +0 -0
  377. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/lbank.py +0 -0
  378. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/luno.py +0 -0
  379. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/mexc.py +0 -0
  380. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/ndax.py +0 -0
  381. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/okcoin.py +0 -0
  382. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/okx.py +0 -0
  383. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/onetrading.py +0 -0
  384. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/p2b.py +0 -0
  385. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/phemex.py +0 -0
  386. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/poloniex.py +0 -0
  387. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/poloniexfutures.py +0 -0
  388. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/probit.py +0 -0
  389. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/upbit.py +0 -0
  390. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/wazirx.py +0 -0
  391. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/whitebit.py +0 -0
  392. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/pro/woo.py +0 -0
  393. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/probit.py +0 -0
  394. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/__init__.py +0 -0
  395. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  396. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  397. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  398. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  399. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  400. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  401. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  402. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  403. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  404. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  405. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  406. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  407. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  408. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  409. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  410. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  411. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  412. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  413. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  414. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  415. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  416. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  417. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  418. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  419. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  420. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  421. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  422. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  423. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  424. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  425. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  426. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  427. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  428. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  429. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  430. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  431. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  432. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  433. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  434. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  435. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  436. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  437. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  438. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  439. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  440. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  441. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  442. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  443. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  444. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  445. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  446. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  447. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  448. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  449. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  450. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  451. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  452. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  453. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  454. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  455. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  456. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  457. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  458. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  459. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  460. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  461. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  462. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  463. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  464. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  465. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  466. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  467. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  468. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  469. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  470. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  471. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  472. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  473. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  474. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  475. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  476. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  477. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  478. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  479. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  480. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  481. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/toolz/_version.py +0 -0
  482. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  483. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  484. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  485. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  486. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  487. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  488. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  489. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  490. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/static_dependencies/toolz/utils.py +0 -0
  491. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/__init__.py +0 -0
  492. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/__init__.py +0 -0
  493. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_account.py +0 -0
  494. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_balance.py +0 -0
  495. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_borrow_interest.py +0 -0
  496. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_borrow_rate.py +0 -0
  497. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_calculate_fee.py +0 -0
  498. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_crypto.py +0 -0
  499. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_currency.py +0 -0
  500. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_datetime.py +0 -0
  501. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_decimal_to_precision.py +0 -0
  502. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_deep_extend.py +0 -0
  503. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
  504. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
  505. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_funding_rate_history.py +0 -0
  506. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_last_price.py +0 -0
  507. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_ledger_entry.py +0 -0
  508. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_ledger_item.py +0 -0
  509. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_leverage_tier.py +0 -0
  510. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_margin_mode.py +0 -0
  511. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_margin_modification.py +0 -0
  512. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_number.py +0 -0
  513. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_ohlcv.py +0 -0
  514. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_open_interest.py +0 -0
  515. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_order.py +0 -0
  516. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_order_book.py +0 -0
  517. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_position.py +0 -0
  518. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_shared_methods.py +0 -0
  519. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_status.py +0 -0
  520. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_throttle.py +0 -0
  521. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_ticker.py +0 -0
  522. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_trade.py +0 -0
  523. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_trading_fee.py +0 -0
  524. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/base/test_transaction.py +0 -0
  525. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/test_async.py +0 -0
  526. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/test/test_sync.py +0 -0
  527. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/timex.py +0 -0
  528. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/tokocrypto.py +0 -0
  529. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/tradeogre.py +0 -0
  530. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/upbit.py +0 -0
  531. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/wavesexchange.py +0 -0
  532. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/wazirx.py +0 -0
  533. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/whitebit.py +0 -0
  534. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/woo.py +0 -0
  535. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/yobit.py +0 -0
  536. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/zaif.py +0 -0
  537. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt/zonda.py +0 -0
  538. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt.egg-info/SOURCES.txt +0 -0
  539. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt.egg-info/dependency_links.txt +0 -0
  540. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt.egg-info/requires.txt +0 -0
  541. {ccxt-4.2.83 → ccxt-4.2.84}/ccxt.egg-info/top_level.txt +0 -0
  542. {ccxt-4.2.83 → ccxt-4.2.84}/setup.cfg +0 -0
  543. {ccxt-4.2.83 → ccxt-4.2.84}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.2.83
3
+ Version: 4.2.84
4
4
  Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges
5
5
  Home-page: https://ccxt.com
6
6
  Author: Igor Kroitor
@@ -226,13 +226,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
226
226
 
227
227
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
228
228
 
229
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.83/dist/ccxt.browser.js
230
- * unpkg: https://unpkg.com/ccxt@4.2.83/dist/ccxt.browser.js
229
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.84/dist/ccxt.browser.js
230
+ * unpkg: https://unpkg.com/ccxt@4.2.84/dist/ccxt.browser.js
231
231
 
232
232
  CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
233
233
 
234
234
  ```HTML
235
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.83/dist/ccxt.browser.js"></script>
235
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.84/dist/ccxt.browser.js"></script>
236
236
  ```
237
237
 
238
238
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.2.83'
25
+ __version__ = '4.2.84'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -265,7 +265,7 @@ class ImplicitAPI:
265
265
  private_post_v5_account_set_hedging_mode = privatePostV5AccountSetHedgingMode = Entry('v5/account/set-hedging-mode', 'private', 'POST', {'cost': 5})
266
266
  private_post_v5_account_mmp_modify = privatePostV5AccountMmpModify = Entry('v5/account/mmp-modify', 'private', 'POST', {'cost': 5})
267
267
  private_post_v5_account_mmp_reset = privatePostV5AccountMmpReset = Entry('v5/account/mmp-reset', 'private', 'POST', {'cost': 5})
268
- private_post_v5_asset_transfer_inter_transfer = privatePostV5AssetTransferInterTransfer = Entry('v5/asset/transfer/inter-transfer', 'private', 'POST', {'cost': 150})
268
+ private_post_v5_asset_transfer_inter_transfer = privatePostV5AssetTransferInterTransfer = Entry('v5/asset/transfer/inter-transfer', 'private', 'POST', {'cost': 50})
269
269
  private_post_v5_asset_transfer_save_transfer_sub_member = privatePostV5AssetTransferSaveTransferSubMember = Entry('v5/asset/transfer/save-transfer-sub-member', 'private', 'POST', {'cost': 150})
270
270
  private_post_v5_asset_transfer_universal_transfer = privatePostV5AssetTransferUniversalTransfer = Entry('v5/asset/transfer/universal-transfer', 'private', 'POST', {'cost': 10})
271
271
  private_post_v5_asset_deposit_deposit_to_account = privatePostV5AssetDepositDepositToAccount = Entry('v5/asset/deposit/deposit-to-account', 'private', 'POST', {'cost': 5})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.2.83'
7
+ __version__ = '4.2.84'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.2.83'
5
+ __version__ = '4.2.84'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -2692,6 +2692,7 @@ class bitget(Exchange, ImplicitAPI):
2692
2692
  :see: https://www.bitget.com/api-doc/contract/market/Get-All-Symbol-Ticker
2693
2693
  :param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
2694
2694
  :param dict [params]: extra parameters specific to the exchange API endpoint
2695
+ :param str [params.subType]: *contract only* 'linear', 'inverse'
2695
2696
  :param str [params.productType]: *contract only* 'USDT-FUTURES', 'USDC-FUTURES', 'COIN-FUTURES', 'SUSDT-FUTURES', 'SUSDC-FUTURES' or 'SCOIN-FUTURES'
2696
2697
  :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
2697
2698
  """
@@ -2705,15 +2706,20 @@ class bitget(Exchange, ImplicitAPI):
2705
2706
  market = self.market(sandboxSymbol)
2706
2707
  else:
2707
2708
  market = self.market(symbol)
2709
+ response = None
2708
2710
  request = {}
2709
2711
  type = None
2710
2712
  type, params = self.handle_market_type_and_params('fetchTickers', market, params)
2711
- response = None
2712
- if type == 'spot':
2713
+ # Calls like `.fetch_tickers(None, {subType:'inverse'})` should be supported for self exchange, so
2714
+ # as "options.defaultSubType" is also set in exchange options, we should consider `params.subType`
2715
+ # with higher priority and only default to spot, if `subType` is not set in params
2716
+ passedSubType = self.safe_string(params, 'subType')
2717
+ productType = None
2718
+ productType, params = self.handle_product_type_and_params(market, params)
2719
+ # only if passedSubType and productType is None, then use spot
2720
+ if type == 'spot' and passedSubType is None:
2713
2721
  response = await self.publicSpotGetV2SpotMarketTickers(self.extend(request, params))
2714
2722
  else:
2715
- productType = None
2716
- productType, params = self.handle_product_type_and_params(market, params)
2717
2723
  request['productType'] = productType
2718
2724
  response = await self.publicMixGetV2MixMarketTickers(self.extend(request, params))
2719
2725
  #
@@ -37,7 +37,7 @@ class bybit(Exchange, ImplicitAPI):
37
37
  'version': 'v5',
38
38
  'userAgent': None,
39
39
  'rateLimit': 20,
40
- 'hostname': 'bybit.com', # bybit.com, bytick.com
40
+ 'hostname': 'bybit.com', # bybit.com, bytick.com, bybit.nl, bybit.com.hk
41
41
  'pro': True,
42
42
  'certified': True,
43
43
  'has': {
@@ -483,7 +483,7 @@ class bybit(Exchange, ImplicitAPI):
483
483
  'v5/account/mmp-modify': 5,
484
484
  'v5/account/mmp-reset': 5,
485
485
  # asset
486
- 'v5/asset/transfer/inter-transfer': 150, # 1/3/s => cost = 50 / 1/3 = 150
486
+ 'v5/asset/transfer/inter-transfer': 50, # 1/s => cost = 50 / 1 = 50
487
487
  'v5/asset/transfer/save-transfer-sub-member': 150, # 1/3/s => cost = 50 / 1/3 = 150
488
488
  'v5/asset/transfer/universal-transfer': 10, # 5/s => cost = 50 / 5 = 10
489
489
  'v5/asset/deposit/deposit-to-account': 5,
@@ -2716,10 +2716,10 @@ class bybit(Exchange, ImplicitAPI):
2716
2716
  # limit: [1, 25]. Default: 1
2717
2717
  request['category'] = 'option'
2718
2718
  elif market['linear']:
2719
- # limit: [1, 200]. Default: 25
2719
+ # limit: [1, 500]. Default: 25
2720
2720
  request['category'] = 'linear'
2721
2721
  elif market['inverse']:
2722
- # limit: [1, 200]. Default: 25
2722
+ # limit: [1, 500]. Default: 25
2723
2723
  request['category'] = 'inverse'
2724
2724
  request['limit'] = limit if (limit is not None) else defaultLimit
2725
2725
  response = await self.publicGetV5MarketOrderbook(self.extend(request, params))
@@ -3515,8 +3515,7 @@ class coinex(Exchange, ImplicitAPI):
3515
3515
  # }
3516
3516
  #
3517
3517
  marketId = self.safe_string(position, 'market')
3518
- defaultType = self.safe_string(self.options, 'defaultType')
3519
- market = self.safe_market(marketId, market, None, defaultType)
3518
+ market = self.safe_market(marketId, market, None, 'swap')
3520
3519
  symbol = market['symbol']
3521
3520
  positionId = self.safe_integer(position, 'position_id')
3522
3521
  marginModeInteger = self.safe_integer(position, 'type')
@@ -2141,7 +2141,7 @@ class htx(Exchange, ImplicitAPI):
2141
2141
  # "ts":1639547261293
2142
2142
  # }
2143
2143
  #
2144
- # inverse swaps, linear swaps, inverse futures
2144
+ # linear swap, linear future, inverse swap, inverse future
2145
2145
  #
2146
2146
  # {
2147
2147
  # "status":"ok",
@@ -2158,37 +2158,15 @@ class htx(Exchange, ImplicitAPI):
2158
2158
  # "high":"0.10725",
2159
2159
  # "amount":"2340267.415144052378486261756692535687481566",
2160
2160
  # "count":882,
2161
- # "vol":"24706"
2161
+ # "vol":"24706",
2162
+ # "trade_turnover":"840726.5048", # only in linear futures
2163
+ # "business_type":"futures", # only in linear futures
2164
+ # "contract_code":"BTC-USDT-CW", # only in linear futures, instead of 'symbol'
2162
2165
  # }
2163
2166
  # ],
2164
2167
  # "ts":1637504679376
2165
2168
  # }
2166
2169
  #
2167
- # linear futures
2168
- #
2169
- # {
2170
- # "status":"ok",
2171
- # "ticks":[
2172
- # {
2173
- # "id":1640745627,
2174
- # "ts":1640745627957,
2175
- # "ask":[48079.1,20],
2176
- # "bid":[47713.8,125],
2177
- # "business_type":"futures",
2178
- # "contract_code":"BTC-USDT-CW",
2179
- # "open":"49011.8",
2180
- # "close":"47934",
2181
- # "low":"47292.3",
2182
- # "high":"49011.8",
2183
- # "amount":"17.398",
2184
- # "count":1515,
2185
- # "vol":"17398",
2186
- # "trade_turnover":"840726.5048"
2187
- # }
2188
- # ],
2189
- # "ts":1640745627988
2190
- # }
2191
- #
2192
2170
  tickers = self.safe_value_2(response, 'data', 'ticks', [])
2193
2171
  timestamp = self.safe_integer(response, 'ts')
2194
2172
  result = {}
@@ -26,6 +26,7 @@ from ccxt.base.errors import RateLimitExceeded
26
26
  from ccxt.base.errors import ExchangeNotAvailable
27
27
  from ccxt.base.errors import InvalidNonce
28
28
  from ccxt.base.errors import AuthenticationError
29
+ from ccxt.base.decimal_to_precision import TRUNCATE
29
30
  from ccxt.base.decimal_to_precision import TICK_SIZE
30
31
  from ccxt.base.precise import Precise
31
32
 
@@ -442,6 +443,7 @@ class kucoin(Exchange, ImplicitAPI):
442
443
  'Order size below the minimum requirement.': InvalidOrder, # {"code":"400100","msg":"Order size below the minimum requirement."}
443
444
  'The withdrawal amount is below the minimum requirement.': ExchangeError, # {"code":"400100","msg":"The withdrawal amount is below the minimum requirement."}
444
445
  'Unsuccessful! Exceeded the max. funds out-transfer limit': InsufficientFunds, # {"code":"200000","msg":"Unsuccessful! Exceeded the max. funds out-transfer limit"}
446
+ 'The amount increment is invalid.': BadRequest,
445
447
  '400': BadRequest,
446
448
  '401': AuthenticationError,
447
449
  '403': NotSupported,
@@ -2092,6 +2094,13 @@ class kucoin(Exchange, ImplicitAPI):
2092
2094
  data = self.safe_list(data, 'data', [])
2093
2095
  return self.parse_orders(data)
2094
2096
 
2097
+ def market_order_amount_to_precision(self, symbol: str, amount):
2098
+ market = self.market(symbol)
2099
+ result = self.decimal_to_precision(amount, TRUNCATE, market['info']['quoteIncrement'], self.precisionMode, self.paddingMode)
2100
+ if result == '0':
2101
+ raise InvalidOrder(self.id + ' amount of ' + market['symbol'] + ' must be greater than minimum amount precision of ' + self.number_to_string(market['precision']['amount']))
2102
+ return result
2103
+
2095
2104
  def create_order_request(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
2096
2105
  market = self.market(symbol)
2097
2106
  # required param, cannot be used twice
@@ -2112,7 +2121,7 @@ class kucoin(Exchange, ImplicitAPI):
2112
2121
  if quoteAmount is not None:
2113
2122
  params = self.omit(params, ['cost', 'funds'])
2114
2123
  # kucoin uses base precision even for quote values
2115
- costString = self.amount_to_precision(symbol, quoteAmount)
2124
+ costString = self.market_order_amount_to_precision(symbol, quoteAmount)
2116
2125
  request['funds'] = costString
2117
2126
  else:
2118
2127
  amountString = self.amount_to_precision(symbol, amount)
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.2.83'
7
+ __version__ = '4.2.84'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2691,6 +2691,7 @@ class bitget(Exchange, ImplicitAPI):
2691
2691
  :see: https://www.bitget.com/api-doc/contract/market/Get-All-Symbol-Ticker
2692
2692
  :param str[]|None symbols: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
2693
2693
  :param dict [params]: extra parameters specific to the exchange API endpoint
2694
+ :param str [params.subType]: *contract only* 'linear', 'inverse'
2694
2695
  :param str [params.productType]: *contract only* 'USDT-FUTURES', 'USDC-FUTURES', 'COIN-FUTURES', 'SUSDT-FUTURES', 'SUSDC-FUTURES' or 'SCOIN-FUTURES'
2695
2696
  :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
2696
2697
  """
@@ -2704,15 +2705,20 @@ class bitget(Exchange, ImplicitAPI):
2704
2705
  market = self.market(sandboxSymbol)
2705
2706
  else:
2706
2707
  market = self.market(symbol)
2708
+ response = None
2707
2709
  request = {}
2708
2710
  type = None
2709
2711
  type, params = self.handle_market_type_and_params('fetchTickers', market, params)
2710
- response = None
2711
- if type == 'spot':
2712
+ # Calls like `.fetch_tickers(None, {subType:'inverse'})` should be supported for self exchange, so
2713
+ # as "options.defaultSubType" is also set in exchange options, we should consider `params.subType`
2714
+ # with higher priority and only default to spot, if `subType` is not set in params
2715
+ passedSubType = self.safe_string(params, 'subType')
2716
+ productType = None
2717
+ productType, params = self.handle_product_type_and_params(market, params)
2718
+ # only if passedSubType and productType is None, then use spot
2719
+ if type == 'spot' and passedSubType is None:
2712
2720
  response = self.publicSpotGetV2SpotMarketTickers(self.extend(request, params))
2713
2721
  else:
2714
- productType = None
2715
- productType, params = self.handle_product_type_and_params(market, params)
2716
2722
  request['productType'] = productType
2717
2723
  response = self.publicMixGetV2MixMarketTickers(self.extend(request, params))
2718
2724
  #
@@ -36,7 +36,7 @@ class bybit(Exchange, ImplicitAPI):
36
36
  'version': 'v5',
37
37
  'userAgent': None,
38
38
  'rateLimit': 20,
39
- 'hostname': 'bybit.com', # bybit.com, bytick.com
39
+ 'hostname': 'bybit.com', # bybit.com, bytick.com, bybit.nl, bybit.com.hk
40
40
  'pro': True,
41
41
  'certified': True,
42
42
  'has': {
@@ -482,7 +482,7 @@ class bybit(Exchange, ImplicitAPI):
482
482
  'v5/account/mmp-modify': 5,
483
483
  'v5/account/mmp-reset': 5,
484
484
  # asset
485
- 'v5/asset/transfer/inter-transfer': 150, # 1/3/s => cost = 50 / 1/3 = 150
485
+ 'v5/asset/transfer/inter-transfer': 50, # 1/s => cost = 50 / 1 = 50
486
486
  'v5/asset/transfer/save-transfer-sub-member': 150, # 1/3/s => cost = 50 / 1/3 = 150
487
487
  'v5/asset/transfer/universal-transfer': 10, # 5/s => cost = 50 / 5 = 10
488
488
  'v5/asset/deposit/deposit-to-account': 5,
@@ -2715,10 +2715,10 @@ class bybit(Exchange, ImplicitAPI):
2715
2715
  # limit: [1, 25]. Default: 1
2716
2716
  request['category'] = 'option'
2717
2717
  elif market['linear']:
2718
- # limit: [1, 200]. Default: 25
2718
+ # limit: [1, 500]. Default: 25
2719
2719
  request['category'] = 'linear'
2720
2720
  elif market['inverse']:
2721
- # limit: [1, 200]. Default: 25
2721
+ # limit: [1, 500]. Default: 25
2722
2722
  request['category'] = 'inverse'
2723
2723
  request['limit'] = limit if (limit is not None) else defaultLimit
2724
2724
  response = self.publicGetV5MarketOrderbook(self.extend(request, params))
@@ -3514,8 +3514,7 @@ class coinex(Exchange, ImplicitAPI):
3514
3514
  # }
3515
3515
  #
3516
3516
  marketId = self.safe_string(position, 'market')
3517
- defaultType = self.safe_string(self.options, 'defaultType')
3518
- market = self.safe_market(marketId, market, None, defaultType)
3517
+ market = self.safe_market(marketId, market, None, 'swap')
3519
3518
  symbol = market['symbol']
3520
3519
  positionId = self.safe_integer(position, 'position_id')
3521
3520
  marginModeInteger = self.safe_integer(position, 'type')
@@ -2140,7 +2140,7 @@ class htx(Exchange, ImplicitAPI):
2140
2140
  # "ts":1639547261293
2141
2141
  # }
2142
2142
  #
2143
- # inverse swaps, linear swaps, inverse futures
2143
+ # linear swap, linear future, inverse swap, inverse future
2144
2144
  #
2145
2145
  # {
2146
2146
  # "status":"ok",
@@ -2157,37 +2157,15 @@ class htx(Exchange, ImplicitAPI):
2157
2157
  # "high":"0.10725",
2158
2158
  # "amount":"2340267.415144052378486261756692535687481566",
2159
2159
  # "count":882,
2160
- # "vol":"24706"
2160
+ # "vol":"24706",
2161
+ # "trade_turnover":"840726.5048", # only in linear futures
2162
+ # "business_type":"futures", # only in linear futures
2163
+ # "contract_code":"BTC-USDT-CW", # only in linear futures, instead of 'symbol'
2161
2164
  # }
2162
2165
  # ],
2163
2166
  # "ts":1637504679376
2164
2167
  # }
2165
2168
  #
2166
- # linear futures
2167
- #
2168
- # {
2169
- # "status":"ok",
2170
- # "ticks":[
2171
- # {
2172
- # "id":1640745627,
2173
- # "ts":1640745627957,
2174
- # "ask":[48079.1,20],
2175
- # "bid":[47713.8,125],
2176
- # "business_type":"futures",
2177
- # "contract_code":"BTC-USDT-CW",
2178
- # "open":"49011.8",
2179
- # "close":"47934",
2180
- # "low":"47292.3",
2181
- # "high":"49011.8",
2182
- # "amount":"17.398",
2183
- # "count":1515,
2184
- # "vol":"17398",
2185
- # "trade_turnover":"840726.5048"
2186
- # }
2187
- # ],
2188
- # "ts":1640745627988
2189
- # }
2190
- #
2191
2169
  tickers = self.safe_value_2(response, 'data', 'ticks', [])
2192
2170
  timestamp = self.safe_integer(response, 'ts')
2193
2171
  result = {}
@@ -25,6 +25,7 @@ from ccxt.base.errors import RateLimitExceeded
25
25
  from ccxt.base.errors import ExchangeNotAvailable
26
26
  from ccxt.base.errors import InvalidNonce
27
27
  from ccxt.base.errors import AuthenticationError
28
+ from ccxt.base.decimal_to_precision import TRUNCATE
28
29
  from ccxt.base.decimal_to_precision import TICK_SIZE
29
30
  from ccxt.base.precise import Precise
30
31
 
@@ -441,6 +442,7 @@ class kucoin(Exchange, ImplicitAPI):
441
442
  'Order size below the minimum requirement.': InvalidOrder, # {"code":"400100","msg":"Order size below the minimum requirement."}
442
443
  'The withdrawal amount is below the minimum requirement.': ExchangeError, # {"code":"400100","msg":"The withdrawal amount is below the minimum requirement."}
443
444
  'Unsuccessful! Exceeded the max. funds out-transfer limit': InsufficientFunds, # {"code":"200000","msg":"Unsuccessful! Exceeded the max. funds out-transfer limit"}
445
+ 'The amount increment is invalid.': BadRequest,
444
446
  '400': BadRequest,
445
447
  '401': AuthenticationError,
446
448
  '403': NotSupported,
@@ -2091,6 +2093,13 @@ class kucoin(Exchange, ImplicitAPI):
2091
2093
  data = self.safe_list(data, 'data', [])
2092
2094
  return self.parse_orders(data)
2093
2095
 
2096
+ def market_order_amount_to_precision(self, symbol: str, amount):
2097
+ market = self.market(symbol)
2098
+ result = self.decimal_to_precision(amount, TRUNCATE, market['info']['quoteIncrement'], self.precisionMode, self.paddingMode)
2099
+ if result == '0':
2100
+ raise InvalidOrder(self.id + ' amount of ' + market['symbol'] + ' must be greater than minimum amount precision of ' + self.number_to_string(market['precision']['amount']))
2101
+ return result
2102
+
2094
2103
  def create_order_request(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
2095
2104
  market = self.market(symbol)
2096
2105
  # required param, cannot be used twice
@@ -2111,7 +2120,7 @@ class kucoin(Exchange, ImplicitAPI):
2111
2120
  if quoteAmount is not None:
2112
2121
  params = self.omit(params, ['cost', 'funds'])
2113
2122
  # kucoin uses base precision even for quote values
2114
- costString = self.amount_to_precision(symbol, quoteAmount)
2123
+ costString = self.market_order_amount_to_precision(symbol, quoteAmount)
2115
2124
  request['funds'] = costString
2116
2125
  else:
2117
2126
  amountString = self.amount_to_precision(symbol, amount)
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.2.83'
7
+ __version__ = '4.2.84'
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
@@ -91,6 +91,9 @@ def test_market(exchange, skipped_properties, method, market):
91
91
  # otherwise, it must be false or undefined
92
92
  test_shared_methods.assert_in_array(exchange, skipped_properties, method, market, 'margin', [False, None])
93
93
  if not ('contractSize' in skipped_properties):
94
+ if not market['spot']:
95
+ # if not spot, then contractSize should be defined
96
+ assert market['contractSize'] is not None, '\"contractSize\" must be defined when \"spot\" is false' + log_text
94
97
  test_shared_methods.assert_greater(exchange, skipped_properties, method, market, 'contractSize', '0')
95
98
  # typical values
96
99
  test_shared_methods.assert_greater(exchange, skipped_properties, method, market, 'expiry', '0')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.2.83
3
+ Version: 4.2.84
4
4
  Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges
5
5
  Home-page: https://ccxt.com
6
6
  Author: Igor Kroitor
@@ -226,13 +226,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
226
226
 
227
227
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
228
228
 
229
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.83/dist/ccxt.browser.js
230
- * unpkg: https://unpkg.com/ccxt@4.2.83/dist/ccxt.browser.js
229
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.84/dist/ccxt.browser.js
230
+ * unpkg: https://unpkg.com/ccxt@4.2.84/dist/ccxt.browser.js
231
231
 
232
232
  CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
233
233
 
234
234
  ```HTML
235
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.83/dist/ccxt.browser.js"></script>
235
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.84/dist/ccxt.browser.js"></script>
236
236
  ```
237
237
 
238
238
  Creates a global `ccxt` object:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.2.83",
3
+ "version": "4.2.84",
4
4
  "description": "A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges",
5
5
  "unpkg": "dist/ccxt.browser.js",
6
6
  "type": "module",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes