ccxt 4.2.92__tar.gz → 4.2.94__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 (543) hide show
  1. {ccxt-4.2.92/ccxt.egg-info → ccxt-4.2.94}/PKG-INFO +4 -4
  2. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/__init__.py +1 -1
  3. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/binance.py +1 -0
  4. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/binancecoinm.py +1 -0
  5. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/binanceus.py +1 -0
  6. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/binanceusdm.py +1 -0
  7. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/__init__.py +1 -1
  8. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/base/exchange.py +7 -1
  9. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/binance.py +60 -2
  10. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bitget.py +135 -1
  11. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/coinex.py +0 -27
  12. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/digifinex.py +1 -45
  13. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/okx.py +149 -1
  14. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/probit.py +2 -3
  15. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/woo.py +135 -1
  16. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/base/exchange.py +42 -10
  17. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/base/types.py +13 -0
  18. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/binance.py +60 -2
  19. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bitget.py +135 -1
  20. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/coinex.py +0 -27
  21. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/digifinex.py +1 -45
  22. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/okx.py +149 -1
  23. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/__init__.py +1 -1
  24. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/kraken.py +96 -18
  25. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/krakenfutures.py +104 -39
  26. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/kucoin.py +25 -16
  27. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/probit.py +2 -3
  28. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/woo.py +135 -1
  29. {ccxt-4.2.92 → ccxt-4.2.94/ccxt.egg-info}/PKG-INFO +4 -4
  30. {ccxt-4.2.92 → ccxt-4.2.94}/package.json +1 -1
  31. {ccxt-4.2.92 → ccxt-4.2.94}/LICENSE.txt +0 -0
  32. {ccxt-4.2.92 → ccxt-4.2.94}/MANIFEST.in +0 -0
  33. {ccxt-4.2.92 → ccxt-4.2.94}/README.rst +0 -0
  34. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/__init__.py +0 -0
  35. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/ace.py +0 -0
  36. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/alpaca.py +0 -0
  37. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/ascendex.py +0 -0
  38. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bequant.py +0 -0
  39. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bigone.py +0 -0
  40. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bingx.py +0 -0
  41. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bit2c.py +0 -0
  42. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bitbank.py +0 -0
  43. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bitbay.py +0 -0
  44. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bitbns.py +0 -0
  45. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bitcoincom.py +0 -0
  46. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bitfinex.py +0 -0
  47. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bitfinex2.py +0 -0
  48. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bitflyer.py +0 -0
  49. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bitget.py +0 -0
  50. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bithumb.py +0 -0
  51. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bitmart.py +0 -0
  52. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bitmex.py +0 -0
  53. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bitopro.py +0 -0
  54. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bitpanda.py +0 -0
  55. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bitrue.py +0 -0
  56. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bitso.py +0 -0
  57. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bitstamp.py +0 -0
  58. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bitteam.py +0 -0
  59. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bitvavo.py +0 -0
  60. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bl3p.py +0 -0
  61. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/blockchaincom.py +0 -0
  62. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/blofin.py +0 -0
  63. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/btcalpha.py +0 -0
  64. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/btcbox.py +0 -0
  65. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/btcmarkets.py +0 -0
  66. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/btcturk.py +0 -0
  67. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/bybit.py +0 -0
  68. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/cex.py +0 -0
  69. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/coinbase.py +0 -0
  70. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/coinbaseinternational.py +0 -0
  71. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/coinbasepro.py +0 -0
  72. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/coincheck.py +0 -0
  73. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/coinex.py +0 -0
  74. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/coinlist.py +0 -0
  75. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/coinmate.py +0 -0
  76. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/coinmetro.py +0 -0
  77. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/coinone.py +0 -0
  78. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/coinsph.py +0 -0
  79. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/coinspot.py +0 -0
  80. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/cryptocom.py +0 -0
  81. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/currencycom.py +0 -0
  82. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/delta.py +0 -0
  83. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/deribit.py +0 -0
  84. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/digifinex.py +0 -0
  85. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/exmo.py +0 -0
  86. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/fmfwio.py +0 -0
  87. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/gate.py +0 -0
  88. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/gateio.py +0 -0
  89. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/gemini.py +0 -0
  90. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/hitbtc.py +0 -0
  91. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/hitbtc3.py +0 -0
  92. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/hollaex.py +0 -0
  93. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/htx.py +0 -0
  94. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/huobi.py +0 -0
  95. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/huobijp.py +0 -0
  96. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/hyperliquid.py +0 -0
  97. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/idex.py +0 -0
  98. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/independentreserve.py +0 -0
  99. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/indodax.py +0 -0
  100. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/kraken.py +0 -0
  101. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/krakenfutures.py +0 -0
  102. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/kucoin.py +0 -0
  103. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/kucoinfutures.py +0 -0
  104. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/kuna.py +0 -0
  105. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/latoken.py +0 -0
  106. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/lbank.py +0 -0
  107. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/luno.py +0 -0
  108. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/lykke.py +0 -0
  109. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/mercado.py +0 -0
  110. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/mexc.py +0 -0
  111. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/ndax.py +0 -0
  112. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/novadax.py +0 -0
  113. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/oceanex.py +0 -0
  114. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/okcoin.py +0 -0
  115. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/okx.py +0 -0
  116. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/onetrading.py +0 -0
  117. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/p2b.py +0 -0
  118. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/paymium.py +0 -0
  119. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/phemex.py +0 -0
  120. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/poloniex.py +0 -0
  121. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/poloniexfutures.py +0 -0
  122. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/probit.py +0 -0
  123. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/timex.py +0 -0
  124. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/tokocrypto.py +0 -0
  125. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/tradeogre.py +0 -0
  126. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/upbit.py +0 -0
  127. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/wavesexchange.py +0 -0
  128. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/wazirx.py +0 -0
  129. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/whitebit.py +0 -0
  130. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/woo.py +0 -0
  131. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/yobit.py +0 -0
  132. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/zaif.py +0 -0
  133. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/abstract/zonda.py +0 -0
  134. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/ace.py +0 -0
  135. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/alpaca.py +0 -0
  136. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/ascendex.py +0 -0
  137. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/ace.py +0 -0
  138. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/alpaca.py +0 -0
  139. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/ascendex.py +0 -0
  140. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/base/__init__.py +0 -0
  141. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/base/throttler.py +0 -0
  142. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/base/ws/__init__.py +0 -0
  143. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  144. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/base/ws/cache.py +0 -0
  145. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/base/ws/client.py +0 -0
  146. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/base/ws/fast_client.py +0 -0
  147. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/base/ws/functions.py +0 -0
  148. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/base/ws/future.py +0 -0
  149. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/base/ws/order_book.py +0 -0
  150. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  151. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bequant.py +0 -0
  152. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bigone.py +0 -0
  153. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/binancecoinm.py +0 -0
  154. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/binanceus.py +0 -0
  155. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/binanceusdm.py +0 -0
  156. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bingx.py +0 -0
  157. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bit2c.py +0 -0
  158. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bitbank.py +0 -0
  159. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bitbay.py +0 -0
  160. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bitbns.py +0 -0
  161. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bitcoincom.py +0 -0
  162. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bitfinex.py +0 -0
  163. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bitfinex2.py +0 -0
  164. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bitflyer.py +0 -0
  165. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bithumb.py +0 -0
  166. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bitmart.py +0 -0
  167. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bitmex.py +0 -0
  168. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bitopro.py +0 -0
  169. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bitpanda.py +0 -0
  170. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bitrue.py +0 -0
  171. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bitso.py +0 -0
  172. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bitstamp.py +0 -0
  173. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bitteam.py +0 -0
  174. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bitvavo.py +0 -0
  175. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bl3p.py +0 -0
  176. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/blockchaincom.py +0 -0
  177. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/blofin.py +0 -0
  178. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/btcalpha.py +0 -0
  179. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/btcbox.py +0 -0
  180. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/btcmarkets.py +0 -0
  181. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/btcturk.py +0 -0
  182. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/bybit.py +0 -0
  183. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/cex.py +0 -0
  184. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/coinbase.py +0 -0
  185. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/coinbaseinternational.py +0 -0
  186. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/coinbasepro.py +0 -0
  187. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/coincheck.py +0 -0
  188. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/coinlist.py +0 -0
  189. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/coinmate.py +0 -0
  190. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/coinmetro.py +0 -0
  191. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/coinone.py +0 -0
  192. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/coinsph.py +0 -0
  193. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/coinspot.py +0 -0
  194. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/cryptocom.py +0 -0
  195. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/currencycom.py +0 -0
  196. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/delta.py +0 -0
  197. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/deribit.py +0 -0
  198. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/exmo.py +0 -0
  199. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/flowbtc.py +0 -0
  200. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/fmfwio.py +0 -0
  201. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/gate.py +0 -0
  202. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/gateio.py +0 -0
  203. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/gemini.py +0 -0
  204. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/hitbtc.py +0 -0
  205. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/hitbtc3.py +0 -0
  206. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/hollaex.py +0 -0
  207. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/htx.py +0 -0
  208. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/huobi.py +0 -0
  209. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/huobijp.py +0 -0
  210. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/hyperliquid.py +0 -0
  211. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/idex.py +0 -0
  212. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/independentreserve.py +0 -0
  213. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/indodax.py +0 -0
  214. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/kraken.py +0 -0
  215. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/krakenfutures.py +0 -0
  216. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/kucoin.py +0 -0
  217. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/kucoinfutures.py +0 -0
  218. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/kuna.py +0 -0
  219. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/latoken.py +0 -0
  220. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/lbank.py +0 -0
  221. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/luno.py +0 -0
  222. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/lykke.py +0 -0
  223. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/mercado.py +0 -0
  224. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/mexc.py +0 -0
  225. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/ndax.py +0 -0
  226. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/novadax.py +0 -0
  227. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/oceanex.py +0 -0
  228. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/okcoin.py +0 -0
  229. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/onetrading.py +0 -0
  230. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/p2b.py +0 -0
  231. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/paymium.py +0 -0
  232. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/phemex.py +0 -0
  233. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/poloniex.py +0 -0
  234. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/poloniexfutures.py +0 -0
  235. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/timex.py +0 -0
  236. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/tokocrypto.py +0 -0
  237. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/tradeogre.py +0 -0
  238. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/upbit.py +0 -0
  239. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/wavesexchange.py +0 -0
  240. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/wazirx.py +0 -0
  241. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/whitebit.py +0 -0
  242. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/yobit.py +0 -0
  243. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/zaif.py +0 -0
  244. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/async_support/zonda.py +0 -0
  245. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/base/__init__.py +0 -0
  246. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/base/decimal_to_precision.py +0 -0
  247. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/base/errors.py +0 -0
  248. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/base/precise.py +0 -0
  249. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bequant.py +0 -0
  250. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bigone.py +0 -0
  251. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/binancecoinm.py +0 -0
  252. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/binanceus.py +0 -0
  253. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/binanceusdm.py +0 -0
  254. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bingx.py +0 -0
  255. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bit2c.py +0 -0
  256. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bitbank.py +0 -0
  257. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bitbay.py +0 -0
  258. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bitbns.py +0 -0
  259. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bitcoincom.py +0 -0
  260. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bitfinex.py +0 -0
  261. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bitfinex2.py +0 -0
  262. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bitflyer.py +0 -0
  263. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bithumb.py +0 -0
  264. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bitmart.py +0 -0
  265. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bitmex.py +0 -0
  266. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bitopro.py +0 -0
  267. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bitpanda.py +0 -0
  268. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bitrue.py +0 -0
  269. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bitso.py +0 -0
  270. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bitstamp.py +0 -0
  271. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bitteam.py +0 -0
  272. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bitvavo.py +0 -0
  273. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bl3p.py +0 -0
  274. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/blockchaincom.py +0 -0
  275. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/blofin.py +0 -0
  276. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/btcalpha.py +0 -0
  277. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/btcbox.py +0 -0
  278. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/btcmarkets.py +0 -0
  279. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/btcturk.py +0 -0
  280. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/bybit.py +0 -0
  281. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/cex.py +0 -0
  282. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/coinbase.py +0 -0
  283. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/coinbaseinternational.py +0 -0
  284. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/coinbasepro.py +0 -0
  285. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/coincheck.py +0 -0
  286. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/coinlist.py +0 -0
  287. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/coinmate.py +0 -0
  288. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/coinmetro.py +0 -0
  289. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/coinone.py +0 -0
  290. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/coinsph.py +0 -0
  291. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/coinspot.py +0 -0
  292. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/cryptocom.py +0 -0
  293. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/currencycom.py +0 -0
  294. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/delta.py +0 -0
  295. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/deribit.py +0 -0
  296. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/exmo.py +0 -0
  297. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/flowbtc.py +0 -0
  298. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/fmfwio.py +0 -0
  299. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/gate.py +0 -0
  300. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/gateio.py +0 -0
  301. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/gemini.py +0 -0
  302. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/hitbtc.py +0 -0
  303. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/hitbtc3.py +0 -0
  304. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/hollaex.py +0 -0
  305. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/htx.py +0 -0
  306. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/huobi.py +0 -0
  307. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/huobijp.py +0 -0
  308. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/hyperliquid.py +0 -0
  309. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/idex.py +0 -0
  310. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/independentreserve.py +0 -0
  311. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/indodax.py +0 -0
  312. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/kraken.py +0 -0
  313. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/krakenfutures.py +0 -0
  314. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/kucoin.py +0 -0
  315. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/kucoinfutures.py +0 -0
  316. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/kuna.py +0 -0
  317. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/latoken.py +0 -0
  318. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/lbank.py +0 -0
  319. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/luno.py +0 -0
  320. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/lykke.py +0 -0
  321. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/mercado.py +0 -0
  322. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/mexc.py +0 -0
  323. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/ndax.py +0 -0
  324. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/novadax.py +0 -0
  325. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/oceanex.py +0 -0
  326. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/okcoin.py +0 -0
  327. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/onetrading.py +0 -0
  328. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/p2b.py +0 -0
  329. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/paymium.py +0 -0
  330. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/phemex.py +0 -0
  331. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/poloniex.py +0 -0
  332. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/poloniexfutures.py +0 -0
  333. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/alpaca.py +0 -0
  334. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/ascendex.py +0 -0
  335. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/bequant.py +0 -0
  336. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/binance.py +0 -0
  337. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/binancecoinm.py +0 -0
  338. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/binanceus.py +0 -0
  339. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/binanceusdm.py +0 -0
  340. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/bingx.py +0 -0
  341. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/bitcoincom.py +0 -0
  342. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/bitfinex.py +0 -0
  343. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/bitfinex2.py +0 -0
  344. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/bitget.py +0 -0
  345. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/bithumb.py +0 -0
  346. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/bitmart.py +0 -0
  347. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/bitmex.py +0 -0
  348. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/bitopro.py +0 -0
  349. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/bitpanda.py +0 -0
  350. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/bitrue.py +0 -0
  351. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/bitstamp.py +0 -0
  352. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/bitvavo.py +0 -0
  353. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/blockchaincom.py +0 -0
  354. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/bybit.py +0 -0
  355. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/cex.py +0 -0
  356. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/coinbase.py +0 -0
  357. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/coinbaseinternational.py +0 -0
  358. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/coinbasepro.py +0 -0
  359. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/coincheck.py +0 -0
  360. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/coinex.py +0 -0
  361. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/coinone.py +0 -0
  362. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/cryptocom.py +0 -0
  363. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/currencycom.py +0 -0
  364. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/deribit.py +0 -0
  365. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/exmo.py +0 -0
  366. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/gate.py +0 -0
  367. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/gateio.py +0 -0
  368. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/gemini.py +0 -0
  369. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/hitbtc.py +0 -0
  370. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/hollaex.py +0 -0
  371. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/htx.py +0 -0
  372. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/huobi.py +0 -0
  373. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/huobijp.py +0 -0
  374. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/hyperliquid.py +0 -0
  375. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/idex.py +0 -0
  376. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/independentreserve.py +0 -0
  377. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/kucoinfutures.py +0 -0
  378. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/lbank.py +0 -0
  379. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/luno.py +0 -0
  380. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/mexc.py +0 -0
  381. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/ndax.py +0 -0
  382. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/okcoin.py +0 -0
  383. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/okx.py +0 -0
  384. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/onetrading.py +0 -0
  385. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/p2b.py +0 -0
  386. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/phemex.py +0 -0
  387. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/poloniex.py +0 -0
  388. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/poloniexfutures.py +0 -0
  389. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/probit.py +0 -0
  390. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/upbit.py +0 -0
  391. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/wazirx.py +0 -0
  392. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/whitebit.py +0 -0
  393. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/pro/woo.py +0 -0
  394. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/__init__.py +0 -0
  395. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  396. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  397. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  398. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  399. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  400. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  401. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  402. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  403. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  404. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  405. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  406. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  407. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  408. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  409. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  410. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  411. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  412. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  413. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  414. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  415. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  416. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  417. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  418. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  419. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  420. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  421. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  422. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  423. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  424. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  425. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  426. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  427. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  428. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  429. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  430. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  431. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  432. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  433. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  434. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  435. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  436. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  437. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  438. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  439. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  440. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  441. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  442. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  443. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  444. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  445. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  446. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  447. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  448. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  449. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  450. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  451. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  452. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  453. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  454. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  455. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  456. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  457. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  458. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  459. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  460. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  461. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  462. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  463. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  464. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  465. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  466. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  467. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  468. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  469. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  470. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  471. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  472. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  473. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  474. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  475. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  476. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  477. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  478. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  479. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  480. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  481. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/toolz/_version.py +0 -0
  482. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  483. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  484. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  485. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  486. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  487. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  488. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  489. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  490. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/static_dependencies/toolz/utils.py +0 -0
  491. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/__init__.py +0 -0
  492. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/__init__.py +0 -0
  493. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_account.py +0 -0
  494. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_balance.py +0 -0
  495. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_borrow_interest.py +0 -0
  496. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_borrow_rate.py +0 -0
  497. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_calculate_fee.py +0 -0
  498. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_crypto.py +0 -0
  499. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_currency.py +0 -0
  500. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_datetime.py +0 -0
  501. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_decimal_to_precision.py +0 -0
  502. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_deep_extend.py +0 -0
  503. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
  504. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
  505. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_funding_rate_history.py +0 -0
  506. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_last_price.py +0 -0
  507. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_ledger_entry.py +0 -0
  508. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_ledger_item.py +0 -0
  509. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_leverage_tier.py +0 -0
  510. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_margin_mode.py +0 -0
  511. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_margin_modification.py +0 -0
  512. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_market.py +0 -0
  513. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_number.py +0 -0
  514. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_ohlcv.py +0 -0
  515. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_open_interest.py +0 -0
  516. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_order.py +0 -0
  517. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_order_book.py +0 -0
  518. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_position.py +0 -0
  519. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_shared_methods.py +0 -0
  520. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_status.py +0 -0
  521. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_throttle.py +0 -0
  522. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_ticker.py +0 -0
  523. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_trade.py +0 -0
  524. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_trading_fee.py +0 -0
  525. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/base/test_transaction.py +0 -0
  526. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/test_async.py +0 -0
  527. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/test/test_sync.py +0 -0
  528. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/timex.py +0 -0
  529. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/tokocrypto.py +0 -0
  530. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/tradeogre.py +0 -0
  531. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/upbit.py +0 -0
  532. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/wavesexchange.py +0 -0
  533. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/wazirx.py +0 -0
  534. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/whitebit.py +0 -0
  535. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/yobit.py +0 -0
  536. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/zaif.py +0 -0
  537. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt/zonda.py +0 -0
  538. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt.egg-info/SOURCES.txt +0 -0
  539. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt.egg-info/dependency_links.txt +0 -0
  540. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt.egg-info/requires.txt +0 -0
  541. {ccxt-4.2.92 → ccxt-4.2.94}/ccxt.egg-info/top_level.txt +0 -0
  542. {ccxt-4.2.92 → ccxt-4.2.94}/setup.cfg +0 -0
  543. {ccxt-4.2.92 → ccxt-4.2.94}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.2.92
3
+ Version: 4.2.94
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
@@ -225,13 +225,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
225
225
 
226
226
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
227
227
 
228
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.92/dist/ccxt.browser.js
229
- * unpkg: https://unpkg.com/ccxt@4.2.92/dist/ccxt.browser.js
228
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.94/dist/ccxt.browser.js
229
+ * unpkg: https://unpkg.com/ccxt@4.2.94/dist/ccxt.browser.js
230
230
 
231
231
  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.
232
232
 
233
233
  ```HTML
234
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.92/dist/ccxt.browser.js"></script>
234
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.94/dist/ccxt.browser.js"></script>
235
235
  ```
236
236
 
237
237
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.2.92'
25
+ __version__ = '4.2.94'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -608,6 +608,7 @@ class ImplicitAPI:
608
608
  private_get_myallocations = privateGetMyAllocations = Entry('myAllocations', 'private', 'GET', {'cost': 4})
609
609
  private_get_account_commission = privateGetAccountCommission = Entry('account/commission', 'private', 'GET', {'cost': 4})
610
610
  private_post_order_oco = privatePostOrderOco = Entry('order/oco', 'private', 'POST', {'cost': 0.2})
611
+ private_post_orderlist_oco = privatePostOrderListOco = Entry('orderList/oco', 'private', 'POST', {'cost': 0.2})
611
612
  private_post_sor_order = privatePostSorOrder = Entry('sor/order', 'private', 'POST', {'cost': 0.2})
612
613
  private_post_sor_order_test = privatePostSorOrderTest = Entry('sor/order/test', 'private', 'POST', {'cost': 0.2})
613
614
  private_post_order = privatePostOrder = Entry('order', 'private', 'POST', {'cost': 0.2})
@@ -608,6 +608,7 @@ class ImplicitAPI:
608
608
  private_get_myallocations = privateGetMyAllocations = Entry('myAllocations', 'private', 'GET', {'cost': 4})
609
609
  private_get_account_commission = privateGetAccountCommission = Entry('account/commission', 'private', 'GET', {'cost': 4})
610
610
  private_post_order_oco = privatePostOrderOco = Entry('order/oco', 'private', 'POST', {'cost': 0.2})
611
+ private_post_orderlist_oco = privatePostOrderListOco = Entry('orderList/oco', 'private', 'POST', {'cost': 0.2})
611
612
  private_post_sor_order = privatePostSorOrder = Entry('sor/order', 'private', 'POST', {'cost': 0.2})
612
613
  private_post_sor_order_test = privatePostSorOrderTest = Entry('sor/order/test', 'private', 'POST', {'cost': 0.2})
613
614
  private_post_order = privatePostOrder = Entry('order', 'private', 'POST', {'cost': 0.2})
@@ -660,6 +660,7 @@ class ImplicitAPI:
660
660
  private_get_myallocations = privateGetMyAllocations = Entry('myAllocations', 'private', 'GET', {'cost': 4})
661
661
  private_get_account_commission = privateGetAccountCommission = Entry('account/commission', 'private', 'GET', {'cost': 4})
662
662
  private_post_order_oco = privatePostOrderOco = Entry('order/oco', 'private', 'POST', {'cost': 0.2})
663
+ private_post_orderlist_oco = privatePostOrderListOco = Entry('orderList/oco', 'private', 'POST', {'cost': 0.2})
663
664
  private_post_sor_order = privatePostSorOrder = Entry('sor/order', 'private', 'POST', {'cost': 0.2})
664
665
  private_post_sor_order_test = privatePostSorOrderTest = Entry('sor/order/test', 'private', 'POST', {'cost': 0.2})
665
666
  private_post_order = privatePostOrder = Entry('order', 'private', 'POST', {'cost': 0.2})
@@ -608,6 +608,7 @@ class ImplicitAPI:
608
608
  private_get_myallocations = privateGetMyAllocations = Entry('myAllocations', 'private', 'GET', {'cost': 4})
609
609
  private_get_account_commission = privateGetAccountCommission = Entry('account/commission', 'private', 'GET', {'cost': 4})
610
610
  private_post_order_oco = privatePostOrderOco = Entry('order/oco', 'private', 'POST', {'cost': 0.2})
611
+ private_post_orderlist_oco = privatePostOrderListOco = Entry('orderList/oco', 'private', 'POST', {'cost': 0.2})
611
612
  private_post_sor_order = privatePostSorOrder = Entry('sor/order', 'private', 'POST', {'cost': 0.2})
612
613
  private_post_sor_order_test = privatePostSorOrderTest = Entry('sor/order/test', 'private', 'POST', {'cost': 0.2})
613
614
  private_post_order = privatePostOrder = Entry('order', 'private', 'POST', {'cost': 0.2})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.2.92'
7
+ __version__ = '4.2.94'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.2.92'
5
+ __version__ = '4.2.94'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -1281,6 +1281,9 @@ class Exchange(BaseExchange):
1281
1281
  async def fetch_option(self, symbol: str, params={}):
1282
1282
  raise NotSupported(self.id + ' fetchOption() is not supported yet')
1283
1283
 
1284
+ async def fetch_convert_quote(self, fromCode: str, toCode: str, amount: Num = None, params={}):
1285
+ raise NotSupported(self.id + ' fetchConvertQuote() is not supported yet')
1286
+
1284
1287
  async def fetch_deposits_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
1285
1288
  """
1286
1289
  fetch history of deposits and withdrawals
@@ -1421,6 +1424,9 @@ class Exchange(BaseExchange):
1421
1424
  fees = await self.fetch_trading_fees(params)
1422
1425
  return self.safe_dict(fees, symbol)
1423
1426
 
1427
+ async def fetch_convert_currencies(self, params={}):
1428
+ raise NotSupported(self.id + ' fetchConvertCurrencies() is not supported yet')
1429
+
1424
1430
  async def fetch_funding_rate(self, symbol: str, params={}):
1425
1431
  if self.has['fetchFundingRates']:
1426
1432
  await self.load_markets()
@@ -94,6 +94,8 @@ class binance(Exchange, ImplicitAPI):
94
94
  'fetchCanceledOrders': 'emulated',
95
95
  'fetchClosedOrder': False,
96
96
  'fetchClosedOrders': 'emulated',
97
+ 'fetchConvertCurrencies': True,
98
+ 'fetchConvertQuote': False,
97
99
  'fetchCrossBorrowRate': True,
98
100
  'fetchCrossBorrowRates': False,
99
101
  'fetchCurrencies': True,
@@ -993,6 +995,7 @@ class binance(Exchange, ImplicitAPI):
993
995
  },
994
996
  'post': {
995
997
  'order/oco': 0.2,
998
+ 'orderList/oco': 0.2,
996
999
  'sor/order': 0.2,
997
1000
  'sor/order/test': 0.2,
998
1001
  'order': 0.2,
@@ -4109,10 +4112,13 @@ class binance(Exchange, ImplicitAPI):
4109
4112
  'interval': self.safe_string(self.timeframes, timeframe, timeframe),
4110
4113
  'limit': limit,
4111
4114
  }
4115
+ marketId = market['id']
4112
4116
  if price == 'index':
4113
- request['pair'] = market['id'] # Index price takes self argument instead of symbol
4117
+ parts = marketId.split('_')
4118
+ pair = self.safe_string(parts, 0)
4119
+ request['pair'] = pair # Index price takes self argument instead of symbol
4114
4120
  else:
4115
- request['symbol'] = market['id']
4121
+ request['symbol'] = marketId
4116
4122
  # duration = self.parse_timeframe(timeframe)
4117
4123
  if since is not None:
4118
4124
  request['startTime'] = since
@@ -11578,3 +11584,55 @@ class binance(Exchange, ImplicitAPI):
11578
11584
  #
11579
11585
  modifications = self.parse_margin_modifications(response)
11580
11586
  return self.filter_by_symbol_since_limit(modifications, symbol, since, limit)
11587
+
11588
+ async def fetch_convert_currencies(self, params={}) -> Currencies:
11589
+ """
11590
+ fetches all available currencies that can be converted
11591
+ :see: https://binance-docs.github.io/apidocs/spot/en/#query-order-quantity-precision-per-asset-user_data
11592
+ :param dict [params]: extra parameters specific to the exchange API endpoint
11593
+ :returns dict: an associative dictionary of currencies
11594
+ """
11595
+ await self.load_markets()
11596
+ response = await self.sapiGetConvertAssetInfo(params)
11597
+ #
11598
+ # [
11599
+ # {
11600
+ # "asset": "BTC",
11601
+ # "fraction": 8
11602
+ # },
11603
+ # ]
11604
+ #
11605
+ result = {}
11606
+ for i in range(0, len(response)):
11607
+ entry = response[i]
11608
+ id = self.safe_string(entry, 'asset')
11609
+ code = self.safe_currency_code(id)
11610
+ result[code] = {
11611
+ 'info': entry,
11612
+ 'id': id,
11613
+ 'code': code,
11614
+ 'networks': None,
11615
+ 'type': None,
11616
+ 'name': None,
11617
+ 'active': None,
11618
+ 'deposit': None,
11619
+ 'withdraw': None,
11620
+ 'fee': None,
11621
+ 'precision': self.safe_integer(entry, 'fraction'),
11622
+ 'limits': {
11623
+ 'amount': {
11624
+ 'min': None,
11625
+ 'max': None,
11626
+ },
11627
+ 'withdraw': {
11628
+ 'min': None,
11629
+ 'max': None,
11630
+ },
11631
+ 'deposit': {
11632
+ 'min': None,
11633
+ 'max': None,
11634
+ },
11635
+ },
11636
+ 'created': None,
11637
+ }
11638
+ return result
@@ -8,7 +8,7 @@ from ccxt.abstract.bitget import ImplicitAPI
8
8
  import asyncio
9
9
  import hashlib
10
10
  import json
11
- from ccxt.base.types import Balances, Currencies, Currency, FundingHistory, Int, Liquidation, Leverage, MarginMode, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Position, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
11
+ from ccxt.base.types import Balances, Conversion, Currencies, Currency, FundingHistory, Int, Liquidation, Leverage, MarginMode, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Position, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
12
12
  from typing import List
13
13
  from ccxt.base.errors import ExchangeError
14
14
  from ccxt.base.errors import PermissionDenied
@@ -85,6 +85,8 @@ class bitget(Exchange, ImplicitAPI):
85
85
  'fetchCanceledAndClosedOrders': True,
86
86
  'fetchCanceledOrders': True,
87
87
  'fetchClosedOrders': True,
88
+ 'fetchConvertCurrencies': True,
89
+ 'fetchConvertQuote': True,
88
90
  'fetchCrossBorrowRate': True,
89
91
  'fetchCrossBorrowRates': False,
90
92
  'fetchCurrencies': True,
@@ -7853,6 +7855,138 @@ class bitget(Exchange, ImplicitAPI):
7853
7855
  'marginMode': marginType,
7854
7856
  }
7855
7857
 
7858
+ async def fetch_convert_quote(self, fromCode: str, toCode: str, amount: Num = None, params={}) -> Conversion:
7859
+ """
7860
+ fetch a quote for converting from one currency to another
7861
+ :see: https://www.bitget.com/api-doc/common/convert/Get-Quoted-Price
7862
+ :param str fromCode: the currency that you want to sell and convert from
7863
+ :param str toCode: the currency that you want to buy and convert into
7864
+ :param float [amount]: how much you want to trade in units of the from currency
7865
+ :param dict [params]: extra parameters specific to the exchange API endpoint
7866
+ :returns dict: a `conversion structure <https://docs.ccxt.com/#/?id=conversion-structure>`
7867
+ """
7868
+ await self.load_markets()
7869
+ request = {
7870
+ 'fromCoin': fromCode.upper(),
7871
+ 'toCoin': toCode.upper(),
7872
+ 'fromCoinSize': self.number_to_string(amount),
7873
+ }
7874
+ response = await self.privateConvertGetV2ConvertQuotedPrice(self.extend(request, params))
7875
+ #
7876
+ # {
7877
+ # "code": "00000",
7878
+ # "msg": "success",
7879
+ # "requestTime": 1712121940158,
7880
+ # "data": {
7881
+ # "fromCoin": "USDT",
7882
+ # "fromCoinSize": "5",
7883
+ # "cnvtPrice": "0.9993007892377704",
7884
+ # "toCoin": "USDC",
7885
+ # "toCoinSize": "4.99650394",
7886
+ # "traceId": "1159288930228187140",
7887
+ # "fee": "0"
7888
+ # }
7889
+ # }
7890
+ #
7891
+ data = self.safe_dict(response, 'data', {})
7892
+ fromCurrencyId = self.safe_string(data, 'fromCoin', fromCode)
7893
+ fromCurrency = self.currency(fromCurrencyId)
7894
+ toCurrencyId = self.safe_string(data, 'toCoin', toCode)
7895
+ toCurrency = self.currency(toCurrencyId)
7896
+ return self.parse_conversion(data, fromCurrency, toCurrency)
7897
+
7898
+ def parse_conversion(self, conversion, fromCurrency: Currency = None, toCurrency: Currency = None) -> Conversion:
7899
+ #
7900
+ # fetchConvertQuote
7901
+ #
7902
+ # {
7903
+ # "fromCoin": "USDT",
7904
+ # "fromCoinSize": "5",
7905
+ # "cnvtPrice": "0.9993007892377704",
7906
+ # "toCoin": "USDC",
7907
+ # "toCoinSize": "4.99650394",
7908
+ # "traceId": "1159288930228187140",
7909
+ # "fee": "0"
7910
+ # }
7911
+ #
7912
+ timestamp = self.safe_integer(conversion, 'ts')
7913
+ fromCoin = self.safe_string(conversion, 'fromCoin')
7914
+ fromCode = self.safe_currency_code(fromCoin, fromCurrency)
7915
+ to = self.safe_string(conversion, 'toCoin')
7916
+ toCode = self.safe_currency_code(to, toCurrency)
7917
+ return {
7918
+ 'info': conversion,
7919
+ 'timestamp': timestamp,
7920
+ 'datetime': self.iso8601(timestamp),
7921
+ 'id': self.safe_string(conversion, 'traceId'),
7922
+ 'fromCurrency': fromCode,
7923
+ 'fromAmount': self.safe_number(conversion, 'fromCoinSize'),
7924
+ 'toCurrency': toCode,
7925
+ 'toAmount': self.safe_number(conversion, 'toCoinSize'),
7926
+ 'price': self.safe_number(conversion, 'cnvtPrice'),
7927
+ 'fee': self.safe_number(conversion, 'fee'),
7928
+ }
7929
+
7930
+ async def fetch_convert_currencies(self, params={}) -> Currencies:
7931
+ """
7932
+ fetches all available currencies that can be converted
7933
+ :see: https://www.bitget.com/api-doc/common/convert/Get-Convert-Currencies
7934
+ :param dict [params]: extra parameters specific to the exchange API endpoint
7935
+ :returns dict: an associative dictionary of currencies
7936
+ """
7937
+ await self.load_markets()
7938
+ response = await self.privateConvertGetV2ConvertCurrencies(params)
7939
+ #
7940
+ # {
7941
+ # "code": "00000",
7942
+ # "msg": "success",
7943
+ # "requestTime": 1712121755897,
7944
+ # "data": [
7945
+ # {
7946
+ # "coin": "BTC",
7947
+ # "available": "0.00009850",
7948
+ # "maxAmount": "0.756266",
7949
+ # "minAmount": "0.00001"
7950
+ # },
7951
+ # ]
7952
+ # }
7953
+ #
7954
+ result = {}
7955
+ data = self.safe_list(response, 'data', [])
7956
+ for i in range(0, len(data)):
7957
+ entry = data[i]
7958
+ id = self.safe_string(entry, 'coin')
7959
+ code = self.safe_currency_code(id)
7960
+ result[code] = {
7961
+ 'info': entry,
7962
+ 'id': id,
7963
+ 'code': code,
7964
+ 'networks': None,
7965
+ 'type': None,
7966
+ 'name': None,
7967
+ 'active': None,
7968
+ 'deposit': None,
7969
+ 'withdraw': self.safe_number(entry, 'available'),
7970
+ 'fee': None,
7971
+ 'precision': None,
7972
+ 'limits': {
7973
+ 'amount': {
7974
+ 'min': self.safe_number(entry, 'minAmount'),
7975
+ 'max': self.safe_number(entry, 'maxAmount'),
7976
+ },
7977
+ 'withdraw': {
7978
+ 'min': None,
7979
+ 'max': None,
7980
+ },
7981
+ 'deposit': {
7982
+ 'min': None,
7983
+ 'max': None,
7984
+ },
7985
+ },
7986
+ 'created': None,
7987
+ }
7988
+ return result
7989
+
7856
7990
  def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
7857
7991
  if not response:
7858
7992
  return None # fallback to default error handler
@@ -3857,33 +3857,6 @@ class coinex(Exchange, ImplicitAPI):
3857
3857
  data = self.safe_value(response, 'data', {})
3858
3858
  return self.parse_leverage_tiers(data, symbols, None)
3859
3859
 
3860
- def parse_leverage_tiers(self, response, symbols: Strings = None, marketIdKey=None):
3861
- #
3862
- # {
3863
- # "BTCUSD": [
3864
- # ["500001", "100", "0.005"],
3865
- # ["1000001", "50", "0.01"],
3866
- # ["2000001", "30", "0.015"],
3867
- # ["5000001", "20", "0.02"],
3868
- # ["10000001", "15", "0.025"],
3869
- # ["20000001", "10", "0.03"]
3870
- # ],
3871
- # ...
3872
- # }
3873
- #
3874
- tiers = {}
3875
- marketIds = list(response.keys())
3876
- for i in range(0, len(marketIds)):
3877
- marketId = marketIds[i]
3878
- market = self.safe_market(marketId, None, None, 'spot')
3879
- symbol = self.safe_string(market, 'symbol')
3880
- symbolsLength = 0
3881
- if symbols is not None:
3882
- symbolsLength = len(symbols)
3883
- if symbol is not None and (symbolsLength == 0 or self.in_array(symbols, symbol)):
3884
- tiers[symbol] = self.parse_market_leverage_tiers(response[marketId], market)
3885
- return tiers
3886
-
3887
3860
  def parse_market_leverage_tiers(self, item, market: Market = None):
3888
3861
  tiers = []
3889
3862
  minNotional = 0
@@ -3519,51 +3519,7 @@ class digifinex(Exchange, ImplicitAPI):
3519
3519
  #
3520
3520
  data = self.safe_value(response, 'data', [])
3521
3521
  symbols = self.market_symbols(symbols)
3522
- return self.parse_leverage_tiers(data, symbols, 'symbol')
3523
-
3524
- def parse_leverage_tiers(self, response, symbols: Strings = None, marketIdKey=None):
3525
- #
3526
- # [
3527
- # {
3528
- # "instrument_id": "BTCUSDTPERP",
3529
- # "type": "REAL",
3530
- # "contract_type": "PERPETUAL",
3531
- # "base_currency": "BTC",
3532
- # "quote_currency": "USDT",
3533
- # "clear_currency": "USDT",
3534
- # "contract_value": "0.001",
3535
- # "contract_value_currency": "BTC",
3536
- # "is_inverse": False,
3537
- # "is_trading": True,
3538
- # "status": "ONLINE",
3539
- # "price_precision": 1,
3540
- # "tick_size": "0.1",
3541
- # "min_order_amount": 1,
3542
- # "open_max_limits": [
3543
- # {
3544
- # "leverage": "50",
3545
- # "max_limit": "1000000"
3546
- # }
3547
- # ]
3548
- # },
3549
- # ]
3550
- #
3551
- tiers = {}
3552
- result = {}
3553
- for i in range(0, len(response)):
3554
- entry = response[i]
3555
- marketId = self.safe_string(entry, 'instrument_id')
3556
- market = self.safe_market(marketId)
3557
- symbol = self.safe_symbol(marketId, market)
3558
- symbolsLength = 0
3559
- tiers[symbol] = self.parse_market_leverage_tiers(response[i], market)
3560
- if symbols is not None:
3561
- symbolsLength = len(symbols)
3562
- if self.in_array(symbol, symbols):
3563
- result[symbol] = self.parse_market_leverage_tiers(response[i], market)
3564
- if symbol is not None and (symbolsLength == 0 or self.in_array(symbols, symbol)):
3565
- result[symbol] = self.parse_market_leverage_tiers(response[i], market)
3566
- return result
3522
+ return self.parse_leverage_tiers(data, symbols, 'instrument_id')
3567
3523
 
3568
3524
  async def fetch_market_leverage_tiers(self, symbol: str, params={}):
3569
3525
  """
@@ -7,7 +7,7 @@ from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.okx import ImplicitAPI
8
8
  import asyncio
9
9
  import hashlib
10
- from ccxt.base.types import Account, Balances, Currencies, Currency, Greeks, Int, Leverage, MarginModification, Market, MarketInterface, Num, Option, OptionChain, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, Transaction, TransferEntry
10
+ from ccxt.base.types import Account, Balances, Conversion, Currencies, Currency, Greeks, Int, Leverage, MarginModification, Market, MarketInterface, Num, Option, OptionChain, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, Transaction, TransferEntry
11
11
  from typing import List
12
12
  from ccxt.base.errors import ExchangeError
13
13
  from ccxt.base.errors import PermissionDenied
@@ -83,6 +83,8 @@ class okx(Exchange, ImplicitAPI):
83
83
  'fetchCanceledOrders': True,
84
84
  'fetchClosedOrder': None,
85
85
  'fetchClosedOrders': True,
86
+ 'fetchConvertCurrencies': True,
87
+ 'fetchConvertQuote': True,
86
88
  'fetchCrossBorrowRate': True,
87
89
  'fetchCrossBorrowRates': True,
88
90
  'fetchCurrencies': True,
@@ -7098,6 +7100,152 @@ class okx(Exchange, ImplicitAPI):
7098
7100
  'quoteVolume': None,
7099
7101
  }
7100
7102
 
7103
+ async def fetch_convert_quote(self, fromCode: str, toCode: str, amount: Num = None, params={}) -> Conversion:
7104
+ """
7105
+ fetch a quote for converting from one currency to another
7106
+ :see: https://www.okx.com/docs-v5/en/#funding-account-rest-api-estimate-quote
7107
+ :param str fromCode: the currency that you want to sell and convert from
7108
+ :param str toCode: the currency that you want to buy and convert into
7109
+ :param float [amount]: how much you want to trade in units of the from currency
7110
+ :param dict [params]: extra parameters specific to the exchange API endpoint
7111
+ :returns dict: a `conversion structure <https://docs.ccxt.com/#/?id=conversion-structure>`
7112
+ """
7113
+ await self.load_markets()
7114
+ request = {
7115
+ 'baseCcy': fromCode.upper(),
7116
+ 'quoteCcy': toCode.upper(),
7117
+ 'rfqSzCcy': fromCode.upper(),
7118
+ 'rfqSz': self.number_to_string(amount),
7119
+ 'side': 'sell',
7120
+ }
7121
+ response = await self.privatePostAssetConvertEstimateQuote(self.extend(request, params))
7122
+ #
7123
+ # {
7124
+ # "code": "0",
7125
+ # "data": [
7126
+ # {
7127
+ # "baseCcy": "ETH",
7128
+ # "baseSz": "0.01023052",
7129
+ # "clQReqId": "",
7130
+ # "cnvtPx": "2932.40104429",
7131
+ # "origRfqSz": "30",
7132
+ # "quoteCcy": "USDT",
7133
+ # "quoteId": "quoterETH-USDT16461885104612381",
7134
+ # "quoteSz": "30",
7135
+ # "quoteTime": "1646188510461",
7136
+ # "rfqSz": "30",
7137
+ # "rfqSzCcy": "USDT",
7138
+ # "side": "buy",
7139
+ # "ttlMs": "10000"
7140
+ # }
7141
+ # ],
7142
+ # "msg": ""
7143
+ # }
7144
+ #
7145
+ data = self.safe_list(response, 'data', [])
7146
+ result = self.safe_dict(data, 0, {})
7147
+ fromCurrencyId = self.safe_string(result, 'baseCcy', fromCode)
7148
+ fromCurrency = self.currency(fromCurrencyId)
7149
+ toCurrencyId = self.safe_string(result, 'quoteCcy', toCode)
7150
+ toCurrency = self.currency(toCurrencyId)
7151
+ return self.parse_conversion(result, fromCurrency, toCurrency)
7152
+
7153
+ def parse_conversion(self, conversion, fromCurrency: Currency = None, toCurrency: Currency = None) -> Conversion:
7154
+ #
7155
+ # fetchConvertQuote
7156
+ #
7157
+ # {
7158
+ # "baseCcy": "ETH",
7159
+ # "baseSz": "0.01023052",
7160
+ # "clQReqId": "",
7161
+ # "cnvtPx": "2932.40104429",
7162
+ # "origRfqSz": "30",
7163
+ # "quoteCcy": "USDT",
7164
+ # "quoteId": "quoterETH-USDT16461885104612381",
7165
+ # "quoteSz": "30",
7166
+ # "quoteTime": "1646188510461",
7167
+ # "rfqSz": "30",
7168
+ # "rfqSzCcy": "USDT",
7169
+ # "side": "buy",
7170
+ # "ttlMs": "10000"
7171
+ # }
7172
+ #
7173
+ timestamp = self.safe_integer(conversion, 'quoteTime')
7174
+ fromCoin = self.safe_string(conversion, 'baseCcy')
7175
+ fromCode = self.safe_currency_code(fromCoin, fromCurrency)
7176
+ to = self.safe_string(conversion, 'quoteCcy')
7177
+ toCode = self.safe_currency_code(to, toCurrency)
7178
+ return {
7179
+ 'info': conversion,
7180
+ 'timestamp': timestamp,
7181
+ 'datetime': self.iso8601(timestamp),
7182
+ 'id': self.safe_string(conversion, 'clQReqId'),
7183
+ 'fromCurrency': fromCode,
7184
+ 'fromAmount': self.safe_number(conversion, 'baseSz'),
7185
+ 'toCurrency': toCode,
7186
+ 'toAmount': self.safe_number(conversion, 'quoteSz'),
7187
+ 'price': self.safe_number(conversion, 'cnvtPx'),
7188
+ 'fee': None,
7189
+ }
7190
+
7191
+ async def fetch_convert_currencies(self, params={}) -> Currencies:
7192
+ """
7193
+ fetches all available currencies that can be converted
7194
+ :see: https://www.okx.com/docs-v5/en/#funding-account-rest-api-get-convert-currencies
7195
+ :param dict [params]: extra parameters specific to the exchange API endpoint
7196
+ :returns dict: an associative dictionary of currencies
7197
+ """
7198
+ await self.load_markets()
7199
+ response = await self.privateGetAssetConvertCurrencies(params)
7200
+ #
7201
+ # {
7202
+ # "code": "0",
7203
+ # "data": [
7204
+ # {
7205
+ # "ccy": "BTC",
7206
+ # "max": "",
7207
+ # "min": ""
7208
+ # },
7209
+ # ],
7210
+ # "msg": ""
7211
+ # }
7212
+ #
7213
+ result = {}
7214
+ data = self.safe_list(response, 'data', [])
7215
+ for i in range(0, len(data)):
7216
+ entry = data[i]
7217
+ id = self.safe_string(entry, 'ccy')
7218
+ code = self.safe_currency_code(id)
7219
+ result[code] = {
7220
+ 'info': entry,
7221
+ 'id': id,
7222
+ 'code': code,
7223
+ 'networks': None,
7224
+ 'type': None,
7225
+ 'name': None,
7226
+ 'active': None,
7227
+ 'deposit': None,
7228
+ 'withdraw': None,
7229
+ 'fee': None,
7230
+ 'precision': None,
7231
+ 'limits': {
7232
+ 'amount': {
7233
+ 'min': self.safe_number(entry, 'min'),
7234
+ 'max': self.safe_number(entry, 'max'),
7235
+ },
7236
+ 'withdraw': {
7237
+ 'min': None,
7238
+ 'max': None,
7239
+ },
7240
+ 'deposit': {
7241
+ 'min': None,
7242
+ 'max': None,
7243
+ },
7244
+ },
7245
+ 'created': None,
7246
+ }
7247
+ return result
7248
+
7101
7249
  def handle_errors(self, httpCode, reason, url, method, headers, body, response, requestHeaders, requestBody):
7102
7250
  if not response:
7103
7251
  return None # fallback to default error handler
@@ -1404,10 +1404,9 @@ class probit(Exchange, ImplicitAPI):
1404
1404
  result = await self.fetch_transactions(code, since, limit, self.extend(request, params))
1405
1405
  return result
1406
1406
 
1407
- async def fetch_transactions(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
1407
+ async def fetch_deposits_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
1408
1408
  """
1409
- * @deprecated
1410
- use fetchDepositsWithdrawals instead
1409
+ fetch history of deposits and withdrawals
1411
1410
  :see: https://docs-en.probit.com/reference/transferpayment
1412
1411
  :param str code: unified currency code
1413
1412
  :param int [since]: the earliest time in ms to fetch transactions for