ccxt 4.1.29__tar.gz → 4.1.30__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 (459) hide show
  1. {ccxt-4.1.29/ccxt.egg-info → ccxt-4.1.30}/PKG-INFO +4 -4
  2. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/__init__.py +1 -1
  3. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/__init__.py +1 -1
  4. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/base/exchange.py +1 -1
  5. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/base/ws/functions.py +1 -1
  6. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bitget.py +132 -16
  7. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bitopro.py +4 -4
  8. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bitrue.py +33 -16
  9. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/gate.py +58 -10
  10. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/huobi.py +0 -1
  11. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/huobijp.py +0 -1
  12. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/krakenfutures.py +1 -1
  13. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/phemex.py +2 -0
  14. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/base/exchange.py +1 -1
  15. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bitget.py +132 -16
  16. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bitopro.py +4 -4
  17. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bitrue.py +33 -16
  18. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/gate.py +58 -10
  19. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/huobi.py +0 -1
  20. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/huobijp.py +0 -1
  21. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/krakenfutures.py +1 -1
  22. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/phemex.py +2 -0
  23. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/__init__.py +1 -1
  24. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/huobi.py +4 -0
  25. {ccxt-4.1.29 → ccxt-4.1.30/ccxt.egg-info}/PKG-INFO +4 -4
  26. {ccxt-4.1.29 → ccxt-4.1.30}/package.json +1 -1
  27. {ccxt-4.1.29 → ccxt-4.1.30}/LICENSE.txt +0 -0
  28. {ccxt-4.1.29 → ccxt-4.1.30}/MANIFEST.in +0 -0
  29. {ccxt-4.1.29 → ccxt-4.1.30}/README.rst +0 -0
  30. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/__init__.py +0 -0
  31. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/ace.py +0 -0
  32. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/alpaca.py +0 -0
  33. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/ascendex.py +0 -0
  34. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bequant.py +0 -0
  35. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bigone.py +0 -0
  36. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/binance.py +0 -0
  37. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/binancecoinm.py +0 -0
  38. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/binanceus.py +0 -0
  39. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/binanceusdm.py +0 -0
  40. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bingx.py +0 -0
  41. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bit2c.py +0 -0
  42. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bitbank.py +0 -0
  43. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bitbay.py +0 -0
  44. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bitbns.py +0 -0
  45. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bitcoincom.py +0 -0
  46. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bitfinex.py +0 -0
  47. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bitfinex2.py +0 -0
  48. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bitflyer.py +0 -0
  49. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bitforex.py +0 -0
  50. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bitget.py +0 -0
  51. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bithumb.py +0 -0
  52. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bitmart.py +0 -0
  53. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bitmex.py +0 -0
  54. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bitopro.py +0 -0
  55. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bitpanda.py +0 -0
  56. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bitrue.py +0 -0
  57. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bitso.py +0 -0
  58. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bitstamp.py +0 -0
  59. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bitstamp1.py +0 -0
  60. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bittrex.py +0 -0
  61. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bitvavo.py +0 -0
  62. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bl3p.py +0 -0
  63. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/blockchaincom.py +0 -0
  64. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/btcalpha.py +0 -0
  65. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/btcbox.py +0 -0
  66. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/btcmarkets.py +0 -0
  67. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/btctradeua.py +0 -0
  68. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/btcturk.py +0 -0
  69. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/bybit.py +0 -0
  70. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/cex.py +0 -0
  71. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/coinbase.py +0 -0
  72. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/coinbaseprime.py +0 -0
  73. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/coinbasepro.py +0 -0
  74. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/coincheck.py +0 -0
  75. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/coinex.py +0 -0
  76. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/coinfalcon.py +0 -0
  77. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/coinmate.py +0 -0
  78. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/coinone.py +0 -0
  79. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/coinsph.py +0 -0
  80. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/coinspot.py +0 -0
  81. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/cryptocom.py +0 -0
  82. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/currencycom.py +0 -0
  83. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/delta.py +0 -0
  84. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/deribit.py +0 -0
  85. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/digifinex.py +0 -0
  86. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/exmo.py +0 -0
  87. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/fmfwio.py +0 -0
  88. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/gate.py +0 -0
  89. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/gateio.py +0 -0
  90. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/gemini.py +0 -0
  91. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/hitbtc.py +0 -0
  92. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/hitbtc3.py +0 -0
  93. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/hollaex.py +0 -0
  94. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/huobi.py +0 -0
  95. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/huobijp.py +0 -0
  96. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/huobipro.py +0 -0
  97. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/idex.py +0 -0
  98. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/independentreserve.py +0 -0
  99. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/indodax.py +0 -0
  100. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/kraken.py +0 -0
  101. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/krakenfutures.py +0 -0
  102. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/kucoin.py +0 -0
  103. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/kucoinfutures.py +0 -0
  104. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/kuna.py +0 -0
  105. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/latoken.py +0 -0
  106. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/lbank.py +0 -0
  107. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/lbank2.py +0 -0
  108. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/luno.py +0 -0
  109. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/lykke.py +0 -0
  110. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/mercado.py +0 -0
  111. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/mexc.py +0 -0
  112. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/mexc3.py +0 -0
  113. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/ndax.py +0 -0
  114. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/novadax.py +0 -0
  115. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/oceanex.py +0 -0
  116. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/okcoin.py +0 -0
  117. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/okex.py +0 -0
  118. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/okex5.py +0 -0
  119. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/okx.py +0 -0
  120. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/paymium.py +0 -0
  121. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/phemex.py +0 -0
  122. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/poloniex.py +0 -0
  123. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/poloniexfutures.py +0 -0
  124. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/probit.py +0 -0
  125. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/tidex.py +0 -0
  126. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/timex.py +0 -0
  127. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/tokocrypto.py +0 -0
  128. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/upbit.py +0 -0
  129. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/wavesexchange.py +0 -0
  130. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/wazirx.py +0 -0
  131. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/whitebit.py +0 -0
  132. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/woo.py +0 -0
  133. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/yobit.py +0 -0
  134. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/zaif.py +0 -0
  135. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/abstract/zonda.py +0 -0
  136. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/ace.py +0 -0
  137. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/alpaca.py +0 -0
  138. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/ascendex.py +0 -0
  139. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/ace.py +0 -0
  140. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/alpaca.py +0 -0
  141. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/ascendex.py +0 -0
  142. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/base/__init__.py +0 -0
  143. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/base/throttler.py +0 -0
  144. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/base/ws/__init__.py +0 -0
  145. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  146. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/base/ws/cache.py +0 -0
  147. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/base/ws/client.py +0 -0
  148. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/base/ws/fast_client.py +0 -0
  149. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/base/ws/future.py +0 -0
  150. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/base/ws/order_book.py +0 -0
  151. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  152. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bequant.py +0 -0
  153. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bigone.py +0 -0
  154. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/binance.py +0 -0
  155. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/binancecoinm.py +0 -0
  156. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/binanceus.py +0 -0
  157. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/binanceusdm.py +0 -0
  158. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bingx.py +0 -0
  159. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bit2c.py +0 -0
  160. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bitbank.py +0 -0
  161. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bitbay.py +0 -0
  162. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bitbns.py +0 -0
  163. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bitcoincom.py +0 -0
  164. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bitfinex.py +0 -0
  165. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bitfinex2.py +0 -0
  166. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bitflyer.py +0 -0
  167. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bitforex.py +0 -0
  168. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bithumb.py +0 -0
  169. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bitmart.py +0 -0
  170. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bitmex.py +0 -0
  171. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bitpanda.py +0 -0
  172. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bitso.py +0 -0
  173. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bitstamp.py +0 -0
  174. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bitstamp1.py +0 -0
  175. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bittrex.py +0 -0
  176. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bitvavo.py +0 -0
  177. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bl3p.py +0 -0
  178. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/blockchaincom.py +0 -0
  179. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/btcalpha.py +0 -0
  180. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/btcbox.py +0 -0
  181. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/btcmarkets.py +0 -0
  182. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/btctradeua.py +0 -0
  183. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/btcturk.py +0 -0
  184. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/bybit.py +0 -0
  185. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/cex.py +0 -0
  186. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/coinbase.py +0 -0
  187. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/coinbaseprime.py +0 -0
  188. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/coinbasepro.py +0 -0
  189. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/coincheck.py +0 -0
  190. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/coinex.py +0 -0
  191. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/coinfalcon.py +0 -0
  192. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/coinmate.py +0 -0
  193. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/coinone.py +0 -0
  194. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/coinsph.py +0 -0
  195. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/coinspot.py +0 -0
  196. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/cryptocom.py +0 -0
  197. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/currencycom.py +0 -0
  198. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/delta.py +0 -0
  199. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/deribit.py +0 -0
  200. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/digifinex.py +0 -0
  201. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/exmo.py +0 -0
  202. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/flowbtc.py +0 -0
  203. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/fmfwio.py +0 -0
  204. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/gateio.py +0 -0
  205. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/gemini.py +0 -0
  206. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/hitbtc.py +0 -0
  207. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/hitbtc3.py +0 -0
  208. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/hollaex.py +0 -0
  209. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/huobipro.py +0 -0
  210. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/idex.py +0 -0
  211. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/independentreserve.py +0 -0
  212. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/indodax.py +0 -0
  213. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/kraken.py +0 -0
  214. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/kucoin.py +0 -0
  215. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/kucoinfutures.py +0 -0
  216. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/kuna.py +0 -0
  217. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/latoken.py +0 -0
  218. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/lbank.py +0 -0
  219. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/lbank2.py +0 -0
  220. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/luno.py +0 -0
  221. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/lykke.py +0 -0
  222. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/mercado.py +0 -0
  223. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/mexc.py +0 -0
  224. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/mexc3.py +0 -0
  225. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/ndax.py +0 -0
  226. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/novadax.py +0 -0
  227. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/oceanex.py +0 -0
  228. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/okcoin.py +0 -0
  229. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/okex.py +0 -0
  230. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/okex5.py +0 -0
  231. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/okx.py +0 -0
  232. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/paymium.py +0 -0
  233. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/poloniex.py +0 -0
  234. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/poloniexfutures.py +0 -0
  235. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/probit.py +0 -0
  236. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/tidex.py +0 -0
  237. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/timex.py +0 -0
  238. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/tokocrypto.py +0 -0
  239. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/upbit.py +0 -0
  240. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/wavesexchange.py +0 -0
  241. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/wazirx.py +0 -0
  242. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/whitebit.py +0 -0
  243. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/woo.py +0 -0
  244. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/yobit.py +0 -0
  245. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/zaif.py +0 -0
  246. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/async_support/zonda.py +0 -0
  247. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/base/__init__.py +0 -0
  248. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/base/decimal_to_precision.py +0 -0
  249. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/base/errors.py +0 -0
  250. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/base/precise.py +0 -0
  251. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/base/types.py +0 -0
  252. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bequant.py +0 -0
  253. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bigone.py +0 -0
  254. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/binance.py +0 -0
  255. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/binancecoinm.py +0 -0
  256. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/binanceus.py +0 -0
  257. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/binanceusdm.py +0 -0
  258. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bingx.py +0 -0
  259. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bit2c.py +0 -0
  260. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bitbank.py +0 -0
  261. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bitbay.py +0 -0
  262. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bitbns.py +0 -0
  263. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bitcoincom.py +0 -0
  264. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bitfinex.py +0 -0
  265. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bitfinex2.py +0 -0
  266. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bitflyer.py +0 -0
  267. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bitforex.py +0 -0
  268. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bithumb.py +0 -0
  269. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bitmart.py +0 -0
  270. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bitmex.py +0 -0
  271. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bitpanda.py +0 -0
  272. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bitso.py +0 -0
  273. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bitstamp.py +0 -0
  274. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bitstamp1.py +0 -0
  275. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bittrex.py +0 -0
  276. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bitvavo.py +0 -0
  277. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bl3p.py +0 -0
  278. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/blockchaincom.py +0 -0
  279. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/btcalpha.py +0 -0
  280. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/btcbox.py +0 -0
  281. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/btcmarkets.py +0 -0
  282. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/btctradeua.py +0 -0
  283. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/btcturk.py +0 -0
  284. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/bybit.py +0 -0
  285. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/cex.py +0 -0
  286. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/coinbase.py +0 -0
  287. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/coinbaseprime.py +0 -0
  288. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/coinbasepro.py +0 -0
  289. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/coincheck.py +0 -0
  290. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/coinex.py +0 -0
  291. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/coinfalcon.py +0 -0
  292. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/coinmate.py +0 -0
  293. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/coinone.py +0 -0
  294. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/coinsph.py +0 -0
  295. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/coinspot.py +0 -0
  296. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/cryptocom.py +0 -0
  297. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/currencycom.py +0 -0
  298. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/delta.py +0 -0
  299. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/deribit.py +0 -0
  300. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/digifinex.py +0 -0
  301. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/exmo.py +0 -0
  302. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/flowbtc.py +0 -0
  303. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/fmfwio.py +0 -0
  304. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/gateio.py +0 -0
  305. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/gemini.py +0 -0
  306. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/hitbtc.py +0 -0
  307. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/hitbtc3.py +0 -0
  308. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/hollaex.py +0 -0
  309. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/huobipro.py +0 -0
  310. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/idex.py +0 -0
  311. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/independentreserve.py +0 -0
  312. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/indodax.py +0 -0
  313. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/kraken.py +0 -0
  314. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/kucoin.py +0 -0
  315. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/kucoinfutures.py +0 -0
  316. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/kuna.py +0 -0
  317. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/latoken.py +0 -0
  318. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/lbank.py +0 -0
  319. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/lbank2.py +0 -0
  320. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/luno.py +0 -0
  321. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/lykke.py +0 -0
  322. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/mercado.py +0 -0
  323. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/mexc.py +0 -0
  324. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/mexc3.py +0 -0
  325. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/ndax.py +0 -0
  326. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/novadax.py +0 -0
  327. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/oceanex.py +0 -0
  328. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/okcoin.py +0 -0
  329. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/okex.py +0 -0
  330. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/okex5.py +0 -0
  331. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/okx.py +0 -0
  332. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/paymium.py +0 -0
  333. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/poloniex.py +0 -0
  334. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/poloniexfutures.py +0 -0
  335. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/alpaca.py +0 -0
  336. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/ascendex.py +0 -0
  337. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/bequant.py +0 -0
  338. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/binance.py +0 -0
  339. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/binancecoinm.py +0 -0
  340. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/binanceus.py +0 -0
  341. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/binanceusdm.py +0 -0
  342. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/bingx.py +0 -0
  343. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/bitcoincom.py +0 -0
  344. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/bitfinex.py +0 -0
  345. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/bitfinex2.py +0 -0
  346. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/bitget.py +0 -0
  347. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/bitmart.py +0 -0
  348. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/bitmex.py +0 -0
  349. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/bitopro.py +0 -0
  350. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/bitpanda.py +0 -0
  351. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/bitrue.py +0 -0
  352. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/bitstamp.py +0 -0
  353. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/bittrex.py +0 -0
  354. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/bitvavo.py +0 -0
  355. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/blockchaincom.py +0 -0
  356. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/bybit.py +0 -0
  357. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/cex.py +0 -0
  358. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/coinbase.py +0 -0
  359. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/coinbaseprime.py +0 -0
  360. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/coinbasepro.py +0 -0
  361. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/coinex.py +0 -0
  362. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/cryptocom.py +0 -0
  363. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/currencycom.py +0 -0
  364. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/deribit.py +0 -0
  365. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/exmo.py +0 -0
  366. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/gate.py +0 -0
  367. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/gateio.py +0 -0
  368. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/gemini.py +0 -0
  369. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/hitbtc.py +0 -0
  370. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/hollaex.py +0 -0
  371. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/huobijp.py +0 -0
  372. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/huobipro.py +0 -0
  373. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/idex.py +0 -0
  374. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/independentreserve.py +0 -0
  375. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/kraken.py +0 -0
  376. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/krakenfutures.py +0 -0
  377. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/kucoin.py +0 -0
  378. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/kucoinfutures.py +0 -0
  379. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/luno.py +0 -0
  380. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/mexc.py +0 -0
  381. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/mexc3.py +0 -0
  382. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/ndax.py +0 -0
  383. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/okcoin.py +0 -0
  384. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/okex.py +0 -0
  385. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/okx.py +0 -0
  386. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/phemex.py +0 -0
  387. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/poloniex.py +0 -0
  388. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/poloniexfutures.py +0 -0
  389. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/probit.py +0 -0
  390. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/upbit.py +0 -0
  391. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/wazirx.py +0 -0
  392. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/whitebit.py +0 -0
  393. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/pro/woo.py +0 -0
  394. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/probit.py +0 -0
  395. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/static_dependencies/__init__.py +0 -0
  396. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  397. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  398. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  399. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  400. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  401. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  402. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  403. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  404. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  405. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  406. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  407. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  408. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/__init__.py +0 -0
  409. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/__init__.py +0 -0
  410. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_account.py +0 -0
  411. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_balance.py +0 -0
  412. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_borrow_interest.py +0 -0
  413. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_borrow_rate.py +0 -0
  414. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_calculate_fee.py +0 -0
  415. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_crypto.py +0 -0
  416. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_currency.py +0 -0
  417. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_datetime.py +0 -0
  418. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_decimal_to_precision.py +0 -0
  419. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_deep_extend.py +0 -0
  420. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
  421. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
  422. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_funding_rate_history.py +0 -0
  423. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_ledger_entry.py +0 -0
  424. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_ledger_item.py +0 -0
  425. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_leverage_tier.py +0 -0
  426. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_margin_modification.py +0 -0
  427. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_market.py +0 -0
  428. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_number.py +0 -0
  429. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_ohlcv.py +0 -0
  430. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_open_interest.py +0 -0
  431. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_order.py +0 -0
  432. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_order_book.py +0 -0
  433. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_position.py +0 -0
  434. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_shared_methods.py +0 -0
  435. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_status.py +0 -0
  436. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_throttle.py +0 -0
  437. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_ticker.py +0 -0
  438. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_trade.py +0 -0
  439. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_trading_fee.py +0 -0
  440. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/base/test_transaction.py +0 -0
  441. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/test_async.py +0 -0
  442. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/test/test_sync.py +0 -0
  443. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/tidex.py +0 -0
  444. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/timex.py +0 -0
  445. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/tokocrypto.py +0 -0
  446. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/upbit.py +0 -0
  447. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/wavesexchange.py +0 -0
  448. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/wazirx.py +0 -0
  449. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/whitebit.py +0 -0
  450. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/woo.py +0 -0
  451. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/yobit.py +0 -0
  452. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/zaif.py +0 -0
  453. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt/zonda.py +0 -0
  454. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt.egg-info/SOURCES.txt +0 -0
  455. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt.egg-info/dependency_links.txt +0 -0
  456. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt.egg-info/requires.txt +0 -0
  457. {ccxt-4.1.29 → ccxt-4.1.30}/ccxt.egg-info/top_level.txt +0 -0
  458. {ccxt-4.1.29 → ccxt-4.1.30}/setup.cfg +0 -0
  459. {ccxt-4.1.29 → ccxt-4.1.30}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.1.29
3
+ Version: 4.1.30
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
@@ -223,13 +223,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
223
223
 
224
224
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
225
225
 
226
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.1.29/dist/ccxt.browser.js
227
- * unpkg: https://unpkg.com/ccxt@4.1.29/dist/ccxt.browser.js
226
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.1.30/dist/ccxt.browser.js
227
+ * unpkg: https://unpkg.com/ccxt@4.1.30/dist/ccxt.browser.js
228
228
 
229
229
  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
230
 
231
231
  ```HTML
232
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.1.29/dist/ccxt.browser.js"></script>
232
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.1.30/dist/ccxt.browser.js"></script>
233
233
  ```
234
234
 
235
235
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.1.29'
25
+ __version__ = '4.1.30'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.1.29'
7
+ __version__ = '4.1.30'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.1.29'
5
+ __version__ = '4.1.30'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -9,7 +9,7 @@ import datetime
9
9
 
10
10
 
11
11
  def inflate(data):
12
- return decompress(data, -MAX_WBITS).decode('utf-8')
12
+ return decompress(data, -MAX_WBITS)
13
13
 
14
14
 
15
15
  def inflate64(data):
@@ -50,7 +50,7 @@ class bitget(Exchange, ImplicitAPI):
50
50
  'has': {
51
51
  'CORS': None,
52
52
  'spot': True,
53
- 'margin': None,
53
+ 'margin': True,
54
54
  'swap': True,
55
55
  'future': True,
56
56
  'option': False,
@@ -1489,19 +1489,43 @@ class bitget(Exchange, ImplicitAPI):
1489
1489
  """
1490
1490
  retrieve information on the maximum leverage, and maintenance margin for trades of varying trade sizes for a single market
1491
1491
  :see: https://bitgetlimited.github.io/apidoc/en/mix/#get-position-tier
1492
+ :see: https://bitgetlimited.github.io/apidoc/en/margin/#get-isolated-tier-data
1493
+ :see: https://bitgetlimited.github.io/apidoc/en/margin/#get-cross-tier-data
1492
1494
  :param str symbol: unified market symbol
1493
1495
  :param dict [params]: extra parameters specific to the bitget api endpoint
1496
+ :param str [params.marginMode]: for spot margin 'cross' or 'isolated', default is 'isolated'
1497
+ :param str [params.code]: required for cross spot margin
1494
1498
  :returns dict: a `leverage tiers structure <https://github.com/ccxt/ccxt/wiki/Manual#leverage-tiers-structure>`
1495
1499
  """
1496
1500
  await self.load_markets()
1497
1501
  request = {}
1498
- market = None
1499
1502
  market = self.market(symbol)
1500
- if market['spot']:
1503
+ type = None
1504
+ type, params = self.handle_market_type_and_params('fetchMarketLeverageTiers', market, params)
1505
+ response = None
1506
+ marginMode = None
1507
+ marginMode, params = self.handle_margin_mode_and_params('fetchMarketLeverageTiers', params, 'isolated')
1508
+ if (type == 'swap') or (type == 'future'):
1509
+ marketId = market['id']
1510
+ parts = marketId.split('_')
1511
+ productType = self.safe_string_upper(parts, 1)
1512
+ request['symbol'] = marketId
1513
+ request['productType'] = productType
1514
+ response = await self.publicMixGetMarketQueryPositionLever(self.extend(request, params))
1515
+ elif marginMode == 'isolated':
1516
+ request['symbol'] = market['info']['symbolName']
1517
+ response = await self.publicMarginGetIsolatedPublicTierData(self.extend(request, params))
1518
+ elif marginMode == 'cross':
1519
+ code = self.safe_string(params, 'code')
1520
+ self.check_required_argument('fetchMarketLeverageTiers', code, 'code')
1521
+ params = self.omit(params, 'code')
1522
+ currency = self.currency(code)
1523
+ request['coin'] = currency['code']
1524
+ response = await self.publicMarginGetCrossPublicTierData(self.extend(request, params))
1525
+ else:
1501
1526
  raise BadRequest(self.id + ' fetchMarketLeverageTiers() symbol does not support market ' + symbol)
1502
- request['symbol'] = market['id']
1503
- request['productType'] = 'UMCBL'
1504
- response = await self.publicMixGetMarketQueryPositionLever(self.extend(request, params))
1527
+ #
1528
+ # swap and future
1505
1529
  #
1506
1530
  # {
1507
1531
  # "code":"00000",
@@ -1518,10 +1542,50 @@ class bitget(Exchange, ImplicitAPI):
1518
1542
  # "requestTime":1627292076687
1519
1543
  # }
1520
1544
  #
1521
- result = self.safe_value(response, 'data')
1545
+ # isolated
1546
+ #
1547
+ # {
1548
+ # "code": "00000",
1549
+ # "msg": "success",
1550
+ # "requestTime": 1698352496622,
1551
+ # "data": [
1552
+ # {
1553
+ # "tier": "1",
1554
+ # "symbol": "BTCUSDT",
1555
+ # "leverage": "10",
1556
+ # "baseCoin": "BTC",
1557
+ # "quoteCoin": "USDT",
1558
+ # "baseMaxBorrowableAmount": "3",
1559
+ # "quoteMaxBorrowableAmount": "30000",
1560
+ # "maintainMarginRate": "0.05",
1561
+ # "initRate": "0.1111"
1562
+ # },
1563
+ # ]
1564
+ # }
1565
+ #
1566
+ # cross
1567
+ #
1568
+ # {
1569
+ # "code": "00000",
1570
+ # "msg": "success",
1571
+ # "requestTime": 1698352997077,
1572
+ # "data": [
1573
+ # {
1574
+ # "tier": "1",
1575
+ # "leverage": "3",
1576
+ # "coin": "BTC",
1577
+ # "maxBorrowableAmount": "26",
1578
+ # "maintainMarginRate": "0.1"
1579
+ # }
1580
+ # ]
1581
+ # }
1582
+ #
1583
+ result = self.safe_value(response, 'data', [])
1522
1584
  return self.parse_market_leverage_tiers(result, market)
1523
1585
 
1524
1586
  def parse_market_leverage_tiers(self, info, market=None):
1587
+ #
1588
+ # swap and future
1525
1589
  #
1526
1590
  # [
1527
1591
  # {
@@ -1531,22 +1595,56 @@ class bitget(Exchange, ImplicitAPI):
1531
1595
  # "leverage": 125,
1532
1596
  # "keepMarginRate": "0.004"
1533
1597
  # }
1534
- # ],
1598
+ # ]
1599
+ #
1600
+ # isolated
1601
+ #
1602
+ # [
1603
+ # {
1604
+ # "tier": "1",
1605
+ # "symbol": "BTCUSDT",
1606
+ # "leverage": "10",
1607
+ # "baseCoin": "BTC",
1608
+ # "quoteCoin": "USDT",
1609
+ # "baseMaxBorrowableAmount": "3",
1610
+ # "quoteMaxBorrowableAmount": "30000",
1611
+ # "maintainMarginRate": "0.05",
1612
+ # "initRate": "0.1111"
1613
+ # }
1614
+ # ]
1615
+ #
1616
+ # cross
1617
+ #
1618
+ # [
1619
+ # {
1620
+ # "tier": "1",
1621
+ # "leverage": "3",
1622
+ # "coin": "BTC",
1623
+ # "maxBorrowableAmount": "26",
1624
+ # "maintainMarginRate": "0.1"
1625
+ # }
1626
+ # ]
1535
1627
  #
1536
1628
  tiers = []
1629
+ minNotional = 0
1537
1630
  for i in range(0, len(info)):
1538
1631
  item = info[i]
1539
- minNotional = self.safe_number(item, 'startUnit')
1540
- maxNotional = self.safe_number(item, 'endUnit')
1632
+ minimumNotional = self.safe_number(item, 'startUnit')
1633
+ if minimumNotional is not None:
1634
+ minNotional = minimumNotional
1635
+ maxNotional = self.safe_number_n(item, ['endUnit', 'maxBorrowableAmount', 'baseMaxBorrowableAmount'])
1636
+ marginCurrency = self.safe_string_2(item, 'coin', 'baseCoin')
1637
+ currencyId = marginCurrency if (marginCurrency is not None) else market['base']
1541
1638
  tiers.append({
1542
- 'tier': self.sum(i, 1),
1543
- 'currency': market['base'],
1639
+ 'tier': self.safe_integer_2(item, 'level', 'tier'),
1640
+ 'currency': self.safe_currency_code(currencyId),
1544
1641
  'minNotional': minNotional,
1545
1642
  'maxNotional': maxNotional,
1546
- 'maintenanceMarginRate': self.safe_number(item, 'keepMarginRate'),
1643
+ 'maintenanceMarginRate': self.safe_number_2(item, 'keepMarginRate', 'maintainMarginRate'),
1547
1644
  'maxLeverage': self.safe_number(item, 'leverage'),
1548
1645
  'info': item,
1549
1646
  })
1647
+ minNotional = maxNotional
1550
1648
  return tiers
1551
1649
 
1552
1650
  async def fetch_deposits(self, code: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None, params={}):
@@ -3169,12 +3267,16 @@ class bitget(Exchange, ImplicitAPI):
3169
3267
  create a list of trade orders(all orders should be of the same symbol)
3170
3268
  :see: https://bitgetlimited.github.io/apidoc/en/spot/#batch-order
3171
3269
  :see: https://bitgetlimited.github.io/apidoc/en/mix/#batch-order
3270
+ :see: https://bitgetlimited.github.io/apidoc/en/margin/#isolated-batch-order
3271
+ :see: https://bitgetlimited.github.io/apidoc/en/margin/#cross-batch-order
3172
3272
  :param array orders: list of orders to create, each object should contain the parameters required by createOrder, namely symbol, type, side, amount, price and params
3273
+ :param dict [params]: extra parameters specific to the api endpoint
3173
3274
  :returns dict: an `order structure <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
3174
3275
  """
3175
3276
  await self.load_markets()
3176
3277
  ordersRequests = []
3177
3278
  symbol = None
3279
+ marginMode = None
3178
3280
  for i in range(0, len(orders)):
3179
3281
  rawOrder = orders[i]
3180
3282
  marketId = self.safe_string(rawOrder, 'symbol')
@@ -3188,20 +3290,34 @@ class bitget(Exchange, ImplicitAPI):
3188
3290
  amount = self.safe_value(rawOrder, 'amount')
3189
3291
  price = self.safe_value(rawOrder, 'price')
3190
3292
  orderParams = self.safe_value(rawOrder, 'params', {})
3293
+ marginResult = self.handle_margin_mode_and_params('createOrders', params)
3294
+ currentMarginMode = marginResult[0]
3295
+ if currentMarginMode is not None:
3296
+ if marginMode is None:
3297
+ marginMode = currentMarginMode
3298
+ else:
3299
+ if marginMode != currentMarginMode:
3300
+ raise BadRequest(self.id + ' createOrders() requires all orders to have the same margin mode(isolated or cross)')
3191
3301
  orderRequest = self.create_order_request(marketId, type, side, amount, price, orderParams)
3192
3302
  ordersRequests.append(orderRequest)
3193
3303
  market = self.market(symbol)
3304
+ symbolRequest = (market['info']['symbolName']) if (marginMode is not None) else (market['id'])
3194
3305
  request = {
3195
- 'symbol': market['id'],
3306
+ 'symbol': symbolRequest,
3196
3307
  }
3197
3308
  response = None
3198
3309
  if market['spot']:
3199
3310
  request['orderList'] = ordersRequests
3200
- response = await self.privateSpotPostTradeBatchOrders(request)
3201
- else:
3311
+ if (market['swap']) or (market['future']):
3202
3312
  request['orderDataList'] = ordersRequests
3203
3313
  request['marginCoin'] = market['settleId']
3204
3314
  response = await self.privateMixPostOrderBatchOrders(request)
3315
+ elif marginMode == 'isolated':
3316
+ response = await self.privateMarginPostIsolatedOrderBatchPlaceOrder(request)
3317
+ elif marginMode == 'cross':
3318
+ response = await self.privateMarginPostCrossOrderBatchPlaceOrder(request)
3319
+ else:
3320
+ response = await self.privateSpotPostTradeBatchOrders(request)
3205
3321
  #
3206
3322
  # {
3207
3323
  # "code": "00000",
@@ -1071,13 +1071,13 @@ class bitopro(Exchange, ImplicitAPI):
1071
1071
  request = {
1072
1072
  # 'pair': market['id'], # optional
1073
1073
  }
1074
- # privateDeleteOrdersAll or privateDeleteOrdersPair
1075
- method = self.safe_string(self.options, 'privateDeleteOrdersPair', 'privateDeleteOrdersAll')
1074
+ response = None
1076
1075
  if symbol is not None:
1077
1076
  market = self.market(symbol)
1078
1077
  request['pair'] = market['id']
1079
- method = 'privateDeleteOrdersPair'
1080
- response = await getattr(self, method)(self.extend(request, params))
1078
+ response = await self.privateDeleteOrdersPair(self.extend(request, params))
1079
+ else:
1080
+ response = await self.privateDeleteOrdersAll(self.extend(request, params))
1081
1081
  result = self.safe_value(response, 'data', {})
1082
1082
  #
1083
1083
  # {
@@ -794,6 +794,16 @@ class bitrue(Exchange, ImplicitAPI):
794
794
  return orderbook
795
795
 
796
796
  def parse_ticker(self, ticker, market=None):
797
+ #
798
+ # fetchBidsAsks
799
+ #
800
+ # {
801
+ # "symbol": "LTCBTC",
802
+ # "bidPrice": "4.00000000",
803
+ # "bidQty": "431.00000000",
804
+ # "askPrice": "4.00000200",
805
+ # "askQty": "9.00000000"
806
+ # }
797
807
  #
798
808
  # fetchTicker
799
809
  #
@@ -818,10 +828,10 @@ class bitrue(Exchange, ImplicitAPI):
818
828
  'datetime': None,
819
829
  'high': self.safe_string(ticker, 'high24hr'),
820
830
  'low': self.safe_string(ticker, 'low24hr'),
821
- 'bid': self.safe_string(ticker, 'highestBid'),
822
- 'bidVolume': None,
823
- 'ask': self.safe_string(ticker, 'lowestAsk'),
824
- 'askVolume': None,
831
+ 'bid': self.safe_string_2(ticker, 'highestBid', 'bidPrice'),
832
+ 'bidVolume': self.safe_string(ticker, 'bidQty'),
833
+ 'ask': self.safe_string_2(ticker, 'lowestAsk', 'askPrice'),
834
+ 'askVolume': self.safe_string(ticker, 'askQty'),
825
835
  'vwap': None,
826
836
  'open': None,
827
837
  'close': last,
@@ -941,23 +951,30 @@ class bitrue(Exchange, ImplicitAPI):
941
951
  async def fetch_bids_asks(self, symbols: Optional[List[str]] = None, params={}):
942
952
  """
943
953
  fetches the bid and ask price and volume for multiple markets
954
+ :see: https://github.com/Bitrue-exchange/Spot-official-api-docs#symbol-order-book-ticker
944
955
  :param str[]|None symbols: unified symbols of the markets to fetch the bids and asks for, all markets are returned if not assigned
945
956
  :param dict [params]: extra parameters specific to the bitrue api endpoint
946
957
  :returns dict: a dictionary of `ticker structures <https://github.com/ccxt/ccxt/wiki/Manual#ticker-structure>`
947
958
  """
948
959
  await self.load_markets()
949
- defaultType = self.safe_string_2(self.options, 'fetchBidsAsks', 'defaultType', 'spot')
950
- type = self.safe_string(params, 'type', defaultType)
951
- query = self.omit(params, 'type')
952
- method = None
953
- if type == 'future':
954
- method = 'fapiPublicGetTickerBookTicker'
955
- elif type == 'delivery':
956
- method = 'dapiPublicGetTickerBookTicker'
957
- else:
958
- method = 'publicGetTickerBookTicker'
959
- response = await getattr(self, method)(query)
960
- return self.parse_tickers(response, symbols)
960
+ symbols = self.market_symbols(symbols)
961
+ market = None
962
+ request = {}
963
+ if symbols is not None:
964
+ first = self.safe_string(symbols, 0)
965
+ market = self.market(first)
966
+ request['symbol'] = market['id']
967
+ response = await self.v1PublicGetTickerBookTicker(self.extend(request, params))
968
+ # {
969
+ # "symbol": "LTCBTC",
970
+ # "bidPrice": "4.00000000",
971
+ # "bidQty": "431.00000000",
972
+ # "askPrice": "4.00000200",
973
+ # "askQty": "9.00000000"
974
+ # }
975
+ data = {}
976
+ data[market['id']] = response
977
+ return self.parse_tickers(data, symbols)
961
978
 
962
979
  async def fetch_tickers(self, symbols: Optional[List[str]] = None, params={}):
963
980
  """
@@ -1537,6 +1537,7 @@ class gate(Exchange, ImplicitAPI):
1537
1537
  async def fetch_currencies(self, params={}):
1538
1538
  """
1539
1539
  fetches all available currencies on an exchange
1540
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-all-currencies-details
1540
1541
  :param dict [params]: extra parameters specific to the gate api endpoint
1541
1542
  :returns dict: an associative dictionary of currencies
1542
1543
  """
@@ -1642,6 +1643,7 @@ class gate(Exchange, ImplicitAPI):
1642
1643
  async def fetch_funding_rate(self, symbol: str, params={}):
1643
1644
  """
1644
1645
  fetch the current funding rate
1646
+ :see: https://www.gate.io/docs/developers/apiv4/en/#get-a-single-contract
1645
1647
  :param str symbol: unified market symbol
1646
1648
  :param dict [params]: extra parameters specific to the gate api endpoint
1647
1649
  :returns dict: a `funding rate structure <https://github.com/ccxt/ccxt/wiki/Manual#funding-rate-structure>`
@@ -1701,6 +1703,7 @@ class gate(Exchange, ImplicitAPI):
1701
1703
  async def fetch_funding_rates(self, symbols: Optional[List[str]] = None, params={}):
1702
1704
  """
1703
1705
  fetch the funding rate for multiple markets
1706
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-all-futures-contracts
1704
1707
  :param str[]|None symbols: list of unified market symbols
1705
1708
  :param dict [params]: extra parameters specific to the gate api endpoint
1706
1709
  :returns dict: a dictionary of `funding rates structures <https://github.com/ccxt/ccxt/wiki/Manual#funding-rates-structure>`, indexe by market symbols
@@ -2141,6 +2144,8 @@ class gate(Exchange, ImplicitAPI):
2141
2144
  async def fetch_funding_history(self, symbol: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None, params={}):
2142
2145
  """
2143
2146
  fetch the history of funding payments paid and received on self account
2147
+ :see: https://www.gate.io/docs/developers/apiv4/en/#query-account-book-2
2148
+ :see: https://www.gate.io/docs/developers/apiv4/en/#query-account-book-3
2144
2149
  :param str symbol: unified market symbol
2145
2150
  :param int [since]: the earliest time in ms to fetch funding history for
2146
2151
  :param int [limit]: the maximum number of funding history structures to retrieve
@@ -2796,6 +2801,7 @@ class gate(Exchange, ImplicitAPI):
2796
2801
  async def fetch_funding_rate_history(self, symbol: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None, params={}):
2797
2802
  """
2798
2803
  fetches historical funding rate prices
2804
+ :see: https://www.gate.io/docs/developers/apiv4/en/#funding-rate-history
2799
2805
  :param str symbol: unified symbol of the market to fetch the funding rate history for
2800
2806
  :param int [since]: timestamp in ms of the earliest funding rate to fetch
2801
2807
  :param int [limit]: the maximum amount of `funding rate structures <https://github.com/ccxt/ccxt/wiki/Manual#funding-rate-history-structure>` to fetch
@@ -2881,6 +2887,10 @@ class gate(Exchange, ImplicitAPI):
2881
2887
  async def fetch_trades(self, symbol: str, since: Optional[int] = None, limit: Optional[int] = None, params={}):
2882
2888
  """
2883
2889
  get the list of most recent trades for a particular symbol
2890
+ :see: https://www.gate.io/docs/developers/apiv4/en/#retrieve-market-trades
2891
+ :see: https://www.gate.io/docs/developers/apiv4/en/#futures-trading-history
2892
+ :see: https://www.gate.io/docs/developers/apiv4/en/#futures-trading-history-2
2893
+ :see: https://www.gate.io/docs/developers/apiv4/en/#options-trade-history
2884
2894
  :param str symbol: unified symbol of the market to fetch trades for
2885
2895
  :param int [since]: timestamp in ms of the earliest trade to fetch
2886
2896
  :param int [limit]: the maximum amount of trades to fetch
@@ -2978,6 +2988,10 @@ class gate(Exchange, ImplicitAPI):
2978
2988
  async def fetch_order_trades(self, id: str, symbol: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None, params={}):
2979
2989
  """
2980
2990
  fetch all the trades made from a single order
2991
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-personal-trading-history
2992
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-personal-trading-history-2
2993
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-personal-trading-history-3
2994
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-personal-trading-history-4
2981
2995
  :param str id: order id
2982
2996
  :param str symbol: unified market symbol
2983
2997
  :param int [since]: the earliest time in ms to fetch trades for
@@ -3279,6 +3293,7 @@ class gate(Exchange, ImplicitAPI):
3279
3293
  async def fetch_deposits(self, code: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None, params={}):
3280
3294
  """
3281
3295
  fetch all deposits made to an account
3296
+ :see: https://www.gate.io/docs/developers/apiv4/en/#retrieve-deposit-records
3282
3297
  :param str code: unified currency code
3283
3298
  :param int [since]: the earliest time in ms to fetch deposits for
3284
3299
  :param int [limit]: the maximum number of deposits structures to retrieve
@@ -3310,6 +3325,7 @@ class gate(Exchange, ImplicitAPI):
3310
3325
  async def fetch_withdrawals(self, code: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None, params={}):
3311
3326
  """
3312
3327
  fetch all withdrawals made from an account
3328
+ :see: https://www.gate.io/docs/developers/apiv4/en/#retrieve-withdrawal-records
3313
3329
  :param str code: unified currency code
3314
3330
  :param int [since]: the earliest time in ms to fetch withdrawals for
3315
3331
  :param int [limit]: the maximum number of withdrawals structures to retrieve
@@ -3341,6 +3357,7 @@ class gate(Exchange, ImplicitAPI):
3341
3357
  async def withdraw(self, code: str, amount, address, tag=None, params={}):
3342
3358
  """
3343
3359
  make a withdrawal
3360
+ :see: https://www.gate.io/docs/developers/apiv4/en/#withdraw
3344
3361
  :param str code: unified currency code
3345
3362
  :param float amount: the amount to withdraw
3346
3363
  :param str address: the address to withdraw to
@@ -3478,6 +3495,13 @@ class gate(Exchange, ImplicitAPI):
3478
3495
  async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount, price=None, params={}):
3479
3496
  """
3480
3497
  Create an order on the exchange
3498
+ :see: https://www.gate.io/docs/developers/apiv4/en/#create-an-order
3499
+ :see: https://www.gate.io/docs/developers/apiv4/en/#create-a-price-triggered-order
3500
+ :see: https://www.gate.io/docs/developers/apiv4/en/#create-a-futures-order
3501
+ :see: https://www.gate.io/docs/developers/apiv4/en/#create-a-price-triggered-order-2
3502
+ :see: https://www.gate.io/docs/developers/apiv4/en/#create-a-futures-order-2
3503
+ :see: https://www.gate.io/docs/developers/apiv4/en/#create-a-price-triggered-order-3
3504
+ :see: https://www.gate.io/docs/developers/apiv4/en/#create-an-options-order
3481
3505
  :param str symbol: Unified CCXT market symbol
3482
3506
  :param str type: 'limit' or 'market' *"market" is contract only*
3483
3507
  :param str side: 'buy' or 'sell'
@@ -4205,6 +4229,7 @@ class gate(Exchange, ImplicitAPI):
4205
4229
  async def fetch_open_orders(self, symbol: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None, params={}):
4206
4230
  """
4207
4231
  fetch all unfilled currently open orders
4232
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-all-open-orders
4208
4233
  :param str symbol: unified market symbol
4209
4234
  :param int [since]: the earliest time in ms to fetch open orders for
4210
4235
  :param int [limit]: the maximum number of open orders structures to retrieve
@@ -4219,6 +4244,13 @@ class gate(Exchange, ImplicitAPI):
4219
4244
  async def fetch_closed_orders(self, symbol: Optional[str] = None, since: Optional[int] = None, limit: Optional[int] = None, params={}):
4220
4245
  """
4221
4246
  fetches information on multiple closed orders made by the user
4247
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-orders
4248
+ :see: https://www.gate.io/docs/developers/apiv4/en/#retrieve-running-auto-order-list
4249
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-futures-orders
4250
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-all-auto-orders
4251
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-futures-orders-2
4252
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-all-auto-orders-2
4253
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-options-orders
4222
4254
  :param str symbol: unified market symbol of the market orders were made in
4223
4255
  :param int [since]: the earliest time in ms to fetch orders for
4224
4256
  :param int [limit]: the maximum number of orde structures to retrieve
@@ -4418,6 +4450,10 @@ class gate(Exchange, ImplicitAPI):
4418
4450
  async def cancel_order(self, id: str, symbol: Optional[str] = None, params={}):
4419
4451
  """
4420
4452
  Cancels an open order
4453
+ :see: https://www.gate.io/docs/developers/apiv4/en/#cancel-a-single-order
4454
+ :see: https://www.gate.io/docs/developers/apiv4/en/#cancel-a-single-order-2
4455
+ :see: https://www.gate.io/docs/developers/apiv4/en/#cancel-a-single-order-3
4456
+ :see: https://www.gate.io/docs/developers/apiv4/en/#cancel-a-single-order-4
4421
4457
  :param str id: Order id
4422
4458
  :param str symbol: Unified market symbol
4423
4459
  :param dict [params]: Parameters specified by the exchange api
@@ -4526,6 +4562,10 @@ class gate(Exchange, ImplicitAPI):
4526
4562
  async def cancel_all_orders(self, symbol: Optional[str] = None, params={}):
4527
4563
  """
4528
4564
  cancel all open orders
4565
+ :see: https://www.gate.io/docs/developers/apiv4/en/#cancel-all-open-orders-in-specified-currency-pair
4566
+ :see: https://www.gate.io/docs/developers/apiv4/en/#cancel-all-open-orders-matched
4567
+ :see: https://www.gate.io/docs/developers/apiv4/en/#cancel-all-open-orders-matched-2
4568
+ :see: https://www.gate.io/docs/developers/apiv4/en/#cancel-all-open-orders-matched-3
4529
4569
  :param str symbol: unified market symbol, only orders in the market of self symbol are cancelled when symbol is not None
4530
4570
  :param dict [params]: extra parameters specific to the gate api endpoint
4531
4571
  :returns dict[]: a list of `order structures <https://github.com/ccxt/ccxt/wiki/Manual#order-structure>`
@@ -4646,6 +4686,8 @@ class gate(Exchange, ImplicitAPI):
4646
4686
  async def set_leverage(self, leverage, symbol: Optional[str] = None, params={}):
4647
4687
  """
4648
4688
  set the level of leverage for a market
4689
+ :see: https://www.gate.io/docs/developers/apiv4/en/#update-position-leverage
4690
+ :see: https://www.gate.io/docs/developers/apiv4/en/#update-position-leverage-2
4649
4691
  :param float leverage: the rate of leverage
4650
4692
  :param str symbol: unified market symbol
4651
4693
  :param dict [params]: extra parameters specific to the gate api endpoint
@@ -4984,6 +5026,8 @@ class gate(Exchange, ImplicitAPI):
4984
5026
  async def fetch_leverage_tiers(self, symbols: Optional[List[str]] = None, params={}):
4985
5027
  """
4986
5028
  retrieve information on the maximum leverage, and maintenance margin for trades of varying trade sizes
5029
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-all-futures-contracts
5030
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-all-futures-contracts-2
4987
5031
  :param str[]|None symbols: list of unified market symbols
4988
5032
  :param dict [params]: extra parameters specific to the gate api endpoint
4989
5033
  :returns dict: a dictionary of `leverage tiers structures <https://github.com/ccxt/ccxt/wiki/Manual#leverage-tiers-structure>`, indexed by market symbols
@@ -5234,11 +5278,11 @@ class gate(Exchange, ImplicitAPI):
5234
5278
  'currency': currency['id'],
5235
5279
  'amount': self.currency_to_precision(code, amount),
5236
5280
  }
5237
- method = None
5281
+ response = None
5282
+ params = self.omit(params, ['marginMode'])
5238
5283
  if symbol is None:
5239
- method = 'privateMarginPostCrossRepayments'
5284
+ response = await self.privateMarginPostCrossRepayments(self.extend(request, params))
5240
5285
  else:
5241
- method = 'privateMarginPostLoansLoanIdRepayment'
5242
5286
  market = self.market(symbol)
5243
5287
  request['currency_pair'] = market['id']
5244
5288
  request['mode'] = 'partial'
@@ -5246,8 +5290,8 @@ class gate(Exchange, ImplicitAPI):
5246
5290
  if loanId is None:
5247
5291
  raise ArgumentsRequired(self.id + ' repayMargin() requires loan_id param for isolated margin')
5248
5292
  request['loan_id'] = loanId
5249
- params = self.omit(params, ['marginMode', 'loan_id', 'id'])
5250
- response = await getattr(self, method)(self.extend(request, params))
5293
+ params = self.omit(params, ['loan_id', 'id'])
5294
+ response = await self.privateMarginPostLoansLoanIdRepayment(self.extend(request, params))
5251
5295
  #
5252
5296
  # Cross
5253
5297
  #
@@ -5311,9 +5355,9 @@ class gate(Exchange, ImplicitAPI):
5311
5355
  'currency': currency['id'],
5312
5356
  'amount': self.currency_to_precision(code, amount),
5313
5357
  }
5314
- method = None
5358
+ response = None
5315
5359
  if symbol is None:
5316
- method = 'privateMarginPostCrossLoans'
5360
+ response = await self.privateMarginPostCrossLoans(self.extend(request, params))
5317
5361
  else:
5318
5362
  market = self.market(symbol)
5319
5363
  request['currency_pair'] = market['id']
@@ -5322,9 +5366,8 @@ class gate(Exchange, ImplicitAPI):
5322
5366
  # is the smallest tick size currently offered by gateio
5323
5367
  request['rate'] = self.safe_string(params, 'rate', '0.0001')
5324
5368
  request['auto_renew'] = True
5325
- method = 'privateMarginPostLoans'
5326
- params = self.omit(params, ['marginMode', 'rate'])
5327
- response = await getattr(self, method)(self.extend(request, params))
5369
+ params = self.omit(params, ['rate'])
5370
+ response = await self.privateMarginPostLoans(self.extend(request, params))
5328
5371
  #
5329
5372
  # Cross
5330
5373
  #
@@ -5532,6 +5575,8 @@ class gate(Exchange, ImplicitAPI):
5532
5575
  async def reduce_margin(self, symbol: str, amount, params={}):
5533
5576
  """
5534
5577
  remove margin from a position
5578
+ :see: https://www.gate.io/docs/developers/apiv4/en/#update-position-margin
5579
+ :see: https://www.gate.io/docs/developers/apiv4/en/#update-position-margin-2
5535
5580
  :param str symbol: unified market symbol
5536
5581
  :param float amount: the amount of margin to remove
5537
5582
  :param dict [params]: extra parameters specific to the exmo api endpoint
@@ -5542,6 +5587,8 @@ class gate(Exchange, ImplicitAPI):
5542
5587
  async def add_margin(self, symbol: str, amount, params={}):
5543
5588
  """
5544
5589
  add margin
5590
+ :see: https://www.gate.io/docs/developers/apiv4/en/#update-position-margin
5591
+ :see: https://www.gate.io/docs/developers/apiv4/en/#update-position-margin-2
5545
5592
  :param str symbol: unified market symbol
5546
5593
  :param float amount: amount of margin to add
5547
5594
  :param dict [params]: extra parameters specific to the exmo api endpoint
@@ -6041,6 +6088,7 @@ class gate(Exchange, ImplicitAPI):
6041
6088
  async def fetch_underlying_assets(self, params={}):
6042
6089
  """
6043
6090
  fetches the market ids of underlying assets for a specific contract market type
6091
+ :see: https://www.gate.io/docs/developers/apiv4/en/#list-all-underlyings
6044
6092
  :param dict [params]: exchange specific params
6045
6093
  :param str [params.type]: the contract market type, 'option', 'swap' or 'future', the default is 'option'
6046
6094
  :returns dict[]: a list of `underlying assets <https://github.com/ccxt/ccxt/wiki/Manual#underlying-assets-structure>`
@@ -1069,7 +1069,6 @@ class huobi(Exchange, ImplicitAPI):
1069
1069
  'GET': 'Themis', # conflict with GET(Guaranteed Entrance Token, GET Protocol)
1070
1070
  'GTC': 'Game.com', # conflict with Gitcoin and Gastrocoin
1071
1071
  'HIT': 'HitChain',
1072
- 'HOT': 'Hydro Protocol', # conflict with HOT(Holo) https://github.com/ccxt/ccxt/issues/4929
1073
1072
  # https://github.com/ccxt/ccxt/issues/7399
1074
1073
  # https://coinmarketcap.com/currencies/pnetwork/
1075
1074
  # https://coinmarketcap.com/currencies/penta/markets/
@@ -333,7 +333,6 @@ class huobijp(Exchange, ImplicitAPI):
333
333
  'GET': 'Themis', # conflict with GET(Guaranteed Entrance Token, GET Protocol)
334
334
  'GTC': 'Game.com', # conflict with Gitcoin and Gastrocoin
335
335
  'HIT': 'HitChain',
336
- 'HOT': 'Hydro Protocol', # conflict with HOT(Holo) https://github.com/ccxt/ccxt/issues/4929
337
336
  # https://github.com/ccxt/ccxt/issues/7399
338
337
  # https://coinmarketcap.com/currencies/pnetwork/
339
338
  # https://coinmarketcap.com/currencies/penta/markets/