You need to sign in or sign up before continuing.

ccxt 4.4.31__tar.gz → 4.4.33__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 (669) hide show
  1. {ccxt-4.4.31/ccxt.egg-info → ccxt-4.4.33}/PKG-INFO +10 -4
  2. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/__init__.py +1 -1
  3. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/coinbaseexchange.py +1 -0
  4. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/kraken.py +1 -0
  5. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/__init__.py +1 -1
  6. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/base/exchange.py +1 -1
  7. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/base/ws/aiohttp_client.py +25 -3
  8. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/binance.py +153 -0
  9. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bitvavo.py +0 -3
  10. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bybit.py +134 -6
  11. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/cex.py +4 -2
  12. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/coinbase.py +2 -22
  13. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/coinbaseexchange.py +2 -1
  14. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/coinex.py +2 -1
  15. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/deribit.py +2 -2
  16. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/gate.py +15 -2
  17. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/hitbtc.py +3 -3
  18. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/htx.py +1 -1
  19. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/hyperliquid.py +11 -2
  20. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/indodax.py +1 -1
  21. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/kraken.py +3 -2
  22. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/kucoin.py +5 -3
  23. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/kucoinfutures.py +94 -26
  24. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/lbank.py +1 -0
  25. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/okx.py +94 -3
  26. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/phemex.py +34 -21
  27. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/wavesexchange.py +3 -0
  28. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/woofipro.py +2 -2
  29. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/base/exchange.py +92 -2
  30. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/binance.py +153 -0
  31. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bitvavo.py +0 -3
  32. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bybit.py +134 -6
  33. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/cex.py +4 -2
  34. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/coinbase.py +2 -22
  35. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/coinbaseexchange.py +2 -1
  36. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/coinex.py +2 -1
  37. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/deribit.py +2 -2
  38. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/gate.py +15 -2
  39. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/hitbtc.py +3 -3
  40. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/htx.py +1 -1
  41. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/hyperliquid.py +11 -2
  42. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/indodax.py +1 -1
  43. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/kraken.py +3 -2
  44. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/kucoin.py +5 -3
  45. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/kucoinfutures.py +94 -26
  46. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/lbank.py +1 -0
  47. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/okx.py +94 -3
  48. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/phemex.py +34 -21
  49. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/__init__.py +1 -1
  50. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/binance.py +8 -8
  51. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/bitget.py +4 -4
  52. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/bitmart.py +2 -2
  53. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/bitmex.py +2 -2
  54. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/bitvavo.py +46 -45
  55. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/blofin.py +2 -2
  56. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/bybit.py +2 -2
  57. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/cryptocom.py +4 -4
  58. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/gate.py +4 -4
  59. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/hashkey.py +3 -3
  60. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/mexc.py +1 -2
  61. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/okx.py +8 -0
  62. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/test/tests_async.py +3 -1
  63. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/test/tests_helpers.py +1 -1
  64. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/test/tests_sync.py +3 -1
  65. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/wavesexchange.py +3 -0
  66. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/woofipro.py +2 -2
  67. {ccxt-4.4.31 → ccxt-4.4.33/ccxt.egg-info}/PKG-INFO +10 -4
  68. {ccxt-4.4.31 → ccxt-4.4.33}/package.json +1 -1
  69. {ccxt-4.4.31 → ccxt-4.4.33}/LICENSE.txt +0 -0
  70. {ccxt-4.4.31 → ccxt-4.4.33}/MANIFEST.in +0 -0
  71. {ccxt-4.4.31 → ccxt-4.4.33}/README.rst +0 -0
  72. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/__init__.py +0 -0
  73. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/ace.py +0 -0
  74. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/alpaca.py +0 -0
  75. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/ascendex.py +0 -0
  76. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bequant.py +0 -0
  77. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bigone.py +0 -0
  78. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/binance.py +0 -0
  79. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/binancecoinm.py +0 -0
  80. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/binanceus.py +0 -0
  81. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/binanceusdm.py +0 -0
  82. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bingx.py +0 -0
  83. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bit2c.py +0 -0
  84. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bitbank.py +0 -0
  85. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bitbns.py +0 -0
  86. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bitcoincom.py +0 -0
  87. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bitfinex.py +0 -0
  88. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bitfinex2.py +0 -0
  89. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bitflyer.py +0 -0
  90. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bitget.py +0 -0
  91. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bithumb.py +0 -0
  92. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bitmart.py +0 -0
  93. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bitmex.py +0 -0
  94. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bitopro.py +0 -0
  95. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bitpanda.py +0 -0
  96. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bitrue.py +0 -0
  97. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bitso.py +0 -0
  98. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bitstamp.py +0 -0
  99. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bitteam.py +0 -0
  100. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bitvavo.py +0 -0
  101. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bl3p.py +0 -0
  102. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/blockchaincom.py +0 -0
  103. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/blofin.py +0 -0
  104. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/btcalpha.py +0 -0
  105. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/btcbox.py +0 -0
  106. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/btcmarkets.py +0 -0
  107. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/btcturk.py +0 -0
  108. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/bybit.py +0 -0
  109. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/cex.py +0 -0
  110. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/coinbase.py +0 -0
  111. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/coinbaseadvanced.py +0 -0
  112. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/coinbaseinternational.py +0 -0
  113. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/coincatch.py +0 -0
  114. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/coincheck.py +0 -0
  115. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/coinex.py +0 -0
  116. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/coinlist.py +0 -0
  117. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/coinmate.py +0 -0
  118. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/coinmetro.py +0 -0
  119. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/coinone.py +0 -0
  120. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/coinsph.py +0 -0
  121. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/coinspot.py +0 -0
  122. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/cryptocom.py +0 -0
  123. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/currencycom.py +0 -0
  124. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/delta.py +0 -0
  125. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/deribit.py +0 -0
  126. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/digifinex.py +0 -0
  127. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/exmo.py +0 -0
  128. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/fmfwio.py +0 -0
  129. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/gate.py +0 -0
  130. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/gateio.py +0 -0
  131. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/gemini.py +0 -0
  132. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/hashkey.py +0 -0
  133. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/hitbtc.py +0 -0
  134. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/hollaex.py +0 -0
  135. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/htx.py +0 -0
  136. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/huobi.py +0 -0
  137. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/huobijp.py +0 -0
  138. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/hyperliquid.py +0 -0
  139. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/idex.py +0 -0
  140. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/independentreserve.py +0 -0
  141. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/indodax.py +0 -0
  142. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/krakenfutures.py +0 -0
  143. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/kucoin.py +0 -0
  144. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/kucoinfutures.py +0 -0
  145. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/kuna.py +0 -0
  146. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/latoken.py +0 -0
  147. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/lbank.py +0 -0
  148. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/luno.py +0 -0
  149. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/lykke.py +0 -0
  150. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/mercado.py +0 -0
  151. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/mexc.py +0 -0
  152. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/ndax.py +0 -0
  153. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/novadax.py +0 -0
  154. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/oceanex.py +0 -0
  155. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/okcoin.py +0 -0
  156. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/okx.py +0 -0
  157. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/onetrading.py +0 -0
  158. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/oxfun.py +0 -0
  159. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/p2b.py +0 -0
  160. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/paradex.py +0 -0
  161. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/paymium.py +0 -0
  162. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/phemex.py +0 -0
  163. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/poloniex.py +0 -0
  164. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/poloniexfutures.py +0 -0
  165. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/probit.py +0 -0
  166. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/timex.py +0 -0
  167. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/tokocrypto.py +0 -0
  168. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/tradeogre.py +0 -0
  169. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/upbit.py +0 -0
  170. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/vertex.py +0 -0
  171. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/wavesexchange.py +0 -0
  172. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/wazirx.py +0 -0
  173. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/whitebit.py +0 -0
  174. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/woo.py +0 -0
  175. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/woofipro.py +0 -0
  176. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/xt.py +0 -0
  177. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/yobit.py +0 -0
  178. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/zaif.py +0 -0
  179. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/abstract/zonda.py +0 -0
  180. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/ace.py +0 -0
  181. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/alpaca.py +0 -0
  182. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/ascendex.py +0 -0
  183. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/ace.py +0 -0
  184. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/alpaca.py +0 -0
  185. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/ascendex.py +0 -0
  186. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/base/__init__.py +0 -0
  187. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/base/throttler.py +0 -0
  188. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/base/ws/__init__.py +0 -0
  189. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/base/ws/cache.py +0 -0
  190. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/base/ws/client.py +0 -0
  191. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/base/ws/fast_client.py +0 -0
  192. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/base/ws/functions.py +0 -0
  193. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/base/ws/future.py +0 -0
  194. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/base/ws/order_book.py +0 -0
  195. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  196. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bequant.py +0 -0
  197. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bigone.py +0 -0
  198. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/binancecoinm.py +0 -0
  199. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/binanceus.py +0 -0
  200. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/binanceusdm.py +0 -0
  201. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bingx.py +0 -0
  202. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bit2c.py +0 -0
  203. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bitbank.py +0 -0
  204. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bitbay.py +0 -0
  205. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bitbns.py +0 -0
  206. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bitcoincom.py +0 -0
  207. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bitfinex.py +0 -0
  208. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bitfinex2.py +0 -0
  209. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bitflyer.py +0 -0
  210. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bitget.py +0 -0
  211. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bithumb.py +0 -0
  212. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bitmart.py +0 -0
  213. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bitmex.py +0 -0
  214. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bitopro.py +0 -0
  215. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bitpanda.py +0 -0
  216. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bitrue.py +0 -0
  217. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bitso.py +0 -0
  218. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bitstamp.py +0 -0
  219. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bitteam.py +0 -0
  220. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/bl3p.py +0 -0
  221. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/blockchaincom.py +0 -0
  222. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/blofin.py +0 -0
  223. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/btcalpha.py +0 -0
  224. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/btcbox.py +0 -0
  225. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/btcmarkets.py +0 -0
  226. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/btcturk.py +0 -0
  227. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/coinbaseadvanced.py +0 -0
  228. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/coinbaseinternational.py +0 -0
  229. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/coincatch.py +0 -0
  230. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/coincheck.py +0 -0
  231. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/coinlist.py +0 -0
  232. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/coinmate.py +0 -0
  233. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/coinmetro.py +0 -0
  234. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/coinone.py +0 -0
  235. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/coinsph.py +0 -0
  236. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/coinspot.py +0 -0
  237. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/cryptocom.py +0 -0
  238. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/currencycom.py +0 -0
  239. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/delta.py +0 -0
  240. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/digifinex.py +0 -0
  241. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/exmo.py +0 -0
  242. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/fmfwio.py +0 -0
  243. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/gateio.py +0 -0
  244. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/gemini.py +0 -0
  245. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/hashkey.py +0 -0
  246. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/hitbtc3.py +0 -0
  247. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/hollaex.py +0 -0
  248. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/huobi.py +0 -0
  249. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/huobijp.py +0 -0
  250. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/idex.py +0 -0
  251. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/independentreserve.py +0 -0
  252. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/krakenfutures.py +0 -0
  253. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/kuna.py +0 -0
  254. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/latoken.py +0 -0
  255. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/luno.py +0 -0
  256. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/lykke.py +0 -0
  257. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/mercado.py +0 -0
  258. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/mexc.py +0 -0
  259. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/ndax.py +0 -0
  260. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/novadax.py +0 -0
  261. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/oceanex.py +0 -0
  262. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/okcoin.py +0 -0
  263. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/onetrading.py +0 -0
  264. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/oxfun.py +0 -0
  265. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/p2b.py +0 -0
  266. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/paradex.py +0 -0
  267. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/paymium.py +0 -0
  268. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/poloniex.py +0 -0
  269. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/poloniexfutures.py +0 -0
  270. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/probit.py +0 -0
  271. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/timex.py +0 -0
  272. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/tokocrypto.py +0 -0
  273. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/tradeogre.py +0 -0
  274. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/upbit.py +0 -0
  275. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/vertex.py +0 -0
  276. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/wazirx.py +0 -0
  277. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/whitebit.py +0 -0
  278. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/woo.py +0 -0
  279. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/xt.py +0 -0
  280. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/yobit.py +0 -0
  281. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/zaif.py +0 -0
  282. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/async_support/zonda.py +0 -0
  283. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/base/__init__.py +0 -0
  284. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/base/decimal_to_precision.py +0 -0
  285. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/base/errors.py +0 -0
  286. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/base/precise.py +0 -0
  287. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/base/types.py +0 -0
  288. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bequant.py +0 -0
  289. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bigone.py +0 -0
  290. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/binancecoinm.py +0 -0
  291. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/binanceus.py +0 -0
  292. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/binanceusdm.py +0 -0
  293. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bingx.py +0 -0
  294. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bit2c.py +0 -0
  295. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bitbank.py +0 -0
  296. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bitbay.py +0 -0
  297. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bitbns.py +0 -0
  298. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bitcoincom.py +0 -0
  299. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bitfinex.py +0 -0
  300. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bitfinex2.py +0 -0
  301. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bitflyer.py +0 -0
  302. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bitget.py +0 -0
  303. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bithumb.py +0 -0
  304. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bitmart.py +0 -0
  305. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bitmex.py +0 -0
  306. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bitopro.py +0 -0
  307. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bitpanda.py +0 -0
  308. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bitrue.py +0 -0
  309. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bitso.py +0 -0
  310. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bitstamp.py +0 -0
  311. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bitteam.py +0 -0
  312. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/bl3p.py +0 -0
  313. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/blockchaincom.py +0 -0
  314. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/blofin.py +0 -0
  315. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/btcalpha.py +0 -0
  316. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/btcbox.py +0 -0
  317. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/btcmarkets.py +0 -0
  318. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/btcturk.py +0 -0
  319. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/coinbaseadvanced.py +0 -0
  320. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/coinbaseinternational.py +0 -0
  321. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/coincatch.py +0 -0
  322. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/coincheck.py +0 -0
  323. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/coinlist.py +0 -0
  324. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/coinmate.py +0 -0
  325. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/coinmetro.py +0 -0
  326. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/coinone.py +0 -0
  327. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/coinsph.py +0 -0
  328. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/coinspot.py +0 -0
  329. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/cryptocom.py +0 -0
  330. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/currencycom.py +0 -0
  331. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/delta.py +0 -0
  332. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/digifinex.py +0 -0
  333. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/exmo.py +0 -0
  334. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/fmfwio.py +0 -0
  335. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/gateio.py +0 -0
  336. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/gemini.py +0 -0
  337. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/hashkey.py +0 -0
  338. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/hitbtc3.py +0 -0
  339. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/hollaex.py +0 -0
  340. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/huobi.py +0 -0
  341. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/huobijp.py +0 -0
  342. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/idex.py +0 -0
  343. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/independentreserve.py +0 -0
  344. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/krakenfutures.py +0 -0
  345. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/kuna.py +0 -0
  346. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/latoken.py +0 -0
  347. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/luno.py +0 -0
  348. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/lykke.py +0 -0
  349. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/mercado.py +0 -0
  350. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/mexc.py +0 -0
  351. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/ndax.py +0 -0
  352. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/novadax.py +0 -0
  353. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/oceanex.py +0 -0
  354. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/okcoin.py +0 -0
  355. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/onetrading.py +0 -0
  356. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/oxfun.py +0 -0
  357. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/p2b.py +0 -0
  358. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/paradex.py +0 -0
  359. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/paymium.py +0 -0
  360. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/poloniex.py +0 -0
  361. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/poloniexfutures.py +0 -0
  362. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/alpaca.py +0 -0
  363. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/ascendex.py +0 -0
  364. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/bequant.py +0 -0
  365. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/binancecoinm.py +0 -0
  366. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/binanceus.py +0 -0
  367. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/binanceusdm.py +0 -0
  368. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/bingx.py +0 -0
  369. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/bitcoincom.py +0 -0
  370. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/bitfinex.py +0 -0
  371. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/bitfinex2.py +0 -0
  372. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/bithumb.py +0 -0
  373. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/bitopro.py +0 -0
  374. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/bitpanda.py +0 -0
  375. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/bitrue.py +0 -0
  376. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/bitstamp.py +0 -0
  377. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/blockchaincom.py +0 -0
  378. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/cex.py +0 -0
  379. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/coinbase.py +0 -0
  380. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/coinbaseadvanced.py +0 -0
  381. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/coinbaseexchange.py +0 -0
  382. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/coinbaseinternational.py +0 -0
  383. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/coincatch.py +0 -0
  384. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/coincheck.py +0 -0
  385. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/coinex.py +0 -0
  386. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/coinone.py +0 -0
  387. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/currencycom.py +0 -0
  388. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/deribit.py +0 -0
  389. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/exmo.py +0 -0
  390. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/gateio.py +0 -0
  391. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/gemini.py +0 -0
  392. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/hitbtc.py +0 -0
  393. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/hollaex.py +0 -0
  394. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/htx.py +0 -0
  395. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/huobi.py +0 -0
  396. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/huobijp.py +0 -0
  397. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/hyperliquid.py +0 -0
  398. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/idex.py +0 -0
  399. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/independentreserve.py +0 -0
  400. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/kraken.py +0 -0
  401. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/krakenfutures.py +0 -0
  402. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/kucoin.py +0 -0
  403. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/kucoinfutures.py +0 -0
  404. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/lbank.py +0 -0
  405. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/luno.py +0 -0
  406. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/ndax.py +0 -0
  407. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/okcoin.py +0 -0
  408. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/onetrading.py +0 -0
  409. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/oxfun.py +0 -0
  410. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/p2b.py +0 -0
  411. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/paradex.py +0 -0
  412. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/phemex.py +0 -0
  413. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/poloniex.py +0 -0
  414. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/poloniexfutures.py +0 -0
  415. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/probit.py +0 -0
  416. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/upbit.py +0 -0
  417. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/vertex.py +0 -0
  418. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/wazirx.py +0 -0
  419. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/whitebit.py +0 -0
  420. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/woo.py +0 -0
  421. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/woofipro.py +0 -0
  422. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/pro/xt.py +0 -0
  423. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/probit.py +0 -0
  424. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/__init__.py +0 -0
  425. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  426. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  427. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  428. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  429. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  430. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  431. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  432. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  433. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  434. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  435. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  436. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  437. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  438. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  439. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  440. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  441. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  442. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  443. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  444. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  445. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  446. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  447. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  448. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  449. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  450. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  451. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  452. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  453. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  454. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  455. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  456. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  457. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  458. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  459. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  460. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  461. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  462. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  463. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  464. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  465. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  466. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  467. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  468. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  469. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  470. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  471. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  472. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  473. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  474. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  475. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  476. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  477. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  478. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  479. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  480. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  481. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  482. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  483. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  484. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  485. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  486. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  487. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  488. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  489. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  490. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  491. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  492. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  493. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  494. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  495. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  496. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  497. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  498. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  499. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/__init__.py +0 -0
  500. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -0
  501. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -0
  502. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/ast_utils.py +0 -0
  503. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/common.py +0 -0
  504. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/exceptions.py +0 -0
  505. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/grammar.py +0 -0
  506. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
  507. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/indenter.py +0 -0
  508. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/lark.py +0 -0
  509. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/lexer.py +0 -0
  510. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/load_grammar.py +0 -0
  511. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -0
  512. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/parser_frontends.py +0 -0
  513. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
  514. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/parsers/cyk.py +0 -0
  515. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/parsers/earley.py +0 -0
  516. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -0
  517. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -0
  518. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -0
  519. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -0
  520. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -0
  521. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -0
  522. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -0
  523. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/parsers/xearley.py +0 -0
  524. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/py.typed +0 -0
  525. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/reconstruct.py +0 -0
  526. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/tools/__init__.py +0 -0
  527. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/tools/nearley.py +0 -0
  528. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/tools/serialize.py +0 -0
  529. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/tools/standalone.py +0 -0
  530. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/tree.py +0 -0
  531. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/tree_matcher.py +0 -0
  532. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/tree_templates.py +0 -0
  533. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/utils.py +0 -0
  534. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/lark/visitors.py +0 -0
  535. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow/__init__.py +0 -0
  536. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow/base.py +0 -0
  537. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow/class_registry.py +0 -0
  538. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow/decorators.py +0 -0
  539. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow/error_store.py +0 -0
  540. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow/exceptions.py +0 -0
  541. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow/fields.py +0 -0
  542. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow/orderedset.py +0 -0
  543. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow/py.typed +0 -0
  544. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow/schema.py +0 -0
  545. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow/types.py +0 -0
  546. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow/utils.py +0 -0
  547. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow/validate.py +0 -0
  548. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow/warnings.py +0 -0
  549. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -0
  550. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -0
  551. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -0
  552. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -0
  553. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  554. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -0
  555. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -0
  556. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -0
  557. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -0
  558. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  559. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  560. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  561. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  562. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  563. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  564. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  565. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  566. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  567. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  568. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  569. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/__init__.py +0 -0
  570. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
  571. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -0
  572. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
  573. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -0
  574. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -0
  575. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -0
  576. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/cairo/felt.py +0 -0
  577. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -0
  578. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
  579. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -0
  580. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
  581. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -0
  582. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -0
  583. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/common.py +0 -0
  584. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/constants.py +0 -0
  585. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
  586. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/hash/address.py +0 -0
  587. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -0
  588. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/hash/selector.py +0 -0
  589. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/hash/storage.py +0 -0
  590. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/hash/utils.py +0 -0
  591. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
  592. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/models/typed_data.py +0 -0
  593. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -0
  594. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -0
  595. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/_context.py +0 -0
  596. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -0
  597. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -0
  598. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -0
  599. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -0
  600. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -0
  601. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -0
  602. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -0
  603. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -0
  604. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -0
  605. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -0
  606. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -0
  607. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -0
  608. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -0
  609. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -0
  610. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -0
  611. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -0
  612. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -0
  613. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/errors.py +0 -0
  614. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/factory.py +0 -0
  615. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -0
  616. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -0
  617. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
  618. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -0
  619. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/utils/iterable.py +0 -0
  620. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/utils/schema.py +0 -0
  621. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -0
  622. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starkware/__init__.py +0 -0
  623. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
  624. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -0
  625. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -0
  626. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starkware/crypto/signature.py +0 -0
  627. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/starkware/crypto/utils.py +0 -0
  628. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/sympy/__init__.py +0 -0
  629. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
  630. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/sympy/core/intfunc.py +0 -0
  631. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
  632. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/sympy/external/gmpy.py +0 -0
  633. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/sympy/external/importtools.py +0 -0
  634. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/sympy/external/ntheory.py +0 -0
  635. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -0
  636. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  637. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  638. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/toolz/_version.py +0 -0
  639. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  640. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  641. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  642. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  643. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  644. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  645. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  646. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  647. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/toolz/utils.py +0 -0
  648. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
  649. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/static_dependencies/typing_inspect/typing_inspect.py +0 -0
  650. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/test/__init__.py +0 -0
  651. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/test/tests_init.py +0 -0
  652. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/timex.py +0 -0
  653. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/tokocrypto.py +0 -0
  654. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/tradeogre.py +0 -0
  655. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/upbit.py +0 -0
  656. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/vertex.py +0 -0
  657. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/wazirx.py +0 -0
  658. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/whitebit.py +0 -0
  659. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/woo.py +0 -0
  660. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/xt.py +0 -0
  661. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/yobit.py +0 -0
  662. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/zaif.py +0 -0
  663. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt/zonda.py +0 -0
  664. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt.egg-info/SOURCES.txt +0 -0
  665. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt.egg-info/dependency_links.txt +0 -0
  666. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt.egg-info/requires.txt +0 -0
  667. {ccxt-4.4.31 → ccxt-4.4.33}/ccxt.egg-info/top_level.txt +0 -0
  668. {ccxt-4.4.31 → ccxt-4.4.33}/setup.cfg +0 -0
  669. {ccxt-4.4.31 → ccxt-4.4.33}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.4.31
3
+ Version: 4.4.33
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
@@ -262,13 +262,13 @@ console.log(version, Object.keys(exchanges));
262
262
 
263
263
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
264
264
 
265
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.31/dist/ccxt.browser.min.js
266
- * unpkg: https://unpkg.com/ccxt@4.4.31/dist/ccxt.browser.min.js
265
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.33/dist/ccxt.browser.min.js
266
+ * unpkg: https://unpkg.com/ccxt@4.4.33/dist/ccxt.browser.min.js
267
267
 
268
268
  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.
269
269
 
270
270
  ```HTML
271
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.31/dist/ccxt.browser.min.js"></script>
271
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.33/dist/ccxt.browser.min.js"></script>
272
272
  ```
273
273
 
274
274
  Creates a global `ccxt` object:
@@ -296,6 +296,12 @@ The library supports concurrent asynchronous mode with asyncio and async/await i
296
296
  import ccxt.async_support as ccxt # link against the asynchronous version of ccxt
297
297
  ```
298
298
 
299
+ #### orjson support
300
+
301
+ CCXT also supports `orjson` for parsing JSON since it is much faster than the builtin library. This is especially important when using websockets because some exchanges return big messages that need to be parsed and dispatched as quickly as possible.
302
+
303
+ However, `orjson` is not enabled by default because it is not supported by every python interpreter. If you want to opt-in, you just need to install it (`pip install orjson`) on your local environment. CCXT will detect the installion and pick it up automatically.
304
+
299
305
  ### PHP
300
306
 
301
307
  [ccxt in PHP with **Packagist/Composer**](https://packagist.org/packages/ccxt/ccxt) (PHP 7.0+)
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.4.31'
25
+ __version__ = '4.4.33'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -12,6 +12,7 @@ class ImplicitAPI:
12
12
  public_get_products_id_trades = publicGetProductsIdTrades = Entry('products/{id}/trades', 'public', 'GET', {})
13
13
  public_get_time = publicGetTime = Entry('time', 'public', 'GET', {})
14
14
  public_get_products_spark_lines = publicGetProductsSparkLines = Entry('products/spark-lines', 'public', 'GET', {})
15
+ public_get_products_volume_summary = publicGetProductsVolumeSummary = Entry('products/volume-summary', 'public', 'GET', {})
15
16
  private_get_address_book = privateGetAddressBook = Entry('address-book', 'private', 'GET', {})
16
17
  private_get_accounts = privateGetAccounts = Entry('accounts', 'private', 'GET', {})
17
18
  private_get_accounts_id = privateGetAccountsId = Entry('accounts/{id}', 'private', 'GET', {})
@@ -16,6 +16,7 @@ class ImplicitAPI:
16
16
  private_post_addorder = privatePostAddOrder = Entry('AddOrder', 'private', 'POST', {'cost': 0})
17
17
  private_post_addorderbatch = privatePostAddOrderBatch = Entry('AddOrderBatch', 'private', 'POST', {'cost': 0})
18
18
  private_post_addexport = privatePostAddExport = Entry('AddExport', 'private', 'POST', {'cost': 3})
19
+ private_post_amendorder = privatePostAmendOrder = Entry('AmendOrder', 'private', 'POST', {'cost': 0})
19
20
  private_post_balance = privatePostBalance = Entry('Balance', 'private', 'POST', {'cost': 3})
20
21
  private_post_cancelall = privatePostCancelAll = Entry('CancelAll', 'private', 'POST', {'cost': 3})
21
22
  private_post_cancelallordersafter = privatePostCancelAllOrdersAfter = Entry('CancelAllOrdersAfter', 'private', 'POST', {'cost': 3})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.4.31'
7
+ __version__ = '4.4.33'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.4.31'
5
+ __version__ = '4.4.33'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -1,5 +1,11 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
+ orjson = None
4
+ try:
5
+ import orjson as orjson
6
+ except ImportError:
7
+ pass
8
+
3
9
  import json
4
10
  from asyncio import sleep, ensure_future
5
11
  from aiohttp import WSMsgType
@@ -25,8 +31,16 @@ class AiohttpClient(Client):
25
31
  self.log(iso8601(milliseconds()), 'message', data)
26
32
  if isinstance(data, bytes):
27
33
  data = data.decode()
28
- decoded = json.loads(data) if is_json_encoded_object(data) else data
29
- self.on_message_callback(self, decoded)
34
+ # decoded = json.loads(data) if is_json_encoded_object(data) else data
35
+ decode = None
36
+ if is_json_encoded_object(data):
37
+ if orjson is None:
38
+ decode = json.loads(data)
39
+ else:
40
+ decode = orjson.loads(data)
41
+ else:
42
+ decode = data
43
+ self.on_message_callback(self, decode)
30
44
 
31
45
  def handle_message(self, message):
32
46
  # self.log(iso8601(milliseconds()), message)
@@ -80,7 +94,15 @@ class AiohttpClient(Client):
80
94
  async def send(self, message):
81
95
  if self.verbose:
82
96
  self.log(iso8601(milliseconds()), 'sending', message)
83
- return await self.connection.send_str(message if isinstance(message, str) else json.dumps(message, separators=(',', ':')))
97
+ send_msg = None
98
+ if isinstance(message, str):
99
+ send_msg = message
100
+ else:
101
+ if orjson is None:
102
+ send_msg = json.dumps(message, separators=(',', ':'))
103
+ else:
104
+ send_msg = orjson.dumps(message).decode('utf-8')
105
+ return await self.connection.send_str(send_msg)
84
106
 
85
107
  async def close(self, code=1000):
86
108
  if self.verbose:
@@ -1579,6 +1579,157 @@ class binance(Exchange, ImplicitAPI):
1579
1579
  'BUSD': 'USD',
1580
1580
  },
1581
1581
  },
1582
+ 'features': {
1583
+ # https://developers.binance.com/docs/binance-spot-api-docs/rest-api#:~:text=quoteOrderQty
1584
+ 'spot': {
1585
+ 'sandbox': True,
1586
+ 'createOrder': {
1587
+ 'triggerPrice': True,
1588
+ 'triggerPriceType': None,
1589
+ 'triggerDirection': False,
1590
+ 'stopLossPrice': True,
1591
+ 'takeProfitPrice': True,
1592
+ 'attachedStopLossTakeProfit': None, # not supported
1593
+ 'marginMode': True,
1594
+ 'timeInForce': {
1595
+ 'GTC': True,
1596
+ 'IOC': True,
1597
+ 'FOK': True,
1598
+ 'PO': True,
1599
+ 'GTD': False,
1600
+ },
1601
+ 'hedged': True,
1602
+ # exchange-supported features
1603
+ 'selfTradePrevention': True,
1604
+ 'trailing': True,
1605
+ 'twap': False,
1606
+ 'iceberg': True,
1607
+ 'oco': False,
1608
+ },
1609
+ 'createOrders': None,
1610
+ 'fetchMyTrades': {
1611
+ 'limit': 1000,
1612
+ 'daysBack': None,
1613
+ 'untilDays': 1, # days between start-end
1614
+ },
1615
+ 'fetchOrder': {
1616
+ 'marginMode': True,
1617
+ 'trigger': False,
1618
+ 'trailing': False,
1619
+ },
1620
+ 'fetchOpenOrders': {
1621
+ 'limit': None,
1622
+ 'marginMode': True,
1623
+ 'trigger': False,
1624
+ 'trailing': False,
1625
+ },
1626
+ 'fetchOrders': {
1627
+ 'limit': 1000,
1628
+ 'daysBack': None,
1629
+ 'untilDays': 10000,
1630
+ 'marginMode': True,
1631
+ 'trigger': False,
1632
+ 'trailing': False,
1633
+ },
1634
+ 'fetchClosedOrders': {
1635
+ 'limit': 1000,
1636
+ 'daysBackClosed': None,
1637
+ 'daysBackCanceled': None,
1638
+ 'untilDays': 10000,
1639
+ 'marginMode': True,
1640
+ 'trigger': False,
1641
+ 'trailing': False,
1642
+ },
1643
+ 'fetchOHLCV': {
1644
+ 'limit': 1000,
1645
+ },
1646
+ },
1647
+ 'default': {
1648
+ 'sandbox': True,
1649
+ 'createOrder': {
1650
+ 'triggerPrice': True,
1651
+ 'triggerPriceType': {
1652
+ 'mark': True,
1653
+ 'last': True,
1654
+ 'index': False,
1655
+ },
1656
+ 'stopLossPrice': True,
1657
+ 'takeProfitPrice': True,
1658
+ 'attachedStopLossTakeProfit': None, # not supported
1659
+ 'marginMode': False,
1660
+ 'timeInForce': {
1661
+ 'GTC': True,
1662
+ 'IOC': True,
1663
+ 'FOK': True,
1664
+ 'PO': True,
1665
+ 'GTD': True,
1666
+ # 'GTX': True,
1667
+ },
1668
+ 'hedged': True,
1669
+ # exchange-supported features
1670
+ 'selfTradePrevention': True,
1671
+ 'trailing': True,
1672
+ 'twap': False,
1673
+ 'iceberg': False,
1674
+ 'oco': False,
1675
+ },
1676
+ 'createOrders': {
1677
+ 'max': 5,
1678
+ },
1679
+ 'fetchMyTrades': {
1680
+ 'daysBack': None,
1681
+ 'limit': 1000,
1682
+ 'untilDays': 7,
1683
+ },
1684
+ 'fetchOrder': {
1685
+ 'marginMode': False,
1686
+ 'trigger': False,
1687
+ 'trailing': False,
1688
+ },
1689
+ 'fetchOpenOrders': {
1690
+ 'limit': 500,
1691
+ 'marginMode': True,
1692
+ 'trigger': False,
1693
+ 'trailing': False,
1694
+ },
1695
+ 'fetchOrders': {
1696
+ 'limit': 1000,
1697
+ 'daysBack': 90,
1698
+ 'untilDays': 7,
1699
+ 'marginMode': True,
1700
+ 'trigger': False,
1701
+ 'trailing': False,
1702
+ },
1703
+ 'fetchClosedOrders': {
1704
+ 'limit': 1000,
1705
+ 'daysBackClosed': 90,
1706
+ 'daysBackCanceled': 3,
1707
+ 'untilDays': 7,
1708
+ 'marginMode': True,
1709
+ 'trigger': False,
1710
+ 'trailing': False,
1711
+ },
1712
+ 'fetchOHLCV': {
1713
+ 'limit': 1500,
1714
+ },
1715
+ },
1716
+ 'swap': {
1717
+ 'linear': {
1718
+ 'extends': 'default',
1719
+ },
1720
+ 'inverse': {
1721
+ 'extends': 'default',
1722
+ },
1723
+ },
1724
+ 'future': {
1725
+ 'linear': {
1726
+ 'extends': 'default',
1727
+ },
1728
+ 'inverse': {
1729
+ 'extends': 'default',
1730
+ },
1731
+ },
1732
+ },
1582
1733
  'exceptions': {
1583
1734
  'spot': {
1584
1735
  'exact': {
@@ -1974,6 +2125,8 @@ class binance(Exchange, ImplicitAPI):
1974
2125
  '-4088': PermissionDenied, # User can not place order currently
1975
2126
  '-4114': BadRequest, # INVALID_CLIENT_TRAN_ID_LEN
1976
2127
  '-4115': BadRequest, # DUPLICATED_CLIENT_TRAN_ID
2128
+ '-4116': InvalidOrder, # DUPLICATED_CLIENT_ORDER_ID
2129
+ '-4117': OperationRejected, # STOP_ORDER_TRIGGERING
1977
2130
  '-4118': OperationRejected, # REDUCE_ONLY_MARGIN_CHECK_FAILED
1978
2131
  '-4131': OperationRejected, # The counterparty's best price does not meet the PERCENT_PRICE filter limit
1979
2132
  '-4140': BadRequest, # Invalid symbol status for opening position
@@ -1097,9 +1097,6 @@ class bitvavo(Exchange, ImplicitAPI):
1097
1097
  request['timeInForce'] = timeInForce
1098
1098
  if postOnly:
1099
1099
  request['postOnly'] = True
1100
- clientOrderId = self.safe_string(params, 'clientOrderId')
1101
- if clientOrderId is None:
1102
- request['clientOrderId'] = self.uuid22()
1103
1100
  return self.extend(request, params)
1104
1101
 
1105
1102
  async def create_order(self, symbol: Str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
@@ -12,6 +12,7 @@ from typing import List
12
12
  from ccxt.base.errors import ExchangeError
13
13
  from ccxt.base.errors import AuthenticationError
14
14
  from ccxt.base.errors import PermissionDenied
15
+ from ccxt.base.errors import AccountSuspended
15
16
  from ccxt.base.errors import ArgumentsRequired
16
17
  from ccxt.base.errors import BadRequest
17
18
  from ccxt.base.errors import BadSymbol
@@ -568,7 +569,7 @@ class bybit(Exchange, ImplicitAPI):
568
569
  '10005': PermissionDenied, # permission denied for current apikey
569
570
  '10006': RateLimitExceeded, # too many requests
570
571
  '10007': AuthenticationError, # api_key not found in your request parameters
571
- '10008': AuthenticationError, # User had been banned
572
+ '10008': AccountSuspended, # User had been banned
572
573
  '10009': AuthenticationError, # IP had been banned
573
574
  '10010': PermissionDenied, # request ip mismatch
574
575
  '10014': BadRequest, # Request is duplicate
@@ -1012,7 +1013,7 @@ class bybit(Exchange, ImplicitAPI):
1012
1013
  'enableUnifiedMargin': None,
1013
1014
  'enableUnifiedAccount': None,
1014
1015
  'unifiedMarginStatus': None,
1015
- 'createMarketBuyOrderRequiresPrice': True, # only True for classic accounts
1016
+ 'createMarketBuyOrderRequiresPrice': False, # only True for classic accounts
1016
1017
  'createUnifiedMarginAccount': False,
1017
1018
  'defaultType': 'swap', # 'swap', 'future', 'option', 'spot'
1018
1019
  'defaultSubType': 'linear', # 'linear', 'inverse'
@@ -1072,6 +1073,122 @@ class bybit(Exchange, ImplicitAPI):
1072
1073
  '1d': '1d',
1073
1074
  },
1074
1075
  },
1076
+ 'features': {
1077
+ 'default': {
1078
+ 'sandbox': True,
1079
+ 'createOrder': {
1080
+ 'triggerPrice': True,
1081
+ 'triggerPriceType': {
1082
+ 'last': True,
1083
+ 'mark': True,
1084
+ 'index': True,
1085
+ },
1086
+ 'triggerDirection': True,
1087
+ 'stopLossPrice': True,
1088
+ 'takeProfitPrice': True,
1089
+ 'attachedStopLossTakeProfit': {
1090
+ 'triggerPriceType': {
1091
+ 'last': True,
1092
+ 'mark': True,
1093
+ 'index': True,
1094
+ },
1095
+ 'limitPrice': True,
1096
+ },
1097
+ 'marginMode': False,
1098
+ 'timeInForce': {
1099
+ 'GTC': True,
1100
+ 'IOC': True,
1101
+ 'FOK': True,
1102
+ 'PO': True,
1103
+ 'GTD': False,
1104
+ },
1105
+ 'hedged': True,
1106
+ # exchange-supported features
1107
+ 'selfTradePrevention': True,
1108
+ 'trailing': True,
1109
+ 'twap': False,
1110
+ 'iceberg': False,
1111
+ 'oco': False,
1112
+ },
1113
+ 'createOrders': {
1114
+ 'max': 10,
1115
+ },
1116
+ 'fetchMyTrades': {
1117
+ 'limit': 100,
1118
+ 'daysBack': 365 * 2, # 2 years
1119
+ 'untilDays': 7, # days between start-end
1120
+ },
1121
+ 'fetchOrder': {
1122
+ 'marginMode': False,
1123
+ 'trigger': True,
1124
+ 'trailing': False,
1125
+ },
1126
+ 'fetchOpenOrders': {
1127
+ 'limit': 50,
1128
+ 'marginMode': False,
1129
+ 'trigger': True,
1130
+ 'trailing': False,
1131
+ },
1132
+ 'fetchOrders': None,
1133
+ 'fetchClosedOrders': {
1134
+ 'limit': 50,
1135
+ 'daysBackClosed': 365 * 2, # 2 years
1136
+ 'daysBackCanceled': 1,
1137
+ 'untilDays': 7,
1138
+ 'marginMode': False,
1139
+ 'trigger': True,
1140
+ 'trailing': False,
1141
+ },
1142
+ 'fetchOHLCV': {
1143
+ 'limit': 1000,
1144
+ },
1145
+ },
1146
+ 'spot': {
1147
+ 'extends': 'default',
1148
+ 'createOrder': {
1149
+ 'triggerPrice': True,
1150
+ 'triggerPriceType': None,
1151
+ 'triggerDirection': False,
1152
+ 'stopLossPrice': True,
1153
+ 'takeProfitPrice': True,
1154
+ 'attachedStopLossTakeProfit': {
1155
+ 'triggerPriceType': None,
1156
+ 'limitPrice': True,
1157
+ },
1158
+ 'marginMode': False,
1159
+ 'timeInForce': {
1160
+ 'GTC': True,
1161
+ 'IOC': True,
1162
+ 'FOK': True,
1163
+ 'PO': True,
1164
+ 'GTD': False,
1165
+ },
1166
+ 'hedged': True,
1167
+ # exchange-supported features
1168
+ 'selfTradePrevention': True,
1169
+ 'trailing': True,
1170
+ 'twap': False,
1171
+ 'iceberg': False,
1172
+ 'oco': False,
1173
+ },
1174
+ },
1175
+ 'swap': {
1176
+ 'linear': {
1177
+ 'extends': 'default',
1178
+ },
1179
+ 'inverse': {
1180
+ 'extends': 'default',
1181
+ },
1182
+ },
1183
+ 'future': {
1184
+ 'linear': {
1185
+ 'extends': 'default',
1186
+ },
1187
+ 'inverse': {
1188
+ 'extends': 'default',
1189
+ },
1190
+ },
1191
+ },
1075
1192
  'fees': {
1076
1193
  'trading': {
1077
1194
  'feeSide': 'get',
@@ -3346,11 +3463,17 @@ class bybit(Exchange, ImplicitAPI):
3346
3463
  market = self.safe_market(marketId, market, None, marketType)
3347
3464
  symbol = market['symbol']
3348
3465
  timestamp = self.safe_integer_2(order, 'createdTime', 'createdAt')
3466
+ marketUnit = self.safe_string(order, 'marketUnit', 'baseCoin')
3349
3467
  id = self.safe_string(order, 'orderId')
3350
3468
  type = self.safe_string_lower(order, 'orderType')
3351
3469
  price = self.safe_string(order, 'price')
3352
- amount = self.safe_string(order, 'qty')
3353
- cost = self.safe_string(order, 'cumExecValue')
3470
+ amount: Str = None
3471
+ cost: Str = None
3472
+ if marketUnit == 'baseCoin':
3473
+ amount = self.safe_string(order, 'qty')
3474
+ cost = self.safe_string(order, 'cumExecValue')
3475
+ else:
3476
+ cost = self.safe_string(order, 'cumExecValue')
3354
3477
  filled = self.safe_string(order, 'cumExecQty')
3355
3478
  remaining = self.safe_string(order, 'leavesQty')
3356
3479
  lastTradeTimestamp = self.safe_integer_2(order, 'updatedTime', 'updatedAt')
@@ -3666,7 +3789,7 @@ class bybit(Exchange, ImplicitAPI):
3666
3789
  # classic accounts
3667
3790
  # for market buy it requires the amount of quote currency to spend
3668
3791
  createMarketBuyOrderRequiresPrice = True
3669
- createMarketBuyOrderRequiresPrice, params = self.handle_option_and_params(params, 'createOrder', 'createMarketBuyOrderRequiresPrice', True)
3792
+ createMarketBuyOrderRequiresPrice, params = self.handle_option_and_params(params, 'createOrder', 'createMarketBuyOrderRequiresPrice')
3670
3793
  if createMarketBuyOrderRequiresPrice:
3671
3794
  if (price is None) and (cost is None):
3672
3795
  raise InvalidOrder(self.id + ' createOrder() requires the price argument for market buy orders to calculate the total cost to spend(amount * price), alternatively set the createMarketBuyOrderRequiresPrice option or param to False and pass the cost to spend in the amount argument')
@@ -3675,7 +3798,12 @@ class bybit(Exchange, ImplicitAPI):
3675
3798
  costRequest = cost if (cost is not None) else quoteAmount
3676
3799
  request['qty'] = self.get_cost(symbol, costRequest)
3677
3800
  else:
3678
- request['qty'] = self.get_cost(symbol, self.number_to_string(amount))
3801
+ if cost is not None:
3802
+ request['qty'] = self.get_cost(symbol, self.number_to_string(cost))
3803
+ elif price is not None:
3804
+ request['qty'] = self.get_cost(symbol, Precise.string_mul(amountString, priceString))
3805
+ else:
3806
+ request['qty'] = self.get_cost(symbol, self.number_to_string(amount))
3679
3807
  else:
3680
3808
  if not isTrailingAmountOrder and not isAlternativeEndpoint:
3681
3809
  request['qty'] = amountString
@@ -10,6 +10,7 @@ import hashlib
10
10
  from ccxt.base.types import Account, Balances, Currencies, Currency, DepositAddress, Int, LedgerEntry, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
11
11
  from typing import List
12
12
  from ccxt.base.errors import ExchangeError
13
+ from ccxt.base.errors import AuthenticationError
13
14
  from ccxt.base.errors import PermissionDenied
14
15
  from ccxt.base.errors import ArgumentsRequired
15
16
  from ccxt.base.errors import BadRequest
@@ -127,6 +128,7 @@ class cex(Exchange, ImplicitAPI):
127
128
  'Insufficient funds': InsufficientFunds,
128
129
  'Get deposit address for main account is not allowed': PermissionDenied,
129
130
  'Market Trigger orders are not allowed': BadRequest, # for some reason, triggerPrice does not work for market orders
131
+ 'key not passed or incorrect': AuthenticationError,
130
132
  },
131
133
  },
132
134
  'timeframes': {
@@ -837,7 +839,7 @@ class cex(Exchange, ImplicitAPI):
837
839
  code = self.safe_currency_code(key)
838
840
  account: dict = {
839
841
  'used': self.safe_string(balance, 'balanceOnHold'),
840
- 'free': self.safe_string(balance, 'balance'),
842
+ 'total': self.safe_string(balance, 'balance'),
841
843
  }
842
844
  result[code] = account
843
845
  return self.safe_balance(result)
@@ -848,7 +850,7 @@ class cex(Exchange, ImplicitAPI):
848
850
 
849
851
  https://trade.cex.io/docs/#rest-private-api-calls-orders
850
852
 
851
- @param status
853
+ :param str status: order status to fetch for
852
854
  :param str symbol: unified market symbol of the market orders were made in
853
855
  :param int [since]: the earliest time in ms to fetch orders for
854
856
  :param int [limit]: the maximum number of order structures to retrieve
@@ -2311,28 +2311,8 @@ class coinbase(Exchange, ImplicitAPI):
2311
2311
  pagination = self.safe_dict(response, 'pagination', {})
2312
2312
  cursor = self.safe_string(pagination, 'next_starting_after')
2313
2313
  if (cursor is not None) and (cursor != ''):
2314
- lastFee = self.safe_dict(last, 'fee')
2315
- last['next_starting_after'] = cursor
2316
- ledger[lastIndex] = {
2317
- 'info': self.safe_dict(last, 'info'),
2318
- 'id': self.safe_string(last, 'id'),
2319
- 'timestamp': self.safe_integer(last, 'timestamp'),
2320
- 'datetime': self.safe_string(last, 'datetime'),
2321
- 'direction': self.safe_string(last, 'direction'),
2322
- 'account': self.safe_string(last, 'account'),
2323
- 'referenceId': None,
2324
- 'referenceAccount': None,
2325
- 'type': self.safe_string(last, 'type'),
2326
- 'currency': self.safe_string(last, 'currency'),
2327
- 'amount': self.safe_number(last, 'amount'),
2328
- 'before': None,
2329
- 'after': None,
2330
- 'status': self.safe_string(last, 'status'),
2331
- 'fee': {
2332
- 'cost': self.safe_number(lastFee, 'cost'),
2333
- 'currency': self.safe_string(lastFee, 'currency'),
2334
- },
2335
- }
2314
+ last['info']['next_starting_after'] = cursor
2315
+ ledger[lastIndex] = last
2336
2316
  return ledger
2337
2317
 
2338
2318
  def parse_ledger_entry_status(self, status):
@@ -127,7 +127,8 @@ class coinbaseexchange(Exchange, ImplicitAPI):
127
127
  'products/{id}/ticker',
128
128
  'products/{id}/trades',
129
129
  'time',
130
- 'products/spark-lines', # experimental
130
+ 'products/spark-lines', # experimental,
131
+ 'products/volume-summary',
131
132
  ],
132
133
  },
133
134
  'private': {
@@ -3253,7 +3253,7 @@ class coinex(Exchange, ImplicitAPI):
3253
3253
  https://docs.coinex.com/api/v2/futures/order/http/list-finished-order
3254
3254
  https://docs.coinex.com/api/v2/futures/order/http/list-finished-stop-order
3255
3255
 
3256
- @param status
3256
+ :param str status: order status to fetch for
3257
3257
  :param str symbol: unified market symbol of the market orders were made in
3258
3258
  :param int [since]: the earliest time in ms to fetch orders for
3259
3259
  :param int [limit]: the maximum number of order structures to retrieve
@@ -4575,6 +4575,7 @@ class coinex(Exchange, ImplicitAPI):
4575
4575
  'not_pass': 'failed',
4576
4576
  'cancel': 'canceled',
4577
4577
  'finish': 'ok',
4578
+ 'finished': 'ok',
4578
4579
  'fail': 'failed',
4579
4580
  }
4580
4581
  return self.safe_string(statuses, status, status)
@@ -2965,8 +2965,8 @@ class deribit(Exchange, ImplicitAPI):
2965
2965
  https://docs.deribit.com/#public-get_funding_rate_history
2966
2966
 
2967
2967
  :param str symbol: unified market symbol
2968
- @param since
2969
- @param limit
2968
+ :param int [since]: the earliest time in ms to fetch funding rate history for
2969
+ :param int [limit]: the maximum number of entries to retrieve
2970
2970
  :param dict [params]: extra parameters specific to the exchange API endpoint
2971
2971
  :param int [params.end_timestamp]: fetch funding rate ending at self timestamp
2972
2972
  :param boolean [params.paginate]: default False, when True will automatically paginate by calling self endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
@@ -3023,18 +3023,31 @@ class gate(Exchange, ImplicitAPI):
3023
3023
  :param int [since]: timestamp in ms of the earliest funding rate to fetch
3024
3024
  :param int [limit]: the maximum amount of `funding rate structures <https://docs.ccxt.com/#/?id=funding-rate-history-structure>` to fetch
3025
3025
  :param dict [params]: extra parameters specific to the exchange API endpoint
3026
+ :param int [params.until]: timestamp in ms of the latest funding rate to fetch
3027
+ :param boolean [params.paginate]: default False, when True will automatically paginate by calling self endpoint multiple times. See in the docs all the [available parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
3026
3028
  :returns dict[]: a list of `funding rate structures <https://docs.ccxt.com/#/?id=funding-rate-history-structure>`
3027
3029
  """
3028
3030
  if symbol is None:
3029
3031
  raise ArgumentsRequired(self.id + ' fetchFundingRateHistory() requires a symbol argument')
3030
3032
  await self.load_markets()
3033
+ paginate = False
3034
+ paginate, params = self.handle_option_and_params(params, 'fetchFundingRateHistory', 'paginate')
3035
+ if paginate:
3036
+ return await self.fetch_paginated_call_deterministic('fetchFundingRateHistory', symbol, since, limit, '8h', params)
3031
3037
  market = self.market(symbol)
3032
3038
  if not market['swap']:
3033
3039
  raise BadSymbol(self.id + ' fetchFundingRateHistory() supports swap contracts only')
3034
- request, query = self.prepare_request(market, None, params)
3040
+ request: dict = {}
3041
+ request, params = self.prepare_request(market, None, params)
3035
3042
  if limit is not None:
3036
3043
  request['limit'] = limit
3037
- response = await self.publicFuturesGetSettleFundingRate(self.extend(request, query))
3044
+ if since is not None:
3045
+ request['from'] = self.parse_to_int(since / 1000)
3046
+ until = self.safe_integer(params, 'until')
3047
+ if until is not None:
3048
+ params = self.omit(params, 'until')
3049
+ request['to'] = self.parse_to_int(until / 1000)
3050
+ response = await self.publicFuturesGetSettleFundingRate(self.extend(request, params))
3038
3051
  #
3039
3052
  # {
3040
3053
  # "r": "0.00063521",