ccxt 4.3.67__tar.gz → 4.3.68__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.67/ccxt.egg-info → ccxt-4.3.68}/PKG-INFO +4 -4
  2. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/__init__.py +1 -1
  3. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/__init__.py +1 -1
  4. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/base/exchange.py +1 -1
  5. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bingx.py +317 -142
  6. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bitget.py +3 -2
  7. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/base/exchange.py +5 -4
  8. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bingx.py +317 -142
  9. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bitget.py +3 -2
  10. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/__init__.py +1 -1
  11. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/krakenfutures.py +7 -6
  12. {ccxt-4.3.67 → ccxt-4.3.68/ccxt.egg-info}/PKG-INFO +4 -4
  13. {ccxt-4.3.67 → ccxt-4.3.68}/package.json +1 -1
  14. {ccxt-4.3.67 → ccxt-4.3.68}/LICENSE.txt +0 -0
  15. {ccxt-4.3.67 → ccxt-4.3.68}/MANIFEST.in +0 -0
  16. {ccxt-4.3.67 → ccxt-4.3.68}/README.rst +0 -0
  17. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/__init__.py +0 -0
  18. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/ace.py +0 -0
  19. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/alpaca.py +0 -0
  20. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/ascendex.py +0 -0
  21. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bequant.py +0 -0
  22. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bigone.py +0 -0
  23. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/binance.py +0 -0
  24. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/binancecoinm.py +0 -0
  25. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/binanceus.py +0 -0
  26. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/binanceusdm.py +0 -0
  27. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bingx.py +0 -0
  28. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bit2c.py +0 -0
  29. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bitbank.py +0 -0
  30. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bitbay.py +0 -0
  31. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bitbns.py +0 -0
  32. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bitcoincom.py +0 -0
  33. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bitfinex.py +0 -0
  34. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bitfinex2.py +0 -0
  35. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bitflyer.py +0 -0
  36. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bitget.py +0 -0
  37. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bithumb.py +0 -0
  38. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bitmart.py +0 -0
  39. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bitmex.py +0 -0
  40. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bitopro.py +0 -0
  41. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bitpanda.py +0 -0
  42. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bitrue.py +0 -0
  43. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bitso.py +0 -0
  44. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bitstamp.py +0 -0
  45. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bitteam.py +0 -0
  46. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bitvavo.py +0 -0
  47. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bl3p.py +0 -0
  48. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/blockchaincom.py +0 -0
  49. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/blofin.py +0 -0
  50. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/btcalpha.py +0 -0
  51. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/btcbox.py +0 -0
  52. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/btcmarkets.py +0 -0
  53. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/btcturk.py +0 -0
  54. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/bybit.py +0 -0
  55. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/cex.py +0 -0
  56. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/coinbase.py +0 -0
  57. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/coinbaseadvanced.py +0 -0
  58. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/coinbaseexchange.py +0 -0
  59. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/coinbaseinternational.py +0 -0
  60. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/coincheck.py +0 -0
  61. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/coinex.py +0 -0
  62. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/coinlist.py +0 -0
  63. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/coinmate.py +0 -0
  64. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/coinmetro.py +0 -0
  65. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/coinone.py +0 -0
  66. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/coinsph.py +0 -0
  67. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/coinspot.py +0 -0
  68. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/cryptocom.py +0 -0
  69. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/currencycom.py +0 -0
  70. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/delta.py +0 -0
  71. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/deribit.py +0 -0
  72. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/digifinex.py +0 -0
  73. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/exmo.py +0 -0
  74. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/fmfwio.py +0 -0
  75. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/gate.py +0 -0
  76. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/gateio.py +0 -0
  77. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/gemini.py +0 -0
  78. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/hitbtc.py +0 -0
  79. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/hitbtc3.py +0 -0
  80. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/hollaex.py +0 -0
  81. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/htx.py +0 -0
  82. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/huobi.py +0 -0
  83. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/huobijp.py +0 -0
  84. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/hyperliquid.py +0 -0
  85. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/idex.py +0 -0
  86. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/independentreserve.py +0 -0
  87. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/indodax.py +0 -0
  88. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/kraken.py +0 -0
  89. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/krakenfutures.py +0 -0
  90. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/kucoin.py +0 -0
  91. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/kucoinfutures.py +0 -0
  92. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/kuna.py +0 -0
  93. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/latoken.py +0 -0
  94. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/lbank.py +0 -0
  95. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/luno.py +0 -0
  96. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/lykke.py +0 -0
  97. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/mercado.py +0 -0
  98. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/mexc.py +0 -0
  99. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/ndax.py +0 -0
  100. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/novadax.py +0 -0
  101. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/oceanex.py +0 -0
  102. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/okcoin.py +0 -0
  103. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/okx.py +0 -0
  104. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/onetrading.py +0 -0
  105. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/oxfun.py +0 -0
  106. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/p2b.py +0 -0
  107. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/paymium.py +0 -0
  108. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/phemex.py +0 -0
  109. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/poloniex.py +0 -0
  110. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/poloniexfutures.py +0 -0
  111. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/probit.py +0 -0
  112. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/timex.py +0 -0
  113. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/tokocrypto.py +0 -0
  114. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/tradeogre.py +0 -0
  115. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/upbit.py +0 -0
  116. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/vertex.py +0 -0
  117. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/wavesexchange.py +0 -0
  118. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/wazirx.py +0 -0
  119. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/whitebit.py +0 -0
  120. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/woo.py +0 -0
  121. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/woofipro.py +0 -0
  122. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/xt.py +0 -0
  123. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/yobit.py +0 -0
  124. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/zaif.py +0 -0
  125. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/abstract/zonda.py +0 -0
  126. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/ace.py +0 -0
  127. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/alpaca.py +0 -0
  128. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/ascendex.py +0 -0
  129. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/ace.py +0 -0
  130. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/alpaca.py +0 -0
  131. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/ascendex.py +0 -0
  132. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/base/__init__.py +0 -0
  133. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/base/throttler.py +0 -0
  134. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/base/ws/__init__.py +0 -0
  135. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  136. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/base/ws/cache.py +0 -0
  137. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/base/ws/client.py +0 -0
  138. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/base/ws/fast_client.py +0 -0
  139. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/base/ws/functions.py +0 -0
  140. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/base/ws/future.py +0 -0
  141. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/base/ws/order_book.py +0 -0
  142. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  143. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bequant.py +0 -0
  144. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bigone.py +0 -0
  145. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/binance.py +0 -0
  146. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/binancecoinm.py +0 -0
  147. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/binanceus.py +0 -0
  148. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/binanceusdm.py +0 -0
  149. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bit2c.py +0 -0
  150. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bitbank.py +0 -0
  151. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bitbay.py +0 -0
  152. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bitbns.py +0 -0
  153. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bitcoincom.py +0 -0
  154. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bitfinex.py +0 -0
  155. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bitfinex2.py +0 -0
  156. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bitflyer.py +0 -0
  157. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bithumb.py +0 -0
  158. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bitmart.py +0 -0
  159. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bitmex.py +0 -0
  160. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bitopro.py +0 -0
  161. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bitpanda.py +0 -0
  162. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bitrue.py +0 -0
  163. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bitso.py +0 -0
  164. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bitstamp.py +0 -0
  165. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bitteam.py +0 -0
  166. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bitvavo.py +0 -0
  167. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bl3p.py +0 -0
  168. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/blockchaincom.py +0 -0
  169. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/blofin.py +0 -0
  170. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/btcalpha.py +0 -0
  171. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/btcbox.py +0 -0
  172. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/btcmarkets.py +0 -0
  173. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/btcturk.py +0 -0
  174. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/bybit.py +0 -0
  175. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/cex.py +0 -0
  176. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/coinbase.py +0 -0
  177. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/coinbaseadvanced.py +0 -0
  178. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/coinbaseexchange.py +0 -0
  179. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/coinbaseinternational.py +0 -0
  180. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/coincheck.py +0 -0
  181. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/coinex.py +0 -0
  182. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/coinlist.py +0 -0
  183. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/coinmate.py +0 -0
  184. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/coinmetro.py +0 -0
  185. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/coinone.py +0 -0
  186. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/coinsph.py +0 -0
  187. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/coinspot.py +0 -0
  188. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/cryptocom.py +0 -0
  189. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/currencycom.py +0 -0
  190. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/delta.py +0 -0
  191. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/deribit.py +0 -0
  192. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/digifinex.py +0 -0
  193. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/exmo.py +0 -0
  194. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/fmfwio.py +0 -0
  195. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/gate.py +0 -0
  196. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/gateio.py +0 -0
  197. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/gemini.py +0 -0
  198. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/hitbtc.py +0 -0
  199. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/hitbtc3.py +0 -0
  200. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/hollaex.py +0 -0
  201. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/htx.py +0 -0
  202. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/huobi.py +0 -0
  203. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/huobijp.py +0 -0
  204. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/hyperliquid.py +0 -0
  205. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/idex.py +0 -0
  206. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/independentreserve.py +0 -0
  207. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/indodax.py +0 -0
  208. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/kraken.py +0 -0
  209. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/krakenfutures.py +0 -0
  210. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/kucoin.py +0 -0
  211. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/kucoinfutures.py +0 -0
  212. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/kuna.py +0 -0
  213. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/latoken.py +0 -0
  214. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/lbank.py +0 -0
  215. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/luno.py +0 -0
  216. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/lykke.py +0 -0
  217. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/mercado.py +0 -0
  218. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/mexc.py +0 -0
  219. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/ndax.py +0 -0
  220. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/novadax.py +0 -0
  221. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/oceanex.py +0 -0
  222. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/okcoin.py +0 -0
  223. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/okx.py +0 -0
  224. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/onetrading.py +0 -0
  225. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/oxfun.py +0 -0
  226. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/p2b.py +0 -0
  227. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/paymium.py +0 -0
  228. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/phemex.py +0 -0
  229. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/poloniex.py +0 -0
  230. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/poloniexfutures.py +0 -0
  231. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/probit.py +0 -0
  232. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/timex.py +0 -0
  233. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/tokocrypto.py +0 -0
  234. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/tradeogre.py +0 -0
  235. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/upbit.py +0 -0
  236. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/vertex.py +0 -0
  237. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/wavesexchange.py +0 -0
  238. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/wazirx.py +0 -0
  239. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/whitebit.py +0 -0
  240. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/woo.py +0 -0
  241. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/woofipro.py +0 -0
  242. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/xt.py +0 -0
  243. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/yobit.py +0 -0
  244. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/zaif.py +0 -0
  245. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/async_support/zonda.py +0 -0
  246. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/base/__init__.py +0 -0
  247. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/base/decimal_to_precision.py +0 -0
  248. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/base/errors.py +0 -0
  249. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/base/precise.py +0 -0
  250. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/base/types.py +0 -0
  251. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bequant.py +0 -0
  252. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bigone.py +0 -0
  253. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/binance.py +0 -0
  254. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/binancecoinm.py +0 -0
  255. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/binanceus.py +0 -0
  256. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/binanceusdm.py +0 -0
  257. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bit2c.py +0 -0
  258. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bitbank.py +0 -0
  259. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bitbay.py +0 -0
  260. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bitbns.py +0 -0
  261. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bitcoincom.py +0 -0
  262. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bitfinex.py +0 -0
  263. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bitfinex2.py +0 -0
  264. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bitflyer.py +0 -0
  265. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bithumb.py +0 -0
  266. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bitmart.py +0 -0
  267. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bitmex.py +0 -0
  268. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bitopro.py +0 -0
  269. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bitpanda.py +0 -0
  270. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bitrue.py +0 -0
  271. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bitso.py +0 -0
  272. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bitstamp.py +0 -0
  273. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bitteam.py +0 -0
  274. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bitvavo.py +0 -0
  275. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bl3p.py +0 -0
  276. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/blockchaincom.py +0 -0
  277. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/blofin.py +0 -0
  278. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/btcalpha.py +0 -0
  279. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/btcbox.py +0 -0
  280. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/btcmarkets.py +0 -0
  281. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/btcturk.py +0 -0
  282. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/bybit.py +0 -0
  283. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/cex.py +0 -0
  284. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/coinbase.py +0 -0
  285. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/coinbaseadvanced.py +0 -0
  286. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/coinbaseexchange.py +0 -0
  287. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/coinbaseinternational.py +0 -0
  288. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/coincheck.py +0 -0
  289. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/coinex.py +0 -0
  290. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/coinlist.py +0 -0
  291. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/coinmate.py +0 -0
  292. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/coinmetro.py +0 -0
  293. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/coinone.py +0 -0
  294. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/coinsph.py +0 -0
  295. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/coinspot.py +0 -0
  296. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/cryptocom.py +0 -0
  297. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/currencycom.py +0 -0
  298. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/delta.py +0 -0
  299. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/deribit.py +0 -0
  300. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/digifinex.py +0 -0
  301. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/exmo.py +0 -0
  302. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/fmfwio.py +0 -0
  303. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/gate.py +0 -0
  304. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/gateio.py +0 -0
  305. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/gemini.py +0 -0
  306. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/hitbtc.py +0 -0
  307. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/hitbtc3.py +0 -0
  308. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/hollaex.py +0 -0
  309. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/htx.py +0 -0
  310. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/huobi.py +0 -0
  311. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/huobijp.py +0 -0
  312. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/hyperliquid.py +0 -0
  313. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/idex.py +0 -0
  314. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/independentreserve.py +0 -0
  315. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/indodax.py +0 -0
  316. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/kraken.py +0 -0
  317. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/krakenfutures.py +0 -0
  318. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/kucoin.py +0 -0
  319. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/kucoinfutures.py +0 -0
  320. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/kuna.py +0 -0
  321. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/latoken.py +0 -0
  322. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/lbank.py +0 -0
  323. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/luno.py +0 -0
  324. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/lykke.py +0 -0
  325. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/mercado.py +0 -0
  326. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/mexc.py +0 -0
  327. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/ndax.py +0 -0
  328. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/novadax.py +0 -0
  329. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/oceanex.py +0 -0
  330. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/okcoin.py +0 -0
  331. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/okx.py +0 -0
  332. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/onetrading.py +0 -0
  333. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/oxfun.py +0 -0
  334. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/p2b.py +0 -0
  335. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/paymium.py +0 -0
  336. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/phemex.py +0 -0
  337. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/poloniex.py +0 -0
  338. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/poloniexfutures.py +0 -0
  339. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/alpaca.py +0 -0
  340. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/ascendex.py +0 -0
  341. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/bequant.py +0 -0
  342. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/binance.py +0 -0
  343. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/binancecoinm.py +0 -0
  344. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/binanceus.py +0 -0
  345. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/binanceusdm.py +0 -0
  346. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/bingx.py +0 -0
  347. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/bitcoincom.py +0 -0
  348. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/bitfinex.py +0 -0
  349. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/bitfinex2.py +0 -0
  350. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/bitget.py +0 -0
  351. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/bithumb.py +0 -0
  352. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/bitmart.py +0 -0
  353. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/bitmex.py +0 -0
  354. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/bitopro.py +0 -0
  355. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/bitpanda.py +0 -0
  356. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/bitrue.py +0 -0
  357. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/bitstamp.py +0 -0
  358. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/bitvavo.py +0 -0
  359. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/blockchaincom.py +0 -0
  360. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/bybit.py +0 -0
  361. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/cex.py +0 -0
  362. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/coinbase.py +0 -0
  363. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/coinbaseexchange.py +0 -0
  364. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/coinbaseinternational.py +0 -0
  365. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/coincheck.py +0 -0
  366. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/coinex.py +0 -0
  367. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/coinone.py +0 -0
  368. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/cryptocom.py +0 -0
  369. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/currencycom.py +0 -0
  370. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/deribit.py +0 -0
  371. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/exmo.py +0 -0
  372. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/gate.py +0 -0
  373. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/gateio.py +0 -0
  374. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/gemini.py +0 -0
  375. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/hitbtc.py +0 -0
  376. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/hollaex.py +0 -0
  377. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/htx.py +0 -0
  378. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/huobi.py +0 -0
  379. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/huobijp.py +0 -0
  380. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/hyperliquid.py +0 -0
  381. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/idex.py +0 -0
  382. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/independentreserve.py +0 -0
  383. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/kraken.py +0 -0
  384. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/kucoin.py +0 -0
  385. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/kucoinfutures.py +0 -0
  386. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/lbank.py +0 -0
  387. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/luno.py +0 -0
  388. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/mexc.py +0 -0
  389. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/ndax.py +0 -0
  390. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/okcoin.py +0 -0
  391. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/okx.py +0 -0
  392. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/onetrading.py +0 -0
  393. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/oxfun.py +0 -0
  394. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/p2b.py +0 -0
  395. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/phemex.py +0 -0
  396. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/poloniex.py +0 -0
  397. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/poloniexfutures.py +0 -0
  398. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/probit.py +0 -0
  399. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/upbit.py +0 -0
  400. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/vertex.py +0 -0
  401. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/wazirx.py +0 -0
  402. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/whitebit.py +0 -0
  403. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/woo.py +0 -0
  404. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/woofipro.py +0 -0
  405. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/pro/xt.py +0 -0
  406. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/probit.py +0 -0
  407. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/__init__.py +0 -0
  408. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  409. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  410. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  411. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  412. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  413. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  414. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  415. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  416. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  417. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  418. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  419. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  420. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  421. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  422. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  423. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  424. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  425. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  426. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  427. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  428. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  429. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  430. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  431. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  432. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  433. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  434. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  435. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  436. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  437. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  438. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  439. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  440. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  441. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  442. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  443. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  444. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  445. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  446. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  447. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  448. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  449. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  450. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  451. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  452. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  453. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  454. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  455. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  456. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  457. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  458. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  459. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  460. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  461. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  462. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  463. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  464. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  465. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  466. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  467. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  468. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  469. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  470. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  471. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  472. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  473. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  474. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  475. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  476. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  477. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  478. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  479. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  480. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  481. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  482. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  483. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  484. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  485. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  486. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  487. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  488. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  489. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  490. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  491. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  492. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  493. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  494. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/toolz/_version.py +0 -0
  495. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  496. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  497. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  498. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  499. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  500. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  501. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  502. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  503. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/static_dependencies/toolz/utils.py +0 -0
  504. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/test/__init__.py +0 -0
  505. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/test/tests_async.py +0 -0
  506. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/test/tests_helpers.py +0 -0
  507. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/test/tests_init.py +0 -0
  508. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/test/tests_sync.py +0 -0
  509. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/timex.py +0 -0
  510. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/tokocrypto.py +0 -0
  511. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/tradeogre.py +0 -0
  512. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/upbit.py +0 -0
  513. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/vertex.py +0 -0
  514. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/wavesexchange.py +0 -0
  515. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/wazirx.py +0 -0
  516. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/whitebit.py +0 -0
  517. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/woo.py +0 -0
  518. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/woofipro.py +0 -0
  519. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/xt.py +0 -0
  520. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/yobit.py +0 -0
  521. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/zaif.py +0 -0
  522. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt/zonda.py +0 -0
  523. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt.egg-info/SOURCES.txt +0 -0
  524. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt.egg-info/dependency_links.txt +0 -0
  525. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt.egg-info/requires.txt +0 -0
  526. {ccxt-4.3.67 → ccxt-4.3.68}/ccxt.egg-info/top_level.txt +0 -0
  527. {ccxt-4.3.67 → ccxt-4.3.68}/setup.cfg +0 -0
  528. {ccxt-4.3.67 → ccxt-4.3.68}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.3.67
3
+ Version: 4.3.68
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
@@ -258,13 +258,13 @@ console.log(version, Object.keys(exchanges));
258
258
 
259
259
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
260
260
 
261
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.67/dist/ccxt.browser.min.js
262
- * unpkg: https://unpkg.com/ccxt@4.3.67/dist/ccxt.browser.min.js
261
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.68/dist/ccxt.browser.min.js
262
+ * unpkg: https://unpkg.com/ccxt@4.3.68/dist/ccxt.browser.min.js
263
263
 
264
264
  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.
265
265
 
266
266
  ```HTML
267
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.67/dist/ccxt.browser.min.js"></script>
267
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.68/dist/ccxt.browser.min.js"></script>
268
268
  ```
269
269
 
270
270
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.3.67'
25
+ __version__ = '4.3.68'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.67'
7
+ __version__ = '4.3.68'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.3.67'
5
+ __version__ = '4.3.68'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -63,6 +63,7 @@ class bingx(Exchange, ImplicitAPI):
63
63
  'createTrailingPercentOrder': True,
64
64
  'createTriggerOrder': True,
65
65
  'fetchBalance': True,
66
+ 'fetchCanceledOrders': True,
66
67
  'fetchClosedOrders': True,
67
68
  'fetchCurrencies': True,
68
69
  'fetchDepositAddress': True,
@@ -2842,8 +2843,7 @@ class bingx(Exchange, ImplicitAPI):
2842
2843
  # "clientOrderID": ""
2843
2844
  # }
2844
2845
  #
2845
- # inverse swap cancelAllOrders, cancelOrder
2846
- # inverse swap cancelAllOrders, cancelOrder, fetchOpenOrders
2846
+ # inverse swap cancelAllOrders, cancelOrder, fetchOrder, fetchOpenOrders, fetchClosedOrders, fetchCanceledOrders
2847
2847
  #
2848
2848
  # {
2849
2849
  # "symbol": "SOL-USD",
@@ -2901,7 +2901,7 @@ class bingx(Exchange, ImplicitAPI):
2901
2901
  side = self.safe_string_lower_2(order, 'side', 'S')
2902
2902
  timestamp = self.safe_integer_n(order, ['time', 'transactTime', 'E'])
2903
2903
  lastTradeTimestamp = self.safe_integer_2(order, 'updateTime', 'T')
2904
- statusId = self.safe_string_2(order, 'status', 'X')
2904
+ statusId = self.safe_string_upper_2(order, 'status', 'X')
2905
2905
  feeCurrencyCode = self.safe_string_2(order, 'feeAsset', 'N')
2906
2906
  feeCost = self.safe_string_n(order, ['fee', 'commission', 'n'])
2907
2907
  if (feeCurrencyCode is None):
@@ -3400,11 +3400,12 @@ class bingx(Exchange, ImplicitAPI):
3400
3400
  async def fetch_order(self, id: str, symbol: Str = None, params={}):
3401
3401
  """
3402
3402
  fetches information on an order made by the user
3403
- :see: https://bingx-api.github.io/docs/#/spot/trade-api.html#Query%20Orders
3404
- :see: https://bingx-api.github.io/docs/#/swapV2/trade-api.html#Query%20Order
3403
+ :see: https://bingx-api.github.io/docs/#/en-us/spot/trade-api.html#Query%20Order%20details
3404
+ :see: https://bingx-api.github.io/docs/#/en-us/swapV2/trade-api.html#Query%20Order%20details
3405
+ :see: https://bingx-api.github.io/docs/#/en-us/cswap/trade-api.html#Query%20Order
3405
3406
  :param str symbol: unified symbol of the market the order was made in
3406
3407
  :param dict [params]: extra parameters specific to the exchange API endpoint
3407
- :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
3408
+ :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
3408
3409
  """
3409
3410
  if symbol is None:
3410
3411
  raise ArgumentsRequired(self.id + ' fetchOrder() requires a symbol argument')
@@ -3414,66 +3415,120 @@ class bingx(Exchange, ImplicitAPI):
3414
3415
  'symbol': market['id'],
3415
3416
  'orderId': id,
3416
3417
  }
3418
+ type = None
3419
+ subType = None
3417
3420
  response = None
3418
- marketType, query = self.handle_market_type_and_params('fetchOrder', market, params)
3419
- if marketType == 'spot':
3420
- response = await self.spotV1PrivateGetTradeQuery(self.extend(request, query))
3421
+ type, params = self.handle_market_type_and_params('fetchOrder', market, params)
3422
+ subType, params = self.handle_sub_type_and_params('fetchOrder', market, params)
3423
+ if type == 'spot':
3424
+ response = await self.spotV1PrivateGetTradeQuery(self.extend(request, params))
3425
+ #
3426
+ # {
3427
+ # "code": 0,
3428
+ # "msg": "",
3429
+ # "data": {
3430
+ # "symbol": "XRP-USDT",
3431
+ # "orderId": 1514087361158316032,
3432
+ # "price": "0.5",
3433
+ # "origQty": "10",
3434
+ # "executedQty": "0",
3435
+ # "cummulativeQuoteQty": "0",
3436
+ # "status": "CANCELED",
3437
+ # "type": "LIMIT",
3438
+ # "side": "BUY",
3439
+ # "time": 1649821532000,
3440
+ # "updateTime": 1649821543000,
3441
+ # "origQuoteOrderQty": "0",
3442
+ # "fee": "0",
3443
+ # "feeAsset": "XRP"
3444
+ # }
3445
+ # }
3446
+ #
3421
3447
  else:
3422
- response = await self.swapV2PrivateGetTradeOrder(self.extend(request, query))
3423
- #
3424
- # spot
3425
- #
3426
- # {
3427
- # "code": 0,
3428
- # "msg": "",
3429
- # "data": {
3430
- # "symbol": "XRP-USDT",
3431
- # "orderId": 1514087361158316032,
3432
- # "price": "0.5",
3433
- # "origQty": "10",
3434
- # "executedQty": "0",
3435
- # "cummulativeQuoteQty": "0",
3436
- # "status": "CANCELED",
3437
- # "type": "LIMIT",
3438
- # "side": "BUY",
3439
- # "time": 1649821532000,
3440
- # "updateTime": 1649821543000,
3441
- # "origQuoteOrderQty": "0",
3442
- # "fee": "0",
3443
- # "feeAsset": "XRP"
3444
- # }
3445
- # }
3446
- #
3447
- # swap
3448
- #
3449
- # {
3450
- # "code": 0,
3451
- # "msg": "",
3452
- # "data": {
3453
- # "order": {
3454
- # "symbol": "BTC-USDT",
3455
- # "orderId": 1597597642269917184,
3456
- # "side": "SELL",
3457
- # "positionSide": "LONG",
3458
- # "type": "TAKE_PROFIT_MARKET",
3459
- # "origQty": "1.0000",
3460
- # "price": "0.0",
3461
- # "executedQty": "0.0000",
3462
- # "avgPrice": "0.0",
3463
- # "cumQuote": "",
3464
- # "stopPrice": "16494.0",
3465
- # "profit": "",
3466
- # "commission": "",
3467
- # "status": "FILLED",
3468
- # "time": 1669731935000,
3469
- # "updateTime": 1669752524000
3470
- # }
3471
- # }
3472
- # }
3473
- #
3474
- data = self.safe_value(response, 'data')
3475
- first = self.safe_dict(data, 'order', data)
3476
- return self.parse_order(first, market)
3448
+ if subType == 'inverse':
3449
+ response = await self.cswapV1PrivateGetTradeOrderDetail(self.extend(request, params))
3450
+ #
3451
+ # {
3452
+ # "code": 0,
3453
+ # "msg": "",
3454
+ # "data": {
3455
+ # "order": {
3456
+ # "symbol": "SOL-USD",
3457
+ # "orderId": "1816342420721254400",
3458
+ # "side": "BUY",
3459
+ # "positionSide": "Long",
3460
+ # "type": "LIMIT",
3461
+ # "quantity": 1,
3462
+ # "origQty": "",
3463
+ # "price": "150",
3464
+ # "executedQty": "0",
3465
+ # "avgPrice": "0.000",
3466
+ # "cumQuote": "",
3467
+ # "stopPrice": "",
3468
+ # "profit": "0.0000",
3469
+ # "commission": "0.0000",
3470
+ # "status": "Pending",
3471
+ # "time": 1721884753767,
3472
+ # "updateTime": 1721884753786,
3473
+ # "clientOrderId": "",
3474
+ # "leverage": "",
3475
+ # "takeProfit": {
3476
+ # "type": "TAKE_PROFIT",
3477
+ # "quantity": 0,
3478
+ # "stopPrice": 0,
3479
+ # "price": 0,
3480
+ # "workingType": "MARK_PRICE",
3481
+ # "stopGuaranteed": ""
3482
+ # },
3483
+ # "stopLoss": {
3484
+ # "type": "STOP",
3485
+ # "quantity": 0,
3486
+ # "stopPrice": 0,
3487
+ # "price": 0,
3488
+ # "workingType": "MARK_PRICE",
3489
+ # "stopGuaranteed": ""
3490
+ # },
3491
+ # "advanceAttr": 0,
3492
+ # "positionID": 0,
3493
+ # "takeProfitEntrustPrice": 0,
3494
+ # "stopLossEntrustPrice": 0,
3495
+ # "orderType": "",
3496
+ # "workingType": "MARK_PRICE"
3497
+ # }
3498
+ # }
3499
+ # }
3500
+ #
3501
+ else:
3502
+ response = await self.swapV2PrivateGetTradeOrder(self.extend(request, params))
3503
+ #
3504
+ # {
3505
+ # "code": 0,
3506
+ # "msg": "",
3507
+ # "data": {
3508
+ # "order": {
3509
+ # "symbol": "BTC-USDT",
3510
+ # "orderId": 1597597642269917184,
3511
+ # "side": "SELL",
3512
+ # "positionSide": "LONG",
3513
+ # "type": "TAKE_PROFIT_MARKET",
3514
+ # "origQty": "1.0000",
3515
+ # "price": "0.0",
3516
+ # "executedQty": "0.0000",
3517
+ # "avgPrice": "0.0",
3518
+ # "cumQuote": "",
3519
+ # "stopPrice": "16494.0",
3520
+ # "profit": "",
3521
+ # "commission": "",
3522
+ # "status": "FILLED",
3523
+ # "time": 1669731935000,
3524
+ # "updateTime": 1669752524000
3525
+ # }
3526
+ # }
3527
+ # }
3528
+ #
3529
+ data = self.safe_dict(response, 'data', {})
3530
+ order = self.safe_dict(data, 'order', data)
3531
+ return self.parse_order(order, market)
3477
3532
 
3478
3533
  async def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
3479
3534
  """
@@ -3709,8 +3764,47 @@ class bingx(Exchange, ImplicitAPI):
3709
3764
  async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
3710
3765
  """
3711
3766
  fetches information on multiple closed orders made by the user
3712
- :see: https://bingx-api.github.io/docs/#/spot/trade-api.html#Query%20Order%20History
3713
- :see: https://bingx-api.github.io/docs/#/swapV2/trade-api.html#User's%20Force%20Orders
3767
+ :see: https://bingx-api.github.io/docs/#/en-us/spot/trade-api.html#Query%20Order%20history
3768
+ :see: https://bingx-api.github.io/docs/#/en-us/swapV2/trade-api.html#Query%20Order%20history
3769
+ :see: https://bingx-api.github.io/docs/#/en-us/cswap/trade-api.html#User's%20History%20Orders
3770
+ :see: https://bingx-api.github.io/docs/#/standard/contract-interface.html#Historical%20order
3771
+ :param str symbol: unified market symbol of the closed orders
3772
+ :param int [since]: timestamp in ms of the earliest order
3773
+ :param int [limit]: the max number of closed orders to return
3774
+ :param dict [params]: extra parameters specific to the exchange API endpoint
3775
+ :param int [params.until]: the latest time in ms to fetch orders for
3776
+ :param boolean [params.standard]: whether to fetch standard contract orders
3777
+ :returns Order[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
3778
+ """
3779
+ await self.load_markets()
3780
+ orders = await self.fetch_canceled_and_closed_orders(symbol, since, limit, params)
3781
+ return self.filter_by(orders, 'status', 'closed')
3782
+
3783
+ async def fetch_canceled_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
3784
+ """
3785
+ fetches information on multiple canceled orders made by the user
3786
+ :see: https://bingx-api.github.io/docs/#/en-us/spot/trade-api.html#Query%20Order%20history
3787
+ :see: https://bingx-api.github.io/docs/#/en-us/swapV2/trade-api.html#Query%20Order%20history
3788
+ :see: https://bingx-api.github.io/docs/#/en-us/cswap/trade-api.html#User's%20History%20Orders
3789
+ :see: https://bingx-api.github.io/docs/#/standard/contract-interface.html#Historical%20order
3790
+ :param str symbol: unified market symbol of the canceled orders
3791
+ :param int [since]: timestamp in ms of the earliest order
3792
+ :param int [limit]: the max number of canceled orders to return
3793
+ :param dict [params]: extra parameters specific to the exchange API endpoint
3794
+ :param int [params.until]: the latest time in ms to fetch orders for
3795
+ :param boolean [params.standard]: whether to fetch standard contract orders
3796
+ :returns dict: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
3797
+ """
3798
+ await self.load_markets()
3799
+ orders = await self.fetch_canceled_and_closed_orders(symbol, since, limit, params)
3800
+ return self.filter_by(orders, 'status', 'canceled')
3801
+
3802
+ async def fetch_canceled_and_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
3803
+ """
3804
+ fetches information on multiple closed orders made by the user
3805
+ :see: https://bingx-api.github.io/docs/#/en-us/spot/trade-api.html#Query%20Order%20history
3806
+ :see: https://bingx-api.github.io/docs/#/en-us/swapV2/trade-api.html#Query%20Order%20history
3807
+ :see: https://bingx-api.github.io/docs/#/en-us/cswap/trade-api.html#User's%20History%20Orders
3714
3808
  :see: https://bingx-api.github.io/docs/#/standard/contract-interface.html#Historical%20order
3715
3809
  :param str [symbol]: unified market symbol of the market orders were made in
3716
3810
  :param int [since]: the earliest time in ms to fetch orders for
@@ -3727,72 +3821,128 @@ class bingx(Exchange, ImplicitAPI):
3727
3821
  request: dict = {
3728
3822
  'symbol': market['id'],
3729
3823
  }
3730
- response = None
3824
+ type = None
3825
+ subType = None
3731
3826
  standard = None
3827
+ response = None
3828
+ type, params = self.handle_market_type_and_params('fetchClosedOrders', market, params)
3829
+ subType, params = self.handle_sub_type_and_params('fetchClosedOrders', market, params)
3732
3830
  standard, params = self.handle_option_and_params(params, 'fetchClosedOrders', 'standard', False)
3733
- marketType, query = self.handle_market_type_and_params('fetchClosedOrders', market, params)
3734
3831
  if standard:
3735
- response = await self.contractV1PrivateGetAllOrders(self.extend(request, query))
3736
- elif marketType == 'spot':
3737
- response = await self.spotV1PrivateGetTradeHistoryOrders(self.extend(request, query))
3832
+ response = await self.contractV1PrivateGetAllOrders(self.extend(request, params))
3833
+ elif type == 'spot':
3834
+ response = await self.spotV1PrivateGetTradeHistoryOrders(self.extend(request, params))
3835
+ #
3836
+ # {
3837
+ # "code": 0,
3838
+ # "msg": "",
3839
+ # "data": {
3840
+ # "orders": [
3841
+ # {
3842
+ # "symbol": "XRP-USDT",
3843
+ # "orderId": 1514073325788200960,
3844
+ # "price": "0.5",
3845
+ # "origQty": "20",
3846
+ # "executedQty": "0",
3847
+ # "cummulativeQuoteQty": "0",
3848
+ # "status": "PENDING",
3849
+ # "type": "LIMIT",
3850
+ # "side": "BUY",
3851
+ # "time": 1649818185647,
3852
+ # "updateTime": 1649818185647,
3853
+ # "origQuoteOrderQty": "0"
3854
+ # }
3855
+ # ]
3856
+ # }
3857
+ # }
3858
+ #
3738
3859
  else:
3739
- response = await self.swapV2PrivateGetTradeAllOrders(self.extend(request, query))
3740
- #
3741
- # spot
3742
- #
3743
- # {
3744
- # "code": 0,
3745
- # "msg": "",
3746
- # "data": {
3747
- # "orders": [
3748
- # {
3749
- # "symbol": "XRP-USDT",
3750
- # "orderId": 1514073325788200960,
3751
- # "price": "0.5",
3752
- # "origQty": "20",
3753
- # "executedQty": "0",
3754
- # "cummulativeQuoteQty": "0",
3755
- # "status": "PENDING",
3756
- # "type": "LIMIT",
3757
- # "side": "BUY",
3758
- # "time": 1649818185647,
3759
- # "updateTime": 1649818185647,
3760
- # "origQuoteOrderQty": "0"
3761
- # }
3762
- # ]
3763
- # }
3764
- # }
3765
- #
3766
- # swap
3767
- #
3768
- # {
3769
- # "code": 0,
3770
- # "msg": "",
3771
- # "data": {
3772
- # "orders": [
3773
- # {
3774
- # "symbol": "LINK-USDT",
3775
- # "orderId": 1585839271162413056,
3776
- # "side": "BUY",
3777
- # "positionSide": "LONG",
3778
- # "type": "TRIGGER_MARKET",
3779
- # "origQty": "5.0",
3780
- # "price": "9",
3781
- # "executedQty": "0.0",
3782
- # "avgPrice": "0",
3783
- # "cumQuote": "0",
3784
- # "stopPrice": "5",
3785
- # "profit": "0.0000",
3786
- # "commission": "0.000000",
3787
- # "status": "CANCELLED",
3788
- # "time": 1667631605000,
3789
- # "updateTime": 1667631605000
3790
- # },
3791
- # ]
3792
- # }
3793
- # }
3794
- #
3795
- data = self.safe_value(response, 'data', [])
3860
+ if subType == 'inverse':
3861
+ response = await self.cswapV1PrivateGetTradeOrderHistory(self.extend(request, params))
3862
+ #
3863
+ # {
3864
+ # "code": 0,
3865
+ # "msg": "",
3866
+ # "data": {
3867
+ # "orders": [
3868
+ # {
3869
+ # "symbol": "SOL-USD",
3870
+ # "orderId": "1816002957423951872",
3871
+ # "side": "BUY",
3872
+ # "positionSide": "LONG",
3873
+ # "type": "LIMIT",
3874
+ # "quantity": 1,
3875
+ # "origQty": "10.00000000",
3876
+ # "price": "150.000",
3877
+ # "executedQty": "0.00000000",
3878
+ # "avgPrice": "0.000",
3879
+ # "cumQuote": "",
3880
+ # "stopPrice": "0.000",
3881
+ # "profit": "0.0000",
3882
+ # "commission": "0.000000",
3883
+ # "status": "Filled",
3884
+ # "time": 1721803819000,
3885
+ # "updateTime": 1721803856000,
3886
+ # "clientOrderId": "",
3887
+ # "leverage": "",
3888
+ # "takeProfit": {
3889
+ # "type": "",
3890
+ # "quantity": 0,
3891
+ # "stopPrice": 0,
3892
+ # "price": 0,
3893
+ # "workingType": "",
3894
+ # "stopGuaranteed": ""
3895
+ # },
3896
+ # "stopLoss": {
3897
+ # "type": "",
3898
+ # "quantity": 0,
3899
+ # "stopPrice": 0,
3900
+ # "price": 0,
3901
+ # "workingType": "",
3902
+ # "stopGuaranteed": ""
3903
+ # },
3904
+ # "advanceAttr": 0,
3905
+ # "positionID": 0,
3906
+ # "takeProfitEntrustPrice": 0,
3907
+ # "stopLossEntrustPrice": 0,
3908
+ # "orderType": "",
3909
+ # "workingType": "MARK_PRICE"
3910
+ # },
3911
+ # ]
3912
+ # }
3913
+ # }
3914
+ #
3915
+ else:
3916
+ response = await self.swapV2PrivateGetTradeAllOrders(self.extend(request, params))
3917
+ #
3918
+ # {
3919
+ # "code": 0,
3920
+ # "msg": "",
3921
+ # "data": {
3922
+ # "orders": [
3923
+ # {
3924
+ # "symbol": "LINK-USDT",
3925
+ # "orderId": 1585839271162413056,
3926
+ # "side": "BUY",
3927
+ # "positionSide": "LONG",
3928
+ # "type": "TRIGGER_MARKET",
3929
+ # "origQty": "5.0",
3930
+ # "price": "9",
3931
+ # "executedQty": "0.0",
3932
+ # "avgPrice": "0",
3933
+ # "cumQuote": "0",
3934
+ # "stopPrice": "5",
3935
+ # "profit": "0.0000",
3936
+ # "commission": "0.000000",
3937
+ # "status": "CANCELLED",
3938
+ # "time": 1667631605000,
3939
+ # "updateTime": 1667631605000
3940
+ # },
3941
+ # ]
3942
+ # }
3943
+ # }
3944
+ #
3945
+ data = self.safe_dict(response, 'data', {})
3796
3946
  orders = self.safe_list(data, 'orders', [])
3797
3947
  return self.parse_orders(orders, market, since, limit)
3798
3948
 
@@ -4195,7 +4345,8 @@ class bingx(Exchange, ImplicitAPI):
4195
4345
  async def set_margin_mode(self, marginMode: str, symbol: Str = None, params={}):
4196
4346
  """
4197
4347
  set margin mode to 'cross' or 'isolated'
4198
- :see: https://bingx-api.github.io/docs/#/swapV2/trade-api.html#Switch%20Margin%20Mode
4348
+ :see: https://bingx-api.github.io/docs/#/en-us/swapV2/trade-api.html#Change%20Margin%20Type
4349
+ :see: https://bingx-api.github.io/docs/#/en-us/cswap/trade-api.html#Set%20Margin%20Type
4199
4350
  :param str marginMode: 'cross' or 'isolated'
4200
4351
  :param str symbol: unified market symbol
4201
4352
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -4216,7 +4367,12 @@ class bingx(Exchange, ImplicitAPI):
4216
4367
  'symbol': market['id'],
4217
4368
  'marginType': marginMode,
4218
4369
  }
4219
- return await self.swapV2PrivatePostTradeMarginType(self.extend(request, params))
4370
+ subType = None
4371
+ subType, params = self.handle_sub_type_and_params('setMarginMode', market, params)
4372
+ if subType == 'inverse':
4373
+ return await self.cswapV1PrivatePostTradeMarginType(self.extend(request, params))
4374
+ else:
4375
+ return await self.swapV2PrivatePostTradeMarginType(self.extend(request, params))
4220
4376
 
4221
4377
  async def add_margin(self, symbol: str, amount: float, params={}) -> MarginModification:
4222
4378
  request: dict = {
@@ -5108,7 +5264,8 @@ class bingx(Exchange, ImplicitAPI):
5108
5264
  async def fetch_margin_mode(self, symbol: str, params={}) -> MarginMode:
5109
5265
  """
5110
5266
  fetches the margin mode of the trading pair
5111
- :see: https://bingx-api.github.io/docs/#/en-us/swapV2/trade-api.html#Query%20Margin%20Mode
5267
+ :see: https://bingx-api.github.io/docs/#/en-us/swapV2/trade-api.html#Query%20Margin%20Type
5268
+ :see: https://bingx-api.github.io/docs/#/en-us/cswap/trade-api.html#Query%20Margin%20Type
5112
5269
  :param str symbol: unified symbol of the market to fetch the margin mode for
5113
5270
  :param dict [params]: extra parameters specific to the exchange API endpoint
5114
5271
  :returns dict: a `margin mode structure <https://docs.ccxt.com/#/?id=margin-mode-structure>`
@@ -5118,25 +5275,43 @@ class bingx(Exchange, ImplicitAPI):
5118
5275
  request: dict = {
5119
5276
  'symbol': market['id'],
5120
5277
  }
5121
- response = await self.swapV2PrivateGetTradeMarginType(self.extend(request, params))
5122
- #
5123
- # {
5124
- # "code": 0,
5125
- # "msg": "",
5126
- # "data": {
5127
- # "marginType": "CROSSED"
5128
- # }
5129
- # }
5130
- #
5278
+ subType = None
5279
+ response = None
5280
+ subType, params = self.handle_sub_type_and_params('fetchMarginMode', market, params)
5281
+ if subType == 'inverse':
5282
+ response = await self.cswapV1PrivateGetTradeMarginType(self.extend(request, params))
5283
+ #
5284
+ # {
5285
+ # "code": 0,
5286
+ # "msg": "",
5287
+ # "timestamp": 1721966069132,
5288
+ # "data": {
5289
+ # "symbol": "SOL-USD",
5290
+ # "marginType": "CROSSED"
5291
+ # }
5292
+ # }
5293
+ #
5294
+ else:
5295
+ response = await self.swapV2PrivateGetTradeMarginType(self.extend(request, params))
5296
+ #
5297
+ # {
5298
+ # "code": 0,
5299
+ # "msg": "",
5300
+ # "data": {
5301
+ # "marginType": "CROSSED"
5302
+ # }
5303
+ # }
5304
+ #
5131
5305
  data = self.safe_dict(response, 'data', {})
5132
5306
  return self.parse_margin_mode(data, market)
5133
5307
 
5134
5308
  def parse_margin_mode(self, marginMode: dict, market=None) -> MarginMode:
5309
+ marketId = self.safe_string(marginMode, 'symbol')
5135
5310
  marginType = self.safe_string_lower(marginMode, 'marginType')
5136
5311
  marginType = 'cross' if (marginType == 'crossed') else marginType
5137
5312
  return {
5138
5313
  'info': marginMode,
5139
- 'symbol': market['symbol'],
5314
+ 'symbol': self.safe_symbol(marketId, market, '-', 'swap'),
5140
5315
  'marginMode': marginType,
5141
5316
  }
5142
5317
 
@@ -4868,8 +4868,9 @@ class bitget(Exchange, ImplicitAPI):
4868
4868
  if isinstance(response, str):
4869
4869
  response = json.loads(response)
4870
4870
  data = self.safe_dict(response, 'data')
4871
- if (data is not None) and not isinstance(data, list):
4872
- return self.parse_order(data, market)
4871
+ if (data is not None):
4872
+ if not isinstance(data, list):
4873
+ return self.parse_order(data, market)
4873
4874
  dataList = self.safe_list(response, 'data', [])
4874
4875
  first = self.safe_dict(dataList, 0, {})
4875
4876
  return self.parse_order(first, market)