ccxt 3.1.33__tar.gz → 3.1.35__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (476) hide show
  1. {ccxt-3.1.33/ccxt.egg-info → ccxt-3.1.35}/PKG-INFO +4 -4
  2. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/__init__.py +1 -1
  3. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/binance.py +2 -0
  4. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/binancecoinm.py +2 -0
  5. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/binanceus.py +2 -0
  6. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/binanceusdm.py +2 -0
  7. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bitbank.py +6 -0
  8. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/__init__.py +1 -1
  9. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/base/exchange.py +1 -1
  10. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/binance.py +23 -27
  11. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bitbank.py +6 -0
  12. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/gate.py +103 -16
  13. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/mexc.py +4 -1
  14. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/base/exchange.py +1 -1
  15. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/binance.py +23 -27
  16. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bitbank.py +6 -0
  17. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/gate.py +103 -16
  18. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/mexc.py +4 -1
  19. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/__init__.py +1 -1
  20. {ccxt-3.1.33 → ccxt-3.1.35/ccxt.egg-info}/PKG-INFO +4 -4
  21. {ccxt-3.1.33 → ccxt-3.1.35}/package.json +1 -1
  22. {ccxt-3.1.33 → ccxt-3.1.35}/LICENSE.txt +0 -0
  23. {ccxt-3.1.33 → ccxt-3.1.35}/MANIFEST.in +0 -0
  24. {ccxt-3.1.33 → ccxt-3.1.35}/README.rst +0 -0
  25. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/__init__.py +0 -0
  26. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/ace.py +0 -0
  27. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/alpaca.py +0 -0
  28. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/ascendex.py +0 -0
  29. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bequant.py +0 -0
  30. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bigone.py +0 -0
  31. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bit2c.py +0 -0
  32. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bitbay.py +0 -0
  33. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bitbns.py +0 -0
  34. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bitcoincom.py +0 -0
  35. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bitfinex.py +0 -0
  36. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bitfinex2.py +0 -0
  37. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bitflyer.py +0 -0
  38. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bitforex.py +0 -0
  39. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bitget.py +0 -0
  40. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bithumb.py +0 -0
  41. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bitmart.py +0 -0
  42. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bitmex.py +0 -0
  43. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bitopro.py +0 -0
  44. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bitpanda.py +0 -0
  45. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bitrue.py +0 -0
  46. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bitso.py +0 -0
  47. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bitstamp.py +0 -0
  48. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bitstamp1.py +0 -0
  49. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bittrex.py +0 -0
  50. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bitvavo.py +0 -0
  51. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bkex.py +0 -0
  52. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bl3p.py +0 -0
  53. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/blockchaincom.py +0 -0
  54. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/btcalpha.py +0 -0
  55. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/btcbox.py +0 -0
  56. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/btcex.py +0 -0
  57. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/btcmarkets.py +0 -0
  58. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/btctradeua.py +0 -0
  59. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/btcturk.py +0 -0
  60. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/bybit.py +0 -0
  61. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/cex.py +0 -0
  62. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/coinbase.py +0 -0
  63. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/coinbaseprime.py +0 -0
  64. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/coinbasepro.py +0 -0
  65. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/coincheck.py +0 -0
  66. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/coinex.py +0 -0
  67. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/coinfalcon.py +0 -0
  68. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/coinmate.py +0 -0
  69. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/coinone.py +0 -0
  70. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/coinsph.py +0 -0
  71. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/coinspot.py +0 -0
  72. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/cryptocom.py +0 -0
  73. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/currencycom.py +0 -0
  74. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/delta.py +0 -0
  75. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/deribit.py +0 -0
  76. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/digifinex.py +0 -0
  77. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/exmo.py +0 -0
  78. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/fmfwio.py +0 -0
  79. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/gate.py +0 -0
  80. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/gateio.py +0 -0
  81. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/gemini.py +0 -0
  82. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/hitbtc.py +0 -0
  83. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/hitbtc3.py +0 -0
  84. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/hollaex.py +0 -0
  85. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/huobi.py +0 -0
  86. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/huobijp.py +0 -0
  87. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/huobipro.py +0 -0
  88. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/idex.py +0 -0
  89. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/independentreserve.py +0 -0
  90. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/indodax.py +0 -0
  91. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/kraken.py +0 -0
  92. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/krakenfutures.py +0 -0
  93. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/kucoin.py +0 -0
  94. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/kucoinfutures.py +0 -0
  95. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/kuna.py +0 -0
  96. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/latoken.py +0 -0
  97. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/lbank.py +0 -0
  98. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/lbank2.py +0 -0
  99. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/luno.py +0 -0
  100. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/lykke.py +0 -0
  101. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/mercado.py +0 -0
  102. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/mexc.py +0 -0
  103. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/mexc3.py +0 -0
  104. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/ndax.py +0 -0
  105. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/novadax.py +0 -0
  106. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/oceanex.py +0 -0
  107. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/okcoin.py +0 -0
  108. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/okex.py +0 -0
  109. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/okex5.py +0 -0
  110. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/okx.py +0 -0
  111. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/paymium.py +0 -0
  112. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/phemex.py +0 -0
  113. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/poloniex.py +0 -0
  114. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/poloniexfutures.py +0 -0
  115. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/probit.py +0 -0
  116. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/tidex.py +0 -0
  117. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/timex.py +0 -0
  118. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/tokocrypto.py +0 -0
  119. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/upbit.py +0 -0
  120. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/wavesexchange.py +0 -0
  121. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/wazirx.py +0 -0
  122. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/whitebit.py +0 -0
  123. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/woo.py +0 -0
  124. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/xt.py +0 -0
  125. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/yobit.py +0 -0
  126. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/zaif.py +0 -0
  127. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/abstract/zonda.py +0 -0
  128. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/ace.py +0 -0
  129. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/alpaca.py +0 -0
  130. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/ascendex.py +0 -0
  131. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/ace.py +0 -0
  132. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/alpaca.py +0 -0
  133. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/ascendex.py +0 -0
  134. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/base/__init__.py +0 -0
  135. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/base/throttler.py +0 -0
  136. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/base/ws/__init__.py +0 -0
  137. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  138. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/base/ws/cache.py +0 -0
  139. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/base/ws/client.py +0 -0
  140. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/base/ws/fast_client.py +0 -0
  141. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/base/ws/functions.py +0 -0
  142. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/base/ws/future.py +0 -0
  143. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/base/ws/order_book.py +0 -0
  144. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  145. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bequant.py +0 -0
  146. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bigone.py +0 -0
  147. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/binancecoinm.py +0 -0
  148. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/binanceus.py +0 -0
  149. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/binanceusdm.py +0 -0
  150. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bit2c.py +0 -0
  151. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bitbay.py +0 -0
  152. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bitbns.py +0 -0
  153. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bitcoincom.py +0 -0
  154. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bitfinex.py +0 -0
  155. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bitfinex2.py +0 -0
  156. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bitflyer.py +0 -0
  157. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bitforex.py +0 -0
  158. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bitget.py +0 -0
  159. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bithumb.py +0 -0
  160. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bitmart.py +0 -0
  161. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bitmex.py +0 -0
  162. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bitopro.py +0 -0
  163. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bitpanda.py +0 -0
  164. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bitrue.py +0 -0
  165. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bitso.py +0 -0
  166. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bitstamp.py +0 -0
  167. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bitstamp1.py +0 -0
  168. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bittrex.py +0 -0
  169. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bitvavo.py +0 -0
  170. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bkex.py +0 -0
  171. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bl3p.py +0 -0
  172. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/blockchaincom.py +0 -0
  173. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/btcalpha.py +0 -0
  174. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/btcbox.py +0 -0
  175. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/btcex.py +0 -0
  176. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/btcmarkets.py +0 -0
  177. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/btctradeua.py +0 -0
  178. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/btcturk.py +0 -0
  179. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/buda.py +0 -0
  180. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/bybit.py +0 -0
  181. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/cex.py +0 -0
  182. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/coinbase.py +0 -0
  183. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/coinbaseprime.py +0 -0
  184. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/coinbasepro.py +0 -0
  185. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/coincheck.py +0 -0
  186. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/coinex.py +0 -0
  187. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/coinfalcon.py +0 -0
  188. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/coinmate.py +0 -0
  189. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/coinone.py +0 -0
  190. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/coinsph.py +0 -0
  191. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/coinspot.py +0 -0
  192. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/cryptocom.py +0 -0
  193. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/currencycom.py +0 -0
  194. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/delta.py +0 -0
  195. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/deribit.py +0 -0
  196. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/digifinex.py +0 -0
  197. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/exmo.py +0 -0
  198. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/flowbtc.py +0 -0
  199. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/fmfwio.py +0 -0
  200. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/gateio.py +0 -0
  201. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/gemini.py +0 -0
  202. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/hitbtc.py +0 -0
  203. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/hitbtc3.py +0 -0
  204. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/hollaex.py +0 -0
  205. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/huobi.py +0 -0
  206. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/huobijp.py +0 -0
  207. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/huobipro.py +0 -0
  208. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/idex.py +0 -0
  209. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/independentreserve.py +0 -0
  210. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/indodax.py +0 -0
  211. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/itbit.py +0 -0
  212. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/kraken.py +0 -0
  213. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/krakenfutures.py +0 -0
  214. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/kucoin.py +0 -0
  215. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/kucoinfutures.py +0 -0
  216. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/kuna.py +0 -0
  217. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/latoken.py +0 -0
  218. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/lbank.py +0 -0
  219. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/lbank2.py +0 -0
  220. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/luno.py +0 -0
  221. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/lykke.py +0 -0
  222. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/mercado.py +0 -0
  223. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/mexc3.py +0 -0
  224. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/ndax.py +0 -0
  225. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/novadax.py +0 -0
  226. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/oceanex.py +0 -0
  227. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/okcoin.py +0 -0
  228. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/okex.py +0 -0
  229. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/okex5.py +0 -0
  230. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/okx.py +0 -0
  231. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/paymium.py +0 -0
  232. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/phemex.py +0 -0
  233. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/poloniex.py +0 -0
  234. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/poloniexfutures.py +0 -0
  235. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/probit.py +0 -0
  236. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/ripio.py +0 -0
  237. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/stex.py +0 -0
  238. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/tidex.py +0 -0
  239. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/timex.py +0 -0
  240. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/tokocrypto.py +0 -0
  241. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/upbit.py +0 -0
  242. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/wavesexchange.py +0 -0
  243. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/wazirx.py +0 -0
  244. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/whitebit.py +0 -0
  245. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/woo.py +0 -0
  246. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/xt.py +0 -0
  247. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/yobit.py +0 -0
  248. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/zaif.py +0 -0
  249. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/zb.py +0 -0
  250. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/async_support/zonda.py +0 -0
  251. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/base/__init__.py +0 -0
  252. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/base/decimal_to_precision.py +0 -0
  253. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/base/errors.py +0 -0
  254. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/base/precise.py +0 -0
  255. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/base/types.py +0 -0
  256. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bequant.py +0 -0
  257. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bigone.py +0 -0
  258. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/binancecoinm.py +0 -0
  259. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/binanceus.py +0 -0
  260. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/binanceusdm.py +0 -0
  261. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bit2c.py +0 -0
  262. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bitbay.py +0 -0
  263. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bitbns.py +0 -0
  264. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bitcoincom.py +0 -0
  265. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bitfinex.py +0 -0
  266. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bitfinex2.py +0 -0
  267. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bitflyer.py +0 -0
  268. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bitforex.py +0 -0
  269. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bitget.py +0 -0
  270. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bithumb.py +0 -0
  271. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bitmart.py +0 -0
  272. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bitmex.py +0 -0
  273. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bitopro.py +0 -0
  274. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bitpanda.py +0 -0
  275. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bitrue.py +0 -0
  276. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bitso.py +0 -0
  277. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bitstamp.py +0 -0
  278. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bitstamp1.py +0 -0
  279. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bittrex.py +0 -0
  280. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bitvavo.py +0 -0
  281. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bkex.py +0 -0
  282. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bl3p.py +0 -0
  283. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/blockchaincom.py +0 -0
  284. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/btcalpha.py +0 -0
  285. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/btcbox.py +0 -0
  286. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/btcex.py +0 -0
  287. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/btcmarkets.py +0 -0
  288. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/btctradeua.py +0 -0
  289. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/btcturk.py +0 -0
  290. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/buda.py +0 -0
  291. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/bybit.py +0 -0
  292. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/cex.py +0 -0
  293. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/coinbase.py +0 -0
  294. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/coinbaseprime.py +0 -0
  295. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/coinbasepro.py +0 -0
  296. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/coincheck.py +0 -0
  297. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/coinex.py +0 -0
  298. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/coinfalcon.py +0 -0
  299. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/coinmate.py +0 -0
  300. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/coinone.py +0 -0
  301. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/coinsph.py +0 -0
  302. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/coinspot.py +0 -0
  303. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/cryptocom.py +0 -0
  304. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/currencycom.py +0 -0
  305. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/delta.py +0 -0
  306. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/deribit.py +0 -0
  307. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/digifinex.py +0 -0
  308. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/exmo.py +0 -0
  309. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/flowbtc.py +0 -0
  310. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/fmfwio.py +0 -0
  311. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/gateio.py +0 -0
  312. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/gemini.py +0 -0
  313. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/hitbtc.py +0 -0
  314. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/hitbtc3.py +0 -0
  315. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/hollaex.py +0 -0
  316. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/huobi.py +0 -0
  317. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/huobijp.py +0 -0
  318. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/huobipro.py +0 -0
  319. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/idex.py +0 -0
  320. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/independentreserve.py +0 -0
  321. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/indodax.py +0 -0
  322. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/itbit.py +0 -0
  323. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/kraken.py +0 -0
  324. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/krakenfutures.py +0 -0
  325. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/kucoin.py +0 -0
  326. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/kucoinfutures.py +0 -0
  327. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/kuna.py +0 -0
  328. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/latoken.py +0 -0
  329. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/lbank.py +0 -0
  330. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/lbank2.py +0 -0
  331. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/luno.py +0 -0
  332. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/lykke.py +0 -0
  333. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/mercado.py +0 -0
  334. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/mexc3.py +0 -0
  335. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/ndax.py +0 -0
  336. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/novadax.py +0 -0
  337. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/oceanex.py +0 -0
  338. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/okcoin.py +0 -0
  339. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/okex.py +0 -0
  340. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/okex5.py +0 -0
  341. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/okx.py +0 -0
  342. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/paymium.py +0 -0
  343. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/phemex.py +0 -0
  344. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/poloniex.py +0 -0
  345. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/poloniexfutures.py +0 -0
  346. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/alpaca.py +0 -0
  347. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/ascendex.py +0 -0
  348. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/bequant.py +0 -0
  349. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/binance.py +0 -0
  350. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/binancecoinm.py +0 -0
  351. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/binanceus.py +0 -0
  352. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/binanceusdm.py +0 -0
  353. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/bitcoincom.py +0 -0
  354. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/bitfinex.py +0 -0
  355. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/bitfinex2.py +0 -0
  356. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/bitget.py +0 -0
  357. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/bitmart.py +0 -0
  358. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/bitmex.py +0 -0
  359. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/bitopro.py +0 -0
  360. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/bitpanda.py +0 -0
  361. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/bitrue.py +0 -0
  362. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/bitstamp.py +0 -0
  363. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/bittrex.py +0 -0
  364. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/bitvavo.py +0 -0
  365. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/blockchaincom.py +0 -0
  366. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/btcex.py +0 -0
  367. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/bybit.py +0 -0
  368. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/cex.py +0 -0
  369. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/coinbaseprime.py +0 -0
  370. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/coinbasepro.py +0 -0
  371. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/coinex.py +0 -0
  372. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/cryptocom.py +0 -0
  373. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/currencycom.py +0 -0
  374. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/deribit.py +0 -0
  375. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/exmo.py +0 -0
  376. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/gate.py +0 -0
  377. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/gateio.py +0 -0
  378. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/gemini.py +0 -0
  379. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/hitbtc.py +0 -0
  380. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/hollaex.py +0 -0
  381. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/huobi.py +0 -0
  382. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/huobijp.py +0 -0
  383. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/huobipro.py +0 -0
  384. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/idex.py +0 -0
  385. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/independentreserve.py +0 -0
  386. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/kraken.py +0 -0
  387. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/krakenfutures.py +0 -0
  388. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/kucoin.py +0 -0
  389. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/kucoinfutures.py +0 -0
  390. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/luno.py +0 -0
  391. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/mexc.py +0 -0
  392. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/mexc3.py +0 -0
  393. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/ndax.py +0 -0
  394. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/okcoin.py +0 -0
  395. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/okex.py +0 -0
  396. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/okx.py +0 -0
  397. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/phemex.py +0 -0
  398. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/poloniex.py +0 -0
  399. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/poloniexfutures.py +0 -0
  400. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/probit.py +0 -0
  401. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/ripio.py +0 -0
  402. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/upbit.py +0 -0
  403. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/wazirx.py +0 -0
  404. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/whitebit.py +0 -0
  405. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/woo.py +0 -0
  406. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/pro/zb.py +0 -0
  407. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/probit.py +0 -0
  408. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/ripio.py +0 -0
  409. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/static_dependencies/__init__.py +0 -0
  410. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  411. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  412. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  413. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  414. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  415. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  416. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  417. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  418. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  419. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  420. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  421. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  422. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/stex.py +0 -0
  423. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/__init__.py +0 -0
  424. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/__init__.py +0 -0
  425. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_account.py +0 -0
  426. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_balance.py +0 -0
  427. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_borrow_interest.py +0 -0
  428. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_borrow_rate.py +0 -0
  429. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_calculate_fee.py +0 -0
  430. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_crypto.py +0 -0
  431. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_currency.py +0 -0
  432. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_datetime.py +0 -0
  433. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_decimal_to_precision.py +0 -0
  434. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_deep_extend.py +0 -0
  435. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
  436. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
  437. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_funding_rate_history.py +0 -0
  438. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_ledger_entry.py +0 -0
  439. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_ledger_item.py +0 -0
  440. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_leverage_tier.py +0 -0
  441. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_margin_modification.py +0 -0
  442. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_market.py +0 -0
  443. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_number.py +0 -0
  444. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_ohlcv.py +0 -0
  445. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_open_interest.py +0 -0
  446. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_order.py +0 -0
  447. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_order_book.py +0 -0
  448. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_position.py +0 -0
  449. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_shared_methods.py +0 -0
  450. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_status.py +0 -0
  451. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_throttle.py +0 -0
  452. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_ticker.py +0 -0
  453. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_trade.py +0 -0
  454. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_trading_fee.py +0 -0
  455. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/base/test_transaction.py +0 -0
  456. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/test_async.py +0 -0
  457. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/test/test_sync.py +0 -0
  458. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/tidex.py +0 -0
  459. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/timex.py +0 -0
  460. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/tokocrypto.py +0 -0
  461. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/upbit.py +0 -0
  462. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/wavesexchange.py +0 -0
  463. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/wazirx.py +0 -0
  464. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/whitebit.py +0 -0
  465. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/woo.py +0 -0
  466. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/xt.py +0 -0
  467. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/yobit.py +0 -0
  468. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/zaif.py +0 -0
  469. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/zb.py +0 -0
  470. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt/zonda.py +0 -0
  471. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt.egg-info/SOURCES.txt +0 -0
  472. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt.egg-info/dependency_links.txt +0 -0
  473. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt.egg-info/requires.txt +0 -0
  474. {ccxt-3.1.33 → ccxt-3.1.35}/ccxt.egg-info/top_level.txt +0 -0
  475. {ccxt-3.1.33 → ccxt-3.1.35}/setup.cfg +0 -0
  476. {ccxt-3.1.33 → ccxt-3.1.35}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 3.1.33
3
+ Version: 3.1.35
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
@@ -233,13 +233,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
233
233
 
234
234
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
235
235
 
236
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@3.1.33/dist/ccxt.browser.js
237
- * unpkg: https://unpkg.com/ccxt@3.1.33/dist/ccxt.browser.js
236
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@3.1.35/dist/ccxt.browser.js
237
+ * unpkg: https://unpkg.com/ccxt@3.1.35/dist/ccxt.browser.js
238
238
 
239
239
  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.
240
240
 
241
241
  ```HTML
242
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@3.1.33/dist/ccxt.browser.js"></script>
242
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@3.1.35/dist/ccxt.browser.js"></script>
243
243
  ```
244
244
 
245
245
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '3.1.33'
25
+ __version__ = '3.1.35'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -264,6 +264,8 @@ class ImplicitAPI:
264
264
  sapi_post_loan_vip_repay = sapiPostLoanVipRepay = Entry('loan/vip/repay', 'sapi', 'POST', {'cost': 40})
265
265
  sapi_post_convert_getquote = sapiPostConvertGetQuote = Entry('convert/getQuote', 'sapi', 'POST', {'cost': 20.001})
266
266
  sapi_post_convert_acceptquote = sapiPostConvertAcceptQuote = Entry('convert/acceptQuote', 'sapi', 'POST', {'cost': 3.3335})
267
+ sapi_post_portfolio_auto_collection = sapiPostPortfolioAutoCollection = Entry('portfolio/auto-collection', 'sapi', 'POST', {'cost': 0.6667})
268
+ sapi_post_portfolio_bnb_transfer = sapiPostPortfolioBnbTransfer = Entry('portfolio/bnb-transfer', 'sapi', 'POST', {'cost': 0.6667})
267
269
  sapi_put_userdatastream = sapiPutUserDataStream = Entry('userDataStream', 'sapi', 'PUT', {'cost': 0.1})
268
270
  sapi_put_userdatastream_isolated = sapiPutUserDataStreamIsolated = Entry('userDataStream/isolated', 'sapi', 'PUT', {'cost': 0.1})
269
271
  sapi_delete_margin_openorders = sapiDeleteMarginOpenOrders = Entry('margin/openOrders', 'sapi', 'DELETE', {'cost': 0.1})
@@ -264,6 +264,8 @@ class ImplicitAPI:
264
264
  sapi_post_loan_vip_repay = sapiPostLoanVipRepay = Entry('loan/vip/repay', 'sapi', 'POST', {'cost': 40})
265
265
  sapi_post_convert_getquote = sapiPostConvertGetQuote = Entry('convert/getQuote', 'sapi', 'POST', {'cost': 20.001})
266
266
  sapi_post_convert_acceptquote = sapiPostConvertAcceptQuote = Entry('convert/acceptQuote', 'sapi', 'POST', {'cost': 3.3335})
267
+ sapi_post_portfolio_auto_collection = sapiPostPortfolioAutoCollection = Entry('portfolio/auto-collection', 'sapi', 'POST', {'cost': 0.6667})
268
+ sapi_post_portfolio_bnb_transfer = sapiPostPortfolioBnbTransfer = Entry('portfolio/bnb-transfer', 'sapi', 'POST', {'cost': 0.6667})
267
269
  sapi_put_userdatastream = sapiPutUserDataStream = Entry('userDataStream', 'sapi', 'PUT', {'cost': 0.1})
268
270
  sapi_put_userdatastream_isolated = sapiPutUserDataStreamIsolated = Entry('userDataStream/isolated', 'sapi', 'PUT', {'cost': 0.1})
269
271
  sapi_delete_margin_openorders = sapiDeleteMarginOpenOrders = Entry('margin/openOrders', 'sapi', 'DELETE', {'cost': 0.1})
@@ -264,6 +264,8 @@ class ImplicitAPI:
264
264
  sapi_post_loan_vip_repay = sapiPostLoanVipRepay = Entry('loan/vip/repay', 'sapi', 'POST', {'cost': 40})
265
265
  sapi_post_convert_getquote = sapiPostConvertGetQuote = Entry('convert/getQuote', 'sapi', 'POST', {'cost': 20.001})
266
266
  sapi_post_convert_acceptquote = sapiPostConvertAcceptQuote = Entry('convert/acceptQuote', 'sapi', 'POST', {'cost': 3.3335})
267
+ sapi_post_portfolio_auto_collection = sapiPostPortfolioAutoCollection = Entry('portfolio/auto-collection', 'sapi', 'POST', {'cost': 0.6667})
268
+ sapi_post_portfolio_bnb_transfer = sapiPostPortfolioBnbTransfer = Entry('portfolio/bnb-transfer', 'sapi', 'POST', {'cost': 0.6667})
267
269
  sapi_put_userdatastream = sapiPutUserDataStream = Entry('userDataStream', 'sapi', 'PUT', {'cost': 0.1})
268
270
  sapi_put_userdatastream_isolated = sapiPutUserDataStreamIsolated = Entry('userDataStream/isolated', 'sapi', 'PUT', {'cost': 0.1})
269
271
  sapi_delete_margin_openorders = sapiDeleteMarginOpenOrders = Entry('margin/openOrders', 'sapi', 'DELETE', {'cost': 0.1})
@@ -264,6 +264,8 @@ class ImplicitAPI:
264
264
  sapi_post_loan_vip_repay = sapiPostLoanVipRepay = Entry('loan/vip/repay', 'sapi', 'POST', {'cost': 40})
265
265
  sapi_post_convert_getquote = sapiPostConvertGetQuote = Entry('convert/getQuote', 'sapi', 'POST', {'cost': 20.001})
266
266
  sapi_post_convert_acceptquote = sapiPostConvertAcceptQuote = Entry('convert/acceptQuote', 'sapi', 'POST', {'cost': 3.3335})
267
+ sapi_post_portfolio_auto_collection = sapiPostPortfolioAutoCollection = Entry('portfolio/auto-collection', 'sapi', 'POST', {'cost': 0.6667})
268
+ sapi_post_portfolio_bnb_transfer = sapiPostPortfolioBnbTransfer = Entry('portfolio/bnb-transfer', 'sapi', 'POST', {'cost': 0.6667})
267
269
  sapi_put_userdatastream = sapiPutUserDataStream = Entry('userDataStream', 'sapi', 'PUT', {'cost': 0.1})
268
270
  sapi_put_userdatastream_isolated = sapiPutUserDataStreamIsolated = Entry('userDataStream/isolated', 'sapi', 'PUT', {'cost': 0.1})
269
271
  sapi_delete_margin_openorders = sapiDeleteMarginOpenOrders = Entry('margin/openOrders', 'sapi', 'DELETE', {'cost': 0.1})
@@ -3,6 +3,8 @@ from ccxt.base.types import Entry
3
3
 
4
4
  class ImplicitAPI:
5
5
  public_get_pair_ticker = publicGetPairTicker = Entry('{pair}/ticker', 'public', 'GET', {})
6
+ public_get_tickers = publicGetTickers = Entry('tickers', 'public', 'GET', {})
7
+ public_get_tickers_jpy = publicGetTickersJpy = Entry('tickers_jpy', 'public', 'GET', {})
6
8
  public_get_pair_depth = publicGetPairDepth = Entry('{pair}/depth', 'public', 'GET', {})
7
9
  public_get_pair_transactions = publicGetPairTransactions = Entry('{pair}/transactions', 'public', 'GET', {})
8
10
  public_get_pair_transactions_yyyymmdd = publicGetPairTransactionsYyyymmdd = Entry('{pair}/transactions/{yyyymmdd}', 'public', 'GET', {})
@@ -11,7 +13,11 @@ class ImplicitAPI:
11
13
  private_get_user_spot_order = privateGetUserSpotOrder = Entry('user/spot/order', 'private', 'GET', {})
12
14
  private_get_user_spot_active_orders = privateGetUserSpotActiveOrders = Entry('user/spot/active_orders', 'private', 'GET', {})
13
15
  private_get_user_spot_trade_history = privateGetUserSpotTradeHistory = Entry('user/spot/trade_history', 'private', 'GET', {})
16
+ private_get_user_deposit_history = privateGetUserDepositHistory = Entry('user/deposit_history', 'private', 'GET', {})
14
17
  private_get_user_withdrawal_account = privateGetUserWithdrawalAccount = Entry('user/withdrawal_account', 'private', 'GET', {})
18
+ private_get_user_withdrawal_history = privateGetUserWithdrawalHistory = Entry('user/withdrawal_history', 'private', 'GET', {})
19
+ private_get_spot_status = privateGetSpotStatus = Entry('spot/status', 'private', 'GET', {})
20
+ private_get_spot_pairs = privateGetSpotPairs = Entry('spot/pairs', 'private', 'GET', {})
15
21
  private_post_user_spot_order = privatePostUserSpotOrder = Entry('user/spot/order', 'private', 'POST', {})
16
22
  private_post_user_spot_cancel_order = privatePostUserSpotCancelOrder = Entry('user/spot/cancel_order', 'private', 'POST', {})
17
23
  private_post_user_spot_cancel_orders = privatePostUserSpotCancelOrders = Entry('user/spot/cancel_orders', 'private', 'POST', {})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '3.1.33'
7
+ __version__ = '3.1.35'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '3.1.33'
5
+ __version__ = '3.1.35'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -506,6 +506,8 @@ class binance(Exchange, ImplicitAPI):
506
506
  'loan/vip/repay': 40, # Weight(UID): 6000 => cost = 0.006667 * 6000 = 40
507
507
  'convert/getQuote': 20.001,
508
508
  'convert/acceptQuote': 3.3335,
509
+ 'portfolio/auto-collection': 0.6667, # Weight(UID): 100 => cost = 0.006667 * 100 = 0.6667
510
+ 'portfolio/bnb-transfer': 0.6667, # Weight(UID): 100 => cost = 0.006667 * 100 = 0.6667
509
511
  },
510
512
  'put': {
511
513
  'userDataStream': 0.1,
@@ -2930,10 +2932,14 @@ class binance(Exchange, ImplicitAPI):
2930
2932
  :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
2931
2933
  """
2932
2934
  await self.load_markets()
2935
+ symbols = self.market_symbols(symbols)
2933
2936
  market = self.get_market_from_symbols(symbols)
2934
- marketType, query = self.handle_market_type_and_params('fetchLastPrices', market, params)
2937
+ type = None
2938
+ subType = None
2939
+ subType, params = self.handle_sub_type_and_params('fetchLastPrices', market, params)
2940
+ type, params = self.handle_market_type_and_params('fetchLastPrices', market, params)
2935
2941
  method = None
2936
- if marketType == 'future':
2942
+ if self.is_linear(type, subType):
2937
2943
  method = 'fapiPublicGetTickerPrice'
2938
2944
  #
2939
2945
  # [
@@ -2945,7 +2951,7 @@ class binance(Exchange, ImplicitAPI):
2945
2951
  # ...
2946
2952
  # ]
2947
2953
  #
2948
- elif marketType == 'delivery':
2954
+ elif self.is_inverse(type, subType):
2949
2955
  method = 'dapiPublicGetTickerPrice'
2950
2956
  #
2951
2957
  # [
@@ -2957,7 +2963,7 @@ class binance(Exchange, ImplicitAPI):
2957
2963
  # }
2958
2964
  # ]
2959
2965
  #
2960
- elif marketType == 'spot':
2966
+ elif type == 'spot':
2961
2967
  method = 'publicGetTickerPrice'
2962
2968
  #
2963
2969
  # [
@@ -2969,8 +2975,8 @@ class binance(Exchange, ImplicitAPI):
2969
2975
  # ]
2970
2976
  #
2971
2977
  else:
2972
- raise NotSupported(self.id + ' fetchLastPrices() does not support ' + marketType + ' markets yet')
2973
- response = await getattr(self, method)(query)
2978
+ raise NotSupported(self.id + ' fetchLastPrices() does not support ' + type + ' markets yet')
2979
+ response = await getattr(self, method)(params)
2974
2980
  return self.parse_last_prices(response, symbols)
2975
2981
 
2976
2982
  def parse_last_price(self, info, market=None):
@@ -3000,10 +3006,10 @@ class binance(Exchange, ImplicitAPI):
3000
3006
  # "time": 1591257246176
3001
3007
  # }
3002
3008
  #
3003
- marketId = self.safe_string(info, 'symbol')
3004
- defaultType = self.safe_string(self.options, 'defaultType', 'spot')
3005
- market = self.safe_market(marketId, market, None, defaultType)
3006
3009
  timestamp = self.safe_integer(info, 'time')
3010
+ type = 'spot' if (timestamp is None) else 'swap'
3011
+ marketId = self.safe_string(info, 'symbol')
3012
+ market = self.safe_market(marketId, market, None, type)
3007
3013
  price = self.safe_number(info, 'price')
3008
3014
  return {
3009
3015
  'symbol': market['symbol'],
@@ -3011,8 +3017,6 @@ class binance(Exchange, ImplicitAPI):
3011
3017
  'datetime': self.iso8601(timestamp),
3012
3018
  'price': price,
3013
3019
  'side': None,
3014
- 'baseVolume': None,
3015
- 'quoteVolume': None,
3016
3020
  'info': info,
3017
3021
  }
3018
3022
 
@@ -3947,25 +3951,16 @@ class binance(Exchange, ImplicitAPI):
3947
3951
  marketType = 'contract' if ('closePosition' in order) else 'spot'
3948
3952
  symbol = self.safe_symbol(marketId, market, None, marketType)
3949
3953
  filled = self.safe_string(order, 'executedQty', '0')
3950
- timestamp = None
3954
+ timestamp = self.safe_integer_n(order, ['time', 'createTime', 'workingTime', 'transactTime', 'updateTime']) # order of the keys matters here
3951
3955
  lastTradeTimestamp = None
3952
- if 'time' in order:
3953
- timestamp = self.safe_integer(order, 'time')
3954
- elif 'workingTime' in order:
3955
- lastTradeTimestamp = self.safe_integer(order, 'transactTime')
3956
- timestamp = self.safe_integer(order, 'workingTime')
3957
- elif 'transactTime' in order:
3958
- lastTradeTimestamp = self.safe_integer(order, 'transactTime')
3959
- timestamp = self.safe_integer(order, 'transactTime')
3960
- elif 'createTime' in order:
3961
- lastTradeTimestamp = self.safe_integer(order, 'updateTime')
3962
- timestamp = self.safe_integer(order, 'createTime')
3963
- elif 'updateTime' in order:
3956
+ if ('transactTime' in order) or ('updateTime' in order):
3957
+ timestampValue = self.safe_integer_2(order, 'updateTime', 'transactTime')
3964
3958
  if status == 'open':
3965
3959
  if Precise.string_gt(filled, '0'):
3966
- lastTradeTimestamp = self.safe_integer(order, 'updateTime')
3967
- else:
3968
- timestamp = self.safe_integer(order, 'updateTime')
3960
+ lastTradeTimestamp = timestampValue
3961
+ elif status == 'closed':
3962
+ lastTradeTimestamp = timestampValue
3963
+ lastUpdateTimestamp = self.safe_integer_2(order, 'transactTime', 'updateTime')
3969
3964
  average = self.safe_string(order, 'avgPrice')
3970
3965
  price = self.safe_string(order, 'price')
3971
3966
  amount = self.safe_string_2(order, 'origQty', 'quantity')
@@ -3995,6 +3990,7 @@ class binance(Exchange, ImplicitAPI):
3995
3990
  'timestamp': timestamp,
3996
3991
  'datetime': self.iso8601(timestamp),
3997
3992
  'lastTradeTimestamp': lastTradeTimestamp,
3993
+ 'lastUpdateTimestamp': lastUpdateTimestamp,
3998
3994
  'symbol': symbol,
3999
3995
  'type': type,
4000
3996
  'timeInForce': timeInForce,
@@ -106,6 +106,8 @@ class bitbank(Exchange, ImplicitAPI):
106
106
  'public': {
107
107
  'get': [
108
108
  '{pair}/ticker',
109
+ 'tickers',
110
+ 'tickers_jpy',
109
111
  '{pair}/depth',
110
112
  '{pair}/transactions',
111
113
  '{pair}/transactions/{yyyymmdd}',
@@ -118,7 +120,11 @@ class bitbank(Exchange, ImplicitAPI):
118
120
  'user/spot/order',
119
121
  'user/spot/active_orders',
120
122
  'user/spot/trade_history',
123
+ 'user/deposit_history',
121
124
  'user/withdrawal_account',
125
+ 'user/withdrawal_history',
126
+ 'spot/status',
127
+ 'spot/pairs',
122
128
  ],
123
129
  'post': [
124
130
  'user/spot/order',
@@ -93,7 +93,7 @@ class gate(Exchange, ImplicitAPI):
93
93
  'margin': True,
94
94
  'swap': True,
95
95
  'future': True,
96
- 'option': None,
96
+ 'option': True,
97
97
  'addMargin': True,
98
98
  'borrowMargin': True,
99
99
  'cancelAllOrders': True,
@@ -502,9 +502,44 @@ class gate(Exchange, ImplicitAPI):
502
502
  'expiration': 86400, # for conditional orders
503
503
  },
504
504
  'networks': {
505
- 'TRC20': 'TRX',
506
- 'ERC20': 'ETH',
505
+ 'ALGORAND': 'ALGO',
506
+ 'ARBITRUM_NOVA': 'ARBNOVA',
507
+ 'ARBITRUM_ONE': 'ARBEVM',
508
+ 'AVALANCHE_C': 'AVAX_C',
507
509
  'BEP20': 'BSC',
510
+ 'CHILIZ': 'CHZ',
511
+ 'EOS': 'EOS',
512
+ 'ERC20': 'ETH',
513
+ 'GATECHAIN': 'GTEVM',
514
+ 'HRC20': 'HT',
515
+ 'KUSAMA': 'KSMSM',
516
+ 'NEAR': 'NEAR',
517
+ 'OKC': 'OKT',
518
+ 'OPTIMISM': 'OPETH',
519
+ 'POLKADOT': 'DOTSM',
520
+ 'POLYGON': 'MATIC',
521
+ 'SOLANA': 'SOL',
522
+ 'TRC20': 'TRX',
523
+ },
524
+ 'networksById': {
525
+ 'ALGO': 'ALGORAND',
526
+ 'ARBEVM': 'ARBITRUM_ONE',
527
+ 'ARBNOVA': 'ARBITRUM_NOVA',
528
+ 'AVAX_C': 'AVALANCHE_C',
529
+ 'BSC': 'BEP20',
530
+ 'CHZ': 'CHILIZ',
531
+ 'DOTSM': 'POLKADOT',
532
+ 'EOS': 'EOS',
533
+ 'ETH': 'ERC20',
534
+ 'GTEVM': 'GATECHAIN',
535
+ 'HT': 'HRC20',
536
+ 'KSMSM': 'KUSAMA',
537
+ 'MATIC': 'POLYGON',
538
+ 'NEAR': 'NEAR',
539
+ 'OKT': 'OKC',
540
+ 'OPETH': 'OPTIMISM',
541
+ 'SOL': 'SOLANA',
542
+ 'TRX': 'TRC20',
508
543
  },
509
544
  'timeInForce': {
510
545
  'GTC': 'gtc',
@@ -1321,12 +1356,26 @@ class gate(Exchange, ImplicitAPI):
1321
1356
  # "trade_disabled": False
1322
1357
  # }
1323
1358
  #
1359
+ # {
1360
+ # "currency":"USDT_ETH",
1361
+ # "delisted":false,
1362
+ # "withdraw_disabled":false,
1363
+ # "withdraw_delayed":false,
1364
+ # "deposit_disabled":false,
1365
+ # "trade_disabled":false,
1366
+ # "chain":"ETH"
1367
+ # }
1368
+ #
1324
1369
  result = {}
1325
1370
  for i in range(0, len(response)):
1326
1371
  entry = response[i]
1327
1372
  currencyId = self.safe_string(entry, 'currency')
1328
1373
  currencyIdLower = self.safe_string_lower(entry, 'currency')
1329
- code = self.safe_currency_code(currencyId)
1374
+ parts = currencyId.split('_')
1375
+ currency = parts[0]
1376
+ code = self.safe_currency_code(currency)
1377
+ networkId = self.safe_string(entry, 'chain')
1378
+ networkCode = self.network_id_to_code(networkId, code)
1330
1379
  delisted = self.safe_value(entry, 'delisted')
1331
1380
  withdrawDisabled = self.safe_value(entry, 'withdraw_disabled', False)
1332
1381
  depositDisabled = self.safe_value(entry, 'deposit_disabled', False)
@@ -1336,21 +1385,59 @@ class gate(Exchange, ImplicitAPI):
1336
1385
  tradeEnabled = not tradeDisabled
1337
1386
  listed = not delisted
1338
1387
  active = listed and tradeEnabled and withdrawEnabled and depositEnabled
1339
- result[code] = {
1340
- 'id': currencyId,
1341
- 'lowerCaseId': currencyIdLower,
1342
- 'name': None,
1343
- 'code': code,
1344
- 'precision': self.parse_number('1e-4'), # todo: is done completely in html, in withdrawal page's source it has predefined "num_need_fix(self.value, 4);" function, so users cant set lower precision than 0.0001
1388
+ if self.safe_value(result, code) is None:
1389
+ result[code] = {
1390
+ 'id': code.lower(),
1391
+ 'code': code,
1392
+ 'info': None,
1393
+ 'name': None,
1394
+ 'active': active,
1395
+ 'deposit': depositEnabled,
1396
+ 'withdraw': withdrawEnabled,
1397
+ 'fee': None,
1398
+ 'fees': [],
1399
+ 'precision': self.parse_number('1e-4'),
1400
+ 'limits': self.limits,
1401
+ 'networks': {},
1402
+ }
1403
+ depositAvailable = self.safe_value(result[code], 'deposit')
1404
+ depositAvailable = depositEnabled if (depositEnabled) else depositAvailable
1405
+ withdrawAvailable = self.safe_value(result[code], 'withdraw')
1406
+ withdrawAvailable = withdrawEnabled if (withdrawEnabled) else withdrawAvailable
1407
+ networks = self.safe_value(result[code], 'networks', {})
1408
+ networks[networkCode] = {
1345
1409
  'info': entry,
1346
- 'active': active,
1410
+ 'id': networkId,
1411
+ 'network': networkCode,
1412
+ 'currencyId': currencyId,
1413
+ 'lowerCaseCurrencyId': currencyIdLower,
1347
1414
  'deposit': depositEnabled,
1348
1415
  'withdraw': withdrawEnabled,
1416
+ 'active': active,
1349
1417
  'fee': None,
1350
- 'fees': [],
1351
- 'limits': self.limits,
1352
- 'networks': {},
1418
+ 'precision': self.parse_number('1e-4'),
1419
+ 'limits': {
1420
+ 'amount': {
1421
+ 'min': None,
1422
+ 'max': None,
1423
+ },
1424
+ 'withdraw': {
1425
+ 'min': None,
1426
+ 'max': None,
1427
+ },
1428
+ 'deposit': {
1429
+ 'min': None,
1430
+ 'max': None,
1431
+ },
1432
+ },
1353
1433
  }
1434
+ result[code]['networks'] = networks
1435
+ info = self.safe_value(result[code], 'info', [])
1436
+ info.append(entry)
1437
+ result[code]['info'] = info
1438
+ result[code]['active'] = depositAvailable and withdrawAvailable
1439
+ result[code]['deposit'] = depositAvailable
1440
+ result[code]['withdraw'] = withdrawAvailable
1354
1441
  return result
1355
1442
 
1356
1443
  async def fetch_funding_rate(self, symbol: str, params={}):
@@ -5148,8 +5235,8 @@ class gate(Exchange, ImplicitAPI):
5148
5235
  """
5149
5236
  await self.load_markets()
5150
5237
  market = self.market(symbol)
5151
- if not market['contract']:
5152
- raise BadRequest(self.id + ' fetchOpenInterest() supports contract markets only')
5238
+ if not market['future']:
5239
+ raise BadRequest(self.id + ' fetchOpenInterest() supports future markets only')
5153
5240
  request = {
5154
5241
  'contract': market['id'],
5155
5242
  'settle': market['settleId'],
@@ -4684,7 +4684,10 @@ class mexc(Exchange, ImplicitAPI):
4684
4684
  path, params = self.resolve_path(path, params)
4685
4685
  url = None
4686
4686
  if section == 'spot' or section == 'broker':
4687
- url = self.urls['api'][section][access] + '/api/' + self.version + '/' + path
4687
+ if section == 'broker':
4688
+ url = self.urls['api'][section][access] + '/' + path
4689
+ else:
4690
+ url = self.urls['api'][section][access] + '/api/' + self.version + '/' + path
4688
4691
  paramsEncoded = ''
4689
4692
  if access == 'private':
4690
4693
  params['timestamp'] = self.milliseconds()
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '3.1.33'
7
+ __version__ = '3.1.35'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -505,6 +505,8 @@ class binance(Exchange, ImplicitAPI):
505
505
  'loan/vip/repay': 40, # Weight(UID): 6000 => cost = 0.006667 * 6000 = 40
506
506
  'convert/getQuote': 20.001,
507
507
  'convert/acceptQuote': 3.3335,
508
+ 'portfolio/auto-collection': 0.6667, # Weight(UID): 100 => cost = 0.006667 * 100 = 0.6667
509
+ 'portfolio/bnb-transfer': 0.6667, # Weight(UID): 100 => cost = 0.006667 * 100 = 0.6667
508
510
  },
509
511
  'put': {
510
512
  'userDataStream': 0.1,
@@ -2929,10 +2931,14 @@ class binance(Exchange, ImplicitAPI):
2929
2931
  :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
2930
2932
  """
2931
2933
  self.load_markets()
2934
+ symbols = self.market_symbols(symbols)
2932
2935
  market = self.get_market_from_symbols(symbols)
2933
- marketType, query = self.handle_market_type_and_params('fetchLastPrices', market, params)
2936
+ type = None
2937
+ subType = None
2938
+ subType, params = self.handle_sub_type_and_params('fetchLastPrices', market, params)
2939
+ type, params = self.handle_market_type_and_params('fetchLastPrices', market, params)
2934
2940
  method = None
2935
- if marketType == 'future':
2941
+ if self.is_linear(type, subType):
2936
2942
  method = 'fapiPublicGetTickerPrice'
2937
2943
  #
2938
2944
  # [
@@ -2944,7 +2950,7 @@ class binance(Exchange, ImplicitAPI):
2944
2950
  # ...
2945
2951
  # ]
2946
2952
  #
2947
- elif marketType == 'delivery':
2953
+ elif self.is_inverse(type, subType):
2948
2954
  method = 'dapiPublicGetTickerPrice'
2949
2955
  #
2950
2956
  # [
@@ -2956,7 +2962,7 @@ class binance(Exchange, ImplicitAPI):
2956
2962
  # }
2957
2963
  # ]
2958
2964
  #
2959
- elif marketType == 'spot':
2965
+ elif type == 'spot':
2960
2966
  method = 'publicGetTickerPrice'
2961
2967
  #
2962
2968
  # [
@@ -2968,8 +2974,8 @@ class binance(Exchange, ImplicitAPI):
2968
2974
  # ]
2969
2975
  #
2970
2976
  else:
2971
- raise NotSupported(self.id + ' fetchLastPrices() does not support ' + marketType + ' markets yet')
2972
- response = getattr(self, method)(query)
2977
+ raise NotSupported(self.id + ' fetchLastPrices() does not support ' + type + ' markets yet')
2978
+ response = getattr(self, method)(params)
2973
2979
  return self.parse_last_prices(response, symbols)
2974
2980
 
2975
2981
  def parse_last_price(self, info, market=None):
@@ -2999,10 +3005,10 @@ class binance(Exchange, ImplicitAPI):
2999
3005
  # "time": 1591257246176
3000
3006
  # }
3001
3007
  #
3002
- marketId = self.safe_string(info, 'symbol')
3003
- defaultType = self.safe_string(self.options, 'defaultType', 'spot')
3004
- market = self.safe_market(marketId, market, None, defaultType)
3005
3008
  timestamp = self.safe_integer(info, 'time')
3009
+ type = 'spot' if (timestamp is None) else 'swap'
3010
+ marketId = self.safe_string(info, 'symbol')
3011
+ market = self.safe_market(marketId, market, None, type)
3006
3012
  price = self.safe_number(info, 'price')
3007
3013
  return {
3008
3014
  'symbol': market['symbol'],
@@ -3010,8 +3016,6 @@ class binance(Exchange, ImplicitAPI):
3010
3016
  'datetime': self.iso8601(timestamp),
3011
3017
  'price': price,
3012
3018
  'side': None,
3013
- 'baseVolume': None,
3014
- 'quoteVolume': None,
3015
3019
  'info': info,
3016
3020
  }
3017
3021
 
@@ -3946,25 +3950,16 @@ class binance(Exchange, ImplicitAPI):
3946
3950
  marketType = 'contract' if ('closePosition' in order) else 'spot'
3947
3951
  symbol = self.safe_symbol(marketId, market, None, marketType)
3948
3952
  filled = self.safe_string(order, 'executedQty', '0')
3949
- timestamp = None
3953
+ timestamp = self.safe_integer_n(order, ['time', 'createTime', 'workingTime', 'transactTime', 'updateTime']) # order of the keys matters here
3950
3954
  lastTradeTimestamp = None
3951
- if 'time' in order:
3952
- timestamp = self.safe_integer(order, 'time')
3953
- elif 'workingTime' in order:
3954
- lastTradeTimestamp = self.safe_integer(order, 'transactTime')
3955
- timestamp = self.safe_integer(order, 'workingTime')
3956
- elif 'transactTime' in order:
3957
- lastTradeTimestamp = self.safe_integer(order, 'transactTime')
3958
- timestamp = self.safe_integer(order, 'transactTime')
3959
- elif 'createTime' in order:
3960
- lastTradeTimestamp = self.safe_integer(order, 'updateTime')
3961
- timestamp = self.safe_integer(order, 'createTime')
3962
- elif 'updateTime' in order:
3955
+ if ('transactTime' in order) or ('updateTime' in order):
3956
+ timestampValue = self.safe_integer_2(order, 'updateTime', 'transactTime')
3963
3957
  if status == 'open':
3964
3958
  if Precise.string_gt(filled, '0'):
3965
- lastTradeTimestamp = self.safe_integer(order, 'updateTime')
3966
- else:
3967
- timestamp = self.safe_integer(order, 'updateTime')
3959
+ lastTradeTimestamp = timestampValue
3960
+ elif status == 'closed':
3961
+ lastTradeTimestamp = timestampValue
3962
+ lastUpdateTimestamp = self.safe_integer_2(order, 'transactTime', 'updateTime')
3968
3963
  average = self.safe_string(order, 'avgPrice')
3969
3964
  price = self.safe_string(order, 'price')
3970
3965
  amount = self.safe_string_2(order, 'origQty', 'quantity')
@@ -3994,6 +3989,7 @@ class binance(Exchange, ImplicitAPI):
3994
3989
  'timestamp': timestamp,
3995
3990
  'datetime': self.iso8601(timestamp),
3996
3991
  'lastTradeTimestamp': lastTradeTimestamp,
3992
+ 'lastUpdateTimestamp': lastUpdateTimestamp,
3997
3993
  'symbol': symbol,
3998
3994
  'type': type,
3999
3995
  'timeInForce': timeInForce,
@@ -106,6 +106,8 @@ class bitbank(Exchange, ImplicitAPI):
106
106
  'public': {
107
107
  'get': [
108
108
  '{pair}/ticker',
109
+ 'tickers',
110
+ 'tickers_jpy',
109
111
  '{pair}/depth',
110
112
  '{pair}/transactions',
111
113
  '{pair}/transactions/{yyyymmdd}',
@@ -118,7 +120,11 @@ class bitbank(Exchange, ImplicitAPI):
118
120
  'user/spot/order',
119
121
  'user/spot/active_orders',
120
122
  'user/spot/trade_history',
123
+ 'user/deposit_history',
121
124
  'user/withdrawal_account',
125
+ 'user/withdrawal_history',
126
+ 'spot/status',
127
+ 'spot/pairs',
122
128
  ],
123
129
  'post': [
124
130
  'user/spot/order',