ccxt 4.0.101__tar.gz → 4.0.102__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (464) hide show
  1. {ccxt-4.0.101/ccxt.egg-info → ccxt-4.0.102}/PKG-INFO +6 -7
  2. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/__init__.py +1 -3
  3. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/binance.py +8 -0
  4. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/binancecoinm.py +8 -0
  5. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/binanceus.py +8 -0
  6. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/binanceusdm.py +8 -0
  7. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bingx.py +16 -1
  8. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/__init__.py +1 -3
  9. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/exchange.py +1 -1
  10. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/binance.py +8 -0
  11. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bingx.py +41 -4
  12. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitmart.py +66 -0
  13. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bl3p.py +8 -0
  14. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bybit.py +62 -43
  15. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/gemini.py +1 -0
  16. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/base/exchange.py +1 -1
  17. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/binance.py +8 -0
  18. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bingx.py +41 -4
  19. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitmart.py +66 -0
  20. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bl3p.py +8 -0
  21. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bybit.py +62 -43
  22. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/gemini.py +1 -0
  23. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/__init__.py +1 -1
  24. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/binance.py +7 -7
  25. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bybit.py +16 -16
  26. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/coinbasepro.py +10 -10
  27. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/kucoin.py +3 -3
  28. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/test_async.py +1 -1
  29. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/test_sync.py +1 -1
  30. {ccxt-4.0.101 → ccxt-4.0.102/ccxt.egg-info}/PKG-INFO +6 -7
  31. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt.egg-info/SOURCES.txt +0 -1
  32. {ccxt-4.0.101 → ccxt-4.0.102}/package.json +1 -1
  33. ccxt-4.0.101/ccxt/abstract/bkex.py +0 -58
  34. {ccxt-4.0.101 → ccxt-4.0.102}/LICENSE.txt +0 -0
  35. {ccxt-4.0.101 → ccxt-4.0.102}/MANIFEST.in +0 -0
  36. {ccxt-4.0.101 → ccxt-4.0.102}/README.rst +0 -0
  37. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/__init__.py +0 -0
  38. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/ace.py +0 -0
  39. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/alpaca.py +0 -0
  40. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/ascendex.py +0 -0
  41. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bequant.py +0 -0
  42. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bigone.py +0 -0
  43. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bit2c.py +0 -0
  44. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitbank.py +0 -0
  45. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitbay.py +0 -0
  46. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitbns.py +0 -0
  47. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitcoincom.py +0 -0
  48. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitfinex.py +0 -0
  49. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitfinex2.py +0 -0
  50. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitflyer.py +0 -0
  51. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitforex.py +0 -0
  52. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitget.py +0 -0
  53. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bithumb.py +0 -0
  54. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitmart.py +0 -0
  55. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitmex.py +0 -0
  56. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitopro.py +0 -0
  57. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitpanda.py +0 -0
  58. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitrue.py +0 -0
  59. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitso.py +0 -0
  60. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitstamp.py +0 -0
  61. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitstamp1.py +0 -0
  62. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bittrex.py +0 -0
  63. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bitvavo.py +0 -0
  64. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bl3p.py +0 -0
  65. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/blockchaincom.py +0 -0
  66. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/btcalpha.py +0 -0
  67. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/btcbox.py +0 -0
  68. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/btcmarkets.py +0 -0
  69. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/btctradeua.py +0 -0
  70. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/btcturk.py +0 -0
  71. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/bybit.py +0 -0
  72. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/cex.py +0 -0
  73. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coinbase.py +0 -0
  74. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coinbaseprime.py +0 -0
  75. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coinbasepro.py +0 -0
  76. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coincheck.py +0 -0
  77. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coinex.py +0 -0
  78. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coinfalcon.py +0 -0
  79. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coinmate.py +0 -0
  80. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coinone.py +0 -0
  81. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coinsph.py +0 -0
  82. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/coinspot.py +0 -0
  83. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/cryptocom.py +0 -0
  84. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/currencycom.py +0 -0
  85. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/delta.py +0 -0
  86. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/deribit.py +0 -0
  87. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/digifinex.py +0 -0
  88. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/exmo.py +0 -0
  89. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/fmfwio.py +0 -0
  90. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/gate.py +0 -0
  91. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/gateio.py +0 -0
  92. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/gemini.py +0 -0
  93. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/hitbtc.py +0 -0
  94. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/hitbtc3.py +0 -0
  95. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/hollaex.py +0 -0
  96. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/huobi.py +0 -0
  97. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/huobijp.py +0 -0
  98. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/huobipro.py +0 -0
  99. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/idex.py +0 -0
  100. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/independentreserve.py +0 -0
  101. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/indodax.py +0 -0
  102. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/kraken.py +0 -0
  103. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/krakenfutures.py +0 -0
  104. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/kucoin.py +0 -0
  105. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/kucoinfutures.py +0 -0
  106. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/kuna.py +0 -0
  107. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/latoken.py +0 -0
  108. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/lbank.py +0 -0
  109. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/lbank2.py +0 -0
  110. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/luno.py +0 -0
  111. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/lykke.py +0 -0
  112. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/mercado.py +0 -0
  113. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/mexc.py +0 -0
  114. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/mexc3.py +0 -0
  115. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/ndax.py +0 -0
  116. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/novadax.py +0 -0
  117. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/oceanex.py +0 -0
  118. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/okcoin.py +0 -0
  119. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/okex.py +0 -0
  120. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/okex5.py +0 -0
  121. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/okx.py +0 -0
  122. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/paymium.py +0 -0
  123. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/phemex.py +0 -0
  124. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/poloniex.py +0 -0
  125. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/poloniexfutures.py +0 -0
  126. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/probit.py +0 -0
  127. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/tidex.py +0 -0
  128. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/timex.py +0 -0
  129. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/tokocrypto.py +0 -0
  130. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/upbit.py +0 -0
  131. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/wavesexchange.py +0 -0
  132. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/wazirx.py +0 -0
  133. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/whitebit.py +0 -0
  134. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/woo.py +0 -0
  135. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/yobit.py +0 -0
  136. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/zaif.py +0 -0
  137. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/abstract/zonda.py +0 -0
  138. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/ace.py +0 -0
  139. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/alpaca.py +0 -0
  140. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/ascendex.py +0 -0
  141. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/ace.py +0 -0
  142. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/alpaca.py +0 -0
  143. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/ascendex.py +0 -0
  144. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/__init__.py +0 -0
  145. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/throttler.py +0 -0
  146. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/ws/__init__.py +0 -0
  147. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  148. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/ws/cache.py +0 -0
  149. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/ws/client.py +0 -0
  150. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/ws/fast_client.py +0 -0
  151. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/ws/functions.py +0 -0
  152. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/ws/future.py +0 -0
  153. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/ws/order_book.py +0 -0
  154. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  155. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bequant.py +0 -0
  156. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bigone.py +0 -0
  157. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/binancecoinm.py +0 -0
  158. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/binanceus.py +0 -0
  159. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/binanceusdm.py +0 -0
  160. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bit2c.py +0 -0
  161. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitbank.py +0 -0
  162. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitbay.py +0 -0
  163. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitbns.py +0 -0
  164. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitcoincom.py +0 -0
  165. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitfinex.py +0 -0
  166. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitfinex2.py +0 -0
  167. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitflyer.py +0 -0
  168. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitforex.py +0 -0
  169. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitget.py +0 -0
  170. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bithumb.py +0 -0
  171. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitmex.py +0 -0
  172. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitopro.py +0 -0
  173. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitpanda.py +0 -0
  174. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitrue.py +0 -0
  175. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitso.py +0 -0
  176. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitstamp.py +0 -0
  177. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitstamp1.py +0 -0
  178. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bittrex.py +0 -0
  179. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bitvavo.py +0 -0
  180. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/bkex.py +0 -0
  181. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/blockchaincom.py +0 -0
  182. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/btcalpha.py +0 -0
  183. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/btcbox.py +0 -0
  184. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/btcmarkets.py +0 -0
  185. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/btctradeua.py +0 -0
  186. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/btcturk.py +0 -0
  187. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/cex.py +0 -0
  188. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coinbase.py +0 -0
  189. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coinbaseprime.py +0 -0
  190. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coinbasepro.py +0 -0
  191. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coincheck.py +0 -0
  192. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coinex.py +0 -0
  193. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coinfalcon.py +0 -0
  194. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coinmate.py +0 -0
  195. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coinone.py +0 -0
  196. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coinsph.py +0 -0
  197. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/coinspot.py +0 -0
  198. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/cryptocom.py +0 -0
  199. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/currencycom.py +0 -0
  200. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/delta.py +0 -0
  201. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/deribit.py +0 -0
  202. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/digifinex.py +0 -0
  203. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/exmo.py +0 -0
  204. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/flowbtc.py +0 -0
  205. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/fmfwio.py +0 -0
  206. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/gate.py +0 -0
  207. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/gateio.py +0 -0
  208. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/hitbtc.py +0 -0
  209. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/hitbtc3.py +0 -0
  210. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/hollaex.py +0 -0
  211. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/huobi.py +0 -0
  212. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/huobijp.py +0 -0
  213. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/huobipro.py +0 -0
  214. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/idex.py +0 -0
  215. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/independentreserve.py +0 -0
  216. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/indodax.py +0 -0
  217. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/kraken.py +0 -0
  218. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/krakenfutures.py +0 -0
  219. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/kucoin.py +0 -0
  220. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/kucoinfutures.py +0 -0
  221. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/kuna.py +0 -0
  222. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/latoken.py +0 -0
  223. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/lbank.py +0 -0
  224. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/lbank2.py +0 -0
  225. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/luno.py +0 -0
  226. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/lykke.py +0 -0
  227. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/mercado.py +0 -0
  228. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/mexc.py +0 -0
  229. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/mexc3.py +0 -0
  230. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/ndax.py +0 -0
  231. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/novadax.py +0 -0
  232. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/oceanex.py +0 -0
  233. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/okcoin.py +0 -0
  234. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/okex.py +0 -0
  235. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/okex5.py +0 -0
  236. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/okx.py +0 -0
  237. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/paymium.py +0 -0
  238. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/phemex.py +0 -0
  239. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/poloniex.py +0 -0
  240. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/poloniexfutures.py +0 -0
  241. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/probit.py +0 -0
  242. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/tidex.py +0 -0
  243. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/timex.py +0 -0
  244. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/tokocrypto.py +0 -0
  245. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/upbit.py +0 -0
  246. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/wavesexchange.py +0 -0
  247. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/wazirx.py +0 -0
  248. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/whitebit.py +0 -0
  249. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/woo.py +0 -0
  250. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/yobit.py +0 -0
  251. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/zaif.py +0 -0
  252. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/async_support/zonda.py +0 -0
  253. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/base/__init__.py +0 -0
  254. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/base/decimal_to_precision.py +0 -0
  255. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/base/errors.py +0 -0
  256. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/base/precise.py +0 -0
  257. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/base/types.py +0 -0
  258. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bequant.py +0 -0
  259. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bigone.py +0 -0
  260. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/binancecoinm.py +0 -0
  261. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/binanceus.py +0 -0
  262. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/binanceusdm.py +0 -0
  263. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bit2c.py +0 -0
  264. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitbank.py +0 -0
  265. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitbay.py +0 -0
  266. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitbns.py +0 -0
  267. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitcoincom.py +0 -0
  268. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitfinex.py +0 -0
  269. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitfinex2.py +0 -0
  270. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitflyer.py +0 -0
  271. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitforex.py +0 -0
  272. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitget.py +0 -0
  273. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bithumb.py +0 -0
  274. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitmex.py +0 -0
  275. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitopro.py +0 -0
  276. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitpanda.py +0 -0
  277. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitrue.py +0 -0
  278. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitso.py +0 -0
  279. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitstamp.py +0 -0
  280. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitstamp1.py +0 -0
  281. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bittrex.py +0 -0
  282. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bitvavo.py +0 -0
  283. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/bkex.py +0 -0
  284. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/blockchaincom.py +0 -0
  285. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/btcalpha.py +0 -0
  286. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/btcbox.py +0 -0
  287. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/btcmarkets.py +0 -0
  288. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/btctradeua.py +0 -0
  289. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/btcturk.py +0 -0
  290. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/cex.py +0 -0
  291. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coinbase.py +0 -0
  292. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coinbaseprime.py +0 -0
  293. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coinbasepro.py +0 -0
  294. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coincheck.py +0 -0
  295. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coinex.py +0 -0
  296. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coinfalcon.py +0 -0
  297. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coinmate.py +0 -0
  298. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coinone.py +0 -0
  299. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coinsph.py +0 -0
  300. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/coinspot.py +0 -0
  301. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/cryptocom.py +0 -0
  302. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/currencycom.py +0 -0
  303. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/delta.py +0 -0
  304. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/deribit.py +0 -0
  305. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/digifinex.py +0 -0
  306. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/exmo.py +0 -0
  307. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/flowbtc.py +0 -0
  308. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/fmfwio.py +0 -0
  309. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/gate.py +0 -0
  310. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/gateio.py +0 -0
  311. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/hitbtc.py +0 -0
  312. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/hitbtc3.py +0 -0
  313. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/hollaex.py +0 -0
  314. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/huobi.py +0 -0
  315. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/huobijp.py +0 -0
  316. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/huobipro.py +0 -0
  317. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/idex.py +0 -0
  318. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/independentreserve.py +0 -0
  319. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/indodax.py +0 -0
  320. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/kraken.py +0 -0
  321. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/krakenfutures.py +0 -0
  322. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/kucoin.py +0 -0
  323. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/kucoinfutures.py +0 -0
  324. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/kuna.py +0 -0
  325. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/latoken.py +0 -0
  326. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/lbank.py +0 -0
  327. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/lbank2.py +0 -0
  328. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/luno.py +0 -0
  329. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/lykke.py +0 -0
  330. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/mercado.py +0 -0
  331. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/mexc.py +0 -0
  332. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/mexc3.py +0 -0
  333. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/ndax.py +0 -0
  334. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/novadax.py +0 -0
  335. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/oceanex.py +0 -0
  336. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/okcoin.py +0 -0
  337. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/okex.py +0 -0
  338. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/okex5.py +0 -0
  339. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/okx.py +0 -0
  340. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/paymium.py +0 -0
  341. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/phemex.py +0 -0
  342. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/poloniex.py +0 -0
  343. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/poloniexfutures.py +0 -0
  344. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/alpaca.py +0 -0
  345. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/ascendex.py +0 -0
  346. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bequant.py +0 -0
  347. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/binancecoinm.py +0 -0
  348. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/binanceus.py +0 -0
  349. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/binanceusdm.py +0 -0
  350. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitcoincom.py +0 -0
  351. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitfinex.py +0 -0
  352. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitfinex2.py +0 -0
  353. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitget.py +0 -0
  354. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitmart.py +0 -0
  355. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitmex.py +0 -0
  356. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitopro.py +0 -0
  357. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitpanda.py +0 -0
  358. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitrue.py +0 -0
  359. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitstamp.py +0 -0
  360. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bittrex.py +0 -0
  361. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/bitvavo.py +0 -0
  362. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/blockchaincom.py +0 -0
  363. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/btcex.py +0 -0
  364. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/cex.py +0 -0
  365. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/coinbase.py +0 -0
  366. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/coinbaseprime.py +0 -0
  367. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/coinex.py +0 -0
  368. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/cryptocom.py +0 -0
  369. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/currencycom.py +0 -0
  370. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/deribit.py +0 -0
  371. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/exmo.py +0 -0
  372. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/gate.py +0 -0
  373. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/gateio.py +0 -0
  374. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/gemini.py +0 -0
  375. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/hitbtc.py +0 -0
  376. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/hollaex.py +0 -0
  377. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/huobi.py +0 -0
  378. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/huobijp.py +0 -0
  379. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/huobipro.py +0 -0
  380. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/idex.py +0 -0
  381. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/independentreserve.py +0 -0
  382. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/kraken.py +0 -0
  383. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/krakenfutures.py +0 -0
  384. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/kucoinfutures.py +0 -0
  385. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/luno.py +0 -0
  386. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/mexc.py +0 -0
  387. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/mexc3.py +0 -0
  388. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/ndax.py +0 -0
  389. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/okcoin.py +0 -0
  390. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/okex.py +0 -0
  391. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/okx.py +0 -0
  392. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/phemex.py +0 -0
  393. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/poloniex.py +0 -0
  394. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/poloniexfutures.py +0 -0
  395. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/probit.py +0 -0
  396. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/ripio.py +0 -0
  397. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/upbit.py +0 -0
  398. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/wazirx.py +0 -0
  399. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/whitebit.py +0 -0
  400. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/woo.py +0 -0
  401. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/pro/zb.py +0 -0
  402. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/probit.py +0 -0
  403. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/__init__.py +0 -0
  404. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  405. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  406. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  407. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  408. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  409. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  410. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  411. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  412. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  413. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  414. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  415. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  416. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/__init__.py +0 -0
  417. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/__init__.py +0 -0
  418. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_account.py +0 -0
  419. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_balance.py +0 -0
  420. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_borrow_interest.py +0 -0
  421. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_borrow_rate.py +0 -0
  422. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_calculate_fee.py +0 -0
  423. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_crypto.py +0 -0
  424. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_currency.py +0 -0
  425. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_datetime.py +0 -0
  426. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_decimal_to_precision.py +0 -0
  427. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_deep_extend.py +0 -0
  428. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
  429. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
  430. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_funding_rate_history.py +0 -0
  431. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_ledger_entry.py +0 -0
  432. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_ledger_item.py +0 -0
  433. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_leverage_tier.py +0 -0
  434. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_margin_modification.py +0 -0
  435. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_market.py +0 -0
  436. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_number.py +0 -0
  437. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_ohlcv.py +0 -0
  438. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_open_interest.py +0 -0
  439. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_order.py +0 -0
  440. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_order_book.py +0 -0
  441. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_position.py +0 -0
  442. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_shared_methods.py +0 -0
  443. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_status.py +0 -0
  444. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_throttle.py +0 -0
  445. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_ticker.py +0 -0
  446. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_trade.py +0 -0
  447. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_trading_fee.py +0 -0
  448. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/test/base/test_transaction.py +0 -0
  449. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/tidex.py +0 -0
  450. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/timex.py +0 -0
  451. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/tokocrypto.py +0 -0
  452. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/upbit.py +0 -0
  453. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/wavesexchange.py +0 -0
  454. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/wazirx.py +0 -0
  455. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/whitebit.py +0 -0
  456. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/woo.py +0 -0
  457. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/yobit.py +0 -0
  458. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/zaif.py +0 -0
  459. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt/zonda.py +0 -0
  460. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt.egg-info/dependency_links.txt +0 -0
  461. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt.egg-info/requires.txt +0 -0
  462. {ccxt-4.0.101 → ccxt-4.0.102}/ccxt.egg-info/top_level.txt +0 -0
  463. {ccxt-4.0.101 → ccxt-4.0.102}/setup.cfg +0 -0
  464. {ccxt-4.0.101 → ccxt-4.0.102}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.0.101
3
+ Version: 4.0.102
4
4
  Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 130+ exchanges
5
5
  Home-page: https://ccxt.com
6
6
  Author: Igor Kroitor
@@ -13,7 +13,7 @@ Project-URL: Twitter, https://twitter.com/ccxt_official
13
13
  Project-URL: Funding, https://opencollective.com/ccxt
14
14
  Description: # CCXT – CryptoCurrency eXchange Trading Library
15
15
 
16
- [![Build Status](https://travis-ci.com/ccxt/ccxt.svg?branch=master)](https://travis-ci.com/ccxt/ccxt) [![npm](https://img.shields.io/npm/v/ccxt.svg)](https://npmjs.com/package/ccxt) [![PyPI](https://img.shields.io/pypi/v/ccxt.svg)](https://pypi.python.org/pypi/ccxt) [![NPM Downloads](https://img.shields.io/npm/dy/ccxt.svg)](https://www.npmjs.com/package/ccxt) [![Discord](https://img.shields.io/discord/690203284119617602?logo=discord&logoColor=white)](https://discord.gg/ccxt) [![Supported Exchanges](https://img.shields.io/badge/exchanges-106-blue.svg)](https://github.com/ccxt/ccxt/wiki/Exchange-Markets) [![Twitter Follow](https://img.shields.io/twitter/follow/ccxt_official.svg?style=social&label=CCXT)](https://twitter.com/ccxt_official)
16
+ [![Build Status](https://travis-ci.com/ccxt/ccxt.svg?branch=master)](https://travis-ci.com/ccxt/ccxt) [![npm](https://img.shields.io/npm/v/ccxt.svg)](https://npmjs.com/package/ccxt) [![PyPI](https://img.shields.io/pypi/v/ccxt.svg)](https://pypi.python.org/pypi/ccxt) [![NPM Downloads](https://img.shields.io/npm/dy/ccxt.svg)](https://www.npmjs.com/package/ccxt) [![Discord](https://img.shields.io/discord/690203284119617602?logo=discord&logoColor=white)](https://discord.gg/ccxt) [![Supported Exchanges](https://img.shields.io/badge/exchanges-105-blue.svg)](https://github.com/ccxt/ccxt/wiki/Exchange-Markets) [![Twitter Follow](https://img.shields.io/twitter/follow/ccxt_official.svg?style=social&label=CCXT)](https://twitter.com/ccxt_official)
17
17
 
18
18
  A JavaScript / Python / PHP / C# library for cryptocurrency trading and e-commerce with support for many bitcoin/ether/altcoin exchange markets and merchant APIs.
19
19
 
@@ -69,7 +69,7 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
69
69
 
70
70
  ## Supported Cryptocurrency Exchange Markets
71
71
 
72
- The CCXT library currently supports the following 98 cryptocurrency exchange markets and trading APIs:
72
+ The CCXT library currently supports the following 97 cryptocurrency exchange markets and trading APIs:
73
73
 
74
74
  | logo | id | name | ver | certified | pro |
75
75
  |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------|---------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------:|-----------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------|
@@ -102,7 +102,6 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
102
102
  | [![bitstamp1](https://user-images.githubusercontent.com/1294454/27786377-8c8ab57e-5fe9-11e7-8ea4-2b05b6bcceec.jpg)](https://www.bitstamp.net) | bitstamp1 | [Bitstamp](https://www.bitstamp.net) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://www.bitstamp.net/api) | | |
103
103
  | [![bittrex](https://user-images.githubusercontent.com/51840849/87153921-edf53180-c2c0-11ea-96b9-f2a9a95a455b.jpg)](https://bittrex.com/Account/Register?referralCode=1ZE-G0G-M3B) | bittrex | [Bittrex](https://bittrex.com/Account/Register?referralCode=1ZE-G0G-M3B) | [![API Version 3](https://img.shields.io/badge/3-lightgray)](https://bittrex.github.io/api/v3) | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
104
104
  | [![bitvavo](https://user-images.githubusercontent.com/1294454/169202626-bd130fc5-fcf9-41bb-8d97-6093225c73cd.jpg)](https://bitvavo.com/?a=24F34952F7) | bitvavo | [Bitvavo](https://bitvavo.com/?a=24F34952F7) | [![API Version 2](https://img.shields.io/badge/2-lightgray)](https://docs.bitvavo.com/) | [![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) |
105
- | [![bkex](https://user-images.githubusercontent.com/1294454/158043180-bb079a65-69e8-45a2-b393-f094d334e610.jpg)](https://www.bkex.com/) | bkex | [BKEX](https://www.bkex.com/) | [![API Version 2](https://img.shields.io/badge/2-lightgray)](https://bkexapi.github.io/docs/api_en.htm) | | |
106
105
  | [![bl3p](https://user-images.githubusercontent.com/1294454/28501752-60c21b82-6feb-11e7-818b-055ee6d0e754.jpg)](https://bl3p.eu) | bl3p | [BL3P](https://bl3p.eu) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://github.com/BitonicNL/bl3p-api/tree/master/docs) | | |
107
106
  | [![blockchaincom](https://user-images.githubusercontent.com/1294454/147515585-1296e91b-7398-45e5-9d32-f6121538533f.jpeg)](https://blockchain.com) | blockchaincom | [Blockchain.com](https://blockchain.com) | [![API Version 3](https://img.shields.io/badge/3-lightgray)](https://api.blockchain.com/v3) | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
108
107
  | [![btcalpha](https://user-images.githubusercontent.com/1294454/42625213-dabaa5da-85cf-11e8-8f99-aa8f8f7699f0.jpg)](https://btc-alpha.com/?r=123788) | btcalpha | [BTC-Alpha](https://btc-alpha.com/?r=123788) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://btc-alpha.github.io/api-docs) | | |
@@ -228,13 +227,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
228
227
 
229
228
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
230
229
 
231
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.101/dist/ccxt.browser.js
232
- * unpkg: https://unpkg.com/ccxt@4.0.101/dist/ccxt.browser.js
230
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.102/dist/ccxt.browser.js
231
+ * unpkg: https://unpkg.com/ccxt@4.0.102/dist/ccxt.browser.js
233
232
 
234
233
  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.
235
234
 
236
235
  ```HTML
237
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.101/dist/ccxt.browser.js"></script>
236
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.102/dist/ccxt.browser.js"></script>
238
237
  ```
239
238
 
240
239
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.0.101'
25
+ __version__ = '4.0.102'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -105,7 +105,6 @@ from ccxt.bitstamp import bitstamp # noqa: F4
105
105
  from ccxt.bitstamp1 import bitstamp1 # noqa: F401
106
106
  from ccxt.bittrex import bittrex # noqa: F401
107
107
  from ccxt.bitvavo import bitvavo # noqa: F401
108
- from ccxt.bkex import bkex # noqa: F401
109
108
  from ccxt.bl3p import bl3p # noqa: F401
110
109
  from ccxt.blockchaincom import blockchaincom # noqa: F401
111
110
  from ccxt.btcalpha import btcalpha # noqa: F401
@@ -213,7 +212,6 @@ exchanges = [
213
212
  'bitstamp1',
214
213
  'bittrex',
215
214
  'bitvavo',
216
- 'bkex',
217
215
  'bl3p',
218
216
  'blockchaincom',
219
217
  'btcalpha',
@@ -196,6 +196,7 @@ class ImplicitAPI:
196
196
  sapi_get_portfolio_interest_history = sapiGetPortfolioInterestHistory = Entry('portfolio/interest-history', 'sapi', 'GET', {'cost': 0.6667})
197
197
  sapi_get_portfolio_asset_index_price = sapiGetPortfolioAssetIndexPrice = Entry('portfolio/asset-index-price', 'sapi', 'GET', {'cost': 0.1})
198
198
  sapi_get_portfolio_repay_futures_switch = sapiGetPortfolioRepayFuturesSwitch = Entry('portfolio/repay-futures-switch', 'sapi', 'GET', {'cost': 3})
199
+ sapi_get_portfolio_margin_asset_leverage = sapiGetPortfolioMarginAssetLeverage = Entry('portfolio/margin-asset-leverage', 'sapi', 'GET', {'cost': 5})
199
200
  sapi_get_staking_productlist = sapiGetStakingProductList = Entry('staking/productList', 'sapi', 'GET', {'cost': 0.1})
200
201
  sapi_get_staking_position = sapiGetStakingPosition = Entry('staking/position', 'sapi', 'GET', {'cost': 0.1})
201
202
  sapi_get_staking_stakingrecord = sapiGetStakingStakingRecord = Entry('staking/stakingRecord', 'sapi', 'GET', {'cost': 0.1})
@@ -207,6 +208,11 @@ class ImplicitAPI:
207
208
  sapi_get_lending_auto_invest_plan_list = sapiGetLendingAutoInvestPlanList = Entry('lending/auto-invest/plan/list', 'sapi', 'GET', {'cost': 0.1})
208
209
  sapi_get_lending_auto_invest_plan_id = sapiGetLendingAutoInvestPlanId = Entry('lending/auto-invest/plan/id', 'sapi', 'GET', {'cost': 0.1})
209
210
  sapi_get_lending_auto_invest_history_list = sapiGetLendingAutoInvestHistoryList = Entry('lending/auto-invest/history/list', 'sapi', 'GET', {'cost': 0.1})
211
+ sapi_get_lending_auto_invest_index_info = sapiGetLendingAutoInvestIndexInfo = Entry('lending/auto-invest/index/info', 'sapi', 'GET', {'cost': 0.1})
212
+ sapi_get_lending_auto_invest_index_user_summary = sapiGetLendingAutoInvestIndexUserSummary = Entry('lending/auto-invest/index/user-summary', 'sapi', 'GET', {'cost': 0.1})
213
+ sapi_get_lending_auto_invest_one_off_status = sapiGetLendingAutoInvestOneOffStatus = Entry('lending/auto-invest/one-off/status', 'sapi', 'GET', {'cost': 0.1})
214
+ sapi_get_lending_auto_invest_redeem_history = sapiGetLendingAutoInvestRedeemHistory = Entry('lending/auto-invest/redeem/history', 'sapi', 'GET', {'cost': 0.1})
215
+ sapi_get_lending_auto_invest_rebalance_history = sapiGetLendingAutoInvestRebalanceHistory = Entry('lending/auto-invest/rebalance/history', 'sapi', 'GET', {'cost': 0.1})
210
216
  sapi_get_simple_earn_flexible_list = sapiGetSimpleEarnFlexibleList = Entry('simple-earn/flexible/list', 'sapi', 'GET', {'cost': 15})
211
217
  sapi_get_simple_earn_locked_list = sapiGetSimpleEarnLockedList = Entry('simple-earn/locked/list', 'sapi', 'GET', {'cost': 15})
212
218
  sapi_get_simple_earn_flexible_personalleftquota = sapiGetSimpleEarnFlexiblePersonalLeftQuota = Entry('simple-earn/flexible/personalLeftQuota', 'sapi', 'GET', {'cost': 15})
@@ -322,6 +328,8 @@ class ImplicitAPI:
322
328
  sapi_post_lending_auto_invest_plan_add = sapiPostLendingAutoInvestPlanAdd = Entry('lending/auto-invest/plan/add', 'sapi', 'POST', {'cost': 0.1})
323
329
  sapi_post_lending_auto_invest_plan_edit = sapiPostLendingAutoInvestPlanEdit = Entry('lending/auto-invest/plan/edit', 'sapi', 'POST', {'cost': 0.1})
324
330
  sapi_post_lending_auto_invest_plan_edit_status = sapiPostLendingAutoInvestPlanEditStatus = Entry('lending/auto-invest/plan/edit-status', 'sapi', 'POST', {'cost': 0.1})
331
+ sapi_post_lending_auto_invest_one_off = sapiPostLendingAutoInvestOneOff = Entry('lending/auto-invest/one-off', 'sapi', 'POST', {'cost': 0.1})
332
+ sapi_post_lending_auto_invest_redeem = sapiPostLendingAutoInvestRedeem = Entry('lending/auto-invest/redeem', 'sapi', 'POST', {'cost': 0.1})
325
333
  sapi_post_simple_earn_flexible_subscribe = sapiPostSimpleEarnFlexibleSubscribe = Entry('simple-earn/flexible/subscribe', 'sapi', 'POST', {'cost': 0.1})
326
334
  sapi_post_simple_earn_locked_subscribe = sapiPostSimpleEarnLockedSubscribe = Entry('simple-earn/locked/subscribe', 'sapi', 'POST', {'cost': 0.1})
327
335
  sapi_post_simple_earn_flexible_redeem = sapiPostSimpleEarnFlexibleRedeem = Entry('simple-earn/flexible/redeem', 'sapi', 'POST', {'cost': 0.1})
@@ -196,6 +196,7 @@ class ImplicitAPI:
196
196
  sapi_get_portfolio_interest_history = sapiGetPortfolioInterestHistory = Entry('portfolio/interest-history', 'sapi', 'GET', {'cost': 0.6667})
197
197
  sapi_get_portfolio_asset_index_price = sapiGetPortfolioAssetIndexPrice = Entry('portfolio/asset-index-price', 'sapi', 'GET', {'cost': 0.1})
198
198
  sapi_get_portfolio_repay_futures_switch = sapiGetPortfolioRepayFuturesSwitch = Entry('portfolio/repay-futures-switch', 'sapi', 'GET', {'cost': 3})
199
+ sapi_get_portfolio_margin_asset_leverage = sapiGetPortfolioMarginAssetLeverage = Entry('portfolio/margin-asset-leverage', 'sapi', 'GET', {'cost': 5})
199
200
  sapi_get_staking_productlist = sapiGetStakingProductList = Entry('staking/productList', 'sapi', 'GET', {'cost': 0.1})
200
201
  sapi_get_staking_position = sapiGetStakingPosition = Entry('staking/position', 'sapi', 'GET', {'cost': 0.1})
201
202
  sapi_get_staking_stakingrecord = sapiGetStakingStakingRecord = Entry('staking/stakingRecord', 'sapi', 'GET', {'cost': 0.1})
@@ -207,6 +208,11 @@ class ImplicitAPI:
207
208
  sapi_get_lending_auto_invest_plan_list = sapiGetLendingAutoInvestPlanList = Entry('lending/auto-invest/plan/list', 'sapi', 'GET', {'cost': 0.1})
208
209
  sapi_get_lending_auto_invest_plan_id = sapiGetLendingAutoInvestPlanId = Entry('lending/auto-invest/plan/id', 'sapi', 'GET', {'cost': 0.1})
209
210
  sapi_get_lending_auto_invest_history_list = sapiGetLendingAutoInvestHistoryList = Entry('lending/auto-invest/history/list', 'sapi', 'GET', {'cost': 0.1})
211
+ sapi_get_lending_auto_invest_index_info = sapiGetLendingAutoInvestIndexInfo = Entry('lending/auto-invest/index/info', 'sapi', 'GET', {'cost': 0.1})
212
+ sapi_get_lending_auto_invest_index_user_summary = sapiGetLendingAutoInvestIndexUserSummary = Entry('lending/auto-invest/index/user-summary', 'sapi', 'GET', {'cost': 0.1})
213
+ sapi_get_lending_auto_invest_one_off_status = sapiGetLendingAutoInvestOneOffStatus = Entry('lending/auto-invest/one-off/status', 'sapi', 'GET', {'cost': 0.1})
214
+ sapi_get_lending_auto_invest_redeem_history = sapiGetLendingAutoInvestRedeemHistory = Entry('lending/auto-invest/redeem/history', 'sapi', 'GET', {'cost': 0.1})
215
+ sapi_get_lending_auto_invest_rebalance_history = sapiGetLendingAutoInvestRebalanceHistory = Entry('lending/auto-invest/rebalance/history', 'sapi', 'GET', {'cost': 0.1})
210
216
  sapi_get_simple_earn_flexible_list = sapiGetSimpleEarnFlexibleList = Entry('simple-earn/flexible/list', 'sapi', 'GET', {'cost': 15})
211
217
  sapi_get_simple_earn_locked_list = sapiGetSimpleEarnLockedList = Entry('simple-earn/locked/list', 'sapi', 'GET', {'cost': 15})
212
218
  sapi_get_simple_earn_flexible_personalleftquota = sapiGetSimpleEarnFlexiblePersonalLeftQuota = Entry('simple-earn/flexible/personalLeftQuota', 'sapi', 'GET', {'cost': 15})
@@ -322,6 +328,8 @@ class ImplicitAPI:
322
328
  sapi_post_lending_auto_invest_plan_add = sapiPostLendingAutoInvestPlanAdd = Entry('lending/auto-invest/plan/add', 'sapi', 'POST', {'cost': 0.1})
323
329
  sapi_post_lending_auto_invest_plan_edit = sapiPostLendingAutoInvestPlanEdit = Entry('lending/auto-invest/plan/edit', 'sapi', 'POST', {'cost': 0.1})
324
330
  sapi_post_lending_auto_invest_plan_edit_status = sapiPostLendingAutoInvestPlanEditStatus = Entry('lending/auto-invest/plan/edit-status', 'sapi', 'POST', {'cost': 0.1})
331
+ sapi_post_lending_auto_invest_one_off = sapiPostLendingAutoInvestOneOff = Entry('lending/auto-invest/one-off', 'sapi', 'POST', {'cost': 0.1})
332
+ sapi_post_lending_auto_invest_redeem = sapiPostLendingAutoInvestRedeem = Entry('lending/auto-invest/redeem', 'sapi', 'POST', {'cost': 0.1})
325
333
  sapi_post_simple_earn_flexible_subscribe = sapiPostSimpleEarnFlexibleSubscribe = Entry('simple-earn/flexible/subscribe', 'sapi', 'POST', {'cost': 0.1})
326
334
  sapi_post_simple_earn_locked_subscribe = sapiPostSimpleEarnLockedSubscribe = Entry('simple-earn/locked/subscribe', 'sapi', 'POST', {'cost': 0.1})
327
335
  sapi_post_simple_earn_flexible_redeem = sapiPostSimpleEarnFlexibleRedeem = Entry('simple-earn/flexible/redeem', 'sapi', 'POST', {'cost': 0.1})
@@ -196,6 +196,7 @@ class ImplicitAPI:
196
196
  sapi_get_portfolio_interest_history = sapiGetPortfolioInterestHistory = Entry('portfolio/interest-history', 'sapi', 'GET', {'cost': 0.6667})
197
197
  sapi_get_portfolio_asset_index_price = sapiGetPortfolioAssetIndexPrice = Entry('portfolio/asset-index-price', 'sapi', 'GET', {'cost': 0.1})
198
198
  sapi_get_portfolio_repay_futures_switch = sapiGetPortfolioRepayFuturesSwitch = Entry('portfolio/repay-futures-switch', 'sapi', 'GET', {'cost': 3})
199
+ sapi_get_portfolio_margin_asset_leverage = sapiGetPortfolioMarginAssetLeverage = Entry('portfolio/margin-asset-leverage', 'sapi', 'GET', {'cost': 5})
199
200
  sapi_get_staking_productlist = sapiGetStakingProductList = Entry('staking/productList', 'sapi', 'GET', {'cost': 0.1})
200
201
  sapi_get_staking_position = sapiGetStakingPosition = Entry('staking/position', 'sapi', 'GET', {'cost': 0.1})
201
202
  sapi_get_staking_stakingrecord = sapiGetStakingStakingRecord = Entry('staking/stakingRecord', 'sapi', 'GET', {'cost': 0.1})
@@ -207,6 +208,11 @@ class ImplicitAPI:
207
208
  sapi_get_lending_auto_invest_plan_list = sapiGetLendingAutoInvestPlanList = Entry('lending/auto-invest/plan/list', 'sapi', 'GET', {'cost': 0.1})
208
209
  sapi_get_lending_auto_invest_plan_id = sapiGetLendingAutoInvestPlanId = Entry('lending/auto-invest/plan/id', 'sapi', 'GET', {'cost': 0.1})
209
210
  sapi_get_lending_auto_invest_history_list = sapiGetLendingAutoInvestHistoryList = Entry('lending/auto-invest/history/list', 'sapi', 'GET', {'cost': 0.1})
211
+ sapi_get_lending_auto_invest_index_info = sapiGetLendingAutoInvestIndexInfo = Entry('lending/auto-invest/index/info', 'sapi', 'GET', {'cost': 0.1})
212
+ sapi_get_lending_auto_invest_index_user_summary = sapiGetLendingAutoInvestIndexUserSummary = Entry('lending/auto-invest/index/user-summary', 'sapi', 'GET', {'cost': 0.1})
213
+ sapi_get_lending_auto_invest_one_off_status = sapiGetLendingAutoInvestOneOffStatus = Entry('lending/auto-invest/one-off/status', 'sapi', 'GET', {'cost': 0.1})
214
+ sapi_get_lending_auto_invest_redeem_history = sapiGetLendingAutoInvestRedeemHistory = Entry('lending/auto-invest/redeem/history', 'sapi', 'GET', {'cost': 0.1})
215
+ sapi_get_lending_auto_invest_rebalance_history = sapiGetLendingAutoInvestRebalanceHistory = Entry('lending/auto-invest/rebalance/history', 'sapi', 'GET', {'cost': 0.1})
210
216
  sapi_get_simple_earn_flexible_list = sapiGetSimpleEarnFlexibleList = Entry('simple-earn/flexible/list', 'sapi', 'GET', {'cost': 15})
211
217
  sapi_get_simple_earn_locked_list = sapiGetSimpleEarnLockedList = Entry('simple-earn/locked/list', 'sapi', 'GET', {'cost': 15})
212
218
  sapi_get_simple_earn_flexible_personalleftquota = sapiGetSimpleEarnFlexiblePersonalLeftQuota = Entry('simple-earn/flexible/personalLeftQuota', 'sapi', 'GET', {'cost': 15})
@@ -322,6 +328,8 @@ class ImplicitAPI:
322
328
  sapi_post_lending_auto_invest_plan_add = sapiPostLendingAutoInvestPlanAdd = Entry('lending/auto-invest/plan/add', 'sapi', 'POST', {'cost': 0.1})
323
329
  sapi_post_lending_auto_invest_plan_edit = sapiPostLendingAutoInvestPlanEdit = Entry('lending/auto-invest/plan/edit', 'sapi', 'POST', {'cost': 0.1})
324
330
  sapi_post_lending_auto_invest_plan_edit_status = sapiPostLendingAutoInvestPlanEditStatus = Entry('lending/auto-invest/plan/edit-status', 'sapi', 'POST', {'cost': 0.1})
331
+ sapi_post_lending_auto_invest_one_off = sapiPostLendingAutoInvestOneOff = Entry('lending/auto-invest/one-off', 'sapi', 'POST', {'cost': 0.1})
332
+ sapi_post_lending_auto_invest_redeem = sapiPostLendingAutoInvestRedeem = Entry('lending/auto-invest/redeem', 'sapi', 'POST', {'cost': 0.1})
325
333
  sapi_post_simple_earn_flexible_subscribe = sapiPostSimpleEarnFlexibleSubscribe = Entry('simple-earn/flexible/subscribe', 'sapi', 'POST', {'cost': 0.1})
326
334
  sapi_post_simple_earn_locked_subscribe = sapiPostSimpleEarnLockedSubscribe = Entry('simple-earn/locked/subscribe', 'sapi', 'POST', {'cost': 0.1})
327
335
  sapi_post_simple_earn_flexible_redeem = sapiPostSimpleEarnFlexibleRedeem = Entry('simple-earn/flexible/redeem', 'sapi', 'POST', {'cost': 0.1})
@@ -196,6 +196,7 @@ class ImplicitAPI:
196
196
  sapi_get_portfolio_interest_history = sapiGetPortfolioInterestHistory = Entry('portfolio/interest-history', 'sapi', 'GET', {'cost': 0.6667})
197
197
  sapi_get_portfolio_asset_index_price = sapiGetPortfolioAssetIndexPrice = Entry('portfolio/asset-index-price', 'sapi', 'GET', {'cost': 0.1})
198
198
  sapi_get_portfolio_repay_futures_switch = sapiGetPortfolioRepayFuturesSwitch = Entry('portfolio/repay-futures-switch', 'sapi', 'GET', {'cost': 3})
199
+ sapi_get_portfolio_margin_asset_leverage = sapiGetPortfolioMarginAssetLeverage = Entry('portfolio/margin-asset-leverage', 'sapi', 'GET', {'cost': 5})
199
200
  sapi_get_staking_productlist = sapiGetStakingProductList = Entry('staking/productList', 'sapi', 'GET', {'cost': 0.1})
200
201
  sapi_get_staking_position = sapiGetStakingPosition = Entry('staking/position', 'sapi', 'GET', {'cost': 0.1})
201
202
  sapi_get_staking_stakingrecord = sapiGetStakingStakingRecord = Entry('staking/stakingRecord', 'sapi', 'GET', {'cost': 0.1})
@@ -207,6 +208,11 @@ class ImplicitAPI:
207
208
  sapi_get_lending_auto_invest_plan_list = sapiGetLendingAutoInvestPlanList = Entry('lending/auto-invest/plan/list', 'sapi', 'GET', {'cost': 0.1})
208
209
  sapi_get_lending_auto_invest_plan_id = sapiGetLendingAutoInvestPlanId = Entry('lending/auto-invest/plan/id', 'sapi', 'GET', {'cost': 0.1})
209
210
  sapi_get_lending_auto_invest_history_list = sapiGetLendingAutoInvestHistoryList = Entry('lending/auto-invest/history/list', 'sapi', 'GET', {'cost': 0.1})
211
+ sapi_get_lending_auto_invest_index_info = sapiGetLendingAutoInvestIndexInfo = Entry('lending/auto-invest/index/info', 'sapi', 'GET', {'cost': 0.1})
212
+ sapi_get_lending_auto_invest_index_user_summary = sapiGetLendingAutoInvestIndexUserSummary = Entry('lending/auto-invest/index/user-summary', 'sapi', 'GET', {'cost': 0.1})
213
+ sapi_get_lending_auto_invest_one_off_status = sapiGetLendingAutoInvestOneOffStatus = Entry('lending/auto-invest/one-off/status', 'sapi', 'GET', {'cost': 0.1})
214
+ sapi_get_lending_auto_invest_redeem_history = sapiGetLendingAutoInvestRedeemHistory = Entry('lending/auto-invest/redeem/history', 'sapi', 'GET', {'cost': 0.1})
215
+ sapi_get_lending_auto_invest_rebalance_history = sapiGetLendingAutoInvestRebalanceHistory = Entry('lending/auto-invest/rebalance/history', 'sapi', 'GET', {'cost': 0.1})
210
216
  sapi_get_simple_earn_flexible_list = sapiGetSimpleEarnFlexibleList = Entry('simple-earn/flexible/list', 'sapi', 'GET', {'cost': 15})
211
217
  sapi_get_simple_earn_locked_list = sapiGetSimpleEarnLockedList = Entry('simple-earn/locked/list', 'sapi', 'GET', {'cost': 15})
212
218
  sapi_get_simple_earn_flexible_personalleftquota = sapiGetSimpleEarnFlexiblePersonalLeftQuota = Entry('simple-earn/flexible/personalLeftQuota', 'sapi', 'GET', {'cost': 15})
@@ -322,6 +328,8 @@ class ImplicitAPI:
322
328
  sapi_post_lending_auto_invest_plan_add = sapiPostLendingAutoInvestPlanAdd = Entry('lending/auto-invest/plan/add', 'sapi', 'POST', {'cost': 0.1})
323
329
  sapi_post_lending_auto_invest_plan_edit = sapiPostLendingAutoInvestPlanEdit = Entry('lending/auto-invest/plan/edit', 'sapi', 'POST', {'cost': 0.1})
324
330
  sapi_post_lending_auto_invest_plan_edit_status = sapiPostLendingAutoInvestPlanEditStatus = Entry('lending/auto-invest/plan/edit-status', 'sapi', 'POST', {'cost': 0.1})
331
+ sapi_post_lending_auto_invest_one_off = sapiPostLendingAutoInvestOneOff = Entry('lending/auto-invest/one-off', 'sapi', 'POST', {'cost': 0.1})
332
+ sapi_post_lending_auto_invest_redeem = sapiPostLendingAutoInvestRedeem = Entry('lending/auto-invest/redeem', 'sapi', 'POST', {'cost': 0.1})
325
333
  sapi_post_simple_earn_flexible_subscribe = sapiPostSimpleEarnFlexibleSubscribe = Entry('simple-earn/flexible/subscribe', 'sapi', 'POST', {'cost': 0.1})
326
334
  sapi_post_simple_earn_locked_subscribe = sapiPostSimpleEarnLockedSubscribe = Entry('simple-earn/locked/subscribe', 'sapi', 'POST', {'cost': 0.1})
327
335
  sapi_post_simple_earn_flexible_redeem = sapiPostSimpleEarnFlexibleRedeem = Entry('simple-earn/flexible/redeem', 'sapi', 'POST', {'cost': 0.1})
@@ -30,6 +30,7 @@ class ImplicitAPI:
30
30
  swap_v2_public_get_quote_klines = swapV2PublicGetQuoteKlines = Entry('quote/klines', ['swap', 'v2', 'public'], 'GET', {'cost': 1})
31
31
  swap_v2_public_get_quote_openinterest = swapV2PublicGetQuoteOpenInterest = Entry('quote/openInterest', ['swap', 'v2', 'public'], 'GET', {'cost': 1})
32
32
  swap_v2_public_get_quote_ticker = swapV2PublicGetQuoteTicker = Entry('quote/ticker', ['swap', 'v2', 'public'], 'GET', {'cost': 1})
33
+ swap_v2_public_get_quote_bookticker = swapV2PublicGetQuoteBookTicker = Entry('quote/bookTicker', ['swap', 'v2', 'public'], 'GET', {'cost': 1})
33
34
  swap_v2_private_get_user_balance = swapV2PrivateGetUserBalance = Entry('user/balance', ['swap', 'v2', 'private'], 'GET', {'cost': 3})
34
35
  swap_v2_private_get_user_positions = swapV2PrivateGetUserPositions = Entry('user/positions', ['swap', 'v2', 'private'], 'GET', {'cost': 3})
35
36
  swap_v2_private_get_user_income = swapV2PrivateGetUserIncome = Entry('user/income', ['swap', 'v2', 'private'], 'GET', {'cost': 3})
@@ -57,15 +58,29 @@ class ImplicitAPI:
57
58
  contract_v1_private_get_allorders = contractV1PrivateGetAllOrders = Entry('allOrders', ['contract', 'v1', 'private'], 'GET', {'cost': 3})
58
59
  contract_v1_private_get_balance = contractV1PrivateGetBalance = Entry('balance', ['contract', 'v1', 'private'], 'GET', {'cost': 3})
59
60
  wallets_v1_private_get_capital_config_getall = walletsV1PrivateGetCapitalConfigGetall = Entry('capital/config/getall', ['wallets', 'v1', 'private'], 'GET', {'cost': 3})
61
+ wallets_v1_private_get_capital_deposit_address = walletsV1PrivateGetCapitalDepositAddress = Entry('capital/deposit/address', ['wallets', 'v1', 'private'], 'GET', {'cost': 1})
62
+ wallets_v1_private_get_capital_innertransfer_records = walletsV1PrivateGetCapitalInnerTransferRecords = Entry('capital/innerTransfer/records', ['wallets', 'v1', 'private'], 'GET', {'cost': 1})
63
+ wallets_v1_private_get_capital_subaccount_deposit_address = walletsV1PrivateGetCapitalSubAccountDepositAddress = Entry('capital/subAccount/deposit/address', ['wallets', 'v1', 'private'], 'GET', {'cost': 1})
64
+ wallets_v1_private_get_capital_deposit_subhisrec = walletsV1PrivateGetCapitalDepositSubHisrec = Entry('capital/deposit/subHisrec', ['wallets', 'v1', 'private'], 'GET', {'cost': 1})
65
+ wallets_v1_private_get_capital_subaccount_innertransfer_records = walletsV1PrivateGetCapitalSubAccountInnerTransferRecords = Entry('capital/subAccount/innerTransfer/records', ['wallets', 'v1', 'private'], 'GET', {'cost': 1})
60
66
  wallets_v1_private_post_capital_withdraw_apply = walletsV1PrivatePostCapitalWithdrawApply = Entry('capital/withdraw/apply', ['wallets', 'v1', 'private'], 'POST', {'cost': 3})
61
67
  wallets_v1_private_post_capital_innertransfer_apply = walletsV1PrivatePostCapitalInnerTransferApply = Entry('capital/innerTransfer/apply', ['wallets', 'v1', 'private'], 'POST', {'cost': 3})
62
68
  wallets_v1_private_post_capital_subaccountinnertransfer_apply = walletsV1PrivatePostCapitalSubAccountInnerTransferApply = Entry('capital/subAccountInnerTransfer/apply', ['wallets', 'v1', 'private'], 'POST', {'cost': 3})
69
+ wallets_v1_private_post_capital_deposit_createsubaddress = walletsV1PrivatePostCapitalDepositCreateSubAddress = Entry('capital/deposit/createSubAddress', ['wallets', 'v1', 'private'], 'POST', {'cost': 1})
63
70
  subaccount_v1_private_get_list = subAccountV1PrivateGetList = Entry('list', ['subAccount', 'v1', 'private'], 'GET', {'cost': 3})
64
71
  subaccount_v1_private_get_assets = subAccountV1PrivateGetAssets = Entry('assets', ['subAccount', 'v1', 'private'], 'GET', {'cost': 3})
72
+ subaccount_v1_private_get_apikey_query = subAccountV1PrivateGetApiKeyQuery = Entry('apiKey/query', ['subAccount', 'v1', 'private'], 'GET', {'cost': 1})
65
73
  subaccount_v1_private_post_create = subAccountV1PrivatePostCreate = Entry('create', ['subAccount', 'v1', 'private'], 'POST', {'cost': 3})
66
74
  subaccount_v1_private_post_apikey_create = subAccountV1PrivatePostApiKeyCreate = Entry('apiKey/create', ['subAccount', 'v1', 'private'], 'POST', {'cost': 3})
67
75
  subaccount_v1_private_post_apikey_edit = subAccountV1PrivatePostApiKeyEdit = Entry('apiKey/edit', ['subAccount', 'v1', 'private'], 'POST', {'cost': 3})
68
76
  subaccount_v1_private_post_apikey_del = subAccountV1PrivatePostApiKeyDel = Entry('apiKey/del', ['subAccount', 'v1', 'private'], 'POST', {'cost': 3})
69
77
  subaccount_v1_private_post_updatestatus = subAccountV1PrivatePostUpdateStatus = Entry('updateStatus', ['subAccount', 'v1', 'private'], 'POST', {'cost': 3})
70
- account_v1_private_post_uid = accountV1PrivatePostUid = Entry('uid', ['account', 'v1', 'private'], 'POST', {'cost': 3})
78
+ account_v1_private_get_uid = accountV1PrivateGetUid = Entry('uid', ['account', 'v1', 'private'], 'GET', {'cost': 1})
71
79
  account_v1_private_post_innertransfer_authorizesubaccount = accountV1PrivatePostInnerTransferAuthorizeSubAccount = Entry('innerTransfer/authorizeSubAccount', ['account', 'v1', 'private'], 'POST', {'cost': 3})
80
+ copytrading_v1_private_get_swap_trace_currenttrack = copyTradingV1PrivateGetSwapTraceCurrentTrack = Entry('swap/trace/currentTrack', ['copyTrading', 'v1', 'private'], 'GET', {'cost': 1})
81
+ copytrading_v1_private_post_swap_trace_closetrackorder = copyTradingV1PrivatePostSwapTraceCloseTrackOrder = Entry('swap/trace/closeTrackOrder', ['copyTrading', 'v1', 'private'], 'POST', {'cost': 1})
82
+ copytrading_v1_private_post_swap_trace_settpsl = copyTradingV1PrivatePostSwapTraceSetTPSL = Entry('swap/trace/setTPSL', ['copyTrading', 'v1', 'private'], 'POST', {'cost': 1})
83
+ api_v3_private_get_asset_transfer = apiV3PrivateGetAssetTransfer = Entry('asset/transfer', ['api', 'v3', 'private'], 'GET', {'cost': 1})
84
+ api_v3_private_get_capital_deposit_hisrec = apiV3PrivateGetCapitalDepositHisrec = Entry('capital/deposit/hisrec', ['api', 'v3', 'private'], 'GET', {'cost': 1})
85
+ api_v3_private_get_capital_withdraw_history = apiV3PrivateGetCapitalWithdrawHistory = Entry('capital/withdraw/history', ['api', 'v3', 'private'], 'GET', {'cost': 1})
86
+ api_v3_private_post_post_asset_transfer = apiV3PrivatePostPostAssetTransfer = Entry('post/asset/transfer', ['api', 'v3', 'private'], 'POST', {'cost': 1})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.0.101'
7
+ __version__ = '4.0.102'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -85,7 +85,6 @@ from ccxt.async_support.bitstamp import bitstamp
85
85
  from ccxt.async_support.bitstamp1 import bitstamp1 # noqa: F401
86
86
  from ccxt.async_support.bittrex import bittrex # noqa: F401
87
87
  from ccxt.async_support.bitvavo import bitvavo # noqa: F401
88
- from ccxt.async_support.bkex import bkex # noqa: F401
89
88
  from ccxt.async_support.bl3p import bl3p # noqa: F401
90
89
  from ccxt.async_support.blockchaincom import blockchaincom # noqa: F401
91
90
  from ccxt.async_support.btcalpha import btcalpha # noqa: F401
@@ -193,7 +192,6 @@ exchanges = [
193
192
  'bitstamp1',
194
193
  'bittrex',
195
194
  'bitvavo',
196
- 'bkex',
197
195
  'bl3p',
198
196
  'blockchaincom',
199
197
  'btcalpha',
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.0.101'
5
+ __version__ = '4.0.102'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -426,6 +426,7 @@ class binance(Exchange, ImplicitAPI):
426
426
  'portfolio/interest-history': 0.6667,
427
427
  'portfolio/asset-index-price': 0.1,
428
428
  'portfolio/repay-futures-switch': 3, # Weight(IP): 30 => cost = 0.1 * 30 = 3
429
+ 'portfolio/margin-asset-leverage': 5, # Weight(IP): 50 => cost = 0.1 * 50 = 5
429
430
  # staking
430
431
  'staking/productList': 0.1,
431
432
  'staking/position': 0.1,
@@ -438,6 +439,11 @@ class binance(Exchange, ImplicitAPI):
438
439
  'lending/auto-invest/plan/list': 0.1,
439
440
  'lending/auto-invest/plan/id': 0.1,
440
441
  'lending/auto-invest/history/list': 0.1,
442
+ 'lending/auto-invest/index/info': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
443
+ 'lending/auto-invest/index/user-summary': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
444
+ 'lending/auto-invest/one-off/status': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
445
+ 'lending/auto-invest/redeem/history': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
446
+ 'lending/auto-invest/rebalance/history': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
441
447
  # simple earn
442
448
  'simple-earn/flexible/list': 15,
443
449
  'simple-earn/locked/list': 15,
@@ -565,6 +571,8 @@ class binance(Exchange, ImplicitAPI):
565
571
  'lending/auto-invest/plan/add': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
566
572
  'lending/auto-invest/plan/edit': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
567
573
  'lending/auto-invest/plan/edit-status': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
574
+ 'lending/auto-invest/one-off': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
575
+ 'lending/auto-invest/redeem': 0.1, # Weight(IP): 1 => cost = 0.1 * 1 = 0.1
568
576
  # simple earn
569
577
  'simple-earn/flexible/subscribe': 0.1,
570
578
  'simple-earn/locked/subscribe': 0.1,
@@ -154,6 +154,7 @@ class bingx(Exchange, ImplicitAPI):
154
154
  'quote/klines': 1,
155
155
  'quote/openInterest': 1,
156
156
  'quote/ticker': 1,
157
+ 'quote/bookTicker': 1,
157
158
  },
158
159
  },
159
160
  'private': {
@@ -205,11 +206,17 @@ class bingx(Exchange, ImplicitAPI):
205
206
  'private': {
206
207
  'get': {
207
208
  'capital/config/getall': 3,
209
+ 'capital/deposit/address': 1,
210
+ 'capital/innerTransfer/records': 1,
211
+ 'capital/subAccount/deposit/address': 1,
212
+ 'capital/deposit/subHisrec': 1,
213
+ 'capital/subAccount/innerTransfer/records': 1,
208
214
  },
209
215
  'post': {
210
216
  'capital/withdraw/apply': 3,
211
217
  'capital/innerTransfer/apply': 3,
212
218
  'capital/subAccountInnerTransfer/apply': 3,
219
+ 'capital/deposit/createSubAddress': 1,
213
220
  },
214
221
  },
215
222
  },
@@ -220,6 +227,7 @@ class bingx(Exchange, ImplicitAPI):
220
227
  'get': {
221
228
  'list': 3,
222
229
  'assets': 3,
230
+ 'apiKey/query': 1,
223
231
  },
224
232
  'post': {
225
233
  'create': 3,
@@ -234,13 +242,42 @@ class bingx(Exchange, ImplicitAPI):
234
242
  'account': {
235
243
  'v1': {
236
244
  'private': {
245
+ 'get': {
246
+ 'uid': 1,
247
+ },
237
248
  'post': {
238
- 'uid': 3,
239
249
  'innerTransfer/authorizeSubAccount': 3,
240
250
  },
241
251
  },
242
252
  },
243
253
  },
254
+ 'copyTrading': {
255
+ 'v1': {
256
+ 'private': {
257
+ 'get': {
258
+ 'swap/trace/currentTrack': 1,
259
+ },
260
+ 'post': {
261
+ 'swap/trace/closeTrackOrder': 1,
262
+ 'swap/trace/setTPSL': 1,
263
+ },
264
+ },
265
+ },
266
+ },
267
+ 'api': {
268
+ 'v3': {
269
+ 'private': {
270
+ 'get': {
271
+ 'asset/transfer': 1,
272
+ 'capital/deposit/hisrec': 1,
273
+ 'capital/withdraw/history': 1,
274
+ },
275
+ 'post': {
276
+ 'post/asset/transfer': 1,
277
+ },
278
+ },
279
+ },
280
+ },
244
281
  },
245
282
  'timeframes': {
246
283
  '1m': '1m',
@@ -1438,9 +1475,9 @@ class bingx(Exchange, ImplicitAPI):
1438
1475
  :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
1439
1476
  :param dict [params]: extra parameters specific to the bingx api endpoint
1440
1477
  :param bool [params.postOnly]: True to place a post only order
1441
- :param dict [params.triggerPrice]: triggerPrice at which the attached take profit / stop loss order will be triggered(swap markets only)
1442
- :param float [params.stopLossPrice]: stop loss trigger price(swap markets only)
1443
- :param float [params.takeProfitPrice]: take profit trigger price(swap markets only)
1478
+ :param float [params.triggerPrice]: *swap only* triggerPrice at which the attached take profit / stop loss order will be triggered
1479
+ :param float [params.stopLossPrice]: *swap only* stop loss trigger price
1480
+ :param float [params.takeProfitPrice]: *swap only* take profit trigger price
1444
1481
  :returns dict: an `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
1445
1482
  """
1446
1483
  await self.load_markets()
@@ -76,6 +76,9 @@ class bitmart(Exchange, ImplicitAPI):
76
76
  'fetchDepositWithdrawFee': True,
77
77
  'fetchDepositWithdrawFees': False,
78
78
  'fetchFundingHistory': None,
79
+ 'fetchFundingRate': True,
80
+ 'fetchFundingRateHistory': False,
81
+ 'fetchFundingRates': False,
79
82
  'fetchMarginMode': False,
80
83
  'fetchMarkets': True,
81
84
  'fetchMyTrades': True,
@@ -3084,6 +3087,69 @@ class bitmart(Exchange, ImplicitAPI):
3084
3087
  }
3085
3088
  return await self.privatePostContractPrivateSubmitLeverage(self.extend(request, params))
3086
3089
 
3090
+ async def fetch_funding_rate(self, symbol: str, params={}):
3091
+ """
3092
+ fetch the current funding rate
3093
+ see https://developer-pro.bitmart.com/en/futures/#get-current-funding-rate
3094
+ :param str symbol: unified market symbol
3095
+ :param dict [params]: extra parameters specific to the bitmart api endpoint
3096
+ :returns dict: a `funding rate structure <https://github.com/ccxt/ccxt/wiki/Manual#funding-rate-structure>`
3097
+ """
3098
+ await self.load_markets()
3099
+ market = self.market(symbol)
3100
+ if not market['swap']:
3101
+ raise BadSymbol(self.id + ' fetchFundingRate() supports swap contracts only')
3102
+ request = {
3103
+ 'symbol': market['id'],
3104
+ }
3105
+ response = await self.publicGetContractPublicFundingRate(self.extend(request, params))
3106
+ #
3107
+ # {
3108
+ # "code": 1000,
3109
+ # "message": "Ok",
3110
+ # "data": {
3111
+ # "timestamp": 1695184410697,
3112
+ # "symbol": "BTCUSDT",
3113
+ # "rate_value": "-0.00002614",
3114
+ # "expected_rate": "-0.00002"
3115
+ # },
3116
+ # "trace": "4cad855074654097ac7ba5257c47305d.54.16951844206655589"
3117
+ # }
3118
+ #
3119
+ data = self.safe_value(response, 'data', {})
3120
+ return self.parse_funding_rate(data, market)
3121
+
3122
+ def parse_funding_rate(self, contract, market=None):
3123
+ #
3124
+ # {
3125
+ # "timestamp": 1695184410697,
3126
+ # "symbol": "BTCUSDT",
3127
+ # "rate_value": "-0.00002614",
3128
+ # "expected_rate": "-0.00002"
3129
+ # }
3130
+ #
3131
+ marketId = self.safe_string(contract, 'symbol')
3132
+ timestamp = self.safe_integer(contract, 'timestamp')
3133
+ return {
3134
+ 'info': contract,
3135
+ 'symbol': self.safe_symbol(marketId, market),
3136
+ 'markPrice': None,
3137
+ 'indexPrice': None,
3138
+ 'interestRate': None,
3139
+ 'estimatedSettlePrice': None,
3140
+ 'timestamp': timestamp,
3141
+ 'datetime': self.iso8601(timestamp),
3142
+ 'fundingRate': self.safe_number(contract, 'expected_rate'),
3143
+ 'fundingTimestamp': None,
3144
+ 'fundingDatetime': None,
3145
+ 'nextFundingRate': None,
3146
+ 'nextFundingTimestamp': None,
3147
+ 'nextFundingDatetime': None,
3148
+ 'previousFundingRate': self.safe_number(contract, 'rate_value'),
3149
+ 'previousFundingTimestamp': None,
3150
+ 'previousFundingDatetime': None,
3151
+ }
3152
+
3087
3153
  def nonce(self):
3088
3154
  return self.milliseconds()
3089
3155
 
@@ -35,6 +35,9 @@ class bl3p(Exchange, ImplicitAPI):
35
35
  'cancelOrder': True,
36
36
  'createOrder': True,
37
37
  'createReduceOnlyOrder': False,
38
+ 'createStopLimitOrder': False,
39
+ 'createStopMarketOrder': False,
40
+ 'createStopOrder': False,
38
41
  'fetchBalance': True,
39
42
  'fetchBorrowRate': False,
40
43
  'fetchBorrowRateHistories': False,
@@ -353,12 +356,17 @@ class bl3p(Exchange, ImplicitAPI):
353
356
  async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount, price=None, params={}):
354
357
  """
355
358
  create a trade order
359
+ see https://github.com/BitonicNL/bl3p-api/blob/master/examples/nodejs/example.md#21---create-an-order
356
360
  :param str symbol: unified symbol of the market to create an order in
357
361
  :param str type: 'market' or 'limit'
358
362
  :param str side: 'buy' or 'sell'
359
363
  :param float amount: how much of currency you want to trade in units of base currency
360
364
  :param float [price]: the price at which the order is to be fullfilled, in units of the quote currency, ignored in market orders
361
365
  :param dict [params]: extra parameters specific to the bl3p api endpoint
366
+ *
367
+ * EXCHANGE SPECIFIC PARAMETERS
368
+ :param int [params.amount_funds]: maximal EUR amount to spend(*1e5)
369
+ :param str [params.fee_currency]: 'EUR' or 'BTC'
362
370
  :returns dict: an `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
363
371
  """
364
372
  market = self.market(symbol)