ccxt 4.3.58__tar.gz → 4.3.59__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.

Potentially problematic release.


This version of ccxt might be problematic. Click here for more details.

Files changed (528) hide show
  1. {ccxt-4.3.58/ccxt.egg-info → ccxt-4.3.59}/PKG-INFO +5 -5
  2. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/__init__.py +5 -5
  3. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bitmart.py +1 -0
  4. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/btcbox.py +1 -0
  5. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/upbit.py +3 -0
  6. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/xt.py +1 -0
  7. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/__init__.py +5 -5
  8. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/base/exchange.py +1 -1
  9. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bingx.py +47 -7
  10. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bitmart.py +1 -0
  11. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/btcbox.py +145 -8
  12. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bybit.py +2 -2
  13. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/deribit.py +15 -1
  14. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/digifinex.py +30 -7
  15. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/gate.py +16 -16
  16. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/htx.py +7 -7
  17. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/hyperliquid.py +106 -2
  18. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/mexc.py +11 -11
  19. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/upbit.py +139 -45
  20. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/xt.py +70 -7
  21. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/base/errors.py +23 -23
  22. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/base/exchange.py +9 -9
  23. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bingx.py +47 -7
  24. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bitmart.py +1 -0
  25. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/btcbox.py +145 -8
  26. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bybit.py +2 -2
  27. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/deribit.py +15 -1
  28. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/digifinex.py +30 -7
  29. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/gate.py +16 -16
  30. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/htx.py +7 -7
  31. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/hyperliquid.py +106 -2
  32. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/mexc.py +11 -11
  33. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/__init__.py +3 -1
  34. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/binance.py +11 -13
  35. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/bingx.py +11 -8
  36. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/bitmart.py +2 -2
  37. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/bitopro.py +1 -1
  38. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/coincheck.py +1 -1
  39. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/coinone.py +1 -1
  40. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/hyperliquid.py +1 -1
  41. ccxt-4.3.59/ccxt/pro/xt.py +1043 -0
  42. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/test/tests_async.py +2 -2
  43. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/test/tests_helpers.py +1 -1
  44. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/test/tests_sync.py +2 -2
  45. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/upbit.py +139 -45
  46. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/xt.py +70 -7
  47. {ccxt-4.3.58 → ccxt-4.3.59/ccxt.egg-info}/PKG-INFO +5 -5
  48. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt.egg-info/SOURCES.txt +1 -0
  49. {ccxt-4.3.58 → ccxt-4.3.59}/package.json +1 -1
  50. {ccxt-4.3.58 → ccxt-4.3.59}/LICENSE.txt +0 -0
  51. {ccxt-4.3.58 → ccxt-4.3.59}/MANIFEST.in +0 -0
  52. {ccxt-4.3.58 → ccxt-4.3.59}/README.rst +0 -0
  53. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/__init__.py +0 -0
  54. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/ace.py +0 -0
  55. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/alpaca.py +0 -0
  56. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/ascendex.py +0 -0
  57. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bequant.py +0 -0
  58. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bigone.py +0 -0
  59. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/binance.py +0 -0
  60. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/binancecoinm.py +0 -0
  61. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/binanceus.py +0 -0
  62. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/binanceusdm.py +0 -0
  63. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bingx.py +0 -0
  64. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bit2c.py +0 -0
  65. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bitbank.py +0 -0
  66. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bitbay.py +0 -0
  67. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bitbns.py +0 -0
  68. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bitcoincom.py +0 -0
  69. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bitfinex.py +0 -0
  70. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bitfinex2.py +0 -0
  71. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bitflyer.py +0 -0
  72. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bitget.py +0 -0
  73. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bithumb.py +0 -0
  74. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bitmex.py +0 -0
  75. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bitopro.py +0 -0
  76. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bitpanda.py +0 -0
  77. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bitrue.py +0 -0
  78. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bitso.py +0 -0
  79. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bitstamp.py +0 -0
  80. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bitteam.py +0 -0
  81. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bitvavo.py +0 -0
  82. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bl3p.py +0 -0
  83. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/blockchaincom.py +0 -0
  84. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/blofin.py +0 -0
  85. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/btcalpha.py +0 -0
  86. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/btcmarkets.py +0 -0
  87. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/btcturk.py +0 -0
  88. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/bybit.py +0 -0
  89. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/cex.py +0 -0
  90. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/coinbase.py +0 -0
  91. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/coinbaseadvanced.py +0 -0
  92. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/coinbaseexchange.py +0 -0
  93. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/coinbaseinternational.py +0 -0
  94. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/coincheck.py +0 -0
  95. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/coinex.py +0 -0
  96. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/coinlist.py +0 -0
  97. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/coinmate.py +0 -0
  98. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/coinmetro.py +0 -0
  99. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/coinone.py +0 -0
  100. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/coinsph.py +0 -0
  101. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/coinspot.py +0 -0
  102. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/cryptocom.py +0 -0
  103. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/currencycom.py +0 -0
  104. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/delta.py +0 -0
  105. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/deribit.py +0 -0
  106. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/digifinex.py +0 -0
  107. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/exmo.py +0 -0
  108. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/fmfwio.py +0 -0
  109. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/gate.py +0 -0
  110. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/gateio.py +0 -0
  111. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/gemini.py +0 -0
  112. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/hitbtc.py +0 -0
  113. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/hitbtc3.py +0 -0
  114. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/hollaex.py +0 -0
  115. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/htx.py +0 -0
  116. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/huobi.py +0 -0
  117. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/huobijp.py +0 -0
  118. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/hyperliquid.py +0 -0
  119. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/idex.py +0 -0
  120. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/independentreserve.py +0 -0
  121. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/indodax.py +0 -0
  122. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/kraken.py +0 -0
  123. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/krakenfutures.py +0 -0
  124. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/kucoin.py +0 -0
  125. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/kucoinfutures.py +0 -0
  126. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/kuna.py +0 -0
  127. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/latoken.py +0 -0
  128. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/lbank.py +0 -0
  129. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/luno.py +0 -0
  130. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/lykke.py +0 -0
  131. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/mercado.py +0 -0
  132. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/mexc.py +0 -0
  133. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/ndax.py +0 -0
  134. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/novadax.py +0 -0
  135. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/oceanex.py +0 -0
  136. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/okcoin.py +0 -0
  137. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/okx.py +0 -0
  138. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/onetrading.py +0 -0
  139. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/oxfun.py +0 -0
  140. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/p2b.py +0 -0
  141. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/paymium.py +0 -0
  142. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/phemex.py +0 -0
  143. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/poloniex.py +0 -0
  144. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/poloniexfutures.py +0 -0
  145. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/probit.py +0 -0
  146. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/timex.py +0 -0
  147. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/tokocrypto.py +0 -0
  148. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/tradeogre.py +0 -0
  149. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/vertex.py +0 -0
  150. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/wavesexchange.py +0 -0
  151. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/wazirx.py +0 -0
  152. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/whitebit.py +0 -0
  153. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/woo.py +0 -0
  154. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/woofipro.py +0 -0
  155. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/yobit.py +0 -0
  156. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/zaif.py +0 -0
  157. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/abstract/zonda.py +0 -0
  158. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/ace.py +0 -0
  159. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/alpaca.py +0 -0
  160. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/ascendex.py +0 -0
  161. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/ace.py +0 -0
  162. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/alpaca.py +0 -0
  163. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/ascendex.py +0 -0
  164. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/base/__init__.py +0 -0
  165. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/base/throttler.py +0 -0
  166. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/base/ws/__init__.py +0 -0
  167. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  168. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/base/ws/cache.py +0 -0
  169. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/base/ws/client.py +0 -0
  170. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/base/ws/fast_client.py +0 -0
  171. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/base/ws/functions.py +0 -0
  172. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/base/ws/future.py +0 -0
  173. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/base/ws/order_book.py +0 -0
  174. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  175. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bequant.py +0 -0
  176. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bigone.py +0 -0
  177. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/binance.py +1 -1
  178. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/binancecoinm.py +0 -0
  179. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/binanceus.py +0 -0
  180. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/binanceusdm.py +0 -0
  181. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bit2c.py +0 -0
  182. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bitbank.py +0 -0
  183. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bitbay.py +0 -0
  184. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bitbns.py +0 -0
  185. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bitcoincom.py +0 -0
  186. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bitfinex.py +0 -0
  187. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bitfinex2.py +0 -0
  188. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bitflyer.py +0 -0
  189. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bitget.py +1 -1
  190. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bithumb.py +0 -0
  191. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bitmex.py +0 -0
  192. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bitopro.py +0 -0
  193. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bitpanda.py +0 -0
  194. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bitrue.py +0 -0
  195. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bitso.py +0 -0
  196. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bitstamp.py +0 -0
  197. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bitteam.py +0 -0
  198. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bitvavo.py +0 -0
  199. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/bl3p.py +0 -0
  200. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/blockchaincom.py +0 -0
  201. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/blofin.py +0 -0
  202. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/btcalpha.py +0 -0
  203. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/btcmarkets.py +0 -0
  204. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/btcturk.py +0 -0
  205. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/cex.py +1 -1
  206. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/coinbase.py +0 -0
  207. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/coinbaseadvanced.py +0 -0
  208. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/coinbaseexchange.py +0 -0
  209. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/coinbaseinternational.py +0 -0
  210. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/coincheck.py +0 -0
  211. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/coinex.py +0 -0
  212. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/coinlist.py +0 -0
  213. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/coinmate.py +0 -0
  214. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/coinmetro.py +0 -0
  215. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/coinone.py +0 -0
  216. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/coinsph.py +1 -1
  217. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/coinspot.py +0 -0
  218. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/cryptocom.py +0 -0
  219. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/currencycom.py +0 -0
  220. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/delta.py +0 -0
  221. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/exmo.py +0 -0
  222. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/fmfwio.py +0 -0
  223. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/gateio.py +0 -0
  224. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/gemini.py +0 -0
  225. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/hitbtc.py +0 -0
  226. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/hitbtc3.py +0 -0
  227. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/hollaex.py +0 -0
  228. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/huobi.py +0 -0
  229. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/huobijp.py +0 -0
  230. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/idex.py +0 -0
  231. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/independentreserve.py +0 -0
  232. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/indodax.py +0 -0
  233. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/kraken.py +1 -1
  234. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/krakenfutures.py +0 -0
  235. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/kucoin.py +0 -0
  236. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/kucoinfutures.py +0 -0
  237. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/kuna.py +0 -0
  238. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/latoken.py +0 -0
  239. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/lbank.py +0 -0
  240. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/luno.py +0 -0
  241. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/lykke.py +0 -0
  242. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/mercado.py +0 -0
  243. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/ndax.py +0 -0
  244. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/novadax.py +1 -1
  245. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/oceanex.py +0 -0
  246. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/okcoin.py +1 -1
  247. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/okx.py +1 -1
  248. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/onetrading.py +0 -0
  249. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/oxfun.py +0 -0
  250. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/p2b.py +0 -0
  251. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/paymium.py +0 -0
  252. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/phemex.py +1 -1
  253. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/poloniex.py +0 -0
  254. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/poloniexfutures.py +0 -0
  255. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/probit.py +1 -1
  256. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/timex.py +0 -0
  257. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/tokocrypto.py +1 -1
  258. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/tradeogre.py +0 -0
  259. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/vertex.py +0 -0
  260. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/wavesexchange.py +0 -0
  261. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/wazirx.py +0 -0
  262. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/whitebit.py +0 -0
  263. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/woo.py +0 -0
  264. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/woofipro.py +0 -0
  265. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/yobit.py +0 -0
  266. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/zaif.py +0 -0
  267. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/async_support/zonda.py +0 -0
  268. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/base/__init__.py +0 -0
  269. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/base/decimal_to_precision.py +0 -0
  270. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/base/precise.py +0 -0
  271. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/base/types.py +0 -0
  272. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bequant.py +0 -0
  273. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bigone.py +0 -0
  274. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/binance.py +1 -1
  275. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/binancecoinm.py +0 -0
  276. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/binanceus.py +0 -0
  277. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/binanceusdm.py +0 -0
  278. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bit2c.py +0 -0
  279. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bitbank.py +0 -0
  280. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bitbay.py +0 -0
  281. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bitbns.py +0 -0
  282. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bitcoincom.py +0 -0
  283. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bitfinex.py +0 -0
  284. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bitfinex2.py +0 -0
  285. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bitflyer.py +0 -0
  286. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bitget.py +1 -1
  287. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bithumb.py +0 -0
  288. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bitmex.py +0 -0
  289. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bitopro.py +0 -0
  290. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bitpanda.py +0 -0
  291. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bitrue.py +0 -0
  292. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bitso.py +0 -0
  293. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bitstamp.py +0 -0
  294. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bitteam.py +0 -0
  295. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bitvavo.py +0 -0
  296. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/bl3p.py +0 -0
  297. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/blockchaincom.py +0 -0
  298. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/blofin.py +0 -0
  299. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/btcalpha.py +0 -0
  300. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/btcmarkets.py +0 -0
  301. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/btcturk.py +0 -0
  302. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/cex.py +1 -1
  303. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/coinbase.py +0 -0
  304. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/coinbaseadvanced.py +0 -0
  305. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/coinbaseexchange.py +0 -0
  306. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/coinbaseinternational.py +0 -0
  307. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/coincheck.py +0 -0
  308. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/coinex.py +0 -0
  309. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/coinlist.py +0 -0
  310. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/coinmate.py +0 -0
  311. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/coinmetro.py +0 -0
  312. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/coinone.py +0 -0
  313. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/coinsph.py +1 -1
  314. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/coinspot.py +0 -0
  315. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/cryptocom.py +0 -0
  316. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/currencycom.py +0 -0
  317. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/delta.py +0 -0
  318. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/exmo.py +0 -0
  319. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/fmfwio.py +0 -0
  320. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/gateio.py +0 -0
  321. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/gemini.py +0 -0
  322. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/hitbtc.py +0 -0
  323. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/hitbtc3.py +0 -0
  324. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/hollaex.py +0 -0
  325. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/huobi.py +0 -0
  326. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/huobijp.py +0 -0
  327. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/idex.py +0 -0
  328. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/independentreserve.py +0 -0
  329. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/indodax.py +0 -0
  330. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/kraken.py +1 -1
  331. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/krakenfutures.py +0 -0
  332. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/kucoin.py +0 -0
  333. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/kucoinfutures.py +0 -0
  334. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/kuna.py +0 -0
  335. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/latoken.py +0 -0
  336. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/lbank.py +0 -0
  337. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/luno.py +0 -0
  338. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/lykke.py +0 -0
  339. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/mercado.py +0 -0
  340. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/ndax.py +0 -0
  341. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/novadax.py +1 -1
  342. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/oceanex.py +0 -0
  343. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/okcoin.py +1 -1
  344. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/okx.py +1 -1
  345. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/onetrading.py +0 -0
  346. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/oxfun.py +0 -0
  347. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/p2b.py +0 -0
  348. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/paymium.py +0 -0
  349. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/phemex.py +1 -1
  350. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/poloniex.py +0 -0
  351. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/poloniexfutures.py +0 -0
  352. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/alpaca.py +0 -0
  353. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/ascendex.py +0 -0
  354. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/bequant.py +0 -0
  355. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/binancecoinm.py +0 -0
  356. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/binanceus.py +0 -0
  357. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/binanceusdm.py +0 -0
  358. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/bitcoincom.py +0 -0
  359. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/bitfinex.py +0 -0
  360. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/bitfinex2.py +0 -0
  361. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/bitget.py +0 -0
  362. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/bithumb.py +0 -0
  363. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/bitmex.py +0 -0
  364. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/bitpanda.py +0 -0
  365. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/bitrue.py +0 -0
  366. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/bitstamp.py +0 -0
  367. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/bitvavo.py +0 -0
  368. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/blockchaincom.py +0 -0
  369. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/bybit.py +0 -0
  370. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/cex.py +0 -0
  371. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/coinbase.py +0 -0
  372. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/coinbaseexchange.py +0 -0
  373. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/coinbaseinternational.py +0 -0
  374. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/coinex.py +0 -0
  375. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/cryptocom.py +0 -0
  376. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/currencycom.py +0 -0
  377. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/deribit.py +0 -0
  378. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/exmo.py +0 -0
  379. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/gate.py +0 -0
  380. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/gateio.py +0 -0
  381. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/gemini.py +0 -0
  382. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/hitbtc.py +0 -0
  383. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/hollaex.py +0 -0
  384. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/htx.py +0 -0
  385. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/huobi.py +0 -0
  386. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/huobijp.py +0 -0
  387. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/idex.py +0 -0
  388. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/independentreserve.py +0 -0
  389. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/kraken.py +0 -0
  390. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/krakenfutures.py +0 -0
  391. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/kucoin.py +0 -0
  392. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/kucoinfutures.py +0 -0
  393. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/lbank.py +0 -0
  394. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/luno.py +0 -0
  395. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/mexc.py +0 -0
  396. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/ndax.py +0 -0
  397. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/okcoin.py +0 -0
  398. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/okx.py +0 -0
  399. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/onetrading.py +0 -0
  400. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/oxfun.py +0 -0
  401. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/p2b.py +0 -0
  402. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/phemex.py +0 -0
  403. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/poloniex.py +0 -0
  404. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/poloniexfutures.py +0 -0
  405. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/probit.py +0 -0
  406. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/upbit.py +0 -0
  407. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/vertex.py +0 -0
  408. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/wazirx.py +0 -0
  409. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/whitebit.py +0 -0
  410. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/woo.py +0 -0
  411. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/pro/woofipro.py +0 -0
  412. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/probit.py +1 -1
  413. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/__init__.py +0 -0
  414. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  415. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  416. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  417. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  418. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  419. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  420. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  421. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  422. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  423. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  424. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  425. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  426. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  427. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  428. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  429. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  430. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  431. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  432. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  433. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  434. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  435. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  436. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  437. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  438. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  439. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  440. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  441. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  442. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  443. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  444. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  445. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  446. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  447. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  448. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  449. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  450. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  451. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  452. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  453. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  454. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  455. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  456. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  457. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  458. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  459. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  460. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  461. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  462. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  463. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  464. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  465. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  466. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  467. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  468. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  469. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  470. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  471. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  472. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  473. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  474. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  475. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  476. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  477. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  478. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  479. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  480. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  481. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  482. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  483. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  484. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  485. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  486. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  487. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  488. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  489. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  490. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  491. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  492. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  493. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  494. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  495. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  496. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  497. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  498. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  499. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  500. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/toolz/_version.py +0 -0
  501. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  502. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  503. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  504. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  505. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  506. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  507. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  508. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  509. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/static_dependencies/toolz/utils.py +0 -0
  510. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/test/__init__.py +0 -0
  511. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/test/tests_init.py +0 -0
  512. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/timex.py +0 -0
  513. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/tokocrypto.py +1 -1
  514. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/tradeogre.py +0 -0
  515. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/vertex.py +0 -0
  516. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/wavesexchange.py +0 -0
  517. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/wazirx.py +0 -0
  518. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/whitebit.py +0 -0
  519. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/woo.py +0 -0
  520. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/woofipro.py +0 -0
  521. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/yobit.py +0 -0
  522. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/zaif.py +0 -0
  523. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt/zonda.py +0 -0
  524. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt.egg-info/dependency_links.txt +0 -0
  525. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt.egg-info/requires.txt +0 -0
  526. {ccxt-4.3.58 → ccxt-4.3.59}/ccxt.egg-info/top_level.txt +0 -0
  527. {ccxt-4.3.58 → ccxt-4.3.59}/setup.cfg +0 -0
  528. {ccxt-4.3.58 → ccxt-4.3.59}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.3.58
3
+ Version: 4.3.59
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
@@ -196,7 +196,7 @@ The CCXT library currently supports the following 101 cryptocurrency exchange ma
196
196
  | [![whitebit](https://user-images.githubusercontent.com/1294454/66732963-8eb7dd00-ee66-11e9-849b-10d9282bb9e0.jpg)](https://whitebit.com/referral/d9bdf40e-28f2-4b52-b2f9-cd1415d82963) | whitebit | [WhiteBit](https://whitebit.com/referral/d9bdf40e-28f2-4b52-b2f9-cd1415d82963) | [![API Version 4](https://img.shields.io/badge/4-lightgray)](https://github.com/whitebit-exchange/api-docs) | cex | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
197
197
  | [![woo](https://user-images.githubusercontent.com/1294454/150730761-1a00e5e0-d28c-480f-9e65-089ce3e6ef3b.jpg)](https://x.woo.org/register?ref=YWOWC96B) | woo | [WOO X](https://x.woo.org/register?ref=YWOWC96B) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://docs.woo.org/) | cex | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
198
198
  | [![woofipro](https://github.com/ccxt/ccxt/assets/43336371/b1e7b348-a0fc-4605-8b7f-91176958fd69)](https://dex.woo.org/en/trade?ref=CCXT) | woofipro | [WOOFI PRO](https://dex.woo.org/en/trade?ref=CCXT) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://orderly.network/docs/build-on-evm/building-on-evm) | dex | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
199
- | [![xt](https://user-images.githubusercontent.com/14319357/232636712-466df2fc-560a-4ca4-aab2-b1d954a58e24.jpg)](https://www.xt.com/en/accounts/register?ref=9PTM9VW) | xt | [XT](https://www.xt.com/en/accounts/register?ref=9PTM9VW) | [![API Version 4](https://img.shields.io/badge/4-lightgray)](https://doc.xt.com/) | cex | | |
199
+ | [![xt](https://user-images.githubusercontent.com/14319357/232636712-466df2fc-560a-4ca4-aab2-b1d954a58e24.jpg)](https://www.xt.com/en/accounts/register?ref=9PTM9VW) | xt | [XT](https://www.xt.com/en/accounts/register?ref=9PTM9VW) | [![API Version 4](https://img.shields.io/badge/4-lightgray)](https://doc.xt.com/) | cex | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
200
200
  | [![yobit](https://user-images.githubusercontent.com/1294454/27766910-cdcbfdae-5eea-11e7-9859-03fea873272d.jpg)](https://www.yobit.net) | yobit | [YoBit](https://www.yobit.net) | [![API Version 3](https://img.shields.io/badge/3-lightgray)](https://www.yobit.net/en/api/) | cex | | |
201
201
  | [![zaif](https://user-images.githubusercontent.com/1294454/27766927-39ca2ada-5eeb-11e7-972f-1b4199518ca6.jpg)](https://zaif.jp) | zaif | [Zaif](https://zaif.jp) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://techbureau-api-document.readthedocs.io/ja/latest/index.html) | cex | | |
202
202
  | [![zonda](https://user-images.githubusercontent.com/1294454/159202310-a0e38007-5e7c-4ba9-a32f-c8263a0291fe.jpg)](https://auth.zondaglobal.com/ref/jHlbB4mIkdS1) | zonda | [Zonda](https://auth.zondaglobal.com/ref/jHlbB4mIkdS1) | [![API Version *](https://img.shields.io/badge/*-lightgray)](https://docs.zondacrypto.exchange/) | cex | | |
@@ -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.58/dist/ccxt.browser.min.js
261
- * unpkg: https://unpkg.com/ccxt@4.3.58/dist/ccxt.browser.min.js
260
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.59/dist/ccxt.browser.min.js
261
+ * unpkg: https://unpkg.com/ccxt@4.3.59/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.58/dist/ccxt.browser.min.js"></script>
266
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.59/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.58'
25
+ __version__ = '4.3.59'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -54,21 +54,18 @@ from ccxt.base.errors import OperationRejected # noqa: F4
54
54
  from ccxt.base.errors import NoChange # noqa: F401
55
55
  from ccxt.base.errors import MarginModeAlreadySet # noqa: F401
56
56
  from ccxt.base.errors import MarketClosed # noqa: F401
57
- from ccxt.base.errors import BadResponse # noqa: F401
58
- from ccxt.base.errors import NullResponse # noqa: F401
59
57
  from ccxt.base.errors import InsufficientFunds # noqa: F401
60
58
  from ccxt.base.errors import InvalidAddress # noqa: F401
61
59
  from ccxt.base.errors import AddressPending # noqa: F401
62
60
  from ccxt.base.errors import InvalidOrder # noqa: F401
63
61
  from ccxt.base.errors import OrderNotFound # noqa: F401
64
62
  from ccxt.base.errors import OrderNotCached # noqa: F401
65
- from ccxt.base.errors import CancelPending # noqa: F401
66
63
  from ccxt.base.errors import OrderImmediatelyFillable # noqa: F401
67
64
  from ccxt.base.errors import OrderNotFillable # noqa: F401
68
65
  from ccxt.base.errors import DuplicateOrderId # noqa: F401
69
66
  from ccxt.base.errors import ContractUnavailable # noqa: F401
70
67
  from ccxt.base.errors import NotSupported # noqa: F401
71
- from ccxt.base.errors import ProxyError # noqa: F401
68
+ from ccxt.base.errors import InvalidProxySettings # noqa: F401
72
69
  from ccxt.base.errors import ExchangeClosedByUser # noqa: F401
73
70
  from ccxt.base.errors import OperationFailed # noqa: F401
74
71
  from ccxt.base.errors import NetworkError # noqa: F401
@@ -78,6 +75,9 @@ from ccxt.base.errors import ExchangeNotAvailable # noqa: F4
78
75
  from ccxt.base.errors import OnMaintenance # noqa: F401
79
76
  from ccxt.base.errors import InvalidNonce # noqa: F401
80
77
  from ccxt.base.errors import RequestTimeout # noqa: F401
78
+ from ccxt.base.errors import BadResponse # noqa: F401
79
+ from ccxt.base.errors import NullResponse # noqa: F401
80
+ from ccxt.base.errors import CancelPending # noqa: F401
81
81
  from ccxt.base.errors import error_hierarchy # noqa: F401
82
82
 
83
83
  from ccxt.ace import ace # noqa: F401
@@ -61,6 +61,7 @@ class ImplicitAPI:
61
61
  private_get_contract_private_get_open_orders = privateGetContractPrivateGetOpenOrders = Entry('contract/private/get-open-orders', 'private', 'GET', {'cost': 1.2})
62
62
  private_get_contract_private_current_plan_order = privateGetContractPrivateCurrentPlanOrder = Entry('contract/private/current-plan-order', 'private', 'GET', {'cost': 1.2})
63
63
  private_get_contract_private_trades = privateGetContractPrivateTrades = Entry('contract/private/trades', 'private', 'GET', {'cost': 10})
64
+ private_get_contract_private_position_risk = privateGetContractPrivatePositionRisk = Entry('contract/private/position-risk', 'private', 'GET', {'cost': 10})
64
65
  private_post_account_sub_account_main_v1_sub_to_main = privatePostAccountSubAccountMainV1SubToMain = Entry('account/sub-account/main/v1/sub-to-main', 'private', 'POST', {'cost': 30})
65
66
  private_post_account_sub_account_sub_v1_sub_to_main = privatePostAccountSubAccountSubV1SubToMain = Entry('account/sub-account/sub/v1/sub-to-main', 'private', 'POST', {'cost': 30})
66
67
  private_post_account_sub_account_main_v1_main_to_sub = privatePostAccountSubAccountMainV1MainToSub = Entry('account/sub-account/main/v1/main-to-sub', 'private', 'POST', {'cost': 30})
@@ -5,6 +5,7 @@ class ImplicitAPI:
5
5
  public_get_depth = publicGetDepth = Entry('depth', 'public', 'GET', {})
6
6
  public_get_orders = publicGetOrders = Entry('orders', 'public', 'GET', {})
7
7
  public_get_ticker = publicGetTicker = Entry('ticker', 'public', 'GET', {})
8
+ public_get_tickers = publicGetTickers = Entry('tickers', 'public', 'GET', {})
8
9
  private_post_balance = privatePostBalance = Entry('balance', 'private', 'POST', {})
9
10
  private_post_trade_add = privatePostTradeAdd = Entry('trade_add', 'private', 'POST', {})
10
11
  private_post_trade_cancel = privatePostTradeCancel = Entry('trade_cancel', 'private', 'POST', {})
@@ -24,6 +24,9 @@ class ImplicitAPI:
24
24
  private_get_orders_chance = privateGetOrdersChance = Entry('orders/chance', 'private', 'GET', {})
25
25
  private_get_order = privateGetOrder = Entry('order', 'private', 'GET', {})
26
26
  private_get_orders = privateGetOrders = Entry('orders', 'private', 'GET', {})
27
+ private_get_orders_closed = privateGetOrdersClosed = Entry('orders/closed', 'private', 'GET', {})
28
+ private_get_orders_open = privateGetOrdersOpen = Entry('orders/open', 'private', 'GET', {})
29
+ private_get_orders_uuids = privateGetOrdersUuids = Entry('orders/uuids', 'private', 'GET', {})
27
30
  private_get_withdraws = privateGetWithdraws = Entry('withdraws', 'private', 'GET', {})
28
31
  private_get_withdraw = privateGetWithdraw = Entry('withdraw', 'private', 'GET', {})
29
32
  private_get_withdraws_chance = privateGetWithdrawsChance = Entry('withdraws/chance', 'private', 'GET', {})
@@ -69,6 +69,7 @@ class ImplicitAPI:
69
69
  private_spot_post_withdraw = privateSpotPostWithdraw = Entry('withdraw', ['private', 'spot'], 'POST', {'cost': 1})
70
70
  private_spot_post_balance_transfer = privateSpotPostBalanceTransfer = Entry('balance/transfer', ['private', 'spot'], 'POST', {'cost': 1})
71
71
  private_spot_post_balance_account_transfer = privateSpotPostBalanceAccountTransfer = Entry('balance/account/transfer', ['private', 'spot'], 'POST', {'cost': 1})
72
+ private_spot_post_ws_token = privateSpotPostWsToken = Entry('ws-token', ['private', 'spot'], 'POST', {'cost': 1})
72
73
  private_spot_delete_batch_order = privateSpotDeleteBatchOrder = Entry('batch-order', ['private', 'spot'], 'DELETE', {'cost': 1})
73
74
  private_spot_delete_open_order = privateSpotDeleteOpenOrder = Entry('open-order', ['private', 'spot'], 'DELETE', {'cost': 1})
74
75
  private_spot_delete_order_orderid = privateSpotDeleteOrderOrderId = Entry('order/{orderId}', ['private', 'spot'], 'DELETE', {'cost': 1})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.58'
7
+ __version__ = '4.3.59'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -33,21 +33,18 @@ from ccxt.base.errors import OperationRejected # noqa: F4
33
33
  from ccxt.base.errors import NoChange # noqa: F401
34
34
  from ccxt.base.errors import MarginModeAlreadySet # noqa: F401
35
35
  from ccxt.base.errors import MarketClosed # noqa: F401
36
- from ccxt.base.errors import BadResponse # noqa: F401
37
- from ccxt.base.errors import NullResponse # noqa: F401
38
36
  from ccxt.base.errors import InsufficientFunds # noqa: F401
39
37
  from ccxt.base.errors import InvalidAddress # noqa: F401
40
38
  from ccxt.base.errors import AddressPending # noqa: F401
41
39
  from ccxt.base.errors import InvalidOrder # noqa: F401
42
40
  from ccxt.base.errors import OrderNotFound # noqa: F401
43
41
  from ccxt.base.errors import OrderNotCached # noqa: F401
44
- from ccxt.base.errors import CancelPending # noqa: F401
45
42
  from ccxt.base.errors import OrderImmediatelyFillable # noqa: F401
46
43
  from ccxt.base.errors import OrderNotFillable # noqa: F401
47
44
  from ccxt.base.errors import DuplicateOrderId # noqa: F401
48
45
  from ccxt.base.errors import ContractUnavailable # noqa: F401
49
46
  from ccxt.base.errors import NotSupported # noqa: F401
50
- from ccxt.base.errors import ProxyError # noqa: F401
47
+ from ccxt.base.errors import InvalidProxySettings # noqa: F401
51
48
  from ccxt.base.errors import ExchangeClosedByUser # noqa: F401
52
49
  from ccxt.base.errors import OperationFailed # noqa: F401
53
50
  from ccxt.base.errors import NetworkError # noqa: F401
@@ -57,6 +54,9 @@ from ccxt.base.errors import ExchangeNotAvailable # noqa: F4
57
54
  from ccxt.base.errors import OnMaintenance # noqa: F401
58
55
  from ccxt.base.errors import InvalidNonce # noqa: F401
59
56
  from ccxt.base.errors import RequestTimeout # noqa: F401
57
+ from ccxt.base.errors import BadResponse # noqa: F401
58
+ from ccxt.base.errors import NullResponse # noqa: F401
59
+ from ccxt.base.errors import CancelPending # noqa: F401
60
60
  from ccxt.base.errors import error_hierarchy # noqa: F401
61
61
 
62
62
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.3.58'
5
+ __version__ = '4.3.59'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -1920,7 +1920,7 @@ class bingx(Exchange, ImplicitAPI):
1920
1920
  elif timeInForce == 'GTC':
1921
1921
  request['timeInForce'] = 'GTC'
1922
1922
  if isSpot:
1923
- cost = self.safe_number_2(params, 'cost', 'quoteOrderQty')
1923
+ cost = self.safe_string_2(params, 'cost', 'quoteOrderQty')
1924
1924
  params = self.omit(params, 'cost')
1925
1925
  if cost is not None:
1926
1926
  request['quoteOrderQty'] = self.parse_to_numeric(self.cost_to_precision(symbol, cost))
@@ -2030,7 +2030,7 @@ class bingx(Exchange, ImplicitAPI):
2030
2030
  else:
2031
2031
  positionSide = 'LONG' if (side == 'buy') else 'SHORT'
2032
2032
  request['positionSide'] = positionSide
2033
- request['quantity'] = self.parse_to_numeric(self.amount_to_precision(symbol, amount))
2033
+ request['quantity'] = amount if (market['inverse']) else self.parse_to_numeric(self.amount_to_precision(symbol, amount)) # precision not available for inverse contracts
2034
2034
  params = self.omit(params, ['reduceOnly', 'triggerPrice', 'stopLossPrice', 'takeProfitPrice', 'trailingAmount', 'trailingPercent', 'trailingType', 'takeProfit', 'stopLoss', 'clientOrderId'])
2035
2035
  return self.extend(request, params)
2036
2036
 
@@ -2039,6 +2039,7 @@ class bingx(Exchange, ImplicitAPI):
2039
2039
  create a trade order
2040
2040
  :see: https://bingx-api.github.io/docs/#/en-us/swapV2/trade-api.html#Trade%20order
2041
2041
  :see: https://bingx-api.github.io/docs/#/en-us/spot/trade-api.html#Create%20an%20Order
2042
+ :see: https://bingx-api.github.io/docs/#/en-us/cswap/trade-api.html#Trade%20order
2042
2043
  :param str symbol: unified symbol of the market to create an order in
2043
2044
  :param str type: 'market' or 'limit'
2044
2045
  :param str side: 'buy' or 'sell'
@@ -2071,6 +2072,8 @@ class bingx(Exchange, ImplicitAPI):
2071
2072
  if market['swap']:
2072
2073
  if test:
2073
2074
  response = await self.swapV2PrivatePostTradeOrderTest(request)
2075
+ elif market['inverse']:
2076
+ response = await self.cswapV1PrivatePostTradeOrder(request)
2074
2077
  else:
2075
2078
  response = await self.swapV2PrivatePostTradeOrder(request)
2076
2079
  else:
@@ -2095,7 +2098,7 @@ class bingx(Exchange, ImplicitAPI):
2095
2098
  # }
2096
2099
  # }
2097
2100
  #
2098
- # swap
2101
+ # linear swap
2099
2102
  #
2100
2103
  # {
2101
2104
  # "code": 0,
@@ -2113,15 +2116,37 @@ class bingx(Exchange, ImplicitAPI):
2113
2116
  # }
2114
2117
  # }
2115
2118
  #
2119
+ # inverse swap
2120
+ #
2121
+ # {
2122
+ # "orderId": 1809841379603398656,
2123
+ # "symbol": "SOL-USD",
2124
+ # "positionSide": "LONG",
2125
+ # "side": "BUY",
2126
+ # "type": "LIMIT",
2127
+ # "price": 100,
2128
+ # "quantity": 1,
2129
+ # "stopPrice": 0,
2130
+ # "workingType": "",
2131
+ # "timeInForce": ""
2132
+ # }
2133
+ #
2116
2134
  if isinstance(response, str):
2117
2135
  # broken api engine : order-ids are too long numbers(i.e. 1742930526912864656)
2118
2136
  # and json.loadscan not handle them in JS, so we have to use .parseJson
2119
2137
  # however, when order has an attached SL/TP, their value types need extra parsing
2120
2138
  response = self.fix_stringified_json_members(response)
2121
2139
  response = self.parse_json(response)
2122
- data = self.safe_value(response, 'data', {})
2123
- order = self.safe_dict(data, 'order', data)
2124
- return self.parse_order(order, market)
2140
+ data = self.safe_dict(response, 'data', {})
2141
+ result: dict = {}
2142
+ if market['swap']:
2143
+ if market['inverse']:
2144
+ result = response
2145
+ else:
2146
+ result = self.safe_dict(data, 'order', {})
2147
+ else:
2148
+ result = data
2149
+ return self.parse_order(result, market)
2125
2150
 
2126
2151
  async def create_orders(self, orders: List[OrderRequest], params={}):
2127
2152
  """
@@ -2287,7 +2312,7 @@ class bingx(Exchange, ImplicitAPI):
2287
2312
  # }
2288
2313
  #
2289
2314
  #
2290
- # swap
2315
+ # linear swap
2291
2316
  # createOrder, createOrders
2292
2317
  #
2293
2318
  # {
@@ -2298,6 +2323,21 @@ class bingx(Exchange, ImplicitAPI):
2298
2323
  # "type": "LIMIT"
2299
2324
  # }
2300
2325
  #
2326
+ # inverse swap createOrder
2327
+ #
2328
+ # {
2329
+ # "orderId": 1809841379603398656,
2330
+ # "symbol": "SOL-USD",
2331
+ # "positionSide": "LONG",
2332
+ # "side": "BUY",
2333
+ # "type": "LIMIT",
2334
+ # "price": 100,
2335
+ # "quantity": 1,
2336
+ # "stopPrice": 0,
2337
+ # "workingType": "",
2338
+ # "timeInForce": ""
2339
+ # }
2340
+ #
2301
2341
  # fetchOrder, fetchOpenOrders, fetchClosedOrders
2302
2342
  #
2303
2343
  # {
@@ -219,6 +219,7 @@ class bitmart(Exchange, ImplicitAPI):
219
219
  'contract/private/get-open-orders': 1.2,
220
220
  'contract/private/current-plan-order': 1.2,
221
221
  'contract/private/trades': 10,
222
+ 'contract/private/position-risk': 10,
222
223
  },
223
224
  'post': {
224
225
  # sub-account endpoints
@@ -7,7 +7,7 @@ from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.btcbox import ImplicitAPI
8
8
  import hashlib
9
9
  import json
10
- from ccxt.base.types import Balances, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade
10
+ from ccxt.base.types import Balances, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade
11
11
  from typing import List
12
12
  from ccxt.base.errors import ExchangeError
13
13
  from ccxt.base.errors import AuthenticationError
@@ -73,7 +73,7 @@ class btcbox(Exchange, ImplicitAPI):
73
73
  'fetchPositionsRisk': False,
74
74
  'fetchPremiumIndexOHLCV': False,
75
75
  'fetchTicker': True,
76
- 'fetchTickers': False,
76
+ 'fetchTickers': True,
77
77
  'fetchTrades': True,
78
78
  'fetchTransfer': False,
79
79
  'fetchTransfers': False,
@@ -102,6 +102,7 @@ class btcbox(Exchange, ImplicitAPI):
102
102
  'depth',
103
103
  'orders',
104
104
  'ticker',
105
+ 'tickers',
105
106
  ],
106
107
  },
107
108
  'private': {
@@ -115,12 +116,6 @@ class btcbox(Exchange, ImplicitAPI):
115
116
  ],
116
117
  },
117
118
  },
118
- 'markets': {
119
- 'BTC/JPY': self.safe_market_structure({'id': 'btc', 'symbol': 'BTC/JPY', 'base': 'BTC', 'quote': 'JPY', 'baseId': 'btc', 'quoteId': 'jpy', 'taker': self.parse_number('0.0005'), 'maker': self.parse_number('0.0005'), 'type': 'spot', 'spot': True}),
120
- 'ETH/JPY': self.safe_market_structure({'id': 'eth', 'symbol': 'ETH/JPY', 'base': 'ETH', 'quote': 'JPY', 'baseId': 'eth', 'quoteId': 'jpy', 'taker': self.parse_number('0.0010'), 'maker': self.parse_number('0.0010'), 'type': 'spot', 'spot': True}),
121
- 'LTC/JPY': self.safe_market_structure({'id': 'ltc', 'symbol': 'LTC/JPY', 'base': 'LTC', 'quote': 'JPY', 'baseId': 'ltc', 'quoteId': 'jpy', 'taker': self.parse_number('0.0010'), 'maker': self.parse_number('0.0010'), 'type': 'spot', 'spot': True}),
122
- 'BCH/JPY': self.safe_market_structure({'id': 'bch', 'symbol': 'BCH/JPY', 'base': 'BCH', 'quote': 'JPY', 'baseId': 'bch', 'quoteId': 'jpy', 'taker': self.parse_number('0.0010'), 'maker': self.parse_number('0.0010'), 'type': 'spot', 'spot': True}),
123
- },
124
119
  'precisionMode': TICK_SIZE,
125
120
  'exceptions': {
126
121
  '104': AuthenticationError,
@@ -136,6 +131,137 @@ class btcbox(Exchange, ImplicitAPI):
136
131
  },
137
132
  })
138
133
 
134
+ async def fetch_markets(self, params={}) -> List[Market]:
135
+ """
136
+ retrieves data on all markets for ace
137
+ :param dict [params]: extra parameters specific to the exchange API endpoint
138
+ :returns dict[]: an array of objects representing market data
139
+ """
140
+ response = await self.publicGetTickers()
141
+ #
142
+ marketIds = list(response.keys())
143
+ markets = []
144
+ for i in range(0, len(marketIds)):
145
+ marketId = marketIds[i]
146
+ symbolParts = marketId.split('_')
147
+ baseCurr = self.safe_string(symbolParts, 0)
148
+ quote = self.safe_string(symbolParts, 1)
149
+ quoteId = quote.lower()
150
+ id = baseCurr.lower()
151
+ res = response[marketId]
152
+ symbol = baseCurr + '/' + quote
153
+ fee = self.parse_number('0.0005') if (id == 'BTC') else self.parse_number('0.0010')
154
+ markets.append(self.safe_market_structure({
155
+ 'id': id,
156
+ 'uppercaseId': None,
157
+ 'symbol': symbol,
158
+ 'base': baseCurr,
159
+ 'baseId': id,
160
+ 'quote': quote,
161
+ 'quoteId': quoteId,
162
+ 'settle': None,
163
+ 'settleId': None,
164
+ 'type': 'spot',
165
+ 'spot': True,
166
+ 'margin': False,
167
+ 'swap': False,
168
+ 'future': False,
169
+ 'option': False,
170
+ 'taker': fee,
171
+ 'maker': fee,
172
+ 'contract': False,
173
+ 'linear': None,
174
+ 'inverse': None,
175
+ 'contractSize': None,
176
+ 'expiry': None,
177
+ 'expiryDatetime': None,
178
+ 'strike': None,
179
+ 'optionType': None,
180
+ 'limits': {
181
+ 'amount': {
182
+ 'min': None,
183
+ 'max': None,
184
+ },
185
+ 'price': {
186
+ 'min': None,
187
+ 'max': None,
188
+ },
189
+ 'cost': {
190
+ 'min': None,
191
+ 'max': None,
192
+ },
193
+ 'leverage': {
194
+ 'min': None,
195
+ 'max': None,
196
+ },
197
+ },
198
+ 'precision': {
199
+ 'price': None,
200
+ 'amount': None,
201
+ },
202
+ 'active': None,
203
+ 'created': None,
204
+ 'info': res,
205
+ }))
206
+ return markets
207
+
208
+ def parse_market(self, market: dict) -> Market:
209
+ baseId = self.safe_string(market, 'base')
210
+ base = self.safe_currency_code(baseId)
211
+ quoteId = self.safe_string(market, 'quote')
212
+ quote = self.safe_currency_code(quoteId)
213
+ symbol = base + '/' + quote
214
+ return {
215
+ 'id': self.safe_string(market, 'symbol'),
216
+ 'uppercaseId': None,
217
+ 'symbol': symbol,
218
+ 'base': base,
219
+ 'baseId': baseId,
220
+ 'quote': quote,
221
+ 'quoteId': quoteId,
222
+ 'settle': None,
223
+ 'settleId': None,
224
+ 'type': 'spot',
225
+ 'spot': True,
226
+ 'margin': False,
227
+ 'swap': False,
228
+ 'future': False,
229
+ 'option': False,
230
+ 'contract': False,
231
+ 'linear': None,
232
+ 'inverse': None,
233
+ 'contractSize': None,
234
+ 'expiry': None,
235
+ 'expiryDatetime': None,
236
+ 'strike': None,
237
+ 'optionType': None,
238
+ 'limits': {
239
+ 'amount': {
240
+ 'min': self.safe_number(market, 'minLimitBaseAmount'),
241
+ 'max': self.safe_number(market, 'maxLimitBaseAmount'),
242
+ },
243
+ 'price': {
244
+ 'min': None,
245
+ 'max': None,
246
+ },
247
+ 'cost': {
248
+ 'min': None,
249
+ 'max': None,
250
+ },
251
+ 'leverage': {
252
+ 'min': None,
253
+ 'max': None,
254
+ },
255
+ },
256
+ 'precision': {
257
+ 'price': self.parse_number(self.parse_precision(self.safe_string(market, 'quotePrecision'))),
258
+ 'amount': self.parse_number(self.parse_precision(self.safe_string(market, 'basePrecision'))),
259
+ },
260
+ 'active': None,
261
+ 'created': None,
262
+ 'info': market,
263
+ }
264
+
139
265
  def parse_balance(self, response) -> Balances:
140
266
  result: dict = {'info': response}
141
267
  codes = list(self.currencies.keys())
@@ -224,6 +350,17 @@ class btcbox(Exchange, ImplicitAPI):
224
350
  response = await self.publicGetTicker(self.extend(request, params))
225
351
  return self.parse_ticker(response, market)
226
352
 
353
+ async def fetch_tickers(self, symbols: Strings = None, params={}) -> Tickers:
354
+ """
355
+ fetches price tickers for multiple markets, statistical information calculated over the past 24 hours for each market
356
+ :param str[] [symbols]: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
357
+ :param dict [params]: extra parameters specific to the exchange API endpoint
358
+ :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
359
+ """
360
+ await self.load_markets()
361
+ response = await self.publicGetTickers(params)
362
+ return self.parse_tickers(response, symbols)
363
+
227
364
  def parse_trade(self, trade: dict, market: Market = None) -> Trade:
228
365
  #
229
366
  # fetchTrades(public)
@@ -3188,13 +3188,13 @@ class bybit(Exchange, ImplicitAPI):
3188
3188
  if code is not None:
3189
3189
  if code != '0':
3190
3190
  category = self.safe_string(order, 'category')
3191
- inferedMarketType = 'spot' if (category == 'spot') else 'contract'
3191
+ inferredMarketType = 'spot' if (category == 'spot') else 'contract'
3192
3192
  return self.safe_order({
3193
3193
  'info': order,
3194
3194
  'status': 'rejected',
3195
3195
  'id': self.safe_string(order, 'orderId'),
3196
3196
  'clientOrderId': self.safe_string(order, 'orderLinkId'),
3197
- 'symbol': self.safe_symbol(self.safe_string(order, 'symbol'), None, None, inferedMarketType),
3197
+ 'symbol': self.safe_symbol(self.safe_string(order, 'symbol'), None, None, inferredMarketType),
3198
3198
  })
3199
3199
  marketId = self.safe_string(order, 'symbol')
3200
3200
  isContract = ('tpslMode' in order)
@@ -2022,7 +2022,21 @@ class deribit(Exchange, ImplicitAPI):
2022
2022
  market = self.market(symbol)
2023
2023
  request['instrument_name'] = market['id']
2024
2024
  response = await self.privateGetCancelAllByInstrument(self.extend(request, params))
2025
- return response
2025
+ #
2026
+ # {
2027
+ # jsonrpc: '2.0',
2028
+ # result: '1',
2029
+ # usIn: '1720508354127369',
2030
+ # usOut: '1720508354133603',
2031
+ # usDiff: '6234',
2032
+ # testnet: True
2033
+ # }
2034
+ #
2035
+ return [
2036
+ self.safe_order({
2037
+ 'info': response,
2038
+ }),
2039
+ ]
2026
2040
 
2027
2041
  async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
2028
2042
  """
@@ -17,7 +17,6 @@ from ccxt.base.errors import AccountSuspended
17
17
  from ccxt.base.errors import ArgumentsRequired
18
18
  from ccxt.base.errors import BadRequest
19
19
  from ccxt.base.errors import BadSymbol
20
- from ccxt.base.errors import BadResponse
21
20
  from ccxt.base.errors import InsufficientFunds
22
21
  from ccxt.base.errors import InvalidAddress
23
22
  from ccxt.base.errors import InvalidOrder
@@ -27,6 +26,7 @@ from ccxt.base.errors import NetworkError
27
26
  from ccxt.base.errors import DDoSProtection
28
27
  from ccxt.base.errors import RateLimitExceeded
29
28
  from ccxt.base.errors import InvalidNonce
29
+ from ccxt.base.errors import BadResponse
30
30
  from ccxt.base.decimal_to_precision import TICK_SIZE
31
31
  from ccxt.base.precise import Precise
32
32
 
@@ -1809,7 +1809,34 @@ class digifinex(Exchange, ImplicitAPI):
1809
1809
  numCanceledOrders = len(canceledOrders)
1810
1810
  if numCanceledOrders != 1:
1811
1811
  raise OrderNotFound(self.id + ' cancelOrder() ' + id + ' not found')
1812
- return response
1812
+ orders = self.parse_cancel_orders(response)
1813
+ return self.safe_dict(orders, 0)
1814
+ else:
1815
+ return self.safe_order({
1816
+ 'info': response,
1817
+ 'orderId': self.safe_string(response, 'data'),
1818
+ })
1819
+
1820
+ def parse_cancel_orders(self, response):
1821
+ success = self.safe_list(response, 'success')
1822
+ error = self.safe_list(response, 'error')
1823
+ result = []
1824
+ for i in range(0, len(success)):
1825
+ order = success[i]
1826
+ result.append(self.safe_order({
1827
+ 'info': order,
1828
+ 'id': order,
1829
+ 'status': 'canceled',
1830
+ }))
1831
+ for i in range(0, len(error)):
1832
+ order = error[i]
1833
+ result.append(self.safe_order({
1834
+ 'info': order,
1835
+ 'id': self.safe_string_2(order, 'order-id', 'order_id'),
1836
+ 'status': 'failed',
1837
+ 'clientOrderId': self.safe_string(order, 'client-order-id'),
1838
+ }))
1839
+ return result
1813
1840
 
1814
1841
  async def cancel_orders(self, ids, symbol: Str = None, params={}):
1815
1842
  """
@@ -1840,11 +1867,7 @@ class digifinex(Exchange, ImplicitAPI):
1840
1867
  # ]
1841
1868
  # }
1842
1869
  #
1843
- canceledOrders = self.safe_value(response, 'success', [])
1844
- numCanceledOrders = len(canceledOrders)
1845
- if numCanceledOrders < 1:
1846
- raise OrderNotFound(self.id + ' cancelOrders() error')
1847
- return response
1870
+ return self.parse_cancel_orders(response)
1848
1871
 
1849
1872
  def parse_order_status(self, status: Str):
1850
1873
  statuses: dict = {