ccxt 4.4.37__tar.gz → 4.4.38__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 (679) hide show
  1. {ccxt-4.4.37/ccxt.egg-info → ccxt-4.4.38}/PKG-INFO +4 -4
  2. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/__init__.py +1 -1
  3. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bingx.py +0 -1
  4. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/__init__.py +1 -1
  5. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/base/exchange.py +1 -1
  6. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/binance.py +0 -2
  7. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bingx.py +89 -8
  8. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bitget.py +2 -4
  9. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bithumb.py +1 -1
  10. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bitmart.py +160 -13
  11. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bybit.py +3 -2
  12. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/kucoin.py +75 -2
  13. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/kucoinfutures.py +92 -5
  14. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/ndax.py +5 -1
  15. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/okx.py +0 -1
  16. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/probit.py +3 -1
  17. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/base/exchange.py +5 -2
  18. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/binance.py +0 -2
  19. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bingx.py +89 -8
  20. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bitget.py +2 -4
  21. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bithumb.py +1 -1
  22. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bitmart.py +160 -13
  23. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bybit.py +3 -2
  24. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/kucoin.py +75 -2
  25. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/kucoinfutures.py +92 -5
  26. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/ndax.py +5 -1
  27. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/okx.py +0 -1
  28. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/__init__.py +1 -1
  29. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/probit.py +3 -1
  30. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/test/tests_async.py +5 -1
  31. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/test/tests_sync.py +5 -1
  32. {ccxt-4.4.37 → ccxt-4.4.38/ccxt.egg-info}/PKG-INFO +4 -4
  33. {ccxt-4.4.37 → ccxt-4.4.38}/package.json +1 -1
  34. {ccxt-4.4.37 → ccxt-4.4.38}/LICENSE.txt +0 -0
  35. {ccxt-4.4.37 → ccxt-4.4.38}/MANIFEST.in +0 -0
  36. {ccxt-4.4.37 → ccxt-4.4.38}/README.rst +0 -0
  37. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/__init__.py +0 -0
  38. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/ace.py +0 -0
  39. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/alpaca.py +0 -0
  40. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/ascendex.py +0 -0
  41. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bequant.py +0 -0
  42. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bigone.py +0 -0
  43. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/binance.py +0 -0
  44. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/binancecoinm.py +0 -0
  45. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/binanceus.py +0 -0
  46. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/binanceusdm.py +0 -0
  47. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bit2c.py +0 -0
  48. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bitbank.py +0 -0
  49. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bitbns.py +0 -0
  50. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bitcoincom.py +0 -0
  51. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bitfinex.py +0 -0
  52. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bitfinex1.py +0 -0
  53. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bitflyer.py +0 -0
  54. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bitget.py +0 -0
  55. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bithumb.py +0 -0
  56. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bitmart.py +0 -0
  57. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bitmex.py +0 -0
  58. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bitopro.py +0 -0
  59. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bitpanda.py +0 -0
  60. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bitrue.py +0 -0
  61. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bitso.py +0 -0
  62. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bitstamp.py +0 -0
  63. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bitteam.py +0 -0
  64. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bitvavo.py +0 -0
  65. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bl3p.py +0 -0
  66. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/blockchaincom.py +0 -0
  67. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/blofin.py +0 -0
  68. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/btcalpha.py +0 -0
  69. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/btcbox.py +0 -0
  70. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/btcmarkets.py +0 -0
  71. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/btcturk.py +0 -0
  72. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/bybit.py +0 -0
  73. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/cex.py +0 -0
  74. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/coinbase.py +0 -0
  75. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/coinbaseadvanced.py +0 -0
  76. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/coinbaseexchange.py +0 -0
  77. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/coinbaseinternational.py +0 -0
  78. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/coincatch.py +0 -0
  79. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/coincheck.py +0 -0
  80. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/coinex.py +0 -0
  81. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/coinlist.py +0 -0
  82. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/coinmate.py +0 -0
  83. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/coinmetro.py +0 -0
  84. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/coinone.py +0 -0
  85. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/coinsph.py +0 -0
  86. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/coinspot.py +0 -0
  87. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/cryptocom.py +0 -0
  88. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/currencycom.py +0 -0
  89. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/defx.py +0 -0
  90. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/delta.py +0 -0
  91. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/deribit.py +0 -0
  92. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/digifinex.py +0 -0
  93. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/ellipx.py +0 -0
  94. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/exmo.py +0 -0
  95. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/fmfwio.py +0 -0
  96. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/gate.py +0 -0
  97. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/gateio.py +0 -0
  98. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/gemini.py +0 -0
  99. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/hashkey.py +0 -0
  100. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/hitbtc.py +0 -0
  101. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/hollaex.py +0 -0
  102. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/htx.py +0 -0
  103. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/huobi.py +0 -0
  104. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/huobijp.py +0 -0
  105. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/hyperliquid.py +0 -0
  106. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/idex.py +0 -0
  107. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/independentreserve.py +0 -0
  108. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/indodax.py +0 -0
  109. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/kraken.py +0 -0
  110. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/krakenfutures.py +0 -0
  111. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/kucoin.py +0 -0
  112. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/kucoinfutures.py +0 -0
  113. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/kuna.py +0 -0
  114. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/latoken.py +0 -0
  115. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/lbank.py +0 -0
  116. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/luno.py +0 -0
  117. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/lykke.py +0 -0
  118. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/mercado.py +0 -0
  119. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/mexc.py +0 -0
  120. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/ndax.py +0 -0
  121. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/novadax.py +0 -0
  122. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/oceanex.py +0 -0
  123. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/okcoin.py +0 -0
  124. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/okx.py +0 -0
  125. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/onetrading.py +0 -0
  126. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/oxfun.py +0 -0
  127. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/p2b.py +0 -0
  128. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/paradex.py +0 -0
  129. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/paymium.py +0 -0
  130. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/phemex.py +0 -0
  131. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/poloniex.py +0 -0
  132. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/poloniexfutures.py +0 -0
  133. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/probit.py +0 -0
  134. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/timex.py +0 -0
  135. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/tokocrypto.py +0 -0
  136. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/tradeogre.py +0 -0
  137. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/upbit.py +0 -0
  138. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/vertex.py +0 -0
  139. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/wavesexchange.py +0 -0
  140. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/wazirx.py +0 -0
  141. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/whitebit.py +0 -0
  142. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/woo.py +0 -0
  143. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/woofipro.py +0 -0
  144. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/xt.py +0 -0
  145. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/yobit.py +0 -0
  146. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/zaif.py +0 -0
  147. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/abstract/zonda.py +0 -0
  148. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/ace.py +0 -0
  149. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/alpaca.py +0 -0
  150. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/ascendex.py +0 -0
  151. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/ace.py +0 -0
  152. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/alpaca.py +0 -0
  153. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/ascendex.py +0 -0
  154. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/base/__init__.py +0 -0
  155. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/base/throttler.py +0 -0
  156. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/base/ws/__init__.py +0 -0
  157. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  158. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/base/ws/cache.py +0 -0
  159. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/base/ws/client.py +0 -0
  160. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/base/ws/fast_client.py +0 -0
  161. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/base/ws/functions.py +0 -0
  162. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/base/ws/future.py +0 -0
  163. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/base/ws/order_book.py +0 -0
  164. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  165. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bequant.py +0 -0
  166. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bigone.py +0 -0
  167. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/binancecoinm.py +0 -0
  168. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/binanceus.py +0 -0
  169. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/binanceusdm.py +0 -0
  170. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bit2c.py +0 -0
  171. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bitbank.py +0 -0
  172. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bitbay.py +0 -0
  173. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bitbns.py +0 -0
  174. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bitcoincom.py +0 -0
  175. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bitfinex.py +0 -0
  176. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bitfinex1.py +0 -0
  177. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bitfinex2.py +0 -0
  178. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bitflyer.py +0 -0
  179. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bitmex.py +0 -0
  180. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bitopro.py +0 -0
  181. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bitpanda.py +0 -0
  182. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bitrue.py +0 -0
  183. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bitso.py +0 -0
  184. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bitstamp.py +0 -0
  185. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bitteam.py +0 -0
  186. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bitvavo.py +0 -0
  187. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/bl3p.py +0 -0
  188. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/blockchaincom.py +0 -0
  189. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/blofin.py +0 -0
  190. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/btcalpha.py +0 -0
  191. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/btcbox.py +0 -0
  192. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/btcmarkets.py +0 -0
  193. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/btcturk.py +0 -0
  194. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/cex.py +0 -0
  195. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/coinbase.py +0 -0
  196. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/coinbaseadvanced.py +0 -0
  197. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/coinbaseexchange.py +0 -0
  198. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/coinbaseinternational.py +0 -0
  199. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/coincatch.py +0 -0
  200. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/coincheck.py +0 -0
  201. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/coinex.py +0 -0
  202. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/coinlist.py +0 -0
  203. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/coinmate.py +0 -0
  204. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/coinmetro.py +0 -0
  205. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/coinone.py +0 -0
  206. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/coinsph.py +0 -0
  207. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/coinspot.py +0 -0
  208. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/cryptocom.py +0 -0
  209. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/currencycom.py +0 -0
  210. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/defx.py +0 -0
  211. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/delta.py +0 -0
  212. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/deribit.py +0 -0
  213. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/digifinex.py +0 -0
  214. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/ellipx.py +0 -0
  215. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/exmo.py +0 -0
  216. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/fmfwio.py +0 -0
  217. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/gate.py +0 -0
  218. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/gateio.py +0 -0
  219. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/gemini.py +0 -0
  220. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/hashkey.py +0 -0
  221. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/hitbtc.py +0 -0
  222. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/hitbtc3.py +0 -0
  223. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/hollaex.py +0 -0
  224. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/htx.py +0 -0
  225. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/huobi.py +0 -0
  226. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/huobijp.py +0 -0
  227. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/hyperliquid.py +0 -0
  228. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/idex.py +0 -0
  229. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/independentreserve.py +0 -0
  230. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/indodax.py +0 -0
  231. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/kraken.py +0 -0
  232. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/krakenfutures.py +0 -0
  233. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/kuna.py +0 -0
  234. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/latoken.py +0 -0
  235. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/lbank.py +0 -0
  236. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/luno.py +0 -0
  237. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/lykke.py +0 -0
  238. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/mercado.py +0 -0
  239. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/mexc.py +0 -0
  240. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/novadax.py +0 -0
  241. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/oceanex.py +0 -0
  242. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/okcoin.py +0 -0
  243. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/onetrading.py +0 -0
  244. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/oxfun.py +0 -0
  245. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/p2b.py +0 -0
  246. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/paradex.py +0 -0
  247. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/paymium.py +0 -0
  248. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/phemex.py +0 -0
  249. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/poloniex.py +0 -0
  250. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/poloniexfutures.py +0 -0
  251. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/timex.py +0 -0
  252. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/tokocrypto.py +0 -0
  253. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/tradeogre.py +0 -0
  254. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/upbit.py +0 -0
  255. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/vertex.py +0 -0
  256. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/wavesexchange.py +0 -0
  257. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/wazirx.py +0 -0
  258. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/whitebit.py +0 -0
  259. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/woo.py +0 -0
  260. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/woofipro.py +0 -0
  261. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/xt.py +0 -0
  262. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/yobit.py +0 -0
  263. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/zaif.py +0 -0
  264. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/async_support/zonda.py +0 -0
  265. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/base/__init__.py +0 -0
  266. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/base/decimal_to_precision.py +0 -0
  267. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/base/errors.py +0 -0
  268. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/base/precise.py +0 -0
  269. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/base/types.py +0 -0
  270. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bequant.py +0 -0
  271. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bigone.py +0 -0
  272. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/binancecoinm.py +0 -0
  273. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/binanceus.py +0 -0
  274. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/binanceusdm.py +0 -0
  275. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bit2c.py +0 -0
  276. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bitbank.py +0 -0
  277. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bitbay.py +0 -0
  278. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bitbns.py +0 -0
  279. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bitcoincom.py +0 -0
  280. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bitfinex.py +0 -0
  281. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bitfinex1.py +0 -0
  282. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bitfinex2.py +0 -0
  283. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bitflyer.py +0 -0
  284. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bitmex.py +0 -0
  285. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bitopro.py +0 -0
  286. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bitpanda.py +0 -0
  287. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bitrue.py +0 -0
  288. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bitso.py +0 -0
  289. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bitstamp.py +0 -0
  290. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bitteam.py +0 -0
  291. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bitvavo.py +0 -0
  292. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/bl3p.py +0 -0
  293. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/blockchaincom.py +0 -0
  294. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/blofin.py +0 -0
  295. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/btcalpha.py +0 -0
  296. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/btcbox.py +0 -0
  297. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/btcmarkets.py +0 -0
  298. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/btcturk.py +0 -0
  299. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/cex.py +0 -0
  300. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/coinbase.py +0 -0
  301. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/coinbaseadvanced.py +0 -0
  302. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/coinbaseexchange.py +0 -0
  303. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/coinbaseinternational.py +0 -0
  304. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/coincatch.py +0 -0
  305. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/coincheck.py +0 -0
  306. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/coinex.py +0 -0
  307. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/coinlist.py +0 -0
  308. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/coinmate.py +0 -0
  309. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/coinmetro.py +0 -0
  310. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/coinone.py +0 -0
  311. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/coinsph.py +0 -0
  312. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/coinspot.py +0 -0
  313. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/cryptocom.py +0 -0
  314. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/currencycom.py +0 -0
  315. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/defx.py +0 -0
  316. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/delta.py +0 -0
  317. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/deribit.py +0 -0
  318. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/digifinex.py +0 -0
  319. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/ellipx.py +0 -0
  320. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/exmo.py +0 -0
  321. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/fmfwio.py +0 -0
  322. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/gate.py +0 -0
  323. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/gateio.py +0 -0
  324. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/gemini.py +0 -0
  325. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/hashkey.py +0 -0
  326. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/hitbtc.py +0 -0
  327. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/hitbtc3.py +0 -0
  328. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/hollaex.py +0 -0
  329. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/htx.py +0 -0
  330. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/huobi.py +0 -0
  331. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/huobijp.py +0 -0
  332. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/hyperliquid.py +0 -0
  333. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/idex.py +0 -0
  334. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/independentreserve.py +0 -0
  335. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/indodax.py +0 -0
  336. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/kraken.py +0 -0
  337. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/krakenfutures.py +0 -0
  338. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/kuna.py +0 -0
  339. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/latoken.py +0 -0
  340. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/lbank.py +0 -0
  341. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/luno.py +0 -0
  342. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/lykke.py +0 -0
  343. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/mercado.py +0 -0
  344. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/mexc.py +0 -0
  345. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/novadax.py +0 -0
  346. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/oceanex.py +0 -0
  347. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/okcoin.py +0 -0
  348. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/onetrading.py +0 -0
  349. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/oxfun.py +0 -0
  350. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/p2b.py +0 -0
  351. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/paradex.py +0 -0
  352. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/paymium.py +0 -0
  353. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/phemex.py +0 -0
  354. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/poloniex.py +0 -0
  355. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/poloniexfutures.py +0 -0
  356. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/alpaca.py +0 -0
  357. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/ascendex.py +0 -0
  358. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/bequant.py +0 -0
  359. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/binance.py +0 -0
  360. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/binancecoinm.py +0 -0
  361. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/binanceus.py +0 -0
  362. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/binanceusdm.py +0 -0
  363. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/bingx.py +0 -0
  364. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/bitcoincom.py +0 -0
  365. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/bitfinex.py +0 -0
  366. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/bitfinex1.py +0 -0
  367. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/bitfinex2.py +0 -0
  368. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/bitget.py +0 -0
  369. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/bithumb.py +0 -0
  370. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/bitmart.py +0 -0
  371. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/bitmex.py +0 -0
  372. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/bitopro.py +0 -0
  373. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/bitpanda.py +0 -0
  374. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/bitrue.py +0 -0
  375. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/bitstamp.py +0 -0
  376. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/bitvavo.py +0 -0
  377. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/blockchaincom.py +0 -0
  378. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/blofin.py +0 -0
  379. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/bybit.py +0 -0
  380. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/cex.py +0 -0
  381. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/coinbase.py +0 -0
  382. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/coinbaseadvanced.py +0 -0
  383. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/coinbaseexchange.py +0 -0
  384. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/coinbaseinternational.py +0 -0
  385. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/coincatch.py +0 -0
  386. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/coincheck.py +0 -0
  387. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/coinex.py +0 -0
  388. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/coinone.py +0 -0
  389. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/cryptocom.py +0 -0
  390. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/currencycom.py +0 -0
  391. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/defx.py +0 -0
  392. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/deribit.py +0 -0
  393. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/exmo.py +0 -0
  394. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/gate.py +0 -0
  395. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/gateio.py +0 -0
  396. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/gemini.py +0 -0
  397. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/hashkey.py +0 -0
  398. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/hitbtc.py +0 -0
  399. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/hollaex.py +0 -0
  400. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/htx.py +0 -0
  401. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/huobi.py +0 -0
  402. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/huobijp.py +0 -0
  403. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/hyperliquid.py +0 -0
  404. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/idex.py +0 -0
  405. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/independentreserve.py +0 -0
  406. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/kraken.py +0 -0
  407. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/krakenfutures.py +0 -0
  408. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/kucoin.py +0 -0
  409. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/kucoinfutures.py +0 -0
  410. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/lbank.py +0 -0
  411. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/luno.py +0 -0
  412. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/mexc.py +0 -0
  413. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/ndax.py +0 -0
  414. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/okcoin.py +0 -0
  415. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/okx.py +0 -0
  416. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/onetrading.py +0 -0
  417. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/oxfun.py +0 -0
  418. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/p2b.py +0 -0
  419. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/paradex.py +0 -0
  420. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/phemex.py +0 -0
  421. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/poloniex.py +0 -0
  422. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/poloniexfutures.py +0 -0
  423. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/probit.py +0 -0
  424. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/upbit.py +0 -0
  425. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/vertex.py +0 -0
  426. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/wazirx.py +0 -0
  427. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/whitebit.py +0 -0
  428. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/woo.py +0 -0
  429. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/woofipro.py +0 -0
  430. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/pro/xt.py +0 -0
  431. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/__init__.py +0 -0
  432. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  433. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  434. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  435. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  436. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  437. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  438. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  439. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  440. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  441. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  442. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  443. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  444. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  445. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  446. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  447. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  448. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  449. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  450. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  451. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  452. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  453. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  454. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  455. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  456. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  457. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  458. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  459. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  460. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  461. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  462. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  463. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  464. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  465. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  466. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  467. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  468. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  469. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  470. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  471. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  472. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  473. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  474. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  475. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  476. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  477. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  478. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  479. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  480. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  481. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  482. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  483. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  484. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  485. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  486. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  487. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  488. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  489. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  490. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  491. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  492. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  493. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  494. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  495. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  496. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  497. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  498. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  499. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  500. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  501. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  502. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  503. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  504. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  505. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  506. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/__init__.py +0 -0
  507. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -0
  508. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -0
  509. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/ast_utils.py +0 -0
  510. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/common.py +0 -0
  511. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/exceptions.py +0 -0
  512. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/grammar.py +0 -0
  513. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
  514. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/indenter.py +0 -0
  515. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/lark.py +0 -0
  516. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/lexer.py +0 -0
  517. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/load_grammar.py +0 -0
  518. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -0
  519. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/parser_frontends.py +0 -0
  520. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
  521. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/parsers/cyk.py +0 -0
  522. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/parsers/earley.py +0 -0
  523. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -0
  524. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -0
  525. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -0
  526. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -0
  527. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -0
  528. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -0
  529. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -0
  530. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/parsers/xearley.py +0 -0
  531. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/py.typed +0 -0
  532. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/reconstruct.py +0 -0
  533. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/tools/__init__.py +0 -0
  534. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/tools/nearley.py +0 -0
  535. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/tools/serialize.py +0 -0
  536. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/tools/standalone.py +0 -0
  537. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/tree.py +0 -0
  538. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/tree_matcher.py +0 -0
  539. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/tree_templates.py +0 -0
  540. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/utils.py +0 -0
  541. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/lark/visitors.py +0 -0
  542. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow/__init__.py +0 -0
  543. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow/base.py +0 -0
  544. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow/class_registry.py +0 -0
  545. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow/decorators.py +0 -0
  546. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow/error_store.py +0 -0
  547. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow/exceptions.py +0 -0
  548. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow/fields.py +0 -0
  549. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow/orderedset.py +0 -0
  550. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow/py.typed +0 -0
  551. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow/schema.py +0 -0
  552. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow/types.py +0 -0
  553. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow/utils.py +0 -0
  554. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow/validate.py +0 -0
  555. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow/warnings.py +0 -0
  556. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -0
  557. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -0
  558. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -0
  559. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -0
  560. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  561. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -0
  562. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -0
  563. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -0
  564. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -0
  565. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  566. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  567. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  568. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  569. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  570. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  571. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  572. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  573. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  574. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  575. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  576. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/__init__.py +0 -0
  577. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
  578. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -0
  579. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
  580. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -0
  581. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -0
  582. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -0
  583. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/cairo/felt.py +0 -0
  584. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -0
  585. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
  586. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -0
  587. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
  588. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -0
  589. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -0
  590. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/common.py +0 -0
  591. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/constants.py +0 -0
  592. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
  593. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/hash/address.py +0 -0
  594. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -0
  595. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/hash/selector.py +0 -0
  596. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/hash/storage.py +0 -0
  597. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/hash/utils.py +0 -0
  598. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
  599. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/models/typed_data.py +0 -0
  600. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -0
  601. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -0
  602. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/_context.py +0 -0
  603. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -0
  604. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -0
  605. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -0
  606. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -0
  607. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -0
  608. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -0
  609. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -0
  610. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -0
  611. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -0
  612. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -0
  613. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -0
  614. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -0
  615. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -0
  616. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -0
  617. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -0
  618. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -0
  619. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -0
  620. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/errors.py +0 -0
  621. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/factory.py +0 -0
  622. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -0
  623. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -0
  624. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
  625. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -0
  626. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/utils/iterable.py +0 -0
  627. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/utils/schema.py +0 -0
  628. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -0
  629. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starkware/__init__.py +0 -0
  630. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
  631. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -0
  632. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -0
  633. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starkware/crypto/signature.py +0 -0
  634. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/starkware/crypto/utils.py +0 -0
  635. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/sympy/__init__.py +0 -0
  636. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
  637. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/sympy/core/intfunc.py +0 -0
  638. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
  639. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/sympy/external/gmpy.py +0 -0
  640. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/sympy/external/importtools.py +0 -0
  641. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/sympy/external/ntheory.py +0 -0
  642. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -0
  643. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  644. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  645. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/toolz/_version.py +0 -0
  646. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  647. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  648. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  649. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  650. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  651. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  652. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  653. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  654. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/toolz/utils.py +0 -0
  655. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
  656. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/static_dependencies/typing_inspect/typing_inspect.py +0 -0
  657. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/test/__init__.py +0 -0
  658. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/test/tests_helpers.py +0 -0
  659. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/test/tests_init.py +0 -0
  660. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/timex.py +0 -0
  661. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/tokocrypto.py +0 -0
  662. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/tradeogre.py +0 -0
  663. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/upbit.py +0 -0
  664. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/vertex.py +0 -0
  665. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/wavesexchange.py +0 -0
  666. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/wazirx.py +0 -0
  667. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/whitebit.py +0 -0
  668. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/woo.py +0 -0
  669. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/woofipro.py +0 -0
  670. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/xt.py +0 -0
  671. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/yobit.py +0 -0
  672. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/zaif.py +0 -0
  673. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt/zonda.py +0 -0
  674. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt.egg-info/SOURCES.txt +0 -0
  675. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt.egg-info/dependency_links.txt +0 -0
  676. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt.egg-info/requires.txt +0 -0
  677. {ccxt-4.4.37 → ccxt-4.4.38}/ccxt.egg-info/top_level.txt +0 -0
  678. {ccxt-4.4.37 → ccxt-4.4.38}/setup.cfg +0 -0
  679. {ccxt-4.4.37 → ccxt-4.4.38}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.4.37
3
+ Version: 4.4.38
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
@@ -264,13 +264,13 @@ console.log(version, Object.keys(exchanges));
264
264
 
265
265
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
266
266
 
267
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.37/dist/ccxt.browser.min.js
268
- * unpkg: https://unpkg.com/ccxt@4.4.37/dist/ccxt.browser.min.js
267
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.38/dist/ccxt.browser.min.js
268
+ * unpkg: https://unpkg.com/ccxt@4.4.38/dist/ccxt.browser.min.js
269
269
 
270
270
  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.
271
271
 
272
272
  ```HTML
273
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.37/dist/ccxt.browser.min.js"></script>
273
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.38/dist/ccxt.browser.min.js"></script>
274
274
  ```
275
275
 
276
276
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.4.37'
25
+ __version__ = '4.4.38'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -35,7 +35,6 @@ class ImplicitAPI:
35
35
  swap_v1_public_get_market_markpriceklines = swapV1PublicGetMarketMarkPriceKlines = Entry('market/markPriceKlines', ['swap', 'v1', 'public'], 'GET', {'cost': 1})
36
36
  swap_v1_public_get_trade_multiassetsrules = swapV1PublicGetTradeMultiAssetsRules = Entry('trade/multiAssetsRules', ['swap', 'v1', 'public'], 'GET', {'cost': 1})
37
37
  swap_v1_private_get_positionside_dual = swapV1PrivateGetPositionSideDual = Entry('positionSide/dual', ['swap', 'v1', 'private'], 'GET', {'cost': 5})
38
- swap_v1_private_get_market_markpriceklines = swapV1PrivateGetMarketMarkPriceKlines = Entry('market/markPriceKlines', ['swap', 'v1', 'private'], 'GET', {'cost': 1})
39
38
  swap_v1_private_get_trade_batchcancelreplace = swapV1PrivateGetTradeBatchCancelReplace = Entry('trade/batchCancelReplace', ['swap', 'v1', 'private'], 'GET', {'cost': 5})
40
39
  swap_v1_private_get_trade_fullorder = swapV1PrivateGetTradeFullOrder = Entry('trade/fullOrder', ['swap', 'v1', 'private'], 'GET', {'cost': 2})
41
40
  swap_v1_private_get_maintmarginratio = swapV1PrivateGetMaintMarginRatio = Entry('maintMarginRatio', ['swap', 'v1', 'private'], 'GET', {'cost': 2})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.4.37'
7
+ __version__ = '4.4.38'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.4.37'
5
+ __version__ = '4.4.38'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -1592,7 +1592,6 @@ class binance(Exchange, ImplicitAPI):
1592
1592
  'takeProfitPrice': True,
1593
1593
  'attachedStopLossTakeProfit': None, # not supported
1594
1594
  'timeInForce': {
1595
- 'GTC': True,
1596
1595
  'IOC': True,
1597
1596
  'FOK': True,
1598
1597
  'PO': True,
@@ -1659,7 +1658,6 @@ class binance(Exchange, ImplicitAPI):
1659
1658
  'takeProfitPrice': True,
1660
1659
  'attachedStopLossTakeProfit': None, # not supported
1661
1660
  'timeInForce': {
1662
- 'GTC': True,
1663
1661
  'IOC': True,
1664
1662
  'FOK': True,
1665
1663
  'PO': True,
@@ -96,7 +96,7 @@ class bingx(Exchange, ImplicitAPI):
96
96
  'fetchPositionHistory': False,
97
97
  'fetchPositionMode': True,
98
98
  'fetchPositions': True,
99
- 'fetchPositionsHistory': False,
99
+ 'fetchPositionsHistory': True,
100
100
  'fetchTicker': True,
101
101
  'fetchTickers': True,
102
102
  'fetchTime': True,
@@ -220,7 +220,6 @@ class bingx(Exchange, ImplicitAPI):
220
220
  'private': {
221
221
  'get': {
222
222
  'positionSide/dual': 5,
223
- 'market/markPriceKlines': 1,
224
223
  'trade/batchCancelReplace': 5,
225
224
  'trade/fullOrder': 2,
226
225
  'maintMarginRatio': 2,
@@ -554,7 +553,6 @@ class bingx(Exchange, ImplicitAPI):
554
553
  'limitPrice': True,
555
554
  },
556
555
  'timeInForce': {
557
- 'GTC': True,
558
556
  'IOC': True,
559
557
  'FOK': True,
560
558
  'PO': True,
@@ -1016,7 +1014,7 @@ class bingx(Exchange, ImplicitAPI):
1016
1014
  https://bingx-api.github.io/docs/#/swapV2/market-api.html#K-Line%20Data
1017
1015
  https://bingx-api.github.io/docs/#/spot/market-api.html#Candlestick%20chart%20data
1018
1016
  https://bingx-api.github.io/docs/#/swapV2/market-api.html#%20K-Line%20Data
1019
- https://bingx-api.github.io/docs/#/en-us/swapV2/market-api.html#K-Line%20Data%20-%20Mark%20Price
1017
+ https://bingx-api.github.io/docs/#/en-us/swapV2/market-api.html#Mark%20Price%20Kline/Candlestick%20Data
1020
1018
  https://bingx-api.github.io/docs/#/en-us/cswap/market-api.html#Get%20K-line%20Data
1021
1019
 
1022
1020
  :param str symbol: unified symbol of the market to fetch OHLCV data for
@@ -1056,7 +1054,7 @@ class bingx(Exchange, ImplicitAPI):
1056
1054
  price = self.safe_string(params, 'price')
1057
1055
  params = self.omit(params, 'price')
1058
1056
  if price == 'mark':
1059
- response = await self.swapV1PrivateGetMarketMarkPriceKlines(self.extend(request, params))
1057
+ response = await self.swapV1PublicGetMarketMarkPriceKlines(self.extend(request, params))
1060
1058
  else:
1061
1059
  response = await self.swapV3PublicGetQuoteKlines(self.extend(request, params))
1062
1060
  #
@@ -2265,6 +2263,67 @@ class bingx(Exchange, ImplicitAPI):
2265
2263
  result[code] = account
2266
2264
  return self.safe_balance(result)
2267
2265
 
2266
+ async def fetch_position_history(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Position]:
2267
+ """
2268
+ fetches historical positions
2269
+
2270
+ https://bingx-api.github.io/docs/#/en-us/swapV2/trade-api.html#Query%20Position%20History
2271
+
2272
+ :param str symbol: unified contract symbol
2273
+ :param int [since]: the earliest time in ms to fetch positions for
2274
+ :param int [limit]: the maximum amount of records to fetch
2275
+ :param dict [params]: extra parameters specific to the exchange api endpoint
2276
+ :param int [params.until]: the latest time in ms to fetch positions for
2277
+ :returns dict[]: a list of `position structures <https://docs.ccxt.com/#/?id=position-structure>`
2278
+ """
2279
+ await self.load_markets()
2280
+ market = self.market(symbol)
2281
+ request: dict = {
2282
+ 'symbol': market['id'],
2283
+ }
2284
+ if limit is not None:
2285
+ request['pageSize'] = limit
2286
+ if since is not None:
2287
+ request['startTs'] = since
2288
+ request, params = self.handle_until_option('endTs', request, params)
2289
+ response = None
2290
+ if market['linear']:
2291
+ response = await self.swapV1PrivateGetTradePositionHistory(self.extend(request, params))
2292
+ else:
2293
+ raise NotSupported(self.id + ' fetchPositionHistory() is not supported for inverse swap positions')
2294
+ #
2295
+ # {
2296
+ # "code": 0,
2297
+ # "msg": "",
2298
+ # "data": {
2299
+ # "positionHistory": [
2300
+ # {
2301
+ # "positionId": "1861675561156571136",
2302
+ # "symbol": "LTC-USDT",
2303
+ # "isolated": False,
2304
+ # "positionSide": "LONG",
2305
+ # "openTime": 1732693017000,
2306
+ # "updateTime": 1733310292000,
2307
+ # "avgPrice": "95.18",
2308
+ # "avgClosePrice": "129.48",
2309
+ # "realisedProfit": "102.89",
2310
+ # "netProfit": "99.63",
2311
+ # "positionAmt": "30.0",
2312
+ # "closePositionAmt": "30.0",
2313
+ # "leverage": 6,
2314
+ # "closeAllPositions": True,
2315
+ # "positionCommission": "-0.33699650000000003",
2316
+ # "totalFunding": "-2.921461693902908"
2317
+ # },
2318
+ # ]
2319
+ # }
2320
+ # }
2321
+ #
2322
+ data = self.safe_dict(response, 'data', {})
2323
+ records = self.safe_list(data, 'positionHistory', [])
2324
+ positions = self.parse_positions(records)
2325
+ return self.filter_by_symbol_since_limit(positions, symbol, since, limit)
2326
+
2268
2327
  async def fetch_positions(self, symbols: Strings = None, params={}):
2269
2328
  """
2270
2329
  fetch all open positions
@@ -2504,12 +2563,34 @@ class bingx(Exchange, ImplicitAPI):
2504
2563
  # "positionAmt": "1.20365912",
2505
2564
  # }
2506
2565
  #
2566
+ # linear swap fetchPositionHistory
2567
+ #
2568
+ # {
2569
+ # "positionId": "1861675561156571136",
2570
+ # "symbol": "LTC-USDT",
2571
+ # "isolated": False,
2572
+ # "positionSide": "LONG",
2573
+ # "openTime": 1732693017000,
2574
+ # "updateTime": 1733310292000,
2575
+ # "avgPrice": "95.18",
2576
+ # "avgClosePrice": "129.48",
2577
+ # "realisedProfit": "102.89",
2578
+ # "netProfit": "99.63",
2579
+ # "positionAmt": "30.0",
2580
+ # "closePositionAmt": "30.0",
2581
+ # "leverage": 6,
2582
+ # "closeAllPositions": True,
2583
+ # "positionCommission": "-0.33699650000000003",
2584
+ # "totalFunding": "-2.921461693902908"
2585
+ # }
2586
+ #
2507
2587
  marketId = self.safe_string(position, 'symbol', '')
2508
2588
  marketId = marketId.replace('/', '-') # standard return different format
2509
2589
  isolated = self.safe_bool(position, 'isolated')
2510
2590
  marginMode = None
2511
2591
  if isolated is not None:
2512
2592
  marginMode = 'isolated' if isolated else 'cross'
2593
+ timestamp = self.safe_integer(position, 'openTime')
2513
2594
  return self.safe_position({
2514
2595
  'info': position,
2515
2596
  'id': self.safe_string(position, 'positionId'),
@@ -2527,8 +2608,8 @@ class bingx(Exchange, ImplicitAPI):
2527
2608
  'lastPrice': None,
2528
2609
  'side': self.safe_string_lower(position, 'positionSide'),
2529
2610
  'hedged': None,
2530
- 'timestamp': None,
2531
- 'datetime': None,
2611
+ 'timestamp': timestamp,
2612
+ 'datetime': self.iso8601(timestamp),
2532
2613
  'lastUpdateTimestamp': self.safe_integer(position, 'updateTime'),
2533
2614
  'maintenanceMargin': None,
2534
2615
  'maintenanceMarginPercentage': None,
@@ -6089,7 +6170,7 @@ class bingx(Exchange, ImplicitAPI):
6089
6170
  body = self.json(parsedParams)
6090
6171
  else:
6091
6172
  query = self.urlencode(parsedParams)
6092
- url += '?' + query + '&signature=' + signature
6173
+ url += '?' + query + '&' + 'signature=' + signature
6093
6174
  return {'url': url, 'method': method, 'body': body, 'headers': headers}
6094
6175
 
6095
6176
  def nonce(self):
@@ -1474,8 +1474,8 @@ class bitget(Exchange, ImplicitAPI):
1474
1474
  'index': False, # not on spot
1475
1475
  },
1476
1476
  'triggerDirection': False,
1477
- 'stopLossPrice': True, # but not yet implemented in spot
1478
- 'takeProfitPrice': True, # but not yet implemented in spot
1477
+ 'stopLossPrice': True, # todo: not yet implemented in spot
1478
+ 'takeProfitPrice': True, # todo: not yet implemented in spot
1479
1479
  'attachedStopLossTakeProfit': {
1480
1480
  'triggerPriceType': {
1481
1481
  'last': False,
@@ -1485,7 +1485,6 @@ class bitget(Exchange, ImplicitAPI):
1485
1485
  'limitPrice': True,
1486
1486
  },
1487
1487
  'timeInForce': {
1488
- 'GTC': True,
1489
1488
  'IOC': True,
1490
1489
  'FOK': True,
1491
1490
  'PO': True,
@@ -1556,7 +1555,6 @@ class bitget(Exchange, ImplicitAPI):
1556
1555
  'limitPrice': False,
1557
1556
  },
1558
1557
  'timeInForce': {
1559
- 'GTC': True,
1560
1558
  'IOC': True,
1561
1559
  'FOK': True,
1562
1560
  'PO': True,
@@ -1028,7 +1028,7 @@ class bithumb(Exchange, ImplicitAPI):
1028
1028
  'address': address,
1029
1029
  'currency': currency['id'],
1030
1030
  }
1031
- if code == 'XRP' or code == 'XMR' or code == 'EOS' or code == 'STEEM':
1031
+ if code == 'XRP' or code == 'XMR' or code == 'EOS' or code == 'STEEM' or code == 'TON':
1032
1032
  destination = self.safe_string(params, 'destination')
1033
1033
  if (tag is None) and (destination is None):
1034
1034
  raise ArgumentsRequired(self.id + ' ' + code + ' withdraw() requires a tag argument or an extra destination param')
@@ -704,6 +704,151 @@ class bitmart(Exchange, ImplicitAPI):
704
704
  'createMarketBuyOrderRequiresPrice': True,
705
705
  'brokerId': 'CCXTxBitmart000',
706
706
  },
707
+ 'features': {
708
+ 'default': {
709
+ 'sandbox': False,
710
+ 'createOrder': {
711
+ 'marginMode': True,
712
+ 'triggerPrice': False,
713
+ 'triggerPriceType': None,
714
+ 'triggerDirection': False,
715
+ 'stopLossPrice': False,
716
+ 'takeProfitPrice': False,
717
+ 'attachedStopLossTakeProfit': None,
718
+ 'timeInForce': {
719
+ 'IOC': True,
720
+ 'FOK': False,
721
+ 'PO': True,
722
+ 'GTD': False,
723
+ },
724
+ 'hedged': False,
725
+ 'trailing': False,
726
+ 'marketBuyRequiresPrice': True,
727
+ 'marketBuyByCost': True,
728
+ # exchange-supported features
729
+ # 'leverage': True,
730
+ # 'selfTradePrevention': False,
731
+ # 'twap': False,
732
+ # 'iceberg': False,
733
+ # 'oco': False,
734
+ },
735
+ 'createOrders': {
736
+ 'max': 10,
737
+ },
738
+ 'fetchMyTrades': {
739
+ 'marginMode': True,
740
+ 'limit': 200,
741
+ 'daysBack': None,
742
+ 'untilDays': 99999,
743
+ },
744
+ 'fetchOrder': {
745
+ 'marginMode': False,
746
+ 'trigger': False,
747
+ 'trailing': False,
748
+ },
749
+ 'fetchOpenOrders': {
750
+ 'marginMode': True,
751
+ 'limit': 200,
752
+ 'trigger': False,
753
+ 'trailing': False,
754
+ },
755
+ 'fetchOrders': None,
756
+ 'fetchClosedOrders': {
757
+ 'marginMode': True,
758
+ 'limit': 200,
759
+ 'daysBackClosed': None,
760
+ 'daysBackCanceled': None,
761
+ 'untilDays': None,
762
+ 'trigger': False,
763
+ 'trailing': False,
764
+ },
765
+ 'fetchOHLCV': {
766
+ 'limit': 1000, # variable timespans for recent endpoint, 200 for historical
767
+ },
768
+ },
769
+ 'forDerivatives': {
770
+ 'extends': 'default',
771
+ 'createOrder': {
772
+ 'marginMode': True,
773
+ 'triggerPrice': True,
774
+ 'triggerPriceType': {
775
+ 'last': True,
776
+ 'mark': True,
777
+ 'index': False,
778
+ },
779
+ 'triggerDirection': True, # todo: implementation broken
780
+ 'stopLossPrice': True,
781
+ 'takeProfitPrice': True,
782
+ 'attachedStopLossTakeProfit': {
783
+ 'triggerPriceType': {
784
+ 'last': True,
785
+ 'mark': True,
786
+ 'index': False,
787
+ },
788
+ 'limitPrice': False,
789
+ },
790
+ 'timeInForce': {
791
+ 'IOC': True,
792
+ 'FOK': True,
793
+ 'PO': True,
794
+ 'GTD': False,
795
+ },
796
+ 'hedged': False,
797
+ 'trailing': True,
798
+ 'marketBuyRequiresPrice': True,
799
+ 'marketBuyByCost': True,
800
+ # exchange-supported features
801
+ # 'selfTradePrevention': True,
802
+ # 'twap': False,
803
+ # 'iceberg': False,
804
+ # 'oco': False,
805
+ },
806
+ 'fetchMyTrades': {
807
+ 'marginMode': True,
808
+ 'limit': None,
809
+ 'daysBack': None,
810
+ 'untilDays': 99999,
811
+ },
812
+ 'fetchOrder': {
813
+ 'marginMode': False,
814
+ 'trigger': False,
815
+ 'trailing': True,
816
+ },
817
+ 'fetchOpenOrders': {
818
+ 'marginMode': False,
819
+ 'limit': 100,
820
+ 'trigger': True,
821
+ 'trailing': False,
822
+ },
823
+ 'fetchClosedOrders': {
824
+ 'marginMode': True,
825
+ 'limit': 200,
826
+ 'daysBackClosed': None,
827
+ 'daysBackCanceled': None,
828
+ 'untilDays': None,
829
+ 'trigger': False,
830
+ 'trailing': False,
831
+ },
832
+ 'fetchOHLCV': {
833
+ 'limit': 500,
834
+ },
835
+ },
836
+ 'spot': {
837
+ 'extends': 'default',
838
+ },
839
+ 'swap': {
840
+ 'linear': {
841
+ 'extends': 'forDerivatives',
842
+ },
843
+ 'inverse': {
844
+ 'extends': 'forDerivatives',
845
+ },
846
+ },
847
+ 'future': {
848
+ 'linear': None,
849
+ 'inverse': None,
850
+ },
851
+ },
707
852
  })
708
853
 
709
854
  async def fetch_time(self, params={}):
@@ -1906,10 +2051,11 @@ class bitmart(Exchange, ImplicitAPI):
1906
2051
  if marginMode == 'isolated':
1907
2052
  request['orderMode'] = 'iso_margin'
1908
2053
  options = self.safe_dict(self.options, 'fetchMyTrades', {})
1909
- defaultLimit = self.safe_integer(options, 'limit', 200)
2054
+ maxLimit = 200
2055
+ defaultLimit = self.safe_integer(options, 'limit', maxLimit)
1910
2056
  if limit is None:
1911
2057
  limit = defaultLimit
1912
- request['limit'] = limit
2058
+ request['limit'] = min(limit, maxLimit)
1913
2059
  if since is not None:
1914
2060
  request['startTime'] = since
1915
2061
  if until is not None:
@@ -2549,8 +2695,7 @@ class bitmart(Exchange, ImplicitAPI):
2549
2695
  """
2550
2696
  @ignore
2551
2697
  create a trade order
2552
- https://developer-pro.bitmart.com/en/futures/#submit-order-signed
2553
- https://developer-pro.bitmart.com/en/futures/#submit-plan-order-signed
2698
+ https://developer-pro.bitmart.com/en/futuresv2/#submit-order-signed
2554
2699
  https://developer-pro.bitmart.com/en/futuresv2/#submit-plan-order-signed
2555
2700
  https://developer-pro.bitmart.com/en/futuresv2/#submit-tp-or-sl-order-signed
2556
2701
  :param str symbol: unified symbol of the market to create an order in
@@ -2996,12 +3141,12 @@ class bitmart(Exchange, ImplicitAPI):
2996
3141
  if symbol is not None:
2997
3142
  market = self.market(symbol)
2998
3143
  request['symbol'] = market['id']
2999
- if limit is not None:
3000
- request['limit'] = limit
3001
3144
  type = None
3002
3145
  response = None
3003
3146
  type, params = self.handle_market_type_and_params('fetchOpenOrders', market, params)
3004
3147
  if type == 'spot':
3148
+ if limit is not None:
3149
+ request['limit'] = min(limit, 200)
3005
3150
  marginMode = None
3006
3151
  marginMode, params = self.handle_margin_mode_and_params('fetchOpenOrders', params)
3007
3152
  if marginMode == 'isolated':
@@ -3014,9 +3159,11 @@ class bitmart(Exchange, ImplicitAPI):
3014
3159
  request['endTime'] = until
3015
3160
  response = await self.privatePostSpotV4QueryOpenOrders(self.extend(request, params))
3016
3161
  elif type == 'swap':
3017
- isStop = self.safe_bool_2(params, 'stop', 'trigger')
3162
+ if limit is not None:
3163
+ request['limit'] = min(limit, 100)
3164
+ isTrigger = self.safe_bool_2(params, 'stop', 'trigger')
3018
3165
  params = self.omit(params, ['stop', 'trigger'])
3019
- if isStop:
3166
+ if isTrigger:
3020
3167
  response = await self.privateGetContractPrivateCurrentPlanOrder(self.extend(request, params))
3021
3168
  else:
3022
3169
  trailing = self.safe_bool(params, 'trailing', False)
@@ -3113,12 +3260,8 @@ class bitmart(Exchange, ImplicitAPI):
3113
3260
  if type != 'spot':
3114
3261
  if symbol is None:
3115
3262
  raise ArgumentsRequired(self.id + ' fetchClosedOrders() requires a symbol argument')
3116
- marginMode = None
3117
- marginMode, params = self.handle_margin_mode_and_params('fetchClosedOrders', params)
3118
- if marginMode == 'isolated':
3119
- request['orderMode'] = 'iso_margin'
3120
- startTimeKey = 'startTime' if (type == 'spot') else 'start_time'
3121
3263
  if since is not None:
3264
+ startTimeKey = 'startTime' if (type == 'spot') else 'start_time'
3122
3265
  request[startTimeKey] = since
3123
3266
  endTimeKey = 'endTime' if (type == 'spot') else 'end_time'
3124
3267
  until = self.safe_integer_2(params, 'until', endTimeKey)
@@ -3127,6 +3270,10 @@ class bitmart(Exchange, ImplicitAPI):
3127
3270
  request[endTimeKey] = until
3128
3271
  response = None
3129
3272
  if type == 'spot':
3273
+ marginMode = None
3274
+ marginMode, params = self.handle_margin_mode_and_params('fetchClosedOrders', params)
3275
+ if marginMode == 'isolated':
3276
+ request['orderMode'] = 'iso_margin'
3130
3277
  response = await self.privatePostSpotV4QueryHistoryOrders(self.extend(request, params))
3131
3278
  else:
3132
3279
  response = await self.privateGetContractPrivateOrderHistory(self.extend(request, params))
@@ -677,6 +677,9 @@ class bybit(Exchange, ImplicitAPI):
677
677
  '110071': ExchangeError, # Sorry, we're revamping the Unified Margin Account! Currently, new upgrades are not supported. If you have any questions, please contact our 24/7 customer support.
678
678
  '110072': InvalidOrder, # OrderLinkedID is duplicate
679
679
  '110073': ExchangeError, # Set margin mode failed
680
+ '110092': InvalidOrder, # expect Rising, but trigger_price[XXXXX] <= current[XXXXX]
681
+ '110093': InvalidOrder, # expect Falling, but trigger_price[XXXXX] >= current[XXXXX]
682
+ '110094': InvalidOrder, # Order notional value below the lower limit
680
683
  '130006': InvalidOrder, # {"ret_code":130006,"ret_msg":"The number of contracts exceeds maximum limit allowed: too large","ext_code":"","ext_info":"","result":null,"time_now":"1658397095.099030","rate_limit_status":99,"rate_limit_reset_ms":1658397095097,"rate_limit":100}
681
684
  '130021': InsufficientFunds, # {"ret_code":130021,"ret_msg":"orderfix price failed for CannotAffordOrderCost.","ext_code":"","ext_info":"","result":null,"time_now":"1644588250.204878","rate_limit_status":98,"rate_limit_reset_ms":1644588250200,"rate_limit":100} | {"ret_code":130021,"ret_msg":"oc_diff[1707966351], new_oc[1707966351] with ob[....]+AB[....]","ext_code":"","ext_info":"","result":null,"time_now":"1658395300.872766","rate_limit_status":99,"rate_limit_reset_ms":1658395300855,"rate_limit":100} caused issues/9149#issuecomment-1146559498
682
685
  '130074': InvalidOrder, # {"ret_code":130074,"ret_msg":"expect Rising, but trigger_price[190000000] \u003c= current[211280000]??LastPrice","ext_code":"","ext_info":"","result":null,"time_now":"1655386638.067076","rate_limit_status":97,"rate_limit_reset_ms":1655386638065,"rate_limit":100}
@@ -1116,7 +1119,6 @@ class bybit(Exchange, ImplicitAPI):
1116
1119
  'limitPrice': True,
1117
1120
  },
1118
1121
  'timeInForce': {
1119
- 'GTC': True,
1120
1122
  'IOC': True,
1121
1123
  'FOK': True,
1122
1124
  'PO': True,
@@ -1178,7 +1180,6 @@ class bybit(Exchange, ImplicitAPI):
1178
1180
  'limitPrice': True,
1179
1181
  },
1180
1182
  'timeInForce': {
1181
- 'GTC': True,
1182
1183
  'IOC': True,
1183
1184
  'FOK': True,
1184
1185
  'PO': True,
@@ -928,6 +928,7 @@ class kucoin(Exchange, ImplicitAPI):
928
928
  'TRUE': 'true',
929
929
  'CS': 'cs',
930
930
  'ORAI': 'orai',
931
+ 'BASE': 'base',
931
932
  # below will be uncommented after consensus
932
933
  # 'BITCOINDIAMON': 'bcd',
933
934
  # 'BITCOINGOLD': 'btg',
@@ -1003,6 +1004,74 @@ class kucoin(Exchange, ImplicitAPI):
1003
1004
  'spot': 'TRADE',
1004
1005
  },
1005
1006
  },
1007
+ 'features': {
1008
+ 'spot': {
1009
+ 'sandbox': False,
1010
+ 'createOrder': {
1011
+ 'marginMode': True,
1012
+ 'triggerPrice': True,
1013
+ 'triggerPriceType': None,
1014
+ 'triggerDirection': False,
1015
+ 'stopLossPrice': True,
1016
+ 'takeProfitPrice': True,
1017
+ 'attachedStopLossTakeProfit': None, # not supported
1018
+ 'timeInForce': {
1019
+ 'IOC': True,
1020
+ 'FOK': True,
1021
+ 'PO': True,
1022
+ 'GTD': True,
1023
+ },
1024
+ 'hedged': False,
1025
+ 'trailing': False,
1026
+ # exchange-supported features
1027
+ # 'iceberg': True,
1028
+ # 'selfTradePrevention': True,
1029
+ # 'twap': False,
1030
+ # 'oco': False,
1031
+ },
1032
+ 'createOrders': {
1033
+ 'max': 5,
1034
+ },
1035
+ 'fetchMyTrades': {
1036
+ 'marginMode': True,
1037
+ 'limit': None,
1038
+ 'daysBack': None,
1039
+ 'untilDays': 7, # per implementation comments
1040
+ },
1041
+ 'fetchOrder': {
1042
+ 'marginMode': False,
1043
+ 'trigger': True,
1044
+ 'trailing': False,
1045
+ },
1046
+ 'fetchOpenOrders': {
1047
+ 'marginMode': True,
1048
+ 'limit': 500,
1049
+ 'trigger': True,
1050
+ 'trailing': False,
1051
+ },
1052
+ 'fetchOrders': None,
1053
+ 'fetchClosedOrders': {
1054
+ 'marginMode': True,
1055
+ 'limit': 500,
1056
+ 'daysBackClosed': None,
1057
+ 'daysBackCanceled': None,
1058
+ 'untilDays': 7,
1059
+ 'trigger': True,
1060
+ 'trailing': False,
1061
+ },
1062
+ 'fetchOHLCV': {
1063
+ 'limit': 1500,
1064
+ },
1065
+ },
1066
+ 'swap': {
1067
+ 'linear': None,
1068
+ 'inverse': None,
1069
+ },
1070
+ 'future': {
1071
+ 'linear': None,
1072
+ 'inverse': None,
1073
+ },
1074
+ },
1006
1075
  })
1007
1076
 
1008
1077
  def nonce(self):
@@ -2616,7 +2685,7 @@ class kucoin(Exchange, ImplicitAPI):
2616
2685
  await self.load_markets()
2617
2686
  lowercaseStatus = status.lower()
2618
2687
  until = self.safe_integer(params, 'until')
2619
- stop = self.safe_bool_2(params, 'stop', 'trigger', False)
2688
+ trigger = self.safe_bool_2(params, 'stop', 'trigger', False)
2620
2689
  hf = None
2621
2690
  hf, params = self.handle_hf_and_params(params)
2622
2691
  if hf and (symbol is None):
@@ -2642,7 +2711,7 @@ class kucoin(Exchange, ImplicitAPI):
2642
2711
  request['endAt'] = until
2643
2712
  request['tradeType'] = self.safe_string(self.options['marginModes'], marginMode, 'TRADE')
2644
2713
  response = None
2645
- if stop:
2714
+ if trigger:
2646
2715
  response = await self.privateGetStopOrder(self.extend(request, query))
2647
2716
  elif hf:
2648
2717
  if lowercaseStatus == 'active':
@@ -3054,6 +3123,10 @@ class kucoin(Exchange, ImplicitAPI):
3054
3123
  response = None
3055
3124
  request, params = self.handle_until_option('endAt', request, params)
3056
3125
  if hf:
3126
+ # does not return trades earlier than 2019-02-18T00:00:00Z
3127
+ if since is not None:
3128
+ # only returns trades up to one week after the since param
3129
+ request['startAt'] = since
3057
3130
  response = await self.privateGetHfFills(self.extend(request, params))
3058
3131
  elif method == 'private_get_fills':
3059
3132
  # does not return trades earlier than 2019-02-18T00:00:00Z