ccxt 4.3.15__tar.gz → 4.3.16__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 (541) hide show
  1. {ccxt-4.3.15/ccxt.egg-info → ccxt-4.3.16}/PKG-INFO +4 -4
  2. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/__init__.py +1 -1
  3. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/alpaca.py +1 -0
  4. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/ascendex.py +1 -0
  5. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/__init__.py +1 -1
  6. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/alpaca.py +1 -0
  7. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/ascendex.py +1 -0
  8. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/base/exchange.py +18 -13
  9. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/binance.py +1 -0
  10. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bingx.py +1 -0
  11. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bitmex.py +1 -0
  12. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bybit.py +1 -0
  13. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/coinbaseinternational.py +1 -0
  14. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/coinmetro.py +1 -0
  15. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/cryptocom.py +1 -0
  16. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/currencycom.py +1 -0
  17. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/deribit.py +1 -0
  18. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/gate.py +1 -0
  19. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/gemini.py +1 -0
  20. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/hitbtc.py +1 -0
  21. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/hollaex.py +1 -0
  22. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/hyperliquid.py +4 -0
  23. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/idex.py +1 -0
  24. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/krakenfutures.py +1 -0
  25. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/ndax.py +1 -0
  26. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/okx.py +1 -0
  27. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/phemex.py +1 -0
  28. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/poloniex.py +1 -0
  29. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/probit.py +1 -0
  30. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/wavesexchange.py +1 -0
  31. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/woo.py +1 -0
  32. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/zaif.py +1 -1
  33. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/base/exchange.py +18 -13
  34. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/binance.py +1 -0
  35. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bingx.py +1 -0
  36. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bitmex.py +1 -0
  37. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bybit.py +1 -0
  38. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/coinbaseinternational.py +1 -0
  39. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/coinmetro.py +1 -0
  40. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/cryptocom.py +1 -0
  41. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/currencycom.py +1 -0
  42. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/deribit.py +1 -0
  43. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/gate.py +1 -0
  44. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/gemini.py +1 -0
  45. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/hitbtc.py +1 -0
  46. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/hollaex.py +1 -0
  47. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/hyperliquid.py +4 -0
  48. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/idex.py +1 -0
  49. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/krakenfutures.py +1 -0
  50. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/ndax.py +1 -0
  51. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/okx.py +1 -0
  52. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/phemex.py +1 -0
  53. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/poloniex.py +1 -0
  54. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/__init__.py +1 -1
  55. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/probit.py +1 -0
  56. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/wavesexchange.py +1 -0
  57. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/woo.py +1 -0
  58. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/zaif.py +1 -1
  59. {ccxt-4.3.15 → ccxt-4.3.16/ccxt.egg-info}/PKG-INFO +4 -4
  60. {ccxt-4.3.15 → ccxt-4.3.16}/package.json +1 -1
  61. {ccxt-4.3.15 → ccxt-4.3.16}/LICENSE.txt +0 -0
  62. {ccxt-4.3.15 → ccxt-4.3.16}/MANIFEST.in +0 -0
  63. {ccxt-4.3.15 → ccxt-4.3.16}/README.rst +0 -0
  64. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/__init__.py +0 -0
  65. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/ace.py +0 -0
  66. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/alpaca.py +0 -0
  67. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/ascendex.py +0 -0
  68. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bequant.py +0 -0
  69. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bigone.py +0 -0
  70. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/binance.py +0 -0
  71. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/binancecoinm.py +0 -0
  72. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/binanceus.py +0 -0
  73. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/binanceusdm.py +0 -0
  74. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bingx.py +0 -0
  75. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bit2c.py +0 -0
  76. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bitbank.py +0 -0
  77. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bitbay.py +0 -0
  78. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bitbns.py +0 -0
  79. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bitcoincom.py +0 -0
  80. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bitfinex.py +0 -0
  81. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bitfinex2.py +0 -0
  82. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bitflyer.py +0 -0
  83. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bitget.py +0 -0
  84. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bithumb.py +0 -0
  85. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bitmart.py +0 -0
  86. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bitmex.py +0 -0
  87. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bitopro.py +0 -0
  88. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bitpanda.py +0 -0
  89. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bitrue.py +0 -0
  90. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bitso.py +0 -0
  91. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bitstamp.py +0 -0
  92. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bitteam.py +0 -0
  93. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bitvavo.py +0 -0
  94. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bl3p.py +0 -0
  95. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/blockchaincom.py +0 -0
  96. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/blofin.py +0 -0
  97. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/btcalpha.py +0 -0
  98. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/btcbox.py +0 -0
  99. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/btcmarkets.py +0 -0
  100. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/btcturk.py +0 -0
  101. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/bybit.py +0 -0
  102. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/cex.py +0 -0
  103. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/coinbase.py +0 -0
  104. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/coinbaseinternational.py +0 -0
  105. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/coinbasepro.py +0 -0
  106. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/coincheck.py +0 -0
  107. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/coinex.py +0 -0
  108. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/coinlist.py +0 -0
  109. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/coinmate.py +0 -0
  110. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/coinmetro.py +0 -0
  111. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/coinone.py +0 -0
  112. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/coinsph.py +0 -0
  113. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/coinspot.py +0 -0
  114. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/cryptocom.py +0 -0
  115. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/currencycom.py +0 -0
  116. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/delta.py +0 -0
  117. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/deribit.py +0 -0
  118. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/digifinex.py +0 -0
  119. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/exmo.py +0 -0
  120. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/fmfwio.py +0 -0
  121. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/gate.py +0 -0
  122. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/gateio.py +0 -0
  123. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/gemini.py +0 -0
  124. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/hitbtc.py +0 -0
  125. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/hitbtc3.py +0 -0
  126. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/hollaex.py +0 -0
  127. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/htx.py +0 -0
  128. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/huobi.py +0 -0
  129. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/huobijp.py +0 -0
  130. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/hyperliquid.py +0 -0
  131. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/idex.py +0 -0
  132. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/independentreserve.py +0 -0
  133. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/indodax.py +0 -0
  134. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/kraken.py +0 -0
  135. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/krakenfutures.py +0 -0
  136. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/kucoin.py +0 -0
  137. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/kucoinfutures.py +0 -0
  138. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/kuna.py +0 -0
  139. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/latoken.py +0 -0
  140. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/lbank.py +0 -0
  141. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/luno.py +0 -0
  142. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/lykke.py +0 -0
  143. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/mercado.py +0 -0
  144. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/mexc.py +0 -0
  145. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/ndax.py +0 -0
  146. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/novadax.py +0 -0
  147. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/oceanex.py +0 -0
  148. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/okcoin.py +0 -0
  149. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/okx.py +0 -0
  150. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/onetrading.py +0 -0
  151. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/p2b.py +0 -0
  152. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/paymium.py +0 -0
  153. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/phemex.py +0 -0
  154. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/poloniex.py +0 -0
  155. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/poloniexfutures.py +0 -0
  156. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/probit.py +0 -0
  157. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/timex.py +0 -0
  158. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/tokocrypto.py +0 -0
  159. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/tradeogre.py +0 -0
  160. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/upbit.py +0 -0
  161. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/wavesexchange.py +0 -0
  162. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/wazirx.py +0 -0
  163. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/whitebit.py +0 -0
  164. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/woo.py +0 -0
  165. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/yobit.py +0 -0
  166. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/zaif.py +0 -0
  167. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/abstract/zonda.py +0 -0
  168. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/ace.py +0 -0
  169. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/ace.py +0 -0
  170. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/base/__init__.py +0 -0
  171. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/base/throttler.py +0 -0
  172. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/base/ws/__init__.py +0 -0
  173. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  174. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/base/ws/cache.py +0 -0
  175. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/base/ws/client.py +0 -0
  176. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/base/ws/fast_client.py +0 -0
  177. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/base/ws/functions.py +0 -0
  178. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/base/ws/future.py +0 -0
  179. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/base/ws/order_book.py +0 -0
  180. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  181. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bequant.py +0 -0
  182. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bigone.py +0 -0
  183. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/binancecoinm.py +0 -0
  184. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/binanceus.py +0 -0
  185. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/binanceusdm.py +0 -0
  186. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bit2c.py +0 -0
  187. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bitbank.py +0 -0
  188. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bitbay.py +0 -0
  189. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bitbns.py +0 -0
  190. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bitcoincom.py +0 -0
  191. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bitfinex.py +0 -0
  192. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bitfinex2.py +0 -0
  193. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bitflyer.py +0 -0
  194. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bitget.py +0 -0
  195. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bithumb.py +0 -0
  196. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bitmart.py +0 -0
  197. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bitopro.py +0 -0
  198. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bitpanda.py +0 -0
  199. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bitrue.py +0 -0
  200. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bitso.py +0 -0
  201. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bitstamp.py +0 -0
  202. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bitteam.py +0 -0
  203. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bitvavo.py +0 -0
  204. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/bl3p.py +0 -0
  205. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/blockchaincom.py +0 -0
  206. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/blofin.py +0 -0
  207. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/btcalpha.py +0 -0
  208. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/btcbox.py +0 -0
  209. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/btcmarkets.py +0 -0
  210. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/btcturk.py +0 -0
  211. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/cex.py +0 -0
  212. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/coinbase.py +0 -0
  213. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/coinbasepro.py +0 -0
  214. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/coincheck.py +0 -0
  215. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/coinex.py +0 -0
  216. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/coinlist.py +0 -0
  217. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/coinmate.py +0 -0
  218. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/coinone.py +0 -0
  219. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/coinsph.py +0 -0
  220. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/coinspot.py +0 -0
  221. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/delta.py +0 -0
  222. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/digifinex.py +0 -0
  223. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/exmo.py +0 -0
  224. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/fmfwio.py +0 -0
  225. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/gateio.py +0 -0
  226. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/hitbtc3.py +0 -0
  227. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/htx.py +0 -0
  228. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/huobi.py +0 -0
  229. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/huobijp.py +0 -0
  230. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/independentreserve.py +0 -0
  231. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/indodax.py +0 -0
  232. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/kraken.py +0 -0
  233. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/kucoin.py +0 -0
  234. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/kucoinfutures.py +0 -0
  235. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/kuna.py +0 -0
  236. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/latoken.py +0 -0
  237. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/lbank.py +0 -0
  238. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/luno.py +0 -0
  239. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/lykke.py +0 -0
  240. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/mercado.py +0 -0
  241. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/mexc.py +0 -0
  242. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/novadax.py +0 -0
  243. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/oceanex.py +0 -0
  244. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/okcoin.py +0 -0
  245. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/onetrading.py +0 -0
  246. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/p2b.py +0 -0
  247. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/paymium.py +0 -0
  248. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/poloniexfutures.py +0 -0
  249. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/timex.py +0 -0
  250. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/tokocrypto.py +0 -0
  251. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/tradeogre.py +0 -0
  252. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/upbit.py +0 -0
  253. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/wazirx.py +0 -0
  254. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/whitebit.py +0 -0
  255. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/yobit.py +0 -0
  256. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/async_support/zonda.py +0 -0
  257. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/base/__init__.py +0 -0
  258. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/base/decimal_to_precision.py +0 -0
  259. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/base/errors.py +0 -0
  260. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/base/precise.py +0 -0
  261. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/base/types.py +0 -0
  262. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bequant.py +0 -0
  263. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bigone.py +0 -0
  264. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/binancecoinm.py +0 -0
  265. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/binanceus.py +0 -0
  266. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/binanceusdm.py +0 -0
  267. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bit2c.py +0 -0
  268. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bitbank.py +0 -0
  269. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bitbay.py +0 -0
  270. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bitbns.py +0 -0
  271. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bitcoincom.py +0 -0
  272. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bitfinex.py +0 -0
  273. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bitfinex2.py +0 -0
  274. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bitflyer.py +0 -0
  275. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bitget.py +0 -0
  276. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bithumb.py +0 -0
  277. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bitmart.py +0 -0
  278. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bitopro.py +0 -0
  279. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bitpanda.py +0 -0
  280. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bitrue.py +0 -0
  281. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bitso.py +0 -0
  282. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bitstamp.py +0 -0
  283. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bitteam.py +0 -0
  284. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bitvavo.py +0 -0
  285. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/bl3p.py +0 -0
  286. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/blockchaincom.py +0 -0
  287. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/blofin.py +0 -0
  288. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/btcalpha.py +0 -0
  289. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/btcbox.py +0 -0
  290. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/btcmarkets.py +0 -0
  291. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/btcturk.py +0 -0
  292. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/cex.py +0 -0
  293. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/coinbase.py +0 -0
  294. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/coinbasepro.py +0 -0
  295. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/coincheck.py +0 -0
  296. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/coinex.py +0 -0
  297. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/coinlist.py +0 -0
  298. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/coinmate.py +0 -0
  299. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/coinone.py +0 -0
  300. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/coinsph.py +0 -0
  301. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/coinspot.py +0 -0
  302. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/delta.py +0 -0
  303. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/digifinex.py +0 -0
  304. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/exmo.py +0 -0
  305. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/fmfwio.py +0 -0
  306. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/gateio.py +0 -0
  307. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/hitbtc3.py +0 -0
  308. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/htx.py +0 -0
  309. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/huobi.py +0 -0
  310. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/huobijp.py +0 -0
  311. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/independentreserve.py +0 -0
  312. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/indodax.py +0 -0
  313. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/kraken.py +0 -0
  314. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/kucoin.py +0 -0
  315. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/kucoinfutures.py +0 -0
  316. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/kuna.py +0 -0
  317. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/latoken.py +0 -0
  318. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/lbank.py +0 -0
  319. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/luno.py +0 -0
  320. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/lykke.py +0 -0
  321. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/mercado.py +0 -0
  322. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/mexc.py +0 -0
  323. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/novadax.py +0 -0
  324. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/oceanex.py +0 -0
  325. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/okcoin.py +0 -0
  326. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/onetrading.py +0 -0
  327. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/p2b.py +0 -0
  328. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/paymium.py +0 -0
  329. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/poloniexfutures.py +0 -0
  330. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/alpaca.py +0 -0
  331. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/ascendex.py +0 -0
  332. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/bequant.py +0 -0
  333. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/binance.py +0 -0
  334. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/binancecoinm.py +0 -0
  335. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/binanceus.py +0 -0
  336. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/binanceusdm.py +0 -0
  337. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/bingx.py +0 -0
  338. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/bitcoincom.py +0 -0
  339. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/bitfinex.py +0 -0
  340. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/bitfinex2.py +0 -0
  341. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/bitget.py +0 -0
  342. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/bithumb.py +0 -0
  343. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/bitmart.py +0 -0
  344. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/bitmex.py +0 -0
  345. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/bitopro.py +0 -0
  346. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/bitpanda.py +0 -0
  347. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/bitrue.py +0 -0
  348. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/bitstamp.py +0 -0
  349. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/bitvavo.py +0 -0
  350. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/blockchaincom.py +0 -0
  351. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/bybit.py +0 -0
  352. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/cex.py +0 -0
  353. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/coinbase.py +0 -0
  354. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/coinbaseinternational.py +0 -0
  355. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/coinbasepro.py +0 -0
  356. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/coincheck.py +0 -0
  357. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/coinex.py +0 -0
  358. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/coinone.py +0 -0
  359. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/cryptocom.py +0 -0
  360. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/currencycom.py +0 -0
  361. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/deribit.py +0 -0
  362. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/exmo.py +0 -0
  363. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/gate.py +0 -0
  364. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/gateio.py +0 -0
  365. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/gemini.py +0 -0
  366. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/hitbtc.py +0 -0
  367. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/hollaex.py +0 -0
  368. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/htx.py +0 -0
  369. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/huobi.py +0 -0
  370. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/huobijp.py +0 -0
  371. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/hyperliquid.py +0 -0
  372. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/idex.py +0 -0
  373. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/independentreserve.py +0 -0
  374. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/kraken.py +0 -0
  375. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/krakenfutures.py +0 -0
  376. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/kucoin.py +0 -0
  377. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/kucoinfutures.py +0 -0
  378. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/lbank.py +0 -0
  379. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/luno.py +0 -0
  380. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/mexc.py +0 -0
  381. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/ndax.py +0 -0
  382. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/okcoin.py +0 -0
  383. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/okx.py +0 -0
  384. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/onetrading.py +0 -0
  385. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/p2b.py +0 -0
  386. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/phemex.py +0 -0
  387. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/poloniex.py +0 -0
  388. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/poloniexfutures.py +0 -0
  389. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/probit.py +0 -0
  390. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/upbit.py +0 -0
  391. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/wazirx.py +0 -0
  392. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/whitebit.py +0 -0
  393. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/pro/woo.py +0 -0
  394. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/__init__.py +0 -0
  395. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  396. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  397. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  398. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  399. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  400. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  401. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  402. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  403. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  404. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  405. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  406. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  407. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  408. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  409. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  410. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  411. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  412. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  413. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  414. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  415. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  416. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  417. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  418. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  419. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  420. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  421. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  422. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  423. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  424. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  425. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  426. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  427. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  428. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  429. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  430. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  431. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  432. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  433. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  434. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  435. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  436. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  437. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  438. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  439. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  440. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  441. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  442. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  443. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  444. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  445. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  446. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  447. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  448. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  449. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  450. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  451. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  452. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  453. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  454. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  455. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  456. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  457. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  458. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  459. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  460. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  461. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  462. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  463. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  464. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  465. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  466. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  467. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  468. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  469. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  470. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  471. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  472. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  473. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  474. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  475. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  476. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  477. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  478. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  479. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  480. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  481. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/toolz/_version.py +0 -0
  482. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  483. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  484. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  485. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  486. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  487. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  488. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  489. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  490. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/static_dependencies/toolz/utils.py +0 -0
  491. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/__init__.py +0 -0
  492. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/__init__.py +0 -0
  493. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_account.py +0 -0
  494. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_balance.py +0 -0
  495. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_borrow_interest.py +0 -0
  496. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_borrow_rate.py +0 -0
  497. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_calculate_fee.py +0 -0
  498. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_crypto.py +0 -0
  499. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_currency.py +0 -0
  500. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_datetime.py +0 -0
  501. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_decimal_to_precision.py +0 -0
  502. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_deep_extend.py +0 -0
  503. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
  504. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
  505. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_funding_rate_history.py +0 -0
  506. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_last_price.py +0 -0
  507. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_ledger_entry.py +0 -0
  508. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_ledger_item.py +0 -0
  509. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_leverage_tier.py +0 -0
  510. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_margin_mode.py +0 -0
  511. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_margin_modification.py +0 -0
  512. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_market.py +0 -0
  513. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_number.py +0 -0
  514. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_ohlcv.py +0 -0
  515. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_open_interest.py +0 -0
  516. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_order.py +0 -0
  517. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_order_book.py +0 -0
  518. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_position.py +0 -0
  519. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_shared_methods.py +0 -0
  520. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_status.py +0 -0
  521. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_throttle.py +0 -0
  522. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_ticker.py +0 -0
  523. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_trade.py +0 -0
  524. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_trading_fee.py +0 -0
  525. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/base/test_transaction.py +0 -0
  526. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/test_async.py +0 -0
  527. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/test/test_sync.py +0 -0
  528. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/timex.py +0 -0
  529. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/tokocrypto.py +0 -0
  530. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/tradeogre.py +0 -0
  531. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/upbit.py +0 -0
  532. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/wazirx.py +0 -0
  533. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/whitebit.py +0 -0
  534. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/yobit.py +0 -0
  535. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt/zonda.py +0 -0
  536. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt.egg-info/SOURCES.txt +0 -0
  537. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt.egg-info/dependency_links.txt +0 -0
  538. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt.egg-info/requires.txt +0 -0
  539. {ccxt-4.3.15 → ccxt-4.3.16}/ccxt.egg-info/top_level.txt +0 -0
  540. {ccxt-4.3.15 → ccxt-4.3.16}/setup.cfg +0 -0
  541. {ccxt-4.3.15 → ccxt-4.3.16}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.3.15
3
+ Version: 4.3.16
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
@@ -226,13 +226,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
226
226
 
227
227
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
228
228
 
229
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.15/dist/ccxt.browser.js
230
- * unpkg: https://unpkg.com/ccxt@4.3.15/dist/ccxt.browser.js
229
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.16/dist/ccxt.browser.js
230
+ * unpkg: https://unpkg.com/ccxt@4.3.16/dist/ccxt.browser.js
231
231
 
232
232
  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.
233
233
 
234
234
  ```HTML
235
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.15/dist/ccxt.browser.js"></script>
235
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.16/dist/ccxt.browser.js"></script>
236
236
  ```
237
237
 
238
238
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.3.15'
25
+ __version__ = '4.3.16'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -98,6 +98,7 @@ class alpaca(Exchange, ImplicitAPI):
98
98
  'fetchTransactions': False,
99
99
  'fetchTransfers': False,
100
100
  'fetchWithdrawals': False,
101
+ 'sandbox': True,
101
102
  'setLeverage': False,
102
103
  'setMarginMode': False,
103
104
  'transfer': False,
@@ -102,6 +102,7 @@ class ascendex(Exchange, ImplicitAPI):
102
102
  'fetchWithdrawal': False,
103
103
  'fetchWithdrawals': True,
104
104
  'reduceMargin': True,
105
+ 'sandbox': True,
105
106
  'setLeverage': True,
106
107
  'setMarginMode': True,
107
108
  'setPositionMode': False,
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.15'
7
+ __version__ = '4.3.16'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -98,6 +98,7 @@ class alpaca(Exchange, ImplicitAPI):
98
98
  'fetchTransactions': False,
99
99
  'fetchTransfers': False,
100
100
  'fetchWithdrawals': False,
101
+ 'sandbox': True,
101
102
  'setLeverage': False,
102
103
  'setMarginMode': False,
103
104
  'transfer': False,
@@ -102,6 +102,7 @@ class ascendex(Exchange, ImplicitAPI):
102
102
  'fetchWithdrawal': False,
103
103
  'fetchWithdrawals': True,
104
104
  'reduceMargin': True,
105
+ 'sandbox': True,
105
106
  'setLeverage': True,
106
107
  'setMarginMode': True,
107
108
  'setPositionMode': False,
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.3.15'
5
+ __version__ = '4.3.16'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -1775,18 +1775,19 @@ class Exchange(BaseExchange):
1775
1775
  maxRetries = None
1776
1776
  maxRetries, params = self.handle_option_and_params(params, method, 'maxRetries', 3)
1777
1777
  errors = 0
1778
- try:
1779
- if timeframe and method != 'fetchFundingRateHistory':
1780
- return await getattr(self, method)(symbol, timeframe, since, limit, params)
1781
- else:
1782
- return await getattr(self, method)(symbol, since, limit, params)
1783
- except Exception as e:
1784
- if isinstance(e, RateLimitExceeded):
1785
- raise e # if we are rate limited, we should not retry and fail fast
1786
- errors += 1
1787
- if errors > maxRetries:
1788
- raise e
1789
- return None
1778
+ while(errors <= maxRetries):
1779
+ try:
1780
+ if timeframe and method != 'fetchFundingRateHistory':
1781
+ return await getattr(self, method)(symbol, timeframe, since, limit, params)
1782
+ else:
1783
+ return await getattr(self, method)(symbol, since, limit, params)
1784
+ except Exception as e:
1785
+ if isinstance(e, RateLimitExceeded):
1786
+ raise e # if we are rate limited, we should not retry and fail fast
1787
+ errors += 1
1788
+ if errors > maxRetries:
1789
+ raise e
1790
+ return []
1790
1791
 
1791
1792
  async def fetch_paginated_call_deterministic(self, method: str, symbol: Str = None, since: Int = None, limit: Int = None, timeframe: Str = None, params={}, maxEntriesPerRequest=None):
1792
1793
  maxCalls = None
@@ -1799,6 +1800,8 @@ class Exchange(BaseExchange):
1799
1800
  currentSince = current - (maxCalls * step) - 1
1800
1801
  if since is not None:
1801
1802
  currentSince = max(currentSince, since)
1803
+ else:
1804
+ currentSince = max(currentSince, 1241440531000) # avoid timestamps older than 2009
1802
1805
  until = self.safe_integer_2(params, 'until', 'till') # do not omit it here
1803
1806
  if until is not None:
1804
1807
  requiredCalls = int(math.ceil((until - since)) / step)
@@ -1807,6 +1810,8 @@ class Exchange(BaseExchange):
1807
1810
  for i in range(0, maxCalls):
1808
1811
  if (until is not None) and (currentSince >= until):
1809
1812
  break
1813
+ if currentSince >= current:
1814
+ break
1810
1815
  tasks.append(self.safe_deterministic_call(method, symbol, currentSince, maxEntriesPerRequest, timeframe, params))
1811
1816
  currentSince = self.sum(currentSince, step) - 1
1812
1817
  results = await asyncio.gather(*tasks)
@@ -178,6 +178,7 @@ class binance(Exchange, ImplicitAPI):
178
178
  'reduceMargin': True,
179
179
  'repayCrossMargin': True,
180
180
  'repayIsolatedMargin': True,
181
+ 'sandbox': True,
181
182
  'setLeverage': True,
182
183
  'setMargin': False,
183
184
  'setMarginMode': True,
@@ -98,6 +98,7 @@ class bingx(Exchange, ImplicitAPI):
98
98
  'fetchTransfers': True,
99
99
  'fetchWithdrawals': True,
100
100
  'reduceMargin': True,
101
+ 'sandbox': True,
101
102
  'setLeverage': True,
102
103
  'setMargin': True,
103
104
  'setMarginMode': True,
@@ -100,6 +100,7 @@ class bitmex(Exchange, ImplicitAPI):
100
100
  'fetchTransfer': False,
101
101
  'fetchTransfers': False,
102
102
  'reduceMargin': None,
103
+ 'sandbox': True,
103
104
  'setLeverage': True,
104
105
  'setMargin': None,
105
106
  'setMarginMode': True,
@@ -134,6 +134,7 @@ class bybit(Exchange, ImplicitAPI):
134
134
  'fetchVolatilityHistory': True,
135
135
  'fetchWithdrawals': True,
136
136
  'repayCrossMargin': True,
137
+ 'sandbox': True,
137
138
  'setLeverage': True,
138
139
  'setMarginMode': True,
139
140
  'setPositionMode': True,
@@ -113,6 +113,7 @@ class coinbaseinternational(Exchange, ImplicitAPI):
113
113
  'fetchTradingFees': False,
114
114
  'fetchWithdrawals': True,
115
115
  'reduceMargin': False,
116
+ 'sandbox': True,
116
117
  'setLeverage': False,
117
118
  'setMargin': True,
118
119
  'setMarginMode': False,
@@ -122,6 +122,7 @@ class coinmetro(Exchange, ImplicitAPI):
122
122
  'reduceMargin': False,
123
123
  'repayCrossMargin': False,
124
124
  'repayIsolatedMargin': False,
125
+ 'sandbox': True,
125
126
  'setLeverage': False,
126
127
  'setMargin': False,
127
128
  'setMarginMode': False,
@@ -117,6 +117,7 @@ class cryptocom(Exchange, ImplicitAPI):
117
117
  'reduceMargin': False,
118
118
  'repayCrossMargin': False,
119
119
  'repayIsolatedMargin': False,
120
+ 'sandbox': True,
120
121
  'setLeverage': False,
121
122
  'setMarginMode': False,
122
123
  'setPositionMode': False,
@@ -114,6 +114,7 @@ class currencycom(Exchange, ImplicitAPI):
114
114
  'fetchWithdrawal': None,
115
115
  'fetchWithdrawals': True,
116
116
  'reduceMargin': None,
117
+ 'sandbox': True,
117
118
  'setLeverage': None,
118
119
  'setMarginMode': None,
119
120
  'setPositionMode': None,
@@ -107,6 +107,7 @@ class deribit(Exchange, ImplicitAPI):
107
107
  'fetchVolatilityHistory': True,
108
108
  'fetchWithdrawal': False,
109
109
  'fetchWithdrawals': True,
110
+ 'sandbox': True,
110
111
  'transfer': True,
111
112
  'withdraw': True,
112
113
  },
@@ -176,6 +176,7 @@ class gate(Exchange, ImplicitAPI):
176
176
  'reduceMargin': True,
177
177
  'repayCrossMargin': True,
178
178
  'repayIsolatedMargin': True,
179
+ 'sandbox': True,
179
180
  'setLeverage': True,
180
181
  'setMarginMode': False,
181
182
  'setPositionMode': True,
@@ -96,6 +96,7 @@ class gemini(Exchange, ImplicitAPI):
96
96
  'fetchTransactions': 'emulated',
97
97
  'postOnly': True,
98
98
  'reduceMargin': False,
99
+ 'sandbox': True,
99
100
  'setLeverage': False,
100
101
  'setMarginMode': False,
101
102
  'setPositionMode': False,
@@ -108,6 +108,7 @@ class hitbtc(Exchange, ImplicitAPI):
108
108
  'fetchTransactions': 'emulated',
109
109
  'fetchWithdrawals': True,
110
110
  'reduceMargin': True,
111
+ 'sandbox': True,
111
112
  'setLeverage': True,
112
113
  'setMargin': False,
113
114
  'setMarginMode': False,
@@ -96,6 +96,7 @@ class hollaex(Exchange, ImplicitAPI):
96
96
  'fetchWithdrawal': True,
97
97
  'fetchWithdrawals': True,
98
98
  'reduceMargin': False,
99
+ 'sandbox': True,
99
100
  'setLeverage': False,
100
101
  'setMarginMode': False,
101
102
  'setPositionMode': False,
@@ -114,6 +114,7 @@ class hyperliquid(Exchange, ImplicitAPI):
114
114
  'reduceMargin': True,
115
115
  'repayCrossMargin': False,
116
116
  'repayIsolatedMargin': False,
117
+ 'sandbox': True,
117
118
  'setLeverage': True,
118
119
  'setMarginMode': True,
119
120
  'setPositionMode': False,
@@ -443,6 +444,9 @@ class hyperliquid(Exchange, ImplicitAPI):
443
444
  for i in range(0, len(meta)):
444
445
  market = self.safe_dict(meta, i, {})
445
446
  marketName = self.safe_string(market, 'name')
447
+ if marketName.find('/') < 0:
448
+ # there are some weird spot markets in testnet, eg @2
449
+ continue
446
450
  marketParts = marketName.split('/')
447
451
  baseName = self.safe_string(marketParts, 0)
448
452
  quoteId = self.safe_string(marketParts, 1)
@@ -106,6 +106,7 @@ class idex(Exchange, ImplicitAPI):
106
106
  'fetchWithdrawal': True,
107
107
  'fetchWithdrawals': True,
108
108
  'reduceMargin': False,
109
+ 'sandbox': True,
109
110
  'setLeverage': False,
110
111
  'setMarginMode': False,
111
112
  'setPositionMode': False,
@@ -86,6 +86,7 @@ class krakenfutures(Exchange, ImplicitAPI):
86
86
  'fetchPremiumIndexOHLCV': False,
87
87
  'fetchTickers': True,
88
88
  'fetchTrades': True,
89
+ 'sandbox': True,
89
90
  'setLeverage': True,
90
91
  'setMarginMode': False,
91
92
  'transfer': True,
@@ -91,6 +91,7 @@ class ndax(Exchange, ImplicitAPI):
91
91
  'fetchTradingFees': False,
92
92
  'fetchWithdrawals': True,
93
93
  'reduceMargin': False,
94
+ 'sandbox': True,
94
95
  'setLeverage': False,
95
96
  'setMarginMode': False,
96
97
  'setPositionMode': False,
@@ -162,6 +162,7 @@ class okx(Exchange, ImplicitAPI):
162
162
  'fetchWithdrawalWhitelist': False,
163
163
  'reduceMargin': True,
164
164
  'repayCrossMargin': True,
165
+ 'sandbox': True,
165
166
  'setLeverage': True,
166
167
  'setMargin': False,
167
168
  'setMarginMode': True,
@@ -96,6 +96,7 @@ class phemex(Exchange, ImplicitAPI):
96
96
  'fetchTransfers': True,
97
97
  'fetchWithdrawals': True,
98
98
  'reduceMargin': False,
99
+ 'sandbox': True,
99
100
  'setLeverage': True,
100
101
  'setMargin': True,
101
102
  'setMarginMode': True,
@@ -84,6 +84,7 @@ class poloniex(Exchange, ImplicitAPI):
84
84
  'fetchTransfer': False,
85
85
  'fetchTransfers': False,
86
86
  'fetchWithdrawals': True,
87
+ 'sandbox': True,
87
88
  'transfer': True,
88
89
  'withdraw': True,
89
90
  },
@@ -101,6 +101,7 @@ class probit(Exchange, ImplicitAPI):
101
101
  'fetchWithdrawal': False,
102
102
  'fetchWithdrawals': True,
103
103
  'reduceMargin': False,
104
+ 'sandbox': True,
104
105
  'setLeverage': False,
105
106
  'setMarginMode': False,
106
107
  'setPositionMode': False,
@@ -93,6 +93,7 @@ class wavesexchange(Exchange, ImplicitAPI):
93
93
  'fetchTransfer': False,
94
94
  'fetchTransfers': False,
95
95
  'reduceMargin': False,
96
+ 'sandbox': True,
96
97
  'setLeverage': False,
97
98
  'setMarginMode': False,
98
99
  'setPositionMode': False,
@@ -113,6 +113,7 @@ class woo(Exchange, ImplicitAPI):
113
113
  'fetchTransfers': True,
114
114
  'fetchWithdrawals': True,
115
115
  'reduceMargin': False,
116
+ 'sandbox': True,
116
117
  'setLeverage': True,
117
118
  'setMargin': False,
118
119
  'setPositionMode': True,
@@ -649,7 +649,7 @@ class zaif(Exchange, ImplicitAPI):
649
649
  }
650
650
 
651
651
  def custom_nonce(self):
652
- num = (self.milliseconds() / str(1000))
652
+ num = self.number_to_string(self.milliseconds() / 1000)
653
653
  nonce = float(num)
654
654
  return format(nonce, '.8f')
655
655
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.15'
7
+ __version__ = '4.3.16'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -5468,18 +5468,19 @@ class Exchange(object):
5468
5468
  maxRetries = None
5469
5469
  maxRetries, params = self.handle_option_and_params(params, method, 'maxRetries', 3)
5470
5470
  errors = 0
5471
- try:
5472
- if timeframe and method != 'fetchFundingRateHistory':
5473
- return getattr(self, method)(symbol, timeframe, since, limit, params)
5474
- else:
5475
- return getattr(self, method)(symbol, since, limit, params)
5476
- except Exception as e:
5477
- if isinstance(e, RateLimitExceeded):
5478
- raise e # if we are rate limited, we should not retry and fail fast
5479
- errors += 1
5480
- if errors > maxRetries:
5481
- raise e
5482
- return None
5471
+ while(errors <= maxRetries):
5472
+ try:
5473
+ if timeframe and method != 'fetchFundingRateHistory':
5474
+ return getattr(self, method)(symbol, timeframe, since, limit, params)
5475
+ else:
5476
+ return getattr(self, method)(symbol, since, limit, params)
5477
+ except Exception as e:
5478
+ if isinstance(e, RateLimitExceeded):
5479
+ raise e # if we are rate limited, we should not retry and fail fast
5480
+ errors += 1
5481
+ if errors > maxRetries:
5482
+ raise e
5483
+ return []
5483
5484
 
5484
5485
  def fetch_paginated_call_deterministic(self, method: str, symbol: Str = None, since: Int = None, limit: Int = None, timeframe: Str = None, params={}, maxEntriesPerRequest=None):
5485
5486
  maxCalls = None
@@ -5492,6 +5493,8 @@ class Exchange(object):
5492
5493
  currentSince = current - (maxCalls * step) - 1
5493
5494
  if since is not None:
5494
5495
  currentSince = max(currentSince, since)
5496
+ else:
5497
+ currentSince = max(currentSince, 1241440531000) # avoid timestamps older than 2009
5495
5498
  until = self.safe_integer_2(params, 'until', 'till') # do not omit it here
5496
5499
  if until is not None:
5497
5500
  requiredCalls = int(math.ceil((until - since)) / step)
@@ -5500,6 +5503,8 @@ class Exchange(object):
5500
5503
  for i in range(0, maxCalls):
5501
5504
  if (until is not None) and (currentSince >= until):
5502
5505
  break
5506
+ if currentSince >= current:
5507
+ break
5503
5508
  tasks.append(self.safe_deterministic_call(method, symbol, currentSince, maxEntriesPerRequest, timeframe, params))
5504
5509
  currentSince = self.sum(currentSince, step) - 1
5505
5510
  results = tasks
@@ -177,6 +177,7 @@ class binance(Exchange, ImplicitAPI):
177
177
  'reduceMargin': True,
178
178
  'repayCrossMargin': True,
179
179
  'repayIsolatedMargin': True,
180
+ 'sandbox': True,
180
181
  'setLeverage': True,
181
182
  'setMargin': False,
182
183
  'setMarginMode': True,
@@ -97,6 +97,7 @@ class bingx(Exchange, ImplicitAPI):
97
97
  'fetchTransfers': True,
98
98
  'fetchWithdrawals': True,
99
99
  'reduceMargin': True,
100
+ 'sandbox': True,
100
101
  'setLeverage': True,
101
102
  'setMargin': True,
102
103
  'setMarginMode': True,
@@ -100,6 +100,7 @@ class bitmex(Exchange, ImplicitAPI):
100
100
  'fetchTransfer': False,
101
101
  'fetchTransfers': False,
102
102
  'reduceMargin': None,
103
+ 'sandbox': True,
103
104
  'setLeverage': True,
104
105
  'setMargin': None,
105
106
  'setMarginMode': True,
@@ -133,6 +133,7 @@ class bybit(Exchange, ImplicitAPI):
133
133
  'fetchVolatilityHistory': True,
134
134
  'fetchWithdrawals': True,
135
135
  'repayCrossMargin': True,
136
+ 'sandbox': True,
136
137
  'setLeverage': True,
137
138
  'setMarginMode': True,
138
139
  'setPositionMode': True,
@@ -113,6 +113,7 @@ class coinbaseinternational(Exchange, ImplicitAPI):
113
113
  'fetchTradingFees': False,
114
114
  'fetchWithdrawals': True,
115
115
  'reduceMargin': False,
116
+ 'sandbox': True,
116
117
  'setLeverage': False,
117
118
  'setMargin': True,
118
119
  'setMarginMode': False,
@@ -122,6 +122,7 @@ class coinmetro(Exchange, ImplicitAPI):
122
122
  'reduceMargin': False,
123
123
  'repayCrossMargin': False,
124
124
  'repayIsolatedMargin': False,
125
+ 'sandbox': True,
125
126
  'setLeverage': False,
126
127
  'setMargin': False,
127
128
  'setMarginMode': False,
@@ -117,6 +117,7 @@ class cryptocom(Exchange, ImplicitAPI):
117
117
  'reduceMargin': False,
118
118
  'repayCrossMargin': False,
119
119
  'repayIsolatedMargin': False,
120
+ 'sandbox': True,
120
121
  'setLeverage': False,
121
122
  'setMarginMode': False,
122
123
  'setPositionMode': False,
@@ -114,6 +114,7 @@ class currencycom(Exchange, ImplicitAPI):
114
114
  'fetchWithdrawal': None,
115
115
  'fetchWithdrawals': True,
116
116
  'reduceMargin': None,
117
+ 'sandbox': True,
117
118
  'setLeverage': None,
118
119
  'setMarginMode': None,
119
120
  'setPositionMode': None,
@@ -107,6 +107,7 @@ class deribit(Exchange, ImplicitAPI):
107
107
  'fetchVolatilityHistory': True,
108
108
  'fetchWithdrawal': False,
109
109
  'fetchWithdrawals': True,
110
+ 'sandbox': True,
110
111
  'transfer': True,
111
112
  'withdraw': True,
112
113
  },
@@ -175,6 +175,7 @@ class gate(Exchange, ImplicitAPI):
175
175
  'reduceMargin': True,
176
176
  'repayCrossMargin': True,
177
177
  'repayIsolatedMargin': True,
178
+ 'sandbox': True,
178
179
  'setLeverage': True,
179
180
  'setMarginMode': False,
180
181
  'setPositionMode': True,
@@ -95,6 +95,7 @@ class gemini(Exchange, ImplicitAPI):
95
95
  'fetchTransactions': 'emulated',
96
96
  'postOnly': True,
97
97
  'reduceMargin': False,
98
+ 'sandbox': True,
98
99
  'setLeverage': False,
99
100
  'setMarginMode': False,
100
101
  'setPositionMode': False,
@@ -108,6 +108,7 @@ class hitbtc(Exchange, ImplicitAPI):
108
108
  'fetchTransactions': 'emulated',
109
109
  'fetchWithdrawals': True,
110
110
  'reduceMargin': True,
111
+ 'sandbox': True,
111
112
  'setLeverage': True,
112
113
  'setMargin': False,
113
114
  'setMarginMode': False,
@@ -96,6 +96,7 @@ class hollaex(Exchange, ImplicitAPI):
96
96
  'fetchWithdrawal': True,
97
97
  'fetchWithdrawals': True,
98
98
  'reduceMargin': False,
99
+ 'sandbox': True,
99
100
  'setLeverage': False,
100
101
  'setMarginMode': False,
101
102
  'setPositionMode': False,
@@ -113,6 +113,7 @@ class hyperliquid(Exchange, ImplicitAPI):
113
113
  'reduceMargin': True,
114
114
  'repayCrossMargin': False,
115
115
  'repayIsolatedMargin': False,
116
+ 'sandbox': True,
116
117
  'setLeverage': True,
117
118
  'setMarginMode': True,
118
119
  'setPositionMode': False,
@@ -442,6 +443,9 @@ class hyperliquid(Exchange, ImplicitAPI):
442
443
  for i in range(0, len(meta)):
443
444
  market = self.safe_dict(meta, i, {})
444
445
  marketName = self.safe_string(market, 'name')
446
+ if marketName.find('/') < 0:
447
+ # there are some weird spot markets in testnet, eg @2
448
+ continue
445
449
  marketParts = marketName.split('/')
446
450
  baseName = self.safe_string(marketParts, 0)
447
451
  quoteId = self.safe_string(marketParts, 1)
@@ -106,6 +106,7 @@ class idex(Exchange, ImplicitAPI):
106
106
  'fetchWithdrawal': True,
107
107
  'fetchWithdrawals': True,
108
108
  'reduceMargin': False,
109
+ 'sandbox': True,
109
110
  'setLeverage': False,
110
111
  'setMarginMode': False,
111
112
  'setPositionMode': False,
@@ -86,6 +86,7 @@ class krakenfutures(Exchange, ImplicitAPI):
86
86
  'fetchPremiumIndexOHLCV': False,
87
87
  'fetchTickers': True,
88
88
  'fetchTrades': True,
89
+ 'sandbox': True,
89
90
  'setLeverage': True,
90
91
  'setMarginMode': False,
91
92
  'transfer': True,
@@ -91,6 +91,7 @@ class ndax(Exchange, ImplicitAPI):
91
91
  'fetchTradingFees': False,
92
92
  'fetchWithdrawals': True,
93
93
  'reduceMargin': False,
94
+ 'sandbox': True,
94
95
  'setLeverage': False,
95
96
  'setMarginMode': False,
96
97
  'setPositionMode': False,
@@ -161,6 +161,7 @@ class okx(Exchange, ImplicitAPI):
161
161
  'fetchWithdrawalWhitelist': False,
162
162
  'reduceMargin': True,
163
163
  'repayCrossMargin': True,
164
+ 'sandbox': True,
164
165
  'setLeverage': True,
165
166
  'setMargin': False,
166
167
  'setMarginMode': True,
@@ -96,6 +96,7 @@ class phemex(Exchange, ImplicitAPI):
96
96
  'fetchTransfers': True,
97
97
  'fetchWithdrawals': True,
98
98
  'reduceMargin': False,
99
+ 'sandbox': True,
99
100
  'setLeverage': True,
100
101
  'setMargin': True,
101
102
  'setMarginMode': True,
@@ -84,6 +84,7 @@ class poloniex(Exchange, ImplicitAPI):
84
84
  'fetchTransfer': False,
85
85
  'fetchTransfers': False,
86
86
  'fetchWithdrawals': True,
87
+ 'sandbox': True,
87
88
  'transfer': True,
88
89
  'withdraw': True,
89
90
  },