ccxt 4.3.20__tar.gz → 4.3.21__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 (545) hide show
  1. {ccxt-4.3.20/ccxt.egg-info → ccxt-4.3.21}/PKG-INFO +4 -4
  2. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/__init__.py +1 -1
  3. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/binance.py +1 -0
  4. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/binancecoinm.py +1 -0
  5. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/binanceus.py +1 -0
  6. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/binanceusdm.py +1 -0
  7. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/coinex.py +1 -1
  8. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/okx.py +3 -0
  9. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/ascendex.py +1 -1
  10. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/__init__.py +1 -1
  11. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/ascendex.py +1 -1
  12. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/base/exchange.py +1 -1
  13. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/binance.py +8 -2
  14. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bingx.py +1 -1
  15. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bitget.py +1 -1
  16. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bitmex.py +1 -0
  17. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/coinex.py +139 -177
  18. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/delta.py +1 -1
  19. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/digifinex.py +1 -1
  20. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/exmo.py +1 -1
  21. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/gate.py +1 -1
  22. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/hitbtc.py +1 -1
  23. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/hyperliquid.py +25 -3
  24. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/okx.py +4 -1
  25. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/phemex.py +1 -1
  26. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/base/exchange.py +2 -2
  27. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/binance.py +8 -2
  28. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bingx.py +1 -1
  29. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bitget.py +1 -1
  30. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bitmex.py +1 -0
  31. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/coinex.py +139 -177
  32. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/delta.py +1 -1
  33. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/digifinex.py +1 -1
  34. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/exmo.py +1 -1
  35. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/gate.py +1 -1
  36. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/hitbtc.py +1 -1
  37. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/hyperliquid.py +25 -3
  38. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/okx.py +4 -1
  39. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/phemex.py +1 -1
  40. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/__init__.py +1 -1
  41. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/kucoinfutures.py +89 -1
  42. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/woo.py +46 -22
  43. {ccxt-4.3.20 → ccxt-4.3.21/ccxt.egg-info}/PKG-INFO +4 -4
  44. {ccxt-4.3.20 → ccxt-4.3.21}/package.json +1 -1
  45. {ccxt-4.3.20 → ccxt-4.3.21}/LICENSE.txt +0 -0
  46. {ccxt-4.3.20 → ccxt-4.3.21}/MANIFEST.in +0 -0
  47. {ccxt-4.3.20 → ccxt-4.3.21}/README.rst +0 -0
  48. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/__init__.py +0 -0
  49. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/ace.py +0 -0
  50. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/alpaca.py +0 -0
  51. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/ascendex.py +0 -0
  52. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bequant.py +0 -0
  53. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bigone.py +0 -0
  54. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bingx.py +0 -0
  55. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bit2c.py +0 -0
  56. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bitbank.py +0 -0
  57. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bitbay.py +0 -0
  58. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bitbns.py +0 -0
  59. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bitcoincom.py +0 -0
  60. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bitfinex.py +0 -0
  61. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bitfinex2.py +0 -0
  62. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bitflyer.py +0 -0
  63. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bitget.py +0 -0
  64. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bithumb.py +0 -0
  65. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bitmart.py +0 -0
  66. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bitmex.py +0 -0
  67. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bitopro.py +0 -0
  68. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bitpanda.py +0 -0
  69. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bitrue.py +0 -0
  70. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bitso.py +0 -0
  71. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bitstamp.py +0 -0
  72. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bitteam.py +0 -0
  73. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bitvavo.py +0 -0
  74. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bl3p.py +0 -0
  75. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/blockchaincom.py +0 -0
  76. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/blofin.py +0 -0
  77. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/btcalpha.py +0 -0
  78. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/btcbox.py +0 -0
  79. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/btcmarkets.py +0 -0
  80. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/btcturk.py +0 -0
  81. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/bybit.py +0 -0
  82. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/cex.py +0 -0
  83. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/coinbase.py +0 -0
  84. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/coinbaseinternational.py +0 -0
  85. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/coinbasepro.py +0 -0
  86. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/coincheck.py +0 -0
  87. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/coinlist.py +0 -0
  88. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/coinmate.py +0 -0
  89. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/coinmetro.py +0 -0
  90. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/coinone.py +0 -0
  91. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/coinsph.py +0 -0
  92. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/coinspot.py +0 -0
  93. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/cryptocom.py +0 -0
  94. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/currencycom.py +0 -0
  95. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/delta.py +0 -0
  96. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/deribit.py +0 -0
  97. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/digifinex.py +0 -0
  98. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/exmo.py +0 -0
  99. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/fmfwio.py +0 -0
  100. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/gate.py +0 -0
  101. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/gateio.py +0 -0
  102. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/gemini.py +0 -0
  103. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/hitbtc.py +0 -0
  104. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/hitbtc3.py +0 -0
  105. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/hollaex.py +0 -0
  106. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/htx.py +0 -0
  107. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/huobi.py +0 -0
  108. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/huobijp.py +0 -0
  109. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/hyperliquid.py +0 -0
  110. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/idex.py +0 -0
  111. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/independentreserve.py +0 -0
  112. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/indodax.py +0 -0
  113. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/kraken.py +0 -0
  114. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/krakenfutures.py +0 -0
  115. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/kucoin.py +0 -0
  116. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/kucoinfutures.py +0 -0
  117. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/kuna.py +0 -0
  118. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/latoken.py +0 -0
  119. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/lbank.py +0 -0
  120. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/luno.py +0 -0
  121. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/lykke.py +0 -0
  122. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/mercado.py +0 -0
  123. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/mexc.py +0 -0
  124. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/ndax.py +0 -0
  125. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/novadax.py +0 -0
  126. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/oceanex.py +0 -0
  127. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/okcoin.py +0 -0
  128. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/onetrading.py +0 -0
  129. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/p2b.py +0 -0
  130. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/paymium.py +0 -0
  131. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/phemex.py +0 -0
  132. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/poloniex.py +0 -0
  133. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/poloniexfutures.py +0 -0
  134. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/probit.py +0 -0
  135. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/timex.py +0 -0
  136. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/tokocrypto.py +0 -0
  137. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/tradeogre.py +0 -0
  138. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/upbit.py +0 -0
  139. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/wavesexchange.py +0 -0
  140. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/wazirx.py +0 -0
  141. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/whitebit.py +0 -0
  142. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/woo.py +0 -0
  143. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/woofipro.py +0 -0
  144. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/yobit.py +0 -0
  145. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/zaif.py +0 -0
  146. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/abstract/zonda.py +0 -0
  147. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/ace.py +0 -0
  148. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/alpaca.py +0 -0
  149. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/ace.py +0 -0
  150. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/alpaca.py +0 -0
  151. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/base/__init__.py +0 -0
  152. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/base/throttler.py +0 -0
  153. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/base/ws/__init__.py +0 -0
  154. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  155. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/base/ws/cache.py +0 -0
  156. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/base/ws/client.py +0 -0
  157. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/base/ws/fast_client.py +0 -0
  158. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/base/ws/functions.py +0 -0
  159. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/base/ws/future.py +0 -0
  160. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/base/ws/order_book.py +0 -0
  161. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  162. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bequant.py +0 -0
  163. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bigone.py +0 -0
  164. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/binancecoinm.py +0 -0
  165. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/binanceus.py +0 -0
  166. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/binanceusdm.py +0 -0
  167. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bit2c.py +0 -0
  168. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bitbank.py +0 -0
  169. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bitbay.py +0 -0
  170. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bitbns.py +0 -0
  171. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bitcoincom.py +0 -0
  172. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bitfinex.py +0 -0
  173. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bitfinex2.py +0 -0
  174. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bitflyer.py +0 -0
  175. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bithumb.py +0 -0
  176. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bitmart.py +0 -0
  177. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bitopro.py +0 -0
  178. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bitpanda.py +0 -0
  179. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bitrue.py +0 -0
  180. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bitso.py +0 -0
  181. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bitstamp.py +0 -0
  182. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bitteam.py +0 -0
  183. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bitvavo.py +0 -0
  184. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bl3p.py +0 -0
  185. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/blockchaincom.py +0 -0
  186. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/blofin.py +0 -0
  187. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/btcalpha.py +0 -0
  188. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/btcbox.py +0 -0
  189. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/btcmarkets.py +0 -0
  190. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/btcturk.py +0 -0
  191. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/bybit.py +0 -0
  192. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/cex.py +0 -0
  193. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/coinbase.py +0 -0
  194. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/coinbaseinternational.py +0 -0
  195. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/coinbasepro.py +0 -0
  196. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/coincheck.py +0 -0
  197. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/coinlist.py +0 -0
  198. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/coinmate.py +0 -0
  199. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/coinmetro.py +0 -0
  200. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/coinone.py +0 -0
  201. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/coinsph.py +0 -0
  202. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/coinspot.py +0 -0
  203. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/cryptocom.py +0 -0
  204. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/currencycom.py +0 -0
  205. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/deribit.py +0 -0
  206. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/fmfwio.py +0 -0
  207. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/gateio.py +0 -0
  208. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/gemini.py +0 -0
  209. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/hitbtc3.py +0 -0
  210. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/hollaex.py +0 -0
  211. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/htx.py +0 -0
  212. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/huobi.py +0 -0
  213. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/huobijp.py +0 -0
  214. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/idex.py +0 -0
  215. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/independentreserve.py +0 -0
  216. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/indodax.py +0 -0
  217. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/kraken.py +0 -0
  218. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/krakenfutures.py +0 -0
  219. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/kucoin.py +0 -0
  220. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/kucoinfutures.py +0 -0
  221. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/kuna.py +0 -0
  222. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/latoken.py +0 -0
  223. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/lbank.py +0 -0
  224. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/luno.py +0 -0
  225. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/lykke.py +0 -0
  226. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/mercado.py +0 -0
  227. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/mexc.py +0 -0
  228. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/ndax.py +0 -0
  229. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/novadax.py +0 -0
  230. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/oceanex.py +0 -0
  231. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/okcoin.py +0 -0
  232. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/onetrading.py +0 -0
  233. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/p2b.py +0 -0
  234. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/paymium.py +0 -0
  235. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/poloniex.py +0 -0
  236. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/poloniexfutures.py +0 -0
  237. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/probit.py +0 -0
  238. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/timex.py +0 -0
  239. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/tokocrypto.py +0 -0
  240. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/tradeogre.py +0 -0
  241. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/upbit.py +0 -0
  242. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/wavesexchange.py +0 -0
  243. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/wazirx.py +0 -0
  244. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/whitebit.py +0 -0
  245. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/woo.py +0 -0
  246. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/woofipro.py +0 -0
  247. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/yobit.py +0 -0
  248. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/zaif.py +0 -0
  249. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/async_support/zonda.py +0 -0
  250. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/base/__init__.py +0 -0
  251. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/base/decimal_to_precision.py +0 -0
  252. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/base/errors.py +0 -0
  253. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/base/precise.py +0 -0
  254. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/base/types.py +0 -0
  255. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bequant.py +0 -0
  256. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bigone.py +0 -0
  257. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/binancecoinm.py +0 -0
  258. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/binanceus.py +0 -0
  259. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/binanceusdm.py +0 -0
  260. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bit2c.py +0 -0
  261. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bitbank.py +0 -0
  262. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bitbay.py +0 -0
  263. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bitbns.py +0 -0
  264. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bitcoincom.py +0 -0
  265. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bitfinex.py +0 -0
  266. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bitfinex2.py +0 -0
  267. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bitflyer.py +0 -0
  268. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bithumb.py +0 -0
  269. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bitmart.py +0 -0
  270. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bitopro.py +0 -0
  271. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bitpanda.py +0 -0
  272. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bitrue.py +0 -0
  273. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bitso.py +0 -0
  274. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bitstamp.py +0 -0
  275. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bitteam.py +0 -0
  276. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bitvavo.py +0 -0
  277. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bl3p.py +0 -0
  278. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/blockchaincom.py +0 -0
  279. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/blofin.py +0 -0
  280. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/btcalpha.py +0 -0
  281. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/btcbox.py +0 -0
  282. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/btcmarkets.py +0 -0
  283. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/btcturk.py +0 -0
  284. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/bybit.py +0 -0
  285. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/cex.py +0 -0
  286. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/coinbase.py +0 -0
  287. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/coinbaseinternational.py +0 -0
  288. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/coinbasepro.py +0 -0
  289. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/coincheck.py +0 -0
  290. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/coinlist.py +0 -0
  291. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/coinmate.py +0 -0
  292. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/coinmetro.py +0 -0
  293. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/coinone.py +0 -0
  294. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/coinsph.py +0 -0
  295. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/coinspot.py +0 -0
  296. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/cryptocom.py +0 -0
  297. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/currencycom.py +0 -0
  298. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/deribit.py +0 -0
  299. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/fmfwio.py +0 -0
  300. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/gateio.py +0 -0
  301. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/gemini.py +0 -0
  302. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/hitbtc3.py +0 -0
  303. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/hollaex.py +0 -0
  304. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/htx.py +0 -0
  305. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/huobi.py +0 -0
  306. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/huobijp.py +0 -0
  307. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/idex.py +0 -0
  308. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/independentreserve.py +0 -0
  309. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/indodax.py +0 -0
  310. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/kraken.py +0 -0
  311. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/krakenfutures.py +0 -0
  312. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/kucoin.py +0 -0
  313. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/kucoinfutures.py +0 -0
  314. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/kuna.py +0 -0
  315. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/latoken.py +0 -0
  316. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/lbank.py +0 -0
  317. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/luno.py +0 -0
  318. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/lykke.py +0 -0
  319. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/mercado.py +0 -0
  320. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/mexc.py +0 -0
  321. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/ndax.py +0 -0
  322. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/novadax.py +0 -0
  323. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/oceanex.py +0 -0
  324. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/okcoin.py +0 -0
  325. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/onetrading.py +0 -0
  326. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/p2b.py +0 -0
  327. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/paymium.py +0 -0
  328. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/poloniex.py +0 -0
  329. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/poloniexfutures.py +0 -0
  330. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/alpaca.py +0 -0
  331. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/ascendex.py +0 -0
  332. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/bequant.py +0 -0
  333. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/binance.py +0 -0
  334. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/binancecoinm.py +0 -0
  335. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/binanceus.py +0 -0
  336. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/binanceusdm.py +0 -0
  337. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/bingx.py +0 -0
  338. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/bitcoincom.py +0 -0
  339. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/bitfinex.py +0 -0
  340. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/bitfinex2.py +0 -0
  341. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/bitget.py +0 -0
  342. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/bithumb.py +0 -0
  343. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/bitmart.py +0 -0
  344. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/bitmex.py +0 -0
  345. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/bitopro.py +0 -0
  346. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/bitpanda.py +0 -0
  347. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/bitrue.py +0 -0
  348. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/bitstamp.py +0 -0
  349. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/bitvavo.py +0 -0
  350. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/blockchaincom.py +0 -0
  351. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/bybit.py +0 -0
  352. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/cex.py +0 -0
  353. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/coinbase.py +0 -0
  354. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/coinbaseinternational.py +0 -0
  355. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/coinbasepro.py +0 -0
  356. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/coincheck.py +0 -0
  357. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/coinex.py +0 -0
  358. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/coinone.py +0 -0
  359. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/cryptocom.py +0 -0
  360. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/currencycom.py +0 -0
  361. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/deribit.py +0 -0
  362. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/exmo.py +0 -0
  363. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/gate.py +0 -0
  364. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/gateio.py +0 -0
  365. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/gemini.py +0 -0
  366. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/hitbtc.py +0 -0
  367. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/hollaex.py +0 -0
  368. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/htx.py +0 -0
  369. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/huobi.py +0 -0
  370. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/huobijp.py +0 -0
  371. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/hyperliquid.py +0 -0
  372. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/idex.py +0 -0
  373. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/independentreserve.py +0 -0
  374. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/kraken.py +0 -0
  375. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/krakenfutures.py +0 -0
  376. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/kucoin.py +0 -0
  377. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/lbank.py +0 -0
  378. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/luno.py +0 -0
  379. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/mexc.py +0 -0
  380. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/ndax.py +0 -0
  381. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/okcoin.py +0 -0
  382. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/okx.py +0 -0
  383. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/onetrading.py +0 -0
  384. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/p2b.py +0 -0
  385. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/phemex.py +0 -0
  386. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/poloniex.py +0 -0
  387. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/poloniexfutures.py +0 -0
  388. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/probit.py +0 -0
  389. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/upbit.py +0 -0
  390. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/wazirx.py +0 -0
  391. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/whitebit.py +0 -0
  392. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/pro/woofipro.py +0 -0
  393. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/probit.py +0 -0
  394. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/__init__.py +0 -0
  395. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  396. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  397. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  398. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  399. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  400. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  401. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  402. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  403. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  404. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  405. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  406. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  407. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  408. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  409. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  410. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  411. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  412. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  413. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  414. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  415. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  416. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  417. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  418. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  419. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  420. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  421. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  422. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  423. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  424. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  425. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  426. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  427. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  428. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  429. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  430. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  431. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  432. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  433. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  434. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  435. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  436. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  437. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  438. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  439. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  440. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  441. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  442. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  443. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  444. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  445. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  446. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  447. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  448. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  449. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  450. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  451. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  452. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  453. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  454. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  455. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  456. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  457. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  458. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  459. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  460. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  461. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  462. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  463. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  464. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  465. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  466. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  467. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  468. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  469. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  470. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  471. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  472. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  473. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  474. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  475. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  476. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  477. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  478. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  479. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  480. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  481. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/toolz/_version.py +0 -0
  482. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  483. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  484. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  485. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  486. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  487. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  488. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  489. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  490. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/static_dependencies/toolz/utils.py +0 -0
  491. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/__init__.py +0 -0
  492. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/__init__.py +0 -0
  493. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_account.py +0 -0
  494. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_balance.py +0 -0
  495. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_borrow_interest.py +0 -0
  496. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_borrow_rate.py +0 -0
  497. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_calculate_fee.py +0 -0
  498. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_crypto.py +0 -0
  499. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_currency.py +0 -0
  500. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_datetime.py +0 -0
  501. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_decimal_to_precision.py +0 -0
  502. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_deep_extend.py +0 -0
  503. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
  504. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
  505. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_funding_rate_history.py +0 -0
  506. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_last_price.py +0 -0
  507. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_ledger_entry.py +0 -0
  508. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_ledger_item.py +0 -0
  509. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_leverage_tier.py +0 -0
  510. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_margin_mode.py +0 -0
  511. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_margin_modification.py +0 -0
  512. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_market.py +0 -0
  513. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_number.py +0 -0
  514. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_ohlcv.py +0 -0
  515. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_open_interest.py +0 -0
  516. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_order.py +0 -0
  517. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_order_book.py +0 -0
  518. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_position.py +0 -0
  519. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_shared_methods.py +0 -0
  520. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_status.py +0 -0
  521. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_throttle.py +0 -0
  522. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_ticker.py +0 -0
  523. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_trade.py +0 -0
  524. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_trading_fee.py +0 -0
  525. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/base/test_transaction.py +0 -0
  526. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/test_async.py +0 -0
  527. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/test/test_sync.py +0 -0
  528. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/timex.py +0 -0
  529. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/tokocrypto.py +0 -0
  530. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/tradeogre.py +0 -0
  531. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/upbit.py +0 -0
  532. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/wavesexchange.py +0 -0
  533. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/wazirx.py +0 -0
  534. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/whitebit.py +0 -0
  535. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/woo.py +0 -0
  536. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/woofipro.py +0 -0
  537. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/yobit.py +0 -0
  538. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/zaif.py +0 -0
  539. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt/zonda.py +0 -0
  540. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt.egg-info/SOURCES.txt +0 -0
  541. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt.egg-info/dependency_links.txt +0 -0
  542. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt.egg-info/requires.txt +0 -0
  543. {ccxt-4.3.20 → ccxt-4.3.21}/ccxt.egg-info/top_level.txt +0 -0
  544. {ccxt-4.3.20 → ccxt-4.3.21}/setup.cfg +0 -0
  545. {ccxt-4.3.20 → ccxt-4.3.21}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.3.20
3
+ Version: 4.3.21
4
4
  Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges
5
5
  Home-page: https://ccxt.com
6
6
  Author: Igor Kroitor
@@ -228,13 +228,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
228
228
 
229
229
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
230
230
 
231
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.20/dist/ccxt.browser.js
232
- * unpkg: https://unpkg.com/ccxt@4.3.20/dist/ccxt.browser.js
231
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.21/dist/ccxt.browser.js
232
+ * unpkg: https://unpkg.com/ccxt@4.3.21/dist/ccxt.browser.js
233
233
 
234
234
  CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
235
235
 
236
236
  ```HTML
237
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.20/dist/ccxt.browser.js"></script>
237
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.21/dist/ccxt.browser.js"></script>
238
238
  ```
239
239
 
240
240
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.3.20'
25
+ __version__ = '4.3.21'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -465,6 +465,7 @@ class ImplicitAPI:
465
465
  fapipublic_get_continuousklines = fapiPublicGetContinuousKlines = Entry('continuousKlines', 'fapiPublic', 'GET', {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]})
466
466
  fapipublic_get_markpriceklines = fapiPublicGetMarkPriceKlines = Entry('markPriceKlines', 'fapiPublic', 'GET', {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]})
467
467
  fapipublic_get_indexpriceklines = fapiPublicGetIndexPriceKlines = Entry('indexPriceKlines', 'fapiPublic', 'GET', {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]})
468
+ fapipublic_get_premiumindexklines = fapiPublicGetPremiumIndexKlines = Entry('premiumIndexKlines', 'fapiPublic', 'GET', {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]})
468
469
  fapipublic_get_fundingrate = fapiPublicGetFundingRate = Entry('fundingRate', 'fapiPublic', 'GET', {'cost': 1})
469
470
  fapipublic_get_fundinginfo = fapiPublicGetFundingInfo = Entry('fundingInfo', 'fapiPublic', 'GET', {'cost': 1})
470
471
  fapipublic_get_premiumindex = fapiPublicGetPremiumIndex = Entry('premiumIndex', 'fapiPublic', 'GET', {'cost': 1})
@@ -465,6 +465,7 @@ class ImplicitAPI:
465
465
  fapipublic_get_continuousklines = fapiPublicGetContinuousKlines = Entry('continuousKlines', 'fapiPublic', 'GET', {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]})
466
466
  fapipublic_get_markpriceklines = fapiPublicGetMarkPriceKlines = Entry('markPriceKlines', 'fapiPublic', 'GET', {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]})
467
467
  fapipublic_get_indexpriceklines = fapiPublicGetIndexPriceKlines = Entry('indexPriceKlines', 'fapiPublic', 'GET', {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]})
468
+ fapipublic_get_premiumindexklines = fapiPublicGetPremiumIndexKlines = Entry('premiumIndexKlines', 'fapiPublic', 'GET', {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]})
468
469
  fapipublic_get_fundingrate = fapiPublicGetFundingRate = Entry('fundingRate', 'fapiPublic', 'GET', {'cost': 1})
469
470
  fapipublic_get_fundinginfo = fapiPublicGetFundingInfo = Entry('fundingInfo', 'fapiPublic', 'GET', {'cost': 1})
470
471
  fapipublic_get_premiumindex = fapiPublicGetPremiumIndex = Entry('premiumIndex', 'fapiPublic', 'GET', {'cost': 1})
@@ -517,6 +517,7 @@ class ImplicitAPI:
517
517
  fapipublic_get_continuousklines = fapiPublicGetContinuousKlines = Entry('continuousKlines', 'fapiPublic', 'GET', {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]})
518
518
  fapipublic_get_markpriceklines = fapiPublicGetMarkPriceKlines = Entry('markPriceKlines', 'fapiPublic', 'GET', {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]})
519
519
  fapipublic_get_indexpriceklines = fapiPublicGetIndexPriceKlines = Entry('indexPriceKlines', 'fapiPublic', 'GET', {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]})
520
+ fapipublic_get_premiumindexklines = fapiPublicGetPremiumIndexKlines = Entry('premiumIndexKlines', 'fapiPublic', 'GET', {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]})
520
521
  fapipublic_get_fundingrate = fapiPublicGetFundingRate = Entry('fundingRate', 'fapiPublic', 'GET', {'cost': 1})
521
522
  fapipublic_get_fundinginfo = fapiPublicGetFundingInfo = Entry('fundingInfo', 'fapiPublic', 'GET', {'cost': 1})
522
523
  fapipublic_get_premiumindex = fapiPublicGetPremiumIndex = Entry('premiumIndex', 'fapiPublic', 'GET', {'cost': 1})
@@ -465,6 +465,7 @@ class ImplicitAPI:
465
465
  fapipublic_get_continuousklines = fapiPublicGetContinuousKlines = Entry('continuousKlines', 'fapiPublic', 'GET', {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]})
466
466
  fapipublic_get_markpriceklines = fapiPublicGetMarkPriceKlines = Entry('markPriceKlines', 'fapiPublic', 'GET', {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]})
467
467
  fapipublic_get_indexpriceklines = fapiPublicGetIndexPriceKlines = Entry('indexPriceKlines', 'fapiPublic', 'GET', {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]})
468
+ fapipublic_get_premiumindexklines = fapiPublicGetPremiumIndexKlines = Entry('premiumIndexKlines', 'fapiPublic', 'GET', {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]})
468
469
  fapipublic_get_fundingrate = fapiPublicGetFundingRate = Entry('fundingRate', 'fapiPublic', 'GET', {'cost': 1})
469
470
  fapipublic_get_fundinginfo = fapiPublicGetFundingInfo = Entry('fundingInfo', 'fapiPublic', 'GET', {'cost': 1})
470
471
  fapipublic_get_premiumindex = fapiPublicGetPremiumIndex = Entry('premiumIndex', 'fapiPublic', 'GET', {'cost': 1})
@@ -125,7 +125,7 @@ class ImplicitAPI:
125
125
  v1_perpetualprivate_post_order_cancel_by_client_id = v1PerpetualPrivatePostOrderCancelByClientId = Entry('order/cancel/by_client_id', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
126
126
  v1_perpetualprivate_post_order_cancel_stop_by_client_id = v1PerpetualPrivatePostOrderCancelStopByClientId = Entry('order/cancel_stop/by_client_id', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
127
127
  v1_perpetualprivate_post_market_preference = v1PerpetualPrivatePostMarketPreference = Entry('market/preference', ['v1', 'perpetualPrivate'], 'POST', {'cost': 20})
128
- v2_public_get_maintain_info = v2PublicGetMaintainInfo = Entry('maintain-info', ['v2', 'public'], 'GET', {'cost': 1})
128
+ v2_public_get_maintain_info = v2PublicGetMaintainInfo = Entry('maintain/info', ['v2', 'public'], 'GET', {'cost': 1})
129
129
  v2_public_get_ping = v2PublicGetPing = Entry('ping', ['v2', 'public'], 'GET', {'cost': 1})
130
130
  v2_public_get_time = v2PublicGetTime = Entry('time', ['v2', 'public'], 'GET', {'cost': 1})
131
131
  v2_public_get_spot_market = v2PublicGetSpotMarket = Entry('spot/market', ['v2', 'public'], 'GET', {'cost': 1})
@@ -59,6 +59,9 @@ class ImplicitAPI:
59
59
  public_get_sprd_books = publicGetSprdBooks = Entry('sprd/books', 'public', 'GET', {'cost': 0.5})
60
60
  public_get_sprd_ticker = publicGetSprdTicker = Entry('sprd/ticker', 'public', 'GET', {'cost': 1})
61
61
  public_get_sprd_public_trades = publicGetSprdPublicTrades = Entry('sprd/public-trades', 'public', 'GET', {'cost': 0.2})
62
+ public_get_market_sprd_ticker = publicGetMarketSprdTicker = Entry('market/sprd-ticker', 'public', 'GET', {'cost': 2})
63
+ public_get_market_sprd_candles = publicGetMarketSprdCandles = Entry('market/sprd-candles', 'public', 'GET', {'cost': 2})
64
+ public_get_market_sprd_history_candles = publicGetMarketSprdHistoryCandles = Entry('market/sprd-history-candles', 'public', 'GET', {'cost': 2})
62
65
  public_get_tradingbot_grid_ai_param = publicGetTradingBotGridAiParam = Entry('tradingBot/grid/ai-param', 'public', 'GET', {'cost': 1})
63
66
  public_get_tradingbot_grid_min_investment = publicGetTradingBotGridMinInvestment = Entry('tradingBot/grid/min-investment', 'public', 'GET', {'cost': 1})
64
67
  public_get_tradingbot_public_rsi_back_testing = publicGetTradingBotPublicRsiBackTesting = Entry('tradingBot/public/rsi-back-testing', 'public', 'GET', {'cost': 1})
@@ -2732,7 +2732,7 @@ class ascendex(Exchange, ImplicitAPI):
2732
2732
  'type': type,
2733
2733
  })
2734
2734
 
2735
- def parse_margin_modification(self, data, market: Market = None) -> MarginModification:
2735
+ def parse_margin_modification(self, data: dict, market: Market = None) -> MarginModification:
2736
2736
  #
2737
2737
  # addMargin/reduceMargin
2738
2738
  #
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.20'
7
+ __version__ = '4.3.21'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2732,7 +2732,7 @@ class ascendex(Exchange, ImplicitAPI):
2732
2732
  'type': type,
2733
2733
  })
2734
2734
 
2735
- def parse_margin_modification(self, data, market: Market = None) -> MarginModification:
2735
+ def parse_margin_modification(self, data: dict, market: Market = None) -> MarginModification:
2736
2736
  #
2737
2737
  # addMargin/reduceMargin
2738
2738
  #
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.3.20'
5
+ __version__ = '4.3.21'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -154,7 +154,7 @@ class binance(Exchange, ImplicitAPI):
154
154
  'fetchPositions': True,
155
155
  'fetchPositionsHistory': False,
156
156
  'fetchPositionsRisk': True,
157
- 'fetchPremiumIndexOHLCV': False,
157
+ 'fetchPremiumIndexOHLCV': True,
158
158
  'fetchSettlementHistory': True,
159
159
  'fetchStatus': True,
160
160
  'fetchTicker': True,
@@ -803,6 +803,7 @@ class binance(Exchange, ImplicitAPI):
803
803
  'continuousKlines': {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]},
804
804
  'markPriceKlines': {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]},
805
805
  'indexPriceKlines': {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]},
806
+ 'premiumIndexKlines': {'cost': 1, 'byLimit': [[99, 1], [499, 2], [1000, 5], [10000, 10]]},
806
807
  'fundingRate': 1,
807
808
  'fundingInfo': 1,
808
809
  'premiumIndex': 1,
@@ -4156,6 +4157,11 @@ class binance(Exchange, ImplicitAPI):
4156
4157
  response = await self.dapiPublicGetIndexPriceKlines(self.extend(request, params))
4157
4158
  else:
4158
4159
  response = await self.fapiPublicGetIndexPriceKlines(self.extend(request, params))
4160
+ elif price == 'premiumIndex':
4161
+ if market['inverse']:
4162
+ response = await self.dapiPublicGetPremiumIndexKlines(self.extend(request, params))
4163
+ else:
4164
+ response = await self.fapiPublicGetPremiumIndexKlines(self.extend(request, params))
4159
4165
  elif market['linear']:
4160
4166
  response = await self.fapiPublicGetKlines(self.extend(request, params))
4161
4167
  elif market['inverse']:
@@ -10357,7 +10363,7 @@ class binance(Exchange, ImplicitAPI):
10357
10363
  'code': code,
10358
10364
  })
10359
10365
 
10360
- def parse_margin_modification(self, data, market: Market = None) -> MarginModification:
10366
+ def parse_margin_modification(self, data: dict, market: Market = None) -> MarginModification:
10361
10367
  #
10362
10368
  # add/reduce margin
10363
10369
  #
@@ -3437,7 +3437,7 @@ class bingx(Exchange, ImplicitAPI):
3437
3437
  #
3438
3438
  return self.parse_margin_modification(response, market)
3439
3439
 
3440
- def parse_margin_modification(self, data, market: Market = None) -> MarginModification:
3440
+ def parse_margin_modification(self, data: dict, market: Market = None) -> MarginModification:
3441
3441
  #
3442
3442
  # {
3443
3443
  # "code": 0,
@@ -6479,7 +6479,7 @@ class bitget(Exchange, ImplicitAPI):
6479
6479
  'type': type,
6480
6480
  })
6481
6481
 
6482
- def parse_margin_modification(self, data, market: Market = None) -> MarginModification:
6482
+ def parse_margin_modification(self, data: dict, market: Market = None) -> MarginModification:
6483
6483
  #
6484
6484
  # addMargin/reduceMargin
6485
6485
  #
@@ -253,6 +253,7 @@ class bitmex(Exchange, ImplicitAPI):
253
253
  'orderQty is invalid': InvalidOrder,
254
254
  'Invalid price': InvalidOrder,
255
255
  'Invalid stopPx for ordType': InvalidOrder,
256
+ 'Account is restricted': PermissionDenied, # {"error":{"message":"Account is restricted","name":"HTTPError"}}
256
257
  },
257
258
  'broad': {
258
259
  'Signature not valid': AuthenticationError,
@@ -308,7 +308,7 @@ class coinex(Exchange, ImplicitAPI):
308
308
  'v2': {
309
309
  'public': {
310
310
  'get': {
311
- 'maintain-info': 1,
311
+ 'maintain/info': 1,
312
312
  'ping': 1,
313
313
  'time': 1,
314
314
  'spot/market': 1,
@@ -3988,160 +3988,127 @@ class coinex(Exchange, ImplicitAPI):
3988
3988
  async def modify_margin_helper(self, symbol: str, amount, addOrReduce, params={}):
3989
3989
  await self.load_markets()
3990
3990
  market = self.market(symbol)
3991
+ rawAmount = self.amount_to_precision(symbol, amount)
3992
+ requestAmount = rawAmount
3993
+ if addOrReduce == 'reduce':
3994
+ requestAmount = Precise.string_neg(rawAmount)
3991
3995
  request = {
3992
3996
  'market': market['id'],
3993
- 'amount': self.amount_to_precision(symbol, amount),
3994
- 'type': addOrReduce,
3997
+ 'market_type': 'FUTURES',
3998
+ 'amount': requestAmount,
3995
3999
  }
3996
- response = await self.v1PerpetualPrivatePostPositionAdjustMargin(self.extend(request, params))
4000
+ response = await self.v2PrivatePostFuturesAdjustPositionMargin(self.extend(request, params))
3997
4001
  #
3998
4002
  # {
3999
4003
  # "code": 0,
4000
4004
  # "data": {
4001
- # "adl_sort": 1,
4002
- # "adl_sort_val": "0.00004320",
4003
- # "amount": "0.0005",
4004
- # "amount_max": "0.0005",
4005
- # "amount_max_margin": "6.57352000000000000000",
4006
- # "bkr_price": "16294.08000000000000011090",
4007
- # "bkr_price_imply": "0.00000000000000000000",
4008
- # "close_left": "0.0005",
4009
- # "create_time": 1651202571.320778,
4010
- # "deal_all": "19.72000000000000000000",
4011
- # "deal_asset_fee": "0.00000000000000000000",
4012
- # "fee_asset": "",
4013
- # "finish_type": 1,
4014
- # "first_price": "39441.12",
4015
- # "insurance": "0.00000000000000000000",
4016
- # "latest_price": "39441.12",
4005
+ # "adl_level": 1,
4006
+ # "ath_margin_size": "2.034928",
4007
+ # "ath_position_amount": "0.0001",
4008
+ # "avg_entry_price": "61047.84",
4009
+ # "bkr_price": "30698.5600000000000004142",
4010
+ # "close_avbl": "0.0001",
4011
+ # "cml_position_value": "6.104784",
4012
+ # "created_at": 1715488472908,
4017
4013
  # "leverage": "3",
4018
- # "liq_amount": "0.00000000000000000000",
4019
- # "liq_order_price": "0",
4020
- # "liq_order_time": 0,
4021
- # "liq_price": "16491.28560000000000011090",
4022
- # "liq_price_imply": "0.00000000000000000000",
4023
- # "liq_profit": "0.00000000000000000000",
4024
- # "liq_time": 0,
4025
- # "mainten_margin": "0.005",
4026
- # "mainten_margin_amount": "0.09860280000000000000",
4027
- # "maker_fee": "0.00000000000000000000",
4028
- # "margin_amount": "11.57352000000000000000",
4014
+ # "liq_price": "30852.82412060301507579316",
4015
+ # "maintenance_margin_rate": "0.005",
4016
+ # "maintenance_margin_value": "0.03051465",
4017
+ # "margin_avbl": "3.034928",
4018
+ # "margin_mode": "isolated",
4029
4019
  # "market": "BTCUSDT",
4030
- # "open_margin": "0.58687582908396110455",
4031
- # "open_margin_imply": "0.00000000000000000000",
4032
- # "open_price": "39441.12000000000000000000",
4033
- # "open_val": "19.72056000000000000000",
4034
- # "open_val_max": "19.72056000000000000000",
4035
- # "position_id": 65171206,
4036
- # "profit_clearing": "-0.00986028000000000000",
4037
- # "profit_real": "-0.00986028000000000000",
4038
- # "profit_unreal": "0.00",
4039
- # "side": 2,
4040
- # "stop_loss_price": "0.00000000000000000000",
4041
- # "stop_loss_type": 0,
4042
- # "s ys": 0,
4043
- # "take_profit_price": "0.00000000000000000000",
4044
- # "take_profit_type": 0,
4045
- # "taker_fee": "0.00000000000000000000",
4046
- # "total": 3464,
4047
- # "type": 1,
4048
- # "update_time": 1651202638.911212,
4049
- # "user_id": 3620173
4020
+ # "market_type": "FUTURES",
4021
+ # "max_position_value": "6.104784",
4022
+ # "open_interest": "0.0001",
4023
+ # "position_id": 306458800,
4024
+ # "position_margin_rate": "0.49713929272518077625",
4025
+ # "realized_pnl": "-0.003052392",
4026
+ # "settle_price": "61047.84",
4027
+ # "settle_value": "6.104784",
4028
+ # "side": "long",
4029
+ # "stop_loss_price": "0",
4030
+ # "stop_loss_type": "",
4031
+ # "take_profit_price": "0",
4032
+ # "take_profit_type": "",
4033
+ # "unrealized_pnl": "0",
4034
+ # "updated_at": 1715488805563
4050
4035
  # },
4051
- # "message":"OK"
4036
+ # "message": "OK"
4052
4037
  # }
4053
4038
  #
4054
4039
  data = self.safe_dict(response, 'data')
4055
- status = self.safe_string(response, 'message')
4040
+ status = self.safe_string_lower(response, 'message')
4041
+ type = 'reduce' if (addOrReduce == 'reduce') else 'add'
4056
4042
  return self.extend(self.parse_margin_modification(data, market), {
4043
+ 'type': type,
4057
4044
  'amount': self.parse_number(amount),
4058
4045
  'status': status,
4059
4046
  })
4060
4047
 
4061
- def parse_margin_modification(self, data, market: Market = None) -> MarginModification:
4048
+ def parse_margin_modification(self, data: dict, market: Market = None) -> MarginModification:
4062
4049
  #
4063
4050
  # addMargin/reduceMargin
4064
4051
  #
4065
- # {
4066
- # "adl_sort": 1,
4067
- # "adl_sort_val": "0.00004320",
4068
- # "amount": "0.0005",
4069
- # "amount_max": "0.0005",
4070
- # "amount_max_margin": "6.57352000000000000000",
4071
- # "bkr_price": "16294.08000000000000011090",
4072
- # "bkr_price_imply": "0.00000000000000000000",
4073
- # "close_left": "0.0005",
4074
- # "create_time": 1651202571.320778,
4075
- # "deal_all": "19.72000000000000000000",
4076
- # "deal_asset_fee": "0.00000000000000000000",
4077
- # "fee_asset": "",
4078
- # "finish_type": 1,
4079
- # "first_price": "39441.12",
4080
- # "insurance": "0.00000000000000000000",
4081
- # "latest_price": "39441.12",
4082
- # "leverage": "3",
4083
- # "liq_amount": "0.00000000000000000000",
4084
- # "liq_order_price": "0",
4085
- # "liq_order_time": 0,
4086
- # "liq_price": "16491.28560000000000011090",
4087
- # "liq_price_imply": "0.00000000000000000000",
4088
- # "liq_profit": "0.00000000000000000000",
4089
- # "liq_time": 0,
4090
- # "mainten_margin": "0.005",
4091
- # "mainten_margin_amount": "0.09860280000000000000",
4092
- # "maker_fee": "0.00000000000000000000",
4093
- # "margin_amount": "11.57352000000000000000",
4094
- # "market": "BTCUSDT",
4095
- # "open_margin": "0.58687582908396110455",
4096
- # "open_margin_imply": "0.00000000000000000000",
4097
- # "open_price": "39441.12000000000000000000",
4098
- # "open_val": "19.72056000000000000000",
4099
- # "open_val_max": "19.72056000000000000000",
4100
- # "position_id": 65171206,
4101
- # "profit_clearing": "-0.00986028000000000000",
4102
- # "profit_real": "-0.00986028000000000000",
4103
- # "profit_unreal": "0.00",
4104
- # "side": 2,
4105
- # "stop_loss_price": "0.00000000000000000000",
4106
- # "stop_loss_type": 0,
4107
- # "sy s": 0,
4108
- # "take_profit_price": "0.00000000000000000000",
4109
- # "take_profit_type": 0,
4110
- # "taker_fee": "0.00000000000000000000",
4111
- # "total": 3464,
4112
- # "type": 1,
4113
- # "update_time": 1651202638.911212,
4114
- # "user_id": 3620173
4115
- # }
4052
+ # {
4053
+ # "adl_level": 1,
4054
+ # "ath_margin_size": "2.034928",
4055
+ # "ath_position_amount": "0.0001",
4056
+ # "avg_entry_price": "61047.84",
4057
+ # "bkr_price": "30698.5600000000000004142",
4058
+ # "close_avbl": "0.0001",
4059
+ # "cml_position_value": "6.104784",
4060
+ # "created_at": 1715488472908,
4061
+ # "leverage": "3",
4062
+ # "liq_price": "30852.82412060301507579316",
4063
+ # "maintenance_margin_rate": "0.005",
4064
+ # "maintenance_margin_value": "0.03051465",
4065
+ # "margin_avbl": "3.034928",
4066
+ # "margin_mode": "isolated",
4067
+ # "market": "BTCUSDT",
4068
+ # "market_type": "FUTURES",
4069
+ # "max_position_value": "6.104784",
4070
+ # "open_interest": "0.0001",
4071
+ # "position_id": 306458800,
4072
+ # "position_margin_rate": "0.49713929272518077625",
4073
+ # "realized_pnl": "-0.003052392",
4074
+ # "settle_price": "61047.84",
4075
+ # "settle_value": "6.104784",
4076
+ # "side": "long",
4077
+ # "stop_loss_price": "0",
4078
+ # "stop_loss_type": "",
4079
+ # "take_profit_price": "0",
4080
+ # "take_profit_type": "",
4081
+ # "unrealized_pnl": "0",
4082
+ # "updated_at": 1715488805563
4083
+ # }
4116
4084
  #
4117
4085
  # fetchMarginAdjustmentHistory
4118
4086
  #
4119
- # {
4120
- # bkr_price: '0',
4121
- # leverage: '3',
4122
- # liq_price: '0',
4123
- # margin_amount: '5.33236666666666666666',
4124
- # margin_change: '3',
4125
- # market: 'XRPUSDT',
4126
- # position_amount: '11',
4127
- # position_id: '297155652',
4128
- # position_type: '2',
4129
- # settle_price: '0.6361',
4130
- # time: '1711050906.382891',
4131
- # type: '1',
4132
- # user_id: '3685860'
4133
- # }
4087
+ # {
4088
+ # "bkr_pirce": "24698.56000000000000005224",
4089
+ # "created_at": 1715489978697,
4090
+ # "leverage": "3",
4091
+ # "liq_price": "24822.67336683417085432386",
4092
+ # "margin_avbl": "3.634928",
4093
+ # "margin_change": "-1.5",
4094
+ # "margin_mode": "isolated",
4095
+ # "market": "BTCUSDT",
4096
+ # "market_type": "FUTURES",
4097
+ # "open_interest": "0.0001",
4098
+ # "position_id": 306458800,
4099
+ # "settle_price": "61047.84"
4100
+ # }
4134
4101
  #
4135
4102
  marketId = self.safe_string(data, 'market')
4136
- type = self.safe_string(data, 'type')
4137
- timestamp = self.safe_integer_product_2(data, 'time', 'update_time', 1000)
4103
+ timestamp = self.safe_integer_2(data, 'updated_at', 'created_at')
4104
+ change = self.safe_string(data, 'margin_change')
4138
4105
  return {
4139
4106
  'info': data,
4140
4107
  'symbol': self.safe_symbol(marketId, market, None, 'swap'),
4141
- 'type': 'add' if (type == '1') else 'reduce',
4108
+ 'type': None,
4142
4109
  'marginMode': 'isolated',
4143
- 'amount': self.safe_number(data, 'margin_change'),
4144
- 'total': self.safe_number(data, 'position_amount'),
4110
+ 'amount': self.parse_number(Precise.string_abs(change)),
4111
+ 'total': self.safe_number(data, 'margin_avbl'),
4145
4112
  'code': market['quote'],
4146
4113
  'status': None,
4147
4114
  'timestamp': timestamp,
@@ -4151,24 +4118,24 @@ class coinex(Exchange, ImplicitAPI):
4151
4118
  async def add_margin(self, symbol: str, amount: float, params={}) -> MarginModification:
4152
4119
  """
4153
4120
  add margin
4154
- :see: https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http032_adjust_position_margin
4121
+ :see: https://docs.coinex.com/api/v2/futures/position/http/adjust-position-margin
4155
4122
  :param str symbol: unified market symbol
4156
4123
  :param float amount: amount of margin to add
4157
4124
  :param dict [params]: extra parameters specific to the exchange API endpoint
4158
4125
  :returns dict: a `margin structure <https://docs.ccxt.com/#/?id=add-margin-structure>`
4159
4126
  """
4160
- return await self.modify_margin_helper(symbol, amount, 1, params)
4127
+ return await self.modify_margin_helper(symbol, amount, 'add', params)
4161
4128
 
4162
4129
  async def reduce_margin(self, symbol: str, amount: float, params={}) -> MarginModification:
4163
4130
  """
4164
4131
  remove margin from a position
4165
- :see: https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http032_adjust_position_margin
4132
+ :see: https://docs.coinex.com/api/v2/futures/position/http/adjust-position-margin
4166
4133
  :param str symbol: unified market symbol
4167
4134
  :param float amount: the amount of margin to remove
4168
4135
  :param dict [params]: extra parameters specific to the exchange API endpoint
4169
4136
  :returns dict: a `margin structure <https://docs.ccxt.com/#/?id=reduce-margin-structure>`
4170
4137
  """
4171
- return await self.modify_margin_helper(symbol, amount, 2, params)
4138
+ return await self.modify_margin_helper(symbol, amount, 'reduce', params)
4172
4139
 
4173
4140
  async def fetch_funding_history(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
4174
4141
  """
@@ -5593,65 +5560,60 @@ class coinex(Exchange, ImplicitAPI):
5593
5560
  async def fetch_margin_adjustment_history(self, symbol: Str = None, type: Str = None, since: Num = None, limit: Num = None, params={}) -> List[MarginModification]:
5594
5561
  """
5595
5562
  fetches the history of margin added or reduced from contract isolated positions
5596
- :see: https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http046_position_margin_history
5597
- :param str [symbol]: unified market symbol
5563
+ :see: https://docs.coinex.com/api/v2/futures/position/http/list-position-margin-history
5564
+ :param str symbol: unified market symbol
5598
5565
  :param str [type]: not used by coinex fetchMarginAdjustmentHistory
5599
5566
  :param int [since]: timestamp in ms of the earliest change to fetch
5600
- :param int [limit]: the maximum amount of changes to fetch, default=100, max=100
5567
+ :param int [limit]: the maximum amount of changes to fetch, default is 10
5601
5568
  :param dict params: extra parameters specific to the exchange api endpoint
5602
5569
  :param int [params.until]: timestamp in ms of the latest change to fetch
5603
- *
5604
- * EXCHANGE SPECIFIC PARAMETERS
5605
- :param int [params.offset]: offset
5570
+ :param int [params.positionId]: the id of the position that you want to retrieve margin adjustment history for
5606
5571
  :returns dict[]: a list of `margin structures <https://docs.ccxt.com/#/?id=margin-loan-structure>`
5607
5572
  """
5608
5573
  await self.load_markets()
5609
- until = self.safe_integer(params, 'until')
5610
- params = self.omit(params, 'until')
5611
- if limit is None:
5612
- limit = 100
5574
+ if symbol is None:
5575
+ raise ArgumentsRequired(self.id + ' fetchMarginAdjustmentHistory() requires a symbol argument')
5576
+ positionId = self.safe_integer_2(params, 'positionId', 'position_id')
5577
+ params = self.omit(params, 'positionId')
5578
+ if positionId is None:
5579
+ raise ArgumentsRequired(self.id + ' fetchMarginAdjustmentHistory() requires a positionId parameter')
5580
+ market = self.market(symbol)
5613
5581
  request = {
5614
- 'market': '',
5615
- 'position_id': 0,
5616
- 'offset': 0,
5617
- 'limit': limit,
5582
+ 'market': market['id'],
5583
+ 'market_type': 'FUTURES',
5584
+ 'position_id': positionId,
5618
5585
  }
5619
- if symbol is not None:
5620
- market = self.market(symbol)
5621
- request['market'] = market['id']
5586
+ request, params = self.handle_until_option('end_time', request, params)
5622
5587
  if since is not None:
5623
5588
  request['start_time'] = since
5624
- if until is not None:
5625
- request['end_time'] = until
5626
- response = await self.v1PerpetualPrivateGetPositionMarginHistory(self.extend(request, params))
5589
+ if limit is not None:
5590
+ request['limit'] = limit
5591
+ response = await self.v2PrivateGetFuturesPositionMarginHistory(self.extend(request, params))
5627
5592
  #
5628
- # {
5629
- # code: '0',
5630
- # data: {
5631
- # limit: '100',
5632
- # offset: '0',
5633
- # records: [
5634
- # {
5635
- # bkr_price: '0',
5636
- # leverage: '3',
5637
- # liq_price: '0',
5638
- # margin_amount: '5.33236666666666666666',
5639
- # margin_change: '3',
5640
- # market: 'XRPUSDT',
5641
- # position_amount: '11',
5642
- # position_id: '297155652',
5643
- # position_type: '2',
5644
- # settle_price: '0.6361',
5645
- # time: '1711050906.382891',
5646
- # type: '1',
5647
- # user_id: '3685860'
5648
- # }
5649
- # ]
5650
- # },
5651
- # message: 'OK'
5652
- # }
5593
+ # {
5594
+ # "code": 0,
5595
+ # "data": [
5596
+ # {
5597
+ # "bkr_pirce": "24698.56000000000000005224",
5598
+ # "created_at": 1715489978697,
5599
+ # "leverage": "3",
5600
+ # "liq_price": "24822.67336683417085432386",
5601
+ # "margin_avbl": "3.634928",
5602
+ # "margin_change": "-1.5",
5603
+ # "margin_mode": "isolated",
5604
+ # "market": "BTCUSDT",
5605
+ # "market_type": "FUTURES",
5606
+ # "open_interest": "0.0001",
5607
+ # "position_id": 306458800,
5608
+ # "settle_price": "61047.84"
5609
+ # },
5610
+ # ],
5611
+ # "message": "OK",
5612
+ # "pagination": {
5613
+ # "has_next": True
5614
+ # }
5615
+ # }
5653
5616
  #
5654
- data = self.safe_dict(response, 'data', {})
5655
- records = self.safe_list(data, 'records', [])
5656
- modifications = self.parse_margin_modifications(records, None, 'market', 'swap')
5617
+ data = self.safe_list(response, 'data', [])
5618
+ modifications = self.parse_margin_modifications(data, None, 'market', 'swap')
5657
5619
  return self.filter_by_symbol_since_limit(modifications, symbol, since, limit)