ccxt 4.1.78__tar.gz → 4.1.80__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 (442) hide show
  1. {ccxt-4.1.78/ccxt.egg-info → ccxt-4.1.80}/PKG-INFO +4 -4
  2. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/__init__.py +1 -1
  3. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/coinbase.py +1 -0
  4. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/cryptocom.py +4 -0
  5. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/mexc.py +10 -9
  6. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/woo.py +1 -0
  7. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/__init__.py +1 -1
  8. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/base/exchange.py +1 -1
  9. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bingx.py +11 -74
  10. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bitget.py +4 -0
  11. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/coinbase.py +1 -0
  12. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/cryptocom.py +4 -0
  13. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/currencycom.py +10 -1
  14. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/mexc.py +10 -9
  15. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/probit.py +8 -2
  16. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/woo.py +5 -0
  17. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/base/exchange.py +1 -1
  18. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bingx.py +11 -74
  19. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bitget.py +4 -0
  20. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/coinbase.py +1 -0
  21. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/cryptocom.py +4 -0
  22. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/currencycom.py +10 -1
  23. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/mexc.py +10 -9
  24. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/__init__.py +1 -1
  25. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/probit.py +8 -2
  26. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/woo.py +5 -0
  27. {ccxt-4.1.78 → ccxt-4.1.80/ccxt.egg-info}/PKG-INFO +4 -4
  28. {ccxt-4.1.78 → ccxt-4.1.80}/package.json +1 -1
  29. {ccxt-4.1.78 → ccxt-4.1.80}/LICENSE.txt +0 -0
  30. {ccxt-4.1.78 → ccxt-4.1.80}/MANIFEST.in +0 -0
  31. {ccxt-4.1.78 → ccxt-4.1.80}/README.rst +0 -0
  32. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/__init__.py +0 -0
  33. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/ace.py +0 -0
  34. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/alpaca.py +0 -0
  35. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/ascendex.py +0 -0
  36. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bequant.py +0 -0
  37. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bigone.py +0 -0
  38. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/binance.py +0 -0
  39. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/binancecoinm.py +0 -0
  40. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/binanceus.py +0 -0
  41. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/binanceusdm.py +0 -0
  42. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bingx.py +0 -0
  43. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bit2c.py +0 -0
  44. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bitbank.py +0 -0
  45. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bitbay.py +0 -0
  46. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bitbns.py +0 -0
  47. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bitcoincom.py +0 -0
  48. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bitfinex.py +0 -0
  49. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bitfinex2.py +0 -0
  50. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bitflyer.py +0 -0
  51. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bitforex.py +0 -0
  52. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bitget.py +0 -0
  53. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bithumb.py +0 -0
  54. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bitmart.py +0 -0
  55. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bitmex.py +0 -0
  56. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bitopro.py +0 -0
  57. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bitpanda.py +0 -0
  58. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bitrue.py +0 -0
  59. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bitso.py +0 -0
  60. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bitstamp.py +0 -0
  61. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bittrex.py +0 -0
  62. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bitvavo.py +0 -0
  63. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bl3p.py +0 -0
  64. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/blockchaincom.py +0 -0
  65. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/btcalpha.py +0 -0
  66. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/btcbox.py +0 -0
  67. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/btcmarkets.py +0 -0
  68. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/btcturk.py +0 -0
  69. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/bybit.py +0 -0
  70. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/cex.py +0 -0
  71. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/coinbaseprime.py +0 -0
  72. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/coinbasepro.py +0 -0
  73. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/coincheck.py +0 -0
  74. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/coinex.py +0 -0
  75. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/coinlist.py +0 -0
  76. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/coinmate.py +0 -0
  77. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/coinone.py +0 -0
  78. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/coinsph.py +0 -0
  79. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/coinspot.py +0 -0
  80. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/currencycom.py +0 -0
  81. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/delta.py +0 -0
  82. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/deribit.py +0 -0
  83. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/digifinex.py +0 -0
  84. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/exmo.py +0 -0
  85. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/fmfwio.py +0 -0
  86. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/gate.py +0 -0
  87. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/gateio.py +0 -0
  88. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/gemini.py +0 -0
  89. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/hitbtc.py +0 -0
  90. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/hitbtc3.py +0 -0
  91. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/hollaex.py +0 -0
  92. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/htx.py +0 -0
  93. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/huobi.py +0 -0
  94. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/huobijp.py +0 -0
  95. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/idex.py +0 -0
  96. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/independentreserve.py +0 -0
  97. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/indodax.py +0 -0
  98. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/kraken.py +0 -0
  99. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/krakenfutures.py +0 -0
  100. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/kucoin.py +0 -0
  101. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/kucoinfutures.py +0 -0
  102. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/kuna.py +0 -0
  103. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/latoken.py +0 -0
  104. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/lbank.py +0 -0
  105. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/luno.py +0 -0
  106. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/lykke.py +0 -0
  107. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/mercado.py +0 -0
  108. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/ndax.py +0 -0
  109. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/novadax.py +0 -0
  110. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/oceanex.py +0 -0
  111. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/okcoin.py +0 -0
  112. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/okx.py +0 -0
  113. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/p2b.py +0 -0
  114. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/paymium.py +0 -0
  115. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/phemex.py +0 -0
  116. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/poloniex.py +0 -0
  117. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/poloniexfutures.py +0 -0
  118. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/probit.py +0 -0
  119. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/timex.py +0 -0
  120. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/tokocrypto.py +0 -0
  121. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/upbit.py +0 -0
  122. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/wavesexchange.py +0 -0
  123. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/wazirx.py +0 -0
  124. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/whitebit.py +0 -0
  125. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/yobit.py +0 -0
  126. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/zaif.py +0 -0
  127. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/abstract/zonda.py +0 -0
  128. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/ace.py +0 -0
  129. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/alpaca.py +0 -0
  130. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/ascendex.py +0 -0
  131. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/ace.py +0 -0
  132. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/alpaca.py +0 -0
  133. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/ascendex.py +0 -0
  134. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/base/__init__.py +0 -0
  135. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/base/throttler.py +0 -0
  136. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/base/ws/__init__.py +0 -0
  137. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  138. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/base/ws/cache.py +0 -0
  139. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/base/ws/client.py +0 -0
  140. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/base/ws/fast_client.py +0 -0
  141. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/base/ws/functions.py +0 -0
  142. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/base/ws/future.py +0 -0
  143. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/base/ws/order_book.py +0 -0
  144. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  145. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bequant.py +0 -0
  146. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bigone.py +0 -0
  147. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/binance.py +0 -0
  148. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/binancecoinm.py +0 -0
  149. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/binanceus.py +0 -0
  150. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/binanceusdm.py +0 -0
  151. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bit2c.py +0 -0
  152. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bitbank.py +0 -0
  153. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bitbay.py +0 -0
  154. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bitbns.py +0 -0
  155. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bitcoincom.py +0 -0
  156. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bitfinex.py +0 -0
  157. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bitfinex2.py +0 -0
  158. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bitflyer.py +0 -0
  159. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bitforex.py +0 -0
  160. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bithumb.py +0 -0
  161. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bitmart.py +0 -0
  162. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bitmex.py +0 -0
  163. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bitopro.py +0 -0
  164. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bitpanda.py +0 -0
  165. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bitrue.py +0 -0
  166. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bitso.py +0 -0
  167. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bitstamp.py +0 -0
  168. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bittrex.py +0 -0
  169. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bitvavo.py +0 -0
  170. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bl3p.py +0 -0
  171. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/blockchaincom.py +0 -0
  172. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/btcalpha.py +0 -0
  173. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/btcbox.py +0 -0
  174. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/btcmarkets.py +0 -0
  175. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/btcturk.py +0 -0
  176. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/bybit.py +0 -0
  177. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/cex.py +0 -0
  178. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/coinbaseprime.py +0 -0
  179. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/coinbasepro.py +0 -0
  180. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/coincheck.py +0 -0
  181. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/coinex.py +0 -0
  182. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/coinlist.py +0 -0
  183. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/coinmate.py +0 -0
  184. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/coinone.py +0 -0
  185. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/coinsph.py +0 -0
  186. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/coinspot.py +0 -0
  187. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/delta.py +0 -0
  188. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/deribit.py +0 -0
  189. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/digifinex.py +0 -0
  190. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/exmo.py +0 -0
  191. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/flowbtc.py +0 -0
  192. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/fmfwio.py +0 -0
  193. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/gate.py +0 -0
  194. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/gateio.py +0 -0
  195. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/gemini.py +0 -0
  196. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/hitbtc.py +0 -0
  197. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/hitbtc3.py +0 -0
  198. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/hollaex.py +0 -0
  199. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/htx.py +0 -0
  200. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/huobi.py +0 -0
  201. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/huobijp.py +0 -0
  202. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/idex.py +0 -0
  203. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/independentreserve.py +0 -0
  204. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/indodax.py +0 -0
  205. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/kraken.py +0 -0
  206. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/krakenfutures.py +0 -0
  207. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/kucoin.py +0 -0
  208. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/kucoinfutures.py +0 -0
  209. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/kuna.py +0 -0
  210. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/latoken.py +0 -0
  211. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/lbank.py +0 -0
  212. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/luno.py +0 -0
  213. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/lykke.py +0 -0
  214. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/mercado.py +0 -0
  215. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/ndax.py +0 -0
  216. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/novadax.py +0 -0
  217. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/oceanex.py +0 -0
  218. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/okcoin.py +0 -0
  219. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/okx.py +0 -0
  220. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/p2b.py +0 -0
  221. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/paymium.py +0 -0
  222. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/phemex.py +0 -0
  223. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/poloniex.py +0 -0
  224. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/poloniexfutures.py +0 -0
  225. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/timex.py +0 -0
  226. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/tokocrypto.py +0 -0
  227. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/upbit.py +0 -0
  228. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/wavesexchange.py +0 -0
  229. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/wazirx.py +0 -0
  230. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/whitebit.py +0 -0
  231. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/yobit.py +0 -0
  232. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/zaif.py +0 -0
  233. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/async_support/zonda.py +0 -0
  234. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/base/__init__.py +0 -0
  235. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/base/decimal_to_precision.py +0 -0
  236. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/base/errors.py +0 -0
  237. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/base/precise.py +0 -0
  238. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/base/types.py +0 -0
  239. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bequant.py +0 -0
  240. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bigone.py +0 -0
  241. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/binance.py +0 -0
  242. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/binancecoinm.py +0 -0
  243. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/binanceus.py +0 -0
  244. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/binanceusdm.py +0 -0
  245. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bit2c.py +0 -0
  246. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bitbank.py +0 -0
  247. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bitbay.py +0 -0
  248. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bitbns.py +0 -0
  249. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bitcoincom.py +0 -0
  250. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bitfinex.py +0 -0
  251. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bitfinex2.py +0 -0
  252. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bitflyer.py +0 -0
  253. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bitforex.py +0 -0
  254. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bithumb.py +0 -0
  255. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bitmart.py +0 -0
  256. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bitmex.py +0 -0
  257. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bitopro.py +0 -0
  258. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bitpanda.py +0 -0
  259. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bitrue.py +0 -0
  260. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bitso.py +0 -0
  261. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bitstamp.py +0 -0
  262. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bittrex.py +0 -0
  263. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bitvavo.py +0 -0
  264. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bl3p.py +0 -0
  265. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/blockchaincom.py +0 -0
  266. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/btcalpha.py +0 -0
  267. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/btcbox.py +0 -0
  268. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/btcmarkets.py +0 -0
  269. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/btcturk.py +0 -0
  270. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/bybit.py +0 -0
  271. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/cex.py +0 -0
  272. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/coinbaseprime.py +0 -0
  273. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/coinbasepro.py +0 -0
  274. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/coincheck.py +0 -0
  275. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/coinex.py +0 -0
  276. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/coinlist.py +0 -0
  277. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/coinmate.py +0 -0
  278. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/coinone.py +0 -0
  279. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/coinsph.py +0 -0
  280. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/coinspot.py +0 -0
  281. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/delta.py +0 -0
  282. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/deribit.py +0 -0
  283. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/digifinex.py +0 -0
  284. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/exmo.py +0 -0
  285. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/flowbtc.py +0 -0
  286. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/fmfwio.py +0 -0
  287. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/gate.py +0 -0
  288. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/gateio.py +0 -0
  289. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/gemini.py +0 -0
  290. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/hitbtc.py +0 -0
  291. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/hitbtc3.py +0 -0
  292. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/hollaex.py +0 -0
  293. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/htx.py +0 -0
  294. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/huobi.py +0 -0
  295. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/huobijp.py +0 -0
  296. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/idex.py +0 -0
  297. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/independentreserve.py +0 -0
  298. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/indodax.py +0 -0
  299. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/kraken.py +0 -0
  300. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/krakenfutures.py +0 -0
  301. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/kucoin.py +0 -0
  302. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/kucoinfutures.py +0 -0
  303. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/kuna.py +0 -0
  304. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/latoken.py +0 -0
  305. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/lbank.py +0 -0
  306. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/luno.py +0 -0
  307. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/lykke.py +0 -0
  308. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/mercado.py +0 -0
  309. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/ndax.py +0 -0
  310. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/novadax.py +0 -0
  311. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/oceanex.py +0 -0
  312. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/okcoin.py +0 -0
  313. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/okx.py +0 -0
  314. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/p2b.py +0 -0
  315. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/paymium.py +0 -0
  316. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/phemex.py +0 -0
  317. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/poloniex.py +0 -0
  318. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/poloniexfutures.py +0 -0
  319. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/alpaca.py +0 -0
  320. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/ascendex.py +0 -0
  321. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/bequant.py +0 -0
  322. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/binance.py +0 -0
  323. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/binancecoinm.py +0 -0
  324. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/binanceus.py +0 -0
  325. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/binanceusdm.py +0 -0
  326. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/bingx.py +0 -0
  327. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/bitcoincom.py +0 -0
  328. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/bitfinex.py +0 -0
  329. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/bitfinex2.py +0 -0
  330. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/bitget.py +0 -0
  331. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/bitmart.py +0 -0
  332. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/bitmex.py +0 -0
  333. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/bitopro.py +0 -0
  334. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/bitpanda.py +0 -0
  335. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/bitrue.py +0 -0
  336. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/bitstamp.py +0 -0
  337. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/bittrex.py +0 -0
  338. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/bitvavo.py +0 -0
  339. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/blockchaincom.py +0 -0
  340. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/bybit.py +0 -0
  341. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/cex.py +0 -0
  342. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/coinbase.py +0 -0
  343. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/coinbaseprime.py +0 -0
  344. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/coinbasepro.py +0 -0
  345. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/coinex.py +0 -0
  346. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/cryptocom.py +0 -0
  347. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/currencycom.py +0 -0
  348. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/deribit.py +0 -0
  349. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/exmo.py +0 -0
  350. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/gate.py +0 -0
  351. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/gateio.py +0 -0
  352. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/gemini.py +0 -0
  353. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/hitbtc.py +0 -0
  354. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/hollaex.py +0 -0
  355. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/htx.py +0 -0
  356. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/huobi.py +0 -0
  357. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/huobijp.py +0 -0
  358. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/huobipro.py +0 -0
  359. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/idex.py +0 -0
  360. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/independentreserve.py +0 -0
  361. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/kraken.py +0 -0
  362. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/krakenfutures.py +0 -0
  363. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/kucoin.py +0 -0
  364. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/kucoinfutures.py +0 -0
  365. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/luno.py +0 -0
  366. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/mexc.py +0 -0
  367. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/mexc3.py +0 -0
  368. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/ndax.py +0 -0
  369. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/okcoin.py +0 -0
  370. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/okex.py +0 -0
  371. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/okx.py +0 -0
  372. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/phemex.py +0 -0
  373. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/poloniex.py +0 -0
  374. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/poloniexfutures.py +0 -0
  375. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/probit.py +0 -0
  376. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/upbit.py +0 -0
  377. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/wazirx.py +0 -0
  378. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/whitebit.py +0 -0
  379. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/pro/woo.py +0 -0
  380. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/static_dependencies/__init__.py +0 -0
  381. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  382. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  383. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  384. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  385. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  386. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  387. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  388. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  389. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  390. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  391. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  392. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  393. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/__init__.py +0 -0
  394. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/__init__.py +0 -0
  395. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_account.py +0 -0
  396. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_balance.py +0 -0
  397. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_borrow_interest.py +0 -0
  398. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_borrow_rate.py +0 -0
  399. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_calculate_fee.py +0 -0
  400. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_crypto.py +0 -0
  401. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_currency.py +0 -0
  402. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_datetime.py +0 -0
  403. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_decimal_to_precision.py +0 -0
  404. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_deep_extend.py +0 -0
  405. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
  406. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
  407. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_funding_rate_history.py +0 -0
  408. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_ledger_entry.py +0 -0
  409. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_ledger_item.py +0 -0
  410. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_leverage_tier.py +0 -0
  411. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_margin_modification.py +0 -0
  412. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_market.py +0 -0
  413. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_number.py +0 -0
  414. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_ohlcv.py +0 -0
  415. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_open_interest.py +0 -0
  416. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_order.py +0 -0
  417. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_order_book.py +0 -0
  418. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_position.py +0 -0
  419. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_shared_methods.py +0 -0
  420. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_status.py +0 -0
  421. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_throttle.py +0 -0
  422. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_ticker.py +0 -0
  423. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_trade.py +0 -0
  424. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_trading_fee.py +0 -0
  425. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/base/test_transaction.py +0 -0
  426. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/test_async.py +0 -0
  427. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/test/test_sync.py +0 -0
  428. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/timex.py +0 -0
  429. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/tokocrypto.py +0 -0
  430. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/upbit.py +0 -0
  431. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/wavesexchange.py +0 -0
  432. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/wazirx.py +0 -0
  433. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/whitebit.py +0 -0
  434. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/yobit.py +0 -0
  435. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/zaif.py +0 -0
  436. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt/zonda.py +0 -0
  437. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt.egg-info/SOURCES.txt +0 -0
  438. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt.egg-info/dependency_links.txt +0 -0
  439. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt.egg-info/requires.txt +0 -0
  440. {ccxt-4.1.78 → ccxt-4.1.80}/ccxt.egg-info/top_level.txt +0 -0
  441. {ccxt-4.1.78 → ccxt-4.1.80}/setup.cfg +0 -0
  442. {ccxt-4.1.78 → ccxt-4.1.80}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.1.78
3
+ Version: 4.1.80
4
4
  Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 130+ exchanges
5
5
  Home-page: https://ccxt.com
6
6
  Author: Igor Kroitor
@@ -222,13 +222,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
222
222
 
223
223
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
224
224
 
225
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.1.78/dist/ccxt.browser.js
226
- * unpkg: https://unpkg.com/ccxt@4.1.78/dist/ccxt.browser.js
225
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.1.80/dist/ccxt.browser.js
226
+ * unpkg: https://unpkg.com/ccxt@4.1.80/dist/ccxt.browser.js
227
227
 
228
228
  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.
229
229
 
230
230
  ```HTML
231
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.1.78/dist/ccxt.browser.js"></script>
231
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.1.80/dist/ccxt.browser.js"></script>
232
232
  ```
233
233
 
234
234
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.1.78'
25
+ __version__ = '4.1.80'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -59,6 +59,7 @@ class ImplicitAPI:
59
59
  v3_private_get_brokerage_product_book = v3PrivateGetBrokerageProductBook = Entry('brokerage/product_book', ['v3', 'private'], 'GET', {})
60
60
  v3_private_get_brokerage_best_bid_ask = v3PrivateGetBrokerageBestBidAsk = Entry('brokerage/best_bid_ask', ['v3', 'private'], 'GET', {})
61
61
  v3_private_get_brokerage_convert_trade_trade_id = v3PrivateGetBrokerageConvertTradeTradeId = Entry('brokerage/convert/trade/{trade_id}', ['v3', 'private'], 'GET', {})
62
+ v3_private_get_brokerage_time = v3PrivateGetBrokerageTime = Entry('brokerage/time', ['v3', 'private'], 'GET', {})
62
63
  v3_private_post_brokerage_orders = v3PrivatePostBrokerageOrders = Entry('brokerage/orders', ['v3', 'private'], 'POST', {})
63
64
  v3_private_post_brokerage_orders_batch_cancel = v3PrivatePostBrokerageOrdersBatchCancel = Entry('brokerage/orders/batch_cancel', ['v3', 'private'], 'POST', {})
64
65
  v3_private_post_brokerage_orders_edit = v3PrivatePostBrokerageOrdersEdit = Entry('brokerage/orders/edit', ['v3', 'private'], 'POST', {})
@@ -53,6 +53,9 @@ class ImplicitAPI:
53
53
  v2_private_post_private_get_currency_networks = v2PrivatePostPrivateGetCurrencyNetworks = Entry('private/get-currency-networks', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
54
54
  v2_private_post_private_get_deposit_history = v2PrivatePostPrivateGetDepositHistory = Entry('private/get-deposit-history', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
55
55
  v2_private_post_private_get_deposit_address = v2PrivatePostPrivateGetDepositAddress = Entry('private/get-deposit-address', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
56
+ v2_private_post_private_export_create_export_request = v2PrivatePostPrivateExportCreateExportRequest = Entry('private/export/create-export-request', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
57
+ v2_private_post_private_export_get_export_requests = v2PrivatePostPrivateExportGetExportRequests = Entry('private/export/get-export-requests', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
58
+ v2_private_post_private_export_download_export_output = v2PrivatePostPrivateExportDownloadExportOutput = Entry('private/export/download-export-output', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
56
59
  v2_private_post_private_get_account_summary = v2PrivatePostPrivateGetAccountSummary = Entry('private/get-account-summary', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
57
60
  v2_private_post_private_create_order = v2PrivatePostPrivateCreateOrder = Entry('private/create-order', ['v2', 'private'], 'POST', {'cost': 0.6666666666666666})
58
61
  v2_private_post_private_cancel_order = v2PrivatePostPrivateCancelOrder = Entry('private/cancel-order', ['v2', 'private'], 'POST', {'cost': 0.6666666666666666})
@@ -71,6 +74,7 @@ class ImplicitAPI:
71
74
  v2_private_post_private_otc_accept_quote = v2PrivatePostPrivateOtcAcceptQuote = Entry('private/otc/accept-quote', ['v2', 'private'], 'POST', {'cost': 100})
72
75
  v2_private_post_private_otc_get_quote_history = v2PrivatePostPrivateOtcGetQuoteHistory = Entry('private/otc/get-quote-history', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
73
76
  v2_private_post_private_otc_get_trade_history = v2PrivatePostPrivateOtcGetTradeHistory = Entry('private/otc/get-trade-history', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
77
+ v2_private_post_private_otc_create_order = v2PrivatePostPrivateOtcCreateOrder = Entry('private/otc/create-order', ['v2', 'private'], 'POST', {'cost': 3.3333333333333335})
74
78
  derivatives_public_get_public_auth = derivativesPublicGetPublicAuth = Entry('public/auth', ['derivatives', 'public'], 'GET', {'cost': 3.3333333333333335})
75
79
  derivatives_public_get_public_get_instruments = derivativesPublicGetPublicGetInstruments = Entry('public/get-instruments', ['derivatives', 'public'], 'GET', {'cost': 3.3333333333333335})
76
80
  derivatives_public_get_public_get_book = derivativesPublicGetPublicGetBook = Entry('public/get-book', ['derivatives', 'public'], 'GET', {'cost': 1})
@@ -4,9 +4,9 @@ from ccxt.base.types import Entry
4
4
  class ImplicitAPI:
5
5
  spot_public_get_ping = spotPublicGetPing = Entry('ping', ['spot', 'public'], 'GET', {'cost': 1})
6
6
  spot_public_get_time = spotPublicGetTime = Entry('time', ['spot', 'public'], 'GET', {'cost': 1})
7
- spot_public_get_exchangeinfo = spotPublicGetExchangeInfo = Entry('exchangeInfo', ['spot', 'public'], 'GET', {'cost': 1})
7
+ spot_public_get_exchangeinfo = spotPublicGetExchangeInfo = Entry('exchangeInfo', ['spot', 'public'], 'GET', {'cost': 10})
8
8
  spot_public_get_depth = spotPublicGetDepth = Entry('depth', ['spot', 'public'], 'GET', {'cost': 1})
9
- spot_public_get_trades = spotPublicGetTrades = Entry('trades', ['spot', 'public'], 'GET', {'cost': 1})
9
+ spot_public_get_trades = spotPublicGetTrades = Entry('trades', ['spot', 'public'], 'GET', {'cost': 5})
10
10
  spot_public_get_historicaltrades = spotPublicGetHistoricalTrades = Entry('historicalTrades', ['spot', 'public'], 'GET', {'cost': 1})
11
11
  spot_public_get_aggtrades = spotPublicGetAggTrades = Entry('aggTrades', ['spot', 'public'], 'GET', {'cost': 1})
12
12
  spot_public_get_klines = spotPublicGetKlines = Entry('klines', ['spot', 'public'], 'GET', {'cost': 1})
@@ -15,17 +15,18 @@ class ImplicitAPI:
15
15
  spot_public_get_ticker_price = spotPublicGetTickerPrice = Entry('ticker/price', ['spot', 'public'], 'GET', {'cost': 1})
16
16
  spot_public_get_ticker_bookticker = spotPublicGetTickerBookTicker = Entry('ticker/bookTicker', ['spot', 'public'], 'GET', {'cost': 1})
17
17
  spot_public_get_etf_info = spotPublicGetEtfInfo = Entry('etf/info', ['spot', 'public'], 'GET', {'cost': 1})
18
- spot_private_get_order = spotPrivateGetOrder = Entry('order', ['spot', 'private'], 'GET', {'cost': 1})
19
- spot_private_get_openorders = spotPrivateGetOpenOrders = Entry('openOrders', ['spot', 'private'], 'GET', {'cost': 1})
20
- spot_private_get_allorders = spotPrivateGetAllOrders = Entry('allOrders', ['spot', 'private'], 'GET', {'cost': 1})
18
+ spot_private_get_order = spotPrivateGetOrder = Entry('order', ['spot', 'private'], 'GET', {'cost': 2})
19
+ spot_private_get_openorders = spotPrivateGetOpenOrders = Entry('openOrders', ['spot', 'private'], 'GET', {'cost': 3})
20
+ spot_private_get_allorders = spotPrivateGetAllOrders = Entry('allOrders', ['spot', 'private'], 'GET', {'cost': 10})
21
21
  spot_private_get_account = spotPrivateGetAccount = Entry('account', ['spot', 'private'], 'GET', {'cost': 10})
22
- spot_private_get_mytrades = spotPrivateGetMyTrades = Entry('myTrades', ['spot', 'private'], 'GET', {'cost': 1})
22
+ spot_private_get_mytrades = spotPrivateGetMyTrades = Entry('myTrades', ['spot', 'private'], 'GET', {'cost': 10})
23
23
  spot_private_get_sub_account_list = spotPrivateGetSubAccountList = Entry('sub-account/list', ['spot', 'private'], 'GET', {'cost': 1})
24
24
  spot_private_get_sub_account_apikey = spotPrivateGetSubAccountApiKey = Entry('sub-account/apiKey', ['spot', 'private'], 'GET', {'cost': 1})
25
- spot_private_get_capital_config_getall = spotPrivateGetCapitalConfigGetall = Entry('capital/config/getall', ['spot', 'private'], 'GET', {'cost': 1})
25
+ spot_private_get_capital_config_getall = spotPrivateGetCapitalConfigGetall = Entry('capital/config/getall', ['spot', 'private'], 'GET', {'cost': 10})
26
26
  spot_private_get_capital_deposit_hisrec = spotPrivateGetCapitalDepositHisrec = Entry('capital/deposit/hisrec', ['spot', 'private'], 'GET', {'cost': 1})
27
27
  spot_private_get_capital_withdraw_history = spotPrivateGetCapitalWithdrawHistory = Entry('capital/withdraw/history', ['spot', 'private'], 'GET', {'cost': 1})
28
- spot_private_get_capital_deposit_address = spotPrivateGetCapitalDepositAddress = Entry('capital/deposit/address', ['spot', 'private'], 'GET', {'cost': 1})
28
+ spot_private_get_capital_withdraw_address = spotPrivateGetCapitalWithdrawAddress = Entry('capital/withdraw/address', ['spot', 'private'], 'GET', {'cost': 10})
29
+ spot_private_get_capital_deposit_address = spotPrivateGetCapitalDepositAddress = Entry('capital/deposit/address', ['spot', 'private'], 'GET', {'cost': 10})
29
30
  spot_private_get_capital_transfer = spotPrivateGetCapitalTransfer = Entry('capital/transfer', ['spot', 'private'], 'GET', {'cost': 1})
30
31
  spot_private_get_capital_transfer_tranid = spotPrivateGetCapitalTransferTranId = Entry('capital/transfer/tranId', ['spot', 'private'], 'GET', {'cost': 1})
31
32
  spot_private_get_capital_transfer_internal = spotPrivateGetCapitalTransferInternal = Entry('capital/transfer/internal', ['spot', 'private'], 'GET', {'cost': 1})
@@ -67,7 +68,7 @@ class ImplicitAPI:
67
68
  spot_private_post_capital_transfer_internal = spotPrivatePostCapitalTransferInternal = Entry('capital/transfer/internal', ['spot', 'private'], 'POST', {'cost': 1})
68
69
  spot_private_post_capital_deposit_address = spotPrivatePostCapitalDepositAddress = Entry('capital/deposit/address', ['spot', 'private'], 'POST', {'cost': 1})
69
70
  spot_private_post_capital_sub_account_universaltransfer = spotPrivatePostCapitalSubAccountUniversalTransfer = Entry('capital/sub-account/universalTransfer', ['spot', 'private'], 'POST', {'cost': 1})
70
- spot_private_post_capital_convert = spotPrivatePostCapitalConvert = Entry('capital/convert', ['spot', 'private'], 'POST', {'cost': 1})
71
+ spot_private_post_capital_convert = spotPrivatePostCapitalConvert = Entry('capital/convert', ['spot', 'private'], 'POST', {'cost': 10})
71
72
  spot_private_post_mxdeduct_enable = spotPrivatePostMxDeductEnable = Entry('mxDeduct/enable', ['spot', 'private'], 'POST', {'cost': 1})
72
73
  spot_private_post_userdatastream = spotPrivatePostUserDataStream = Entry('userDataStream', ['spot', 'private'], 'POST', {'cost': 1})
73
74
  spot_private_put_userdatastream = spotPrivatePutUserDataStream = Entry('userDataStream', ['spot', 'private'], 'PUT', {'cost': 1})
@@ -47,6 +47,7 @@ class ImplicitAPI:
47
47
  v1_private_delete_orders = v1PrivateDeleteOrders = Entry('orders', ['v1', 'private'], 'DELETE', {'cost': 1})
48
48
  v1_private_delete_asset_withdraw = v1PrivateDeleteAssetWithdraw = Entry('asset/withdraw', ['v1', 'private'], 'DELETE', {'cost': 120})
49
49
  v2_private_get_client_holding = v2PrivateGetClientHolding = Entry('client/holding', ['v2', 'private'], 'GET', {'cost': 1})
50
+ v3_public_get_insurancefund = v3PublicGetInsuranceFund = Entry('insuranceFund', ['v3', 'public'], 'GET', {'cost': 3})
50
51
  v3_private_get_algo_order_oid = v3PrivateGetAlgoOrderOid = Entry('algo/order/{oid}', ['v3', 'private'], 'GET', {'cost': 1})
51
52
  v3_private_get_algo_orders = v3PrivateGetAlgoOrders = Entry('algo/orders', ['v3', 'private'], 'GET', {'cost': 1})
52
53
  v3_private_get_balances = v3PrivateGetBalances = Entry('balances', ['v3', 'private'], 'GET', {'cost': 1})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.1.78'
7
+ __version__ = '4.1.80'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.1.78'
5
+ __version__ = '4.1.80'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -1188,35 +1188,6 @@ class bingx(Exchange, ImplicitAPI):
1188
1188
  response = await self.spotV1PublicGetTicker24hr(self.extend(request, params))
1189
1189
  else:
1190
1190
  response = await self.swapV2PublicGetQuoteTicker(self.extend(request, params))
1191
- #
1192
- # {
1193
- # "code": 0,
1194
- # "msg": "",
1195
- # "data": {
1196
- # "symbol": "BTC-USDT",
1197
- # "priceChange": "52.5",
1198
- # "priceChangePercent": "0.31",
1199
- # "lastPrice": "16880.5",
1200
- # "lastQty": "2.2238",
1201
- # "highPrice": "16897.5",
1202
- # "lowPrice": "16726.0",
1203
- # "volume": "245870.1692",
1204
- # "quoteVolume": "4151395117.73",
1205
- # "openPrice": "16832.0",
1206
- # "openTime": 1672026667803,
1207
- # "closeTime": 1672026648425,
1208
- # added some time ago:
1209
- # "firstId": 12345,
1210
- # "lastId": 12349,
1211
- # "count": 5,
1212
- # added 2023-11-10:
1213
- # "bidPrice": 16726.0,
1214
- # "bidQty": 0.05,
1215
- # "askPrice": 16726.0,
1216
- # "askQty": 0.05,
1217
- # }
1218
- # }
1219
- #
1220
1191
  data = self.safe_value(response, 'data')
1221
1192
  ticker = self.safe_value(data, 0, data)
1222
1193
  return self.parse_ticker(ticker, market)
@@ -1242,37 +1213,6 @@ class bingx(Exchange, ImplicitAPI):
1242
1213
  response = await self.spotV1PublicGetTicker24hr(params)
1243
1214
  else:
1244
1215
  response = await self.swapV2PublicGetQuoteTicker(params)
1245
- #
1246
- # {
1247
- # "code": 0,
1248
- # "msg": "",
1249
- # "data": [
1250
- # {
1251
- # "symbol": "BTC-USDT",
1252
- # "priceChange": "52.5",
1253
- # "priceChangePercent": "0.31",
1254
- # "lastPrice": "16880.5",
1255
- # "lastQty": "2.2238",
1256
- # "highPrice": "16897.5",
1257
- # "lowPrice": "16726.0",
1258
- # "volume": "245870.1692",
1259
- # "quoteVolume": "4151395117.73",
1260
- # "openPrice": "16832.0",
1261
- # "openTime": 1672026667803,
1262
- # "closeTime": 1672026648425,
1263
- # added some time ago:
1264
- # "firstId": 12345,
1265
- # "lastId": 12349,
1266
- # "count": 5,
1267
- # added 2023-11-10:
1268
- # "bidPrice": 16726.0,
1269
- # "bidQty": 0.05,
1270
- # "askPrice": 16726.0,
1271
- # "askQty": 0.05,
1272
- # },
1273
- # ]
1274
- # }
1275
- #
1276
1216
  tickers = self.safe_value(response, 'data')
1277
1217
  return self.parse_tickers(tickers, symbols)
1278
1218
 
@@ -1289,10 +1229,6 @@ class bingx(Exchange, ImplicitAPI):
1289
1229
  # "quoteVolume": "30288466.44",
1290
1230
  # "openTime": "1693081020762",
1291
1231
  # "closeTime": "1693167420762",
1292
- # added some time ago:
1293
- # "firstId": 12345,
1294
- # "lastId": 12349,
1295
- # "count": 5,
1296
1232
  # added 2023-11-10:
1297
1233
  # "bidPrice": 16726.0,
1298
1234
  # "bidQty": 0.05,
@@ -1304,9 +1240,9 @@ class bingx(Exchange, ImplicitAPI):
1304
1240
  # {
1305
1241
  # "symbol": "BTC-USDT",
1306
1242
  # "priceChange": "52.5",
1307
- # "priceChangePercent": "0.31",
1243
+ # "priceChangePercent": "0.31%", # they started to add the percent sign in value
1308
1244
  # "lastPrice": "16880.5",
1309
- # "lastQty": "2.2238",
1245
+ # "lastQty": "2.2238", # only present in swap!
1310
1246
  # "highPrice": "16897.5",
1311
1247
  # "lowPrice": "16726.0",
1312
1248
  # "volume": "245870.1692",
@@ -1314,10 +1250,6 @@ class bingx(Exchange, ImplicitAPI):
1314
1250
  # "openPrice": "16832.0",
1315
1251
  # "openTime": 1672026667803,
1316
1252
  # "closeTime": 1672026648425,
1317
- # added some time ago:
1318
- # "firstId": 12345,
1319
- # "lastId": 12349,
1320
- # "count": 5,
1321
1253
  # added 2023-11-10:
1322
1254
  # "bidPrice": 16726.0,
1323
1255
  # "bidQty": 0.05,
@@ -1327,7 +1259,10 @@ class bingx(Exchange, ImplicitAPI):
1327
1259
  #
1328
1260
  marketId = self.safe_string(ticker, 'symbol')
1329
1261
  change = self.safe_string(ticker, 'priceChange')
1330
- type = 'spot' if (change is None) else 'swap'
1262
+ lastQty = self.safe_string(ticker, 'lastQty')
1263
+ # in spot markets, lastQty is not present
1264
+ # it's(bad, but) the only way we can check the tickers origin
1265
+ type = 'spot' if (lastQty is None) else 'swap'
1331
1266
  symbol = self.safe_symbol(marketId, market, None, type)
1332
1267
  open = self.safe_string(ticker, 'openPrice')
1333
1268
  high = self.safe_string(ticker, 'highPrice')
@@ -1335,8 +1270,9 @@ class bingx(Exchange, ImplicitAPI):
1335
1270
  close = self.safe_string(ticker, 'lastPrice')
1336
1271
  quoteVolume = self.safe_string(ticker, 'quoteVolume')
1337
1272
  baseVolume = self.safe_string(ticker, 'volume')
1338
- percentage = self.safe_string(ticker, 'priceChangePercent', '') # priceChangePercent: '5.66%',
1339
- percentage = percentage.replace('%', '')
1273
+ percentage = self.safe_string(ticker, 'priceChangePercent')
1274
+ if percentage is not None:
1275
+ percentage = percentage.replace('%', '')
1340
1276
  ts = self.safe_integer(ticker, 'closeTime')
1341
1277
  datetime = self.iso8601(ts)
1342
1278
  bid = self.safe_string(ticker, 'bidPrice')
@@ -2817,7 +2753,8 @@ class bingx(Exchange, ImplicitAPI):
2817
2753
 
2818
2754
  def parse_transaction_status(self, status):
2819
2755
  statuses = {
2820
- '0': 'ok',
2756
+ '0': 'pending',
2757
+ '1': 'ok',
2821
2758
  '10': 'pending',
2822
2759
  '20': 'rejected',
2823
2760
  '30': 'ok',
@@ -3735,6 +3735,7 @@ class bitget(Exchange, ImplicitAPI):
3735
3735
  :param str symbol: unified symbol of the market the order was made in
3736
3736
  :param dict [params]: extra parameters specific to the exchange API endpoint
3737
3737
  :param str [params.marginMode]: 'isolated' or 'cross' for spot margin trading
3738
+ :param str [params.planType]: *swap only* either profit_plan, loss_plan, normal_plan, pos_profit, pos_loss, moving_plan or track_plan
3738
3739
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
3739
3740
  """
3740
3741
  if symbol is None:
@@ -4086,6 +4087,7 @@ class bitget(Exchange, ImplicitAPI):
4086
4087
  :param int [since]: the earliest time in ms to fetch open orders for
4087
4088
  :param int [limit]: the maximum number of open order structures to retrieve
4088
4089
  :param dict [params]: extra parameters specific to the exchange API endpoint
4090
+ :param str [params.isPlan]: *swap only* 'plan' for stop orders and 'profit_loss' for tp/sl orders, default is 'plan'
4089
4091
  :returns Order[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
4090
4092
  """
4091
4093
  await self.load_markets()
@@ -4304,6 +4306,7 @@ class bitget(Exchange, ImplicitAPI):
4304
4306
  :param int [limit]: the max number of closed orders to return
4305
4307
  :param dict [params]: extra parameters specific to the exchange API endpoint
4306
4308
  :param int [params.until]: the latest time in ms to fetch entries for
4309
+ :param str [params.isPlan]: *swap only* 'plan' for stop orders and 'profit_loss' for tp/sl orders, default is 'plan'
4307
4310
  :returns Order[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
4308
4311
  """
4309
4312
  await self.load_markets()
@@ -4340,6 +4343,7 @@ class bitget(Exchange, ImplicitAPI):
4340
4343
  :param int [limit]: the max number of canceled orders to return
4341
4344
  :param dict [params]: extra parameters specific to the exchange API endpoint
4342
4345
  :param int [params.until]: the latest time in ms to fetch entries for
4346
+ :param str [params.isPlan]: *swap only* 'plan' for stop orders and 'profit_loss' for tp/sl orders, default is 'plan'
4343
4347
  :returns dict: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
4344
4348
  """
4345
4349
  if symbol is None:
@@ -211,6 +211,7 @@ class coinbase(Exchange, ImplicitAPI):
211
211
  'brokerage/product_book',
212
212
  'brokerage/best_bid_ask',
213
213
  'brokerage/convert/trade/{trade_id}',
214
+ 'brokerage/time',
214
215
  ],
215
216
  'post': [
216
217
  'brokerage/orders',
@@ -218,6 +218,9 @@ class cryptocom(Exchange, ImplicitAPI):
218
218
  'private/get-currency-networks': 10 / 3,
219
219
  'private/get-deposit-history': 10 / 3,
220
220
  'private/get-deposit-address': 10 / 3,
221
+ 'private/export/create-export-request': 10 / 3,
222
+ 'private/export/get-export-requests': 10 / 3,
223
+ 'private/export/download-export-output': 10 / 3,
221
224
  'private/get-account-summary': 10 / 3,
222
225
  'private/create-order': 2 / 3,
223
226
  'private/cancel-order': 2 / 3,
@@ -236,6 +239,7 @@ class cryptocom(Exchange, ImplicitAPI):
236
239
  'private/otc/accept-quote': 100,
237
240
  'private/otc/get-quote-history': 10 / 3,
238
241
  'private/otc/get-trade-history': 10 / 3,
242
+ 'private/otc/create-order': 10 / 3,
239
243
  },
240
244
  },
241
245
  },
@@ -15,6 +15,7 @@ from ccxt.base.errors import BadSymbol
15
15
  from ccxt.base.errors import InsufficientFunds
16
16
  from ccxt.base.errors import InvalidOrder
17
17
  from ccxt.base.errors import OrderNotFound
18
+ from ccxt.base.errors import NotSupported
18
19
  from ccxt.base.errors import DDoSProtection
19
20
  from ccxt.base.errors import ExchangeNotAvailable
20
21
  from ccxt.base.errors import InvalidNonce
@@ -1508,7 +1509,15 @@ class currencycom(Exchange, ImplicitAPI):
1508
1509
  request['startTime'] = since
1509
1510
  if limit is not None:
1510
1511
  request['limit'] = limit
1511
- response = await getattr(self, method)(self.extend(request, params))
1512
+ response = None
1513
+ if method == 'privateGetV2Deposits':
1514
+ response = await self.privateGetV2Deposits(self.extend(request, params))
1515
+ elif method == 'privateGetV2Withdrawals':
1516
+ response = await self.privateGetV2Withdrawals(self.extend(request, params))
1517
+ elif method == 'privateGetV2Transactions':
1518
+ response = await self.privateGetV2Transactions(self.extend(request, params))
1519
+ else:
1520
+ raise NotSupported(self.id + ' fetchTransactionsByMethod() not support self method')
1512
1521
  #
1513
1522
  # [
1514
1523
  # {
@@ -164,9 +164,9 @@ class mexc(Exchange, ImplicitAPI):
164
164
  'get': {
165
165
  'ping': 1,
166
166
  'time': 1,
167
- 'exchangeInfo': 1,
167
+ 'exchangeInfo': 10,
168
168
  'depth': 1,
169
- 'trades': 1,
169
+ 'trades': 5,
170
170
  'historicalTrades': 1,
171
171
  'aggTrades': 1,
172
172
  'klines': 1,
@@ -179,17 +179,18 @@ class mexc(Exchange, ImplicitAPI):
179
179
  },
180
180
  'private': {
181
181
  'get': {
182
- 'order': 1,
183
- 'openOrders': 1,
184
- 'allOrders': 1,
182
+ 'order': 2,
183
+ 'openOrders': 3,
184
+ 'allOrders': 10,
185
185
  'account': 10,
186
- 'myTrades': 1,
186
+ 'myTrades': 10,
187
187
  'sub-account/list': 1,
188
188
  'sub-account/apiKey': 1,
189
- 'capital/config/getall': 1,
189
+ 'capital/config/getall': 10,
190
190
  'capital/deposit/hisrec': 1,
191
191
  'capital/withdraw/history': 1,
192
- 'capital/deposit/address': 1,
192
+ 'capital/withdraw/address': 10,
193
+ 'capital/deposit/address': 10,
193
194
  'capital/transfer': 1,
194
195
  'capital/transfer/tranId': 1,
195
196
  'capital/transfer/internal': 1,
@@ -233,7 +234,7 @@ class mexc(Exchange, ImplicitAPI):
233
234
  'capital/transfer/internal': 1,
234
235
  'capital/deposit/address': 1,
235
236
  'capital/sub-account/universalTransfer': 1,
236
- 'capital/convert': 1,
237
+ 'capital/convert': 10,
237
238
  'mxDeduct/enable': 1,
238
239
  'userDataStream': 1,
239
240
  },
@@ -440,14 +440,20 @@ class probit(Exchange, ImplicitAPI):
440
440
  platform = network
441
441
  precision = self.parse_precision(self.safe_string(network, 'precision'))
442
442
  withdrawFee = self.safe_value(network, 'withdrawal_fee', [])
443
- networkfee = self.safe_value(withdrawFee, 0, {})
443
+ networkFee = self.safe_value(withdrawFee, 0, {})
444
+ for k in range(0, len(withdrawFee)):
445
+ withdrawPlatform = withdrawFee[k]
446
+ feeCurrencyId = self.safe_string(withdrawPlatform, 'currency_id')
447
+ if feeCurrencyId == id:
448
+ networkFee = withdrawPlatform
449
+ break
444
450
  networkList[networkCode] = {
445
451
  'id': networkId,
446
452
  'network': networkCode,
447
453
  'active': currentActive,
448
454
  'deposit': currentDeposit,
449
455
  'withdraw': currentWithdraw,
450
- 'fee': self.safe_number(networkfee, 'amount'),
456
+ 'fee': self.safe_number(networkFee, 'amount'),
451
457
  'precision': self.parse_number(precision),
452
458
  'limits': {
453
459
  'withdraw': {
@@ -208,6 +208,11 @@ class woo(Exchange, ImplicitAPI):
208
208
  },
209
209
  },
210
210
  'v3': {
211
+ 'public': {
212
+ 'get': {
213
+ 'insuranceFund': 3,
214
+ },
215
+ },
211
216
  'private': {
212
217
  'get': {
213
218
  'algo/order/{oid}': 1,
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.1.78'
7
+ __version__ = '4.1.80'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -1187,35 +1187,6 @@ class bingx(Exchange, ImplicitAPI):
1187
1187
  response = self.spotV1PublicGetTicker24hr(self.extend(request, params))
1188
1188
  else:
1189
1189
  response = self.swapV2PublicGetQuoteTicker(self.extend(request, params))
1190
- #
1191
- # {
1192
- # "code": 0,
1193
- # "msg": "",
1194
- # "data": {
1195
- # "symbol": "BTC-USDT",
1196
- # "priceChange": "52.5",
1197
- # "priceChangePercent": "0.31",
1198
- # "lastPrice": "16880.5",
1199
- # "lastQty": "2.2238",
1200
- # "highPrice": "16897.5",
1201
- # "lowPrice": "16726.0",
1202
- # "volume": "245870.1692",
1203
- # "quoteVolume": "4151395117.73",
1204
- # "openPrice": "16832.0",
1205
- # "openTime": 1672026667803,
1206
- # "closeTime": 1672026648425,
1207
- # added some time ago:
1208
- # "firstId": 12345,
1209
- # "lastId": 12349,
1210
- # "count": 5,
1211
- # added 2023-11-10:
1212
- # "bidPrice": 16726.0,
1213
- # "bidQty": 0.05,
1214
- # "askPrice": 16726.0,
1215
- # "askQty": 0.05,
1216
- # }
1217
- # }
1218
- #
1219
1190
  data = self.safe_value(response, 'data')
1220
1191
  ticker = self.safe_value(data, 0, data)
1221
1192
  return self.parse_ticker(ticker, market)
@@ -1241,37 +1212,6 @@ class bingx(Exchange, ImplicitAPI):
1241
1212
  response = self.spotV1PublicGetTicker24hr(params)
1242
1213
  else:
1243
1214
  response = self.swapV2PublicGetQuoteTicker(params)
1244
- #
1245
- # {
1246
- # "code": 0,
1247
- # "msg": "",
1248
- # "data": [
1249
- # {
1250
- # "symbol": "BTC-USDT",
1251
- # "priceChange": "52.5",
1252
- # "priceChangePercent": "0.31",
1253
- # "lastPrice": "16880.5",
1254
- # "lastQty": "2.2238",
1255
- # "highPrice": "16897.5",
1256
- # "lowPrice": "16726.0",
1257
- # "volume": "245870.1692",
1258
- # "quoteVolume": "4151395117.73",
1259
- # "openPrice": "16832.0",
1260
- # "openTime": 1672026667803,
1261
- # "closeTime": 1672026648425,
1262
- # added some time ago:
1263
- # "firstId": 12345,
1264
- # "lastId": 12349,
1265
- # "count": 5,
1266
- # added 2023-11-10:
1267
- # "bidPrice": 16726.0,
1268
- # "bidQty": 0.05,
1269
- # "askPrice": 16726.0,
1270
- # "askQty": 0.05,
1271
- # },
1272
- # ]
1273
- # }
1274
- #
1275
1215
  tickers = self.safe_value(response, 'data')
1276
1216
  return self.parse_tickers(tickers, symbols)
1277
1217
 
@@ -1288,10 +1228,6 @@ class bingx(Exchange, ImplicitAPI):
1288
1228
  # "quoteVolume": "30288466.44",
1289
1229
  # "openTime": "1693081020762",
1290
1230
  # "closeTime": "1693167420762",
1291
- # added some time ago:
1292
- # "firstId": 12345,
1293
- # "lastId": 12349,
1294
- # "count": 5,
1295
1231
  # added 2023-11-10:
1296
1232
  # "bidPrice": 16726.0,
1297
1233
  # "bidQty": 0.05,
@@ -1303,9 +1239,9 @@ class bingx(Exchange, ImplicitAPI):
1303
1239
  # {
1304
1240
  # "symbol": "BTC-USDT",
1305
1241
  # "priceChange": "52.5",
1306
- # "priceChangePercent": "0.31",
1242
+ # "priceChangePercent": "0.31%", # they started to add the percent sign in value
1307
1243
  # "lastPrice": "16880.5",
1308
- # "lastQty": "2.2238",
1244
+ # "lastQty": "2.2238", # only present in swap!
1309
1245
  # "highPrice": "16897.5",
1310
1246
  # "lowPrice": "16726.0",
1311
1247
  # "volume": "245870.1692",
@@ -1313,10 +1249,6 @@ class bingx(Exchange, ImplicitAPI):
1313
1249
  # "openPrice": "16832.0",
1314
1250
  # "openTime": 1672026667803,
1315
1251
  # "closeTime": 1672026648425,
1316
- # added some time ago:
1317
- # "firstId": 12345,
1318
- # "lastId": 12349,
1319
- # "count": 5,
1320
1252
  # added 2023-11-10:
1321
1253
  # "bidPrice": 16726.0,
1322
1254
  # "bidQty": 0.05,
@@ -1326,7 +1258,10 @@ class bingx(Exchange, ImplicitAPI):
1326
1258
  #
1327
1259
  marketId = self.safe_string(ticker, 'symbol')
1328
1260
  change = self.safe_string(ticker, 'priceChange')
1329
- type = 'spot' if (change is None) else 'swap'
1261
+ lastQty = self.safe_string(ticker, 'lastQty')
1262
+ # in spot markets, lastQty is not present
1263
+ # it's(bad, but) the only way we can check the tickers origin
1264
+ type = 'spot' if (lastQty is None) else 'swap'
1330
1265
  symbol = self.safe_symbol(marketId, market, None, type)
1331
1266
  open = self.safe_string(ticker, 'openPrice')
1332
1267
  high = self.safe_string(ticker, 'highPrice')
@@ -1334,8 +1269,9 @@ class bingx(Exchange, ImplicitAPI):
1334
1269
  close = self.safe_string(ticker, 'lastPrice')
1335
1270
  quoteVolume = self.safe_string(ticker, 'quoteVolume')
1336
1271
  baseVolume = self.safe_string(ticker, 'volume')
1337
- percentage = self.safe_string(ticker, 'priceChangePercent', '') # priceChangePercent: '5.66%',
1338
- percentage = percentage.replace('%', '')
1272
+ percentage = self.safe_string(ticker, 'priceChangePercent')
1273
+ if percentage is not None:
1274
+ percentage = percentage.replace('%', '')
1339
1275
  ts = self.safe_integer(ticker, 'closeTime')
1340
1276
  datetime = self.iso8601(ts)
1341
1277
  bid = self.safe_string(ticker, 'bidPrice')
@@ -2816,7 +2752,8 @@ class bingx(Exchange, ImplicitAPI):
2816
2752
 
2817
2753
  def parse_transaction_status(self, status):
2818
2754
  statuses = {
2819
- '0': 'ok',
2755
+ '0': 'pending',
2756
+ '1': 'ok',
2820
2757
  '10': 'pending',
2821
2758
  '20': 'rejected',
2822
2759
  '30': 'ok',