ccxt 4.3.57__tar.gz → 4.3.58__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 (527) hide show
  1. {ccxt-4.3.57/ccxt.egg-info → ccxt-4.3.58}/PKG-INFO +4 -4
  2. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/__init__.py +1 -1
  3. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/kucoin.py +1 -0
  4. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/kucoinfutures.py +1 -0
  5. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/alpaca.py +5 -1
  6. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/__init__.py +1 -1
  7. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/alpaca.py +5 -1
  8. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/base/exchange.py +1 -1
  9. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/base/ws/client.py +1 -0
  10. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bigone.py +19 -1
  11. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bingx.py +69 -19
  12. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/coinmate.py +28 -32
  13. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/coinone.py +1 -1
  14. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/gate.py +6 -2
  15. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/htx.py +3 -1
  16. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/kucoin.py +3 -0
  17. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/latoken.py +5 -1
  18. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/okx.py +2 -0
  19. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/woo.py +2 -1
  20. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/base/exchange.py +1 -1
  21. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bigone.py +19 -1
  22. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bingx.py +69 -19
  23. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/coinmate.py +28 -32
  24. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/coinone.py +1 -1
  25. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/gate.py +6 -2
  26. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/htx.py +3 -1
  27. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/kucoin.py +3 -0
  28. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/latoken.py +5 -1
  29. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/okx.py +2 -0
  30. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/__init__.py +1 -1
  31. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/htx.py +1 -1
  32. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/okx.py +3 -3
  33. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/woo.py +2 -1
  34. {ccxt-4.3.57 → ccxt-4.3.58/ccxt.egg-info}/PKG-INFO +4 -4
  35. {ccxt-4.3.57 → ccxt-4.3.58}/package.json +1 -1
  36. {ccxt-4.3.57 → ccxt-4.3.58}/LICENSE.txt +0 -0
  37. {ccxt-4.3.57 → ccxt-4.3.58}/MANIFEST.in +0 -0
  38. {ccxt-4.3.57 → ccxt-4.3.58}/README.rst +0 -0
  39. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/__init__.py +0 -0
  40. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/ace.py +0 -0
  41. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/alpaca.py +0 -0
  42. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/ascendex.py +0 -0
  43. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bequant.py +0 -0
  44. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bigone.py +0 -0
  45. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/binance.py +0 -0
  46. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/binancecoinm.py +0 -0
  47. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/binanceus.py +0 -0
  48. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/binanceusdm.py +0 -0
  49. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bingx.py +0 -0
  50. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bit2c.py +0 -0
  51. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bitbank.py +0 -0
  52. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bitbay.py +0 -0
  53. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bitbns.py +0 -0
  54. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bitcoincom.py +0 -0
  55. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bitfinex.py +0 -0
  56. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bitfinex2.py +0 -0
  57. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bitflyer.py +0 -0
  58. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bitget.py +0 -0
  59. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bithumb.py +0 -0
  60. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bitmart.py +0 -0
  61. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bitmex.py +0 -0
  62. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bitopro.py +0 -0
  63. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bitpanda.py +0 -0
  64. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bitrue.py +0 -0
  65. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bitso.py +0 -0
  66. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bitstamp.py +0 -0
  67. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bitteam.py +0 -0
  68. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bitvavo.py +0 -0
  69. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bl3p.py +0 -0
  70. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/blockchaincom.py +0 -0
  71. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/blofin.py +0 -0
  72. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/btcalpha.py +0 -0
  73. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/btcbox.py +0 -0
  74. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/btcmarkets.py +0 -0
  75. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/btcturk.py +0 -0
  76. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/bybit.py +0 -0
  77. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/cex.py +0 -0
  78. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/coinbase.py +0 -0
  79. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/coinbaseadvanced.py +0 -0
  80. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/coinbaseexchange.py +0 -0
  81. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/coinbaseinternational.py +0 -0
  82. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/coincheck.py +0 -0
  83. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/coinex.py +0 -0
  84. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/coinlist.py +0 -0
  85. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/coinmate.py +0 -0
  86. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/coinmetro.py +0 -0
  87. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/coinone.py +0 -0
  88. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/coinsph.py +0 -0
  89. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/coinspot.py +0 -0
  90. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/cryptocom.py +0 -0
  91. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/currencycom.py +0 -0
  92. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/delta.py +0 -0
  93. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/deribit.py +0 -0
  94. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/digifinex.py +0 -0
  95. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/exmo.py +0 -0
  96. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/fmfwio.py +0 -0
  97. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/gate.py +0 -0
  98. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/gateio.py +0 -0
  99. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/gemini.py +0 -0
  100. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/hitbtc.py +0 -0
  101. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/hitbtc3.py +0 -0
  102. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/hollaex.py +0 -0
  103. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/htx.py +0 -0
  104. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/huobi.py +0 -0
  105. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/huobijp.py +0 -0
  106. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/hyperliquid.py +0 -0
  107. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/idex.py +0 -0
  108. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/independentreserve.py +0 -0
  109. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/indodax.py +0 -0
  110. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/kraken.py +0 -0
  111. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/krakenfutures.py +0 -0
  112. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/kuna.py +0 -0
  113. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/latoken.py +0 -0
  114. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/lbank.py +0 -0
  115. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/luno.py +0 -0
  116. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/lykke.py +0 -0
  117. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/mercado.py +0 -0
  118. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/mexc.py +0 -0
  119. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/ndax.py +0 -0
  120. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/novadax.py +0 -0
  121. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/oceanex.py +0 -0
  122. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/okcoin.py +0 -0
  123. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/okx.py +0 -0
  124. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/onetrading.py +0 -0
  125. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/oxfun.py +0 -0
  126. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/p2b.py +0 -0
  127. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/paymium.py +0 -0
  128. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/phemex.py +0 -0
  129. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/poloniex.py +0 -0
  130. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/poloniexfutures.py +0 -0
  131. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/probit.py +0 -0
  132. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/timex.py +0 -0
  133. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/tokocrypto.py +0 -0
  134. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/tradeogre.py +0 -0
  135. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/upbit.py +0 -0
  136. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/vertex.py +0 -0
  137. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/wavesexchange.py +0 -0
  138. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/wazirx.py +0 -0
  139. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/whitebit.py +0 -0
  140. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/woo.py +0 -0
  141. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/woofipro.py +0 -0
  142. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/xt.py +0 -0
  143. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/yobit.py +0 -0
  144. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/zaif.py +0 -0
  145. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/abstract/zonda.py +0 -0
  146. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/ace.py +0 -0
  147. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/ascendex.py +0 -0
  148. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/ace.py +0 -0
  149. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/ascendex.py +0 -0
  150. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/base/__init__.py +0 -0
  151. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/base/throttler.py +0 -0
  152. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/base/ws/__init__.py +0 -0
  153. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  154. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/base/ws/cache.py +0 -0
  155. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/base/ws/fast_client.py +0 -0
  156. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/base/ws/functions.py +0 -0
  157. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/base/ws/future.py +0 -0
  158. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/base/ws/order_book.py +0 -0
  159. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  160. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bequant.py +0 -0
  161. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/binance.py +0 -0
  162. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/binancecoinm.py +0 -0
  163. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/binanceus.py +0 -0
  164. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/binanceusdm.py +0 -0
  165. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bit2c.py +0 -0
  166. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bitbank.py +0 -0
  167. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bitbay.py +0 -0
  168. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bitbns.py +0 -0
  169. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bitcoincom.py +0 -0
  170. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bitfinex.py +0 -0
  171. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bitfinex2.py +0 -0
  172. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bitflyer.py +0 -0
  173. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bitget.py +0 -0
  174. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bithumb.py +0 -0
  175. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bitmart.py +0 -0
  176. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bitmex.py +0 -0
  177. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bitopro.py +0 -0
  178. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bitpanda.py +0 -0
  179. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bitrue.py +0 -0
  180. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bitso.py +0 -0
  181. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bitstamp.py +0 -0
  182. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bitteam.py +0 -0
  183. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bitvavo.py +0 -0
  184. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bl3p.py +0 -0
  185. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/blockchaincom.py +0 -0
  186. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/blofin.py +0 -0
  187. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/btcalpha.py +0 -0
  188. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/btcbox.py +0 -0
  189. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/btcmarkets.py +0 -0
  190. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/btcturk.py +0 -0
  191. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/bybit.py +0 -0
  192. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/cex.py +0 -0
  193. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/coinbase.py +0 -0
  194. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/coinbaseadvanced.py +0 -0
  195. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/coinbaseexchange.py +0 -0
  196. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/coinbaseinternational.py +0 -0
  197. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/coincheck.py +0 -0
  198. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/coinex.py +0 -0
  199. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/coinlist.py +0 -0
  200. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/coinmetro.py +0 -0
  201. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/coinsph.py +0 -0
  202. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/coinspot.py +0 -0
  203. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/cryptocom.py +0 -0
  204. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/currencycom.py +0 -0
  205. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/delta.py +0 -0
  206. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/deribit.py +0 -0
  207. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/digifinex.py +0 -0
  208. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/exmo.py +0 -0
  209. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/fmfwio.py +0 -0
  210. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/gateio.py +0 -0
  211. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/gemini.py +0 -0
  212. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/hitbtc.py +0 -0
  213. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/hitbtc3.py +0 -0
  214. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/hollaex.py +0 -0
  215. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/huobi.py +0 -0
  216. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/huobijp.py +0 -0
  217. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/hyperliquid.py +0 -0
  218. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/idex.py +0 -0
  219. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/independentreserve.py +0 -0
  220. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/indodax.py +0 -0
  221. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/kraken.py +0 -0
  222. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/krakenfutures.py +0 -0
  223. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/kucoinfutures.py +0 -0
  224. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/kuna.py +0 -0
  225. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/lbank.py +0 -0
  226. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/luno.py +0 -0
  227. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/lykke.py +0 -0
  228. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/mercado.py +0 -0
  229. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/mexc.py +0 -0
  230. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/ndax.py +0 -0
  231. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/novadax.py +0 -0
  232. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/oceanex.py +0 -0
  233. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/okcoin.py +0 -0
  234. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/onetrading.py +0 -0
  235. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/oxfun.py +0 -0
  236. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/p2b.py +0 -0
  237. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/paymium.py +0 -0
  238. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/phemex.py +0 -0
  239. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/poloniex.py +0 -0
  240. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/poloniexfutures.py +0 -0
  241. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/probit.py +0 -0
  242. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/timex.py +0 -0
  243. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/tokocrypto.py +0 -0
  244. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/tradeogre.py +0 -0
  245. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/upbit.py +0 -0
  246. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/vertex.py +0 -0
  247. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/wavesexchange.py +0 -0
  248. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/wazirx.py +0 -0
  249. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/whitebit.py +0 -0
  250. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/woofipro.py +0 -0
  251. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/xt.py +0 -0
  252. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/yobit.py +0 -0
  253. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/zaif.py +0 -0
  254. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/async_support/zonda.py +0 -0
  255. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/base/__init__.py +0 -0
  256. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/base/decimal_to_precision.py +0 -0
  257. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/base/errors.py +0 -0
  258. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/base/precise.py +0 -0
  259. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/base/types.py +0 -0
  260. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bequant.py +0 -0
  261. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/binance.py +0 -0
  262. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/binancecoinm.py +0 -0
  263. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/binanceus.py +0 -0
  264. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/binanceusdm.py +0 -0
  265. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bit2c.py +0 -0
  266. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bitbank.py +0 -0
  267. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bitbay.py +0 -0
  268. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bitbns.py +0 -0
  269. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bitcoincom.py +0 -0
  270. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bitfinex.py +0 -0
  271. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bitfinex2.py +0 -0
  272. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bitflyer.py +0 -0
  273. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bitget.py +0 -0
  274. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bithumb.py +0 -0
  275. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bitmart.py +0 -0
  276. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bitmex.py +0 -0
  277. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bitopro.py +0 -0
  278. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bitpanda.py +0 -0
  279. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bitrue.py +0 -0
  280. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bitso.py +0 -0
  281. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bitstamp.py +0 -0
  282. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bitteam.py +0 -0
  283. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bitvavo.py +0 -0
  284. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bl3p.py +0 -0
  285. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/blockchaincom.py +0 -0
  286. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/blofin.py +0 -0
  287. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/btcalpha.py +0 -0
  288. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/btcbox.py +0 -0
  289. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/btcmarkets.py +0 -0
  290. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/btcturk.py +0 -0
  291. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/bybit.py +0 -0
  292. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/cex.py +0 -0
  293. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/coinbase.py +0 -0
  294. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/coinbaseadvanced.py +0 -0
  295. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/coinbaseexchange.py +0 -0
  296. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/coinbaseinternational.py +0 -0
  297. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/coincheck.py +0 -0
  298. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/coinex.py +0 -0
  299. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/coinlist.py +0 -0
  300. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/coinmetro.py +0 -0
  301. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/coinsph.py +0 -0
  302. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/coinspot.py +0 -0
  303. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/cryptocom.py +0 -0
  304. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/currencycom.py +0 -0
  305. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/delta.py +0 -0
  306. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/deribit.py +0 -0
  307. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/digifinex.py +0 -0
  308. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/exmo.py +0 -0
  309. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/fmfwio.py +0 -0
  310. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/gateio.py +0 -0
  311. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/gemini.py +0 -0
  312. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/hitbtc.py +0 -0
  313. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/hitbtc3.py +0 -0
  314. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/hollaex.py +0 -0
  315. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/huobi.py +0 -0
  316. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/huobijp.py +0 -0
  317. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/hyperliquid.py +0 -0
  318. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/idex.py +0 -0
  319. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/independentreserve.py +0 -0
  320. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/indodax.py +0 -0
  321. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/kraken.py +0 -0
  322. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/krakenfutures.py +0 -0
  323. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/kucoinfutures.py +0 -0
  324. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/kuna.py +0 -0
  325. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/lbank.py +0 -0
  326. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/luno.py +0 -0
  327. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/lykke.py +0 -0
  328. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/mercado.py +0 -0
  329. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/mexc.py +0 -0
  330. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/ndax.py +0 -0
  331. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/novadax.py +0 -0
  332. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/oceanex.py +0 -0
  333. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/okcoin.py +0 -0
  334. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/onetrading.py +0 -0
  335. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/oxfun.py +0 -0
  336. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/p2b.py +0 -0
  337. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/paymium.py +0 -0
  338. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/phemex.py +0 -0
  339. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/poloniex.py +0 -0
  340. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/poloniexfutures.py +0 -0
  341. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/alpaca.py +0 -0
  342. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/ascendex.py +0 -0
  343. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/bequant.py +0 -0
  344. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/binance.py +0 -0
  345. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/binancecoinm.py +0 -0
  346. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/binanceus.py +0 -0
  347. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/binanceusdm.py +0 -0
  348. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/bingx.py +0 -0
  349. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/bitcoincom.py +0 -0
  350. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/bitfinex.py +0 -0
  351. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/bitfinex2.py +0 -0
  352. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/bitget.py +0 -0
  353. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/bithumb.py +0 -0
  354. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/bitmart.py +0 -0
  355. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/bitmex.py +0 -0
  356. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/bitopro.py +0 -0
  357. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/bitpanda.py +0 -0
  358. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/bitrue.py +0 -0
  359. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/bitstamp.py +0 -0
  360. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/bitvavo.py +0 -0
  361. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/blockchaincom.py +0 -0
  362. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/bybit.py +0 -0
  363. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/cex.py +0 -0
  364. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/coinbase.py +0 -0
  365. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/coinbaseexchange.py +0 -0
  366. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/coinbaseinternational.py +0 -0
  367. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/coincheck.py +0 -0
  368. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/coinex.py +0 -0
  369. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/coinone.py +0 -0
  370. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/cryptocom.py +0 -0
  371. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/currencycom.py +0 -0
  372. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/deribit.py +0 -0
  373. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/exmo.py +0 -0
  374. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/gate.py +0 -0
  375. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/gateio.py +0 -0
  376. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/gemini.py +0 -0
  377. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/hitbtc.py +0 -0
  378. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/hollaex.py +0 -0
  379. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/huobi.py +0 -0
  380. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/huobijp.py +0 -0
  381. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/hyperliquid.py +0 -0
  382. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/idex.py +0 -0
  383. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/independentreserve.py +0 -0
  384. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/kraken.py +0 -0
  385. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/krakenfutures.py +0 -0
  386. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/kucoin.py +0 -0
  387. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/kucoinfutures.py +0 -0
  388. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/lbank.py +0 -0
  389. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/luno.py +0 -0
  390. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/mexc.py +0 -0
  391. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/ndax.py +0 -0
  392. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/okcoin.py +0 -0
  393. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/onetrading.py +0 -0
  394. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/oxfun.py +0 -0
  395. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/p2b.py +0 -0
  396. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/phemex.py +0 -0
  397. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/poloniex.py +0 -0
  398. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/poloniexfutures.py +0 -0
  399. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/probit.py +0 -0
  400. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/upbit.py +0 -0
  401. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/vertex.py +0 -0
  402. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/wazirx.py +0 -0
  403. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/whitebit.py +0 -0
  404. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/woo.py +0 -0
  405. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/pro/woofipro.py +0 -0
  406. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/probit.py +0 -0
  407. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/__init__.py +0 -0
  408. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  409. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  410. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  411. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  412. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  413. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  414. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  415. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  416. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  417. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  418. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  419. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  420. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  421. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  422. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  423. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  424. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  425. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  426. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  427. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  428. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  429. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  430. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  431. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  432. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  433. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  434. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  435. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  436. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  437. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  438. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  439. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  440. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  441. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  442. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  443. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  444. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  445. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  446. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  447. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  448. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  449. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  450. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  451. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  452. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  453. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  454. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  455. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  456. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  457. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  458. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  459. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  460. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  461. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  462. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  463. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  464. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  465. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  466. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  467. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  468. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  469. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  470. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  471. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  472. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  473. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  474. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  475. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  476. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  477. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  478. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  479. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  480. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  481. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  482. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  483. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  484. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  485. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  486. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  487. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  488. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  489. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  490. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  491. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  492. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  493. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  494. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/_version.py +0 -0
  495. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  496. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  497. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  498. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  499. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  500. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  501. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  502. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  503. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/static_dependencies/toolz/utils.py +0 -0
  504. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/test/__init__.py +0 -0
  505. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/test/tests_async.py +0 -0
  506. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/test/tests_helpers.py +0 -0
  507. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/test/tests_init.py +0 -0
  508. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/test/tests_sync.py +0 -0
  509. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/timex.py +0 -0
  510. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/tokocrypto.py +0 -0
  511. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/tradeogre.py +0 -0
  512. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/upbit.py +0 -0
  513. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/vertex.py +0 -0
  514. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/wavesexchange.py +0 -0
  515. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/wazirx.py +0 -0
  516. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/whitebit.py +0 -0
  517. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/woofipro.py +0 -0
  518. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/xt.py +0 -0
  519. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/yobit.py +0 -0
  520. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/zaif.py +0 -0
  521. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt/zonda.py +0 -0
  522. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt.egg-info/SOURCES.txt +0 -0
  523. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt.egg-info/dependency_links.txt +0 -0
  524. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt.egg-info/requires.txt +0 -0
  525. {ccxt-4.3.57 → ccxt-4.3.58}/ccxt.egg-info/top_level.txt +0 -0
  526. {ccxt-4.3.57 → ccxt-4.3.58}/setup.cfg +0 -0
  527. {ccxt-4.3.57 → ccxt-4.3.58}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.3.57
3
+ Version: 4.3.58
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
@@ -257,13 +257,13 @@ console.log(version, Object.keys(exchanges));
257
257
 
258
258
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
259
259
 
260
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.57/dist/ccxt.browser.min.js
261
- * unpkg: https://unpkg.com/ccxt@4.3.57/dist/ccxt.browser.min.js
260
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.58/dist/ccxt.browser.min.js
261
+ * unpkg: https://unpkg.com/ccxt@4.3.58/dist/ccxt.browser.min.js
262
262
 
263
263
  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.
264
264
 
265
265
  ```HTML
266
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.57/dist/ccxt.browser.min.js"></script>
266
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.58/dist/ccxt.browser.min.js"></script>
267
267
  ```
268
268
 
269
269
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.3.57'
25
+ __version__ = '4.3.58'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -87,6 +87,7 @@ class ImplicitAPI:
87
87
  private_get_redeem_orders = privateGetRedeemOrders = Entry('redeem/orders', 'private', 'GET', {'cost': 10})
88
88
  private_get_purchase_orders = privateGetPurchaseOrders = Entry('purchase/orders', 'private', 'GET', {'cost': 10})
89
89
  private_get_broker_api_rebase_download = privateGetBrokerApiRebaseDownload = Entry('broker/api/rebase/download', 'private', 'GET', {'cost': 3})
90
+ private_get_affiliate_inviter_statistics = privateGetAffiliateInviterStatistics = Entry('affiliate/inviter/statistics', 'private', 'GET', {'cost': 30})
90
91
  private_post_sub_user_created = privatePostSubUserCreated = Entry('sub/user/created', 'private', 'POST', {'cost': 22.5})
91
92
  private_post_sub_api_key = privatePostSubApiKey = Entry('sub/api-key', 'private', 'POST', {'cost': 30})
92
93
  private_post_sub_api_key_update = privatePostSubApiKeyUpdate = Entry('sub/api-key/update', 'private', 'POST', {'cost': 45})
@@ -87,6 +87,7 @@ class ImplicitAPI:
87
87
  private_get_redeem_orders = privateGetRedeemOrders = Entry('redeem/orders', 'private', 'GET', {'cost': 10})
88
88
  private_get_purchase_orders = privateGetPurchaseOrders = Entry('purchase/orders', 'private', 'GET', {'cost': 10})
89
89
  private_get_broker_api_rebase_download = privateGetBrokerApiRebaseDownload = Entry('broker/api/rebase/download', 'private', 'GET', {'cost': 3})
90
+ private_get_affiliate_inviter_statistics = privateGetAffiliateInviterStatistics = Entry('affiliate/inviter/statistics', 'private', 'GET', {'cost': 30})
90
91
  private_post_sub_user_created = privatePostSubUserCreated = Entry('sub/user/created', 'private', 'POST', {'cost': 22.5})
91
92
  private_post_sub_api_key = privatePostSubApiKey = Entry('sub/api-key', 'private', 'POST', {'cost': 30})
92
93
  private_post_sub_api_key_update = privatePostSubApiKeyUpdate = Entry('sub/api-key/update', 'private', 'POST', {'cost': 45})
@@ -787,7 +787,11 @@ class alpaca(Exchange, ImplicitAPI):
787
787
  if isinstance(response, list):
788
788
  return self.parse_orders(response, None)
789
789
  else:
790
- return response
790
+ return [
791
+ self.safe_order({
792
+ 'info': response,
793
+ }),
794
+ ]
791
795
 
792
796
  def fetch_order(self, id: str, symbol: Str = None, params={}):
793
797
  """
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.57'
7
+ __version__ = '4.3.58'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -787,7 +787,11 @@ class alpaca(Exchange, ImplicitAPI):
787
787
  if isinstance(response, list):
788
788
  return self.parse_orders(response, None)
789
789
  else:
790
- return response
790
+ return [
791
+ self.safe_order({
792
+ 'info': response,
793
+ }),
794
+ ]
791
795
 
792
796
  async def fetch_order(self, id: str, symbol: Str = None, params={}):
793
797
  """
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.3.57'
5
+ __version__ = '4.3.58'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -76,6 +76,7 @@ class Client(object):
76
76
  queue = self.message_queue[message_hash]
77
77
  if len(queue):
78
78
  future.resolve(queue.popleft())
79
+ del self.futures[message_hash]
79
80
  return future
80
81
 
81
82
  def resolve(self, result, message_hash):
@@ -1540,7 +1540,25 @@ class bigone(Exchange, ImplicitAPI):
1540
1540
  # }
1541
1541
  # }
1542
1542
  #
1543
- return response
1543
+ data = self.safe_dict(response, 'data', {})
1544
+ cancelled = self.safe_list(data, 'cancelled', [])
1545
+ failed = self.safe_list(data, 'failed', [])
1546
+ result = []
1547
+ for i in range(0, len(cancelled)):
1548
+ orderId = cancelled[i]
1549
+ result.append(self.safe_order({
1550
+ 'info': orderId,
1551
+ 'id': orderId,
1552
+ 'status': 'canceled',
1553
+ }))
1554
+ for i in range(0, len(failed)):
1555
+ orderId = failed[i]
1556
+ result.append(self.safe_order({
1557
+ 'info': orderId,
1558
+ 'id': orderId,
1559
+ 'status': 'failed',
1560
+ }))
1561
+ return result
1544
1562
 
1545
1563
  async def fetch_order(self, id: str, symbol: Str = None, params={}):
1546
1564
  """
@@ -816,13 +816,14 @@ class bingx(Exchange, ImplicitAPI):
816
816
  :see: https://bingx-api.github.io/docs/#/spot/market-api.html#Candlestick%20chart%20data
817
817
  :see: https://bingx-api.github.io/docs/#/swapV2/market-api.html#%20K-Line%20Data
818
818
  :see: https://bingx-api.github.io/docs/#/en-us/swapV2/market-api.html#K-Line%20Data%20-%20Mark%20Price
819
+ :see: https://bingx-api.github.io/docs/#/en-us/cswap/market-api.html#Get%20K-line%20Data
819
820
  :param str symbol: unified symbol of the market to fetch OHLCV data for
820
821
  :param str timeframe: the length of time each candle represents
821
822
  :param int [since]: timestamp in ms of the earliest candle to fetch
822
823
  :param int [limit]: the maximum amount of candles to fetch
823
824
  :param dict [params]: extra parameters specific to the exchange API endpoint
824
825
  :param int [params.until]: timestamp in ms of the latest candle to fetch
825
- :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)
826
+ :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)
826
827
  :returns int[][]: A list of candles ordered, open, high, low, close, volume
827
828
  """
828
829
  await self.load_markets()
@@ -847,12 +848,15 @@ class bingx(Exchange, ImplicitAPI):
847
848
  if market['spot']:
848
849
  response = await self.spotV1PublicGetMarketKline(self.extend(request, params))
849
850
  else:
850
- price = self.safe_string(params, 'price')
851
- params = self.omit(params, 'price')
852
- if price == 'mark':
853
- response = await self.swapV1PrivateGetMarketMarkPriceKlines(self.extend(request, params))
851
+ if market['inverse']:
852
+ response = await self.cswapV1PublicGetMarketKlines(self.extend(request, params))
854
853
  else:
855
- response = await self.swapV3PublicGetQuoteKlines(self.extend(request, params))
854
+ price = self.safe_string(params, 'price')
855
+ params = self.omit(params, 'price')
856
+ if price == 'mark':
857
+ response = await self.swapV1PrivateGetMarketMarkPriceKlines(self.extend(request, params))
858
+ else:
859
+ response = await self.swapV3PublicGetQuoteKlines(self.extend(request, params))
856
860
  #
857
861
  # {
858
862
  # "code": 0,
@@ -1145,6 +1149,7 @@ class bingx(Exchange, ImplicitAPI):
1145
1149
  fetches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
1146
1150
  :see: https://bingx-api.github.io/docs/#/spot/market-api.html#Query%20depth%20information
1147
1151
  :see: https://bingx-api.github.io/docs/#/swapV2/market-api.html#Get%20Market%20Depth
1152
+ :see: https://bingx-api.github.io/docs/#/en-us/cswap/market-api.html#Query%20Depth%20Data
1148
1153
  :param str symbol: unified symbol of the market to fetch the order book for
1149
1154
  :param int [limit]: the maximum amount of order book entries to return
1150
1155
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -1163,7 +1168,10 @@ class bingx(Exchange, ImplicitAPI):
1163
1168
  if marketType == 'spot':
1164
1169
  response = await self.spotV1PublicGetMarketDepth(self.extend(request, params))
1165
1170
  else:
1166
- response = await self.swapV2PublicGetQuoteDepth(self.extend(request, params))
1171
+ if market['inverse']:
1172
+ response = await self.cswapV1PublicGetMarketDepth(self.extend(request, params))
1173
+ else:
1174
+ response = await self.swapV2PublicGetQuoteDepth(self.extend(request, params))
1167
1175
  #
1168
1176
  # spot
1169
1177
  #
@@ -1229,6 +1237,7 @@ class bingx(Exchange, ImplicitAPI):
1229
1237
  """
1230
1238
  fetch the current funding rate
1231
1239
  :see: https://bingx-api.github.io/docs/#/swapV2/market-api.html#Current%20Funding%20Rate
1240
+ :see: https://bingx-api.github.io/docs/#/en-us/cswap/market-api.html#Price%20&%20Current%20Funding%20Rate
1232
1241
  :param str symbol: unified market symbol
1233
1242
  :param dict [params]: extra parameters specific to the exchange API endpoint
1234
1243
  :returns dict: a `funding rate structure <https://docs.ccxt.com/#/?id=funding-rate-structure>`
@@ -1238,7 +1247,11 @@ class bingx(Exchange, ImplicitAPI):
1238
1247
  request: dict = {
1239
1248
  'symbol': market['id'],
1240
1249
  }
1241
- response = await self.swapV2PublicGetQuotePremiumIndex(self.extend(request, params))
1250
+ response = None
1251
+ if market['inverse']:
1252
+ response = await self.cswapV1PublicGetMarketPremiumIndex(self.extend(request, params))
1253
+ else:
1254
+ response = await self.swapV2PublicGetQuotePremiumIndex(self.extend(request, params))
1242
1255
  #
1243
1256
  # {
1244
1257
  # "code":0,
@@ -1376,9 +1389,10 @@ class bingx(Exchange, ImplicitAPI):
1376
1389
 
1377
1390
  async def fetch_open_interest(self, symbol: str, params={}):
1378
1391
  """
1379
- Retrieves the open interest of a currency
1392
+ retrieves the open interest of a trading pair
1380
1393
  :see: https://bingx-api.github.io/docs/#/swapV2/market-api.html#Get%20Swap%20Open%20Positions
1381
- :param str symbol: Unified CCXT market symbol
1394
+ :see: https://bingx-api.github.io/docs/#/en-us/cswap/market-api.html#Get%20Swap%20Open%20Positions
1395
+ :param str symbol: unified CCXT market symbol
1382
1396
  :param dict [params]: exchange specific parameters
1383
1397
  :returns dict} an open interest structure{@link https://docs.ccxt.com/#/?id=open-interest-structure:
1384
1398
  """
@@ -1387,7 +1401,13 @@ class bingx(Exchange, ImplicitAPI):
1387
1401
  request: dict = {
1388
1402
  'symbol': market['id'],
1389
1403
  }
1390
- response = await self.swapV2PublicGetQuoteOpenInterest(self.extend(request, params))
1404
+ response = None
1405
+ if market['inverse']:
1406
+ response = await self.cswapV1PublicGetMarketOpenInterest(self.extend(request, params))
1407
+ else:
1408
+ response = await self.swapV2PublicGetQuoteOpenInterest(self.extend(request, params))
1409
+ #
1410
+ # linear swap
1391
1411
  #
1392
1412
  # {
1393
1413
  # "code": 0,
@@ -1399,18 +1419,48 @@ class bingx(Exchange, ImplicitAPI):
1399
1419
  # }
1400
1420
  # }
1401
1421
  #
1402
- data = self.safe_dict(response, 'data', {})
1403
- return self.parse_open_interest(data, market)
1422
+ # inverse swap
1423
+ #
1424
+ # {
1425
+ # "code": 0,
1426
+ # "msg": "",
1427
+ # "timestamp": 1720328247986,
1428
+ # "data": [
1429
+ # {
1430
+ # "symbol": "BTC-USD",
1431
+ # "openInterest": "749.1160",
1432
+ # "timestamp": 1720310400000
1433
+ # }
1434
+ # ]
1435
+ # }
1436
+ #
1437
+ result: dict = {}
1438
+ if market['inverse']:
1439
+ data = self.safe_list(response, 'data', [])
1440
+ result = self.safe_dict(data, 0, {})
1441
+ else:
1442
+ result = self.safe_dict(response, 'data', {})
1443
+ return self.parse_open_interest(result, market)
1404
1444
 
1405
1445
  def parse_open_interest(self, interest, market: Market = None):
1406
1446
  #
1407
- # {
1408
- # "openInterest": "3289641547.10",
1409
- # "symbol": "BTC-USDT",
1410
- # "time": 1672026617364
1411
- # }
1447
+ # linear swap
1448
+ #
1449
+ # {
1450
+ # "openInterest": "3289641547.10",
1451
+ # "symbol": "BTC-USDT",
1452
+ # "time": 1672026617364
1453
+ # }
1454
+ #
1455
+ # inverse swap
1456
+ #
1457
+ # {
1458
+ # "symbol": "BTC-USD",
1459
+ # "openInterest": "749.1160",
1460
+ # "timestamp": 1720310400000
1461
+ # }
1412
1462
  #
1413
- timestamp = self.safe_integer(interest, 'time')
1463
+ timestamp = self.safe_integer_2(interest, 'time', 'timestamp')
1414
1464
  id = self.safe_string(interest, 'symbol')
1415
1465
  symbol = self.safe_symbol(id, market, '-', 'swap')
1416
1466
  openInterest = self.safe_number(interest, 'openInterest')
@@ -26,7 +26,7 @@ class coinmate(Exchange, ImplicitAPI):
26
26
  'id': 'coinmate',
27
27
  'name': 'CoinMate',
28
28
  'countries': ['GB', 'CZ', 'EU'], # UK, Czech Republic
29
- 'rateLimit': 1000,
29
+ 'rateLimit': 600,
30
30
  'has': {
31
31
  'CORS': True,
32
32
  'spot': True,
@@ -175,28 +175,28 @@ class coinmate(Exchange, ImplicitAPI):
175
175
  'trading': {
176
176
  'tierBased': True,
177
177
  'percentage': True,
178
- 'maker': self.parse_number('0.0012'),
179
- 'taker': self.parse_number('0.0025'),
178
+ 'taker': self.parse_number('0.006'),
179
+ 'maker': self.parse_number('0.004'),
180
180
  'tiers': {
181
181
  'taker': [
182
- [self.parse_number('0'), self.parse_number('0.0035')],
183
- [self.parse_number('10000'), self.parse_number('0.0023')],
184
- [self.parse_number('100000'), self.parse_number('0.0021')],
185
- [self.parse_number('250000'), self.parse_number('0.0020')],
186
- [self.parse_number('500000'), self.parse_number('0.0015')],
187
- [self.parse_number('1000000'), self.parse_number('0.0013')],
188
- [self.parse_number('3000000'), self.parse_number('0.0010')],
189
- [self.parse_number('15000000'), self.parse_number('0.0005')],
182
+ [self.parse_number('0'), self.parse_number('0.006')],
183
+ [self.parse_number('10000'), self.parse_number('0.003')],
184
+ [self.parse_number('100000'), self.parse_number('0.0023')],
185
+ [self.parse_number('250000'), self.parse_number('0.0021')],
186
+ [self.parse_number('500000'), self.parse_number('0.0018')],
187
+ [self.parse_number('1000000'), self.parse_number('0.0015')],
188
+ [self.parse_number('3000000'), self.parse_number('0.0012')],
189
+ [self.parse_number('15000000'), self.parse_number('0.001')],
190
190
  ],
191
191
  'maker': [
192
- [self.parse_number('0'), self.parse_number('0.003')],
193
- [self.parse_number('10000'), self.parse_number('0.0011')],
194
- [self.parse_number('100000'), self.parse_number('0.0010')],
195
- [self.parse_number('250000'), self.parse_number('0.0008')],
192
+ [self.parse_number('0'), self.parse_number('0.004')],
193
+ [self.parse_number('10000'), self.parse_number('0.002')],
194
+ [self.parse_number('100000'), self.parse_number('0.0012')],
195
+ [self.parse_number('250000'), self.parse_number('0.0009')],
196
196
  [self.parse_number('500000'), self.parse_number('0.0005')],
197
197
  [self.parse_number('1000000'), self.parse_number('0.0003')],
198
198
  [self.parse_number('3000000'), self.parse_number('0.0002')],
199
- [self.parse_number('15000000'), self.parse_number('0')],
199
+ [self.parse_number('15000000'), self.parse_number('-0.0004')],
200
200
  ],
201
201
  },
202
202
  },
@@ -1048,20 +1048,16 @@ class coinmate(Exchange, ImplicitAPI):
1048
1048
  return {'url': url, 'method': method, 'body': body, 'headers': headers}
1049
1049
 
1050
1050
  def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
1051
- if response is not None:
1052
- if 'error' in response:
1053
- # {"error":true,"errorMessage":"Minimum Order Size 0.01 ETH","data":null}
1054
- if response['error']:
1055
- message = self.safe_string(response, 'errorMessage')
1056
- feedback = self.id + ' ' + message
1057
- self.throw_exactly_matched_exception(self.exceptions['exact'], message, feedback)
1058
- self.throw_broadly_matched_exception(self.exceptions['broad'], message, feedback)
1059
- raise ExchangeError(self.id + ' ' + self.json(response))
1060
- if code > 400:
1061
- if body:
1062
- feedback = self.id + ' ' + body
1063
- self.throw_exactly_matched_exception(self.exceptions['exact'], body, feedback)
1064
- self.throw_broadly_matched_exception(self.exceptions['broad'], body, feedback)
1065
- raise ExchangeError(feedback) # unknown message
1066
- raise ExchangeError(self.id + ' ' + body)
1051
+ if response is None:
1052
+ return None # fallback to default error handler
1053
+ #
1054
+ # {"error":true,"errorMessage":"Api internal error","data":null}
1055
+ # {"error":true,"errorMessage":"Access denied.","data":null}
1056
+ #
1057
+ errorMessage = self.safe_string(response, 'errorMessage')
1058
+ if errorMessage is not None:
1059
+ feedback = self.id + ' ' + body
1060
+ self.throw_exactly_matched_exception(self.exceptions['exact'], errorMessage, feedback)
1061
+ self.throw_broadly_matched_exception(self.exceptions['broad'], errorMessage, feedback)
1062
+ raise ExchangeError(feedback) # unknown message
1067
1063
  return None
@@ -1116,7 +1116,7 @@ class coinone(Exchange, ImplicitAPI):
1116
1116
  # {"result":"error","error_code":"108","error_msg":"Unknown CryptoCurrency"}
1117
1117
  #
1118
1118
  errorCode = self.safe_string(response, 'error_code')
1119
- if errorCode != '0':
1119
+ if errorCode is not None and errorCode != '0':
1120
1120
  feedback = self.id + ' ' + body
1121
1121
  self.throw_exactly_matched_exception(self.exceptions, errorCode, feedback)
1122
1122
  raise ExchangeError(feedback) # unknown message
@@ -3787,7 +3787,7 @@ class gate(Exchange, ImplicitAPI):
3787
3787
  if isMarketOrder:
3788
3788
  request['price'] = price # set to 0 for market orders
3789
3789
  else:
3790
- request['price'] = self.price_to_precision(symbol, price)
3790
+ request['price'] = '0' if (price == 0) else self.price_to_precision(symbol, price)
3791
3791
  if reduceOnly is not None:
3792
3792
  request['reduce_only'] = reduceOnly
3793
3793
  if timeInForce is not None:
@@ -3858,7 +3858,7 @@ class gate(Exchange, ImplicitAPI):
3858
3858
  'initial': {
3859
3859
  'contract': market['id'],
3860
3860
  'size': amount, # positive = buy, negative = sell, set to 0 to close the position
3861
- 'price': self.price_to_precision(symbol, price), # set to 0 to use market price
3861
+ # 'price': '0' if (price == 0) else self.price_to_precision(symbol, price), # set to 0 to use market price
3862
3862
  # 'close': False, # set to True if trying to close the position
3863
3863
  # 'tif': 'gtc', # gtc, ioc, if using market price, only ioc is supported
3864
3864
  # 'text': clientOrderId, # web, api, app
@@ -3866,6 +3866,10 @@ class gate(Exchange, ImplicitAPI):
3866
3866
  },
3867
3867
  'settle': market['settleId'],
3868
3868
  }
3869
+ if type == 'market':
3870
+ request['initial']['price'] = '0'
3871
+ else:
3872
+ request['initial']['price'] = '0' if (price == 0) else self.price_to_precision(symbol, price)
3869
3873
  if trigger is None:
3870
3874
  rule = None
3871
3875
  triggerOrderPrice = None
@@ -3054,6 +3054,7 @@ class htx(Exchange, ImplicitAPI):
3054
3054
  instStatus = self.safe_string(entry, 'instStatus')
3055
3055
  currencyActive = instStatus == 'normal'
3056
3056
  minPrecision = None
3057
+ minDeposit = None
3057
3058
  minWithdraw = None
3058
3059
  maxWithdraw = None
3059
3060
  deposit = False
@@ -3065,6 +3066,7 @@ class htx(Exchange, ImplicitAPI):
3065
3066
  self.options['networkChainIdsByNames'][code][title] = uniqueChainId
3066
3067
  self.options['networkNamesByChainIds'][uniqueChainId] = title
3067
3068
  networkCode = self.network_id_to_code(uniqueChainId)
3069
+ minDeposit = self.safe_number(chainEntry, 'minDepositAmt')
3068
3070
  minWithdraw = self.safe_number(chainEntry, 'minWithdrawAmt')
3069
3071
  maxWithdraw = self.safe_number(chainEntry, 'maxWithdrawAmt')
3070
3072
  withdrawStatus = self.safe_string(chainEntry, 'withdrawStatus')
@@ -3084,7 +3086,7 @@ class htx(Exchange, ImplicitAPI):
3084
3086
  'network': networkCode,
3085
3087
  'limits': {
3086
3088
  'deposit': {
3087
- 'min': None,
3089
+ 'min': minDeposit,
3088
3090
  'max': None,
3089
3091
  },
3090
3092
  'withdraw': {
@@ -260,6 +260,8 @@ class kucoin(Exchange, ImplicitAPI):
260
260
  'purchase/orders': 10, # 10SW
261
261
  # broker
262
262
  'broker/api/rebase/download': 3,
263
+ # affiliate
264
+ 'affiliate/inviter/statistics': 30,
263
265
  },
264
266
  'post': {
265
267
  # account
@@ -701,6 +703,7 @@ class kucoin(Exchange, ImplicitAPI):
701
703
  'redeem/orders': 'v3',
702
704
  'purchase/orders': 'v3',
703
705
  'margin/symbols': 'v3',
706
+ 'affiliate/inviter/statistics': 'v2',
704
707
  },
705
708
  'POST': {
706
709
  # account
@@ -1344,7 +1344,11 @@ class latoken(Exchange, ImplicitAPI):
1344
1344
  # "status":"SUCCESS"
1345
1345
  # }
1346
1346
  #
1347
- return response
1347
+ return [
1348
+ self.safe_order({
1349
+ 'info': response,
1350
+ }),
1351
+ ]
1348
1352
 
1349
1353
  async def fetch_transactions(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
1350
1354
  """
@@ -6859,6 +6859,8 @@ class okx(Exchange, ImplicitAPI):
6859
6859
  depositWithdrawFees[code] = self.deposit_withdraw_fee({})
6860
6860
  depositWithdrawFees[code]['info'][currencyId] = feeInfo
6861
6861
  chain = self.safe_string(feeInfo, 'chain')
6862
+ if chain is None:
6863
+ continue
6862
6864
  chainSplit = chain.split('-')
6863
6865
  networkId = self.safe_value(chainSplit, 1)
6864
6866
  withdrawFee = self.safe_number(feeInfo, 'minFee')
@@ -15,6 +15,7 @@ from ccxt.base.errors import ArgumentsRequired
15
15
  from ccxt.base.errors import BadRequest
16
16
  from ccxt.base.errors import InvalidOrder
17
17
  from ccxt.base.errors import NotSupported
18
+ from ccxt.base.errors import OperationFailed
18
19
  from ccxt.base.errors import RateLimitExceeded
19
20
  from ccxt.base.errors import OnMaintenance
20
21
  from ccxt.base.decimal_to_precision import TICK_SIZE
@@ -316,7 +317,7 @@ class woo(Exchange, ImplicitAPI):
316
317
  'commonCurrencies': {},
317
318
  'exceptions': {
318
319
  'exact': {
319
- '-1000': ExchangeError, # {"code": -1000, "message": "An unknown error occurred while processing the request"}
320
+ '-1000': OperationFailed, # {"code": -1000, "message": "An unknown error occurred while processing the request"} or {"success":false,"code":"-1000","message":"An internal error has occurred. We are unable to process your request. Please try again later."}
320
321
  '-1001': AuthenticationError, # {"code": -1001, "message": "The api key or secret is in wrong format"}
321
322
  '-1002': AuthenticationError, # {"code": -1002, "message": "API key or secret is invalid, it may because key have insufficient permission or the key is expired/revoked."}
322
323
  '-1003': RateLimitExceeded, # {"code": -1003, "message": "Rate limit exceed."}
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.57'
7
+ __version__ = '4.3.58'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -1539,7 +1539,25 @@ class bigone(Exchange, ImplicitAPI):
1539
1539
  # }
1540
1540
  # }
1541
1541
  #
1542
- return response
1542
+ data = self.safe_dict(response, 'data', {})
1543
+ cancelled = self.safe_list(data, 'cancelled', [])
1544
+ failed = self.safe_list(data, 'failed', [])
1545
+ result = []
1546
+ for i in range(0, len(cancelled)):
1547
+ orderId = cancelled[i]
1548
+ result.append(self.safe_order({
1549
+ 'info': orderId,
1550
+ 'id': orderId,
1551
+ 'status': 'canceled',
1552
+ }))
1553
+ for i in range(0, len(failed)):
1554
+ orderId = failed[i]
1555
+ result.append(self.safe_order({
1556
+ 'info': orderId,
1557
+ 'id': orderId,
1558
+ 'status': 'failed',
1559
+ }))
1560
+ return result
1543
1561
 
1544
1562
  def fetch_order(self, id: str, symbol: Str = None, params={}):
1545
1563
  """