ccxt 4.0.100__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.100/ccxt.egg-info → ccxt-4.0.102}/PKG-INFO +6 -7
  2. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/__init__.py +1 -3
  3. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/binance.py +8 -0
  4. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/binancecoinm.py +8 -0
  5. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/binanceus.py +8 -0
  6. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/binanceusdm.py +8 -0
  7. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bingx.py +16 -1
  8. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/__init__.py +1 -3
  9. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/base/exchange.py +1 -1
  10. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/binance.py +36 -1
  11. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bingx.py +41 -4
  12. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bitbank.py +11 -0
  13. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bitfinex.py +12 -8
  14. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bitflyer.py +39 -10
  15. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bitforex.py +0 -8
  16. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bitget.py +15 -5
  17. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bitmart.py +66 -0
  18. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bitstamp1.py +22 -0
  19. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bl3p.py +32 -0
  20. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bybit.py +120 -48
  21. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/coinbasepro.py +11 -0
  22. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/currencycom.py +1 -1
  23. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/gemini.py +1 -0
  24. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/huobi.py +1 -1
  25. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/huobijp.py +1 -1
  26. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/idex.py +1 -1
  27. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/kucoinfutures.py +46 -51
  28. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/lbank.py +1 -1
  29. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/lbank2.py +1 -1
  30. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/base/exchange.py +1 -1
  31. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/binance.py +36 -1
  32. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bingx.py +41 -4
  33. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bitbank.py +11 -0
  34. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bitfinex.py +12 -8
  35. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bitflyer.py +39 -10
  36. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bitforex.py +0 -8
  37. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bitget.py +15 -5
  38. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bitmart.py +66 -0
  39. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bitstamp1.py +22 -0
  40. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bl3p.py +32 -0
  41. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bybit.py +120 -48
  42. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/coinbasepro.py +11 -0
  43. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/currencycom.py +1 -1
  44. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/gemini.py +1 -0
  45. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/huobi.py +1 -1
  46. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/huobijp.py +1 -1
  47. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/idex.py +1 -1
  48. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/kucoinfutures.py +46 -51
  49. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/lbank.py +1 -1
  50. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/lbank2.py +1 -1
  51. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/__init__.py +1 -1
  52. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/binance.py +7 -7
  53. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/bybit.py +16 -16
  54. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/coinbasepro.py +10 -10
  55. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/huobijp.py +1 -2
  56. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/krakenfutures.py +7 -7
  57. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/kucoin.py +42 -2
  58. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/kucoinfutures.py +3 -3
  59. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/phemex.py +2 -2
  60. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/test_async.py +1 -1
  61. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/test_sync.py +1 -1
  62. {ccxt-4.0.100 → ccxt-4.0.102/ccxt.egg-info}/PKG-INFO +6 -7
  63. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt.egg-info/SOURCES.txt +0 -1
  64. {ccxt-4.0.100 → ccxt-4.0.102}/package.json +1 -1
  65. ccxt-4.0.100/ccxt/abstract/bkex.py +0 -58
  66. {ccxt-4.0.100 → ccxt-4.0.102}/LICENSE.txt +0 -0
  67. {ccxt-4.0.100 → ccxt-4.0.102}/MANIFEST.in +0 -0
  68. {ccxt-4.0.100 → ccxt-4.0.102}/README.rst +0 -0
  69. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/__init__.py +0 -0
  70. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/ace.py +0 -0
  71. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/alpaca.py +0 -0
  72. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/ascendex.py +0 -0
  73. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bequant.py +0 -0
  74. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bigone.py +0 -0
  75. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bit2c.py +0 -0
  76. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bitbank.py +0 -0
  77. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bitbay.py +0 -0
  78. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bitbns.py +0 -0
  79. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bitcoincom.py +0 -0
  80. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bitfinex.py +0 -0
  81. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bitfinex2.py +0 -0
  82. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bitflyer.py +0 -0
  83. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bitforex.py +0 -0
  84. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bitget.py +0 -0
  85. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bithumb.py +0 -0
  86. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bitmart.py +0 -0
  87. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bitmex.py +0 -0
  88. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bitopro.py +0 -0
  89. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bitpanda.py +0 -0
  90. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bitrue.py +0 -0
  91. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bitso.py +0 -0
  92. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bitstamp.py +0 -0
  93. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bitstamp1.py +0 -0
  94. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bittrex.py +0 -0
  95. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bitvavo.py +0 -0
  96. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bl3p.py +0 -0
  97. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/blockchaincom.py +0 -0
  98. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/btcalpha.py +0 -0
  99. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/btcbox.py +0 -0
  100. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/btcmarkets.py +0 -0
  101. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/btctradeua.py +0 -0
  102. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/btcturk.py +0 -0
  103. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/bybit.py +0 -0
  104. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/cex.py +0 -0
  105. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/coinbase.py +0 -0
  106. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/coinbaseprime.py +0 -0
  107. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/coinbasepro.py +0 -0
  108. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/coincheck.py +0 -0
  109. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/coinex.py +0 -0
  110. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/coinfalcon.py +0 -0
  111. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/coinmate.py +0 -0
  112. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/coinone.py +0 -0
  113. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/coinsph.py +0 -0
  114. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/coinspot.py +0 -0
  115. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/cryptocom.py +0 -0
  116. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/currencycom.py +0 -0
  117. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/delta.py +0 -0
  118. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/deribit.py +0 -0
  119. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/digifinex.py +0 -0
  120. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/exmo.py +0 -0
  121. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/fmfwio.py +0 -0
  122. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/gate.py +0 -0
  123. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/gateio.py +0 -0
  124. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/gemini.py +0 -0
  125. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/hitbtc.py +0 -0
  126. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/hitbtc3.py +0 -0
  127. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/hollaex.py +0 -0
  128. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/huobi.py +0 -0
  129. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/huobijp.py +0 -0
  130. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/huobipro.py +0 -0
  131. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/idex.py +0 -0
  132. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/independentreserve.py +0 -0
  133. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/indodax.py +0 -0
  134. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/kraken.py +0 -0
  135. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/krakenfutures.py +0 -0
  136. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/kucoin.py +0 -0
  137. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/kucoinfutures.py +0 -0
  138. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/kuna.py +0 -0
  139. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/latoken.py +0 -0
  140. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/lbank.py +0 -0
  141. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/lbank2.py +0 -0
  142. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/luno.py +0 -0
  143. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/lykke.py +0 -0
  144. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/mercado.py +0 -0
  145. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/mexc.py +0 -0
  146. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/mexc3.py +0 -0
  147. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/ndax.py +0 -0
  148. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/novadax.py +0 -0
  149. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/oceanex.py +0 -0
  150. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/okcoin.py +0 -0
  151. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/okex.py +0 -0
  152. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/okex5.py +0 -0
  153. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/okx.py +0 -0
  154. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/paymium.py +0 -0
  155. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/phemex.py +0 -0
  156. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/poloniex.py +0 -0
  157. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/poloniexfutures.py +0 -0
  158. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/probit.py +0 -0
  159. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/tidex.py +0 -0
  160. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/timex.py +0 -0
  161. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/tokocrypto.py +0 -0
  162. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/upbit.py +0 -0
  163. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/wavesexchange.py +0 -0
  164. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/wazirx.py +0 -0
  165. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/whitebit.py +0 -0
  166. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/woo.py +0 -0
  167. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/yobit.py +0 -0
  168. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/zaif.py +0 -0
  169. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/abstract/zonda.py +0 -0
  170. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/ace.py +0 -0
  171. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/alpaca.py +0 -0
  172. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/ascendex.py +0 -0
  173. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/ace.py +0 -0
  174. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/alpaca.py +0 -0
  175. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/ascendex.py +0 -0
  176. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/base/__init__.py +0 -0
  177. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/base/throttler.py +0 -0
  178. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/base/ws/__init__.py +0 -0
  179. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  180. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/base/ws/cache.py +0 -0
  181. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/base/ws/client.py +0 -0
  182. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/base/ws/fast_client.py +0 -0
  183. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/base/ws/functions.py +0 -0
  184. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/base/ws/future.py +0 -0
  185. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/base/ws/order_book.py +0 -0
  186. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  187. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bequant.py +0 -0
  188. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bigone.py +0 -0
  189. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/binancecoinm.py +0 -0
  190. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/binanceus.py +0 -0
  191. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/binanceusdm.py +0 -0
  192. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bit2c.py +0 -0
  193. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bitbay.py +0 -0
  194. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bitbns.py +0 -0
  195. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bitcoincom.py +0 -0
  196. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bitfinex2.py +0 -0
  197. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bithumb.py +0 -0
  198. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bitmex.py +0 -0
  199. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bitopro.py +0 -0
  200. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bitpanda.py +0 -0
  201. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bitrue.py +0 -0
  202. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bitso.py +0 -0
  203. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bitstamp.py +0 -0
  204. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bittrex.py +0 -0
  205. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bitvavo.py +0 -0
  206. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/bkex.py +0 -0
  207. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/blockchaincom.py +0 -0
  208. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/btcalpha.py +0 -0
  209. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/btcbox.py +0 -0
  210. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/btcmarkets.py +0 -0
  211. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/btctradeua.py +0 -0
  212. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/btcturk.py +0 -0
  213. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/cex.py +0 -0
  214. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/coinbase.py +0 -0
  215. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/coinbaseprime.py +0 -0
  216. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/coincheck.py +0 -0
  217. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/coinex.py +0 -0
  218. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/coinfalcon.py +0 -0
  219. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/coinmate.py +0 -0
  220. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/coinone.py +0 -0
  221. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/coinsph.py +0 -0
  222. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/coinspot.py +0 -0
  223. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/cryptocom.py +0 -0
  224. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/delta.py +0 -0
  225. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/deribit.py +0 -0
  226. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/digifinex.py +0 -0
  227. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/exmo.py +0 -0
  228. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/flowbtc.py +0 -0
  229. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/fmfwio.py +0 -0
  230. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/gate.py +0 -0
  231. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/gateio.py +0 -0
  232. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/hitbtc.py +0 -0
  233. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/hitbtc3.py +0 -0
  234. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/hollaex.py +0 -0
  235. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/huobipro.py +0 -0
  236. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/independentreserve.py +0 -0
  237. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/indodax.py +0 -0
  238. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/kraken.py +0 -0
  239. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/krakenfutures.py +0 -0
  240. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/kucoin.py +0 -0
  241. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/kuna.py +0 -0
  242. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/latoken.py +0 -0
  243. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/luno.py +0 -0
  244. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/lykke.py +0 -0
  245. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/mercado.py +0 -0
  246. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/mexc.py +0 -0
  247. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/mexc3.py +0 -0
  248. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/ndax.py +0 -0
  249. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/novadax.py +0 -0
  250. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/oceanex.py +0 -0
  251. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/okcoin.py +0 -0
  252. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/okex.py +0 -0
  253. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/okex5.py +0 -0
  254. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/okx.py +0 -0
  255. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/paymium.py +0 -0
  256. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/phemex.py +0 -0
  257. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/poloniex.py +0 -0
  258. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/poloniexfutures.py +0 -0
  259. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/probit.py +0 -0
  260. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/tidex.py +0 -0
  261. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/timex.py +0 -0
  262. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/tokocrypto.py +0 -0
  263. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/upbit.py +0 -0
  264. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/wavesexchange.py +0 -0
  265. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/wazirx.py +0 -0
  266. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/whitebit.py +0 -0
  267. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/woo.py +0 -0
  268. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/yobit.py +0 -0
  269. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/zaif.py +0 -0
  270. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/async_support/zonda.py +0 -0
  271. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/base/__init__.py +0 -0
  272. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/base/decimal_to_precision.py +0 -0
  273. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/base/errors.py +0 -0
  274. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/base/precise.py +0 -0
  275. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/base/types.py +0 -0
  276. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bequant.py +0 -0
  277. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bigone.py +0 -0
  278. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/binancecoinm.py +0 -0
  279. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/binanceus.py +0 -0
  280. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/binanceusdm.py +0 -0
  281. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bit2c.py +0 -0
  282. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bitbay.py +0 -0
  283. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bitbns.py +0 -0
  284. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bitcoincom.py +0 -0
  285. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bitfinex2.py +0 -0
  286. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bithumb.py +0 -0
  287. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bitmex.py +0 -0
  288. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bitopro.py +0 -0
  289. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bitpanda.py +0 -0
  290. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bitrue.py +0 -0
  291. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bitso.py +0 -0
  292. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bitstamp.py +0 -0
  293. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bittrex.py +0 -0
  294. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bitvavo.py +0 -0
  295. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/bkex.py +0 -0
  296. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/blockchaincom.py +0 -0
  297. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/btcalpha.py +0 -0
  298. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/btcbox.py +0 -0
  299. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/btcmarkets.py +0 -0
  300. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/btctradeua.py +0 -0
  301. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/btcturk.py +0 -0
  302. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/cex.py +0 -0
  303. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/coinbase.py +0 -0
  304. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/coinbaseprime.py +0 -0
  305. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/coincheck.py +0 -0
  306. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/coinex.py +0 -0
  307. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/coinfalcon.py +0 -0
  308. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/coinmate.py +0 -0
  309. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/coinone.py +0 -0
  310. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/coinsph.py +0 -0
  311. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/coinspot.py +0 -0
  312. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/cryptocom.py +0 -0
  313. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/delta.py +0 -0
  314. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/deribit.py +0 -0
  315. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/digifinex.py +0 -0
  316. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/exmo.py +0 -0
  317. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/flowbtc.py +0 -0
  318. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/fmfwio.py +0 -0
  319. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/gate.py +0 -0
  320. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/gateio.py +0 -0
  321. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/hitbtc.py +0 -0
  322. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/hitbtc3.py +0 -0
  323. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/hollaex.py +0 -0
  324. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/huobipro.py +0 -0
  325. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/independentreserve.py +0 -0
  326. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/indodax.py +0 -0
  327. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/kraken.py +0 -0
  328. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/krakenfutures.py +0 -0
  329. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/kucoin.py +0 -0
  330. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/kuna.py +0 -0
  331. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/latoken.py +0 -0
  332. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/luno.py +0 -0
  333. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/lykke.py +0 -0
  334. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/mercado.py +0 -0
  335. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/mexc.py +0 -0
  336. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/mexc3.py +0 -0
  337. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/ndax.py +0 -0
  338. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/novadax.py +0 -0
  339. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/oceanex.py +0 -0
  340. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/okcoin.py +0 -0
  341. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/okex.py +0 -0
  342. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/okex5.py +0 -0
  343. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/okx.py +0 -0
  344. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/paymium.py +0 -0
  345. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/phemex.py +0 -0
  346. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/poloniex.py +0 -0
  347. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/poloniexfutures.py +0 -0
  348. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/alpaca.py +0 -0
  349. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/ascendex.py +0 -0
  350. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/bequant.py +0 -0
  351. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/binancecoinm.py +0 -0
  352. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/binanceus.py +0 -0
  353. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/binanceusdm.py +0 -0
  354. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/bitcoincom.py +0 -0
  355. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/bitfinex.py +0 -0
  356. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/bitfinex2.py +0 -0
  357. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/bitget.py +0 -0
  358. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/bitmart.py +0 -0
  359. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/bitmex.py +0 -0
  360. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/bitopro.py +0 -0
  361. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/bitpanda.py +0 -0
  362. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/bitrue.py +0 -0
  363. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/bitstamp.py +0 -0
  364. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/bittrex.py +0 -0
  365. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/bitvavo.py +0 -0
  366. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/blockchaincom.py +0 -0
  367. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/btcex.py +0 -0
  368. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/cex.py +0 -0
  369. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/coinbase.py +0 -0
  370. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/coinbaseprime.py +0 -0
  371. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/coinex.py +0 -0
  372. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/cryptocom.py +0 -0
  373. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/currencycom.py +0 -0
  374. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/deribit.py +0 -0
  375. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/exmo.py +0 -0
  376. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/gate.py +0 -0
  377. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/gateio.py +0 -0
  378. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/gemini.py +0 -0
  379. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/hitbtc.py +0 -0
  380. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/hollaex.py +0 -0
  381. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/huobi.py +0 -0
  382. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/huobipro.py +0 -0
  383. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/idex.py +0 -0
  384. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/independentreserve.py +0 -0
  385. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/kraken.py +0 -0
  386. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/luno.py +0 -0
  387. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/mexc.py +0 -0
  388. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/mexc3.py +0 -0
  389. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/ndax.py +0 -0
  390. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/okcoin.py +0 -0
  391. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/okex.py +0 -0
  392. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/okx.py +0 -0
  393. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/poloniex.py +0 -0
  394. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/poloniexfutures.py +0 -0
  395. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/probit.py +0 -0
  396. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/ripio.py +0 -0
  397. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/upbit.py +0 -0
  398. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/wazirx.py +0 -0
  399. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/whitebit.py +0 -0
  400. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/woo.py +0 -0
  401. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/pro/zb.py +0 -0
  402. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/probit.py +0 -0
  403. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/static_dependencies/__init__.py +0 -0
  404. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  405. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  406. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  407. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  408. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  409. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  410. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  411. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  412. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  413. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  414. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  415. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  416. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/__init__.py +0 -0
  417. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/__init__.py +0 -0
  418. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_account.py +0 -0
  419. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_balance.py +0 -0
  420. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_borrow_interest.py +0 -0
  421. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_borrow_rate.py +0 -0
  422. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_calculate_fee.py +0 -0
  423. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_crypto.py +0 -0
  424. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_currency.py +0 -0
  425. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_datetime.py +0 -0
  426. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_decimal_to_precision.py +0 -0
  427. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_deep_extend.py +0 -0
  428. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
  429. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
  430. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_funding_rate_history.py +0 -0
  431. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_ledger_entry.py +0 -0
  432. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_ledger_item.py +0 -0
  433. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_leverage_tier.py +0 -0
  434. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_margin_modification.py +0 -0
  435. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_market.py +0 -0
  436. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_number.py +0 -0
  437. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_ohlcv.py +0 -0
  438. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_open_interest.py +0 -0
  439. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_order.py +0 -0
  440. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_order_book.py +0 -0
  441. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_position.py +0 -0
  442. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_shared_methods.py +0 -0
  443. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_status.py +0 -0
  444. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_throttle.py +0 -0
  445. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_ticker.py +0 -0
  446. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_trade.py +0 -0
  447. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_trading_fee.py +0 -0
  448. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/test/base/test_transaction.py +0 -0
  449. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/tidex.py +0 -0
  450. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/timex.py +0 -0
  451. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/tokocrypto.py +0 -0
  452. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/upbit.py +0 -0
  453. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/wavesexchange.py +0 -0
  454. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/wazirx.py +0 -0
  455. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/whitebit.py +0 -0
  456. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/woo.py +0 -0
  457. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/yobit.py +0 -0
  458. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/zaif.py +0 -0
  459. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt/zonda.py +0 -0
  460. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt.egg-info/dependency_links.txt +0 -0
  461. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt.egg-info/requires.txt +0 -0
  462. {ccxt-4.0.100 → ccxt-4.0.102}/ccxt.egg-info/top_level.txt +0 -0
  463. {ccxt-4.0.100 → ccxt-4.0.102}/setup.cfg +0 -0
  464. {ccxt-4.0.100 → 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.100
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.100/dist/ccxt.browser.js
232
- * unpkg: https://unpkg.com/ccxt@4.0.100/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.100/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.100'
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.100'
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.100'
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,
@@ -3299,6 +3307,18 @@ class binance(Exchange, ImplicitAPI):
3299
3307
  # "M": True # Was the trade the best price match?
3300
3308
  # }
3301
3309
  #
3310
+ # REST: aggregate trades for swap & future(both linear and inverse)
3311
+ #
3312
+ # {
3313
+ # "a": "269772814",
3314
+ # "p": "25864.1",
3315
+ # "q": "3",
3316
+ # "f": "662149354",
3317
+ # "l": "662149355",
3318
+ # "T": "1694209776022",
3319
+ # "m": False,
3320
+ # }
3321
+ #
3302
3322
  # recent public trades and old public trades
3303
3323
  # https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md#recent-trades-list
3304
3324
  # https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md#old-trade-lookup-market_data
@@ -3530,7 +3550,8 @@ class binance(Exchange, ImplicitAPI):
3530
3550
  if until is not None:
3531
3551
  request['endTime'] = until
3532
3552
  if limit is not None:
3533
- request['limit'] = limit # default = 500, maximum = 1000
3553
+ isFutureOrSwap = (market['swap'] or market['future'])
3554
+ request['limit'] = min(limit, 1000) if isFutureOrSwap else limit # default = 500, maximum = 1000
3534
3555
  params = self.omit(params, ['until', 'fetchTradesMethod'])
3535
3556
  #
3536
3557
  # Caveats:
@@ -3558,6 +3579,20 @@ class binance(Exchange, ImplicitAPI):
3558
3579
  # }
3559
3580
  # ]
3560
3581
  #
3582
+ # inverse(swap & future)
3583
+ #
3584
+ # [
3585
+ # {
3586
+ # "a": "269772814",
3587
+ # "p": "25864.1",
3588
+ # "q": "3",
3589
+ # "f": "662149354",
3590
+ # "l": "662149355",
3591
+ # "T": "1694209776022",
3592
+ # "m": False,
3593
+ # },
3594
+ # ]
3595
+ #
3561
3596
  # recent public trades and historical public trades
3562
3597
  #
3563
3598
  # [
@@ -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()
@@ -318,6 +318,17 @@ class bitbank(Exchange, ImplicitAPI):
318
318
  return self.parse_order_book(orderbook, market['symbol'], timestamp)
319
319
 
320
320
  def parse_trade(self, trade, market=None):
321
+ #
322
+ # fetchTrades
323
+ #
324
+ # {
325
+ # "transaction_id": "1143247037",
326
+ # "side": "buy",
327
+ # "price": "3836025",
328
+ # "amount": "0.0005",
329
+ # "executed_at": "1694249441593"
330
+ # }
331
+ #
321
332
  timestamp = self.safe_integer(trade, 'executed_at')
322
333
  market = self.safe_market(None, market)
323
334
  priceString = self.safe_string(trade, 'price')
@@ -899,14 +899,6 @@ class bitfinex(Exchange, ImplicitAPI):
899
899
  # "type":"sell"
900
900
  # }
901
901
  #
902
- # { "timestamp":1637258238,
903
- # "tid":894452800,
904
- # "price":"0.99958",
905
- # "amount":"261.90514",
906
- # "exchange":"bitfinex",
907
- # "type":"buy"
908
- # }
909
- #
910
902
  # fetchMyTrades(private) v1
911
903
  #
912
904
  # {
@@ -981,6 +973,18 @@ class bitfinex(Exchange, ImplicitAPI):
981
973
  if since is not None:
982
974
  request['timestamp'] = self.parse_to_int(since / 1000)
983
975
  response = await self.publicGetTradesSymbol(self.extend(request, params))
976
+ #
977
+ # [
978
+ # {
979
+ # "timestamp": "1694284565",
980
+ # "tid": "1415415034",
981
+ # "price": "25862.0",
982
+ # "amount": "0.00020685",
983
+ # "exchange": "bitfinex",
984
+ # "type": "buy"
985
+ # },
986
+ # ]
987
+ #
984
988
  return self.parse_trades(response, market, since, limit)
985
989
 
986
990
  async def fetch_my_trades(self, symbol: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None, params={}):
@@ -395,7 +395,7 @@ class bitflyer(Exchange, ImplicitAPI):
395
395
  #
396
396
  # fetchTrades(public) v1
397
397
  #
398
- # {
398
+ # {
399
399
  # "id":2278466664,
400
400
  # "side":"SELL",
401
401
  # "price":56810.7,
@@ -405,16 +405,18 @@ class bitflyer(Exchange, ImplicitAPI):
405
405
  # "sell_child_order_acceptance_id":"JRF20211119-114639-236919"
406
406
  # }
407
407
  #
408
- # {
409
- # "id":2278463423,
410
- # "side":"BUY",
411
- # "price":56757.83,
412
- # "size":0.6003,"exec_date":"2021-11-19T11:28:00.523",
413
- # "buy_child_order_acceptance_id":"JRF20211119-112800-236526",
414
- # "sell_child_order_acceptance_id":"JRF20211119-112734-062017"
415
- # }
416
- #
408
+ # fetchMyTrades
417
409
  #
410
+ # {
411
+ # "id": 37233,
412
+ # "side": "BUY",
413
+ # "price": 33470,
414
+ # "size": 0.01,
415
+ # "exec_date": "2015-07-07T09:57:40.397",
416
+ # "child_order_id": "JOR20150707-060559-021935",
417
+ # "child_order_acceptance_id": "JRF20150707-060559-396699"
418
+ # "commission": 0,
419
+ # },
418
420
  #
419
421
  side = self.safe_string_lower(trade, 'side')
420
422
  if side is not None:
@@ -465,6 +467,19 @@ class bitflyer(Exchange, ImplicitAPI):
465
467
  if limit is not None:
466
468
  request['count'] = limit
467
469
  response = await self.publicGetGetexecutions(self.extend(request, params))
470
+ #
471
+ # [
472
+ # {
473
+ # "id": 39287,
474
+ # "side": "BUY",
475
+ # "price": 31690,
476
+ # "size": 27.04,
477
+ # "exec_date": "2015-07-08T02:43:34.823",
478
+ # "buy_child_order_acceptance_id": "JRF20150707-200203-452209",
479
+ # "sell_child_order_acceptance_id": "JRF20150708-024334-060234"
480
+ # },
481
+ # ]
482
+ #
468
483
  return self.parse_trades(response, market, since, limit)
469
484
 
470
485
  async def fetch_trading_fee(self, symbol: str, params={}):
@@ -677,6 +692,20 @@ class bitflyer(Exchange, ImplicitAPI):
677
692
  if limit is not None:
678
693
  request['count'] = limit
679
694
  response = await self.privateGetGetexecutions(self.extend(request, params))
695
+ #
696
+ # [
697
+ # {
698
+ # "id": 37233,
699
+ # "side": "BUY",
700
+ # "price": 33470,
701
+ # "size": 0.01,
702
+ # "exec_date": "2015-07-07T09:57:40.397",
703
+ # "child_order_id": "JOR20150707-060559-021935",
704
+ # "child_order_acceptance_id": "JRF20150707-060559-396699"
705
+ # "commission": 0,
706
+ # },
707
+ # ]
708
+ #
680
709
  return self.parse_trades(response, market, since, limit)
681
710
 
682
711
  async def fetch_positions(self, symbols: Optional[List[str]] = None, params={}):
@@ -254,14 +254,6 @@ class bitforex(Exchange, ImplicitAPI):
254
254
  # "tid":"1131019666"
255
255
  # }
256
256
  #
257
- # {
258
- # "price":57591.33,
259
- # "amount":0.002,
260
- # "time":1637329685322,
261
- # "direction":1,
262
- # "tid":"1131019639"
263
- # }
264
- #
265
257
  # fetchMyTrades(private)
266
258
  #
267
259
  # {