ccxt 4.2.85__tar.gz → 4.2.87__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (544) hide show
  1. {ccxt-4.2.85/ccxt.egg-info → ccxt-4.2.87}/PKG-INFO +6 -6
  2. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/__init__.py +1 -1
  3. ccxt-4.2.87/ccxt/abstract/coinex.py +236 -0
  4. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/ascendex.py +16 -6
  5. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/__init__.py +1 -1
  6. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/ascendex.py +16 -6
  7. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/base/exchange.py +1 -1
  8. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/binance.py +18 -5
  9. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bingx.py +72 -22
  10. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bitbank.py +19 -21
  11. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bitfinex.py +2 -0
  12. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bitfinex2.py +18 -4
  13. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bitflyer.py +18 -0
  14. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bitget.py +20 -6
  15. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bitopro.py +2 -0
  16. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bitrue.py +16 -8
  17. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bitvavo.py +2 -0
  18. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/btcmarkets.py +1 -1
  19. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/btcturk.py +2 -1
  20. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/coinex.py +572 -306
  21. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/currencycom.py +1 -1
  22. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/delta.py +8 -6
  23. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/digifinex.py +9 -7
  24. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/exmo.py +15 -15
  25. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/gate.py +9 -6
  26. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/hitbtc.py +31 -7
  27. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/htx.py +2 -2
  28. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/huobijp.py +1 -1
  29. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/hyperliquid.py +242 -16
  30. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/idex.py +11 -11
  31. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/krakenfutures.py +2 -4
  32. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/kucoinfutures.py +2 -2
  33. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/lbank.py +2 -0
  34. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/mexc.py +3 -3
  35. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/oceanex.py +1 -1
  36. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/okcoin.py +2 -1
  37. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/okx.py +29 -15
  38. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/phemex.py +6 -4
  39. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/wazirx.py +1 -1
  40. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/zonda.py +2 -0
  41. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/base/exchange.py +1 -1
  42. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/base/types.py +12 -0
  43. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/binance.py +18 -5
  44. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bingx.py +72 -22
  45. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bitbank.py +19 -21
  46. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bitfinex.py +2 -0
  47. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bitfinex2.py +18 -4
  48. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bitflyer.py +18 -0
  49. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bitget.py +20 -6
  50. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bitopro.py +2 -0
  51. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bitrue.py +16 -8
  52. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bitvavo.py +2 -0
  53. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/btcmarkets.py +1 -1
  54. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/btcturk.py +2 -1
  55. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/coinex.py +572 -306
  56. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/currencycom.py +1 -1
  57. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/delta.py +8 -6
  58. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/digifinex.py +9 -7
  59. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/exmo.py +15 -15
  60. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/gate.py +9 -6
  61. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/hitbtc.py +31 -7
  62. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/htx.py +2 -2
  63. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/huobijp.py +1 -1
  64. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/hyperliquid.py +241 -16
  65. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/idex.py +11 -11
  66. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/krakenfutures.py +2 -4
  67. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/kucoinfutures.py +2 -2
  68. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/lbank.py +2 -0
  69. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/mexc.py +3 -3
  70. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/oceanex.py +1 -1
  71. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/okcoin.py +2 -1
  72. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/okx.py +29 -15
  73. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/phemex.py +6 -4
  74. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/__init__.py +1 -1
  75. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/bitget.py +1 -0
  76. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/kucoin.py +10 -6
  77. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_last_price.py +0 -1
  78. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_shared_methods.py +1 -2
  79. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_status.py +1 -1
  80. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/wazirx.py +1 -1
  81. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/zonda.py +2 -0
  82. {ccxt-4.2.85 → ccxt-4.2.87/ccxt.egg-info}/PKG-INFO +6 -6
  83. {ccxt-4.2.85 → ccxt-4.2.87}/package.json +3 -2
  84. ccxt-4.2.85/ccxt/abstract/coinex.py +0 -127
  85. {ccxt-4.2.85 → ccxt-4.2.87}/LICENSE.txt +0 -0
  86. {ccxt-4.2.85 → ccxt-4.2.87}/MANIFEST.in +0 -0
  87. {ccxt-4.2.85 → ccxt-4.2.87}/README.rst +0 -0
  88. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/__init__.py +0 -0
  89. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/ace.py +0 -0
  90. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/alpaca.py +0 -0
  91. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/ascendex.py +0 -0
  92. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bequant.py +0 -0
  93. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bigone.py +0 -0
  94. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/binance.py +0 -0
  95. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/binancecoinm.py +0 -0
  96. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/binanceus.py +0 -0
  97. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/binanceusdm.py +0 -0
  98. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bingx.py +0 -0
  99. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bit2c.py +0 -0
  100. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bitbank.py +0 -0
  101. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bitbay.py +0 -0
  102. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bitbns.py +0 -0
  103. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bitcoincom.py +0 -0
  104. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bitfinex.py +0 -0
  105. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bitfinex2.py +0 -0
  106. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bitflyer.py +0 -0
  107. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bitget.py +0 -0
  108. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bithumb.py +0 -0
  109. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bitmart.py +0 -0
  110. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bitmex.py +0 -0
  111. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bitopro.py +0 -0
  112. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bitpanda.py +0 -0
  113. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bitrue.py +0 -0
  114. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bitso.py +0 -0
  115. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bitstamp.py +0 -0
  116. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bitteam.py +0 -0
  117. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bitvavo.py +0 -0
  118. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bl3p.py +0 -0
  119. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/blockchaincom.py +0 -0
  120. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/blofin.py +0 -0
  121. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/btcalpha.py +0 -0
  122. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/btcbox.py +0 -0
  123. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/btcmarkets.py +0 -0
  124. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/btcturk.py +0 -0
  125. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/bybit.py +0 -0
  126. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/cex.py +0 -0
  127. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/coinbase.py +0 -0
  128. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/coinbaseinternational.py +0 -0
  129. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/coinbasepro.py +0 -0
  130. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/coincheck.py +0 -0
  131. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/coinlist.py +0 -0
  132. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/coinmate.py +0 -0
  133. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/coinmetro.py +0 -0
  134. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/coinone.py +0 -0
  135. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/coinsph.py +0 -0
  136. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/coinspot.py +0 -0
  137. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/cryptocom.py +0 -0
  138. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/currencycom.py +0 -0
  139. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/delta.py +0 -0
  140. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/deribit.py +0 -0
  141. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/digifinex.py +0 -0
  142. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/exmo.py +0 -0
  143. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/fmfwio.py +0 -0
  144. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/gate.py +0 -0
  145. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/gateio.py +0 -0
  146. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/gemini.py +0 -0
  147. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/hitbtc.py +0 -0
  148. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/hitbtc3.py +0 -0
  149. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/hollaex.py +0 -0
  150. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/htx.py +0 -0
  151. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/huobi.py +0 -0
  152. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/huobijp.py +0 -0
  153. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/hyperliquid.py +0 -0
  154. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/idex.py +0 -0
  155. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/independentreserve.py +0 -0
  156. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/indodax.py +0 -0
  157. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/kraken.py +0 -0
  158. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/krakenfutures.py +0 -0
  159. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/kucoin.py +0 -0
  160. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/kucoinfutures.py +0 -0
  161. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/kuna.py +0 -0
  162. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/latoken.py +0 -0
  163. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/lbank.py +0 -0
  164. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/luno.py +0 -0
  165. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/lykke.py +0 -0
  166. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/mercado.py +0 -0
  167. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/mexc.py +0 -0
  168. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/ndax.py +0 -0
  169. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/novadax.py +0 -0
  170. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/oceanex.py +0 -0
  171. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/okcoin.py +0 -0
  172. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/okx.py +0 -0
  173. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/onetrading.py +0 -0
  174. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/p2b.py +0 -0
  175. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/paymium.py +0 -0
  176. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/phemex.py +0 -0
  177. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/poloniex.py +0 -0
  178. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/poloniexfutures.py +0 -0
  179. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/probit.py +0 -0
  180. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/timex.py +0 -0
  181. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/tokocrypto.py +0 -0
  182. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/tradeogre.py +0 -0
  183. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/upbit.py +0 -0
  184. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/wavesexchange.py +0 -0
  185. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/wazirx.py +0 -0
  186. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/whitebit.py +0 -0
  187. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/woo.py +0 -0
  188. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/yobit.py +0 -0
  189. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/zaif.py +0 -0
  190. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/abstract/zonda.py +0 -0
  191. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/ace.py +0 -0
  192. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/alpaca.py +0 -0
  193. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/ace.py +0 -0
  194. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/alpaca.py +0 -0
  195. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/base/__init__.py +0 -0
  196. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/base/throttler.py +0 -0
  197. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/base/ws/__init__.py +0 -0
  198. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  199. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/base/ws/cache.py +0 -0
  200. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/base/ws/client.py +0 -0
  201. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/base/ws/fast_client.py +0 -0
  202. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/base/ws/functions.py +0 -0
  203. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/base/ws/future.py +0 -0
  204. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/base/ws/order_book.py +0 -0
  205. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  206. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bequant.py +0 -0
  207. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bigone.py +0 -0
  208. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/binancecoinm.py +0 -0
  209. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/binanceus.py +0 -0
  210. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/binanceusdm.py +0 -0
  211. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bit2c.py +0 -0
  212. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bitbay.py +0 -0
  213. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bitbns.py +0 -0
  214. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bitcoincom.py +0 -0
  215. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bithumb.py +0 -0
  216. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bitmart.py +0 -0
  217. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bitmex.py +0 -0
  218. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bitpanda.py +0 -0
  219. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bitso.py +0 -0
  220. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bitstamp.py +0 -0
  221. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bitteam.py +0 -0
  222. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bl3p.py +0 -0
  223. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/blockchaincom.py +0 -0
  224. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/blofin.py +0 -0
  225. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/btcalpha.py +0 -0
  226. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/btcbox.py +0 -0
  227. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/bybit.py +0 -0
  228. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/cex.py +0 -0
  229. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/coinbase.py +0 -0
  230. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/coinbaseinternational.py +0 -0
  231. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/coinbasepro.py +0 -0
  232. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/coincheck.py +0 -0
  233. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/coinlist.py +0 -0
  234. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/coinmate.py +0 -0
  235. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/coinmetro.py +0 -0
  236. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/coinone.py +0 -0
  237. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/coinsph.py +0 -0
  238. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/coinspot.py +0 -0
  239. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/cryptocom.py +0 -0
  240. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/deribit.py +0 -0
  241. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/flowbtc.py +0 -0
  242. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/fmfwio.py +0 -0
  243. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/gateio.py +0 -0
  244. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/gemini.py +0 -0
  245. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/hitbtc3.py +0 -0
  246. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/hollaex.py +0 -0
  247. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/huobi.py +0 -0
  248. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/independentreserve.py +0 -0
  249. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/indodax.py +0 -0
  250. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/kraken.py +0 -0
  251. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/kucoin.py +0 -0
  252. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/kuna.py +0 -0
  253. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/latoken.py +0 -0
  254. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/luno.py +0 -0
  255. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/lykke.py +0 -0
  256. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/mercado.py +0 -0
  257. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/ndax.py +0 -0
  258. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/novadax.py +0 -0
  259. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/onetrading.py +0 -0
  260. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/p2b.py +0 -0
  261. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/paymium.py +0 -0
  262. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/poloniex.py +0 -0
  263. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/poloniexfutures.py +0 -0
  264. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/probit.py +0 -0
  265. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/timex.py +0 -0
  266. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/tokocrypto.py +0 -0
  267. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/tradeogre.py +0 -0
  268. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/upbit.py +0 -0
  269. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/wavesexchange.py +0 -0
  270. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/whitebit.py +0 -0
  271. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/woo.py +0 -0
  272. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/yobit.py +0 -0
  273. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/async_support/zaif.py +0 -0
  274. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/base/__init__.py +0 -0
  275. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/base/decimal_to_precision.py +0 -0
  276. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/base/errors.py +0 -0
  277. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/base/precise.py +0 -0
  278. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bequant.py +0 -0
  279. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bigone.py +0 -0
  280. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/binancecoinm.py +0 -0
  281. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/binanceus.py +0 -0
  282. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/binanceusdm.py +0 -0
  283. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bit2c.py +0 -0
  284. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bitbay.py +0 -0
  285. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bitbns.py +0 -0
  286. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bitcoincom.py +0 -0
  287. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bithumb.py +0 -0
  288. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bitmart.py +0 -0
  289. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bitmex.py +0 -0
  290. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bitpanda.py +0 -0
  291. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bitso.py +0 -0
  292. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bitstamp.py +0 -0
  293. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bitteam.py +0 -0
  294. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bl3p.py +0 -0
  295. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/blockchaincom.py +0 -0
  296. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/blofin.py +0 -0
  297. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/btcalpha.py +0 -0
  298. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/btcbox.py +0 -0
  299. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/bybit.py +0 -0
  300. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/cex.py +0 -0
  301. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/coinbase.py +0 -0
  302. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/coinbaseinternational.py +0 -0
  303. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/coinbasepro.py +0 -0
  304. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/coincheck.py +0 -0
  305. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/coinlist.py +0 -0
  306. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/coinmate.py +0 -0
  307. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/coinmetro.py +0 -0
  308. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/coinone.py +0 -0
  309. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/coinsph.py +0 -0
  310. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/coinspot.py +0 -0
  311. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/cryptocom.py +0 -0
  312. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/deribit.py +0 -0
  313. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/flowbtc.py +0 -0
  314. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/fmfwio.py +0 -0
  315. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/gateio.py +0 -0
  316. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/gemini.py +0 -0
  317. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/hitbtc3.py +0 -0
  318. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/hollaex.py +0 -0
  319. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/huobi.py +0 -0
  320. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/independentreserve.py +0 -0
  321. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/indodax.py +0 -0
  322. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/kraken.py +0 -0
  323. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/kucoin.py +0 -0
  324. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/kuna.py +0 -0
  325. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/latoken.py +0 -0
  326. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/luno.py +0 -0
  327. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/lykke.py +0 -0
  328. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/mercado.py +0 -0
  329. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/ndax.py +0 -0
  330. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/novadax.py +0 -0
  331. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/onetrading.py +0 -0
  332. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/p2b.py +0 -0
  333. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/paymium.py +0 -0
  334. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/poloniex.py +0 -0
  335. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/poloniexfutures.py +0 -0
  336. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/alpaca.py +0 -0
  337. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/ascendex.py +0 -0
  338. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/bequant.py +0 -0
  339. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/binance.py +0 -0
  340. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/binancecoinm.py +0 -0
  341. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/binanceus.py +0 -0
  342. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/binanceusdm.py +0 -0
  343. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/bingx.py +0 -0
  344. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/bitcoincom.py +0 -0
  345. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/bitfinex.py +0 -0
  346. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/bitfinex2.py +0 -0
  347. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/bithumb.py +0 -0
  348. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/bitmart.py +0 -0
  349. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/bitmex.py +0 -0
  350. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/bitopro.py +0 -0
  351. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/bitpanda.py +0 -0
  352. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/bitrue.py +0 -0
  353. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/bitstamp.py +0 -0
  354. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/bitvavo.py +0 -0
  355. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/blockchaincom.py +0 -0
  356. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/bybit.py +0 -0
  357. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/cex.py +0 -0
  358. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/coinbase.py +0 -0
  359. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/coinbaseinternational.py +0 -0
  360. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/coinbasepro.py +0 -0
  361. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/coincheck.py +0 -0
  362. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/coinex.py +0 -0
  363. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/coinone.py +0 -0
  364. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/cryptocom.py +0 -0
  365. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/currencycom.py +0 -0
  366. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/deribit.py +0 -0
  367. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/exmo.py +0 -0
  368. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/gate.py +0 -0
  369. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/gateio.py +0 -0
  370. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/gemini.py +0 -0
  371. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/hitbtc.py +0 -0
  372. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/hollaex.py +0 -0
  373. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/htx.py +0 -0
  374. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/huobi.py +0 -0
  375. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/huobijp.py +0 -0
  376. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/hyperliquid.py +0 -0
  377. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/idex.py +0 -0
  378. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/independentreserve.py +0 -0
  379. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/kraken.py +0 -0
  380. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/krakenfutures.py +0 -0
  381. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/kucoinfutures.py +0 -0
  382. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/lbank.py +0 -0
  383. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/luno.py +0 -0
  384. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/mexc.py +0 -0
  385. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/ndax.py +0 -0
  386. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/okcoin.py +0 -0
  387. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/okx.py +0 -0
  388. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/onetrading.py +0 -0
  389. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/p2b.py +0 -0
  390. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/phemex.py +0 -0
  391. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/poloniex.py +0 -0
  392. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/poloniexfutures.py +0 -0
  393. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/probit.py +0 -0
  394. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/upbit.py +0 -0
  395. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/wazirx.py +0 -0
  396. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/whitebit.py +0 -0
  397. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/pro/woo.py +0 -0
  398. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/probit.py +0 -0
  399. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/__init__.py +0 -0
  400. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  401. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  402. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  403. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  404. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  405. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  406. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  407. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  408. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  409. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  410. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  411. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  412. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  413. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  414. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  415. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  416. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  417. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  418. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  419. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  420. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  421. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  422. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  423. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  424. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  425. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  426. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  427. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  428. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  429. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  430. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  431. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  432. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  433. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  434. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  435. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  436. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  437. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  438. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  439. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  440. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  441. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  442. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  443. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  444. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  445. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  446. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  447. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  448. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  449. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  450. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  451. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  452. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  453. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  454. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  455. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  456. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  457. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  458. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  459. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  460. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  461. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  462. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  463. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  464. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  465. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  466. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  467. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  468. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  469. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  470. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  471. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  472. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  473. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  474. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  475. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  476. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  477. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  478. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  479. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  480. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  481. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  482. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  483. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  484. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  485. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  486. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/toolz/_version.py +0 -0
  487. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  488. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  489. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  490. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  491. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  492. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  493. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  494. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  495. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/static_dependencies/toolz/utils.py +0 -0
  496. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/__init__.py +0 -0
  497. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/__init__.py +0 -0
  498. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_account.py +0 -0
  499. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_balance.py +0 -0
  500. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_borrow_interest.py +0 -0
  501. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_borrow_rate.py +0 -0
  502. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_calculate_fee.py +0 -0
  503. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_crypto.py +0 -0
  504. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_currency.py +0 -0
  505. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_datetime.py +0 -0
  506. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_decimal_to_precision.py +0 -0
  507. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_deep_extend.py +0 -0
  508. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
  509. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
  510. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_funding_rate_history.py +0 -0
  511. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_ledger_entry.py +0 -0
  512. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_ledger_item.py +0 -0
  513. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_leverage_tier.py +0 -0
  514. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_margin_mode.py +0 -0
  515. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_margin_modification.py +0 -0
  516. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_market.py +0 -0
  517. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_number.py +0 -0
  518. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_ohlcv.py +0 -0
  519. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_open_interest.py +0 -0
  520. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_order.py +0 -0
  521. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_order_book.py +0 -0
  522. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_position.py +0 -0
  523. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_throttle.py +0 -0
  524. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_ticker.py +0 -0
  525. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_trade.py +0 -0
  526. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_trading_fee.py +0 -0
  527. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/base/test_transaction.py +0 -0
  528. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/test_async.py +0 -0
  529. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/test/test_sync.py +0 -0
  530. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/timex.py +0 -0
  531. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/tokocrypto.py +0 -0
  532. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/tradeogre.py +0 -0
  533. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/upbit.py +0 -0
  534. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/wavesexchange.py +0 -0
  535. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/whitebit.py +0 -0
  536. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/woo.py +0 -0
  537. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/yobit.py +0 -0
  538. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt/zaif.py +0 -0
  539. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt.egg-info/SOURCES.txt +0 -0
  540. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt.egg-info/dependency_links.txt +0 -0
  541. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt.egg-info/requires.txt +0 -0
  542. {ccxt-4.2.85 → ccxt-4.2.87}/ccxt.egg-info/top_level.txt +0 -0
  543. {ccxt-4.2.85 → ccxt-4.2.87}/setup.cfg +0 -0
  544. {ccxt-4.2.85 → ccxt-4.2.87}/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.87
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.87/dist/ccxt.browser.js
230
+ * unpkg: https://unpkg.com/ccxt@4.2.87/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.87/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.87'
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})
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.ascendex import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Account, Balances, Currency, Int, Leverage, Leverages, MarginMode, MarginModes, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
9
+ from ccxt.base.types import Account, Balances, Currency, Int, Leverage, Leverages, MarginMode, MarginModes, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import PermissionDenied
@@ -2701,7 +2701,7 @@ class ascendex(Exchange, ImplicitAPI):
2701
2701
  result = self.parse_funding_rates(contracts)
2702
2702
  return self.filter_by_array(result, 'symbol', symbols)
2703
2703
 
2704
- def modify_margin_helper(self, symbol: str, amount, type, params={}):
2704
+ def modify_margin_helper(self, symbol: str, amount, type, params={}) -> MarginModification:
2705
2705
  self.load_markets()
2706
2706
  self.load_accounts()
2707
2707
  market = self.market(symbol)
@@ -2728,19 +2728,29 @@ class ascendex(Exchange, ImplicitAPI):
2728
2728
  'type': type,
2729
2729
  })
2730
2730
 
2731
- def parse_margin_modification(self, data, market: Market = None):
2731
+ def parse_margin_modification(self, data, market: Market = None) -> MarginModification:
2732
+ #
2733
+ # addMargin/reduceMargin
2734
+ #
2735
+ # {
2736
+ # "code": 0
2737
+ # }
2738
+ #
2732
2739
  errorCode = self.safe_string(data, 'code')
2733
2740
  status = 'ok' if (errorCode == '0') else 'failed'
2734
2741
  return {
2735
2742
  'info': data,
2743
+ 'symbol': market['symbol'],
2736
2744
  'type': None,
2737
2745
  'amount': None,
2746
+ 'total': None,
2738
2747
  'code': market['quote'],
2739
- 'symbol': market['symbol'],
2740
2748
  'status': status,
2749
+ 'timestamp': None,
2750
+ 'datetime': None,
2741
2751
  }
2742
2752
 
2743
- def reduce_margin(self, symbol: str, amount, params={}):
2753
+ def reduce_margin(self, symbol: str, amount, params={}) -> MarginModification:
2744
2754
  """
2745
2755
  remove margin from a position
2746
2756
  :param str symbol: unified market symbol
@@ -2750,7 +2760,7 @@ class ascendex(Exchange, ImplicitAPI):
2750
2760
  """
2751
2761
  return self.modify_margin_helper(symbol, -amount, 'reduce', params)
2752
2762
 
2753
- def add_margin(self, symbol: str, amount, params={}):
2763
+ def add_margin(self, symbol: str, amount, params={}) -> MarginModification:
2754
2764
  """
2755
2765
  add margin
2756
2766
  :param str symbol: unified market symbol
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.2.85'
7
+ __version__ = '4.2.87'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -6,7 +6,7 @@
6
6
  from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.ascendex import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Account, Balances, Currency, Int, Leverage, Leverages, MarginMode, MarginModes, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
9
+ from ccxt.base.types import Account, Balances, Currency, Int, Leverage, Leverages, MarginMode, MarginModes, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import PermissionDenied
@@ -2701,7 +2701,7 @@ class ascendex(Exchange, ImplicitAPI):
2701
2701
  result = self.parse_funding_rates(contracts)
2702
2702
  return self.filter_by_array(result, 'symbol', symbols)
2703
2703
 
2704
- async def modify_margin_helper(self, symbol: str, amount, type, params={}):
2704
+ async def modify_margin_helper(self, symbol: str, amount, type, params={}) -> MarginModification:
2705
2705
  await self.load_markets()
2706
2706
  await self.load_accounts()
2707
2707
  market = self.market(symbol)
@@ -2728,19 +2728,29 @@ class ascendex(Exchange, ImplicitAPI):
2728
2728
  'type': type,
2729
2729
  })
2730
2730
 
2731
- def parse_margin_modification(self, data, market: Market = None):
2731
+ def parse_margin_modification(self, data, market: Market = None) -> MarginModification:
2732
+ #
2733
+ # addMargin/reduceMargin
2734
+ #
2735
+ # {
2736
+ # "code": 0
2737
+ # }
2738
+ #
2732
2739
  errorCode = self.safe_string(data, 'code')
2733
2740
  status = 'ok' if (errorCode == '0') else 'failed'
2734
2741
  return {
2735
2742
  'info': data,
2743
+ 'symbol': market['symbol'],
2736
2744
  'type': None,
2737
2745
  'amount': None,
2746
+ 'total': None,
2738
2747
  'code': market['quote'],
2739
- 'symbol': market['symbol'],
2740
2748
  'status': status,
2749
+ 'timestamp': None,
2750
+ 'datetime': None,
2741
2751
  }
2742
2752
 
2743
- async def reduce_margin(self, symbol: str, amount, params={}):
2753
+ async def reduce_margin(self, symbol: str, amount, params={}) -> MarginModification:
2744
2754
  """
2745
2755
  remove margin from a position
2746
2756
  :param str symbol: unified market symbol
@@ -2750,7 +2760,7 @@ class ascendex(Exchange, ImplicitAPI):
2750
2760
  """
2751
2761
  return await self.modify_margin_helper(symbol, -amount, 'reduce', params)
2752
2762
 
2753
- async def add_margin(self, symbol: str, amount, params={}):
2763
+ async def add_margin(self, symbol: str, amount, params={}) -> MarginModification:
2754
2764
  """
2755
2765
  add margin
2756
2766
  :param str symbol: unified market symbol
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.2.85'
5
+ __version__ = '4.2.87'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -8,7 +8,7 @@ from ccxt.abstract.binance import ImplicitAPI
8
8
  import asyncio
9
9
  import hashlib
10
10
  import json
11
- from ccxt.base.types import Balances, Currency, Greeks, Int, Leverage, Leverages, MarginMode, MarginModes, Market, MarketInterface, Num, Option, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
11
+ from ccxt.base.types import Balances, Currency, Greeks, Int, Leverage, Leverages, MarginMode, MarginModes, MarginModification, Market, MarketInterface, Num, Option, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
12
12
  from typing import List
13
13
  from ccxt.base.errors import ExchangeError
14
14
  from ccxt.base.errors import PermissionDenied
@@ -10313,7 +10313,17 @@ class binance(Exchange, ImplicitAPI):
10313
10313
  'code': code,
10314
10314
  })
10315
10315
 
10316
- def parse_margin_modification(self, data, market: Market = None):
10316
+ def parse_margin_modification(self, data, market: Market = None) -> MarginModification:
10317
+ #
10318
+ # add/reduce margin
10319
+ #
10320
+ # {
10321
+ # "code": 200,
10322
+ # "msg": "Successfully modify position margin.",
10323
+ # "amount": 0.001,
10324
+ # "type": 1
10325
+ # }
10326
+ #
10317
10327
  rawType = self.safe_integer(data, 'type')
10318
10328
  resultType = 'add' if (rawType == 1) else 'reduce'
10319
10329
  resultAmount = self.safe_number(data, 'amount')
@@ -10321,14 +10331,17 @@ class binance(Exchange, ImplicitAPI):
10321
10331
  status = 'ok' if (errorCode == '200') else 'failed'
10322
10332
  return {
10323
10333
  'info': data,
10334
+ 'symbol': market['symbol'],
10324
10335
  'type': resultType,
10325
10336
  'amount': resultAmount,
10337
+ 'total': None,
10326
10338
  'code': None,
10327
- 'symbol': market['symbol'],
10328
10339
  'status': status,
10340
+ 'timestamp': None,
10341
+ 'datetime': None,
10329
10342
  }
10330
10343
 
10331
- async def reduce_margin(self, symbol: str, amount, params={}):
10344
+ async def reduce_margin(self, symbol: str, amount, params={}) -> MarginModification:
10332
10345
  """
10333
10346
  :see: https://binance-docs.github.io/apidocs/delivery/en/#modify-isolated-position-margin-trade
10334
10347
  :see: https://binance-docs.github.io/apidocs/futures/en/#modify-isolated-position-margin-trade
@@ -10340,7 +10353,7 @@ class binance(Exchange, ImplicitAPI):
10340
10353
  """
10341
10354
  return await self.modify_margin_helper(symbol, amount, 2, params)
10342
10355
 
10343
- async def add_margin(self, symbol: str, amount, params={}):
10356
+ async def add_margin(self, symbol: str, amount, params={}) -> MarginModification:
10344
10357
  """
10345
10358
  :see: https://binance-docs.github.io/apidocs/delivery/en/#modify-isolated-position-margin-trade
10346
10359
  :see: https://binance-docs.github.io/apidocs/futures/en/#modify-isolated-position-margin-trade