ccxt 4.3.90__tar.gz → 4.3.91__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.
Files changed (666) hide show
  1. {ccxt-4.3.90/ccxt.egg-info → ccxt-4.3.91}/PKG-INFO +4 -4
  2. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/__init__.py +1 -1
  3. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/binance.py +1 -1
  4. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/binancecoinm.py +1 -1
  5. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/binanceus.py +1 -1
  6. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/binanceusdm.py +1 -1
  7. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/kucoin.py +1 -0
  8. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/kucoinfutures.py +1 -0
  9. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/__init__.py +1 -1
  10. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/base/exchange.py +1 -1
  11. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/binance.py +1 -1
  12. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/hitbtc.py +1 -0
  13. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/kucoin.py +53 -21
  14. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/kucoinfutures.py +22 -2
  15. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/woo.py +1 -1
  16. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/base/exchange.py +1 -1
  17. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/binance.py +1 -1
  18. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/hitbtc.py +1 -0
  19. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/kucoin.py +53 -21
  20. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/kucoinfutures.py +22 -2
  21. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/__init__.py +1 -1
  22. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/woo.py +1 -1
  23. {ccxt-4.3.90 → ccxt-4.3.91/ccxt.egg-info}/PKG-INFO +4 -4
  24. {ccxt-4.3.90 → ccxt-4.3.91}/package.json +1 -1
  25. {ccxt-4.3.90 → ccxt-4.3.91}/LICENSE.txt +0 -0
  26. {ccxt-4.3.90 → ccxt-4.3.91}/MANIFEST.in +0 -0
  27. {ccxt-4.3.90 → ccxt-4.3.91}/README.rst +0 -0
  28. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/__init__.py +0 -0
  29. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/ace.py +0 -0
  30. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/alpaca.py +0 -0
  31. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/ascendex.py +0 -0
  32. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bequant.py +0 -0
  33. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bigone.py +0 -0
  34. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bingx.py +0 -0
  35. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bit2c.py +0 -0
  36. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bitbank.py +0 -0
  37. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bitbay.py +0 -0
  38. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bitbns.py +0 -0
  39. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bitcoincom.py +0 -0
  40. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bitfinex.py +0 -0
  41. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bitfinex2.py +0 -0
  42. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bitflyer.py +0 -0
  43. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bitget.py +0 -0
  44. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bithumb.py +0 -0
  45. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bitmart.py +0 -0
  46. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bitmex.py +0 -0
  47. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bitopro.py +0 -0
  48. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bitpanda.py +0 -0
  49. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bitrue.py +0 -0
  50. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bitso.py +0 -0
  51. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bitstamp.py +0 -0
  52. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bitteam.py +0 -0
  53. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bitvavo.py +0 -0
  54. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bl3p.py +0 -0
  55. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/blockchaincom.py +0 -0
  56. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/blofin.py +0 -0
  57. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/btcalpha.py +0 -0
  58. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/btcbox.py +0 -0
  59. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/btcmarkets.py +0 -0
  60. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/btcturk.py +0 -0
  61. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/bybit.py +0 -0
  62. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/cex.py +0 -0
  63. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/coinbase.py +0 -0
  64. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/coinbaseadvanced.py +0 -0
  65. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/coinbaseexchange.py +0 -0
  66. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/coinbaseinternational.py +0 -0
  67. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/coincheck.py +0 -0
  68. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/coinex.py +0 -0
  69. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/coinlist.py +0 -0
  70. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/coinmate.py +0 -0
  71. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/coinmetro.py +0 -0
  72. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/coinone.py +0 -0
  73. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/coinsph.py +0 -0
  74. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/coinspot.py +0 -0
  75. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/cryptocom.py +0 -0
  76. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/currencycom.py +0 -0
  77. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/delta.py +0 -0
  78. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/deribit.py +0 -0
  79. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/digifinex.py +0 -0
  80. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/exmo.py +0 -0
  81. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/fmfwio.py +0 -0
  82. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/gate.py +0 -0
  83. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/gateio.py +0 -0
  84. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/gemini.py +0 -0
  85. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/hashkey.py +0 -0
  86. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/hitbtc.py +0 -0
  87. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/hitbtc3.py +0 -0
  88. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/hollaex.py +0 -0
  89. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/htx.py +0 -0
  90. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/huobi.py +0 -0
  91. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/huobijp.py +0 -0
  92. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/hyperliquid.py +0 -0
  93. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/idex.py +0 -0
  94. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/independentreserve.py +0 -0
  95. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/indodax.py +0 -0
  96. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/kraken.py +0 -0
  97. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/krakenfutures.py +0 -0
  98. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/kuna.py +0 -0
  99. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/latoken.py +0 -0
  100. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/lbank.py +0 -0
  101. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/luno.py +0 -0
  102. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/lykke.py +0 -0
  103. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/mercado.py +0 -0
  104. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/mexc.py +0 -0
  105. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/ndax.py +0 -0
  106. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/novadax.py +0 -0
  107. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/oceanex.py +0 -0
  108. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/okcoin.py +0 -0
  109. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/okx.py +0 -0
  110. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/onetrading.py +0 -0
  111. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/oxfun.py +0 -0
  112. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/p2b.py +0 -0
  113. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/paradex.py +0 -0
  114. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/paymium.py +0 -0
  115. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/phemex.py +0 -0
  116. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/poloniex.py +0 -0
  117. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/poloniexfutures.py +0 -0
  118. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/probit.py +0 -0
  119. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/timex.py +0 -0
  120. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/tokocrypto.py +0 -0
  121. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/tradeogre.py +0 -0
  122. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/upbit.py +0 -0
  123. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/vertex.py +0 -0
  124. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/wavesexchange.py +0 -0
  125. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/wazirx.py +0 -0
  126. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/whitebit.py +0 -0
  127. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/woo.py +0 -0
  128. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/woofipro.py +0 -0
  129. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/xt.py +0 -0
  130. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/yobit.py +0 -0
  131. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/zaif.py +0 -0
  132. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/abstract/zonda.py +0 -0
  133. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/ace.py +0 -0
  134. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/alpaca.py +0 -0
  135. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/ascendex.py +0 -0
  136. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/ace.py +0 -0
  137. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/alpaca.py +0 -0
  138. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/ascendex.py +0 -0
  139. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/base/__init__.py +0 -0
  140. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/base/throttler.py +0 -0
  141. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/base/ws/__init__.py +0 -0
  142. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  143. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/base/ws/cache.py +0 -0
  144. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/base/ws/client.py +0 -0
  145. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/base/ws/fast_client.py +0 -0
  146. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/base/ws/functions.py +0 -0
  147. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/base/ws/future.py +0 -0
  148. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/base/ws/order_book.py +0 -0
  149. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  150. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bequant.py +0 -0
  151. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bigone.py +0 -0
  152. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/binancecoinm.py +0 -0
  153. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/binanceus.py +0 -0
  154. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/binanceusdm.py +0 -0
  155. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bingx.py +0 -0
  156. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bit2c.py +0 -0
  157. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bitbank.py +0 -0
  158. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bitbay.py +0 -0
  159. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bitbns.py +0 -0
  160. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bitcoincom.py +0 -0
  161. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bitfinex.py +0 -0
  162. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bitfinex2.py +0 -0
  163. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bitflyer.py +0 -0
  164. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bitget.py +0 -0
  165. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bithumb.py +0 -0
  166. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bitmart.py +0 -0
  167. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bitmex.py +0 -0
  168. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bitopro.py +0 -0
  169. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bitpanda.py +0 -0
  170. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bitrue.py +0 -0
  171. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bitso.py +0 -0
  172. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bitstamp.py +0 -0
  173. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bitteam.py +0 -0
  174. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bitvavo.py +0 -0
  175. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bl3p.py +0 -0
  176. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/blockchaincom.py +0 -0
  177. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/blofin.py +0 -0
  178. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/btcalpha.py +0 -0
  179. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/btcbox.py +0 -0
  180. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/btcmarkets.py +0 -0
  181. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/btcturk.py +0 -0
  182. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/bybit.py +0 -0
  183. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/cex.py +0 -0
  184. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/coinbase.py +0 -0
  185. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/coinbaseadvanced.py +0 -0
  186. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/coinbaseexchange.py +0 -0
  187. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/coinbaseinternational.py +0 -0
  188. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/coincheck.py +0 -0
  189. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/coinex.py +0 -0
  190. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/coinlist.py +0 -0
  191. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/coinmate.py +0 -0
  192. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/coinmetro.py +0 -0
  193. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/coinone.py +0 -0
  194. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/coinsph.py +0 -0
  195. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/coinspot.py +0 -0
  196. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/cryptocom.py +0 -0
  197. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/currencycom.py +0 -0
  198. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/delta.py +0 -0
  199. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/deribit.py +0 -0
  200. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/digifinex.py +0 -0
  201. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/exmo.py +0 -0
  202. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/fmfwio.py +0 -0
  203. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/gate.py +0 -0
  204. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/gateio.py +0 -0
  205. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/gemini.py +0 -0
  206. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/hashkey.py +0 -0
  207. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/hitbtc3.py +0 -0
  208. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/hollaex.py +0 -0
  209. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/htx.py +0 -0
  210. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/huobi.py +0 -0
  211. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/huobijp.py +0 -0
  212. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/hyperliquid.py +0 -0
  213. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/idex.py +0 -0
  214. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/independentreserve.py +0 -0
  215. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/indodax.py +0 -0
  216. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/kraken.py +0 -0
  217. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/krakenfutures.py +0 -0
  218. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/kuna.py +0 -0
  219. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/latoken.py +0 -0
  220. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/lbank.py +0 -0
  221. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/luno.py +0 -0
  222. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/lykke.py +0 -0
  223. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/mercado.py +0 -0
  224. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/mexc.py +0 -0
  225. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/ndax.py +0 -0
  226. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/novadax.py +0 -0
  227. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/oceanex.py +0 -0
  228. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/okcoin.py +0 -0
  229. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/okx.py +0 -0
  230. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/onetrading.py +0 -0
  231. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/oxfun.py +0 -0
  232. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/p2b.py +0 -0
  233. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/paradex.py +0 -0
  234. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/paymium.py +0 -0
  235. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/phemex.py +0 -0
  236. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/poloniex.py +0 -0
  237. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/poloniexfutures.py +0 -0
  238. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/probit.py +0 -0
  239. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/timex.py +0 -0
  240. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/tokocrypto.py +0 -0
  241. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/tradeogre.py +0 -0
  242. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/upbit.py +0 -0
  243. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/vertex.py +0 -0
  244. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/wavesexchange.py +0 -0
  245. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/wazirx.py +0 -0
  246. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/whitebit.py +0 -0
  247. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/woofipro.py +0 -0
  248. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/xt.py +0 -0
  249. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/yobit.py +0 -0
  250. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/zaif.py +0 -0
  251. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/async_support/zonda.py +0 -0
  252. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/base/__init__.py +0 -0
  253. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/base/decimal_to_precision.py +0 -0
  254. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/base/errors.py +0 -0
  255. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/base/precise.py +0 -0
  256. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/base/types.py +0 -0
  257. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bequant.py +0 -0
  258. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bigone.py +0 -0
  259. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/binancecoinm.py +0 -0
  260. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/binanceus.py +0 -0
  261. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/binanceusdm.py +0 -0
  262. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bingx.py +0 -0
  263. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bit2c.py +0 -0
  264. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bitbank.py +0 -0
  265. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bitbay.py +0 -0
  266. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bitbns.py +0 -0
  267. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bitcoincom.py +0 -0
  268. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bitfinex.py +0 -0
  269. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bitfinex2.py +0 -0
  270. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bitflyer.py +0 -0
  271. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bitget.py +0 -0
  272. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bithumb.py +0 -0
  273. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bitmart.py +0 -0
  274. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bitmex.py +0 -0
  275. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bitopro.py +0 -0
  276. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bitpanda.py +0 -0
  277. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bitrue.py +0 -0
  278. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bitso.py +0 -0
  279. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bitstamp.py +0 -0
  280. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bitteam.py +0 -0
  281. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bitvavo.py +0 -0
  282. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bl3p.py +0 -0
  283. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/blockchaincom.py +0 -0
  284. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/blofin.py +0 -0
  285. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/btcalpha.py +0 -0
  286. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/btcbox.py +0 -0
  287. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/btcmarkets.py +0 -0
  288. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/btcturk.py +0 -0
  289. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/bybit.py +0 -0
  290. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/cex.py +0 -0
  291. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/coinbase.py +0 -0
  292. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/coinbaseadvanced.py +0 -0
  293. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/coinbaseexchange.py +0 -0
  294. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/coinbaseinternational.py +0 -0
  295. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/coincheck.py +0 -0
  296. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/coinex.py +0 -0
  297. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/coinlist.py +0 -0
  298. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/coinmate.py +0 -0
  299. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/coinmetro.py +0 -0
  300. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/coinone.py +0 -0
  301. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/coinsph.py +0 -0
  302. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/coinspot.py +0 -0
  303. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/cryptocom.py +0 -0
  304. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/currencycom.py +0 -0
  305. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/delta.py +0 -0
  306. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/deribit.py +0 -0
  307. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/digifinex.py +0 -0
  308. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/exmo.py +0 -0
  309. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/fmfwio.py +0 -0
  310. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/gate.py +0 -0
  311. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/gateio.py +0 -0
  312. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/gemini.py +0 -0
  313. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/hashkey.py +0 -0
  314. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/hitbtc3.py +0 -0
  315. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/hollaex.py +0 -0
  316. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/htx.py +0 -0
  317. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/huobi.py +0 -0
  318. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/huobijp.py +0 -0
  319. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/hyperliquid.py +0 -0
  320. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/idex.py +0 -0
  321. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/independentreserve.py +0 -0
  322. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/indodax.py +0 -0
  323. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/kraken.py +0 -0
  324. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/krakenfutures.py +0 -0
  325. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/kuna.py +0 -0
  326. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/latoken.py +0 -0
  327. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/lbank.py +0 -0
  328. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/luno.py +0 -0
  329. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/lykke.py +0 -0
  330. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/mercado.py +0 -0
  331. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/mexc.py +0 -0
  332. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/ndax.py +0 -0
  333. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/novadax.py +0 -0
  334. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/oceanex.py +0 -0
  335. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/okcoin.py +0 -0
  336. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/okx.py +0 -0
  337. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/onetrading.py +0 -0
  338. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/oxfun.py +0 -0
  339. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/p2b.py +0 -0
  340. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/paradex.py +0 -0
  341. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/paymium.py +0 -0
  342. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/phemex.py +0 -0
  343. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/poloniex.py +0 -0
  344. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/poloniexfutures.py +0 -0
  345. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/alpaca.py +0 -0
  346. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/ascendex.py +0 -0
  347. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/bequant.py +0 -0
  348. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/binance.py +0 -0
  349. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/binancecoinm.py +0 -0
  350. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/binanceus.py +0 -0
  351. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/binanceusdm.py +0 -0
  352. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/bingx.py +0 -0
  353. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/bitcoincom.py +0 -0
  354. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/bitfinex.py +0 -0
  355. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/bitfinex2.py +0 -0
  356. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/bitget.py +0 -0
  357. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/bithumb.py +0 -0
  358. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/bitmart.py +0 -0
  359. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/bitmex.py +0 -0
  360. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/bitopro.py +0 -0
  361. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/bitpanda.py +0 -0
  362. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/bitrue.py +0 -0
  363. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/bitstamp.py +0 -0
  364. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/bitvavo.py +0 -0
  365. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/blockchaincom.py +0 -0
  366. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/blofin.py +0 -0
  367. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/bybit.py +0 -0
  368. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/cex.py +0 -0
  369. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/coinbase.py +0 -0
  370. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/coinbaseexchange.py +0 -0
  371. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/coinbaseinternational.py +0 -0
  372. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/coincheck.py +0 -0
  373. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/coinex.py +0 -0
  374. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/coinone.py +0 -0
  375. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/cryptocom.py +0 -0
  376. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/currencycom.py +0 -0
  377. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/deribit.py +0 -0
  378. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/exmo.py +0 -0
  379. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/gate.py +0 -0
  380. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/gateio.py +0 -0
  381. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/gemini.py +0 -0
  382. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/hashkey.py +0 -0
  383. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/hitbtc.py +0 -0
  384. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/hollaex.py +0 -0
  385. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/htx.py +0 -0
  386. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/huobi.py +0 -0
  387. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/huobijp.py +0 -0
  388. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/hyperliquid.py +0 -0
  389. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/idex.py +0 -0
  390. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/independentreserve.py +0 -0
  391. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/kraken.py +0 -0
  392. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/krakenfutures.py +0 -0
  393. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/kucoin.py +0 -0
  394. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/kucoinfutures.py +0 -0
  395. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/lbank.py +0 -0
  396. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/luno.py +0 -0
  397. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/mexc.py +0 -0
  398. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/ndax.py +0 -0
  399. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/okcoin.py +0 -0
  400. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/okx.py +0 -0
  401. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/onetrading.py +0 -0
  402. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/oxfun.py +0 -0
  403. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/p2b.py +0 -0
  404. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/paradex.py +0 -0
  405. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/phemex.py +0 -0
  406. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/poloniex.py +0 -0
  407. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/poloniexfutures.py +0 -0
  408. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/probit.py +0 -0
  409. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/upbit.py +0 -0
  410. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/vertex.py +0 -0
  411. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/wazirx.py +0 -0
  412. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/whitebit.py +0 -0
  413. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/woo.py +0 -0
  414. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/woofipro.py +0 -0
  415. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/pro/xt.py +0 -0
  416. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/probit.py +0 -0
  417. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/__init__.py +0 -0
  418. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  419. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  420. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  421. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  422. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  423. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  424. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  425. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  426. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  427. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  428. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  429. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  430. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  431. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  432. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  433. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  434. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  435. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  436. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  437. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  438. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  439. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  440. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  441. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  442. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  443. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  444. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  445. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  446. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  447. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  448. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  449. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  450. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  451. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  452. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  453. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  454. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  455. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  456. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  457. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  458. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  459. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  460. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  461. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  462. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  463. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  464. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  465. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  466. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  467. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  468. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  469. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  470. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  471. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  472. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  473. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  474. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  475. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  476. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  477. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  478. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  479. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  480. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  481. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  482. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  483. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  484. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  485. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  486. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  487. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  488. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  489. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  490. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  491. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  492. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/__init__.py +0 -0
  493. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -0
  494. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -0
  495. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/ast_utils.py +0 -0
  496. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/common.py +0 -0
  497. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/exceptions.py +0 -0
  498. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/grammar.py +0 -0
  499. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
  500. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/indenter.py +0 -0
  501. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/lark.py +0 -0
  502. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/lexer.py +0 -0
  503. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/load_grammar.py +0 -0
  504. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -0
  505. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/parser_frontends.py +0 -0
  506. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
  507. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/parsers/cyk.py +0 -0
  508. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/parsers/earley.py +0 -0
  509. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -0
  510. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -0
  511. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -0
  512. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -0
  513. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -0
  514. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -0
  515. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -0
  516. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/parsers/xearley.py +0 -0
  517. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/py.typed +0 -0
  518. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/reconstruct.py +0 -0
  519. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/tools/__init__.py +0 -0
  520. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/tools/nearley.py +0 -0
  521. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/tools/serialize.py +0 -0
  522. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/tools/standalone.py +0 -0
  523. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/tree.py +0 -0
  524. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/tree_matcher.py +0 -0
  525. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/tree_templates.py +0 -0
  526. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/utils.py +0 -0
  527. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/lark/visitors.py +0 -0
  528. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow/__init__.py +0 -0
  529. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow/base.py +0 -0
  530. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow/class_registry.py +0 -0
  531. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow/decorators.py +0 -0
  532. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow/error_store.py +0 -0
  533. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow/exceptions.py +0 -0
  534. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow/fields.py +0 -0
  535. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow/orderedset.py +0 -0
  536. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow/py.typed +0 -0
  537. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow/schema.py +0 -0
  538. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow/types.py +0 -0
  539. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow/utils.py +0 -0
  540. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow/validate.py +0 -0
  541. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow/warnings.py +0 -0
  542. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -0
  543. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -0
  544. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -0
  545. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -0
  546. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  547. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -0
  548. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -0
  549. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -0
  550. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -0
  551. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  552. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  553. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  554. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  555. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  556. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  557. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  558. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  559. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  560. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  561. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  562. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/__init__.py +0 -0
  563. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
  564. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -0
  565. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
  566. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -0
  567. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -0
  568. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -0
  569. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/cairo/felt.py +0 -0
  570. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -0
  571. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
  572. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -0
  573. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
  574. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -0
  575. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -0
  576. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/common.py +0 -0
  577. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/constants.py +0 -0
  578. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
  579. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/hash/address.py +0 -0
  580. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -0
  581. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/hash/selector.py +0 -0
  582. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/hash/storage.py +0 -0
  583. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/hash/utils.py +0 -0
  584. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
  585. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/models/typed_data.py +0 -0
  586. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -0
  587. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -0
  588. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/_context.py +0 -0
  589. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -0
  590. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -0
  591. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -0
  592. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -0
  593. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -0
  594. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -0
  595. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -0
  596. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -0
  597. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -0
  598. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -0
  599. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -0
  600. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -0
  601. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -0
  602. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -0
  603. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -0
  604. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -0
  605. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -0
  606. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/errors.py +0 -0
  607. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/factory.py +0 -0
  608. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -0
  609. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -0
  610. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
  611. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -0
  612. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/utils/iterable.py +0 -0
  613. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/utils/schema.py +0 -0
  614. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -0
  615. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starkware/__init__.py +0 -0
  616. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
  617. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -0
  618. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -0
  619. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starkware/crypto/signature.py +0 -0
  620. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/starkware/crypto/utils.py +0 -0
  621. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/sympy/__init__.py +0 -0
  622. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
  623. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/sympy/core/intfunc.py +0 -0
  624. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
  625. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/sympy/external/gmpy.py +0 -0
  626. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/sympy/external/importtools.py +0 -0
  627. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/sympy/external/ntheory.py +0 -0
  628. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -0
  629. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  630. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  631. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/toolz/_version.py +0 -0
  632. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  633. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  634. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  635. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  636. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  637. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  638. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  639. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  640. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/toolz/utils.py +0 -0
  641. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
  642. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/static_dependencies/typing_inspect/typing_inspect.py +0 -0
  643. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/test/__init__.py +0 -0
  644. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/test/tests_async.py +0 -0
  645. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/test/tests_helpers.py +0 -0
  646. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/test/tests_init.py +0 -0
  647. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/test/tests_sync.py +0 -0
  648. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/timex.py +0 -0
  649. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/tokocrypto.py +0 -0
  650. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/tradeogre.py +0 -0
  651. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/upbit.py +0 -0
  652. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/vertex.py +0 -0
  653. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/wavesexchange.py +0 -0
  654. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/wazirx.py +0 -0
  655. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/whitebit.py +0 -0
  656. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/woofipro.py +0 -0
  657. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/xt.py +0 -0
  658. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/yobit.py +0 -0
  659. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/zaif.py +0 -0
  660. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt/zonda.py +0 -0
  661. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt.egg-info/SOURCES.txt +0 -0
  662. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt.egg-info/dependency_links.txt +0 -0
  663. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt.egg-info/requires.txt +0 -0
  664. {ccxt-4.3.90 → ccxt-4.3.91}/ccxt.egg-info/top_level.txt +0 -0
  665. {ccxt-4.3.90 → ccxt-4.3.91}/setup.cfg +0 -0
  666. {ccxt-4.3.90 → ccxt-4.3.91}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.3.90
3
+ Version: 4.3.91
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
@@ -261,13 +261,13 @@ console.log(version, Object.keys(exchanges));
261
261
 
262
262
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
263
263
 
264
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.90/dist/ccxt.browser.min.js
265
- * unpkg: https://unpkg.com/ccxt@4.3.90/dist/ccxt.browser.min.js
264
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.91/dist/ccxt.browser.min.js
265
+ * unpkg: https://unpkg.com/ccxt@4.3.91/dist/ccxt.browser.min.js
266
266
 
267
267
  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.
268
268
 
269
269
  ```HTML
270
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.90/dist/ccxt.browser.min.js"></script>
270
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.91/dist/ccxt.browser.min.js"></script>
271
271
  ```
272
272
 
273
273
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.3.90'
25
+ __version__ = '4.3.91'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -89,7 +89,7 @@ class ImplicitAPI:
89
89
  sapi_get_capital_deposit_hisrec = sapiGetCapitalDepositHisrec = Entry('capital/deposit/hisrec', 'sapi', 'GET', {'cost': 0.1})
90
90
  sapi_get_capital_deposit_subaddress = sapiGetCapitalDepositSubAddress = Entry('capital/deposit/subAddress', 'sapi', 'GET', {'cost': 0.1})
91
91
  sapi_get_capital_deposit_subhisrec = sapiGetCapitalDepositSubHisrec = Entry('capital/deposit/subHisrec', 'sapi', 'GET', {'cost': 0.1})
92
- sapi_get_capital_withdraw_history = sapiGetCapitalWithdrawHistory = Entry('capital/withdraw/history', 'sapi', 'GET', {'cost': 1800})
92
+ sapi_get_capital_withdraw_history = sapiGetCapitalWithdrawHistory = Entry('capital/withdraw/history', 'sapi', 'GET', {'cost': 2})
93
93
  sapi_get_capital_withdraw_address_list = sapiGetCapitalWithdrawAddressList = Entry('capital/withdraw/address/list', 'sapi', 'GET', {'cost': 10})
94
94
  sapi_get_capital_contract_convertible_coins = sapiGetCapitalContractConvertibleCoins = Entry('capital/contract/convertible-coins', 'sapi', 'GET', {'cost': 4.0002})
95
95
  sapi_get_convert_tradeflow = sapiGetConvertTradeFlow = Entry('convert/tradeFlow', 'sapi', 'GET', {'cost': 20.001})
@@ -89,7 +89,7 @@ class ImplicitAPI:
89
89
  sapi_get_capital_deposit_hisrec = sapiGetCapitalDepositHisrec = Entry('capital/deposit/hisrec', 'sapi', 'GET', {'cost': 0.1})
90
90
  sapi_get_capital_deposit_subaddress = sapiGetCapitalDepositSubAddress = Entry('capital/deposit/subAddress', 'sapi', 'GET', {'cost': 0.1})
91
91
  sapi_get_capital_deposit_subhisrec = sapiGetCapitalDepositSubHisrec = Entry('capital/deposit/subHisrec', 'sapi', 'GET', {'cost': 0.1})
92
- sapi_get_capital_withdraw_history = sapiGetCapitalWithdrawHistory = Entry('capital/withdraw/history', 'sapi', 'GET', {'cost': 1800})
92
+ sapi_get_capital_withdraw_history = sapiGetCapitalWithdrawHistory = Entry('capital/withdraw/history', 'sapi', 'GET', {'cost': 2})
93
93
  sapi_get_capital_withdraw_address_list = sapiGetCapitalWithdrawAddressList = Entry('capital/withdraw/address/list', 'sapi', 'GET', {'cost': 10})
94
94
  sapi_get_capital_contract_convertible_coins = sapiGetCapitalContractConvertibleCoins = Entry('capital/contract/convertible-coins', 'sapi', 'GET', {'cost': 4.0002})
95
95
  sapi_get_convert_tradeflow = sapiGetConvertTradeFlow = Entry('convert/tradeFlow', 'sapi', 'GET', {'cost': 20.001})
@@ -89,7 +89,7 @@ class ImplicitAPI:
89
89
  sapi_get_capital_deposit_hisrec = sapiGetCapitalDepositHisrec = Entry('capital/deposit/hisrec', 'sapi', 'GET', {'cost': 0.1})
90
90
  sapi_get_capital_deposit_subaddress = sapiGetCapitalDepositSubAddress = Entry('capital/deposit/subAddress', 'sapi', 'GET', {'cost': 0.1})
91
91
  sapi_get_capital_deposit_subhisrec = sapiGetCapitalDepositSubHisrec = Entry('capital/deposit/subHisrec', 'sapi', 'GET', {'cost': 0.1})
92
- sapi_get_capital_withdraw_history = sapiGetCapitalWithdrawHistory = Entry('capital/withdraw/history', 'sapi', 'GET', {'cost': 1800})
92
+ sapi_get_capital_withdraw_history = sapiGetCapitalWithdrawHistory = Entry('capital/withdraw/history', 'sapi', 'GET', {'cost': 2})
93
93
  sapi_get_capital_withdraw_address_list = sapiGetCapitalWithdrawAddressList = Entry('capital/withdraw/address/list', 'sapi', 'GET', {'cost': 10})
94
94
  sapi_get_capital_contract_convertible_coins = sapiGetCapitalContractConvertibleCoins = Entry('capital/contract/convertible-coins', 'sapi', 'GET', {'cost': 4.0002})
95
95
  sapi_get_convert_tradeflow = sapiGetConvertTradeFlow = Entry('convert/tradeFlow', 'sapi', 'GET', {'cost': 20.001})
@@ -89,7 +89,7 @@ class ImplicitAPI:
89
89
  sapi_get_capital_deposit_hisrec = sapiGetCapitalDepositHisrec = Entry('capital/deposit/hisrec', 'sapi', 'GET', {'cost': 0.1})
90
90
  sapi_get_capital_deposit_subaddress = sapiGetCapitalDepositSubAddress = Entry('capital/deposit/subAddress', 'sapi', 'GET', {'cost': 0.1})
91
91
  sapi_get_capital_deposit_subhisrec = sapiGetCapitalDepositSubHisrec = Entry('capital/deposit/subHisrec', 'sapi', 'GET', {'cost': 0.1})
92
- sapi_get_capital_withdraw_history = sapiGetCapitalWithdrawHistory = Entry('capital/withdraw/history', 'sapi', 'GET', {'cost': 1800})
92
+ sapi_get_capital_withdraw_history = sapiGetCapitalWithdrawHistory = Entry('capital/withdraw/history', 'sapi', 'GET', {'cost': 2})
93
93
  sapi_get_capital_withdraw_address_list = sapiGetCapitalWithdrawAddressList = Entry('capital/withdraw/address/list', 'sapi', 'GET', {'cost': 10})
94
94
  sapi_get_capital_contract_convertible_coins = sapiGetCapitalContractConvertibleCoins = Entry('capital/contract/convertible-coins', 'sapi', 'GET', {'cost': 4.0002})
95
95
  sapi_get_convert_tradeflow = sapiGetConvertTradeFlow = Entry('convert/tradeFlow', 'sapi', 'GET', {'cost': 20.001})
@@ -88,6 +88,7 @@ class ImplicitAPI:
88
88
  private_get_redeem_orders = privateGetRedeemOrders = Entry('redeem/orders', 'private', 'GET', {'cost': 10})
89
89
  private_get_purchase_orders = privateGetPurchaseOrders = Entry('purchase/orders', 'private', 'GET', {'cost': 10})
90
90
  private_get_broker_api_rebase_download = privateGetBrokerApiRebaseDownload = Entry('broker/api/rebase/download', 'private', 'GET', {'cost': 3})
91
+ private_get_migrate_user_account_status = privateGetMigrateUserAccountStatus = Entry('migrate/user/account/status', 'private', 'GET', {'cost': 3})
91
92
  private_get_affiliate_inviter_statistics = privateGetAffiliateInviterStatistics = Entry('affiliate/inviter/statistics', 'private', 'GET', {'cost': 30})
92
93
  private_post_sub_user_created = privatePostSubUserCreated = Entry('sub/user/created', 'private', 'POST', {'cost': 22.5})
93
94
  private_post_sub_api_key = privatePostSubApiKey = Entry('sub/api-key', 'private', 'POST', {'cost': 30})
@@ -88,6 +88,7 @@ class ImplicitAPI:
88
88
  private_get_redeem_orders = privateGetRedeemOrders = Entry('redeem/orders', 'private', 'GET', {'cost': 10})
89
89
  private_get_purchase_orders = privateGetPurchaseOrders = Entry('purchase/orders', 'private', 'GET', {'cost': 10})
90
90
  private_get_broker_api_rebase_download = privateGetBrokerApiRebaseDownload = Entry('broker/api/rebase/download', 'private', 'GET', {'cost': 3})
91
+ private_get_migrate_user_account_status = privateGetMigrateUserAccountStatus = Entry('migrate/user/account/status', 'private', 'GET', {'cost': 3})
91
92
  private_get_affiliate_inviter_statistics = privateGetAffiliateInviterStatistics = Entry('affiliate/inviter/statistics', 'private', 'GET', {'cost': 30})
92
93
  private_post_sub_user_created = privatePostSubUserCreated = Entry('sub/user/created', 'private', 'POST', {'cost': 22.5})
93
94
  private_post_sub_api_key = privatePostSubApiKey = Entry('sub/api-key', 'private', 'POST', {'cost': 30})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.90'
7
+ __version__ = '4.3.91'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.3.90'
5
+ __version__ = '4.3.91'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -354,7 +354,7 @@ class binance(Exchange, ImplicitAPI):
354
354
  'capital/deposit/hisrec': 0.1,
355
355
  'capital/deposit/subAddress': 0.1,
356
356
  'capital/deposit/subHisrec': 0.1,
357
- 'capital/withdraw/history': 1800, # Weight(IP): 18000 => cost = 0.1 * 18000 = 1800
357
+ 'capital/withdraw/history': 2, # Weight(UID): 18000 + (Additional: 10 requests per second => cost = ( 1000 / rateLimit ) / 10 = 2
358
358
  'capital/withdraw/address/list': 10,
359
359
  'capital/contract/convertible-coins': 4.0002, # Weight(UID): 600 => cost = 0.006667 * 600 = 4.0002
360
360
  'convert/tradeFlow': 20.001, # Weight(UID): 3000 => cost = 0.006667 * 3000 = 20.001
@@ -1369,6 +1369,7 @@ class hitbtc(Exchange, ImplicitAPI):
1369
1369
 
1370
1370
  def parse_transaction_status(self, status: Str):
1371
1371
  statuses: dict = {
1372
+ 'CREATED': 'pending',
1372
1373
  'PENDING': 'pending',
1373
1374
  'FAILED': 'failed',
1374
1375
  'ROLLED_BACK': 'failed',
@@ -9,7 +9,7 @@ import asyncio
9
9
  import hashlib
10
10
  import math
11
11
  import json
12
- from ccxt.base.types import Account, Balances, Currencies, Currency, Int, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, Transaction, TransferEntry
12
+ from ccxt.base.types import Account, Balances, Bool, Currencies, Currency, Int, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, Transaction, TransferEntry
13
13
  from typing import List
14
14
  from ccxt.base.errors import ExchangeError
15
15
  from ccxt.base.errors import AuthenticationError
@@ -261,6 +261,7 @@ class kucoin(Exchange, ImplicitAPI):
261
261
  'purchase/orders': 10, # 10SW
262
262
  # broker
263
263
  'broker/api/rebase/download': 3,
264
+ 'migrate/user/account/status': 3,
264
265
  # affiliate
265
266
  'affiliate/inviter/statistics': 30,
266
267
  },
@@ -705,6 +706,7 @@ class kucoin(Exchange, ImplicitAPI):
705
706
  'project/marketInterestRate': 'v3',
706
707
  'redeem/orders': 'v3',
707
708
  'purchase/orders': 'v3',
709
+ 'migrate/user/account/status': 'v3',
708
710
  'margin/symbols': 'v3',
709
711
  'affiliate/inviter/statistics': 'v2',
710
712
  'asset/ndbroker/deposit/list': 'v1',
@@ -1219,6 +1221,26 @@ class kucoin(Exchange, ImplicitAPI):
1219
1221
  })
1220
1222
  return result
1221
1223
 
1224
+ async def load_migration_status(self, force: bool = False):
1225
+ if not ('hfMigrated' in self.options) or force:
1226
+ result: dict = await self.privateGetMigrateUserAccountStatus()
1227
+ data: dict = self.safe_dict(result, 'data', {})
1228
+ status: Int = self.safe_integer(data, 'status')
1229
+ self.options['hfMigrated'] = (status == 2)
1230
+
1231
+ async def handle_hf_and_params(self, params={}):
1232
+ await self.load_migration_status()
1233
+ migrated: Bool = self.safe_bool(self.options, 'hfMigrated')
1234
+ loadedHf: Bool = None
1235
+ if migrated is not None:
1236
+ if migrated:
1237
+ loadedHf = True
1238
+ else:
1239
+ loadedHf = False
1240
+ hf: Bool = self.safe_bool(params, 'hf', loadedHf)
1241
+ params = self.omit(params, 'hf')
1242
+ return [hf, params]
1243
+
1222
1244
  async def fetch_currencies(self, params={}) -> Currencies:
1223
1245
  """
1224
1246
  fetches all available currencies on an exchange
@@ -2042,7 +2064,8 @@ class kucoin(Exchange, ImplicitAPI):
2042
2064
  market = self.market(symbol)
2043
2065
  testOrder = self.safe_bool(params, 'test', False)
2044
2066
  params = self.omit(params, 'test')
2045
- isHf = self.safe_bool(params, 'hf', False)
2067
+ hf = None
2068
+ hf, params = await self.handle_hf_and_params(params)
2046
2069
  triggerPrice, stopLossPrice, takeProfitPrice = self.handle_trigger_prices(params)
2047
2070
  tradeType = self.safe_string(params, 'tradeType') # keep it for backward compatibility
2048
2071
  isTriggerOrder = (triggerPrice or stopLossPrice or takeProfitPrice)
@@ -2055,14 +2078,16 @@ class kucoin(Exchange, ImplicitAPI):
2055
2078
  if testOrder:
2056
2079
  if isMarginOrder:
2057
2080
  response = await self.privatePostMarginOrderTest(orderRequest)
2081
+ elif hf:
2082
+ response = await self.privatePostHfOrdersTest(orderRequest)
2058
2083
  else:
2059
2084
  response = await self.privatePostOrdersTest(orderRequest)
2060
- elif isHf:
2061
- response = await self.privatePostHfOrders(orderRequest)
2062
2085
  elif isTriggerOrder:
2063
2086
  response = await self.privatePostStopOrder(orderRequest)
2064
2087
  elif isMarginOrder:
2065
2088
  response = await self.privatePostMarginOrder(orderRequest)
2089
+ elif hf:
2090
+ response = await self.privatePostHfOrders(orderRequest)
2066
2091
  else:
2067
2092
  response = await self.privatePostOrders(orderRequest)
2068
2093
  #
@@ -2149,8 +2174,8 @@ class kucoin(Exchange, ImplicitAPI):
2149
2174
  'symbol': market['id'],
2150
2175
  'orderList': ordersRequests,
2151
2176
  }
2152
- hf = self.safe_bool(params, 'hf', False)
2153
- params = self.omit(params, 'hf')
2177
+ hf = None
2178
+ hf, params = await self.handle_hf_and_params(params)
2154
2179
  response = None
2155
2180
  if hf:
2156
2181
  response = await self.privatePostHfOrdersMulti(self.extend(request, params))
@@ -2314,14 +2339,15 @@ class kucoin(Exchange, ImplicitAPI):
2314
2339
  request: dict = {}
2315
2340
  clientOrderId = self.safe_string_2(params, 'clientOid', 'clientOrderId')
2316
2341
  stop = self.safe_bool_2(params, 'stop', 'trigger', False)
2317
- hf = self.safe_bool(params, 'hf', False)
2342
+ hf = None
2343
+ hf, params = await self.handle_hf_and_params(params)
2318
2344
  if hf:
2319
2345
  if symbol is None:
2320
2346
  raise ArgumentsRequired(self.id + ' cancelOrder() requires a symbol parameter for hf orders')
2321
2347
  market = self.market(symbol)
2322
2348
  request['symbol'] = market['id']
2323
2349
  response = None
2324
- params = self.omit(params, ['clientOid', 'clientOrderId', 'stop', 'hf', 'trigger'])
2350
+ params = self.omit(params, ['clientOid', 'clientOrderId', 'stop', 'trigger'])
2325
2351
  if clientOrderId is not None:
2326
2352
  request['clientOid'] = clientOrderId
2327
2353
  if stop:
@@ -2415,8 +2441,9 @@ class kucoin(Exchange, ImplicitAPI):
2415
2441
  await self.load_markets()
2416
2442
  request: dict = {}
2417
2443
  stop = self.safe_bool(params, 'stop', False)
2418
- hf = self.safe_bool(params, 'hf', False)
2419
- params = self.omit(params, ['stop', 'hf'])
2444
+ hf = None
2445
+ hf, params = await self.handle_hf_and_params(params)
2446
+ params = self.omit(params, 'stop')
2420
2447
  marginMode, query = self.handle_margin_mode_and_params('cancelAllOrders', params)
2421
2448
  if symbol is not None:
2422
2449
  request['symbol'] = self.market_id(symbol)
@@ -2463,8 +2490,11 @@ class kucoin(Exchange, ImplicitAPI):
2463
2490
  lowercaseStatus = status.lower()
2464
2491
  until = self.safe_integer(params, 'until')
2465
2492
  stop = self.safe_bool_2(params, 'stop', 'trigger', False)
2466
- hf = self.safe_bool(params, 'hf', False)
2467
- params = self.omit(params, ['stop', 'hf', 'until', 'trigger'])
2493
+ hf = None
2494
+ hf, params = await self.handle_hf_and_params(params)
2495
+ if hf and (symbol is None):
2496
+ raise ArgumentsRequired(self.id + ' fetchOrdersByStatus() requires a symbol parameter for hf orders')
2497
+ params = self.omit(params, ['stop', 'trigger', 'till', 'until'])
2468
2498
  marginMode, query = self.handle_margin_mode_and_params('fetchOrdersByStatus', params)
2469
2499
  if lowercaseStatus == 'open':
2470
2500
  lowercaseStatus = 'active'
@@ -2622,7 +2652,8 @@ class kucoin(Exchange, ImplicitAPI):
2622
2652
  request: dict = {}
2623
2653
  clientOrderId = self.safe_string_2(params, 'clientOid', 'clientOrderId')
2624
2654
  stop = self.safe_bool_2(params, 'stop', 'trigger', False)
2625
- hf = self.safe_bool(params, 'hf', False)
2655
+ hf = None
2656
+ hf, params = await self.handle_hf_and_params(params)
2626
2657
  market = None
2627
2658
  if symbol is not None:
2628
2659
  market = self.market(symbol)
@@ -2630,7 +2661,7 @@ class kucoin(Exchange, ImplicitAPI):
2630
2661
  if symbol is None:
2631
2662
  raise ArgumentsRequired(self.id + ' fetchOrder() requires a symbol parameter for hf orders')
2632
2663
  request['symbol'] = market['id']
2633
- params = self.omit(params, ['stop', 'hf', 'clientOid', 'clientOrderId', 'trigger'])
2664
+ params = self.omit(params, ['stop', 'clientOid', 'clientOrderId', 'trigger'])
2634
2665
  response = None
2635
2666
  if clientOrderId is not None:
2636
2667
  request['clientOid'] = clientOrderId
@@ -2872,7 +2903,8 @@ class kucoin(Exchange, ImplicitAPI):
2872
2903
  if paginate:
2873
2904
  return await self.fetch_paginated_call_dynamic('fetchMyTrades', symbol, since, limit, params)
2874
2905
  request: dict = {}
2875
- hf = self.safe_bool(params, 'hf', False)
2906
+ hf = None
2907
+ hf, params = await self.handle_hf_and_params(params)
2876
2908
  if hf and symbol is None:
2877
2909
  raise ArgumentsRequired(self.id + ' fetchMyTrades() requires a symbol parameter for hf orders')
2878
2910
  market = None
@@ -3544,10 +3576,10 @@ class kucoin(Exchange, ImplicitAPI):
3544
3576
  accountsByType = self.safe_dict(self.options, 'accountsByType')
3545
3577
  type = self.safe_string(accountsByType, requestedType, requestedType)
3546
3578
  params = self.omit(params, 'type')
3547
- isHf = self.safe_bool(params, 'hf', False)
3548
- if isHf:
3579
+ hf = None
3580
+ hf, params = await self.handle_hf_and_params(params)
3581
+ if hf:
3549
3582
  type = 'trade_hf'
3550
- params = self.omit(params, 'hf')
3551
3583
  marginMode, query = self.handle_margin_mode_and_params('fetchBalance', params)
3552
3584
  response = None
3553
3585
  request: dict = {}
@@ -3973,8 +4005,8 @@ class kucoin(Exchange, ImplicitAPI):
3973
4005
  await self.load_accounts()
3974
4006
  paginate = False
3975
4007
  paginate, params = self.handle_option_and_params(params, 'fetchLedger', 'paginate')
3976
- isHf = self.safe_bool(params, 'hf')
3977
- params = self.omit(params, 'hf')
4008
+ hf = None
4009
+ hf, params = await self.handle_hf_and_params(params)
3978
4010
  if paginate:
3979
4011
  return await self.fetch_paginated_call_dynamic('fetchLedger', code, since, limit, params)
3980
4012
  request: dict = {
@@ -3995,7 +4027,7 @@ class kucoin(Exchange, ImplicitAPI):
3995
4027
  marginMode = None
3996
4028
  marginMode, params = self.handle_margin_mode_and_params('fetchLedger', params)
3997
4029
  response = None
3998
- if isHf:
4030
+ if hf:
3999
4031
  if marginMode is not None:
4000
4032
  response = await self.privateGetHfMarginAccountLedgers(self.extend(request, params))
4001
4033
  else:
@@ -61,6 +61,7 @@ class kucoinfutures(kucoin, ImplicitAPI):
61
61
  'createTriggerOrder': True,
62
62
  'fetchAccounts': True,
63
63
  'fetchBalance': True,
64
+ 'fetchBidsAsks': True,
64
65
  'fetchBorrowRateHistories': False,
65
66
  'fetchBorrowRateHistory': False,
66
67
  'fetchClosedOrders': True,
@@ -752,11 +753,18 @@ class kucoinfutures(kucoin, ImplicitAPI):
752
753
  :see: https://www.kucoin.com/docs/rest/futures-trading/market-data/get-symbols-list
753
754
  :param str[] [symbols]: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
754
755
  :param dict [params]: extra parameters specific to the exchange API endpoint
756
+ :param str [params.method]: the method to use, futuresPublicGetAllTickers or futuresPublicGetContractsActive
755
757
  :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
756
758
  """
757
759
  await self.load_markets()
758
760
  symbols = self.market_symbols(symbols)
759
- response = await self.futuresPublicGetContractsActive(params)
761
+ method = None
762
+ method, params = self.handle_option_and_params(params, 'fetchTickers', 'method', 'futuresPublicGetContractsActive')
763
+ response: dict = None
764
+ if method == 'futuresPublicGetAllTickers':
765
+ response = await self.futuresPublicGetAllTickers(params)
766
+ else:
767
+ response = await self.futuresPublicGetContractsActive(params)
760
768
  #
761
769
  # {
762
770
  # "code": "200000",
@@ -819,7 +827,7 @@ class kucoinfutures(kucoin, ImplicitAPI):
819
827
  # }
820
828
  # }
821
829
  #
822
- data = self.safe_list(response, 'data', [])
830
+ data = self.safe_list(response, 'data')
823
831
  tickers = self.parse_tickers(data, symbols)
824
832
  return self.filter_by_array_tickers(tickers, 'symbol', symbols)
825
833
 
@@ -929,6 +937,18 @@ class kucoinfutures(kucoin, ImplicitAPI):
929
937
  'info': ticker,
930
938
  }, market)
931
939
 
940
+ async def fetch_bids_asks(self, symbols: Strings = None, params={}):
941
+ """
942
+ fetches the bid and ask price and volume for multiple markets
943
+ :param str[] [symbols]: unified symbols of the markets to fetch the bids and asks for, all markets are returned if not assigned
944
+ :param dict [params]: extra parameters specific to the exchange API endpoint
945
+ :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
946
+ """
947
+ request = {
948
+ 'method': 'futuresPublicGetAllTickers',
949
+ }
950
+ return await self.fetch_tickers(symbols, self.extend(request, params))
951
+
932
952
  async def fetch_funding_history(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
933
953
  """
934
954
  fetch the history of funding payments paid and received on self account
@@ -481,7 +481,7 @@ class woo(Exchange, ImplicitAPI):
481
481
  'swap': swap,
482
482
  'future': False,
483
483
  'option': False,
484
- 'active': None,
484
+ 'active': self.safe_string(market, 'is_trading') == '1',
485
485
  'contract': contract,
486
486
  'linear': linear,
487
487
  'inverse': None,
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.90'
7
+ __version__ = '4.3.91'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -353,7 +353,7 @@ class binance(Exchange, ImplicitAPI):
353
353
  'capital/deposit/hisrec': 0.1,
354
354
  'capital/deposit/subAddress': 0.1,
355
355
  'capital/deposit/subHisrec': 0.1,
356
- 'capital/withdraw/history': 1800, # Weight(IP): 18000 => cost = 0.1 * 18000 = 1800
356
+ 'capital/withdraw/history': 2, # Weight(UID): 18000 + (Additional: 10 requests per second => cost = ( 1000 / rateLimit ) / 10 = 2
357
357
  'capital/withdraw/address/list': 10,
358
358
  'capital/contract/convertible-coins': 4.0002, # Weight(UID): 600 => cost = 0.006667 * 600 = 4.0002
359
359
  'convert/tradeFlow': 20.001, # Weight(UID): 3000 => cost = 0.006667 * 3000 = 20.001
@@ -1369,6 +1369,7 @@ class hitbtc(Exchange, ImplicitAPI):
1369
1369
 
1370
1370
  def parse_transaction_status(self, status: Str):
1371
1371
  statuses: dict = {
1372
+ 'CREATED': 'pending',
1372
1373
  'PENDING': 'pending',
1373
1374
  'FAILED': 'failed',
1374
1375
  'ROLLED_BACK': 'failed',
@@ -8,7 +8,7 @@ from ccxt.abstract.kucoin import ImplicitAPI
8
8
  import hashlib
9
9
  import math
10
10
  import json
11
- from ccxt.base.types import Account, Balances, Currencies, Currency, Int, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, Transaction, TransferEntry
11
+ from ccxt.base.types import Account, Balances, Bool, Currencies, Currency, Int, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, Transaction, TransferEntry
12
12
  from typing import List
13
13
  from ccxt.base.errors import ExchangeError
14
14
  from ccxt.base.errors import AuthenticationError
@@ -260,6 +260,7 @@ class kucoin(Exchange, ImplicitAPI):
260
260
  'purchase/orders': 10, # 10SW
261
261
  # broker
262
262
  'broker/api/rebase/download': 3,
263
+ 'migrate/user/account/status': 3,
263
264
  # affiliate
264
265
  'affiliate/inviter/statistics': 30,
265
266
  },
@@ -704,6 +705,7 @@ class kucoin(Exchange, ImplicitAPI):
704
705
  'project/marketInterestRate': 'v3',
705
706
  'redeem/orders': 'v3',
706
707
  'purchase/orders': 'v3',
708
+ 'migrate/user/account/status': 'v3',
707
709
  'margin/symbols': 'v3',
708
710
  'affiliate/inviter/statistics': 'v2',
709
711
  'asset/ndbroker/deposit/list': 'v1',
@@ -1218,6 +1220,26 @@ class kucoin(Exchange, ImplicitAPI):
1218
1220
  })
1219
1221
  return result
1220
1222
 
1223
+ def load_migration_status(self, force: bool = False):
1224
+ if not ('hfMigrated' in self.options) or force:
1225
+ result: dict = self.privateGetMigrateUserAccountStatus()
1226
+ data: dict = self.safe_dict(result, 'data', {})
1227
+ status: Int = self.safe_integer(data, 'status')
1228
+ self.options['hfMigrated'] = (status == 2)
1229
+
1230
+ def handle_hf_and_params(self, params={}):
1231
+ self.load_migration_status()
1232
+ migrated: Bool = self.safe_bool(self.options, 'hfMigrated')
1233
+ loadedHf: Bool = None
1234
+ if migrated is not None:
1235
+ if migrated:
1236
+ loadedHf = True
1237
+ else:
1238
+ loadedHf = False
1239
+ hf: Bool = self.safe_bool(params, 'hf', loadedHf)
1240
+ params = self.omit(params, 'hf')
1241
+ return [hf, params]
1242
+
1221
1243
  def fetch_currencies(self, params={}) -> Currencies:
1222
1244
  """
1223
1245
  fetches all available currencies on an exchange
@@ -2041,7 +2063,8 @@ class kucoin(Exchange, ImplicitAPI):
2041
2063
  market = self.market(symbol)
2042
2064
  testOrder = self.safe_bool(params, 'test', False)
2043
2065
  params = self.omit(params, 'test')
2044
- isHf = self.safe_bool(params, 'hf', False)
2066
+ hf = None
2067
+ hf, params = self.handle_hf_and_params(params)
2045
2068
  triggerPrice, stopLossPrice, takeProfitPrice = self.handle_trigger_prices(params)
2046
2069
  tradeType = self.safe_string(params, 'tradeType') # keep it for backward compatibility
2047
2070
  isTriggerOrder = (triggerPrice or stopLossPrice or takeProfitPrice)
@@ -2054,14 +2077,16 @@ class kucoin(Exchange, ImplicitAPI):
2054
2077
  if testOrder:
2055
2078
  if isMarginOrder:
2056
2079
  response = self.privatePostMarginOrderTest(orderRequest)
2080
+ elif hf:
2081
+ response = self.privatePostHfOrdersTest(orderRequest)
2057
2082
  else:
2058
2083
  response = self.privatePostOrdersTest(orderRequest)
2059
- elif isHf:
2060
- response = self.privatePostHfOrders(orderRequest)
2061
2084
  elif isTriggerOrder:
2062
2085
  response = self.privatePostStopOrder(orderRequest)
2063
2086
  elif isMarginOrder:
2064
2087
  response = self.privatePostMarginOrder(orderRequest)
2088
+ elif hf:
2089
+ response = self.privatePostHfOrders(orderRequest)
2065
2090
  else:
2066
2091
  response = self.privatePostOrders(orderRequest)
2067
2092
  #
@@ -2148,8 +2173,8 @@ class kucoin(Exchange, ImplicitAPI):
2148
2173
  'symbol': market['id'],
2149
2174
  'orderList': ordersRequests,
2150
2175
  }
2151
- hf = self.safe_bool(params, 'hf', False)
2152
- params = self.omit(params, 'hf')
2176
+ hf = None
2177
+ hf, params = self.handle_hf_and_params(params)
2153
2178
  response = None
2154
2179
  if hf:
2155
2180
  response = self.privatePostHfOrdersMulti(self.extend(request, params))
@@ -2313,14 +2338,15 @@ class kucoin(Exchange, ImplicitAPI):
2313
2338
  request: dict = {}
2314
2339
  clientOrderId = self.safe_string_2(params, 'clientOid', 'clientOrderId')
2315
2340
  stop = self.safe_bool_2(params, 'stop', 'trigger', False)
2316
- hf = self.safe_bool(params, 'hf', False)
2341
+ hf = None
2342
+ hf, params = self.handle_hf_and_params(params)
2317
2343
  if hf:
2318
2344
  if symbol is None:
2319
2345
  raise ArgumentsRequired(self.id + ' cancelOrder() requires a symbol parameter for hf orders')
2320
2346
  market = self.market(symbol)
2321
2347
  request['symbol'] = market['id']
2322
2348
  response = None
2323
- params = self.omit(params, ['clientOid', 'clientOrderId', 'stop', 'hf', 'trigger'])
2349
+ params = self.omit(params, ['clientOid', 'clientOrderId', 'stop', 'trigger'])
2324
2350
  if clientOrderId is not None:
2325
2351
  request['clientOid'] = clientOrderId
2326
2352
  if stop:
@@ -2414,8 +2440,9 @@ class kucoin(Exchange, ImplicitAPI):
2414
2440
  self.load_markets()
2415
2441
  request: dict = {}
2416
2442
  stop = self.safe_bool(params, 'stop', False)
2417
- hf = self.safe_bool(params, 'hf', False)
2418
- params = self.omit(params, ['stop', 'hf'])
2443
+ hf = None
2444
+ hf, params = self.handle_hf_and_params(params)
2445
+ params = self.omit(params, 'stop')
2419
2446
  marginMode, query = self.handle_margin_mode_and_params('cancelAllOrders', params)
2420
2447
  if symbol is not None:
2421
2448
  request['symbol'] = self.market_id(symbol)
@@ -2462,8 +2489,11 @@ class kucoin(Exchange, ImplicitAPI):
2462
2489
  lowercaseStatus = status.lower()
2463
2490
  until = self.safe_integer(params, 'until')
2464
2491
  stop = self.safe_bool_2(params, 'stop', 'trigger', False)
2465
- hf = self.safe_bool(params, 'hf', False)
2466
- params = self.omit(params, ['stop', 'hf', 'until', 'trigger'])
2492
+ hf = None
2493
+ hf, params = self.handle_hf_and_params(params)
2494
+ if hf and (symbol is None):
2495
+ raise ArgumentsRequired(self.id + ' fetchOrdersByStatus() requires a symbol parameter for hf orders')
2496
+ params = self.omit(params, ['stop', 'trigger', 'till', 'until'])
2467
2497
  marginMode, query = self.handle_margin_mode_and_params('fetchOrdersByStatus', params)
2468
2498
  if lowercaseStatus == 'open':
2469
2499
  lowercaseStatus = 'active'
@@ -2621,7 +2651,8 @@ class kucoin(Exchange, ImplicitAPI):
2621
2651
  request: dict = {}
2622
2652
  clientOrderId = self.safe_string_2(params, 'clientOid', 'clientOrderId')
2623
2653
  stop = self.safe_bool_2(params, 'stop', 'trigger', False)
2624
- hf = self.safe_bool(params, 'hf', False)
2654
+ hf = None
2655
+ hf, params = self.handle_hf_and_params(params)
2625
2656
  market = None
2626
2657
  if symbol is not None:
2627
2658
  market = self.market(symbol)
@@ -2629,7 +2660,7 @@ class kucoin(Exchange, ImplicitAPI):
2629
2660
  if symbol is None:
2630
2661
  raise ArgumentsRequired(self.id + ' fetchOrder() requires a symbol parameter for hf orders')
2631
2662
  request['symbol'] = market['id']
2632
- params = self.omit(params, ['stop', 'hf', 'clientOid', 'clientOrderId', 'trigger'])
2663
+ params = self.omit(params, ['stop', 'clientOid', 'clientOrderId', 'trigger'])
2633
2664
  response = None
2634
2665
  if clientOrderId is not None:
2635
2666
  request['clientOid'] = clientOrderId
@@ -2871,7 +2902,8 @@ class kucoin(Exchange, ImplicitAPI):
2871
2902
  if paginate:
2872
2903
  return self.fetch_paginated_call_dynamic('fetchMyTrades', symbol, since, limit, params)
2873
2904
  request: dict = {}
2874
- hf = self.safe_bool(params, 'hf', False)
2905
+ hf = None
2906
+ hf, params = self.handle_hf_and_params(params)
2875
2907
  if hf and symbol is None:
2876
2908
  raise ArgumentsRequired(self.id + ' fetchMyTrades() requires a symbol parameter for hf orders')
2877
2909
  market = None
@@ -3543,10 +3575,10 @@ class kucoin(Exchange, ImplicitAPI):
3543
3575
  accountsByType = self.safe_dict(self.options, 'accountsByType')
3544
3576
  type = self.safe_string(accountsByType, requestedType, requestedType)
3545
3577
  params = self.omit(params, 'type')
3546
- isHf = self.safe_bool(params, 'hf', False)
3547
- if isHf:
3578
+ hf = None
3579
+ hf, params = self.handle_hf_and_params(params)
3580
+ if hf:
3548
3581
  type = 'trade_hf'
3549
- params = self.omit(params, 'hf')
3550
3582
  marginMode, query = self.handle_margin_mode_and_params('fetchBalance', params)
3551
3583
  response = None
3552
3584
  request: dict = {}
@@ -3972,8 +4004,8 @@ class kucoin(Exchange, ImplicitAPI):
3972
4004
  self.load_accounts()
3973
4005
  paginate = False
3974
4006
  paginate, params = self.handle_option_and_params(params, 'fetchLedger', 'paginate')
3975
- isHf = self.safe_bool(params, 'hf')
3976
- params = self.omit(params, 'hf')
4007
+ hf = None
4008
+ hf, params = self.handle_hf_and_params(params)
3977
4009
  if paginate:
3978
4010
  return self.fetch_paginated_call_dynamic('fetchLedger', code, since, limit, params)
3979
4011
  request: dict = {
@@ -3994,7 +4026,7 @@ class kucoin(Exchange, ImplicitAPI):
3994
4026
  marginMode = None
3995
4027
  marginMode, params = self.handle_margin_mode_and_params('fetchLedger', params)
3996
4028
  response = None
3997
- if isHf:
4029
+ if hf:
3998
4030
  if marginMode is not None:
3999
4031
  response = self.privateGetHfMarginAccountLedgers(self.extend(request, params))
4000
4032
  else: