ccxt 4.0.5__tar.gz → 4.0.7__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 (460) hide show
  1. {ccxt-4.0.5/ccxt.egg-info → ccxt-4.0.7}/PKG-INFO +9 -6
  2. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/__init__.py +1 -1
  3. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bitget.py +4 -0
  4. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/__init__.py +1 -1
  5. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/base/exchange.py +1 -1
  6. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bitget.py +4 -0
  7. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/coinbase.py +75 -6
  8. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/okx.py +7 -1
  9. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/base/exchange.py +1 -1
  10. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bitget.py +4 -0
  11. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/coinbase.py +75 -6
  12. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/okx.py +7 -1
  13. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/__init__.py +1 -1
  14. {ccxt-4.0.5 → ccxt-4.0.7/ccxt.egg-info}/PKG-INFO +9 -6
  15. {ccxt-4.0.5 → ccxt-4.0.7}/package.json +1 -1
  16. {ccxt-4.0.5 → ccxt-4.0.7}/LICENSE.txt +0 -0
  17. {ccxt-4.0.5 → ccxt-4.0.7}/MANIFEST.in +0 -0
  18. {ccxt-4.0.5 → ccxt-4.0.7}/README.rst +0 -0
  19. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/__init__.py +0 -0
  20. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/ace.py +0 -0
  21. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/alpaca.py +0 -0
  22. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/ascendex.py +0 -0
  23. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bequant.py +0 -0
  24. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bigone.py +0 -0
  25. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/binance.py +0 -0
  26. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/binancecoinm.py +0 -0
  27. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/binanceus.py +0 -0
  28. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/binanceusdm.py +0 -0
  29. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bit2c.py +0 -0
  30. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bitbank.py +0 -0
  31. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bitbay.py +0 -0
  32. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bitbns.py +0 -0
  33. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bitcoincom.py +0 -0
  34. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bitfinex.py +0 -0
  35. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bitfinex2.py +0 -0
  36. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bitflyer.py +0 -0
  37. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bitforex.py +0 -0
  38. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bithumb.py +0 -0
  39. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bitmart.py +0 -0
  40. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bitmex.py +0 -0
  41. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bitopro.py +0 -0
  42. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bitpanda.py +0 -0
  43. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bitrue.py +0 -0
  44. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bitso.py +0 -0
  45. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bitstamp.py +0 -0
  46. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bitstamp1.py +0 -0
  47. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bittrex.py +0 -0
  48. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bitvavo.py +0 -0
  49. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bkex.py +0 -0
  50. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bl3p.py +0 -0
  51. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/blockchaincom.py +0 -0
  52. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/btcalpha.py +0 -0
  53. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/btcbox.py +0 -0
  54. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/btcmarkets.py +0 -0
  55. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/btctradeua.py +0 -0
  56. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/btcturk.py +0 -0
  57. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/bybit.py +0 -0
  58. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/cex.py +0 -0
  59. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/coinbase.py +0 -0
  60. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/coinbaseprime.py +0 -0
  61. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/coinbasepro.py +0 -0
  62. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/coincheck.py +0 -0
  63. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/coinex.py +0 -0
  64. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/coinfalcon.py +0 -0
  65. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/coinmate.py +0 -0
  66. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/coinone.py +0 -0
  67. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/coinsph.py +0 -0
  68. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/coinspot.py +0 -0
  69. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/cryptocom.py +0 -0
  70. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/currencycom.py +0 -0
  71. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/delta.py +0 -0
  72. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/deribit.py +0 -0
  73. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/digifinex.py +0 -0
  74. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/exmo.py +0 -0
  75. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/fmfwio.py +0 -0
  76. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/gate.py +0 -0
  77. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/gateio.py +0 -0
  78. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/gemini.py +0 -0
  79. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/hitbtc.py +0 -0
  80. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/hitbtc3.py +0 -0
  81. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/hollaex.py +0 -0
  82. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/huobi.py +0 -0
  83. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/huobijp.py +0 -0
  84. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/huobipro.py +0 -0
  85. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/idex.py +0 -0
  86. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/independentreserve.py +0 -0
  87. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/indodax.py +0 -0
  88. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/kraken.py +0 -0
  89. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/krakenfutures.py +0 -0
  90. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/kucoin.py +0 -0
  91. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/kucoinfutures.py +0 -0
  92. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/kuna.py +0 -0
  93. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/latoken.py +0 -0
  94. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/lbank.py +0 -0
  95. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/lbank2.py +0 -0
  96. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/luno.py +0 -0
  97. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/lykke.py +0 -0
  98. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/mercado.py +0 -0
  99. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/mexc.py +0 -0
  100. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/mexc3.py +0 -0
  101. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/ndax.py +0 -0
  102. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/novadax.py +0 -0
  103. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/oceanex.py +0 -0
  104. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/okcoin.py +0 -0
  105. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/okex.py +0 -0
  106. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/okex5.py +0 -0
  107. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/okx.py +0 -0
  108. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/paymium.py +0 -0
  109. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/phemex.py +0 -0
  110. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/poloniex.py +0 -0
  111. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/poloniexfutures.py +0 -0
  112. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/probit.py +0 -0
  113. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/tidex.py +0 -0
  114. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/timex.py +0 -0
  115. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/tokocrypto.py +0 -0
  116. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/upbit.py +0 -0
  117. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/wavesexchange.py +0 -0
  118. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/wazirx.py +0 -0
  119. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/whitebit.py +0 -0
  120. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/woo.py +0 -0
  121. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/yobit.py +0 -0
  122. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/zaif.py +0 -0
  123. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/abstract/zonda.py +0 -0
  124. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/ace.py +0 -0
  125. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/alpaca.py +0 -0
  126. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/ascendex.py +0 -0
  127. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/ace.py +0 -0
  128. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/alpaca.py +0 -0
  129. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/ascendex.py +0 -0
  130. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/base/__init__.py +0 -0
  131. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/base/throttler.py +0 -0
  132. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/base/ws/__init__.py +0 -0
  133. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  134. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/base/ws/cache.py +0 -0
  135. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/base/ws/client.py +0 -0
  136. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/base/ws/fast_client.py +0 -0
  137. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/base/ws/functions.py +0 -0
  138. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/base/ws/future.py +0 -0
  139. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/base/ws/order_book.py +0 -0
  140. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  141. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bequant.py +0 -0
  142. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bigone.py +0 -0
  143. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/binance.py +0 -0
  144. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/binancecoinm.py +0 -0
  145. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/binanceus.py +0 -0
  146. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/binanceusdm.py +0 -0
  147. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bit2c.py +0 -0
  148. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bitbank.py +0 -0
  149. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bitbay.py +0 -0
  150. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bitbns.py +0 -0
  151. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bitcoincom.py +0 -0
  152. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bitfinex.py +0 -0
  153. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bitfinex2.py +0 -0
  154. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bitflyer.py +0 -0
  155. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bitforex.py +0 -0
  156. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bithumb.py +0 -0
  157. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bitmart.py +0 -0
  158. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bitmex.py +0 -0
  159. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bitopro.py +0 -0
  160. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bitpanda.py +0 -0
  161. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bitrue.py +0 -0
  162. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bitso.py +0 -0
  163. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bitstamp.py +0 -0
  164. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bitstamp1.py +0 -0
  165. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bittrex.py +0 -0
  166. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bitvavo.py +0 -0
  167. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bkex.py +0 -0
  168. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bl3p.py +0 -0
  169. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/blockchaincom.py +0 -0
  170. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/btcalpha.py +0 -0
  171. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/btcbox.py +0 -0
  172. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/btcmarkets.py +0 -0
  173. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/btctradeua.py +0 -0
  174. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/btcturk.py +0 -0
  175. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/bybit.py +0 -0
  176. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/cex.py +0 -0
  177. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/coinbaseprime.py +0 -0
  178. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/coinbasepro.py +0 -0
  179. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/coincheck.py +0 -0
  180. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/coinex.py +0 -0
  181. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/coinfalcon.py +0 -0
  182. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/coinmate.py +0 -0
  183. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/coinone.py +0 -0
  184. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/coinsph.py +0 -0
  185. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/coinspot.py +0 -0
  186. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/cryptocom.py +0 -0
  187. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/currencycom.py +0 -0
  188. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/delta.py +0 -0
  189. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/deribit.py +0 -0
  190. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/digifinex.py +0 -0
  191. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/exmo.py +0 -0
  192. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/flowbtc.py +0 -0
  193. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/fmfwio.py +0 -0
  194. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/gate.py +0 -0
  195. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/gateio.py +0 -0
  196. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/gemini.py +0 -0
  197. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/hitbtc.py +0 -0
  198. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/hitbtc3.py +0 -0
  199. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/hollaex.py +0 -0
  200. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/huobi.py +0 -0
  201. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/huobijp.py +0 -0
  202. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/huobipro.py +0 -0
  203. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/idex.py +0 -0
  204. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/independentreserve.py +0 -0
  205. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/indodax.py +0 -0
  206. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/kraken.py +0 -0
  207. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/krakenfutures.py +0 -0
  208. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/kucoin.py +0 -0
  209. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/kucoinfutures.py +0 -0
  210. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/kuna.py +0 -0
  211. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/latoken.py +0 -0
  212. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/lbank.py +0 -0
  213. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/lbank2.py +0 -0
  214. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/luno.py +0 -0
  215. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/lykke.py +0 -0
  216. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/mercado.py +0 -0
  217. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/mexc.py +0 -0
  218. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/mexc3.py +0 -0
  219. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/ndax.py +0 -0
  220. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/novadax.py +0 -0
  221. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/oceanex.py +0 -0
  222. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/okcoin.py +0 -0
  223. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/okex.py +0 -0
  224. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/okex5.py +0 -0
  225. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/paymium.py +0 -0
  226. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/phemex.py +0 -0
  227. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/poloniex.py +0 -0
  228. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/poloniexfutures.py +0 -0
  229. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/probit.py +0 -0
  230. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/tidex.py +0 -0
  231. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/timex.py +0 -0
  232. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/tokocrypto.py +0 -0
  233. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/upbit.py +0 -0
  234. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/wavesexchange.py +0 -0
  235. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/wazirx.py +0 -0
  236. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/whitebit.py +0 -0
  237. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/woo.py +0 -0
  238. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/yobit.py +0 -0
  239. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/zaif.py +0 -0
  240. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/async_support/zonda.py +0 -0
  241. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/base/__init__.py +0 -0
  242. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/base/decimal_to_precision.py +0 -0
  243. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/base/errors.py +0 -0
  244. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/base/precise.py +0 -0
  245. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/base/types.py +0 -0
  246. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bequant.py +0 -0
  247. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bigone.py +0 -0
  248. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/binance.py +0 -0
  249. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/binancecoinm.py +0 -0
  250. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/binanceus.py +0 -0
  251. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/binanceusdm.py +0 -0
  252. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bit2c.py +0 -0
  253. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bitbank.py +0 -0
  254. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bitbay.py +0 -0
  255. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bitbns.py +0 -0
  256. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bitcoincom.py +0 -0
  257. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bitfinex.py +0 -0
  258. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bitfinex2.py +0 -0
  259. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bitflyer.py +0 -0
  260. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bitforex.py +0 -0
  261. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bithumb.py +0 -0
  262. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bitmart.py +0 -0
  263. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bitmex.py +0 -0
  264. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bitopro.py +0 -0
  265. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bitpanda.py +0 -0
  266. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bitrue.py +0 -0
  267. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bitso.py +0 -0
  268. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bitstamp.py +0 -0
  269. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bitstamp1.py +0 -0
  270. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bittrex.py +0 -0
  271. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bitvavo.py +0 -0
  272. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bkex.py +0 -0
  273. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bl3p.py +0 -0
  274. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/blockchaincom.py +0 -0
  275. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/btcalpha.py +0 -0
  276. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/btcbox.py +0 -0
  277. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/btcmarkets.py +0 -0
  278. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/btctradeua.py +0 -0
  279. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/btcturk.py +0 -0
  280. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/bybit.py +0 -0
  281. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/cex.py +0 -0
  282. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/coinbaseprime.py +0 -0
  283. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/coinbasepro.py +0 -0
  284. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/coincheck.py +0 -0
  285. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/coinex.py +0 -0
  286. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/coinfalcon.py +0 -0
  287. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/coinmate.py +0 -0
  288. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/coinone.py +0 -0
  289. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/coinsph.py +0 -0
  290. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/coinspot.py +0 -0
  291. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/cryptocom.py +0 -0
  292. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/currencycom.py +0 -0
  293. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/delta.py +0 -0
  294. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/deribit.py +0 -0
  295. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/digifinex.py +0 -0
  296. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/exmo.py +0 -0
  297. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/flowbtc.py +0 -0
  298. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/fmfwio.py +0 -0
  299. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/gate.py +0 -0
  300. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/gateio.py +0 -0
  301. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/gemini.py +0 -0
  302. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/hitbtc.py +0 -0
  303. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/hitbtc3.py +0 -0
  304. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/hollaex.py +0 -0
  305. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/huobi.py +0 -0
  306. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/huobijp.py +0 -0
  307. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/huobipro.py +0 -0
  308. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/idex.py +0 -0
  309. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/independentreserve.py +0 -0
  310. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/indodax.py +0 -0
  311. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/kraken.py +0 -0
  312. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/krakenfutures.py +0 -0
  313. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/kucoin.py +0 -0
  314. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/kucoinfutures.py +0 -0
  315. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/kuna.py +0 -0
  316. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/latoken.py +0 -0
  317. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/lbank.py +0 -0
  318. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/lbank2.py +0 -0
  319. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/luno.py +0 -0
  320. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/lykke.py +0 -0
  321. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/mercado.py +0 -0
  322. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/mexc.py +0 -0
  323. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/mexc3.py +0 -0
  324. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/ndax.py +0 -0
  325. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/novadax.py +0 -0
  326. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/oceanex.py +0 -0
  327. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/okcoin.py +0 -0
  328. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/okex.py +0 -0
  329. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/okex5.py +0 -0
  330. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/paymium.py +0 -0
  331. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/phemex.py +0 -0
  332. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/poloniex.py +0 -0
  333. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/poloniexfutures.py +0 -0
  334. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/alpaca.py +0 -0
  335. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/ascendex.py +0 -0
  336. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/bequant.py +0 -0
  337. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/binance.py +0 -0
  338. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/binancecoinm.py +0 -0
  339. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/binanceus.py +0 -0
  340. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/binanceusdm.py +0 -0
  341. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/bitcoincom.py +0 -0
  342. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/bitfinex.py +0 -0
  343. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/bitfinex2.py +0 -0
  344. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/bitget.py +0 -0
  345. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/bitmart.py +0 -0
  346. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/bitmex.py +0 -0
  347. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/bitopro.py +0 -0
  348. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/bitpanda.py +0 -0
  349. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/bitrue.py +0 -0
  350. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/bitstamp.py +0 -0
  351. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/bittrex.py +0 -0
  352. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/bitvavo.py +0 -0
  353. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/blockchaincom.py +0 -0
  354. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/btcex.py +0 -0
  355. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/bybit.py +0 -0
  356. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/cex.py +0 -0
  357. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/coinbaseprime.py +0 -0
  358. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/coinbasepro.py +0 -0
  359. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/coinex.py +0 -0
  360. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/cryptocom.py +0 -0
  361. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/currencycom.py +0 -0
  362. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/deribit.py +0 -0
  363. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/exmo.py +0 -0
  364. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/gate.py +0 -0
  365. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/gateio.py +0 -0
  366. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/gemini.py +0 -0
  367. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/hitbtc.py +0 -0
  368. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/hollaex.py +0 -0
  369. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/huobi.py +0 -0
  370. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/huobijp.py +0 -0
  371. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/huobipro.py +0 -0
  372. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/idex.py +0 -0
  373. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/independentreserve.py +0 -0
  374. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/kraken.py +0 -0
  375. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/krakenfutures.py +0 -0
  376. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/kucoin.py +0 -0
  377. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/kucoinfutures.py +0 -0
  378. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/luno.py +0 -0
  379. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/mexc.py +0 -0
  380. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/mexc3.py +0 -0
  381. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/ndax.py +0 -0
  382. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/okcoin.py +0 -0
  383. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/okex.py +0 -0
  384. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/okx.py +0 -0
  385. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/phemex.py +0 -0
  386. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/poloniex.py +0 -0
  387. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/poloniexfutures.py +0 -0
  388. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/probit.py +0 -0
  389. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/ripio.py +0 -0
  390. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/upbit.py +0 -0
  391. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/wazirx.py +0 -0
  392. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/whitebit.py +0 -0
  393. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/woo.py +0 -0
  394. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/pro/zb.py +0 -0
  395. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/probit.py +0 -0
  396. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/static_dependencies/__init__.py +0 -0
  397. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  398. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  399. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  400. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  401. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  402. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  403. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  404. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  405. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  406. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  407. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  408. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  409. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/__init__.py +0 -0
  410. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/__init__.py +0 -0
  411. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_account.py +0 -0
  412. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_balance.py +0 -0
  413. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_borrow_interest.py +0 -0
  414. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_borrow_rate.py +0 -0
  415. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_calculate_fee.py +0 -0
  416. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_crypto.py +0 -0
  417. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_currency.py +0 -0
  418. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_datetime.py +0 -0
  419. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_decimal_to_precision.py +0 -0
  420. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_deep_extend.py +0 -0
  421. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
  422. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
  423. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_funding_rate_history.py +0 -0
  424. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_ledger_entry.py +0 -0
  425. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_ledger_item.py +0 -0
  426. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_leverage_tier.py +0 -0
  427. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_margin_modification.py +0 -0
  428. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_market.py +0 -0
  429. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_number.py +0 -0
  430. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_ohlcv.py +0 -0
  431. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_open_interest.py +0 -0
  432. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_order.py +0 -0
  433. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_order_book.py +0 -0
  434. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_position.py +0 -0
  435. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_shared_methods.py +0 -0
  436. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_status.py +0 -0
  437. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_throttle.py +0 -0
  438. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_ticker.py +0 -0
  439. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_trade.py +0 -0
  440. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_trading_fee.py +0 -0
  441. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/base/test_transaction.py +0 -0
  442. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/test_async.py +0 -0
  443. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/test/test_sync.py +0 -0
  444. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/tidex.py +0 -0
  445. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/timex.py +0 -0
  446. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/tokocrypto.py +0 -0
  447. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/upbit.py +0 -0
  448. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/wavesexchange.py +0 -0
  449. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/wazirx.py +0 -0
  450. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/whitebit.py +0 -0
  451. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/woo.py +0 -0
  452. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/yobit.py +0 -0
  453. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/zaif.py +0 -0
  454. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt/zonda.py +0 -0
  455. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt.egg-info/SOURCES.txt +0 -0
  456. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt.egg-info/dependency_links.txt +0 -0
  457. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt.egg-info/requires.txt +0 -0
  458. {ccxt-4.0.5 → ccxt-4.0.7}/ccxt.egg-info/top_level.txt +0 -0
  459. {ccxt-4.0.5 → ccxt-4.0.7}/setup.cfg +0 -0
  460. {ccxt-4.0.5 → ccxt-4.0.7}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.0.5
3
+ Version: 4.0.7
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
@@ -31,6 +31,9 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
31
31
  - an out of the box unified API that is extremely easy to integrate
32
32
  - works in Node 10.4+, Python 3, PHP 8.1+, netstandard2.0/2.1 and web browsers
33
33
 
34
+ ## Sponsored Promotion
35
+
36
+ [![OKX + CCXT Exclusive Event: Trade And Earn](https://github-production-user-asset-6210df.s3.amazonaws.com/1294454/250898976-6300ed05-6606-4432-b0c0-3bb32854af60.png)](https://www.okx.com/activities/ccxt-trade-and-earn?channelid=CCXT2023)
34
37
 
35
38
  ## See Also
36
39
 
@@ -58,7 +61,7 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
58
61
  | [![huobi](https://user-images.githubusercontent.com/1294454/76137448-22748a80-604e-11ea-8069-6e389271911d.jpg)](https://www.huobi.com/en-us/v/register/double-invite/?inviter_id=11343840&invite_code=6rmm2223) | huobi | [Huobi](https://www.huobi.com/en-us/v/register/double-invite/?inviter_id=11343840&invite_code=6rmm2223) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://huobiapi.github.io/docs/spot/v1/en/) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | [![Sign up with Huobi using CCXT's referral link for a 15% discount!](https://img.shields.io/static/v1?label=Fee&message=%2d15%25&color=orange)](https://www.huobi.com/en-us/v/register/double-invite/?inviter_id=11343840&invite_code=6rmm2223) |
59
62
  | [![kucoin](https://user-images.githubusercontent.com/51840849/87295558-132aaf80-c50e-11ea-9801-a2fb0c57c799.jpg)](https://www.kucoin.com/ucenter/signup?rcode=E5wkqe) | kucoin | [KuCoin](https://www.kucoin.com/ucenter/signup?rcode=E5wkqe) | [![API Version 2](https://img.shields.io/badge/2-lightgray)](https://docs.kucoin.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) | |
60
63
  | [![mexc](https://user-images.githubusercontent.com/1294454/137283979-8b2a818d-8633-461b-bfca-de89e8c446b2.jpg)](https://m.mexc.com/auth/signup?inviteCode=1FQ1G) | mexc | [MEXC Global](https://m.mexc.com/auth/signup?inviteCode=1FQ1G) | [![API Version 3](https://img.shields.io/badge/3-lightgray)](https://mxcdevelop.github.io/apidocs/spot_v3_en/) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | |
61
- | [![okx](https://user-images.githubusercontent.com/1294454/152485636-38b19e4a-bece-4dec-979a-5982859ffc04.jpg)](https://www.okx.com/join/1888677) | okx | [OKX](https://www.okx.com/join/1888677) | [![API Version 5](https://img.shields.io/badge/5-lightgray)](https://www.okx.com/docs-v5/en/) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | |
64
+ | [![okx](https://user-images.githubusercontent.com/1294454/152485636-38b19e4a-bece-4dec-979a-5982859ffc04.jpg)](https://www.okx.com/activities/ccxt-trade-and-earn?channelid=CCXT2023) | okx | [OKX](https://www.okx.com/activities/ccxt-trade-and-earn?channelid=CCXT2023) | [![API Version 5](https://img.shields.io/badge/5-lightgray)](https://www.okx.com/docs-v5/en/) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | [![Sign up with OKX using CCXT's referral link for a 20% discount!](https://img.shields.io/static/v1?label=Fee&message=%2d20%25&color=orange)](https://www.okx.com/activities/ccxt-trade-and-earn?channelid=CCXT2023) |
62
65
  | [![wavesexchange](https://user-images.githubusercontent.com/1294454/84547058-5fb27d80-ad0b-11ea-8711-78ac8b3c7f31.jpg)](https://waves.exchange) | wavesexchange | [Waves.Exchange](https://waves.exchange) | [![API Version *](https://img.shields.io/badge/*-lightgray)](https://docs.waves.exchange) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | | |
63
66
  | [![woo](https://user-images.githubusercontent.com/1294454/150730761-1a00e5e0-d28c-480f-9e65-089ce3e6ef3b.jpg)](https://referral.woo.org/BAJS6oNmZb3vi3RGA) | woo | [WOO X](https://referral.woo.org/BAJS6oNmZb3vi3RGA) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://docs.woo.org/) | [![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) | |
64
67
 
@@ -149,7 +152,7 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
149
152
  | [![novadax](https://user-images.githubusercontent.com/1294454/92337550-2b085500-f0b3-11ea-98e7-5794fb07dd3b.jpg)](https://www.novadax.com.br/?s=ccxt) | novadax | [NovaDAX](https://www.novadax.com.br/?s=ccxt) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://doc.novadax.com/pt-BR/) | | |
150
153
  | [![oceanex](https://user-images.githubusercontent.com/1294454/58385970-794e2d80-8001-11e9-889c-0567cd79b78e.jpg)](https://oceanex.pro/signup?referral=VE24QX) | oceanex | [OceanEx](https://oceanex.pro/signup?referral=VE24QX) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://api.oceanex.pro/doc/v1) | | |
151
154
  | [![okcoin](https://user-images.githubusercontent.com/51840849/87295551-102fbf00-c50e-11ea-90a9-462eebba5829.jpg)](https://www.okcoin.com/account/register?flag=activity&channelId=600001513) | okcoin | [OKCoin](https://www.okcoin.com/account/register?flag=activity&channelId=600001513) | [![API Version 3](https://img.shields.io/badge/3-lightgray)](https://www.okcoin.com/docs/en/) | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
152
- | [![okx](https://user-images.githubusercontent.com/1294454/152485636-38b19e4a-bece-4dec-979a-5982859ffc04.jpg)](https://www.okx.com/join/1888677) | okx | [OKX](https://www.okx.com/join/1888677) | [![API Version 5](https://img.shields.io/badge/5-lightgray)](https://www.okx.com/docs-v5/en/) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
155
+ | [![okx](https://user-images.githubusercontent.com/1294454/152485636-38b19e4a-bece-4dec-979a-5982859ffc04.jpg)](https://www.okx.com/activities/ccxt-trade-and-earn?channelid=CCXT2023) | okx | [OKX](https://www.okx.com/activities/ccxt-trade-and-earn?channelid=CCXT2023) | [![API Version 5](https://img.shields.io/badge/5-lightgray)](https://www.okx.com/docs-v5/en/) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
153
156
  | [![paymium](https://user-images.githubusercontent.com/51840849/87153930-f0f02200-c2c0-11ea-9c0a-40337375ae89.jpg)](https://www.paymium.com/page/sign-up?referral=eDAzPoRQFMvaAB8sf-qj) | paymium | [Paymium](https://www.paymium.com/page/sign-up?referral=eDAzPoRQFMvaAB8sf-qj) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://github.com/Paymium/api-documentation) | | |
154
157
  | [![phemex](https://user-images.githubusercontent.com/1294454/85225056-221eb600-b3d7-11ea-930d-564d2690e3f6.jpg)](https://phemex.com/register?referralCode=EDNVJ) | phemex | [Phemex](https://phemex.com/register?referralCode=EDNVJ) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://github.com/phemex/phemex-api-docs) | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
155
158
  | [![poloniex](https://user-images.githubusercontent.com/1294454/27766817-e9456312-5ee6-11e7-9b3c-b628ca5626a5.jpg)](https://poloniex.com/signup?c=UBFZJRPJ) | poloniex | [Poloniex](https://poloniex.com/signup?c=UBFZJRPJ) | [![API Version *](https://img.shields.io/badge/*-lightgray)](https://docs.poloniex.com) | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
@@ -223,13 +226,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
223
226
 
224
227
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
225
228
 
226
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.5/dist/ccxt.browser.js
227
- * unpkg: https://unpkg.com/ccxt@4.0.5/dist/ccxt.browser.js
229
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.7/dist/ccxt.browser.js
230
+ * unpkg: https://unpkg.com/ccxt@4.0.7/dist/ccxt.browser.js
228
231
 
229
232
  CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
230
233
 
231
234
  ```HTML
232
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.5/dist/ccxt.browser.js"></script>
235
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.7/dist/ccxt.browser.js"></script>
233
236
  ```
234
237
 
235
238
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.0.5'
25
+ __version__ = '4.0.7'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -13,6 +13,7 @@ class ImplicitAPI:
13
13
  public_spot_get_market_candles = publicSpotGetMarketCandles = Entry('market/candles', ['public', 'spot'], 'GET', {'cost': 1})
14
14
  public_spot_get_market_depth = publicSpotGetMarketDepth = Entry('market/depth', ['public', 'spot'], 'GET', {'cost': 1})
15
15
  public_spot_get_market_spot_vip_level = publicSpotGetMarketSpotVipLevel = Entry('market/spot-vip-level', ['public', 'spot'], 'GET', {'cost': 2})
16
+ public_spot_get_market_history_candles = publicSpotGetMarketHistoryCandles = Entry('market/history-candles', ['public', 'spot'], 'GET', {'cost': 1})
16
17
  public_mix_get_market_contracts = publicMixGetMarketContracts = Entry('market/contracts', ['public', 'mix'], 'GET', {'cost': 1})
17
18
  public_mix_get_market_depth = publicMixGetMarketDepth = Entry('market/depth', ['public', 'mix'], 'GET', {'cost': 1})
18
19
  public_mix_get_market_ticker = publicMixGetMarketTicker = Entry('market/ticker', ['public', 'mix'], 'GET', {'cost': 1})
@@ -30,6 +31,9 @@ class ImplicitAPI:
30
31
  public_mix_get_market_symbol_leverage = publicMixGetMarketSymbolLeverage = Entry('market/symbol-leverage', ['public', 'mix'], 'GET', {'cost': 1})
31
32
  public_mix_get_market_querypositionlever = publicMixGetMarketQueryPositionLever = Entry('market/queryPositionLever', ['public', 'mix'], 'GET', {'cost': 1})
32
33
  public_mix_get_market_open_limit = publicMixGetMarketOpenLimit = Entry('market/open-limit', ['public', 'mix'], 'GET', {'cost': 1})
34
+ public_mix_get_market_history_candles = publicMixGetMarketHistoryCandles = Entry('market/history-candles', ['public', 'mix'], 'GET', {'cost': 1})
35
+ public_mix_get_market_history_index_candles = publicMixGetMarketHistoryIndexCandles = Entry('market/history-index-candles', ['public', 'mix'], 'GET', {'cost': 1})
36
+ public_mix_get_market_history_mark_candles = publicMixGetMarketHistoryMarkCandles = Entry('market/history-mark-candles', ['public', 'mix'], 'GET', {'cost': 1})
33
37
  public_margin_get_cross_public_interestrateandlimit = publicMarginGetCrossPublicInterestRateAndLimit = Entry('cross/public/interestRateAndLimit', ['public', 'margin'], 'GET', {'cost': 2})
34
38
  public_margin_get_isolated_public_interestrateandlimit = publicMarginGetIsolatedPublicInterestRateAndLimit = Entry('isolated/public/interestRateAndLimit', ['public', 'margin'], 'GET', {'cost': 2})
35
39
  public_margin_get_cross_public_tierdata = publicMarginGetCrossPublicTierData = Entry('cross/public/tierData', ['public', 'margin'], 'GET', {'cost': 2})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.0.5'
7
+ __version__ = '4.0.7'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.0.5'
5
+ __version__ = '4.0.7'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -170,6 +170,7 @@ class bitget(Exchange, ImplicitAPI):
170
170
  'market/candles': 1,
171
171
  'market/depth': 1,
172
172
  'market/spot-vip-level': 2,
173
+ 'market/history-candles': 1,
173
174
  },
174
175
  },
175
176
  'mix': {
@@ -191,6 +192,9 @@ class bitget(Exchange, ImplicitAPI):
191
192
  'market/symbol-leverage': 1,
192
193
  'market/queryPositionLever': 1,
193
194
  'market/open-limit': 1,
195
+ 'market/history-candles': 1,
196
+ 'market/history-index-candles': 1,
197
+ 'market/history-mark-candles': 1,
194
198
  },
195
199
  },
196
200
  'margin': {
@@ -61,6 +61,7 @@ class coinbase(Exchange, ImplicitAPI):
61
61
  'createStopOrder': True,
62
62
  'fetchAccounts': True,
63
63
  'fetchBalance': True,
64
+ 'fetchBidsAsks': True,
64
65
  'fetchBorrowRate': False,
65
66
  'fetchBorrowRateHistories': False,
66
67
  'fetchBorrowRateHistory': False,
@@ -1374,19 +1375,50 @@ class coinbase(Exchange, ImplicitAPI):
1374
1375
  # ...
1375
1376
  # ]
1376
1377
  #
1378
+ # fetchBidsAsks
1379
+ #
1380
+ # {
1381
+ # "product_id": "TRAC-EUR",
1382
+ # "bids": [
1383
+ # {
1384
+ # "price": "0.2384",
1385
+ # "size": "386.1"
1386
+ # }
1387
+ # ],
1388
+ # "asks": [
1389
+ # {
1390
+ # "price": "0.2406",
1391
+ # "size": "672"
1392
+ # }
1393
+ # ],
1394
+ # "time": "2023-06-30T07:15:24.656044Z"
1395
+ # }
1396
+ #
1397
+ bid = self.safe_number(ticker, 'bid')
1398
+ ask = self.safe_number(ticker, 'ask')
1399
+ bidVolume = None
1400
+ askVolume = None
1401
+ if ('bids' in ticker):
1402
+ bids = self.safe_value(ticker, 'bids', [])
1403
+ asks = self.safe_value(ticker, 'asks', [])
1404
+ bid = self.safe_number(bids[0], 'price')
1405
+ bidVolume = self.safe_number(bids[0], 'size')
1406
+ ask = self.safe_number(asks[0], 'price')
1407
+ askVolume = self.safe_number(asks[0], 'size')
1377
1408
  marketId = self.safe_string(ticker, 'product_id')
1378
1409
  last = self.safe_number(ticker, 'price')
1410
+ datetime = self.safe_string(ticker, 'time')
1379
1411
  return self.safe_ticker({
1380
1412
  'symbol': self.safe_symbol(marketId, market),
1381
- 'timestamp': None,
1382
- 'datetime': None,
1383
- 'bid': self.safe_number(ticker, 'bid'),
1384
- 'ask': self.safe_number(ticker, 'ask'),
1413
+ 'timestamp': self.parse8601(datetime),
1414
+ 'datetime': datetime,
1415
+ 'bid': bid,
1416
+ 'ask': ask,
1385
1417
  'last': last,
1386
1418
  'high': None,
1387
1419
  'low': None,
1388
- 'bidVolume': None,
1389
- 'askVolume': None,
1420
+ 'bidVolume': bidVolume,
1421
+ 'askVolume': askVolume,
1390
1422
  'vwap': None,
1391
1423
  'open': None,
1392
1424
  'close': last,
@@ -2616,6 +2648,43 @@ class coinbase(Exchange, ImplicitAPI):
2616
2648
  timestamp = self.parse8601(time)
2617
2649
  return self.parse_order_book(data, symbol, timestamp, 'bids', 'asks', 'price', 'size')
2618
2650
 
2651
+ async def fetch_bids_asks(self, symbols: Optional[List[str]] = None, params={}):
2652
+ """
2653
+ fetches the bid and ask price and volume for multiple markets
2654
+ see https://docs.cloud.coinbase.com/advanced-trade-api/reference/retailbrokerageapi_getbestbidask
2655
+ :param [str]|None symbols: unified symbols of the markets to fetch the bids and asks for, all markets are returned if not assigned
2656
+ :param dict params: extra parameters specific to the coinbase api endpoint
2657
+ :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/en/latest/manual.html#ticker-structure>`
2658
+ """
2659
+ await self.load_markets()
2660
+ symbols = self.market_symbols(symbols)
2661
+ # the 'product_ids' param isn't working properly and returns {"pricebooks":[]} when defined
2662
+ response = await self.v3PrivateGetBrokerageBestBidAsk(params)
2663
+ #
2664
+ # {
2665
+ # "pricebooks": [
2666
+ # {
2667
+ # "product_id": "TRAC-EUR",
2668
+ # "bids": [
2669
+ # {
2670
+ # "price": "0.2384",
2671
+ # "size": "386.1"
2672
+ # }
2673
+ # ],
2674
+ # "asks": [
2675
+ # {
2676
+ # "price": "0.2406",
2677
+ # "size": "672"
2678
+ # }
2679
+ # ],
2680
+ # "time": "2023-06-30T07:15:24.656044Z"
2681
+ # },
2682
+ # ]
2683
+ # }
2684
+ #
2685
+ tickers = self.safe_value(response, 'pricebooks', [])
2686
+ return self.parse_tickers(tickers, symbols)
2687
+
2619
2688
  def sign(self, path, api=[], method='GET', params={}, headers=None, body=None):
2620
2689
  version = api[0]
2621
2690
  signed = api[1] == 'private'
@@ -168,7 +168,13 @@ class okx(Exchange, ImplicitAPI):
168
168
  'www': 'https://www.okx.com',
169
169
  'doc': 'https://www.okx.com/docs-v5/en/',
170
170
  'fees': 'https://www.okx.com/pages/products/fees.html',
171
- 'referral': 'https://www.okx.com/join/1888677',
171
+ 'referral': {
172
+ # old reflink 0% discount https://www.okx.com/join/1888677
173
+ # new reflink 20% discount https://www.okx.com/join/CCXT2023
174
+ # okx + ccxt campaign reflink with 20% discount https://www.okx.com/activities/ccxt-trade-and-earn?channelid=CCXT2023
175
+ 'url': 'https://www.okx.com/activities/ccxt-trade-and-earn?channelid=CCXT2023',
176
+ 'discount': 0.2,
177
+ },
172
178
  'test': {
173
179
  'rest': 'https://{hostname}',
174
180
  },
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.0.5'
7
+ __version__ = '4.0.7'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -169,6 +169,7 @@ class bitget(Exchange, ImplicitAPI):
169
169
  'market/candles': 1,
170
170
  'market/depth': 1,
171
171
  'market/spot-vip-level': 2,
172
+ 'market/history-candles': 1,
172
173
  },
173
174
  },
174
175
  'mix': {
@@ -190,6 +191,9 @@ class bitget(Exchange, ImplicitAPI):
190
191
  'market/symbol-leverage': 1,
191
192
  'market/queryPositionLever': 1,
192
193
  'market/open-limit': 1,
194
+ 'market/history-candles': 1,
195
+ 'market/history-index-candles': 1,
196
+ 'market/history-mark-candles': 1,
193
197
  },
194
198
  },
195
199
  'margin': {
@@ -61,6 +61,7 @@ class coinbase(Exchange, ImplicitAPI):
61
61
  'createStopOrder': True,
62
62
  'fetchAccounts': True,
63
63
  'fetchBalance': True,
64
+ 'fetchBidsAsks': True,
64
65
  'fetchBorrowRate': False,
65
66
  'fetchBorrowRateHistories': False,
66
67
  'fetchBorrowRateHistory': False,
@@ -1374,19 +1375,50 @@ class coinbase(Exchange, ImplicitAPI):
1374
1375
  # ...
1375
1376
  # ]
1376
1377
  #
1378
+ # fetchBidsAsks
1379
+ #
1380
+ # {
1381
+ # "product_id": "TRAC-EUR",
1382
+ # "bids": [
1383
+ # {
1384
+ # "price": "0.2384",
1385
+ # "size": "386.1"
1386
+ # }
1387
+ # ],
1388
+ # "asks": [
1389
+ # {
1390
+ # "price": "0.2406",
1391
+ # "size": "672"
1392
+ # }
1393
+ # ],
1394
+ # "time": "2023-06-30T07:15:24.656044Z"
1395
+ # }
1396
+ #
1397
+ bid = self.safe_number(ticker, 'bid')
1398
+ ask = self.safe_number(ticker, 'ask')
1399
+ bidVolume = None
1400
+ askVolume = None
1401
+ if ('bids' in ticker):
1402
+ bids = self.safe_value(ticker, 'bids', [])
1403
+ asks = self.safe_value(ticker, 'asks', [])
1404
+ bid = self.safe_number(bids[0], 'price')
1405
+ bidVolume = self.safe_number(bids[0], 'size')
1406
+ ask = self.safe_number(asks[0], 'price')
1407
+ askVolume = self.safe_number(asks[0], 'size')
1377
1408
  marketId = self.safe_string(ticker, 'product_id')
1378
1409
  last = self.safe_number(ticker, 'price')
1410
+ datetime = self.safe_string(ticker, 'time')
1379
1411
  return self.safe_ticker({
1380
1412
  'symbol': self.safe_symbol(marketId, market),
1381
- 'timestamp': None,
1382
- 'datetime': None,
1383
- 'bid': self.safe_number(ticker, 'bid'),
1384
- 'ask': self.safe_number(ticker, 'ask'),
1413
+ 'timestamp': self.parse8601(datetime),
1414
+ 'datetime': datetime,
1415
+ 'bid': bid,
1416
+ 'ask': ask,
1385
1417
  'last': last,
1386
1418
  'high': None,
1387
1419
  'low': None,
1388
- 'bidVolume': None,
1389
- 'askVolume': None,
1420
+ 'bidVolume': bidVolume,
1421
+ 'askVolume': askVolume,
1390
1422
  'vwap': None,
1391
1423
  'open': None,
1392
1424
  'close': last,
@@ -2616,6 +2648,43 @@ class coinbase(Exchange, ImplicitAPI):
2616
2648
  timestamp = self.parse8601(time)
2617
2649
  return self.parse_order_book(data, symbol, timestamp, 'bids', 'asks', 'price', 'size')
2618
2650
 
2651
+ def fetch_bids_asks(self, symbols: Optional[List[str]] = None, params={}):
2652
+ """
2653
+ fetches the bid and ask price and volume for multiple markets
2654
+ see https://docs.cloud.coinbase.com/advanced-trade-api/reference/retailbrokerageapi_getbestbidask
2655
+ :param [str]|None symbols: unified symbols of the markets to fetch the bids and asks for, all markets are returned if not assigned
2656
+ :param dict params: extra parameters specific to the coinbase api endpoint
2657
+ :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/en/latest/manual.html#ticker-structure>`
2658
+ """
2659
+ self.load_markets()
2660
+ symbols = self.market_symbols(symbols)
2661
+ # the 'product_ids' param isn't working properly and returns {"pricebooks":[]} when defined
2662
+ response = self.v3PrivateGetBrokerageBestBidAsk(params)
2663
+ #
2664
+ # {
2665
+ # "pricebooks": [
2666
+ # {
2667
+ # "product_id": "TRAC-EUR",
2668
+ # "bids": [
2669
+ # {
2670
+ # "price": "0.2384",
2671
+ # "size": "386.1"
2672
+ # }
2673
+ # ],
2674
+ # "asks": [
2675
+ # {
2676
+ # "price": "0.2406",
2677
+ # "size": "672"
2678
+ # }
2679
+ # ],
2680
+ # "time": "2023-06-30T07:15:24.656044Z"
2681
+ # },
2682
+ # ]
2683
+ # }
2684
+ #
2685
+ tickers = self.safe_value(response, 'pricebooks', [])
2686
+ return self.parse_tickers(tickers, symbols)
2687
+
2619
2688
  def sign(self, path, api=[], method='GET', params={}, headers=None, body=None):
2620
2689
  version = api[0]
2621
2690
  signed = api[1] == 'private'
@@ -167,7 +167,13 @@ class okx(Exchange, ImplicitAPI):
167
167
  'www': 'https://www.okx.com',
168
168
  'doc': 'https://www.okx.com/docs-v5/en/',
169
169
  'fees': 'https://www.okx.com/pages/products/fees.html',
170
- 'referral': 'https://www.okx.com/join/1888677',
170
+ 'referral': {
171
+ # old reflink 0% discount https://www.okx.com/join/1888677
172
+ # new reflink 20% discount https://www.okx.com/join/CCXT2023
173
+ # okx + ccxt campaign reflink with 20% discount https://www.okx.com/activities/ccxt-trade-and-earn?channelid=CCXT2023
174
+ 'url': 'https://www.okx.com/activities/ccxt-trade-and-earn?channelid=CCXT2023',
175
+ 'discount': 0.2,
176
+ },
171
177
  'test': {
172
178
  'rest': 'https://{hostname}',
173
179
  },
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.0.5'
7
+ __version__ = '4.0.7'
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.0.5
3
+ Version: 4.0.7
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
@@ -31,6 +31,9 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
31
31
  - an out of the box unified API that is extremely easy to integrate
32
32
  - works in Node 10.4+, Python 3, PHP 8.1+, netstandard2.0/2.1 and web browsers
33
33
 
34
+ ## Sponsored Promotion
35
+
36
+ [![OKX + CCXT Exclusive Event: Trade And Earn](https://github-production-user-asset-6210df.s3.amazonaws.com/1294454/250898976-6300ed05-6606-4432-b0c0-3bb32854af60.png)](https://www.okx.com/activities/ccxt-trade-and-earn?channelid=CCXT2023)
34
37
 
35
38
  ## See Also
36
39
 
@@ -58,7 +61,7 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
58
61
  | [![huobi](https://user-images.githubusercontent.com/1294454/76137448-22748a80-604e-11ea-8069-6e389271911d.jpg)](https://www.huobi.com/en-us/v/register/double-invite/?inviter_id=11343840&invite_code=6rmm2223) | huobi | [Huobi](https://www.huobi.com/en-us/v/register/double-invite/?inviter_id=11343840&invite_code=6rmm2223) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://huobiapi.github.io/docs/spot/v1/en/) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | [![Sign up with Huobi using CCXT's referral link for a 15% discount!](https://img.shields.io/static/v1?label=Fee&message=%2d15%25&color=orange)](https://www.huobi.com/en-us/v/register/double-invite/?inviter_id=11343840&invite_code=6rmm2223) |
59
62
  | [![kucoin](https://user-images.githubusercontent.com/51840849/87295558-132aaf80-c50e-11ea-9801-a2fb0c57c799.jpg)](https://www.kucoin.com/ucenter/signup?rcode=E5wkqe) | kucoin | [KuCoin](https://www.kucoin.com/ucenter/signup?rcode=E5wkqe) | [![API Version 2](https://img.shields.io/badge/2-lightgray)](https://docs.kucoin.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) | |
60
63
  | [![mexc](https://user-images.githubusercontent.com/1294454/137283979-8b2a818d-8633-461b-bfca-de89e8c446b2.jpg)](https://m.mexc.com/auth/signup?inviteCode=1FQ1G) | mexc | [MEXC Global](https://m.mexc.com/auth/signup?inviteCode=1FQ1G) | [![API Version 3](https://img.shields.io/badge/3-lightgray)](https://mxcdevelop.github.io/apidocs/spot_v3_en/) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | |
61
- | [![okx](https://user-images.githubusercontent.com/1294454/152485636-38b19e4a-bece-4dec-979a-5982859ffc04.jpg)](https://www.okx.com/join/1888677) | okx | [OKX](https://www.okx.com/join/1888677) | [![API Version 5](https://img.shields.io/badge/5-lightgray)](https://www.okx.com/docs-v5/en/) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | |
64
+ | [![okx](https://user-images.githubusercontent.com/1294454/152485636-38b19e4a-bece-4dec-979a-5982859ffc04.jpg)](https://www.okx.com/activities/ccxt-trade-and-earn?channelid=CCXT2023) | okx | [OKX](https://www.okx.com/activities/ccxt-trade-and-earn?channelid=CCXT2023) | [![API Version 5](https://img.shields.io/badge/5-lightgray)](https://www.okx.com/docs-v5/en/) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | [![Sign up with OKX using CCXT's referral link for a 20% discount!](https://img.shields.io/static/v1?label=Fee&message=%2d20%25&color=orange)](https://www.okx.com/activities/ccxt-trade-and-earn?channelid=CCXT2023) |
62
65
  | [![wavesexchange](https://user-images.githubusercontent.com/1294454/84547058-5fb27d80-ad0b-11ea-8711-78ac8b3c7f31.jpg)](https://waves.exchange) | wavesexchange | [Waves.Exchange](https://waves.exchange) | [![API Version *](https://img.shields.io/badge/*-lightgray)](https://docs.waves.exchange) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | | |
63
66
  | [![woo](https://user-images.githubusercontent.com/1294454/150730761-1a00e5e0-d28c-480f-9e65-089ce3e6ef3b.jpg)](https://referral.woo.org/BAJS6oNmZb3vi3RGA) | woo | [WOO X](https://referral.woo.org/BAJS6oNmZb3vi3RGA) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://docs.woo.org/) | [![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) | |
64
67
 
@@ -149,7 +152,7 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
149
152
  | [![novadax](https://user-images.githubusercontent.com/1294454/92337550-2b085500-f0b3-11ea-98e7-5794fb07dd3b.jpg)](https://www.novadax.com.br/?s=ccxt) | novadax | [NovaDAX](https://www.novadax.com.br/?s=ccxt) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://doc.novadax.com/pt-BR/) | | |
150
153
  | [![oceanex](https://user-images.githubusercontent.com/1294454/58385970-794e2d80-8001-11e9-889c-0567cd79b78e.jpg)](https://oceanex.pro/signup?referral=VE24QX) | oceanex | [OceanEx](https://oceanex.pro/signup?referral=VE24QX) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://api.oceanex.pro/doc/v1) | | |
151
154
  | [![okcoin](https://user-images.githubusercontent.com/51840849/87295551-102fbf00-c50e-11ea-90a9-462eebba5829.jpg)](https://www.okcoin.com/account/register?flag=activity&channelId=600001513) | okcoin | [OKCoin](https://www.okcoin.com/account/register?flag=activity&channelId=600001513) | [![API Version 3](https://img.shields.io/badge/3-lightgray)](https://www.okcoin.com/docs/en/) | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
152
- | [![okx](https://user-images.githubusercontent.com/1294454/152485636-38b19e4a-bece-4dec-979a-5982859ffc04.jpg)](https://www.okx.com/join/1888677) | okx | [OKX](https://www.okx.com/join/1888677) | [![API Version 5](https://img.shields.io/badge/5-lightgray)](https://www.okx.com/docs-v5/en/) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
155
+ | [![okx](https://user-images.githubusercontent.com/1294454/152485636-38b19e4a-bece-4dec-979a-5982859ffc04.jpg)](https://www.okx.com/activities/ccxt-trade-and-earn?channelid=CCXT2023) | okx | [OKX](https://www.okx.com/activities/ccxt-trade-and-earn?channelid=CCXT2023) | [![API Version 5](https://img.shields.io/badge/5-lightgray)](https://www.okx.com/docs-v5/en/) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
153
156
  | [![paymium](https://user-images.githubusercontent.com/51840849/87153930-f0f02200-c2c0-11ea-9c0a-40337375ae89.jpg)](https://www.paymium.com/page/sign-up?referral=eDAzPoRQFMvaAB8sf-qj) | paymium | [Paymium](https://www.paymium.com/page/sign-up?referral=eDAzPoRQFMvaAB8sf-qj) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://github.com/Paymium/api-documentation) | | |
154
157
  | [![phemex](https://user-images.githubusercontent.com/1294454/85225056-221eb600-b3d7-11ea-930d-564d2690e3f6.jpg)](https://phemex.com/register?referralCode=EDNVJ) | phemex | [Phemex](https://phemex.com/register?referralCode=EDNVJ) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://github.com/phemex/phemex-api-docs) | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
155
158
  | [![poloniex](https://user-images.githubusercontent.com/1294454/27766817-e9456312-5ee6-11e7-9b3c-b628ca5626a5.jpg)](https://poloniex.com/signup?c=UBFZJRPJ) | poloniex | [Poloniex](https://poloniex.com/signup?c=UBFZJRPJ) | [![API Version *](https://img.shields.io/badge/*-lightgray)](https://docs.poloniex.com) | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
@@ -223,13 +226,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
223
226
 
224
227
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
225
228
 
226
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.5/dist/ccxt.browser.js
227
- * unpkg: https://unpkg.com/ccxt@4.0.5/dist/ccxt.browser.js
229
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.0.7/dist/ccxt.browser.js
230
+ * unpkg: https://unpkg.com/ccxt@4.0.7/dist/ccxt.browser.js
228
231
 
229
232
  CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
230
233
 
231
234
  ```HTML
232
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.5/dist/ccxt.browser.js"></script>
235
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.0.7/dist/ccxt.browser.js"></script>
233
236
  ```
234
237
 
235
238
  Creates a global `ccxt` object:
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ccxt",
3
- "version": "4.0.5",
3
+ "version": "4.0.7",
4
4
  "description": "A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 130+ exchanges",
5
5
  "unpkg": "dist/ccxt.browser.js",
6
6
  "type": "module",
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes