ccxt 4.2.69__tar.gz → 4.2.70__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 (534) hide show
  1. {ccxt-4.2.69/ccxt.egg-info → ccxt-4.2.70}/PKG-INFO +4 -4
  2. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/__init__.py +1 -1
  3. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/__init__.py +1 -1
  4. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/base/exchange.py +1 -1
  5. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/gate.py +163 -2
  6. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/base/exchange.py +1 -1
  7. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/gate.py +163 -2
  8. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/__init__.py +1 -1
  9. {ccxt-4.2.69 → ccxt-4.2.70/ccxt.egg-info}/PKG-INFO +4 -4
  10. {ccxt-4.2.69 → ccxt-4.2.70}/package.json +1 -1
  11. {ccxt-4.2.69 → ccxt-4.2.70}/LICENSE.txt +0 -0
  12. {ccxt-4.2.69 → ccxt-4.2.70}/MANIFEST.in +0 -0
  13. {ccxt-4.2.69 → ccxt-4.2.70}/README.rst +0 -0
  14. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/__init__.py +0 -0
  15. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/ace.py +0 -0
  16. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/alpaca.py +0 -0
  17. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/ascendex.py +0 -0
  18. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bequant.py +0 -0
  19. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bigone.py +0 -0
  20. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/binance.py +0 -0
  21. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/binancecoinm.py +0 -0
  22. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/binanceus.py +0 -0
  23. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/binanceusdm.py +0 -0
  24. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bingx.py +0 -0
  25. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bit2c.py +0 -0
  26. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bitbank.py +0 -0
  27. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bitbay.py +0 -0
  28. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bitbns.py +0 -0
  29. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bitcoincom.py +0 -0
  30. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bitfinex.py +0 -0
  31. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bitfinex2.py +0 -0
  32. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bitflyer.py +0 -0
  33. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bitget.py +0 -0
  34. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bithumb.py +0 -0
  35. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bitmart.py +0 -0
  36. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bitmex.py +0 -0
  37. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bitopro.py +0 -0
  38. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bitpanda.py +0 -0
  39. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bitrue.py +0 -0
  40. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bitso.py +0 -0
  41. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bitstamp.py +0 -0
  42. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bitteam.py +0 -0
  43. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bitvavo.py +0 -0
  44. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bl3p.py +0 -0
  45. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/blockchaincom.py +0 -0
  46. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/blofin.py +0 -0
  47. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/btcalpha.py +0 -0
  48. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/btcbox.py +0 -0
  49. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/btcmarkets.py +0 -0
  50. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/btcturk.py +0 -0
  51. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/bybit.py +0 -0
  52. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/cex.py +0 -0
  53. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/coinbase.py +0 -0
  54. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/coinbasepro.py +0 -0
  55. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/coincheck.py +0 -0
  56. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/coinex.py +0 -0
  57. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/coinlist.py +0 -0
  58. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/coinmate.py +0 -0
  59. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/coinmetro.py +0 -0
  60. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/coinone.py +0 -0
  61. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/coinsph.py +0 -0
  62. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/coinspot.py +0 -0
  63. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/cryptocom.py +0 -0
  64. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/currencycom.py +0 -0
  65. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/delta.py +0 -0
  66. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/deribit.py +0 -0
  67. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/digifinex.py +0 -0
  68. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/exmo.py +0 -0
  69. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/fmfwio.py +0 -0
  70. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/gate.py +0 -0
  71. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/gateio.py +0 -0
  72. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/gemini.py +0 -0
  73. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/hitbtc.py +0 -0
  74. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/hitbtc3.py +0 -0
  75. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/hollaex.py +0 -0
  76. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/htx.py +0 -0
  77. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/huobi.py +0 -0
  78. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/huobijp.py +0 -0
  79. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/hyperliquid.py +0 -0
  80. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/idex.py +0 -0
  81. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/independentreserve.py +0 -0
  82. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/indodax.py +0 -0
  83. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/kraken.py +0 -0
  84. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/krakenfutures.py +0 -0
  85. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/kucoin.py +0 -0
  86. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/kucoinfutures.py +0 -0
  87. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/kuna.py +0 -0
  88. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/latoken.py +0 -0
  89. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/lbank.py +0 -0
  90. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/luno.py +0 -0
  91. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/lykke.py +0 -0
  92. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/mercado.py +0 -0
  93. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/mexc.py +0 -0
  94. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/ndax.py +0 -0
  95. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/novadax.py +0 -0
  96. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/oceanex.py +0 -0
  97. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/okcoin.py +0 -0
  98. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/okx.py +0 -0
  99. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/onetrading.py +0 -0
  100. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/p2b.py +0 -0
  101. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/paymium.py +0 -0
  102. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/phemex.py +0 -0
  103. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/poloniex.py +0 -0
  104. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/poloniexfutures.py +0 -0
  105. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/probit.py +0 -0
  106. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/timex.py +0 -0
  107. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/tokocrypto.py +0 -0
  108. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/upbit.py +0 -0
  109. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/wavesexchange.py +0 -0
  110. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/wazirx.py +0 -0
  111. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/whitebit.py +0 -0
  112. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/woo.py +0 -0
  113. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/yobit.py +0 -0
  114. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/zaif.py +0 -0
  115. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/abstract/zonda.py +0 -0
  116. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/ace.py +0 -0
  117. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/alpaca.py +0 -0
  118. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/ascendex.py +0 -0
  119. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/ace.py +0 -0
  120. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/alpaca.py +0 -0
  121. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/ascendex.py +0 -0
  122. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/base/__init__.py +0 -0
  123. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/base/throttler.py +0 -0
  124. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/base/ws/__init__.py +0 -0
  125. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  126. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/base/ws/cache.py +0 -0
  127. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/base/ws/client.py +0 -0
  128. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/base/ws/fast_client.py +0 -0
  129. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/base/ws/functions.py +0 -0
  130. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/base/ws/future.py +0 -0
  131. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/base/ws/order_book.py +0 -0
  132. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  133. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bequant.py +0 -0
  134. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bigone.py +0 -0
  135. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/binance.py +0 -0
  136. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/binancecoinm.py +0 -0
  137. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/binanceus.py +0 -0
  138. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/binanceusdm.py +0 -0
  139. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bingx.py +0 -0
  140. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bit2c.py +0 -0
  141. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bitbank.py +0 -0
  142. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bitbay.py +0 -0
  143. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bitbns.py +0 -0
  144. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bitcoincom.py +0 -0
  145. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bitfinex.py +0 -0
  146. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bitfinex2.py +0 -0
  147. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bitflyer.py +0 -0
  148. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bitget.py +0 -0
  149. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bithumb.py +0 -0
  150. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bitmart.py +0 -0
  151. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bitmex.py +0 -0
  152. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bitopro.py +0 -0
  153. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bitpanda.py +0 -0
  154. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bitrue.py +0 -0
  155. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bitso.py +0 -0
  156. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bitstamp.py +0 -0
  157. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bitteam.py +0 -0
  158. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bitvavo.py +0 -0
  159. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bl3p.py +0 -0
  160. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/blockchaincom.py +0 -0
  161. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/blofin.py +0 -0
  162. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/btcalpha.py +0 -0
  163. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/btcbox.py +0 -0
  164. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/btcmarkets.py +0 -0
  165. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/btcturk.py +0 -0
  166. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/bybit.py +0 -0
  167. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/cex.py +0 -0
  168. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/coinbase.py +0 -0
  169. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/coinbasepro.py +0 -0
  170. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/coincheck.py +0 -0
  171. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/coinex.py +0 -0
  172. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/coinlist.py +0 -0
  173. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/coinmate.py +0 -0
  174. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/coinmetro.py +0 -0
  175. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/coinone.py +0 -0
  176. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/coinsph.py +0 -0
  177. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/coinspot.py +0 -0
  178. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/cryptocom.py +0 -0
  179. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/currencycom.py +0 -0
  180. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/delta.py +0 -0
  181. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/deribit.py +0 -0
  182. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/digifinex.py +0 -0
  183. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/exmo.py +0 -0
  184. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/flowbtc.py +0 -0
  185. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/fmfwio.py +0 -0
  186. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/gateio.py +0 -0
  187. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/gemini.py +0 -0
  188. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/hitbtc.py +0 -0
  189. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/hitbtc3.py +0 -0
  190. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/hollaex.py +0 -0
  191. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/htx.py +0 -0
  192. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/huobi.py +0 -0
  193. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/huobijp.py +0 -0
  194. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/hyperliquid.py +0 -0
  195. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/idex.py +0 -0
  196. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/independentreserve.py +0 -0
  197. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/indodax.py +0 -0
  198. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/kraken.py +0 -0
  199. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/krakenfutures.py +0 -0
  200. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/kucoin.py +0 -0
  201. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/kucoinfutures.py +0 -0
  202. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/kuna.py +0 -0
  203. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/latoken.py +0 -0
  204. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/lbank.py +0 -0
  205. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/luno.py +0 -0
  206. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/lykke.py +0 -0
  207. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/mercado.py +0 -0
  208. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/mexc.py +0 -0
  209. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/ndax.py +0 -0
  210. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/novadax.py +0 -0
  211. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/oceanex.py +0 -0
  212. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/okcoin.py +0 -0
  213. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/okx.py +0 -0
  214. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/onetrading.py +0 -0
  215. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/p2b.py +0 -0
  216. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/paymium.py +0 -0
  217. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/phemex.py +0 -0
  218. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/poloniex.py +0 -0
  219. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/poloniexfutures.py +0 -0
  220. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/probit.py +0 -0
  221. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/timex.py +0 -0
  222. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/tokocrypto.py +0 -0
  223. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/upbit.py +0 -0
  224. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/wavesexchange.py +0 -0
  225. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/wazirx.py +0 -0
  226. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/whitebit.py +0 -0
  227. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/woo.py +0 -0
  228. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/yobit.py +0 -0
  229. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/zaif.py +0 -0
  230. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/async_support/zonda.py +0 -0
  231. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/base/__init__.py +0 -0
  232. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/base/decimal_to_precision.py +0 -0
  233. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/base/errors.py +0 -0
  234. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/base/precise.py +0 -0
  235. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/base/types.py +0 -0
  236. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bequant.py +0 -0
  237. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bigone.py +0 -0
  238. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/binance.py +0 -0
  239. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/binancecoinm.py +0 -0
  240. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/binanceus.py +0 -0
  241. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/binanceusdm.py +0 -0
  242. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bingx.py +0 -0
  243. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bit2c.py +0 -0
  244. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bitbank.py +0 -0
  245. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bitbay.py +0 -0
  246. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bitbns.py +0 -0
  247. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bitcoincom.py +0 -0
  248. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bitfinex.py +0 -0
  249. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bitfinex2.py +0 -0
  250. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bitflyer.py +0 -0
  251. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bitget.py +0 -0
  252. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bithumb.py +0 -0
  253. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bitmart.py +0 -0
  254. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bitmex.py +0 -0
  255. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bitopro.py +0 -0
  256. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bitpanda.py +0 -0
  257. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bitrue.py +0 -0
  258. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bitso.py +0 -0
  259. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bitstamp.py +0 -0
  260. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bitteam.py +0 -0
  261. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bitvavo.py +0 -0
  262. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bl3p.py +0 -0
  263. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/blockchaincom.py +0 -0
  264. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/blofin.py +0 -0
  265. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/btcalpha.py +0 -0
  266. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/btcbox.py +0 -0
  267. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/btcmarkets.py +0 -0
  268. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/btcturk.py +0 -0
  269. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/bybit.py +0 -0
  270. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/cex.py +0 -0
  271. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/coinbase.py +0 -0
  272. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/coinbasepro.py +0 -0
  273. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/coincheck.py +0 -0
  274. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/coinex.py +0 -0
  275. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/coinlist.py +0 -0
  276. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/coinmate.py +0 -0
  277. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/coinmetro.py +0 -0
  278. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/coinone.py +0 -0
  279. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/coinsph.py +0 -0
  280. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/coinspot.py +0 -0
  281. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/cryptocom.py +0 -0
  282. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/currencycom.py +0 -0
  283. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/delta.py +0 -0
  284. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/deribit.py +0 -0
  285. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/digifinex.py +0 -0
  286. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/exmo.py +0 -0
  287. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/flowbtc.py +0 -0
  288. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/fmfwio.py +0 -0
  289. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/gateio.py +0 -0
  290. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/gemini.py +0 -0
  291. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/hitbtc.py +0 -0
  292. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/hitbtc3.py +0 -0
  293. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/hollaex.py +0 -0
  294. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/htx.py +0 -0
  295. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/huobi.py +0 -0
  296. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/huobijp.py +0 -0
  297. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/hyperliquid.py +0 -0
  298. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/idex.py +0 -0
  299. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/independentreserve.py +0 -0
  300. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/indodax.py +0 -0
  301. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/kraken.py +0 -0
  302. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/krakenfutures.py +0 -0
  303. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/kucoin.py +0 -0
  304. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/kucoinfutures.py +0 -0
  305. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/kuna.py +0 -0
  306. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/latoken.py +0 -0
  307. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/lbank.py +0 -0
  308. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/luno.py +0 -0
  309. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/lykke.py +0 -0
  310. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/mercado.py +0 -0
  311. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/mexc.py +0 -0
  312. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/ndax.py +0 -0
  313. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/novadax.py +0 -0
  314. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/oceanex.py +0 -0
  315. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/okcoin.py +0 -0
  316. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/okx.py +0 -0
  317. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/onetrading.py +0 -0
  318. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/p2b.py +0 -0
  319. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/paymium.py +0 -0
  320. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/phemex.py +0 -0
  321. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/poloniex.py +0 -0
  322. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/poloniexfutures.py +0 -0
  323. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/alpaca.py +0 -0
  324. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/ascendex.py +0 -0
  325. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/bequant.py +0 -0
  326. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/binance.py +0 -0
  327. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/binancecoinm.py +0 -0
  328. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/binanceus.py +0 -0
  329. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/binanceusdm.py +0 -0
  330. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/bingx.py +0 -0
  331. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/bitcoincom.py +0 -0
  332. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/bitfinex.py +0 -0
  333. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/bitfinex2.py +0 -0
  334. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/bitget.py +0 -0
  335. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/bitmart.py +0 -0
  336. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/bitmex.py +0 -0
  337. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/bitopro.py +0 -0
  338. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/bitpanda.py +0 -0
  339. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/bitrue.py +0 -0
  340. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/bitstamp.py +0 -0
  341. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/bitvavo.py +0 -0
  342. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/blockchaincom.py +0 -0
  343. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/bybit.py +0 -0
  344. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/cex.py +0 -0
  345. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/coinbase.py +0 -0
  346. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/coinbasepro.py +0 -0
  347. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/coincheck.py +0 -0
  348. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/coinex.py +0 -0
  349. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/coinone.py +0 -0
  350. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/cryptocom.py +0 -0
  351. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/currencycom.py +0 -0
  352. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/deribit.py +0 -0
  353. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/exmo.py +0 -0
  354. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/gate.py +0 -0
  355. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/gateio.py +0 -0
  356. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/gemini.py +0 -0
  357. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/hitbtc.py +0 -0
  358. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/hollaex.py +0 -0
  359. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/htx.py +0 -0
  360. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/huobi.py +0 -0
  361. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/huobijp.py +0 -0
  362. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/idex.py +0 -0
  363. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/independentreserve.py +0 -0
  364. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/kraken.py +0 -0
  365. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/krakenfutures.py +0 -0
  366. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/kucoin.py +0 -0
  367. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/kucoinfutures.py +0 -0
  368. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/lbank.py +0 -0
  369. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/luno.py +0 -0
  370. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/mexc.py +0 -0
  371. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/ndax.py +0 -0
  372. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/okcoin.py +0 -0
  373. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/okx.py +0 -0
  374. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/onetrading.py +0 -0
  375. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/p2b.py +0 -0
  376. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/phemex.py +0 -0
  377. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/poloniex.py +0 -0
  378. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/poloniexfutures.py +0 -0
  379. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/probit.py +0 -0
  380. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/upbit.py +0 -0
  381. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/wazirx.py +0 -0
  382. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/whitebit.py +0 -0
  383. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/pro/woo.py +0 -0
  384. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/probit.py +0 -0
  385. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/__init__.py +0 -0
  386. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  387. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  388. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  389. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  390. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  391. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  392. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  393. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  394. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  395. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  396. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  397. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  398. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  399. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  400. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  401. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  402. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  403. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  404. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  405. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  406. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  407. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  408. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  409. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  410. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  411. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  412. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  413. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  414. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  415. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  416. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  417. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  418. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  419. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  420. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  421. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  422. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  423. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  424. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  425. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  426. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  427. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  428. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  429. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  430. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  431. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  432. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  433. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  434. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  435. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  436. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  437. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  438. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  439. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  440. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  441. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  442. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  443. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  444. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  445. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  446. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  447. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  448. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  449. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  450. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  451. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  452. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  453. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  454. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  455. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  456. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  457. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  458. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  459. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  460. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  461. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  462. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  463. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  464. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  465. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  466. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  467. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  468. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  469. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  470. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  471. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  472. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/toolz/_version.py +0 -0
  473. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  474. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  475. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  476. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  477. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  478. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  479. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  480. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  481. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/static_dependencies/toolz/utils.py +0 -0
  482. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/__init__.py +0 -0
  483. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/__init__.py +0 -0
  484. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_account.py +0 -0
  485. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_balance.py +0 -0
  486. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_borrow_interest.py +0 -0
  487. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_borrow_rate.py +0 -0
  488. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_calculate_fee.py +0 -0
  489. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_crypto.py +0 -0
  490. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_currency.py +0 -0
  491. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_datetime.py +0 -0
  492. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_decimal_to_precision.py +0 -0
  493. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_deep_extend.py +0 -0
  494. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
  495. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
  496. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_funding_rate_history.py +0 -0
  497. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_last_price.py +0 -0
  498. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_ledger_entry.py +0 -0
  499. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_ledger_item.py +0 -0
  500. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_leverage_tier.py +0 -0
  501. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_margin_mode.py +0 -0
  502. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_margin_modification.py +0 -0
  503. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_market.py +0 -0
  504. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_number.py +0 -0
  505. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_ohlcv.py +0 -0
  506. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_open_interest.py +0 -0
  507. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_order.py +0 -0
  508. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_order_book.py +0 -0
  509. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_position.py +0 -0
  510. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_shared_methods.py +0 -0
  511. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_status.py +0 -0
  512. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_throttle.py +0 -0
  513. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_ticker.py +0 -0
  514. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_trade.py +0 -0
  515. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_trading_fee.py +0 -0
  516. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/base/test_transaction.py +0 -0
  517. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/test_async.py +0 -0
  518. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/test/test_sync.py +0 -0
  519. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/timex.py +0 -0
  520. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/tokocrypto.py +0 -0
  521. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/upbit.py +0 -0
  522. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/wavesexchange.py +0 -0
  523. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/wazirx.py +0 -0
  524. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/whitebit.py +0 -0
  525. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/woo.py +0 -0
  526. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/yobit.py +0 -0
  527. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/zaif.py +0 -0
  528. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt/zonda.py +0 -0
  529. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt.egg-info/SOURCES.txt +0 -0
  530. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt.egg-info/dependency_links.txt +0 -0
  531. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt.egg-info/requires.txt +0 -0
  532. {ccxt-4.2.69 → ccxt-4.2.70}/ccxt.egg-info/top_level.txt +0 -0
  533. {ccxt-4.2.69 → ccxt-4.2.70}/setup.cfg +0 -0
  534. {ccxt-4.2.69 → ccxt-4.2.70}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.2.69
3
+ Version: 4.2.70
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
@@ -223,13 +223,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
223
223
 
224
224
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
225
225
 
226
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.69/dist/ccxt.browser.js
227
- * unpkg: https://unpkg.com/ccxt@4.2.69/dist/ccxt.browser.js
226
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.70/dist/ccxt.browser.js
227
+ * unpkg: https://unpkg.com/ccxt@4.2.70/dist/ccxt.browser.js
228
228
 
229
229
  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.
230
230
 
231
231
  ```HTML
232
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.69/dist/ccxt.browser.js"></script>
232
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.70/dist/ccxt.browser.js"></script>
233
233
  ```
234
234
 
235
235
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.2.69'
25
+ __version__ = '4.2.70'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.2.69'
7
+ __version__ = '4.2.70'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.2.69'
5
+ __version__ = '4.2.70'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -7,7 +7,7 @@ from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.gate import ImplicitAPI
8
8
  import asyncio
9
9
  import hashlib
10
- from ccxt.base.types import Balances, Currency, Greeks, Int, Market, Order, TransferEntry, OrderBook, OrderRequest, OrderSide, OrderType, FundingHistory, Str, Strings, Ticker, Tickers, Trade, Transaction
10
+ from ccxt.base.types import Balances, Currency, Greeks, Int, Leverage, Leverages, Market, Order, TransferEntry, OrderBook, OrderRequest, OrderSide, OrderType, FundingHistory, Str, Strings, Ticker, Tickers, Trade, Transaction
11
11
  from typing import List
12
12
  from ccxt.base.errors import ExchangeError
13
13
  from ccxt.base.errors import PermissionDenied
@@ -134,7 +134,8 @@ class gate(Exchange, ImplicitAPI):
134
134
  'fetchIsolatedBorrowRate': False,
135
135
  'fetchIsolatedBorrowRates': False,
136
136
  'fetchLedger': True,
137
- 'fetchLeverage': False,
137
+ 'fetchLeverage': True,
138
+ 'fetchLeverages': True,
138
139
  'fetchLeverageTiers': True,
139
140
  'fetchLiquidations': True,
140
141
  'fetchMarginMode': False,
@@ -6517,6 +6518,166 @@ class gate(Exchange, ImplicitAPI):
6517
6518
  side = '' # side is not used but needs to be present, otherwise crashes in php
6518
6519
  return await self.create_order(symbol, 'market', side, 0, None, params)
6519
6520
 
6521
+ async def fetch_leverage(self, symbol: str, params={}) -> Leverage:
6522
+ """
6523
+ fetch the set leverage for a market
6524
+ :see: https://www.gate.io/docs/developers/apiv4/en/#get-unified-account-information
6525
+ :see: https://www.gate.io/docs/developers/apiv4/en/#get-detail-of-lending-market
6526
+ :see: https://www.gate.io/docs/developers/apiv4/en/#query-one-single-margin-currency-pair-deprecated
6527
+ :param str symbol: unified market symbol
6528
+ :param dict [params]: extra parameters specific to the exchange API endpoint
6529
+ :param boolean [params.unified]: default False, set to True for fetching the unified accounts leverage
6530
+ :returns dict: a `leverage structure <https://docs.ccxt.com/#/?id=leverage-structure>`
6531
+ """
6532
+ await self.load_markets()
6533
+ market = None
6534
+ if symbol is not None:
6535
+ # unified account does not require a symbol
6536
+ market = self.market(symbol)
6537
+ request = {}
6538
+ response = None
6539
+ isUnified = self.safe_bool(params, 'unified')
6540
+ params = self.omit(params, 'unified')
6541
+ if market['spot']:
6542
+ request['currency_pair'] = market['id']
6543
+ if isUnified:
6544
+ response = await self.publicMarginGetUniCurrencyPairsCurrencyPair(self.extend(request, params))
6545
+ #
6546
+ # {
6547
+ # "currency_pair": "BTC_USDT",
6548
+ # "base_min_borrow_amount": "0.0001",
6549
+ # "quote_min_borrow_amount": "1",
6550
+ # "leverage": "10"
6551
+ # }
6552
+ #
6553
+ else:
6554
+ response = await self.publicMarginGetCurrencyPairsCurrencyPair(self.extend(request, params))
6555
+ #
6556
+ # {
6557
+ # "id": "BTC_USDT",
6558
+ # "base": "BTC",
6559
+ # "quote": "USDT",
6560
+ # "leverage": 10,
6561
+ # "min_base_amount": "0.0001",
6562
+ # "min_quote_amount": "1",
6563
+ # "max_quote_amount": "40000000",
6564
+ # "status": 1
6565
+ # }
6566
+ #
6567
+ elif isUnified:
6568
+ response = await self.privateUnifiedGetAccounts(self.extend(request, params))
6569
+ #
6570
+ # {
6571
+ # "user_id": 10001,
6572
+ # "locked": False,
6573
+ # "balances": {
6574
+ # "ETH": {
6575
+ # "available": "0",
6576
+ # "freeze": "0",
6577
+ # "borrowed": "0.075393666654",
6578
+ # "negative_liab": "0",
6579
+ # "futures_pos_liab": "0",
6580
+ # "equity": "1016.1",
6581
+ # "total_freeze": "0",
6582
+ # "total_liab": "0"
6583
+ # },
6584
+ # "POINT": {
6585
+ # "available": "9999999999.017023138734",
6586
+ # "freeze": "0",
6587
+ # "borrowed": "0",
6588
+ # "negative_liab": "0",
6589
+ # "futures_pos_liab": "0",
6590
+ # "equity": "12016.1",
6591
+ # "total_freeze": "0",
6592
+ # "total_liab": "0"
6593
+ # },
6594
+ # "USDT": {
6595
+ # "available": "0.00000062023",
6596
+ # "freeze": "0",
6597
+ # "borrowed": "0",
6598
+ # "negative_liab": "0",
6599
+ # "futures_pos_liab": "0",
6600
+ # "equity": "16.1",
6601
+ # "total_freeze": "0",
6602
+ # "total_liab": "0"
6603
+ # }
6604
+ # },
6605
+ # "total": "230.94621713",
6606
+ # "borrowed": "161.66395521",
6607
+ # "total_initial_margin": "1025.0524665088",
6608
+ # "total_margin_balance": "3382495.944473949183",
6609
+ # "total_maintenance_margin": "205.01049330176",
6610
+ # "total_initial_margin_rate": "3299.827135672679",
6611
+ # "total_maintenance_margin_rate": "16499.135678363399",
6612
+ # "total_available_margin": "3381470.892007440383",
6613
+ # "unified_account_total": "3381470.892007440383",
6614
+ # "unified_account_total_liab": "0",
6615
+ # "unified_account_total_equity": "100016.1",
6616
+ # "leverage": "2"
6617
+ # }
6618
+ #
6619
+ else:
6620
+ raise NotSupported(self.id + ' fetchLeverage() does not support ' + market['type'] + ' markets')
6621
+ return self.parse_leverage(response, market)
6622
+
6623
+ async def fetch_leverages(self, symbols: List[str] = None, params={}) -> Leverages:
6624
+ """
6625
+ fetch the set leverage for all leverage markets, only spot margin is supported on gate
6626
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-lending-markets
6627
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-all-supported-currency-pairs-supported-in-margin-trading-deprecated
6628
+ :param str[] symbols: a list of unified market symbols
6629
+ :param dict [params]: extra parameters specific to the exchange API endpoint
6630
+ :param boolean [params.unified]: default False, set to True for fetching unified account leverages
6631
+ :returns dict: a list of `leverage structures <https://docs.ccxt.com/#/?id=leverage-structure>`
6632
+ """
6633
+ await self.load_markets()
6634
+ symbols = self.market_symbols(symbols)
6635
+ response = None
6636
+ isUnified = self.safe_bool(params, 'unified')
6637
+ params = self.omit(params, 'unified')
6638
+ marketIdRequest = 'id'
6639
+ if isUnified:
6640
+ marketIdRequest = 'currency_pair'
6641
+ response = await self.publicMarginGetUniCurrencyPairs(params)
6642
+ #
6643
+ # [
6644
+ # {
6645
+ # "currency_pair": "1INCH_USDT",
6646
+ # "base_min_borrow_amount": "8",
6647
+ # "quote_min_borrow_amount": "1",
6648
+ # "leverage": "3"
6649
+ # },
6650
+ # ]
6651
+ #
6652
+ else:
6653
+ response = await self.publicMarginGetCurrencyPairs(params)
6654
+ #
6655
+ # [
6656
+ # {
6657
+ # "id": "1CAT_USDT",
6658
+ # "base": "1CAT",
6659
+ # "quote": "USDT",
6660
+ # "leverage": 3,
6661
+ # "min_base_amount": "71",
6662
+ # "min_quote_amount": "1",
6663
+ # "max_quote_amount": "10000",
6664
+ # "status": 1
6665
+ # },
6666
+ # ]
6667
+ #
6668
+ return self.parse_leverages(response, symbols, marketIdRequest, 'spot')
6669
+
6670
+ def parse_leverage(self, leverage, market=None) -> Leverage:
6671
+ marketId = self.safe_string_2(leverage, 'currency_pair', 'id')
6672
+ leverageValue = self.safe_integer(leverage, 'leverage')
6673
+ return {
6674
+ 'info': leverage,
6675
+ 'symbol': self.safe_symbol(marketId, market, '_', 'spot'),
6676
+ 'marginMode': None,
6677
+ 'longLeverage': leverageValue,
6678
+ 'shortLeverage': leverageValue,
6679
+ }
6680
+
6520
6681
  def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
6521
6682
  if response is None:
6522
6683
  return None
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.2.69'
7
+ __version__ = '4.2.70'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.gate import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Currency, Greeks, Int, Market, Order, TransferEntry, OrderBook, OrderRequest, OrderSide, OrderType, FundingHistory, Str, Strings, Ticker, Tickers, Trade, Transaction
9
+ from ccxt.base.types import Balances, Currency, Greeks, Int, Leverage, Leverages, Market, Order, TransferEntry, OrderBook, OrderRequest, OrderSide, OrderType, FundingHistory, Str, Strings, Ticker, Tickers, Trade, Transaction
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import PermissionDenied
@@ -133,7 +133,8 @@ class gate(Exchange, ImplicitAPI):
133
133
  'fetchIsolatedBorrowRate': False,
134
134
  'fetchIsolatedBorrowRates': False,
135
135
  'fetchLedger': True,
136
- 'fetchLeverage': False,
136
+ 'fetchLeverage': True,
137
+ 'fetchLeverages': True,
137
138
  'fetchLeverageTiers': True,
138
139
  'fetchLiquidations': True,
139
140
  'fetchMarginMode': False,
@@ -6516,6 +6517,166 @@ class gate(Exchange, ImplicitAPI):
6516
6517
  side = '' # side is not used but needs to be present, otherwise crashes in php
6517
6518
  return self.create_order(symbol, 'market', side, 0, None, params)
6518
6519
 
6520
+ def fetch_leverage(self, symbol: str, params={}) -> Leverage:
6521
+ """
6522
+ fetch the set leverage for a market
6523
+ :see: https://www.gate.io/docs/developers/apiv4/en/#get-unified-account-information
6524
+ :see: https://www.gate.io/docs/developers/apiv4/en/#get-detail-of-lending-market
6525
+ :see: https://www.gate.io/docs/developers/apiv4/en/#query-one-single-margin-currency-pair-deprecated
6526
+ :param str symbol: unified market symbol
6527
+ :param dict [params]: extra parameters specific to the exchange API endpoint
6528
+ :param boolean [params.unified]: default False, set to True for fetching the unified accounts leverage
6529
+ :returns dict: a `leverage structure <https://docs.ccxt.com/#/?id=leverage-structure>`
6530
+ """
6531
+ self.load_markets()
6532
+ market = None
6533
+ if symbol is not None:
6534
+ # unified account does not require a symbol
6535
+ market = self.market(symbol)
6536
+ request = {}
6537
+ response = None
6538
+ isUnified = self.safe_bool(params, 'unified')
6539
+ params = self.omit(params, 'unified')
6540
+ if market['spot']:
6541
+ request['currency_pair'] = market['id']
6542
+ if isUnified:
6543
+ response = self.publicMarginGetUniCurrencyPairsCurrencyPair(self.extend(request, params))
6544
+ #
6545
+ # {
6546
+ # "currency_pair": "BTC_USDT",
6547
+ # "base_min_borrow_amount": "0.0001",
6548
+ # "quote_min_borrow_amount": "1",
6549
+ # "leverage": "10"
6550
+ # }
6551
+ #
6552
+ else:
6553
+ response = self.publicMarginGetCurrencyPairsCurrencyPair(self.extend(request, params))
6554
+ #
6555
+ # {
6556
+ # "id": "BTC_USDT",
6557
+ # "base": "BTC",
6558
+ # "quote": "USDT",
6559
+ # "leverage": 10,
6560
+ # "min_base_amount": "0.0001",
6561
+ # "min_quote_amount": "1",
6562
+ # "max_quote_amount": "40000000",
6563
+ # "status": 1
6564
+ # }
6565
+ #
6566
+ elif isUnified:
6567
+ response = self.privateUnifiedGetAccounts(self.extend(request, params))
6568
+ #
6569
+ # {
6570
+ # "user_id": 10001,
6571
+ # "locked": False,
6572
+ # "balances": {
6573
+ # "ETH": {
6574
+ # "available": "0",
6575
+ # "freeze": "0",
6576
+ # "borrowed": "0.075393666654",
6577
+ # "negative_liab": "0",
6578
+ # "futures_pos_liab": "0",
6579
+ # "equity": "1016.1",
6580
+ # "total_freeze": "0",
6581
+ # "total_liab": "0"
6582
+ # },
6583
+ # "POINT": {
6584
+ # "available": "9999999999.017023138734",
6585
+ # "freeze": "0",
6586
+ # "borrowed": "0",
6587
+ # "negative_liab": "0",
6588
+ # "futures_pos_liab": "0",
6589
+ # "equity": "12016.1",
6590
+ # "total_freeze": "0",
6591
+ # "total_liab": "0"
6592
+ # },
6593
+ # "USDT": {
6594
+ # "available": "0.00000062023",
6595
+ # "freeze": "0",
6596
+ # "borrowed": "0",
6597
+ # "negative_liab": "0",
6598
+ # "futures_pos_liab": "0",
6599
+ # "equity": "16.1",
6600
+ # "total_freeze": "0",
6601
+ # "total_liab": "0"
6602
+ # }
6603
+ # },
6604
+ # "total": "230.94621713",
6605
+ # "borrowed": "161.66395521",
6606
+ # "total_initial_margin": "1025.0524665088",
6607
+ # "total_margin_balance": "3382495.944473949183",
6608
+ # "total_maintenance_margin": "205.01049330176",
6609
+ # "total_initial_margin_rate": "3299.827135672679",
6610
+ # "total_maintenance_margin_rate": "16499.135678363399",
6611
+ # "total_available_margin": "3381470.892007440383",
6612
+ # "unified_account_total": "3381470.892007440383",
6613
+ # "unified_account_total_liab": "0",
6614
+ # "unified_account_total_equity": "100016.1",
6615
+ # "leverage": "2"
6616
+ # }
6617
+ #
6618
+ else:
6619
+ raise NotSupported(self.id + ' fetchLeverage() does not support ' + market['type'] + ' markets')
6620
+ return self.parse_leverage(response, market)
6621
+
6622
+ def fetch_leverages(self, symbols: List[str] = None, params={}) -> Leverages:
6623
+ """
6624
+ fetch the set leverage for all leverage markets, only spot margin is supported on gate
6625
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-lending-markets
6626
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-all-supported-currency-pairs-supported-in-margin-trading-deprecated
6627
+ :param str[] symbols: a list of unified market symbols
6628
+ :param dict [params]: extra parameters specific to the exchange API endpoint
6629
+ :param boolean [params.unified]: default False, set to True for fetching unified account leverages
6630
+ :returns dict: a list of `leverage structures <https://docs.ccxt.com/#/?id=leverage-structure>`
6631
+ """
6632
+ self.load_markets()
6633
+ symbols = self.market_symbols(symbols)
6634
+ response = None
6635
+ isUnified = self.safe_bool(params, 'unified')
6636
+ params = self.omit(params, 'unified')
6637
+ marketIdRequest = 'id'
6638
+ if isUnified:
6639
+ marketIdRequest = 'currency_pair'
6640
+ response = self.publicMarginGetUniCurrencyPairs(params)
6641
+ #
6642
+ # [
6643
+ # {
6644
+ # "currency_pair": "1INCH_USDT",
6645
+ # "base_min_borrow_amount": "8",
6646
+ # "quote_min_borrow_amount": "1",
6647
+ # "leverage": "3"
6648
+ # },
6649
+ # ]
6650
+ #
6651
+ else:
6652
+ response = self.publicMarginGetCurrencyPairs(params)
6653
+ #
6654
+ # [
6655
+ # {
6656
+ # "id": "1CAT_USDT",
6657
+ # "base": "1CAT",
6658
+ # "quote": "USDT",
6659
+ # "leverage": 3,
6660
+ # "min_base_amount": "71",
6661
+ # "min_quote_amount": "1",
6662
+ # "max_quote_amount": "10000",
6663
+ # "status": 1
6664
+ # },
6665
+ # ]
6666
+ #
6667
+ return self.parse_leverages(response, symbols, marketIdRequest, 'spot')
6668
+
6669
+ def parse_leverage(self, leverage, market=None) -> Leverage:
6670
+ marketId = self.safe_string_2(leverage, 'currency_pair', 'id')
6671
+ leverageValue = self.safe_integer(leverage, 'leverage')
6672
+ return {
6673
+ 'info': leverage,
6674
+ 'symbol': self.safe_symbol(marketId, market, '_', 'spot'),
6675
+ 'marginMode': None,
6676
+ 'longLeverage': leverageValue,
6677
+ 'shortLeverage': leverageValue,
6678
+ }
6679
+
6519
6680
  def handle_errors(self, code, reason, url, method, headers, body, response, requestHeaders, requestBody):
6520
6681
  if response is None:
6521
6682
  return None
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.2.69'
7
+ __version__ = '4.2.70'
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.2.69
3
+ Version: 4.2.70
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
@@ -223,13 +223,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
223
223
 
224
224
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
225
225
 
226
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.69/dist/ccxt.browser.js
227
- * unpkg: https://unpkg.com/ccxt@4.2.69/dist/ccxt.browser.js
226
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.70/dist/ccxt.browser.js
227
+ * unpkg: https://unpkg.com/ccxt@4.2.70/dist/ccxt.browser.js
228
228
 
229
229
  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.
230
230
 
231
231
  ```HTML
232
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.69/dist/ccxt.browser.js"></script>
232
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.70/dist/ccxt.browser.js"></script>
233
233
  ```
234
234
 
235
235
  Creates a global `ccxt` object:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.2.69",
3
+ "version": "4.2.70",
4
4
  "description": "A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges",
5
5
  "unpkg": "dist/ccxt.browser.js",
6
6
  "type": "module",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes