ccxt 4.4.13__tar.gz → 4.4.15__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 (664) hide show
  1. {ccxt-4.4.13/ccxt.egg-info → ccxt-4.4.15}/PKG-INFO +4 -4
  2. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/__init__.py +1 -1
  3. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/binance.py +1 -0
  4. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/binancecoinm.py +1 -0
  5. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/binanceus.py +1 -0
  6. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/binanceusdm.py +1 -0
  7. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/cryptocom.py +1 -0
  8. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/__init__.py +1 -1
  9. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/base/exchange.py +34 -1
  10. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/binance.py +69 -11
  11. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bitget.py +101 -3
  12. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bitrue.py +1 -7
  13. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bitvavo.py +1 -3
  14. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/coinex.py +13 -1
  15. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/cryptocom.py +1 -0
  16. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/digifinex.py +13 -1
  17. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/htx.py +1 -1
  18. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/huobijp.py +1 -3
  19. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/kucoin.py +36 -1
  20. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/kucoinfutures.py +55 -4
  21. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/mexc.py +52 -8
  22. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/okx.py +12 -0
  23. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/onetrading.py +2 -2
  24. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/poloniexfutures.py +35 -11
  25. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/vertex.py +8 -0
  26. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/woo.py +12 -0
  27. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/woofipro.py +12 -0
  28. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/xt.py +12 -0
  29. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/base/exchange.py +38 -2
  30. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/binance.py +69 -11
  31. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bitget.py +101 -3
  32. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bitrue.py +1 -7
  33. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bitvavo.py +1 -3
  34. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/coinex.py +13 -1
  35. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/cryptocom.py +1 -0
  36. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/digifinex.py +13 -1
  37. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/htx.py +1 -1
  38. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/huobijp.py +1 -3
  39. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/kucoin.py +36 -1
  40. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/kucoinfutures.py +55 -4
  41. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/mexc.py +52 -8
  42. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/okx.py +12 -0
  43. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/onetrading.py +2 -2
  44. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/poloniexfutures.py +35 -11
  45. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/__init__.py +1 -1
  46. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/binance.py +1 -1
  47. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/okx.py +38 -0
  48. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/upbit.py +42 -1
  49. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/vertex.py +11 -0
  50. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/test/tests_async.py +53 -53
  51. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/test/tests_helpers.py +14 -0
  52. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/test/tests_sync.py +53 -53
  53. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/vertex.py +8 -0
  54. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/woo.py +12 -0
  55. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/woofipro.py +12 -0
  56. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/xt.py +12 -0
  57. {ccxt-4.4.13 → ccxt-4.4.15/ccxt.egg-info}/PKG-INFO +4 -4
  58. {ccxt-4.4.13 → ccxt-4.4.15}/package.json +1 -1
  59. {ccxt-4.4.13 → ccxt-4.4.15}/LICENSE.txt +0 -0
  60. {ccxt-4.4.13 → ccxt-4.4.15}/MANIFEST.in +0 -0
  61. {ccxt-4.4.13 → ccxt-4.4.15}/README.rst +0 -0
  62. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/__init__.py +0 -0
  63. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/ace.py +0 -0
  64. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/alpaca.py +0 -0
  65. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/ascendex.py +0 -0
  66. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bequant.py +0 -0
  67. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bigone.py +0 -0
  68. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bingx.py +0 -0
  69. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bit2c.py +0 -0
  70. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bitbank.py +0 -0
  71. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bitbns.py +0 -0
  72. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bitcoincom.py +0 -0
  73. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bitfinex.py +0 -0
  74. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bitfinex2.py +0 -0
  75. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bitflyer.py +0 -0
  76. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bitget.py +0 -0
  77. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bithumb.py +0 -0
  78. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bitmart.py +0 -0
  79. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bitmex.py +0 -0
  80. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bitopro.py +0 -0
  81. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bitpanda.py +0 -0
  82. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bitrue.py +0 -0
  83. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bitso.py +0 -0
  84. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bitstamp.py +0 -0
  85. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bitteam.py +0 -0
  86. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bitvavo.py +0 -0
  87. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bl3p.py +0 -0
  88. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/blockchaincom.py +0 -0
  89. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/blofin.py +0 -0
  90. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/btcalpha.py +0 -0
  91. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/btcbox.py +0 -0
  92. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/btcmarkets.py +0 -0
  93. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/btcturk.py +0 -0
  94. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/bybit.py +0 -0
  95. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/cex.py +0 -0
  96. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/coinbase.py +0 -0
  97. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/coinbaseadvanced.py +0 -0
  98. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/coinbaseexchange.py +0 -0
  99. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/coinbaseinternational.py +0 -0
  100. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/coincheck.py +0 -0
  101. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/coinex.py +0 -0
  102. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/coinlist.py +0 -0
  103. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/coinmate.py +0 -0
  104. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/coinmetro.py +0 -0
  105. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/coinone.py +0 -0
  106. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/coinsph.py +0 -0
  107. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/coinspot.py +0 -0
  108. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/currencycom.py +0 -0
  109. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/delta.py +0 -0
  110. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/deribit.py +0 -0
  111. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/digifinex.py +0 -0
  112. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/exmo.py +0 -0
  113. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/fmfwio.py +0 -0
  114. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/gate.py +0 -0
  115. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/gateio.py +0 -0
  116. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/gemini.py +0 -0
  117. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/hashkey.py +0 -0
  118. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/hitbtc.py +0 -0
  119. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/hollaex.py +0 -0
  120. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/htx.py +0 -0
  121. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/huobi.py +0 -0
  122. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/huobijp.py +0 -0
  123. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/hyperliquid.py +0 -0
  124. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/idex.py +0 -0
  125. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/independentreserve.py +0 -0
  126. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/indodax.py +0 -0
  127. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/kraken.py +0 -0
  128. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/krakenfutures.py +0 -0
  129. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/kucoin.py +0 -0
  130. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/kucoinfutures.py +0 -0
  131. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/kuna.py +0 -0
  132. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/latoken.py +0 -0
  133. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/lbank.py +0 -0
  134. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/luno.py +0 -0
  135. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/lykke.py +0 -0
  136. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/mercado.py +0 -0
  137. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/mexc.py +0 -0
  138. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/ndax.py +0 -0
  139. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/novadax.py +0 -0
  140. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/oceanex.py +0 -0
  141. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/okcoin.py +0 -0
  142. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/okx.py +0 -0
  143. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/onetrading.py +0 -0
  144. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/oxfun.py +0 -0
  145. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/p2b.py +0 -0
  146. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/paradex.py +0 -0
  147. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/paymium.py +0 -0
  148. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/phemex.py +0 -0
  149. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/poloniex.py +0 -0
  150. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/poloniexfutures.py +0 -0
  151. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/probit.py +0 -0
  152. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/timex.py +0 -0
  153. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/tokocrypto.py +0 -0
  154. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/tradeogre.py +0 -0
  155. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/upbit.py +0 -0
  156. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/vertex.py +0 -0
  157. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/wavesexchange.py +0 -0
  158. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/wazirx.py +0 -0
  159. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/whitebit.py +0 -0
  160. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/woo.py +0 -0
  161. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/woofipro.py +0 -0
  162. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/xt.py +0 -0
  163. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/yobit.py +0 -0
  164. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/zaif.py +0 -0
  165. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/abstract/zonda.py +0 -0
  166. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/ace.py +0 -0
  167. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/alpaca.py +0 -0
  168. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/ascendex.py +0 -0
  169. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/ace.py +0 -0
  170. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/alpaca.py +0 -0
  171. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/ascendex.py +0 -0
  172. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/base/__init__.py +0 -0
  173. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/base/throttler.py +0 -0
  174. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/base/ws/__init__.py +0 -0
  175. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  176. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/base/ws/cache.py +0 -0
  177. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/base/ws/client.py +0 -0
  178. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/base/ws/fast_client.py +0 -0
  179. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/base/ws/functions.py +0 -0
  180. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/base/ws/future.py +0 -0
  181. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/base/ws/order_book.py +0 -0
  182. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  183. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bequant.py +0 -0
  184. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bigone.py +0 -0
  185. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/binancecoinm.py +0 -0
  186. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/binanceus.py +0 -0
  187. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/binanceusdm.py +0 -0
  188. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bingx.py +0 -0
  189. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bit2c.py +0 -0
  190. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bitbank.py +0 -0
  191. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bitbay.py +0 -0
  192. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bitbns.py +0 -0
  193. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bitcoincom.py +0 -0
  194. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bitfinex.py +0 -0
  195. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bitfinex2.py +0 -0
  196. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bitflyer.py +0 -0
  197. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bithumb.py +0 -0
  198. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bitmart.py +0 -0
  199. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bitmex.py +0 -0
  200. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bitopro.py +0 -0
  201. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bitpanda.py +0 -0
  202. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bitso.py +0 -0
  203. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bitstamp.py +0 -0
  204. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bitteam.py +0 -0
  205. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bl3p.py +0 -0
  206. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/blockchaincom.py +0 -0
  207. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/blofin.py +0 -0
  208. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/btcalpha.py +0 -0
  209. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/btcbox.py +0 -0
  210. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/btcmarkets.py +0 -0
  211. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/btcturk.py +0 -0
  212. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/bybit.py +0 -0
  213. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/cex.py +0 -0
  214. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/coinbase.py +0 -0
  215. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/coinbaseadvanced.py +0 -0
  216. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/coinbaseexchange.py +0 -0
  217. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/coinbaseinternational.py +0 -0
  218. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/coincheck.py +0 -0
  219. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/coinlist.py +0 -0
  220. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/coinmate.py +0 -0
  221. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/coinmetro.py +0 -0
  222. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/coinone.py +0 -0
  223. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/coinsph.py +0 -0
  224. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/coinspot.py +0 -0
  225. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/currencycom.py +0 -0
  226. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/delta.py +0 -0
  227. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/deribit.py +0 -0
  228. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/exmo.py +0 -0
  229. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/fmfwio.py +0 -0
  230. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/gate.py +0 -0
  231. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/gateio.py +0 -0
  232. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/gemini.py +0 -0
  233. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/hashkey.py +0 -0
  234. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/hitbtc.py +0 -0
  235. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/hitbtc3.py +0 -0
  236. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/hollaex.py +0 -0
  237. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/huobi.py +0 -0
  238. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/hyperliquid.py +0 -0
  239. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/idex.py +0 -0
  240. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/independentreserve.py +0 -0
  241. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/indodax.py +0 -0
  242. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/kraken.py +0 -0
  243. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/krakenfutures.py +0 -0
  244. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/kuna.py +0 -0
  245. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/latoken.py +0 -0
  246. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/lbank.py +0 -0
  247. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/luno.py +0 -0
  248. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/lykke.py +0 -0
  249. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/mercado.py +0 -0
  250. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/ndax.py +0 -0
  251. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/novadax.py +0 -0
  252. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/oceanex.py +0 -0
  253. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/okcoin.py +0 -0
  254. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/oxfun.py +0 -0
  255. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/p2b.py +0 -0
  256. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/paradex.py +0 -0
  257. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/paymium.py +0 -0
  258. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/phemex.py +0 -0
  259. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/poloniex.py +0 -0
  260. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/probit.py +0 -0
  261. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/timex.py +0 -0
  262. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/tokocrypto.py +0 -0
  263. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/tradeogre.py +0 -0
  264. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/upbit.py +0 -0
  265. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/wavesexchange.py +0 -0
  266. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/wazirx.py +0 -0
  267. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/whitebit.py +0 -0
  268. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/yobit.py +0 -0
  269. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/zaif.py +0 -0
  270. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/async_support/zonda.py +0 -0
  271. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/base/__init__.py +0 -0
  272. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/base/decimal_to_precision.py +0 -0
  273. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/base/errors.py +0 -0
  274. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/base/precise.py +0 -0
  275. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/base/types.py +0 -0
  276. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bequant.py +0 -0
  277. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bigone.py +0 -0
  278. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/binancecoinm.py +0 -0
  279. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/binanceus.py +0 -0
  280. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/binanceusdm.py +0 -0
  281. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bingx.py +0 -0
  282. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bit2c.py +0 -0
  283. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bitbank.py +0 -0
  284. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bitbay.py +0 -0
  285. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bitbns.py +0 -0
  286. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bitcoincom.py +0 -0
  287. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bitfinex.py +0 -0
  288. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bitfinex2.py +0 -0
  289. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bitflyer.py +0 -0
  290. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bithumb.py +0 -0
  291. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bitmart.py +0 -0
  292. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bitmex.py +0 -0
  293. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bitopro.py +0 -0
  294. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bitpanda.py +0 -0
  295. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bitso.py +0 -0
  296. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bitstamp.py +0 -0
  297. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bitteam.py +0 -0
  298. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bl3p.py +0 -0
  299. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/blockchaincom.py +0 -0
  300. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/blofin.py +0 -0
  301. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/btcalpha.py +0 -0
  302. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/btcbox.py +0 -0
  303. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/btcmarkets.py +0 -0
  304. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/btcturk.py +0 -0
  305. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/bybit.py +0 -0
  306. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/cex.py +0 -0
  307. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/coinbase.py +0 -0
  308. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/coinbaseadvanced.py +0 -0
  309. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/coinbaseexchange.py +0 -0
  310. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/coinbaseinternational.py +0 -0
  311. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/coincheck.py +0 -0
  312. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/coinlist.py +0 -0
  313. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/coinmate.py +0 -0
  314. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/coinmetro.py +0 -0
  315. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/coinone.py +0 -0
  316. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/coinsph.py +0 -0
  317. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/coinspot.py +0 -0
  318. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/currencycom.py +0 -0
  319. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/delta.py +0 -0
  320. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/deribit.py +0 -0
  321. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/exmo.py +0 -0
  322. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/fmfwio.py +0 -0
  323. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/gate.py +0 -0
  324. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/gateio.py +0 -0
  325. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/gemini.py +0 -0
  326. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/hashkey.py +0 -0
  327. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/hitbtc.py +0 -0
  328. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/hitbtc3.py +0 -0
  329. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/hollaex.py +0 -0
  330. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/huobi.py +0 -0
  331. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/hyperliquid.py +0 -0
  332. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/idex.py +0 -0
  333. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/independentreserve.py +0 -0
  334. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/indodax.py +0 -0
  335. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/kraken.py +0 -0
  336. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/krakenfutures.py +0 -0
  337. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/kuna.py +0 -0
  338. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/latoken.py +0 -0
  339. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/lbank.py +0 -0
  340. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/luno.py +0 -0
  341. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/lykke.py +0 -0
  342. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/mercado.py +0 -0
  343. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/ndax.py +0 -0
  344. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/novadax.py +0 -0
  345. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/oceanex.py +0 -0
  346. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/okcoin.py +0 -0
  347. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/oxfun.py +0 -0
  348. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/p2b.py +0 -0
  349. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/paradex.py +0 -0
  350. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/paymium.py +0 -0
  351. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/phemex.py +0 -0
  352. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/poloniex.py +0 -0
  353. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/alpaca.py +0 -0
  354. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/ascendex.py +0 -0
  355. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/bequant.py +0 -0
  356. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/binancecoinm.py +0 -0
  357. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/binanceus.py +0 -0
  358. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/binanceusdm.py +0 -0
  359. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/bingx.py +0 -0
  360. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/bitcoincom.py +0 -0
  361. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/bitfinex.py +0 -0
  362. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/bitfinex2.py +0 -0
  363. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/bitget.py +0 -0
  364. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/bithumb.py +0 -0
  365. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/bitmart.py +0 -0
  366. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/bitmex.py +0 -0
  367. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/bitopro.py +0 -0
  368. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/bitpanda.py +0 -0
  369. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/bitrue.py +0 -0
  370. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/bitstamp.py +0 -0
  371. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/bitvavo.py +0 -0
  372. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/blockchaincom.py +0 -0
  373. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/blofin.py +0 -0
  374. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/bybit.py +0 -0
  375. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/cex.py +0 -0
  376. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/coinbase.py +0 -0
  377. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/coinbaseexchange.py +0 -0
  378. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/coinbaseinternational.py +0 -0
  379. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/coincheck.py +0 -0
  380. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/coinex.py +0 -0
  381. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/coinone.py +0 -0
  382. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/cryptocom.py +0 -0
  383. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/currencycom.py +0 -0
  384. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/deribit.py +0 -0
  385. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/exmo.py +0 -0
  386. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/gate.py +0 -0
  387. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/gateio.py +0 -0
  388. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/gemini.py +0 -0
  389. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/hashkey.py +0 -0
  390. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/hitbtc.py +0 -0
  391. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/hollaex.py +0 -0
  392. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/htx.py +0 -0
  393. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/huobi.py +0 -0
  394. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/huobijp.py +0 -0
  395. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/hyperliquid.py +0 -0
  396. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/idex.py +0 -0
  397. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/independentreserve.py +0 -0
  398. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/kraken.py +0 -0
  399. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/krakenfutures.py +0 -0
  400. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/kucoin.py +0 -0
  401. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/kucoinfutures.py +0 -0
  402. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/lbank.py +0 -0
  403. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/luno.py +0 -0
  404. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/mexc.py +0 -0
  405. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/ndax.py +0 -0
  406. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/okcoin.py +0 -0
  407. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/onetrading.py +0 -0
  408. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/oxfun.py +0 -0
  409. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/p2b.py +0 -0
  410. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/paradex.py +0 -0
  411. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/phemex.py +0 -0
  412. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/poloniex.py +0 -0
  413. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/poloniexfutures.py +0 -0
  414. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/probit.py +0 -0
  415. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/wazirx.py +0 -0
  416. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/whitebit.py +0 -0
  417. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/woo.py +0 -0
  418. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/woofipro.py +0 -0
  419. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/pro/xt.py +0 -0
  420. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/probit.py +0 -0
  421. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/__init__.py +0 -0
  422. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  423. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  424. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  425. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  426. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  427. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  428. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  429. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  430. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  431. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  432. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  433. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  434. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  435. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  436. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  437. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  438. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  439. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  440. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  441. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  442. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  443. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  444. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  445. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  446. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  447. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  448. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  449. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  450. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  451. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  452. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  453. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  454. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  455. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  456. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  457. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  458. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  459. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  460. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  461. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  462. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  463. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  464. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  465. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  466. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  467. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  468. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  469. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  470. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  471. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  472. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  473. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  474. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  475. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  476. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  477. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  478. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  479. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  480. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  481. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  482. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  483. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  484. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  485. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  486. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  487. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  488. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  489. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  490. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  491. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  492. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  493. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  494. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  495. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  496. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/__init__.py +0 -0
  497. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -0
  498. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -0
  499. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/ast_utils.py +0 -0
  500. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/common.py +0 -0
  501. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/exceptions.py +0 -0
  502. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/grammar.py +0 -0
  503. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
  504. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/indenter.py +0 -0
  505. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/lark.py +0 -0
  506. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/lexer.py +0 -0
  507. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/load_grammar.py +0 -0
  508. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -0
  509. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/parser_frontends.py +0 -0
  510. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
  511. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/parsers/cyk.py +0 -0
  512. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/parsers/earley.py +0 -0
  513. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -0
  514. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -0
  515. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -0
  516. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -0
  517. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -0
  518. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -0
  519. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -0
  520. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/parsers/xearley.py +0 -0
  521. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/py.typed +0 -0
  522. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/reconstruct.py +0 -0
  523. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/tools/__init__.py +0 -0
  524. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/tools/nearley.py +0 -0
  525. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/tools/serialize.py +0 -0
  526. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/tools/standalone.py +0 -0
  527. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/tree.py +0 -0
  528. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/tree_matcher.py +0 -0
  529. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/tree_templates.py +0 -0
  530. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/utils.py +0 -0
  531. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/lark/visitors.py +0 -0
  532. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow/__init__.py +0 -0
  533. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow/base.py +0 -0
  534. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow/class_registry.py +0 -0
  535. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow/decorators.py +0 -0
  536. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow/error_store.py +0 -0
  537. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow/exceptions.py +0 -0
  538. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow/fields.py +0 -0
  539. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow/orderedset.py +0 -0
  540. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow/py.typed +0 -0
  541. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow/schema.py +0 -0
  542. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow/types.py +0 -0
  543. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow/utils.py +0 -0
  544. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow/validate.py +0 -0
  545. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow/warnings.py +0 -0
  546. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -0
  547. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -0
  548. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -0
  549. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -0
  550. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  551. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -0
  552. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -0
  553. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -0
  554. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -0
  555. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  556. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  557. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  558. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  559. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  560. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  561. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  562. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  563. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  564. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  565. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  566. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/__init__.py +0 -0
  567. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
  568. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -0
  569. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
  570. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -0
  571. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -0
  572. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -0
  573. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/cairo/felt.py +0 -0
  574. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -0
  575. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
  576. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -0
  577. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
  578. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -0
  579. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -0
  580. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/common.py +0 -0
  581. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/constants.py +0 -0
  582. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
  583. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/hash/address.py +0 -0
  584. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -0
  585. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/hash/selector.py +0 -0
  586. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/hash/storage.py +0 -0
  587. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/hash/utils.py +0 -0
  588. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
  589. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/models/typed_data.py +0 -0
  590. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -0
  591. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -0
  592. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/_context.py +0 -0
  593. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -0
  594. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -0
  595. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -0
  596. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -0
  597. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -0
  598. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -0
  599. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -0
  600. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -0
  601. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -0
  602. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -0
  603. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -0
  604. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -0
  605. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -0
  606. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -0
  607. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -0
  608. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -0
  609. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -0
  610. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/errors.py +0 -0
  611. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/factory.py +0 -0
  612. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -0
  613. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -0
  614. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
  615. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -0
  616. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/utils/iterable.py +0 -0
  617. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/utils/schema.py +0 -0
  618. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -0
  619. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starkware/__init__.py +0 -0
  620. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
  621. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -0
  622. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -0
  623. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starkware/crypto/signature.py +0 -0
  624. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/starkware/crypto/utils.py +0 -0
  625. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/sympy/__init__.py +0 -0
  626. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
  627. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/sympy/core/intfunc.py +0 -0
  628. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
  629. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/sympy/external/gmpy.py +0 -0
  630. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/sympy/external/importtools.py +0 -0
  631. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/sympy/external/ntheory.py +0 -0
  632. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -0
  633. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  634. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  635. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/toolz/_version.py +0 -0
  636. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  637. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  638. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  639. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  640. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  641. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  642. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  643. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  644. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/toolz/utils.py +0 -0
  645. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
  646. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/static_dependencies/typing_inspect/typing_inspect.py +0 -0
  647. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/test/__init__.py +0 -0
  648. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/test/tests_init.py +0 -0
  649. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/timex.py +0 -0
  650. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/tokocrypto.py +0 -0
  651. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/tradeogre.py +0 -0
  652. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/upbit.py +0 -0
  653. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/wavesexchange.py +0 -0
  654. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/wazirx.py +0 -0
  655. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/whitebit.py +0 -0
  656. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/yobit.py +0 -0
  657. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/zaif.py +0 -0
  658. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt/zonda.py +0 -0
  659. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt.egg-info/SOURCES.txt +0 -0
  660. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt.egg-info/dependency_links.txt +0 -0
  661. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt.egg-info/requires.txt +0 -0
  662. {ccxt-4.4.13 → ccxt-4.4.15}/ccxt.egg-info/top_level.txt +0 -0
  663. {ccxt-4.4.13 → ccxt-4.4.15}/setup.cfg +0 -0
  664. {ccxt-4.4.13 → ccxt-4.4.15}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.4.13
3
+ Version: 4.4.15
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
@@ -260,13 +260,13 @@ console.log(version, Object.keys(exchanges));
260
260
 
261
261
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
262
262
 
263
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.13/dist/ccxt.browser.min.js
264
- * unpkg: https://unpkg.com/ccxt@4.4.13/dist/ccxt.browser.min.js
263
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.15/dist/ccxt.browser.min.js
264
+ * unpkg: https://unpkg.com/ccxt@4.4.15/dist/ccxt.browser.min.js
265
265
 
266
266
  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.
267
267
 
268
268
  ```HTML
269
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.13/dist/ccxt.browser.min.js"></script>
269
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.15/dist/ccxt.browser.min.js"></script>
270
270
  ```
271
271
 
272
272
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.4.13'
25
+ __version__ = '4.4.15'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -414,6 +414,7 @@ class ImplicitAPI:
414
414
  dapipublic_get_ticker_bookticker = dapiPublicGetTickerBookTicker = Entry('ticker/bookTicker', 'dapiPublic', 'GET', {'cost': 2, 'noSymbol': 5})
415
415
  dapipublic_get_constituents = dapiPublicGetConstituents = Entry('constituents', 'dapiPublic', 'GET', {'cost': 2})
416
416
  dapipublic_get_openinterest = dapiPublicGetOpenInterest = Entry('openInterest', 'dapiPublic', 'GET', {'cost': 1})
417
+ dapipublic_get_fundinginfo = dapiPublicGetFundingInfo = Entry('fundingInfo', 'dapiPublic', 'GET', {'cost': 1})
417
418
  dapidata_get_delivery_price = dapiDataGetDeliveryPrice = Entry('delivery-price', 'dapiData', 'GET', {'cost': 1})
418
419
  dapidata_get_openinteresthist = dapiDataGetOpenInterestHist = Entry('openInterestHist', 'dapiData', 'GET', {'cost': 1})
419
420
  dapidata_get_toplongshortaccountratio = dapiDataGetTopLongShortAccountRatio = Entry('topLongShortAccountRatio', 'dapiData', 'GET', {'cost': 1})
@@ -414,6 +414,7 @@ class ImplicitAPI:
414
414
  dapipublic_get_ticker_bookticker = dapiPublicGetTickerBookTicker = Entry('ticker/bookTicker', 'dapiPublic', 'GET', {'cost': 2, 'noSymbol': 5})
415
415
  dapipublic_get_constituents = dapiPublicGetConstituents = Entry('constituents', 'dapiPublic', 'GET', {'cost': 2})
416
416
  dapipublic_get_openinterest = dapiPublicGetOpenInterest = Entry('openInterest', 'dapiPublic', 'GET', {'cost': 1})
417
+ dapipublic_get_fundinginfo = dapiPublicGetFundingInfo = Entry('fundingInfo', 'dapiPublic', 'GET', {'cost': 1})
417
418
  dapidata_get_delivery_price = dapiDataGetDeliveryPrice = Entry('delivery-price', 'dapiData', 'GET', {'cost': 1})
418
419
  dapidata_get_openinteresthist = dapiDataGetOpenInterestHist = Entry('openInterestHist', 'dapiData', 'GET', {'cost': 1})
419
420
  dapidata_get_toplongshortaccountratio = dapiDataGetTopLongShortAccountRatio = Entry('topLongShortAccountRatio', 'dapiData', 'GET', {'cost': 1})
@@ -466,6 +466,7 @@ class ImplicitAPI:
466
466
  dapipublic_get_ticker_bookticker = dapiPublicGetTickerBookTicker = Entry('ticker/bookTicker', 'dapiPublic', 'GET', {'cost': 2, 'noSymbol': 5})
467
467
  dapipublic_get_constituents = dapiPublicGetConstituents = Entry('constituents', 'dapiPublic', 'GET', {'cost': 2})
468
468
  dapipublic_get_openinterest = dapiPublicGetOpenInterest = Entry('openInterest', 'dapiPublic', 'GET', {'cost': 1})
469
+ dapipublic_get_fundinginfo = dapiPublicGetFundingInfo = Entry('fundingInfo', 'dapiPublic', 'GET', {'cost': 1})
469
470
  dapidata_get_delivery_price = dapiDataGetDeliveryPrice = Entry('delivery-price', 'dapiData', 'GET', {'cost': 1})
470
471
  dapidata_get_openinteresthist = dapiDataGetOpenInterestHist = Entry('openInterestHist', 'dapiData', 'GET', {'cost': 1})
471
472
  dapidata_get_toplongshortaccountratio = dapiDataGetTopLongShortAccountRatio = Entry('topLongShortAccountRatio', 'dapiData', 'GET', {'cost': 1})
@@ -414,6 +414,7 @@ class ImplicitAPI:
414
414
  dapipublic_get_ticker_bookticker = dapiPublicGetTickerBookTicker = Entry('ticker/bookTicker', 'dapiPublic', 'GET', {'cost': 2, 'noSymbol': 5})
415
415
  dapipublic_get_constituents = dapiPublicGetConstituents = Entry('constituents', 'dapiPublic', 'GET', {'cost': 2})
416
416
  dapipublic_get_openinterest = dapiPublicGetOpenInterest = Entry('openInterest', 'dapiPublic', 'GET', {'cost': 1})
417
+ dapipublic_get_fundinginfo = dapiPublicGetFundingInfo = Entry('fundingInfo', 'dapiPublic', 'GET', {'cost': 1})
417
418
  dapidata_get_delivery_price = dapiDataGetDeliveryPrice = Entry('delivery-price', 'dapiData', 'GET', {'cost': 1})
418
419
  dapidata_get_openinteresthist = dapiDataGetOpenInterestHist = Entry('openInterestHist', 'dapiData', 'GET', {'cost': 1})
419
420
  dapidata_get_toplongshortaccountratio = dapiDataGetTopLongShortAccountRatio = Entry('topLongShortAccountRatio', 'dapiData', 'GET', {'cost': 1})
@@ -11,6 +11,7 @@ class ImplicitAPI:
11
11
  v1_public_get_public_get_valuations = v1PublicGetPublicGetValuations = Entry('public/get-valuations', ['v1', 'public'], 'GET', {'cost': 1})
12
12
  v1_public_get_public_get_expired_settlement_price = v1PublicGetPublicGetExpiredSettlementPrice = Entry('public/get-expired-settlement-price', ['v1', 'public'], 'GET', {'cost': 3.3333333333333335})
13
13
  v1_public_get_public_get_insurance = v1PublicGetPublicGetInsurance = Entry('public/get-insurance', ['v1', 'public'], 'GET', {'cost': 1})
14
+ v1_public_get_public_get_risk_parameters = v1PublicGetPublicGetRiskParameters = Entry('public/get-risk-parameters', ['v1', 'public'], 'GET', {'cost': 1})
14
15
  v1_public_post_public_staking_get_conversion_rate = v1PublicPostPublicStakingGetConversionRate = Entry('public/staking/get-conversion-rate', ['v1', 'public'], 'POST', {'cost': 2})
15
16
  v1_private_post_private_set_cancel_on_disconnect = v1PrivatePostPrivateSetCancelOnDisconnect = Entry('private/set-cancel-on-disconnect', ['v1', 'private'], 'POST', {'cost': 3.3333333333333335})
16
17
  v1_private_post_private_get_cancel_on_disconnect = v1PrivatePostPrivateGetCancelOnDisconnect = Entry('private/get-cancel-on-disconnect', ['v1', 'private'], 'POST', {'cost': 3.3333333333333335})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.4.13'
7
+ __version__ = '4.4.15'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.4.13'
5
+ __version__ = '4.4.15'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -661,6 +661,9 @@ class Exchange(BaseExchange):
661
661
  async def fetch_funding_rates(self, symbols: Strings = None, params={}):
662
662
  raise NotSupported(self.id + ' fetchFundingRates() is not supported yet')
663
663
 
664
+ async def fetch_funding_intervals(self, symbols: Strings = None, params={}):
665
+ raise NotSupported(self.id + ' fetchFundingIntervals() is not supported yet')
666
+
664
667
  async def watch_funding_rate(self, symbol: str, params={}):
665
668
  raise NotSupported(self.id + ' watchFundingRate() is not supported yet')
666
669
 
@@ -1016,6 +1019,20 @@ class Exchange(BaseExchange):
1016
1019
  else:
1017
1020
  raise NotSupported(self.id + ' fetchTicker() is not supported yet')
1018
1021
 
1022
+ async def fetch_mark_price(self, symbol: str, params={}):
1023
+ if self.has['fetchMarkPrices']:
1024
+ await self.load_markets()
1025
+ market = self.market(symbol)
1026
+ symbol = market['symbol']
1027
+ tickers = await self.fetch_mark_prices([symbol], params)
1028
+ ticker = self.safe_dict(tickers, symbol)
1029
+ if ticker is None:
1030
+ raise NullResponse(self.id + ' fetchMarkPrices() could not find a ticker for ' + symbol)
1031
+ else:
1032
+ return ticker
1033
+ else:
1034
+ raise NotSupported(self.id + ' fetchMarkPrices() is not supported yet')
1035
+
1019
1036
  async def fetch_ticker_ws(self, symbol: str, params={}):
1020
1037
  if self.has['fetchTickersWs']:
1021
1038
  await self.load_markets()
@@ -1680,6 +1697,22 @@ class Exchange(BaseExchange):
1680
1697
  else:
1681
1698
  raise NotSupported(self.id + ' fetchFundingRate() is not supported yet')
1682
1699
 
1700
+ async def fetch_funding_interval(self, symbol: str, params={}):
1701
+ if self.has['fetchFundingIntervals']:
1702
+ await self.load_markets()
1703
+ market = self.market(symbol)
1704
+ symbol = market['symbol']
1705
+ if not market['contract']:
1706
+ raise BadSymbol(self.id + ' fetchFundingInterval() supports contract markets only')
1707
+ rates = await self.fetch_funding_intervals([symbol], params)
1708
+ rate = self.safe_value(rates, symbol)
1709
+ if rate is None:
1710
+ raise NullResponse(self.id + ' fetchFundingInterval() returned no data for ' + symbol)
1711
+ else:
1712
+ return rate
1713
+ else:
1714
+ raise NotSupported(self.id + ' fetchFundingInterval() is not supported yet')
1715
+
1683
1716
  async def fetch_mark_ohlcv(self, symbol, timeframe='1m', since: Int = None, limit: Int = None, params={}):
1684
1717
  """
1685
1718
  fetches historical mark price candlestick data containing the open, high, low, and close price of a market
@@ -112,6 +112,8 @@ class binance(Exchange, ImplicitAPI):
112
112
  'fetchDepositWithdrawFee': 'emulated',
113
113
  'fetchDepositWithdrawFees': True,
114
114
  'fetchFundingHistory': True,
115
+ 'fetchFundingInterval': 'emulated',
116
+ 'fetchFundingIntervals': True,
115
117
  'fetchFundingRate': True,
116
118
  'fetchFundingRateHistory': True,
117
119
  'fetchFundingRates': True,
@@ -735,6 +737,7 @@ class binance(Exchange, ImplicitAPI):
735
737
  'ticker/bookTicker': {'cost': 2, 'noSymbol': 5},
736
738
  'constituents': 2,
737
739
  'openInterest': 1,
740
+ 'fundingInfo': 1,
738
741
  },
739
742
  },
740
743
  'dapiData': {
@@ -8829,16 +8832,28 @@ class binance(Exchange, ImplicitAPI):
8829
8832
  def parse_funding_rate(self, contract, market: Market = None) -> FundingRate:
8830
8833
  # ensure it matches with https://www.binance.com/en/futures/funding-history/0
8831
8834
  #
8832
- # {
8833
- # "symbol": "BTCUSDT",
8834
- # "markPrice": "45802.81129892",
8835
- # "indexPrice": "45745.47701915",
8836
- # "estimatedSettlePrice": "45133.91753671",
8837
- # "lastFundingRate": "0.00063521",
8838
- # "interestRate": "0.00010000",
8839
- # "nextFundingTime": "1621267200000",
8840
- # "time": "1621252344001"
8841
- # }
8835
+ # fetchFundingRate, fetchFundingRates
8836
+ #
8837
+ # {
8838
+ # "symbol": "BTCUSDT",
8839
+ # "markPrice": "45802.81129892",
8840
+ # "indexPrice": "45745.47701915",
8841
+ # "estimatedSettlePrice": "45133.91753671",
8842
+ # "lastFundingRate": "0.00063521",
8843
+ # "interestRate": "0.00010000",
8844
+ # "nextFundingTime": "1621267200000",
8845
+ # "time": "1621252344001"
8846
+ # }
8847
+ #
8848
+ # fetchFundingInterval, fetchFundingIntervals
8849
+ #
8850
+ # {
8851
+ # "symbol": "BLZUSDT",
8852
+ # "adjustedFundingRateCap": "0.03000000",
8853
+ # "adjustedFundingRateFloor": "-0.03000000",
8854
+ # "fundingIntervalHours": 4,
8855
+ # "disclaimer": False
8856
+ # }
8842
8857
  #
8843
8858
  timestamp = self.safe_integer(contract, 'time')
8844
8859
  marketId = self.safe_string(contract, 'symbol')
@@ -8849,6 +8864,10 @@ class binance(Exchange, ImplicitAPI):
8849
8864
  estimatedSettlePrice = self.safe_number(contract, 'estimatedSettlePrice')
8850
8865
  fundingRate = self.safe_number(contract, 'lastFundingRate')
8851
8866
  fundingTime = self.safe_integer(contract, 'nextFundingTime')
8867
+ interval = self.safe_string(contract, 'fundingIntervalHours')
8868
+ intervalString = None
8869
+ if interval is not None:
8870
+ intervalString = interval + 'h'
8852
8871
  return {
8853
8872
  'info': contract,
8854
8873
  'symbol': symbol,
@@ -8867,7 +8886,7 @@ class binance(Exchange, ImplicitAPI):
8867
8886
  'previousFundingRate': None,
8868
8887
  'previousFundingTimestamp': None,
8869
8888
  'previousFundingDatetime': None,
8870
- 'interval': None,
8889
+ 'interval': intervalString,
8871
8890
  }
8872
8891
 
8873
8892
  def parse_account_positions(self, account, filterClosed=False):
@@ -12581,3 +12600,42 @@ class binance(Exchange, ImplicitAPI):
12581
12600
  'price': None,
12582
12601
  'fee': None,
12583
12602
  }
12603
+
12604
+ async def fetch_funding_intervals(self, symbols: Strings = None, params={}) -> FundingRates:
12605
+ """
12606
+ fetch the funding rate interval for multiple markets
12607
+ :see: https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Get-Funding-Info
12608
+ :see: https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/Get-Funding-Info
12609
+ :param str[] [symbols]: list of unified market symbols
12610
+ :param dict [params]: extra parameters specific to the exchange API endpoint
12611
+ :param str [params.subType]: "linear" or "inverse"
12612
+ :returns dict[]: a list of `funding rate structures <https://docs.ccxt.com/#/?id=funding-rate-structure>`
12613
+ """
12614
+ await self.load_markets()
12615
+ market = None
12616
+ if symbols is not None:
12617
+ symbols = self.market_symbols(symbols)
12618
+ market = self.market(symbols[0])
12619
+ type = 'swap'
12620
+ subType = None
12621
+ subType, params = self.handle_sub_type_and_params('fetchFundingIntervals', market, params, 'linear')
12622
+ response = None
12623
+ if self.is_linear(type, subType):
12624
+ response = await self.fapiPublicGetFundingInfo(params)
12625
+ elif self.is_inverse(type, subType):
12626
+ response = await self.dapiPublicGetFundingInfo(params)
12627
+ else:
12628
+ raise NotSupported(self.id + ' fetchFundingIntervals() supports linear and inverse swap contracts only')
12629
+ #
12630
+ # [
12631
+ # {
12632
+ # "symbol": "BLZUSDT",
12633
+ # "adjustedFundingRateCap": "0.03000000",
12634
+ # "adjustedFundingRateFloor": "-0.03000000",
12635
+ # "fundingIntervalHours": 4,
12636
+ # "disclaimer": False
12637
+ # },
12638
+ # ]
12639
+ #
12640
+ result = self.parse_funding_rates(response, market)
12641
+ return self.filter_by_array(result, 'symbol', symbols)
@@ -101,6 +101,8 @@ class bitget(Exchange, ImplicitAPI):
101
101
  'fetchDepositWithdrawFee': 'emulated',
102
102
  'fetchDepositWithdrawFees': True,
103
103
  'fetchFundingHistory': True,
104
+ 'fetchFundingInterval': True,
105
+ 'fetchFundingIntervals': False,
104
106
  'fetchFundingRate': True,
105
107
  'fetchFundingRateHistory': True,
106
108
  'fetchFundingRates': False,
@@ -116,6 +118,7 @@ class bitget(Exchange, ImplicitAPI):
116
118
  'fetchMarketLeverageTiers': True,
117
119
  'fetchMarkets': True,
118
120
  'fetchMarkOHLCV': True,
121
+ 'fetchMarkPrice': True,
119
122
  'fetchMyLiquidations': True,
120
123
  'fetchMyTrades': True,
121
124
  'fetchOHLCV': True,
@@ -2466,6 +2469,14 @@ class bitget(Exchange, ImplicitAPI):
2466
2469
  return self.parse_order_book(data, market['symbol'], timestamp)
2467
2470
 
2468
2471
  def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
2472
+ #
2473
+ # {
2474
+ # "symbol": "BTCUSDT",
2475
+ # "price": "26242",
2476
+ # "indexPrice": "34867",
2477
+ # "markPrice": "25555",
2478
+ # "ts": "1695793390482"
2479
+ # }
2469
2480
  #
2470
2481
  # spot: fetchTicker, fetchTickers
2471
2482
  #
@@ -2571,6 +2582,7 @@ class bitget(Exchange, ImplicitAPI):
2571
2582
  'baseVolume': self.safe_string(ticker, 'baseVolume'),
2572
2583
  'quoteVolume': self.safe_string(ticker, 'quoteVolume'),
2573
2584
  'indexPrice': self.safe_string(ticker, 'indexPrice'),
2585
+ 'markPrice': self.safe_string(ticker, 'markPrice'),
2574
2586
  'info': ticker,
2575
2587
  }, market)
2576
2588
 
@@ -2668,6 +2680,36 @@ class bitget(Exchange, ImplicitAPI):
2668
2680
  data = self.safe_list(response, 'data', [])
2669
2681
  return self.parse_ticker(data[0], market)
2670
2682
 
2683
+ async def fetch_mark_price(self, symbol: str, params={}) -> Ticker:
2684
+ """
2685
+ fetches the mark price for a specific market
2686
+ :see: https://www.bitget.com/api-doc/contract/market/Get-Symbol-Price
2687
+ :param str symbol: unified symbol of the market to fetch the ticker for
2688
+ :param dict [params]: extra parameters specific to the exchange API endpoint
2689
+ :returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
2690
+ """
2691
+ await self.load_markets()
2692
+ sandboxMode = self.safe_bool(self.options, 'sandboxMode', False)
2693
+ market = None
2694
+ if sandboxMode:
2695
+ sandboxSymbol = self.convert_symbol_for_sandbox(symbol)
2696
+ market = self.market(sandboxSymbol)
2697
+ else:
2698
+ market = self.market(symbol)
2699
+ request: dict = {
2700
+ 'symbol': market['id'],
2701
+ }
2702
+ response = None
2703
+ if market['spot']:
2704
+ raise NotSupported(self.id + ' fetchMarkPrice() is not supported for spot markets')
2705
+ else:
2706
+ productType = None
2707
+ productType, params = self.handle_product_type_and_params(market, params)
2708
+ request['productType'] = productType
2709
+ response = await self.publicMixGetV2MixMarketSymbolPrice(self.extend(request, params))
2710
+ data = self.safe_list(response, 'data', [])
2711
+ return self.parse_ticker(data[0], market)
2712
+
2671
2713
  async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
2672
2714
  """
2673
2715
  fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
@@ -6304,14 +6346,29 @@ class bitget(Exchange, ImplicitAPI):
6304
6346
  return self.parse_funding_rate(data[0], market)
6305
6347
 
6306
6348
  def parse_funding_rate(self, contract, market: Market = None) -> FundingRate:
6349
+ #
6350
+ # fetchFundingRate
6307
6351
  #
6308
6352
  # {
6309
6353
  # "symbol": "BTCUSDT",
6310
6354
  # "fundingRate": "-0.000182"
6311
6355
  # }
6312
6356
  #
6357
+ # fetchFundingInterval
6358
+ #
6359
+ # {
6360
+ # "symbol": "BTCUSDT",
6361
+ # "nextFundingTime": "1727942400000",
6362
+ # "ratePeriod": "8"
6363
+ # }
6364
+ #
6313
6365
  marketId = self.safe_string(contract, 'symbol')
6314
6366
  symbol = self.safe_symbol(marketId, market, None, 'swap')
6367
+ fundingTimestamp = self.safe_integer(contract, 'nextFundingTime')
6368
+ interval = self.safe_string(contract, 'ratePeriod')
6369
+ intervalString = None
6370
+ if interval is not None:
6371
+ intervalString = interval + 'h'
6315
6372
  return {
6316
6373
  'info': contract,
6317
6374
  'symbol': symbol,
@@ -6322,15 +6379,15 @@ class bitget(Exchange, ImplicitAPI):
6322
6379
  'timestamp': None,
6323
6380
  'datetime': None,
6324
6381
  'fundingRate': self.safe_number(contract, 'fundingRate'),
6325
- 'fundingTimestamp': None,
6326
- 'fundingDatetime': None,
6382
+ 'fundingTimestamp': fundingTimestamp,
6383
+ 'fundingDatetime': self.iso8601(fundingTimestamp),
6327
6384
  'nextFundingRate': None,
6328
6385
  'nextFundingTimestamp': None,
6329
6386
  'nextFundingDatetime': None,
6330
6387
  'previousFundingRate': None,
6331
6388
  'previousFundingTimestamp': None,
6332
6389
  'previousFundingDatetime': None,
6333
- 'interval': None,
6390
+ 'interval': intervalString,
6334
6391
  }
6335
6392
 
6336
6393
  async def fetch_funding_history(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[FundingHistory]:
@@ -8174,6 +8231,47 @@ class bitget(Exchange, ImplicitAPI):
8174
8231
  }
8175
8232
  return result
8176
8233
 
8234
+ async def fetch_funding_interval(self, symbol: str, params={}) -> FundingRate:
8235
+ """
8236
+ fetch the current funding rate interval
8237
+ :see: https://www.bitget.com/api-doc/contract/market/Get-Symbol-Next-Funding-Time
8238
+ :param str symbol: unified market symbol
8239
+ :param dict [params]: extra parameters specific to the exchange API endpoint
8240
+ :returns dict: a `funding rate structure <https://docs.ccxt.com/#/?id=funding-rate-structure>`
8241
+ """
8242
+ await self.load_markets()
8243
+ sandboxMode = self.safe_bool(self.options, 'sandboxMode', False)
8244
+ market = None
8245
+ if sandboxMode:
8246
+ sandboxSymbol = self.convert_symbol_for_sandbox(symbol)
8247
+ market = self.market(sandboxSymbol)
8248
+ else:
8249
+ market = self.market(symbol)
8250
+ productType = None
8251
+ productType, params = self.handle_product_type_and_params(market, params)
8252
+ request: dict = {
8253
+ 'symbol': market['id'],
8254
+ 'productType': productType,
8255
+ }
8256
+ response = await self.publicMixGetV2MixMarketFundingTime(self.extend(request, params))
8257
+ #
8258
+ # {
8259
+ # "code": "00000",
8260
+ # "msg": "success",
8261
+ # "requestTime": 1727930153888,
8262
+ # "data": [
8263
+ # {
8264
+ # "symbol": "BTCUSDT",
8265
+ # "nextFundingTime": "1727942400000",
8266
+ # "ratePeriod": "8"
8267
+ # }
8268
+ # ]
8269
+ # }
8270
+ #
8271
+ data = self.safe_list(response, 'data', [])
8272
+ first = self.safe_dict(data, 0, {})
8273
+ return self.parse_funding_rate(first, market)
8274
+
8177
8275
  def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
8178
8276
  if not response:
8179
8277
  return None # fallback to default error handler
@@ -345,6 +345,7 @@ class bitrue(Exchange, ImplicitAPI):
345
345
  # 'fetchTradesMethod': 'publicGetAggTrades', # publicGetTrades, publicGetHistoricalTrades
346
346
  'fetchMyTradesMethod': 'v2PrivateGetMyTrades', # spotV1PrivateGetMyTrades
347
347
  'hasAlreadyAuthenticatedSuccessfully': False,
348
+ 'currencyToPrecisionRoundingMode': TRUNCATE,
348
349
  'recvWindow': 5 * 1000, # 5 sec, binance default
349
350
  'timeDifference': 0, # the difference between system clock and Binance clock
350
351
  'adjustForTimeDifference': False, # controls the adjustment logic upon instantiation
@@ -534,13 +535,6 @@ class bitrue(Exchange, ImplicitAPI):
534
535
  },
535
536
  })
536
537
 
537
- def currency_to_precision(self, code, fee, networkCode=None):
538
- # info is available in currencies only if the user has configured his api keys
539
- if self.safe_value(self.currencies[code], 'precision') is not None:
540
- return self.decimal_to_precision(fee, TRUNCATE, self.currencies[code]['precision'], self.precisionMode, self.paddingMode)
541
- else:
542
- return self.number_to_string(fee)
543
-
544
538
  def nonce(self):
545
539
  return self.milliseconds() - self.options['timeDifference']
546
540
 
@@ -284,6 +284,7 @@ class bitvavo(Exchange, ImplicitAPI):
284
284
  },
285
285
  },
286
286
  'options': {
287
+ 'currencyToPrecisionRoundingMode': TRUNCATE,
287
288
  'BITVAVO-ACCESS-WINDOW': 10000, # default 10 sec
288
289
  'networks': {
289
290
  'ERC20': 'ETH',
@@ -296,9 +297,6 @@ class bitvavo(Exchange, ImplicitAPI):
296
297
  },
297
298
  })
298
299
 
299
- def currency_to_precision(self, code, fee, networkCode=None):
300
- return self.decimal_to_precision(fee, 0, self.currencies[code]['precision'], DECIMAL_PLACES)
301
-
302
300
  def amount_to_precision(self, symbol, amount):
303
301
  # https://docs.bitfinex.com/docs/introduction#amount-precision
304
302
  # The amount field allows up to 8 decimals.
@@ -85,6 +85,8 @@ class coinex(Exchange, ImplicitAPI):
85
85
  'fetchDepositWithdrawFee': True,
86
86
  'fetchDepositWithdrawFees': False,
87
87
  'fetchFundingHistory': True,
88
+ 'fetchFundingInterval': True,
89
+ 'fetchFundingIntervals': False,
88
90
  'fetchFundingRate': True,
89
91
  'fetchFundingRateHistory': True,
90
92
  'fetchFundingRates': True,
@@ -4294,9 +4296,19 @@ class coinex(Exchange, ImplicitAPI):
4294
4296
  first = self.safe_dict(data, 0, {})
4295
4297
  return self.parse_funding_rate(first, market)
4296
4298
 
4299
+ async def fetch_funding_interval(self, symbol: str, params={}) -> FundingRate:
4300
+ """
4301
+ fetch the current funding rate interval
4302
+ :see: https://docs.coinex.com/api/v2/futures/market/http/list-market-funding-rate
4303
+ :param str symbol: unified market symbol
4304
+ :param dict [params]: extra parameters specific to the exchange API endpoint
4305
+ :returns dict: a `funding rate structure <https://docs.ccxt.com/#/?id=funding-rate-structure>`
4306
+ """
4307
+ return await self.fetch_funding_rate(symbol, params)
4308
+
4297
4309
  def parse_funding_rate(self, contract, market: Market = None) -> FundingRate:
4298
4310
  #
4299
- # fetchFundingRate, fetchFundingRates
4311
+ # fetchFundingRate, fetchFundingRates, fetchFundingInterval
4300
4312
  #
4301
4313
  # {
4302
4314
  # "latest_funding_rate": "0",
@@ -178,6 +178,7 @@ class cryptocom(Exchange, ImplicitAPI):
178
178
  'public/get-valuations': 1,
179
179
  'public/get-expired-settlement-price': 10 / 3,
180
180
  'public/get-insurance': 1,
181
+ 'public/get-risk-parameters': 1,
181
182
  },
182
183
  'post': {
183
184
  'public/staking/get-conversion-rate': 2,
@@ -72,6 +72,8 @@ class digifinex(Exchange, ImplicitAPI):
72
72
  'fetchDepositWithdrawFee': 'emulated',
73
73
  'fetchDepositWithdrawFees': True,
74
74
  'fetchFundingHistory': True,
75
+ 'fetchFundingInterval': True,
76
+ 'fetchFundingIntervals': False,
75
77
  'fetchFundingRate': True,
76
78
  'fetchFundingRateHistory': True,
77
79
  'fetchFundingRates': False,
@@ -3011,9 +3013,19 @@ class digifinex(Exchange, ImplicitAPI):
3011
3013
  # }
3012
3014
  # }
3013
3015
  #
3014
- data = self.safe_value(response, 'data', {})
3016
+ data = self.safe_dict(response, 'data', {})
3015
3017
  return self.parse_funding_rate(data, market)
3016
3018
 
3019
+ async def fetch_funding_interval(self, symbol: str, params={}) -> FundingRate:
3020
+ """
3021
+ fetch the current funding rate interval
3022
+ :see: https://docs.digifinex.com/en-ww/swap/v2/rest.html#currentfundingrate
3023
+ :param str symbol: unified market symbol
3024
+ :param dict [params]: extra parameters specific to the exchange API endpoint
3025
+ :returns dict: a `funding rate structure <https://docs.ccxt.com/#/?id=funding-rate-structure>`
3026
+ """
3027
+ return await self.fetch_funding_rate(symbol, params)
3028
+
3017
3029
  def parse_funding_rate(self, contract, market: Market = None) -> FundingRate:
3018
3030
  #
3019
3031
  # {
@@ -1249,7 +1249,7 @@ class htx(Exchange, ImplicitAPI):
1249
1249
  'SBTC': 'SUPERBITCOIN',
1250
1250
  'SOUL': 'SOULSAVER',
1251
1251
  'BIFI': 'BITCOINFILE', # conflict with Beefy.Finance https://github.com/ccxt/ccxt/issues/8706
1252
- 'FUD': 'FTX Users\' Debt',
1252
+ 'FUD': 'FTX Users Debt',
1253
1253
  },
1254
1254
  })
1255
1255
 
@@ -323,6 +323,7 @@ class huobijp(Exchange, ImplicitAPI):
323
323
  'fetchMarketsMethod': 'publicGetCommonSymbols',
324
324
  'fetchBalanceMethod': 'privateGetAccountAccountsIdBalance',
325
325
  'createOrderMethod': 'privatePostOrderOrdersPlace',
326
+ 'currencyToPrecisionRoundingMode': TRUNCATE,
326
327
  'language': 'en-US',
327
328
  'broker': {
328
329
  'id': 'AA03022abc',
@@ -1561,9 +1562,6 @@ class huobijp(Exchange, ImplicitAPI):
1561
1562
  }),
1562
1563
  ]
1563
1564
 
1564
- def currency_to_precision(self, code, fee, networkCode=None):
1565
- return self.decimal_to_precision(fee, 0, self.currencies[code]['precision'], self.precisionMode)
1566
-
1567
1565
  def parse_deposit_address(self, depositAddress, currency: Currency = None):
1568
1566
  #
1569
1567
  # {