ccxt 4.2.85__tar.gz → 4.2.86__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 (544) hide show
  1. {ccxt-4.2.85/ccxt.egg-info → ccxt-4.2.86}/PKG-INFO +6 -6
  2. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/__init__.py +1 -1
  3. ccxt-4.2.86/ccxt/abstract/coinex.py +236 -0
  4. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/__init__.py +1 -1
  5. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/base/exchange.py +1 -1
  6. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bingx.py +33 -19
  7. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bitbank.py +19 -21
  8. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/coinex.py +393 -251
  9. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/idex.py +10 -10
  10. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/okcoin.py +2 -1
  11. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/base/exchange.py +1 -1
  12. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bingx.py +33 -19
  13. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bitbank.py +19 -21
  14. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/coinex.py +393 -251
  15. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/idex.py +10 -10
  16. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/okcoin.py +2 -1
  17. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/__init__.py +1 -1
  18. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/bitget.py +1 -0
  19. {ccxt-4.2.85 → ccxt-4.2.86/ccxt.egg-info}/PKG-INFO +6 -6
  20. {ccxt-4.2.85 → ccxt-4.2.86}/package.json +1 -1
  21. ccxt-4.2.85/ccxt/abstract/coinex.py +0 -127
  22. {ccxt-4.2.85 → ccxt-4.2.86}/LICENSE.txt +0 -0
  23. {ccxt-4.2.85 → ccxt-4.2.86}/MANIFEST.in +0 -0
  24. {ccxt-4.2.85 → ccxt-4.2.86}/README.rst +0 -0
  25. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/__init__.py +0 -0
  26. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/ace.py +0 -0
  27. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/alpaca.py +0 -0
  28. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/ascendex.py +0 -0
  29. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bequant.py +0 -0
  30. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bigone.py +0 -0
  31. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/binance.py +0 -0
  32. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/binancecoinm.py +0 -0
  33. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/binanceus.py +0 -0
  34. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/binanceusdm.py +0 -0
  35. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bingx.py +0 -0
  36. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bit2c.py +0 -0
  37. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bitbank.py +0 -0
  38. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bitbay.py +0 -0
  39. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bitbns.py +0 -0
  40. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bitcoincom.py +0 -0
  41. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bitfinex.py +0 -0
  42. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bitfinex2.py +0 -0
  43. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bitflyer.py +0 -0
  44. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bitget.py +0 -0
  45. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bithumb.py +0 -0
  46. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bitmart.py +0 -0
  47. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bitmex.py +0 -0
  48. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bitopro.py +0 -0
  49. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bitpanda.py +0 -0
  50. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bitrue.py +0 -0
  51. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bitso.py +0 -0
  52. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bitstamp.py +0 -0
  53. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bitteam.py +0 -0
  54. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bitvavo.py +0 -0
  55. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bl3p.py +0 -0
  56. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/blockchaincom.py +0 -0
  57. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/blofin.py +0 -0
  58. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/btcalpha.py +0 -0
  59. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/btcbox.py +0 -0
  60. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/btcmarkets.py +0 -0
  61. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/btcturk.py +0 -0
  62. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/bybit.py +0 -0
  63. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/cex.py +0 -0
  64. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/coinbase.py +0 -0
  65. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/coinbaseinternational.py +0 -0
  66. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/coinbasepro.py +0 -0
  67. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/coincheck.py +0 -0
  68. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/coinlist.py +0 -0
  69. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/coinmate.py +0 -0
  70. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/coinmetro.py +0 -0
  71. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/coinone.py +0 -0
  72. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/coinsph.py +0 -0
  73. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/coinspot.py +0 -0
  74. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/cryptocom.py +0 -0
  75. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/currencycom.py +0 -0
  76. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/delta.py +0 -0
  77. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/deribit.py +0 -0
  78. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/digifinex.py +0 -0
  79. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/exmo.py +0 -0
  80. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/fmfwio.py +0 -0
  81. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/gate.py +0 -0
  82. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/gateio.py +0 -0
  83. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/gemini.py +0 -0
  84. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/hitbtc.py +0 -0
  85. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/hitbtc3.py +0 -0
  86. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/hollaex.py +0 -0
  87. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/htx.py +0 -0
  88. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/huobi.py +0 -0
  89. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/huobijp.py +0 -0
  90. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/hyperliquid.py +0 -0
  91. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/idex.py +0 -0
  92. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/independentreserve.py +0 -0
  93. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/indodax.py +0 -0
  94. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/kraken.py +0 -0
  95. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/krakenfutures.py +0 -0
  96. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/kucoin.py +0 -0
  97. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/kucoinfutures.py +0 -0
  98. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/kuna.py +0 -0
  99. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/latoken.py +0 -0
  100. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/lbank.py +0 -0
  101. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/luno.py +0 -0
  102. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/lykke.py +0 -0
  103. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/mercado.py +0 -0
  104. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/mexc.py +0 -0
  105. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/ndax.py +0 -0
  106. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/novadax.py +0 -0
  107. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/oceanex.py +0 -0
  108. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/okcoin.py +0 -0
  109. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/okx.py +0 -0
  110. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/onetrading.py +0 -0
  111. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/p2b.py +0 -0
  112. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/paymium.py +0 -0
  113. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/phemex.py +0 -0
  114. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/poloniex.py +0 -0
  115. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/poloniexfutures.py +0 -0
  116. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/probit.py +0 -0
  117. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/timex.py +0 -0
  118. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/tokocrypto.py +0 -0
  119. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/tradeogre.py +0 -0
  120. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/upbit.py +0 -0
  121. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/wavesexchange.py +0 -0
  122. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/wazirx.py +0 -0
  123. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/whitebit.py +0 -0
  124. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/woo.py +0 -0
  125. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/yobit.py +0 -0
  126. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/zaif.py +0 -0
  127. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/abstract/zonda.py +0 -0
  128. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/ace.py +0 -0
  129. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/alpaca.py +0 -0
  130. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/ascendex.py +0 -0
  131. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/ace.py +0 -0
  132. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/alpaca.py +0 -0
  133. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/ascendex.py +0 -0
  134. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/base/__init__.py +0 -0
  135. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/base/throttler.py +0 -0
  136. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/base/ws/__init__.py +0 -0
  137. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  138. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/base/ws/cache.py +0 -0
  139. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/base/ws/client.py +0 -0
  140. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/base/ws/fast_client.py +0 -0
  141. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/base/ws/functions.py +0 -0
  142. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/base/ws/future.py +0 -0
  143. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/base/ws/order_book.py +0 -0
  144. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  145. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bequant.py +0 -0
  146. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bigone.py +0 -0
  147. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/binance.py +0 -0
  148. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/binancecoinm.py +0 -0
  149. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/binanceus.py +0 -0
  150. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/binanceusdm.py +0 -0
  151. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bit2c.py +0 -0
  152. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bitbay.py +0 -0
  153. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bitbns.py +0 -0
  154. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bitcoincom.py +0 -0
  155. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bitfinex.py +0 -0
  156. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bitfinex2.py +0 -0
  157. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bitflyer.py +0 -0
  158. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bitget.py +0 -0
  159. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bithumb.py +0 -0
  160. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bitmart.py +0 -0
  161. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bitmex.py +0 -0
  162. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bitopro.py +0 -0
  163. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bitpanda.py +0 -0
  164. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bitrue.py +0 -0
  165. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bitso.py +0 -0
  166. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bitstamp.py +0 -0
  167. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bitteam.py +0 -0
  168. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bitvavo.py +0 -0
  169. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bl3p.py +0 -0
  170. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/blockchaincom.py +0 -0
  171. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/blofin.py +0 -0
  172. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/btcalpha.py +0 -0
  173. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/btcbox.py +0 -0
  174. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/btcmarkets.py +0 -0
  175. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/btcturk.py +0 -0
  176. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/bybit.py +0 -0
  177. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/cex.py +0 -0
  178. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/coinbase.py +0 -0
  179. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/coinbaseinternational.py +0 -0
  180. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/coinbasepro.py +0 -0
  181. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/coincheck.py +0 -0
  182. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/coinlist.py +0 -0
  183. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/coinmate.py +0 -0
  184. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/coinmetro.py +0 -0
  185. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/coinone.py +0 -0
  186. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/coinsph.py +0 -0
  187. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/coinspot.py +0 -0
  188. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/cryptocom.py +0 -0
  189. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/currencycom.py +0 -0
  190. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/delta.py +0 -0
  191. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/deribit.py +0 -0
  192. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/digifinex.py +0 -0
  193. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/exmo.py +0 -0
  194. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/flowbtc.py +0 -0
  195. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/fmfwio.py +0 -0
  196. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/gate.py +0 -0
  197. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/gateio.py +0 -0
  198. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/gemini.py +0 -0
  199. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/hitbtc.py +0 -0
  200. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/hitbtc3.py +0 -0
  201. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/hollaex.py +0 -0
  202. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/htx.py +0 -0
  203. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/huobi.py +0 -0
  204. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/huobijp.py +0 -0
  205. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/hyperliquid.py +0 -0
  206. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/independentreserve.py +0 -0
  207. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/indodax.py +0 -0
  208. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/kraken.py +0 -0
  209. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/krakenfutures.py +0 -0
  210. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/kucoin.py +0 -0
  211. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/kucoinfutures.py +0 -0
  212. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/kuna.py +0 -0
  213. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/latoken.py +0 -0
  214. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/lbank.py +0 -0
  215. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/luno.py +0 -0
  216. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/lykke.py +0 -0
  217. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/mercado.py +0 -0
  218. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/mexc.py +0 -0
  219. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/ndax.py +0 -0
  220. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/novadax.py +0 -0
  221. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/oceanex.py +0 -0
  222. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/okx.py +0 -0
  223. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/onetrading.py +0 -0
  224. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/p2b.py +0 -0
  225. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/paymium.py +0 -0
  226. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/phemex.py +0 -0
  227. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/poloniex.py +0 -0
  228. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/poloniexfutures.py +0 -0
  229. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/probit.py +0 -0
  230. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/timex.py +0 -0
  231. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/tokocrypto.py +0 -0
  232. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/tradeogre.py +0 -0
  233. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/upbit.py +0 -0
  234. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/wavesexchange.py +0 -0
  235. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/wazirx.py +0 -0
  236. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/whitebit.py +0 -0
  237. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/woo.py +0 -0
  238. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/yobit.py +0 -0
  239. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/zaif.py +0 -0
  240. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/async_support/zonda.py +0 -0
  241. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/base/__init__.py +0 -0
  242. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/base/decimal_to_precision.py +0 -0
  243. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/base/errors.py +0 -0
  244. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/base/precise.py +0 -0
  245. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/base/types.py +0 -0
  246. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bequant.py +0 -0
  247. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bigone.py +0 -0
  248. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/binance.py +0 -0
  249. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/binancecoinm.py +0 -0
  250. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/binanceus.py +0 -0
  251. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/binanceusdm.py +0 -0
  252. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bit2c.py +0 -0
  253. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bitbay.py +0 -0
  254. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bitbns.py +0 -0
  255. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bitcoincom.py +0 -0
  256. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bitfinex.py +0 -0
  257. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bitfinex2.py +0 -0
  258. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bitflyer.py +0 -0
  259. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bitget.py +0 -0
  260. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bithumb.py +0 -0
  261. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bitmart.py +0 -0
  262. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bitmex.py +0 -0
  263. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bitopro.py +0 -0
  264. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bitpanda.py +0 -0
  265. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bitrue.py +0 -0
  266. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bitso.py +0 -0
  267. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bitstamp.py +0 -0
  268. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bitteam.py +0 -0
  269. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bitvavo.py +0 -0
  270. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bl3p.py +0 -0
  271. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/blockchaincom.py +0 -0
  272. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/blofin.py +0 -0
  273. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/btcalpha.py +0 -0
  274. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/btcbox.py +0 -0
  275. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/btcmarkets.py +0 -0
  276. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/btcturk.py +0 -0
  277. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/bybit.py +0 -0
  278. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/cex.py +0 -0
  279. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/coinbase.py +0 -0
  280. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/coinbaseinternational.py +0 -0
  281. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/coinbasepro.py +0 -0
  282. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/coincheck.py +0 -0
  283. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/coinlist.py +0 -0
  284. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/coinmate.py +0 -0
  285. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/coinmetro.py +0 -0
  286. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/coinone.py +0 -0
  287. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/coinsph.py +0 -0
  288. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/coinspot.py +0 -0
  289. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/cryptocom.py +0 -0
  290. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/currencycom.py +0 -0
  291. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/delta.py +0 -0
  292. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/deribit.py +0 -0
  293. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/digifinex.py +0 -0
  294. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/exmo.py +0 -0
  295. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/flowbtc.py +0 -0
  296. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/fmfwio.py +0 -0
  297. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/gate.py +0 -0
  298. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/gateio.py +0 -0
  299. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/gemini.py +0 -0
  300. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/hitbtc.py +0 -0
  301. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/hitbtc3.py +0 -0
  302. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/hollaex.py +0 -0
  303. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/htx.py +0 -0
  304. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/huobi.py +0 -0
  305. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/huobijp.py +0 -0
  306. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/hyperliquid.py +0 -0
  307. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/independentreserve.py +0 -0
  308. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/indodax.py +0 -0
  309. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/kraken.py +0 -0
  310. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/krakenfutures.py +0 -0
  311. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/kucoin.py +0 -0
  312. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/kucoinfutures.py +0 -0
  313. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/kuna.py +0 -0
  314. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/latoken.py +0 -0
  315. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/lbank.py +0 -0
  316. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/luno.py +0 -0
  317. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/lykke.py +0 -0
  318. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/mercado.py +0 -0
  319. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/mexc.py +0 -0
  320. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/ndax.py +0 -0
  321. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/novadax.py +0 -0
  322. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/oceanex.py +0 -0
  323. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/okx.py +0 -0
  324. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/onetrading.py +0 -0
  325. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/p2b.py +0 -0
  326. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/paymium.py +0 -0
  327. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/phemex.py +0 -0
  328. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/poloniex.py +0 -0
  329. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/poloniexfutures.py +0 -0
  330. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/alpaca.py +0 -0
  331. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/ascendex.py +0 -0
  332. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/bequant.py +0 -0
  333. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/binance.py +0 -0
  334. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/binancecoinm.py +0 -0
  335. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/binanceus.py +0 -0
  336. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/binanceusdm.py +0 -0
  337. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/bingx.py +0 -0
  338. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/bitcoincom.py +0 -0
  339. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/bitfinex.py +0 -0
  340. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/bitfinex2.py +0 -0
  341. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/bithumb.py +0 -0
  342. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/bitmart.py +0 -0
  343. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/bitmex.py +0 -0
  344. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/bitopro.py +0 -0
  345. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/bitpanda.py +0 -0
  346. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/bitrue.py +0 -0
  347. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/bitstamp.py +0 -0
  348. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/bitvavo.py +0 -0
  349. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/blockchaincom.py +0 -0
  350. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/bybit.py +0 -0
  351. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/cex.py +0 -0
  352. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/coinbase.py +0 -0
  353. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/coinbaseinternational.py +0 -0
  354. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/coinbasepro.py +0 -0
  355. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/coincheck.py +0 -0
  356. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/coinex.py +0 -0
  357. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/coinone.py +0 -0
  358. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/cryptocom.py +0 -0
  359. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/currencycom.py +0 -0
  360. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/deribit.py +0 -0
  361. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/exmo.py +0 -0
  362. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/gate.py +0 -0
  363. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/gateio.py +0 -0
  364. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/gemini.py +0 -0
  365. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/hitbtc.py +0 -0
  366. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/hollaex.py +0 -0
  367. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/htx.py +0 -0
  368. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/huobi.py +0 -0
  369. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/huobijp.py +0 -0
  370. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/hyperliquid.py +0 -0
  371. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/idex.py +0 -0
  372. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/independentreserve.py +0 -0
  373. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/kraken.py +0 -0
  374. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/krakenfutures.py +0 -0
  375. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/kucoin.py +0 -0
  376. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/kucoinfutures.py +0 -0
  377. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/lbank.py +0 -0
  378. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/luno.py +0 -0
  379. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/mexc.py +0 -0
  380. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/ndax.py +0 -0
  381. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/okcoin.py +0 -0
  382. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/okx.py +0 -0
  383. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/onetrading.py +0 -0
  384. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/p2b.py +0 -0
  385. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/phemex.py +0 -0
  386. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/poloniex.py +0 -0
  387. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/poloniexfutures.py +0 -0
  388. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/probit.py +0 -0
  389. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/upbit.py +0 -0
  390. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/wazirx.py +0 -0
  391. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/whitebit.py +0 -0
  392. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/pro/woo.py +0 -0
  393. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/probit.py +0 -0
  394. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/__init__.py +0 -0
  395. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  396. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  397. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  398. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  399. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  400. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  401. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  402. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  403. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  404. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  405. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  406. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  407. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  408. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  409. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  410. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  411. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  412. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  413. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  414. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  415. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  416. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  417. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  418. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  419. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  420. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  421. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  422. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  423. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  424. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  425. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  426. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  427. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  428. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  429. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  430. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  431. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  432. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  433. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  434. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  435. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  436. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  437. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  438. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  439. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  440. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  441. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  442. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  443. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  444. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  445. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  446. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  447. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  448. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  449. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  450. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  451. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  452. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  453. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  454. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  455. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  456. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  457. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  458. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  459. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  460. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  461. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  462. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  463. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  464. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  465. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  466. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  467. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  468. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  469. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  470. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  471. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  472. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  473. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  474. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  475. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  476. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  477. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  478. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  479. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  480. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  481. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/toolz/_version.py +0 -0
  482. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  483. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  484. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  485. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  486. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  487. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  488. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  489. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  490. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/static_dependencies/toolz/utils.py +0 -0
  491. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/__init__.py +0 -0
  492. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/__init__.py +0 -0
  493. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_account.py +0 -0
  494. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_balance.py +0 -0
  495. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_borrow_interest.py +0 -0
  496. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_borrow_rate.py +0 -0
  497. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_calculate_fee.py +0 -0
  498. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_crypto.py +0 -0
  499. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_currency.py +0 -0
  500. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_datetime.py +0 -0
  501. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_decimal_to_precision.py +0 -0
  502. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_deep_extend.py +0 -0
  503. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
  504. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
  505. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_funding_rate_history.py +0 -0
  506. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_last_price.py +0 -0
  507. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_ledger_entry.py +0 -0
  508. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_ledger_item.py +0 -0
  509. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_leverage_tier.py +0 -0
  510. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_margin_mode.py +0 -0
  511. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_margin_modification.py +0 -0
  512. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_market.py +0 -0
  513. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_number.py +0 -0
  514. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_ohlcv.py +0 -0
  515. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_open_interest.py +0 -0
  516. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_order.py +0 -0
  517. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_order_book.py +0 -0
  518. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_position.py +0 -0
  519. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_shared_methods.py +0 -0
  520. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_status.py +0 -0
  521. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_throttle.py +0 -0
  522. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_ticker.py +0 -0
  523. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_trade.py +0 -0
  524. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_trading_fee.py +0 -0
  525. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/base/test_transaction.py +0 -0
  526. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/test_async.py +0 -0
  527. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/test/test_sync.py +0 -0
  528. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/timex.py +0 -0
  529. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/tokocrypto.py +0 -0
  530. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/tradeogre.py +0 -0
  531. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/upbit.py +0 -0
  532. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/wavesexchange.py +0 -0
  533. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/wazirx.py +0 -0
  534. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/whitebit.py +0 -0
  535. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/woo.py +0 -0
  536. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/yobit.py +0 -0
  537. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/zaif.py +0 -0
  538. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt/zonda.py +0 -0
  539. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt.egg-info/SOURCES.txt +0 -0
  540. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt.egg-info/dependency_links.txt +0 -0
  541. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt.egg-info/requires.txt +0 -0
  542. {ccxt-4.2.85 → ccxt-4.2.86}/ccxt.egg-info/top_level.txt +0 -0
  543. {ccxt-4.2.85 → ccxt-4.2.86}/setup.cfg +0 -0
  544. {ccxt-4.2.85 → ccxt-4.2.86}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.2.85
3
+ Version: 4.2.86
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
@@ -56,7 +56,7 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
56
56
  | [![bitmex](https://github.com/ccxt/ccxt/assets/43336371/cea9cfe5-c57e-4b84-b2ac-77b960b04445)](https://www.bitmex.com/app/register/NZTR1q) | bitmex | [BitMEX](https://www.bitmex.com/app/register/NZTR1q) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://www.bitmex.com/app/apiOverview) | [![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) | [![Sign up with BitMEX using CCXT's referral link for a 10% discount!](https://img.shields.io/static/v1?label=Fee&message=%2d10%25&color=orange)](https://www.bitmex.com/app/register/NZTR1q) |
57
57
  | [![bybit](https://user-images.githubusercontent.com/51840849/76547799-daff5b80-649e-11ea-87fb-3be9bac08954.jpg)](https://www.bybit.com/register?affiliate_id=35953) | bybit | [Bybit](https://www.bybit.com/register?affiliate_id=35953) | [![API Version 5](https://img.shields.io/badge/5-lightgray)](https://bybit-exchange.github.io/docs/inverse/) | [![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) | |
58
58
  | [![coinbaseinternational](https://github.com/ccxt/ccxt/assets/43336371/866ae638-6ab5-4ebf-ab2c-cdcce9545625)](https://international.coinbase.com) | coinbaseinternational | [Coinbase International](https://international.coinbase.com) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://docs.cloud.coinbase.com/intx/docs) | [![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) | |
59
- | [![coinex](https://user-images.githubusercontent.com/51840849/87182089-1e05fa00-c2ec-11ea-8da9-cc73b45abbbc.jpg)](https://www.coinex.com/register?refer_code=yw5fz) | coinex | [CoinEx](https://www.coinex.com/register?refer_code=yw5fz) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://viabtc.github.io/coinex_api_en_doc) | [![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) | |
59
+ | [![coinex](https://user-images.githubusercontent.com/51840849/87182089-1e05fa00-c2ec-11ea-8da9-cc73b45abbbc.jpg)](https://www.coinex.com/register?refer_code=yw5fz) | coinex | [CoinEx](https://www.coinex.com/register?refer_code=yw5fz) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://docs.coinex.com/api/v2) | [![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) | |
60
60
  | [![cryptocom](https://user-images.githubusercontent.com/1294454/147792121-38ed5e36-c229-48d6-b49a-48d05fc19ed4.jpeg)](https://crypto.com/exch/kdacthrnxt) | cryptocom | [Crypto.com](https://crypto.com/exch/kdacthrnxt) | [![API Version 2](https://img.shields.io/badge/2-lightgray)](https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html) | [![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) | [![Sign up with Crypto.com using CCXT's referral link for a 15% discount!](https://img.shields.io/static/v1?label=Fee&message=%2d15%25&color=orange)](https://crypto.com/exch/kdacthrnxt) |
61
61
  | [![gate](https://user-images.githubusercontent.com/1294454/31784029-0313c702-b509-11e7-9ccc-bc0da6a0e435.jpg)](https://www.gate.io/signup/2436035) | gate | [Gate.io](https://www.gate.io/signup/2436035) | [![API Version 4](https://img.shields.io/badge/4-lightgray)](https://www.gate.io/docs/developers/apiv4/en/) | [![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) | [![Sign up with Gate.io using CCXT's referral link for a 20% discount!](https://img.shields.io/static/v1?label=Fee&message=%2d20%25&color=orange)](https://www.gate.io/signup/2436035) |
62
62
  | [![htx](https://user-images.githubusercontent.com/1294454/76137448-22748a80-604e-11ea-8069-6e389271911d.jpg)](https://www.huobi.com/en-us/v/register/double-invite/?inviter_id=11343840&invite_code=6rmm2223) | htx | [HTX](https://www.huobi.com/en-us/v/register/double-invite/?inviter_id=11343840&invite_code=6rmm2223) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://huobiapi.github.io/docs/spot/v1/en/) | [![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) | [![Sign up with HTX using CCXT's referral link for a 15% discount!](https://img.shields.io/static/v1?label=Fee&message=%2d15%25&color=orange)](https://www.huobi.com/en-us/v/register/double-invite/?inviter_id=11343840&invite_code=6rmm2223) |
@@ -111,7 +111,7 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
111
111
  | [![coinbaseinternational](https://github.com/ccxt/ccxt/assets/43336371/866ae638-6ab5-4ebf-ab2c-cdcce9545625)](https://international.coinbase.com) | coinbaseinternational | [Coinbase International](https://international.coinbase.com) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://docs.cloud.coinbase.com/intx/docs) | [![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) |
112
112
  | [![coinbasepro](https://user-images.githubusercontent.com/1294454/41764625-63b7ffde-760a-11e8-996d-a6328fa9347a.jpg)](https://pro.coinbase.com/) | coinbasepro | [Coinbase Pro](https://pro.coinbase.com/) | [![API Version *](https://img.shields.io/badge/*-lightgray)](https://docs.pro.coinbase.com) | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
113
113
  | [![coincheck](https://user-images.githubusercontent.com/51840849/87182088-1d6d6380-c2ec-11ea-9c64-8ab9f9b289f5.jpg)](https://coincheck.com) | coincheck | [coincheck](https://coincheck.com) | [![API Version *](https://img.shields.io/badge/*-lightgray)](https://coincheck.com/documents/exchange/api) | | |
114
- | [![coinex](https://user-images.githubusercontent.com/51840849/87182089-1e05fa00-c2ec-11ea-8da9-cc73b45abbbc.jpg)](https://www.coinex.com/register?refer_code=yw5fz) | coinex | [CoinEx](https://www.coinex.com/register?refer_code=yw5fz) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://viabtc.github.io/coinex_api_en_doc) | [![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) |
114
+ | [![coinex](https://user-images.githubusercontent.com/51840849/87182089-1e05fa00-c2ec-11ea-8da9-cc73b45abbbc.jpg)](https://www.coinex.com/register?refer_code=yw5fz) | coinex | [CoinEx](https://www.coinex.com/register?refer_code=yw5fz) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://docs.coinex.com/api/v2) | [![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) |
115
115
  | [![coinlist](https://github-production-user-asset-6210df.s3.amazonaws.com/1294454/281108917-eff2ae1d-ce8a-4b2a-950d-8678b12da965.jpg)](https://coinlist.co) | coinlist | [Coinlist](https://coinlist.co) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://trade-docs.coinlist.co) | | |
116
116
  | [![coinmate](https://user-images.githubusercontent.com/51840849/87460806-1c9f3f00-c616-11ea-8c46-a77018a8f3f4.jpg)](https://coinmate.io?referral=YTFkM1RsOWFObVpmY1ZjMGREQmpTRnBsWjJJNVp3PT0) | coinmate | [CoinMate](https://coinmate.io?referral=YTFkM1RsOWFObVpmY1ZjMGREQmpTRnBsWjJJNVp3PT0) | [![API Version *](https://img.shields.io/badge/*-lightgray)](https://coinmate.docs.apiary.io) | | |
117
117
  | [![coinmetro](https://github.com/ccxt/ccxt/assets/43336371/e86f87ec-6ba3-4410-962b-f7988c5db539)](https://go.coinmetro.com/?ref=crypto24) | coinmetro | [Coinmetro](https://go.coinmetro.com/?ref=crypto24) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://documenter.getpostman.com/view/3653795/SVfWN6KS) | | |
@@ -226,13 +226,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
226
226
 
227
227
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
228
228
 
229
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.85/dist/ccxt.browser.js
230
- * unpkg: https://unpkg.com/ccxt@4.2.85/dist/ccxt.browser.js
229
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.2.86/dist/ccxt.browser.js
230
+ * unpkg: https://unpkg.com/ccxt@4.2.86/dist/ccxt.browser.js
231
231
 
232
232
  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.
233
233
 
234
234
  ```HTML
235
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.85/dist/ccxt.browser.js"></script>
235
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.2.86/dist/ccxt.browser.js"></script>
236
236
  ```
237
237
 
238
238
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.2.85'
25
+ __version__ = '4.2.86'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -0,0 +1,236 @@
1
+ from ccxt.base.types import Entry
2
+
3
+
4
+ class ImplicitAPI:
5
+ v1_public_get_amm_market = v1PublicGetAmmMarket = Entry('amm/market', ['v1', 'public'], 'GET', {'cost': 1})
6
+ v1_public_get_common_currency_rate = v1PublicGetCommonCurrencyRate = Entry('common/currency/rate', ['v1', 'public'], 'GET', {'cost': 1})
7
+ v1_public_get_common_asset_config = v1PublicGetCommonAssetConfig = Entry('common/asset/config', ['v1', 'public'], 'GET', {'cost': 1})
8
+ v1_public_get_common_maintain_info = v1PublicGetCommonMaintainInfo = Entry('common/maintain/info', ['v1', 'public'], 'GET', {'cost': 1})
9
+ v1_public_get_common_temp_maintain_info = v1PublicGetCommonTempMaintainInfo = Entry('common/temp-maintain/info', ['v1', 'public'], 'GET', {'cost': 1})
10
+ v1_public_get_margin_market = v1PublicGetMarginMarket = Entry('margin/market', ['v1', 'public'], 'GET', {'cost': 1})
11
+ v1_public_get_market_info = v1PublicGetMarketInfo = Entry('market/info', ['v1', 'public'], 'GET', {'cost': 1})
12
+ v1_public_get_market_list = v1PublicGetMarketList = Entry('market/list', ['v1', 'public'], 'GET', {'cost': 1})
13
+ v1_public_get_market_ticker = v1PublicGetMarketTicker = Entry('market/ticker', ['v1', 'public'], 'GET', {'cost': 1})
14
+ v1_public_get_market_ticker_all = v1PublicGetMarketTickerAll = Entry('market/ticker/all', ['v1', 'public'], 'GET', {'cost': 1})
15
+ v1_public_get_market_depth = v1PublicGetMarketDepth = Entry('market/depth', ['v1', 'public'], 'GET', {'cost': 1})
16
+ v1_public_get_market_deals = v1PublicGetMarketDeals = Entry('market/deals', ['v1', 'public'], 'GET', {'cost': 1})
17
+ v1_public_get_market_kline = v1PublicGetMarketKline = Entry('market/kline', ['v1', 'public'], 'GET', {'cost': 1})
18
+ v1_public_get_market_detail = v1PublicGetMarketDetail = Entry('market/detail', ['v1', 'public'], 'GET', {'cost': 1})
19
+ v1_private_get_account_amm_balance = v1PrivateGetAccountAmmBalance = Entry('account/amm/balance', ['v1', 'private'], 'GET', {'cost': 40})
20
+ v1_private_get_account_investment_balance = v1PrivateGetAccountInvestmentBalance = Entry('account/investment/balance', ['v1', 'private'], 'GET', {'cost': 40})
21
+ v1_private_get_account_balance_history = v1PrivateGetAccountBalanceHistory = Entry('account/balance/history', ['v1', 'private'], 'GET', {'cost': 40})
22
+ v1_private_get_account_market_fee = v1PrivateGetAccountMarketFee = Entry('account/market/fee', ['v1', 'private'], 'GET', {'cost': 40})
23
+ v1_private_get_balance_coin_deposit = v1PrivateGetBalanceCoinDeposit = Entry('balance/coin/deposit', ['v1', 'private'], 'GET', {'cost': 40})
24
+ v1_private_get_balance_coin_withdraw = v1PrivateGetBalanceCoinWithdraw = Entry('balance/coin/withdraw', ['v1', 'private'], 'GET', {'cost': 40})
25
+ v1_private_get_balance_info = v1PrivateGetBalanceInfo = Entry('balance/info', ['v1', 'private'], 'GET', {'cost': 40})
26
+ v1_private_get_balance_deposit_address_coin_type = v1PrivateGetBalanceDepositAddressCoinType = Entry('balance/deposit/address/{coin_type}', ['v1', 'private'], 'GET', {'cost': 40})
27
+ v1_private_get_contract_transfer_history = v1PrivateGetContractTransferHistory = Entry('contract/transfer/history', ['v1', 'private'], 'GET', {'cost': 40})
28
+ v1_private_get_credit_info = v1PrivateGetCreditInfo = Entry('credit/info', ['v1', 'private'], 'GET', {'cost': 40})
29
+ v1_private_get_credit_balance = v1PrivateGetCreditBalance = Entry('credit/balance', ['v1', 'private'], 'GET', {'cost': 40})
30
+ v1_private_get_investment_transfer_history = v1PrivateGetInvestmentTransferHistory = Entry('investment/transfer/history', ['v1', 'private'], 'GET', {'cost': 40})
31
+ v1_private_get_margin_account = v1PrivateGetMarginAccount = Entry('margin/account', ['v1', 'private'], 'GET', {'cost': 1})
32
+ v1_private_get_margin_config = v1PrivateGetMarginConfig = Entry('margin/config', ['v1', 'private'], 'GET', {'cost': 1})
33
+ v1_private_get_margin_loan_history = v1PrivateGetMarginLoanHistory = Entry('margin/loan/history', ['v1', 'private'], 'GET', {'cost': 40})
34
+ v1_private_get_margin_transfer_history = v1PrivateGetMarginTransferHistory = Entry('margin/transfer/history', ['v1', 'private'], 'GET', {'cost': 40})
35
+ v1_private_get_order_deals = v1PrivateGetOrderDeals = Entry('order/deals', ['v1', 'private'], 'GET', {'cost': 40})
36
+ v1_private_get_order_finished = v1PrivateGetOrderFinished = Entry('order/finished', ['v1', 'private'], 'GET', {'cost': 40})
37
+ v1_private_get_order_pending = v1PrivateGetOrderPending = Entry('order/pending', ['v1', 'private'], 'GET', {'cost': 8})
38
+ v1_private_get_order_status = v1PrivateGetOrderStatus = Entry('order/status', ['v1', 'private'], 'GET', {'cost': 8})
39
+ v1_private_get_order_status_batch = v1PrivateGetOrderStatusBatch = Entry('order/status/batch', ['v1', 'private'], 'GET', {'cost': 8})
40
+ v1_private_get_order_user_deals = v1PrivateGetOrderUserDeals = Entry('order/user/deals', ['v1', 'private'], 'GET', {'cost': 40})
41
+ v1_private_get_order_stop_finished = v1PrivateGetOrderStopFinished = Entry('order/stop/finished', ['v1', 'private'], 'GET', {'cost': 40})
42
+ v1_private_get_order_stop_pending = v1PrivateGetOrderStopPending = Entry('order/stop/pending', ['v1', 'private'], 'GET', {'cost': 8})
43
+ v1_private_get_order_user_trade_fee = v1PrivateGetOrderUserTradeFee = Entry('order/user/trade/fee', ['v1', 'private'], 'GET', {'cost': 1})
44
+ v1_private_get_order_market_trade_info = v1PrivateGetOrderMarketTradeInfo = Entry('order/market/trade/info', ['v1', 'private'], 'GET', {'cost': 1})
45
+ v1_private_get_sub_account_balance = v1PrivateGetSubAccountBalance = Entry('sub_account/balance', ['v1', 'private'], 'GET', {'cost': 1})
46
+ v1_private_get_sub_account_transfer_history = v1PrivateGetSubAccountTransferHistory = Entry('sub_account/transfer/history', ['v1', 'private'], 'GET', {'cost': 40})
47
+ v1_private_get_sub_account_auth_api = v1PrivateGetSubAccountAuthApi = Entry('sub_account/auth/api', ['v1', 'private'], 'GET', {'cost': 40})
48
+ v1_private_get_sub_account_auth_api_user_auth_id = v1PrivateGetSubAccountAuthApiUserAuthId = Entry('sub_account/auth/api/{user_auth_id}', ['v1', 'private'], 'GET', {'cost': 40})
49
+ v1_private_post_balance_coin_withdraw = v1PrivatePostBalanceCoinWithdraw = Entry('balance/coin/withdraw', ['v1', 'private'], 'POST', {'cost': 40})
50
+ v1_private_post_contract_balance_transfer = v1PrivatePostContractBalanceTransfer = Entry('contract/balance/transfer', ['v1', 'private'], 'POST', {'cost': 40})
51
+ v1_private_post_margin_flat = v1PrivatePostMarginFlat = Entry('margin/flat', ['v1', 'private'], 'POST', {'cost': 40})
52
+ v1_private_post_margin_loan = v1PrivatePostMarginLoan = Entry('margin/loan', ['v1', 'private'], 'POST', {'cost': 40})
53
+ v1_private_post_margin_transfer = v1PrivatePostMarginTransfer = Entry('margin/transfer', ['v1', 'private'], 'POST', {'cost': 40})
54
+ v1_private_post_order_limit_batch = v1PrivatePostOrderLimitBatch = Entry('order/limit/batch', ['v1', 'private'], 'POST', {'cost': 40})
55
+ v1_private_post_order_ioc = v1PrivatePostOrderIoc = Entry('order/ioc', ['v1', 'private'], 'POST', {'cost': 13.334})
56
+ v1_private_post_order_limit = v1PrivatePostOrderLimit = Entry('order/limit', ['v1', 'private'], 'POST', {'cost': 13.334})
57
+ v1_private_post_order_market = v1PrivatePostOrderMarket = Entry('order/market', ['v1', 'private'], 'POST', {'cost': 13.334})
58
+ v1_private_post_order_modify = v1PrivatePostOrderModify = Entry('order/modify', ['v1', 'private'], 'POST', {'cost': 13.334})
59
+ v1_private_post_order_stop_limit = v1PrivatePostOrderStopLimit = Entry('order/stop/limit', ['v1', 'private'], 'POST', {'cost': 13.334})
60
+ v1_private_post_order_stop_market = v1PrivatePostOrderStopMarket = Entry('order/stop/market', ['v1', 'private'], 'POST', {'cost': 13.334})
61
+ v1_private_post_order_stop_modify = v1PrivatePostOrderStopModify = Entry('order/stop/modify', ['v1', 'private'], 'POST', {'cost': 13.334})
62
+ v1_private_post_sub_account_transfer = v1PrivatePostSubAccountTransfer = Entry('sub_account/transfer', ['v1', 'private'], 'POST', {'cost': 40})
63
+ v1_private_post_sub_account_register = v1PrivatePostSubAccountRegister = Entry('sub_account/register', ['v1', 'private'], 'POST', {'cost': 1})
64
+ v1_private_post_sub_account_unfrozen = v1PrivatePostSubAccountUnfrozen = Entry('sub_account/unfrozen', ['v1', 'private'], 'POST', {'cost': 40})
65
+ v1_private_post_sub_account_frozen = v1PrivatePostSubAccountFrozen = Entry('sub_account/frozen', ['v1', 'private'], 'POST', {'cost': 40})
66
+ v1_private_post_sub_account_auth_api = v1PrivatePostSubAccountAuthApi = Entry('sub_account/auth/api', ['v1', 'private'], 'POST', {'cost': 40})
67
+ v1_private_put_balance_deposit_address_coin_type = v1PrivatePutBalanceDepositAddressCoinType = Entry('balance/deposit/address/{coin_type}', ['v1', 'private'], 'PUT', {'cost': 40})
68
+ v1_private_put_sub_account_unfrozen = v1PrivatePutSubAccountUnfrozen = Entry('sub_account/unfrozen', ['v1', 'private'], 'PUT', {'cost': 40})
69
+ v1_private_put_sub_account_frozen = v1PrivatePutSubAccountFrozen = Entry('sub_account/frozen', ['v1', 'private'], 'PUT', {'cost': 40})
70
+ v1_private_put_sub_account_auth_api_user_auth_id = v1PrivatePutSubAccountAuthApiUserAuthId = Entry('sub_account/auth/api/{user_auth_id}', ['v1', 'private'], 'PUT', {'cost': 40})
71
+ v1_private_put_v1_account_settings = v1PrivatePutV1AccountSettings = Entry('v1/account/settings', ['v1', 'private'], 'PUT', {'cost': 40})
72
+ v1_private_delete_balance_coin_withdraw = v1PrivateDeleteBalanceCoinWithdraw = Entry('balance/coin/withdraw', ['v1', 'private'], 'DELETE', {'cost': 40})
73
+ v1_private_delete_order_pending_batch = v1PrivateDeleteOrderPendingBatch = Entry('order/pending/batch', ['v1', 'private'], 'DELETE', {'cost': 40})
74
+ v1_private_delete_order_pending = v1PrivateDeleteOrderPending = Entry('order/pending', ['v1', 'private'], 'DELETE', {'cost': 13.334})
75
+ v1_private_delete_order_stop_pending = v1PrivateDeleteOrderStopPending = Entry('order/stop/pending', ['v1', 'private'], 'DELETE', {'cost': 40})
76
+ v1_private_delete_order_stop_pending_id = v1PrivateDeleteOrderStopPendingId = Entry('order/stop/pending/{id}', ['v1', 'private'], 'DELETE', {'cost': 13.334})
77
+ v1_private_delete_order_pending_by_client_id = v1PrivateDeleteOrderPendingByClientId = Entry('order/pending/by_client_id', ['v1', 'private'], 'DELETE', {'cost': 40})
78
+ v1_private_delete_order_stop_pending_by_client_id = v1PrivateDeleteOrderStopPendingByClientId = Entry('order/stop/pending/by_client_id', ['v1', 'private'], 'DELETE', {'cost': 40})
79
+ v1_private_delete_sub_account_auth_api_user_auth_id = v1PrivateDeleteSubAccountAuthApiUserAuthId = Entry('sub_account/auth/api/{user_auth_id}', ['v1', 'private'], 'DELETE', {'cost': 40})
80
+ v1_private_delete_sub_account_authorize_id = v1PrivateDeleteSubAccountAuthorizeId = Entry('sub_account/authorize/{id}', ['v1', 'private'], 'DELETE', {'cost': 40})
81
+ v1_perpetualpublic_get_ping = v1PerpetualPublicGetPing = Entry('ping', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
82
+ v1_perpetualpublic_get_time = v1PerpetualPublicGetTime = Entry('time', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
83
+ v1_perpetualpublic_get_market_list = v1PerpetualPublicGetMarketList = Entry('market/list', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
84
+ v1_perpetualpublic_get_market_limit_config = v1PerpetualPublicGetMarketLimitConfig = Entry('market/limit_config', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
85
+ v1_perpetualpublic_get_market_ticker = v1PerpetualPublicGetMarketTicker = Entry('market/ticker', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
86
+ v1_perpetualpublic_get_market_ticker_all = v1PerpetualPublicGetMarketTickerAll = Entry('market/ticker/all', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
87
+ v1_perpetualpublic_get_market_depth = v1PerpetualPublicGetMarketDepth = Entry('market/depth', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
88
+ v1_perpetualpublic_get_market_deals = v1PerpetualPublicGetMarketDeals = Entry('market/deals', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
89
+ v1_perpetualpublic_get_market_funding_history = v1PerpetualPublicGetMarketFundingHistory = Entry('market/funding_history', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
90
+ v1_perpetualpublic_get_market_kline = v1PerpetualPublicGetMarketKline = Entry('market/kline', ['v1', 'perpetualPublic'], 'GET', {'cost': 1})
91
+ v1_perpetualprivate_get_market_user_deals = v1PerpetualPrivateGetMarketUserDeals = Entry('market/user_deals', ['v1', 'perpetualPrivate'], 'GET', {'cost': 1})
92
+ v1_perpetualprivate_get_asset_query = v1PerpetualPrivateGetAssetQuery = Entry('asset/query', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
93
+ v1_perpetualprivate_get_order_pending = v1PerpetualPrivateGetOrderPending = Entry('order/pending', ['v1', 'perpetualPrivate'], 'GET', {'cost': 8})
94
+ v1_perpetualprivate_get_order_finished = v1PerpetualPrivateGetOrderFinished = Entry('order/finished', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
95
+ v1_perpetualprivate_get_order_stop_finished = v1PerpetualPrivateGetOrderStopFinished = Entry('order/stop_finished', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
96
+ v1_perpetualprivate_get_order_stop_pending = v1PerpetualPrivateGetOrderStopPending = Entry('order/stop_pending', ['v1', 'perpetualPrivate'], 'GET', {'cost': 8})
97
+ v1_perpetualprivate_get_order_status = v1PerpetualPrivateGetOrderStatus = Entry('order/status', ['v1', 'perpetualPrivate'], 'GET', {'cost': 8})
98
+ v1_perpetualprivate_get_order_stop_status = v1PerpetualPrivateGetOrderStopStatus = Entry('order/stop_status', ['v1', 'perpetualPrivate'], 'GET', {'cost': 8})
99
+ v1_perpetualprivate_get_position_finished = v1PerpetualPrivateGetPositionFinished = Entry('position/finished', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
100
+ v1_perpetualprivate_get_position_pending = v1PerpetualPrivateGetPositionPending = Entry('position/pending', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
101
+ v1_perpetualprivate_get_position_funding = v1PerpetualPrivateGetPositionFunding = Entry('position/funding', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
102
+ v1_perpetualprivate_get_position_adl_history = v1PerpetualPrivateGetPositionAdlHistory = Entry('position/adl_history', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
103
+ v1_perpetualprivate_get_market_preference = v1PerpetualPrivateGetMarketPreference = Entry('market/preference', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
104
+ v1_perpetualprivate_get_position_margin_history = v1PerpetualPrivateGetPositionMarginHistory = Entry('position/margin_history', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
105
+ v1_perpetualprivate_get_position_settle_history = v1PerpetualPrivateGetPositionSettleHistory = Entry('position/settle_history', ['v1', 'perpetualPrivate'], 'GET', {'cost': 40})
106
+ v1_perpetualprivate_post_market_adjust_leverage = v1PerpetualPrivatePostMarketAdjustLeverage = Entry('market/adjust_leverage', ['v1', 'perpetualPrivate'], 'POST', {'cost': 1})
107
+ v1_perpetualprivate_post_market_position_expect = v1PerpetualPrivatePostMarketPositionExpect = Entry('market/position_expect', ['v1', 'perpetualPrivate'], 'POST', {'cost': 1})
108
+ v1_perpetualprivate_post_order_put_limit = v1PerpetualPrivatePostOrderPutLimit = Entry('order/put_limit', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
109
+ v1_perpetualprivate_post_order_put_market = v1PerpetualPrivatePostOrderPutMarket = Entry('order/put_market', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
110
+ v1_perpetualprivate_post_order_put_stop_limit = v1PerpetualPrivatePostOrderPutStopLimit = Entry('order/put_stop_limit', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
111
+ v1_perpetualprivate_post_order_put_stop_market = v1PerpetualPrivatePostOrderPutStopMarket = Entry('order/put_stop_market', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
112
+ v1_perpetualprivate_post_order_modify = v1PerpetualPrivatePostOrderModify = Entry('order/modify', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
113
+ v1_perpetualprivate_post_order_modify_stop = v1PerpetualPrivatePostOrderModifyStop = Entry('order/modify_stop', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
114
+ v1_perpetualprivate_post_order_cancel = v1PerpetualPrivatePostOrderCancel = Entry('order/cancel', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
115
+ v1_perpetualprivate_post_order_cancel_all = v1PerpetualPrivatePostOrderCancelAll = Entry('order/cancel_all', ['v1', 'perpetualPrivate'], 'POST', {'cost': 40})
116
+ v1_perpetualprivate_post_order_cancel_batch = v1PerpetualPrivatePostOrderCancelBatch = Entry('order/cancel_batch', ['v1', 'perpetualPrivate'], 'POST', {'cost': 40})
117
+ v1_perpetualprivate_post_order_cancel_stop = v1PerpetualPrivatePostOrderCancelStop = Entry('order/cancel_stop', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
118
+ v1_perpetualprivate_post_order_cancel_stop_all = v1PerpetualPrivatePostOrderCancelStopAll = Entry('order/cancel_stop_all', ['v1', 'perpetualPrivate'], 'POST', {'cost': 40})
119
+ v1_perpetualprivate_post_order_close_limit = v1PerpetualPrivatePostOrderCloseLimit = Entry('order/close_limit', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
120
+ v1_perpetualprivate_post_order_close_market = v1PerpetualPrivatePostOrderCloseMarket = Entry('order/close_market', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
121
+ v1_perpetualprivate_post_position_adjust_margin = v1PerpetualPrivatePostPositionAdjustMargin = Entry('position/adjust_margin', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
122
+ v1_perpetualprivate_post_position_stop_loss = v1PerpetualPrivatePostPositionStopLoss = Entry('position/stop_loss', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
123
+ v1_perpetualprivate_post_position_take_profit = v1PerpetualPrivatePostPositionTakeProfit = Entry('position/take_profit', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
124
+ v1_perpetualprivate_post_position_market_close = v1PerpetualPrivatePostPositionMarketClose = Entry('position/market_close', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
125
+ v1_perpetualprivate_post_order_cancel_by_client_id = v1PerpetualPrivatePostOrderCancelByClientId = Entry('order/cancel/by_client_id', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
126
+ v1_perpetualprivate_post_order_cancel_stop_by_client_id = v1PerpetualPrivatePostOrderCancelStopByClientId = Entry('order/cancel_stop/by_client_id', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
127
+ v1_perpetualprivate_post_market_preference = v1PerpetualPrivatePostMarketPreference = Entry('market/preference', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
128
+ v2_public_get_maintain_info = v2PublicGetMaintainInfo = Entry('maintain-info', ['v2', 'public'], 'GET', {'cost': 1})
129
+ v2_public_get_ping = v2PublicGetPing = Entry('ping', ['v2', 'public'], 'GET', {'cost': 1})
130
+ v2_public_get_time = v2PublicGetTime = Entry('time', ['v2', 'public'], 'GET', {'cost': 1})
131
+ v2_public_get_spot_market = v2PublicGetSpotMarket = Entry('spot/market', ['v2', 'public'], 'GET', {'cost': 1})
132
+ v2_public_get_spot_ticker = v2PublicGetSpotTicker = Entry('spot/ticker', ['v2', 'public'], 'GET', {'cost': 1})
133
+ v2_public_get_spot_depth = v2PublicGetSpotDepth = Entry('spot/depth', ['v2', 'public'], 'GET', {'cost': 1})
134
+ v2_public_get_spot_deals = v2PublicGetSpotDeals = Entry('spot/deals', ['v2', 'public'], 'GET', {'cost': 1})
135
+ v2_public_get_spot_kline = v2PublicGetSpotKline = Entry('spot/kline', ['v2', 'public'], 'GET', {'cost': 1})
136
+ v2_public_get_spot_index = v2PublicGetSpotIndex = Entry('spot/index', ['v2', 'public'], 'GET', {'cost': 1})
137
+ v2_public_get_futures_market = v2PublicGetFuturesMarket = Entry('futures/market', ['v2', 'public'], 'GET', {'cost': 1})
138
+ v2_public_get_futures_ticker = v2PublicGetFuturesTicker = Entry('futures/ticker', ['v2', 'public'], 'GET', {'cost': 1})
139
+ v2_public_get_futures_depth = v2PublicGetFuturesDepth = Entry('futures/depth', ['v2', 'public'], 'GET', {'cost': 1})
140
+ v2_public_get_futures_deals = v2PublicGetFuturesDeals = Entry('futures/deals', ['v2', 'public'], 'GET', {'cost': 1})
141
+ v2_public_get_futures_kline = v2PublicGetFuturesKline = Entry('futures/kline', ['v2', 'public'], 'GET', {'cost': 1})
142
+ v2_public_get_futures_index = v2PublicGetFuturesIndex = Entry('futures/index', ['v2', 'public'], 'GET', {'cost': 1})
143
+ v2_public_get_futures_funding_rate = v2PublicGetFuturesFundingRate = Entry('futures/funding-rate', ['v2', 'public'], 'GET', {'cost': 1})
144
+ v2_public_get_futures_funding_rate_history = v2PublicGetFuturesFundingRateHistory = Entry('futures/funding-rate-history', ['v2', 'public'], 'GET', {'cost': 1})
145
+ v2_public_get_futures_position_level = v2PublicGetFuturesPositionLevel = Entry('futures/position-level', ['v2', 'public'], 'GET', {'cost': 1})
146
+ v2_public_get_futures_liquidation_history = v2PublicGetFuturesLiquidationHistory = Entry('futures/liquidation-history', ['v2', 'public'], 'GET', {'cost': 1})
147
+ v2_public_get_futures_basis_history = v2PublicGetFuturesBasisHistory = Entry('futures/basis-history', ['v2', 'public'], 'GET', {'cost': 1})
148
+ v2_private_get_account_subs = v2PrivateGetAccountSubs = Entry('account/subs', ['v2', 'private'], 'GET', {'cost': 1})
149
+ v2_private_get_account_subs_api_detail = v2PrivateGetAccountSubsApiDetail = Entry('account/subs/api-detail', ['v2', 'private'], 'GET', {'cost': 40})
150
+ v2_private_get_account_subs_info = v2PrivateGetAccountSubsInfo = Entry('account/subs/info', ['v2', 'private'], 'GET', {'cost': 1})
151
+ v2_private_get_account_subs_api = v2PrivateGetAccountSubsApi = Entry('account/subs/api', ['v2', 'private'], 'GET', {'cost': 40})
152
+ v2_private_get_account_subs_transfer_history = v2PrivateGetAccountSubsTransferHistory = Entry('account/subs/transfer-history', ['v2', 'private'], 'GET', {'cost': 40})
153
+ v2_private_get_account_subs_spot_balance = v2PrivateGetAccountSubsSpotBalance = Entry('account/subs/spot-balance', ['v2', 'private'], 'GET', {'cost': 1})
154
+ v2_private_get_account_trade_fee_rate = v2PrivateGetAccountTradeFeeRate = Entry('account/trade-fee-rate', ['v2', 'private'], 'GET', {'cost': 40})
155
+ v2_private_get_assets_spot_balance = v2PrivateGetAssetsSpotBalance = Entry('assets/spot/balance', ['v2', 'private'], 'GET', {'cost': 40})
156
+ v2_private_get_assets_futures_balance = v2PrivateGetAssetsFuturesBalance = Entry('assets/futures/balance', ['v2', 'private'], 'GET', {'cost': 40})
157
+ v2_private_get_assets_margin_balance = v2PrivateGetAssetsMarginBalance = Entry('assets/margin/balance', ['v2', 'private'], 'GET', {'cost': 1})
158
+ v2_private_get_assets_financial_balance = v2PrivateGetAssetsFinancialBalance = Entry('assets/financial/balance', ['v2', 'private'], 'GET', {'cost': 40})
159
+ v2_private_get_assets_amm_liquidity = v2PrivateGetAssetsAmmLiquidity = Entry('assets/amm/liquidity', ['v2', 'private'], 'GET', {'cost': 40})
160
+ v2_private_get_assets_credit_info = v2PrivateGetAssetsCreditInfo = Entry('assets/credit/info', ['v2', 'private'], 'GET', {'cost': 40})
161
+ v2_private_get_assets_margin_borrow_history = v2PrivateGetAssetsMarginBorrowHistory = Entry('assets/margin/borrow-history', ['v2', 'private'], 'GET', {'cost': 40})
162
+ v2_private_get_assets_margin_interest_limit = v2PrivateGetAssetsMarginInterestLimit = Entry('assets/margin/interest-limit', ['v2', 'private'], 'GET', {'cost': 1})
163
+ v2_private_get_assets_deposit_address = v2PrivateGetAssetsDepositAddress = Entry('assets/deposit-address', ['v2', 'private'], 'GET', {'cost': 40})
164
+ v2_private_get_assets_deposit_history = v2PrivateGetAssetsDepositHistory = Entry('assets/deposit-history', ['v2', 'private'], 'GET', {'cost': 40})
165
+ v2_private_get_assets_withdraw = v2PrivateGetAssetsWithdraw = Entry('assets/withdraw', ['v2', 'private'], 'GET', {'cost': 40})
166
+ v2_private_get_assets_deposit_withdraw_config = v2PrivateGetAssetsDepositWithdrawConfig = Entry('assets/deposit-withdraw-config', ['v2', 'private'], 'GET', {'cost': 1})
167
+ v2_private_get_assets_transfer_history = v2PrivateGetAssetsTransferHistory = Entry('assets/transfer-history', ['v2', 'private'], 'GET', {'cost': 40})
168
+ v2_private_get_spot_order_status = v2PrivateGetSpotOrderStatus = Entry('spot/order-status', ['v2', 'private'], 'GET', {'cost': 8})
169
+ v2_private_get_spot_batch_order_status = v2PrivateGetSpotBatchOrderStatus = Entry('spot/batch-order-status', ['v2', 'private'], 'GET', {'cost': 8})
170
+ v2_private_get_spot_pending_order = v2PrivateGetSpotPendingOrder = Entry('spot/pending-order', ['v2', 'private'], 'GET', {'cost': 8})
171
+ v2_private_get_spot_finished_order = v2PrivateGetSpotFinishedOrder = Entry('spot/finished-order', ['v2', 'private'], 'GET', {'cost': 40})
172
+ v2_private_get_spot_pending_stop_order = v2PrivateGetSpotPendingStopOrder = Entry('spot/pending-stop-order', ['v2', 'private'], 'GET', {'cost': 8})
173
+ v2_private_get_spot_finished_stop_order = v2PrivateGetSpotFinishedStopOrder = Entry('spot/finished-stop-order', ['v2', 'private'], 'GET', {'cost': 40})
174
+ v2_private_get_spot_user_deals = v2PrivateGetSpotUserDeals = Entry('spot/user-deals', ['v2', 'private'], 'GET', {'cost': 40})
175
+ v2_private_get_spot_order_deals = v2PrivateGetSpotOrderDeals = Entry('spot/order-deals', ['v2', 'private'], 'GET', {'cost': 40})
176
+ v2_private_get_futures_order_status = v2PrivateGetFuturesOrderStatus = Entry('futures/order-status', ['v2', 'private'], 'GET', {'cost': 8})
177
+ v2_private_get_futures_batch_order_status = v2PrivateGetFuturesBatchOrderStatus = Entry('futures/batch-order-status', ['v2', 'private'], 'GET', {'cost': 1})
178
+ v2_private_get_futures_pending_order = v2PrivateGetFuturesPendingOrder = Entry('futures/pending-order', ['v2', 'private'], 'GET', {'cost': 8})
179
+ v2_private_get_futures_finished_order = v2PrivateGetFuturesFinishedOrder = Entry('futures/finished-order', ['v2', 'private'], 'GET', {'cost': 40})
180
+ v2_private_get_futures_pending_stop_order = v2PrivateGetFuturesPendingStopOrder = Entry('futures/pending-stop-order', ['v2', 'private'], 'GET', {'cost': 8})
181
+ v2_private_get_futures_finished_stop_order = v2PrivateGetFuturesFinishedStopOrder = Entry('futures/finished-stop-order', ['v2', 'private'], 'GET', {'cost': 40})
182
+ v2_private_get_futures_user_deals = v2PrivateGetFuturesUserDeals = Entry('futures/user-deals', ['v2', 'private'], 'GET', {'cost': 1})
183
+ v2_private_get_futures_order_deals = v2PrivateGetFuturesOrderDeals = Entry('futures/order-deals', ['v2', 'private'], 'GET', {'cost': 1})
184
+ v2_private_get_futures_pending_position = v2PrivateGetFuturesPendingPosition = Entry('futures/pending-position', ['v2', 'private'], 'GET', {'cost': 40})
185
+ v2_private_get_futures_finished_position = v2PrivateGetFuturesFinishedPosition = Entry('futures/finished-position', ['v2', 'private'], 'GET', {'cost': 1})
186
+ v2_private_get_futures_position_margin_history = v2PrivateGetFuturesPositionMarginHistory = Entry('futures/position-margin-history', ['v2', 'private'], 'GET', {'cost': 1})
187
+ v2_private_get_futures_position_funding_history = v2PrivateGetFuturesPositionFundingHistory = Entry('futures/position-funding-history', ['v2', 'private'], 'GET', {'cost': 40})
188
+ v2_private_get_futures_position_adl_history = v2PrivateGetFuturesPositionAdlHistory = Entry('futures/position-adl-history', ['v2', 'private'], 'GET', {'cost': 1})
189
+ v2_private_get_futures_position_settle_history = v2PrivateGetFuturesPositionSettleHistory = Entry('futures/position-settle-history', ['v2', 'private'], 'GET', {'cost': 1})
190
+ v2_private_post_account_subs = v2PrivatePostAccountSubs = Entry('account/subs', ['v2', 'private'], 'POST', {'cost': 40})
191
+ v2_private_post_account_subs_frozen = v2PrivatePostAccountSubsFrozen = Entry('account/subs/frozen', ['v2', 'private'], 'POST', {'cost': 40})
192
+ v2_private_post_account_subs_unfrozen = v2PrivatePostAccountSubsUnfrozen = Entry('account/subs/unfrozen', ['v2', 'private'], 'POST', {'cost': 40})
193
+ v2_private_post_account_subs_api = v2PrivatePostAccountSubsApi = Entry('account/subs/api', ['v2', 'private'], 'POST', {'cost': 40})
194
+ v2_private_post_account_subs_edit_api = v2PrivatePostAccountSubsEditApi = Entry('account/subs/edit-api', ['v2', 'private'], 'POST', {'cost': 40})
195
+ v2_private_post_account_subs_delete_api = v2PrivatePostAccountSubsDeleteApi = Entry('account/subs/delete-api', ['v2', 'private'], 'POST', {'cost': 40})
196
+ v2_private_post_account_subs_transfer = v2PrivatePostAccountSubsTransfer = Entry('account/subs/transfer', ['v2', 'private'], 'POST', {'cost': 40})
197
+ v2_private_post_account_settings = v2PrivatePostAccountSettings = Entry('account/settings', ['v2', 'private'], 'POST', {'cost': 40})
198
+ v2_private_post_assets_margin_borrow = v2PrivatePostAssetsMarginBorrow = Entry('assets/margin/borrow', ['v2', 'private'], 'POST', {'cost': 40})
199
+ v2_private_post_assets_margin_repay = v2PrivatePostAssetsMarginRepay = Entry('assets/margin/repay', ['v2', 'private'], 'POST', {'cost': 40})
200
+ v2_private_post_assets_renewal_deposit_address = v2PrivatePostAssetsRenewalDepositAddress = Entry('assets/renewal-deposit-address', ['v2', 'private'], 'POST', {'cost': 40})
201
+ v2_private_post_assets_withdraw = v2PrivatePostAssetsWithdraw = Entry('assets/withdraw', ['v2', 'private'], 'POST', {'cost': 40})
202
+ v2_private_post_assets_cancel_withdraw = v2PrivatePostAssetsCancelWithdraw = Entry('assets/cancel-withdraw', ['v2', 'private'], 'POST', {'cost': 40})
203
+ v2_private_post_assets_transfer = v2PrivatePostAssetsTransfer = Entry('assets/transfer', ['v2', 'private'], 'POST', {'cost': 40})
204
+ v2_private_post_assets_amm_add_liquidity = v2PrivatePostAssetsAmmAddLiquidity = Entry('assets/amm/add-liquidity', ['v2', 'private'], 'POST', {'cost': 1})
205
+ v2_private_post_assets_amm_remove_liquidity = v2PrivatePostAssetsAmmRemoveLiquidity = Entry('assets/amm/remove-liquidity', ['v2', 'private'], 'POST', {'cost': 1})
206
+ v2_private_post_spot_order = v2PrivatePostSpotOrder = Entry('spot/order', ['v2', 'private'], 'POST', {'cost': 13.334})
207
+ v2_private_post_spot_stop_order = v2PrivatePostSpotStopOrder = Entry('spot/stop-order', ['v2', 'private'], 'POST', {'cost': 13.334})
208
+ v2_private_post_spot_batch_order = v2PrivatePostSpotBatchOrder = Entry('spot/batch-order', ['v2', 'private'], 'POST', {'cost': 40})
209
+ v2_private_post_spot_batch_stop_order = v2PrivatePostSpotBatchStopOrder = Entry('spot/batch-stop-order', ['v2', 'private'], 'POST', {'cost': 1})
210
+ v2_private_post_spot_modify_order = v2PrivatePostSpotModifyOrder = Entry('spot/modify-order', ['v2', 'private'], 'POST', {'cost': 13.334})
211
+ v2_private_post_spot_modify_stop_order = v2PrivatePostSpotModifyStopOrder = Entry('spot/modify-stop-order', ['v2', 'private'], 'POST', {'cost': 13.334})
212
+ v2_private_post_spot_cancel_all_order = v2PrivatePostSpotCancelAllOrder = Entry('spot/cancel-all-order', ['v2', 'private'], 'POST', {'cost': 1})
213
+ v2_private_post_spot_cancel_order = v2PrivatePostSpotCancelOrder = Entry('spot/cancel-order', ['v2', 'private'], 'POST', {'cost': 6.667})
214
+ v2_private_post_spot_cancel_stop_order = v2PrivatePostSpotCancelStopOrder = Entry('spot/cancel-stop-order', ['v2', 'private'], 'POST', {'cost': 6.667})
215
+ v2_private_post_spot_cancel_batch_order = v2PrivatePostSpotCancelBatchOrder = Entry('spot/cancel-batch-order', ['v2', 'private'], 'POST', {'cost': 10})
216
+ v2_private_post_spot_cancel_batch_stop_order = v2PrivatePostSpotCancelBatchStopOrder = Entry('spot/cancel-batch-stop-order', ['v2', 'private'], 'POST', {'cost': 10})
217
+ v2_private_post_spot_cancel_order_by_client_id = v2PrivatePostSpotCancelOrderByClientId = Entry('spot/cancel-order-by-client-id', ['v2', 'private'], 'POST', {'cost': 1})
218
+ v2_private_post_spot_cancel_stop_order_by_client_id = v2PrivatePostSpotCancelStopOrderByClientId = Entry('spot/cancel-stop-order-by-client-id', ['v2', 'private'], 'POST', {'cost': 1})
219
+ v2_private_post_futures_order = v2PrivatePostFuturesOrder = Entry('futures/order', ['v2', 'private'], 'POST', {'cost': 20})
220
+ v2_private_post_futures_stop_order = v2PrivatePostFuturesStopOrder = Entry('futures/stop-order', ['v2', 'private'], 'POST', {'cost': 20})
221
+ v2_private_post_futures_batch_order = v2PrivatePostFuturesBatchOrder = Entry('futures/batch-order', ['v2', 'private'], 'POST', {'cost': 1})
222
+ v2_private_post_futures_batch_stop_order = v2PrivatePostFuturesBatchStopOrder = Entry('futures/batch-stop-order', ['v2', 'private'], 'POST', {'cost': 1})
223
+ v2_private_post_futures_modify_order = v2PrivatePostFuturesModifyOrder = Entry('futures/modify-order', ['v2', 'private'], 'POST', {'cost': 20})
224
+ v2_private_post_futures_modify_stop_order = v2PrivatePostFuturesModifyStopOrder = Entry('futures/modify-stop-order', ['v2', 'private'], 'POST', {'cost': 20})
225
+ v2_private_post_futures_cancel_all_order = v2PrivatePostFuturesCancelAllOrder = Entry('futures/cancel-all-order', ['v2', 'private'], 'POST', {'cost': 1})
226
+ v2_private_post_futures_cancel_order = v2PrivatePostFuturesCancelOrder = Entry('futures/cancel-order', ['v2', 'private'], 'POST', {'cost': 10})
227
+ v2_private_post_futures_cancel_stop_order = v2PrivatePostFuturesCancelStopOrder = Entry('futures/cancel-stop-order', ['v2', 'private'], 'POST', {'cost': 10})
228
+ v2_private_post_futures_cancel_batch_order = v2PrivatePostFuturesCancelBatchOrder = Entry('futures/cancel-batch-order', ['v2', 'private'], 'POST', {'cost': 20})
229
+ v2_private_post_futures_cancel_batch_stop_order = v2PrivatePostFuturesCancelBatchStopOrder = Entry('futures/cancel-batch-stop-order', ['v2', 'private'], 'POST', {'cost': 20})
230
+ v2_private_post_futures_cancel_order_by_client_id = v2PrivatePostFuturesCancelOrderByClientId = Entry('futures/cancel-order-by-client-id', ['v2', 'private'], 'POST', {'cost': 1})
231
+ v2_private_post_futures_cancel_stop_order_by_client_id = v2PrivatePostFuturesCancelStopOrderByClientId = Entry('futures/cancel-stop-order-by-client-id', ['v2', 'private'], 'POST', {'cost': 1})
232
+ v2_private_post_futures_close_position = v2PrivatePostFuturesClosePosition = Entry('futures/close-position', ['v2', 'private'], 'POST', {'cost': 20})
233
+ v2_private_post_futures_adjust_position_margin = v2PrivatePostFuturesAdjustPositionMargin = Entry('futures/adjust-position-margin', ['v2', 'private'], 'POST', {'cost': 20})
234
+ v2_private_post_futures_adjust_position_leverage = v2PrivatePostFuturesAdjustPositionLeverage = Entry('futures/adjust-position-leverage', ['v2', 'private'], 'POST', {'cost': 20})
235
+ v2_private_post_futures_set_position_stop_loss = v2PrivatePostFuturesSetPositionStopLoss = Entry('futures/set-position-stop-loss', ['v2', 'private'], 'POST', {'cost': 20})
236
+ v2_private_post_futures_set_position_take_profit = v2PrivatePostFuturesSetPositionTakeProfit = Entry('futures/set-position-take-profit', ['v2', 'private'], 'POST', {'cost': 20})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.2.85'
7
+ __version__ = '4.2.86'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.2.85'
5
+ __version__ = '4.2.86'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -631,7 +631,7 @@ class bingx(Exchange, ImplicitAPI):
631
631
  if settle is not None:
632
632
  symbol += ':' + settle
633
633
  fees = self.safe_dict(self.fees, type, {})
634
- contractSize = self.safe_number(market, 'size')
634
+ contractSize = self.parse_number('1') if (swap) else None
635
635
  isActive = self.safe_string(market, 'status') == '1'
636
636
  isInverse = None if (spot) else False
637
637
  isLinear = None if (spot) else swap
@@ -672,7 +672,7 @@ class bingx(Exchange, ImplicitAPI):
672
672
  'max': self.safe_integer(market, 'maxLongLeverage'),
673
673
  },
674
674
  'amount': {
675
- 'min': self.safe_number(market, 'minQty'),
675
+ 'min': self.safe_number_2(market, 'minQty', 'tradeMinQuantity'),
676
676
  'max': self.safe_number(market, 'maxQty'),
677
677
  },
678
678
  'price': {
@@ -680,7 +680,7 @@ class bingx(Exchange, ImplicitAPI):
680
680
  'max': None,
681
681
  },
682
682
  'cost': {
683
- 'min': self.safe_number(market, 'minNotional'),
683
+ 'min': self.safe_number_2(market, 'minNotional', 'tradeMinUSDT'),
684
684
  'max': self.safe_number(market, 'maxNotional'),
685
685
  },
686
686
  },
@@ -1010,6 +1010,12 @@ class bingx(Exchange, ImplicitAPI):
1010
1010
  isMaker = self.safe_bool(trade, 'isMaker')
1011
1011
  if isMaker is not None:
1012
1012
  takeOrMaker = 'maker' if isMaker else 'taker'
1013
+ amount = self.safe_string_n(trade, ['qty', 'amount', 'q'])
1014
+ if (market is not None) and market['swap'] and ('volume' in trade):
1015
+ # private trade returns num of contracts instead of base currency(as the order-related methods do)
1016
+ contractSize = self.safe_string(market['info'], 'tradeMinQuantity')
1017
+ volume = self.safe_string(trade, 'volume')
1018
+ amount = Precise.string_mul(volume, contractSize)
1013
1019
  return self.safe_trade({
1014
1020
  'id': self.safe_string_n(trade, ['id', 't']),
1015
1021
  'info': trade,
@@ -1021,7 +1027,7 @@ class bingx(Exchange, ImplicitAPI):
1021
1027
  'side': self.parse_order_side(side),
1022
1028
  'takerOrMaker': takeOrMaker,
1023
1029
  'price': self.safe_string_2(trade, 'price', 'p'),
1024
- 'amount': self.safe_string_n(trade, ['qty', 'volume', 'amount', 'q']),
1030
+ 'amount': amount,
1025
1031
  'cost': cost,
1026
1032
  'fee': {
1027
1033
  'cost': self.parse_number(Precise.string_abs(self.safe_string_2(trade, 'commission', 'n'))),
@@ -1608,19 +1614,27 @@ class bingx(Exchange, ImplicitAPI):
1608
1614
 
1609
1615
  def parse_position(self, position, market: Market = None):
1610
1616
  #
1611
- # {
1612
- # "symbol": "BTC-USDT",
1613
- # "positionId": "12345678",
1614
- # "positionSide": "LONG",
1615
- # "isolated": True,
1616
- # "positionAmt": "123.33",
1617
- # "availableAmt": "128.99",
1618
- # "unrealizedProfit": "1.22",
1619
- # "realisedProfit": "8.1",
1620
- # "initialMargin": "123.33",
1621
- # "avgPrice": "2.2",
1622
- # "leverage": 10,
1623
- # }
1617
+ # {
1618
+ # "positionId":"1773122376147623936",
1619
+ # "symbol":"XRP-USDT",
1620
+ # "currency":"USDT",
1621
+ # "positionAmt":"3",
1622
+ # "availableAmt":"3",
1623
+ # "positionSide":"LONG",
1624
+ # "isolated":false,
1625
+ # "avgPrice":"0.6139",
1626
+ # "initialMargin":"0.0897",
1627
+ # "leverage":20,
1628
+ # "unrealizedProfit":"-0.0023",
1629
+ # "realisedProfit":"-0.0009",
1630
+ # "liquidationPrice":0,
1631
+ # "pnlRatio":"-0.0260",
1632
+ # "maxMarginReduction":"",
1633
+ # "riskRate":"",
1634
+ # "markPrice":"",
1635
+ # "positionValue":"",
1636
+ # "onlyOnePosition":false
1637
+ # }
1624
1638
  #
1625
1639
  # standard position
1626
1640
  #
@@ -1646,7 +1660,7 @@ class bingx(Exchange, ImplicitAPI):
1646
1660
  'info': position,
1647
1661
  'id': self.safe_string(position, 'positionId'),
1648
1662
  'symbol': self.safe_symbol(marketId, market, '-', 'swap'),
1649
- 'notional': self.safe_number(position, 'positionAmt'),
1663
+ 'notional': self.safe_number(position, 'positionValue'),
1650
1664
  'marginMode': marginMode,
1651
1665
  'liquidationPrice': None,
1652
1666
  'entryPrice': self.safe_number_2(position, 'avgPrice', 'entryPrice'),
@@ -1664,7 +1678,7 @@ class bingx(Exchange, ImplicitAPI):
1664
1678
  'lastUpdateTimestamp': None,
1665
1679
  'maintenanceMargin': None,
1666
1680
  'maintenanceMarginPercentage': None,
1667
- 'collateral': self.safe_number(position, 'positionAmt'),
1681
+ 'collateral': None,
1668
1682
  'initialMargin': self.safe_number(position, 'initialMargin'),
1669
1683
  'initialMarginPercentage': None,
1670
1684
  'leverage': self.safe_number(position, 'leverage'),
@@ -146,21 +146,23 @@ class bitbank(Exchange, ImplicitAPI):
146
146
  },
147
147
  'precisionMode': TICK_SIZE,
148
148
  'exceptions': {
149
- '20001': AuthenticationError,
150
- '20002': AuthenticationError,
151
- '20003': AuthenticationError,
152
- '20005': AuthenticationError,
153
- '20004': InvalidNonce,
154
- '40020': InvalidOrder,
155
- '40021': InvalidOrder,
156
- '40025': ExchangeError,
157
- '40013': OrderNotFound,
158
- '40014': OrderNotFound,
159
- '50008': PermissionDenied,
160
- '50009': OrderNotFound,
161
- '50010': OrderNotFound,
162
- '60001': InsufficientFunds,
163
- '60005': InvalidOrder,
149
+ 'exact': {
150
+ '20001': AuthenticationError,
151
+ '20002': AuthenticationError,
152
+ '20003': AuthenticationError,
153
+ '20005': AuthenticationError,
154
+ '20004': InvalidNonce,
155
+ '40020': InvalidOrder,
156
+ '40021': InvalidOrder,
157
+ '40025': ExchangeError,
158
+ '40013': OrderNotFound,
159
+ '40014': OrderNotFound,
160
+ '50008': PermissionDenied,
161
+ '50009': OrderNotFound,
162
+ '50010': OrderNotFound,
163
+ '60001': InsufficientFunds,
164
+ '60005': InvalidOrder,
165
+ },
164
166
  },
165
167
  })
166
168
 
@@ -944,12 +946,8 @@ class bitbank(Exchange, ImplicitAPI):
944
946
  '70009': 'We are currently temporarily restricting orders to be carried out. Please use the limit order.',
945
947
  '70010': 'We are temporarily raising the minimum order quantity system load is now rising.',
946
948
  }
947
- errorClasses = self.exceptions
948
949
  code = self.safe_string(data, 'code')
949
950
  message = self.safe_string(errorMessages, code, 'Error')
950
- ErrorClass = self.safe_value(errorClasses, code)
951
- if ErrorClass is not None:
952
- raise errorClasses[code](message)
953
- else:
954
- raise ExchangeError(self.id + ' ' + self.json(response))
951
+ self.throw_exactly_matched_exception(self.exceptions['exact'], code, message)
952
+ raise ExchangeError(self.id + ' ' + self.json(response))
955
953
  return None