ccxt 4.4.20__tar.gz → 4.4.22__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 (668) hide show
  1. {ccxt-4.4.20/ccxt.egg-info → ccxt-4.4.22}/PKG-INFO +5 -5
  2. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/__init__.py +1 -1
  3. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bitflyer.py +1 -0
  4. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bitget.py +3 -0
  5. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bybit.py +1 -0
  6. ccxt-4.4.22/ccxt/abstract/cex.py +32 -0
  7. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/gate.py +5 -0
  8. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/gateio.py +5 -0
  9. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/kucoin.py +2 -0
  10. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/kucoinfutures.py +2 -0
  11. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/okx.py +4 -0
  12. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/alpaca.py +1 -0
  13. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/__init__.py +1 -1
  14. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/alpaca.py +1 -0
  15. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/base/exchange.py +7 -1
  16. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bigone.py +3 -0
  17. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/binance.py +96 -10
  18. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bingx.py +5 -1
  19. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bitflyer.py +56 -1
  20. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bitget.py +73 -1
  21. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bybit.py +135 -4
  22. ccxt-4.4.22/ccxt/async_support/cex.py +1528 -0
  23. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/cryptocom.py +1 -1
  24. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/gate.py +97 -2
  25. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/htx.py +27 -7
  26. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/hyperliquid.py +15 -12
  27. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/kucoin.py +42 -88
  28. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/kucoinfutures.py +2 -2
  29. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/okx.py +76 -10
  30. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/base/exchange.py +33 -1
  31. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/base/types.py +9 -0
  32. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bigone.py +3 -0
  33. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/binance.py +96 -10
  34. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bingx.py +5 -1
  35. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bitflyer.py +56 -1
  36. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bitget.py +73 -1
  37. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bybit.py +135 -4
  38. ccxt-4.4.22/ccxt/cex.py +1527 -0
  39. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/cryptocom.py +1 -1
  40. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/gate.py +97 -2
  41. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/htx.py +27 -7
  42. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/hyperliquid.py +15 -12
  43. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/kucoin.py +42 -88
  44. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/kucoinfutures.py +2 -2
  45. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/okx.py +76 -10
  46. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/__init__.py +1 -1
  47. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/test/tests_async.py +4 -4
  48. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/test/tests_sync.py +4 -4
  49. {ccxt-4.4.20 → ccxt-4.4.22/ccxt.egg-info}/PKG-INFO +5 -5
  50. {ccxt-4.4.20 → ccxt-4.4.22}/package.json +1 -1
  51. ccxt-4.4.20/ccxt/abstract/cex.py +0 -33
  52. ccxt-4.4.20/ccxt/async_support/cex.py +0 -1607
  53. ccxt-4.4.20/ccxt/cex.py +0 -1607
  54. {ccxt-4.4.20 → ccxt-4.4.22}/LICENSE.txt +0 -0
  55. {ccxt-4.4.20 → ccxt-4.4.22}/MANIFEST.in +0 -0
  56. {ccxt-4.4.20 → ccxt-4.4.22}/README.rst +0 -0
  57. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/__init__.py +0 -0
  58. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/ace.py +0 -0
  59. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/alpaca.py +0 -0
  60. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/ascendex.py +0 -0
  61. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bequant.py +0 -0
  62. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bigone.py +0 -0
  63. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/binance.py +0 -0
  64. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/binancecoinm.py +0 -0
  65. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/binanceus.py +0 -0
  66. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/binanceusdm.py +0 -0
  67. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bingx.py +0 -0
  68. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bit2c.py +0 -0
  69. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bitbank.py +0 -0
  70. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bitbns.py +0 -0
  71. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bitcoincom.py +0 -0
  72. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bitfinex.py +0 -0
  73. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bitfinex2.py +0 -0
  74. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bithumb.py +0 -0
  75. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bitmart.py +0 -0
  76. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bitmex.py +0 -0
  77. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bitopro.py +0 -0
  78. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bitpanda.py +0 -0
  79. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bitrue.py +0 -0
  80. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bitso.py +0 -0
  81. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bitstamp.py +0 -0
  82. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bitteam.py +0 -0
  83. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bitvavo.py +0 -0
  84. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/bl3p.py +0 -0
  85. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/blockchaincom.py +0 -0
  86. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/blofin.py +0 -0
  87. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/btcalpha.py +0 -0
  88. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/btcbox.py +0 -0
  89. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/btcmarkets.py +0 -0
  90. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/btcturk.py +0 -0
  91. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/coinbase.py +0 -0
  92. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/coinbaseadvanced.py +0 -0
  93. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/coinbaseexchange.py +0 -0
  94. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/coinbaseinternational.py +0 -0
  95. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/coincheck.py +0 -0
  96. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/coinex.py +0 -0
  97. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/coinlist.py +0 -0
  98. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/coinmate.py +0 -0
  99. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/coinmetro.py +0 -0
  100. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/coinone.py +0 -0
  101. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/coinsph.py +0 -0
  102. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/coinspot.py +0 -0
  103. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/cryptocom.py +0 -0
  104. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/currencycom.py +0 -0
  105. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/delta.py +0 -0
  106. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/deribit.py +0 -0
  107. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/digifinex.py +0 -0
  108. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/exmo.py +0 -0
  109. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/fmfwio.py +0 -0
  110. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/gemini.py +0 -0
  111. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/hashkey.py +0 -0
  112. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/hitbtc.py +0 -0
  113. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/hollaex.py +0 -0
  114. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/htx.py +0 -0
  115. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/huobi.py +0 -0
  116. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/huobijp.py +0 -0
  117. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/hyperliquid.py +0 -0
  118. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/idex.py +0 -0
  119. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/independentreserve.py +0 -0
  120. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/indodax.py +0 -0
  121. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/kraken.py +0 -0
  122. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/krakenfutures.py +0 -0
  123. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/kuna.py +0 -0
  124. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/latoken.py +0 -0
  125. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/lbank.py +0 -0
  126. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/luno.py +0 -0
  127. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/lykke.py +0 -0
  128. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/mercado.py +0 -0
  129. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/mexc.py +0 -0
  130. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/ndax.py +0 -0
  131. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/novadax.py +0 -0
  132. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/oceanex.py +0 -0
  133. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/okcoin.py +0 -0
  134. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/onetrading.py +0 -0
  135. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/oxfun.py +0 -0
  136. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/p2b.py +0 -0
  137. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/paradex.py +0 -0
  138. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/paymium.py +0 -0
  139. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/phemex.py +0 -0
  140. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/poloniex.py +0 -0
  141. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/poloniexfutures.py +0 -0
  142. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/probit.py +0 -0
  143. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/timex.py +0 -0
  144. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/tokocrypto.py +0 -0
  145. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/tradeogre.py +0 -0
  146. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/upbit.py +0 -0
  147. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/vertex.py +0 -0
  148. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/wavesexchange.py +0 -0
  149. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/wazirx.py +0 -0
  150. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/whitebit.py +0 -0
  151. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/woo.py +0 -0
  152. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/woofipro.py +0 -0
  153. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/xt.py +0 -0
  154. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/yobit.py +0 -0
  155. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/zaif.py +0 -0
  156. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/abstract/zonda.py +0 -0
  157. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/ace.py +0 -0
  158. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/ascendex.py +0 -0
  159. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/ace.py +0 -0
  160. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/ascendex.py +0 -0
  161. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/base/__init__.py +0 -0
  162. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/base/throttler.py +0 -0
  163. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/base/ws/__init__.py +0 -0
  164. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  165. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/base/ws/cache.py +0 -0
  166. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/base/ws/client.py +0 -0
  167. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/base/ws/fast_client.py +0 -0
  168. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/base/ws/functions.py +0 -0
  169. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/base/ws/future.py +0 -0
  170. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/base/ws/order_book.py +0 -0
  171. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  172. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bequant.py +0 -0
  173. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/binancecoinm.py +0 -0
  174. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/binanceus.py +0 -0
  175. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/binanceusdm.py +0 -0
  176. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bit2c.py +0 -0
  177. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bitbank.py +0 -0
  178. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bitbay.py +0 -0
  179. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bitbns.py +0 -0
  180. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bitcoincom.py +0 -0
  181. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bitfinex.py +0 -0
  182. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bitfinex2.py +0 -0
  183. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bithumb.py +0 -0
  184. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bitmart.py +0 -0
  185. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bitmex.py +0 -0
  186. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bitopro.py +0 -0
  187. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bitpanda.py +0 -0
  188. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bitrue.py +0 -0
  189. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bitso.py +0 -0
  190. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bitstamp.py +0 -0
  191. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bitteam.py +0 -0
  192. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bitvavo.py +0 -0
  193. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/bl3p.py +0 -0
  194. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/blockchaincom.py +0 -0
  195. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/blofin.py +0 -0
  196. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/btcalpha.py +0 -0
  197. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/btcbox.py +0 -0
  198. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/btcmarkets.py +0 -0
  199. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/btcturk.py +0 -0
  200. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/coinbase.py +0 -0
  201. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/coinbaseadvanced.py +0 -0
  202. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/coinbaseexchange.py +0 -0
  203. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/coinbaseinternational.py +0 -0
  204. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/coincheck.py +0 -0
  205. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/coinex.py +0 -0
  206. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/coinlist.py +0 -0
  207. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/coinmate.py +0 -0
  208. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/coinmetro.py +0 -0
  209. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/coinone.py +0 -0
  210. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/coinsph.py +0 -0
  211. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/coinspot.py +0 -0
  212. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/currencycom.py +0 -0
  213. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/delta.py +0 -0
  214. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/deribit.py +0 -0
  215. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/digifinex.py +0 -0
  216. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/exmo.py +0 -0
  217. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/fmfwio.py +0 -0
  218. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/gateio.py +0 -0
  219. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/gemini.py +0 -0
  220. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/hashkey.py +0 -0
  221. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/hitbtc.py +0 -0
  222. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/hitbtc3.py +0 -0
  223. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/hollaex.py +0 -0
  224. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/huobi.py +0 -0
  225. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/huobijp.py +0 -0
  226. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/idex.py +0 -0
  227. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/independentreserve.py +0 -0
  228. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/indodax.py +0 -0
  229. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/kraken.py +0 -0
  230. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/krakenfutures.py +0 -0
  231. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/kuna.py +0 -0
  232. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/latoken.py +0 -0
  233. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/lbank.py +0 -0
  234. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/luno.py +0 -0
  235. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/lykke.py +0 -0
  236. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/mercado.py +0 -0
  237. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/mexc.py +0 -0
  238. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/ndax.py +0 -0
  239. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/novadax.py +0 -0
  240. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/oceanex.py +0 -0
  241. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/okcoin.py +0 -0
  242. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/onetrading.py +0 -0
  243. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/oxfun.py +0 -0
  244. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/p2b.py +0 -0
  245. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/paradex.py +0 -0
  246. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/paymium.py +0 -0
  247. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/phemex.py +0 -0
  248. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/poloniex.py +0 -0
  249. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/poloniexfutures.py +0 -0
  250. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/probit.py +0 -0
  251. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/timex.py +0 -0
  252. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/tokocrypto.py +0 -0
  253. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/tradeogre.py +0 -0
  254. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/upbit.py +0 -0
  255. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/vertex.py +0 -0
  256. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/wavesexchange.py +0 -0
  257. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/wazirx.py +0 -0
  258. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/whitebit.py +0 -0
  259. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/woo.py +0 -0
  260. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/woofipro.py +0 -0
  261. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/xt.py +0 -0
  262. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/yobit.py +0 -0
  263. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/zaif.py +0 -0
  264. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/async_support/zonda.py +0 -0
  265. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/base/__init__.py +0 -0
  266. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/base/decimal_to_precision.py +0 -0
  267. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/base/errors.py +0 -0
  268. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/base/precise.py +0 -0
  269. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bequant.py +0 -0
  270. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/binancecoinm.py +0 -0
  271. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/binanceus.py +0 -0
  272. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/binanceusdm.py +0 -0
  273. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bit2c.py +0 -0
  274. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bitbank.py +0 -0
  275. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bitbay.py +0 -0
  276. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bitbns.py +0 -0
  277. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bitcoincom.py +0 -0
  278. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bitfinex.py +0 -0
  279. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bitfinex2.py +0 -0
  280. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bithumb.py +0 -0
  281. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bitmart.py +0 -0
  282. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bitmex.py +0 -0
  283. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bitopro.py +0 -0
  284. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bitpanda.py +0 -0
  285. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bitrue.py +0 -0
  286. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bitso.py +0 -0
  287. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bitstamp.py +0 -0
  288. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bitteam.py +0 -0
  289. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bitvavo.py +0 -0
  290. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/bl3p.py +0 -0
  291. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/blockchaincom.py +0 -0
  292. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/blofin.py +0 -0
  293. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/btcalpha.py +0 -0
  294. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/btcbox.py +0 -0
  295. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/btcmarkets.py +0 -0
  296. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/btcturk.py +0 -0
  297. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/coinbase.py +0 -0
  298. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/coinbaseadvanced.py +0 -0
  299. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/coinbaseexchange.py +0 -0
  300. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/coinbaseinternational.py +0 -0
  301. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/coincheck.py +0 -0
  302. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/coinex.py +0 -0
  303. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/coinlist.py +0 -0
  304. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/coinmate.py +0 -0
  305. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/coinmetro.py +0 -0
  306. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/coinone.py +0 -0
  307. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/coinsph.py +0 -0
  308. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/coinspot.py +0 -0
  309. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/currencycom.py +0 -0
  310. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/delta.py +0 -0
  311. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/deribit.py +0 -0
  312. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/digifinex.py +0 -0
  313. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/exmo.py +0 -0
  314. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/fmfwio.py +0 -0
  315. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/gateio.py +0 -0
  316. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/gemini.py +0 -0
  317. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/hashkey.py +0 -0
  318. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/hitbtc.py +0 -0
  319. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/hitbtc3.py +0 -0
  320. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/hollaex.py +0 -0
  321. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/huobi.py +0 -0
  322. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/huobijp.py +0 -0
  323. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/idex.py +0 -0
  324. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/independentreserve.py +0 -0
  325. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/indodax.py +0 -0
  326. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/kraken.py +0 -0
  327. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/krakenfutures.py +0 -0
  328. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/kuna.py +0 -0
  329. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/latoken.py +0 -0
  330. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/lbank.py +0 -0
  331. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/luno.py +0 -0
  332. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/lykke.py +0 -0
  333. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/mercado.py +0 -0
  334. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/mexc.py +0 -0
  335. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/ndax.py +0 -0
  336. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/novadax.py +0 -0
  337. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/oceanex.py +0 -0
  338. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/okcoin.py +0 -0
  339. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/onetrading.py +0 -0
  340. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/oxfun.py +0 -0
  341. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/p2b.py +0 -0
  342. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/paradex.py +0 -0
  343. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/paymium.py +0 -0
  344. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/phemex.py +0 -0
  345. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/poloniex.py +0 -0
  346. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/poloniexfutures.py +0 -0
  347. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/alpaca.py +0 -0
  348. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/ascendex.py +0 -0
  349. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/bequant.py +0 -0
  350. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/binance.py +0 -0
  351. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/binancecoinm.py +0 -0
  352. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/binanceus.py +0 -0
  353. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/binanceusdm.py +0 -0
  354. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/bingx.py +0 -0
  355. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/bitcoincom.py +0 -0
  356. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/bitfinex.py +0 -0
  357. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/bitfinex2.py +0 -0
  358. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/bitget.py +0 -0
  359. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/bithumb.py +0 -0
  360. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/bitmart.py +0 -0
  361. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/bitmex.py +0 -0
  362. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/bitopro.py +0 -0
  363. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/bitpanda.py +0 -0
  364. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/bitrue.py +0 -0
  365. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/bitstamp.py +0 -0
  366. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/bitvavo.py +0 -0
  367. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/blockchaincom.py +0 -0
  368. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/blofin.py +0 -0
  369. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/bybit.py +0 -0
  370. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/cex.py +0 -0
  371. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/coinbase.py +0 -0
  372. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/coinbaseadvanced.py +0 -0
  373. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/coinbaseexchange.py +0 -0
  374. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/coinbaseinternational.py +0 -0
  375. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/coincheck.py +0 -0
  376. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/coinex.py +0 -0
  377. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/coinone.py +0 -0
  378. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/cryptocom.py +0 -0
  379. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/currencycom.py +0 -0
  380. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/deribit.py +0 -0
  381. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/exmo.py +0 -0
  382. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/gate.py +0 -0
  383. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/gateio.py +0 -0
  384. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/gemini.py +0 -0
  385. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/hashkey.py +0 -0
  386. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/hitbtc.py +0 -0
  387. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/hollaex.py +0 -0
  388. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/htx.py +0 -0
  389. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/huobi.py +0 -0
  390. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/huobijp.py +0 -0
  391. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/hyperliquid.py +0 -0
  392. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/idex.py +0 -0
  393. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/independentreserve.py +0 -0
  394. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/kraken.py +0 -0
  395. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/krakenfutures.py +0 -0
  396. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/kucoin.py +0 -0
  397. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/kucoinfutures.py +0 -0
  398. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/lbank.py +0 -0
  399. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/luno.py +0 -0
  400. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/mexc.py +0 -0
  401. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/ndax.py +0 -0
  402. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/okcoin.py +0 -0
  403. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/okx.py +0 -0
  404. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/onetrading.py +0 -0
  405. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/oxfun.py +0 -0
  406. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/p2b.py +0 -0
  407. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/paradex.py +0 -0
  408. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/phemex.py +0 -0
  409. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/poloniex.py +0 -0
  410. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/poloniexfutures.py +0 -0
  411. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/probit.py +0 -0
  412. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/upbit.py +0 -0
  413. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/vertex.py +0 -0
  414. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/wazirx.py +0 -0
  415. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/whitebit.py +0 -0
  416. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/woo.py +0 -0
  417. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/woofipro.py +0 -0
  418. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/pro/xt.py +0 -0
  419. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/probit.py +0 -0
  420. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/__init__.py +0 -0
  421. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  422. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  423. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  424. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  425. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  426. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  427. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  428. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  429. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  430. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  431. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  432. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  433. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  434. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  435. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  436. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  437. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  438. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  439. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  440. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  441. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  442. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  443. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  444. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  445. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  446. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  447. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  448. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  449. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  450. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  451. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  452. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  453. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  454. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  455. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  456. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  457. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  458. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  459. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  460. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  461. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  462. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  463. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  464. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  465. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  466. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  467. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  468. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  469. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  470. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  471. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  472. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  473. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  474. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  475. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  476. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  477. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  478. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  479. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  480. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  481. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  482. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  483. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  484. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  485. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  486. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  487. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  488. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  489. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  490. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  491. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  492. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  493. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  494. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  495. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/__init__.py +0 -0
  496. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -0
  497. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -0
  498. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/ast_utils.py +0 -0
  499. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/common.py +0 -0
  500. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/exceptions.py +0 -0
  501. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/grammar.py +0 -0
  502. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
  503. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/indenter.py +0 -0
  504. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/lark.py +0 -0
  505. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/lexer.py +0 -0
  506. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/load_grammar.py +0 -0
  507. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -0
  508. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parser_frontends.py +0 -0
  509. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
  510. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/cyk.py +0 -0
  511. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/earley.py +0 -0
  512. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -0
  513. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -0
  514. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -0
  515. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -0
  516. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -0
  517. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -0
  518. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -0
  519. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/parsers/xearley.py +0 -0
  520. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/py.typed +0 -0
  521. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/reconstruct.py +0 -0
  522. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/tools/__init__.py +0 -0
  523. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/tools/nearley.py +0 -0
  524. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/tools/serialize.py +0 -0
  525. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/tools/standalone.py +0 -0
  526. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/tree.py +0 -0
  527. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/tree_matcher.py +0 -0
  528. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/tree_templates.py +0 -0
  529. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/utils.py +0 -0
  530. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/lark/visitors.py +0 -0
  531. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/__init__.py +0 -0
  532. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/base.py +0 -0
  533. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/class_registry.py +0 -0
  534. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/decorators.py +0 -0
  535. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/error_store.py +0 -0
  536. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/exceptions.py +0 -0
  537. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/fields.py +0 -0
  538. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/orderedset.py +0 -0
  539. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/py.typed +0 -0
  540. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/schema.py +0 -0
  541. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/types.py +0 -0
  542. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/utils.py +0 -0
  543. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/validate.py +0 -0
  544. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow/warnings.py +0 -0
  545. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -0
  546. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -0
  547. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -0
  548. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -0
  549. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  550. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -0
  551. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -0
  552. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -0
  553. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -0
  554. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  555. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  556. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  557. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  558. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  559. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  560. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  561. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  562. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  563. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  564. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  565. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/__init__.py +0 -0
  566. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
  567. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -0
  568. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
  569. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -0
  570. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -0
  571. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -0
  572. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/felt.py +0 -0
  573. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -0
  574. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
  575. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -0
  576. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
  577. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -0
  578. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -0
  579. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/common.py +0 -0
  580. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/constants.py +0 -0
  581. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
  582. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/hash/address.py +0 -0
  583. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -0
  584. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/hash/selector.py +0 -0
  585. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/hash/storage.py +0 -0
  586. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/hash/utils.py +0 -0
  587. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
  588. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/models/typed_data.py +0 -0
  589. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -0
  590. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -0
  591. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/_context.py +0 -0
  592. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -0
  593. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -0
  594. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -0
  595. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -0
  596. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -0
  597. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -0
  598. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -0
  599. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -0
  600. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -0
  601. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -0
  602. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -0
  603. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -0
  604. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -0
  605. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -0
  606. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -0
  607. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -0
  608. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -0
  609. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/errors.py +0 -0
  610. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/factory.py +0 -0
  611. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -0
  612. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -0
  613. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
  614. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -0
  615. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/utils/iterable.py +0 -0
  616. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/utils/schema.py +0 -0
  617. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -0
  618. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starkware/__init__.py +0 -0
  619. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
  620. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -0
  621. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -0
  622. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starkware/crypto/signature.py +0 -0
  623. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/starkware/crypto/utils.py +0 -0
  624. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/sympy/__init__.py +0 -0
  625. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
  626. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/sympy/core/intfunc.py +0 -0
  627. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
  628. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/sympy/external/gmpy.py +0 -0
  629. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/sympy/external/importtools.py +0 -0
  630. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/sympy/external/ntheory.py +0 -0
  631. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -0
  632. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  633. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  634. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/_version.py +0 -0
  635. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  636. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  637. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  638. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  639. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  640. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  641. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  642. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  643. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/toolz/utils.py +0 -0
  644. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
  645. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/static_dependencies/typing_inspect/typing_inspect.py +0 -0
  646. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/test/__init__.py +0 -0
  647. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/test/tests_helpers.py +0 -0
  648. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/test/tests_init.py +0 -0
  649. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/timex.py +0 -0
  650. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/tokocrypto.py +0 -0
  651. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/tradeogre.py +0 -0
  652. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/upbit.py +0 -0
  653. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/vertex.py +0 -0
  654. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/wavesexchange.py +0 -0
  655. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/wazirx.py +0 -0
  656. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/whitebit.py +0 -0
  657. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/woo.py +0 -0
  658. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/woofipro.py +0 -0
  659. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/xt.py +0 -0
  660. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/yobit.py +0 -0
  661. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/zaif.py +0 -0
  662. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt/zonda.py +0 -0
  663. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt.egg-info/SOURCES.txt +0 -0
  664. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt.egg-info/dependency_links.txt +0 -0
  665. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt.egg-info/requires.txt +0 -0
  666. {ccxt-4.4.20 → ccxt-4.4.22}/ccxt.egg-info/top_level.txt +0 -0
  667. {ccxt-4.4.20 → ccxt-4.4.22}/setup.cfg +0 -0
  668. {ccxt-4.4.20 → ccxt-4.4.22}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.4.20
3
+ Version: 4.4.22
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
@@ -134,7 +134,7 @@ The CCXT library currently supports the following 103 cryptocurrency exchange ma
134
134
  | [![btcmarkets](https://user-images.githubusercontent.com/51840849/89731817-b3fb8480-da52-11ea-817f-783b08aaf32b.jpg)](https://btcmarkets.net) | btcmarkets | [BTC Markets](https://btcmarkets.net) | [![API Version 3](https://img.shields.io/badge/3-lightgray)](https://api.btcmarkets.net/doc/v3) | cex | | |
135
135
  | [![btcturk](https://user-images.githubusercontent.com/51840849/87153926-efbef500-c2c0-11ea-9842-05b63612c4b9.jpg)](https://www.btcturk.com) | btcturk | [BTCTurk](https://www.btcturk.com) | [![API Version *](https://img.shields.io/badge/*-lightgray)](https://github.com/BTCTrader/broker-api-docs) | cex | | |
136
136
  | [![bybit](https://user-images.githubusercontent.com/51840849/76547799-daff5b80-649e-11ea-87fb-3be9bac08954.jpg)](https://www.bybit.com/register?affiliate_id=35953) | bybit | [Bybit](https://www.bybit.com/register?affiliate_id=35953) | [![API Version 5](https://img.shields.io/badge/5-lightgray)](https://bybit-exchange.github.io/docs/inverse/) | cex | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
137
- | [![cex](https://user-images.githubusercontent.com/1294454/27766442-8ddc33b0-5ed8-11e7-8b98-f786aef0f3c9.jpg)](https://cex.io/r/0/up105393824/0/) | cex | [CEX.IO](https://cex.io/r/0/up105393824/0/) | [![API Version *](https://img.shields.io/badge/*-lightgray)](https://cex.io/cex-api) | cex | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
137
+ | [![cex](https://user-images.githubusercontent.com/1294454/27766442-8ddc33b0-5ed8-11e7-8b98-f786aef0f3c9.jpg)](https://cex.io/r/0/up105393824/0/) | cex | [CEX.IO](https://cex.io/r/0/up105393824/0/) | [![API Version *](https://img.shields.io/badge/*-lightgray)](https://trade.cex.io/docs/) | cex | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
138
138
  | [![coinbase](https://user-images.githubusercontent.com/1294454/40811661-b6eceae2-653a-11e8-829e-10bfadb078cf.jpg)](https://www.coinbase.com/join/58cbe25a355148797479dbd2) | coinbase | [Coinbase Advanced](https://www.coinbase.com/join/58cbe25a355148797479dbd2) | [![API Version 2](https://img.shields.io/badge/2-lightgray)](https://developers.coinbase.com/api/v2) | cex | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
139
139
  | [![coinbaseexchange](https://github.com/ccxt/ccxt/assets/43336371/34a65553-88aa-4a38-a714-064bd228b97e)](https://coinbase.com/) | coinbaseexchange | [Coinbase Exchange](https://coinbase.com/) | [![API Version *](https://img.shields.io/badge/*-lightgray)](https://docs.cloud.coinbase.com/exchange/docs/) | cex | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
140
140
  | [![coinbaseinternational](https://github.com/ccxt/ccxt/assets/43336371/866ae638-6ab5-4ebf-ab2c-cdcce9545625)](https://international.coinbase.com) | coinbaseinternational | [Coinbase International](https://international.coinbase.com) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://docs.cloud.coinbase.com/intx/docs) | cex | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
@@ -260,13 +260,13 @@ console.log(version, Object.keys(exchanges));
260
260
 
261
261
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
262
262
 
263
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.20/dist/ccxt.browser.min.js
264
- * unpkg: https://unpkg.com/ccxt@4.4.20/dist/ccxt.browser.min.js
263
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.22/dist/ccxt.browser.min.js
264
+ * unpkg: https://unpkg.com/ccxt@4.4.22/dist/ccxt.browser.min.js
265
265
 
266
266
  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.
267
267
 
268
268
  ```HTML
269
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.20/dist/ccxt.browser.min.js"></script>
269
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.22/dist/ccxt.browser.min.js"></script>
270
270
  ```
271
271
 
272
272
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.4.20'
25
+ __version__ = '4.4.22'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -11,6 +11,7 @@ class ImplicitAPI:
11
11
  public_get_gethealth = publicGetGethealth = Entry('gethealth', 'public', 'GET', {})
12
12
  public_get_getboardstate = publicGetGetboardstate = Entry('getboardstate', 'public', 'GET', {})
13
13
  public_get_getchats = publicGetGetchats = Entry('getchats', 'public', 'GET', {})
14
+ public_get_getfundingrate = publicGetGetfundingrate = Entry('getfundingrate', 'public', 'GET', {})
14
15
  private_get_getpermissions = privateGetGetpermissions = Entry('getpermissions', 'private', 'GET', {})
15
16
  private_get_getbalance = privateGetGetbalance = Entry('getbalance', 'private', 'GET', {})
16
17
  private_get_getbalancehistory = privateGetGetbalancehistory = Entry('getbalancehistory', 'private', 'GET', {})
@@ -68,12 +68,14 @@ class ImplicitAPI:
68
68
  public_mix_get_v2_mix_market_current_fund_rate = publicMixGetV2MixMarketCurrentFundRate = Entry('v2/mix/market/current-fund-rate', ['public', 'mix'], 'GET', {'cost': 1})
69
69
  public_mix_get_v2_mix_market_contracts = publicMixGetV2MixMarketContracts = Entry('v2/mix/market/contracts', ['public', 'mix'], 'GET', {'cost': 1})
70
70
  public_mix_get_v2_mix_market_query_position_lever = publicMixGetV2MixMarketQueryPositionLever = Entry('v2/mix/market/query-position-lever', ['public', 'mix'], 'GET', {'cost': 2})
71
+ public_mix_get_v2_mix_market_account_long_short = publicMixGetV2MixMarketAccountLongShort = Entry('v2/mix/market/account-long-short', ['public', 'mix'], 'GET', {'cost': 20})
71
72
  public_margin_get_margin_v1_cross_public_interestrateandlimit = publicMarginGetMarginV1CrossPublicInterestRateAndLimit = Entry('margin/v1/cross/public/interestRateAndLimit', ['public', 'margin'], 'GET', {'cost': 2})
72
73
  public_margin_get_margin_v1_isolated_public_interestrateandlimit = publicMarginGetMarginV1IsolatedPublicInterestRateAndLimit = Entry('margin/v1/isolated/public/interestRateAndLimit', ['public', 'margin'], 'GET', {'cost': 2})
73
74
  public_margin_get_margin_v1_cross_public_tierdata = publicMarginGetMarginV1CrossPublicTierData = Entry('margin/v1/cross/public/tierData', ['public', 'margin'], 'GET', {'cost': 2})
74
75
  public_margin_get_margin_v1_isolated_public_tierdata = publicMarginGetMarginV1IsolatedPublicTierData = Entry('margin/v1/isolated/public/tierData', ['public', 'margin'], 'GET', {'cost': 2})
75
76
  public_margin_get_margin_v1_public_currencies = publicMarginGetMarginV1PublicCurrencies = Entry('margin/v1/public/currencies', ['public', 'margin'], 'GET', {'cost': 1})
76
77
  public_margin_get_v2_margin_currencies = publicMarginGetV2MarginCurrencies = Entry('v2/margin/currencies', ['public', 'margin'], 'GET', {'cost': 2})
78
+ public_margin_get_v2_margin_market_long_short_ratio = publicMarginGetV2MarginMarketLongShortRatio = Entry('v2/margin/market/long-short-ratio', ['public', 'margin'], 'GET', {'cost': 20})
77
79
  public_earn_get_v2_earn_loan_public_coininfos = publicEarnGetV2EarnLoanPublicCoinInfos = Entry('v2/earn/loan/public/coinInfos', ['public', 'earn'], 'GET', {'cost': 2})
78
80
  public_earn_get_v2_earn_loan_public_hour_interest = publicEarnGetV2EarnLoanPublicHourInterest = Entry('v2/earn/loan/public/hour-interest', ['public', 'earn'], 'GET', {'cost': 2})
79
81
  private_spot_get_spot_v1_wallet_deposit_address = privateSpotGetSpotV1WalletDepositAddress = Entry('spot/v1/wallet/deposit-address', ['private', 'spot'], 'GET', {'cost': 4})
@@ -220,6 +222,7 @@ class ImplicitAPI:
220
222
  private_mix_get_v2_mix_order_orders_history = privateMixGetV2MixOrderOrdersHistory = Entry('v2/mix/order/orders-history', ['private', 'mix'], 'GET', {'cost': 2})
221
223
  private_mix_get_v2_mix_order_orders_plan_pending = privateMixGetV2MixOrderOrdersPlanPending = Entry('v2/mix/order/orders-plan-pending', ['private', 'mix'], 'GET', {'cost': 2})
222
224
  private_mix_get_v2_mix_order_orders_plan_history = privateMixGetV2MixOrderOrdersPlanHistory = Entry('v2/mix/order/orders-plan-history', ['private', 'mix'], 'GET', {'cost': 2})
225
+ private_mix_get_v2_mix_market_position_long_short = privateMixGetV2MixMarketPositionLongShort = Entry('v2/mix/market/position-long-short', ['private', 'mix'], 'GET', {'cost': 20})
223
226
  private_mix_post_mix_v1_account_sub_account_contract_assets = privateMixPostMixV1AccountSubAccountContractAssets = Entry('mix/v1/account/sub-account-contract-assets', ['private', 'mix'], 'POST', {'cost': 200})
224
227
  private_mix_post_mix_v1_account_open_count = privateMixPostMixV1AccountOpenCount = Entry('mix/v1/account/open-count', ['private', 'mix'], 'POST', {'cost': 1})
225
228
  private_mix_post_mix_v1_account_setleverage = privateMixPostMixV1AccountSetLeverage = Entry('mix/v1/account/setLeverage', ['private', 'mix'], 'POST', {'cost': 4})
@@ -163,6 +163,7 @@ class ImplicitAPI:
163
163
  private_get_v5_user_del_submember = privateGetV5UserDelSubmember = Entry('v5/user/del-submember', 'private', 'GET', {'cost': 5})
164
164
  private_get_v5_user_submembers = privateGetV5UserSubmembers = Entry('v5/user/submembers', 'private', 'GET', {'cost': 5})
165
165
  private_get_v5_spot_lever_token_order_record = privateGetV5SpotLeverTokenOrderRecord = Entry('v5/spot-lever-token/order-record', 'private', 'GET', {'cost': 1})
166
+ private_get_v5_spot_margin_trade_interest_rate_history = privateGetV5SpotMarginTradeInterestRateHistory = Entry('v5/spot-margin-trade/interest-rate-history', 'private', 'GET', {'cost': 5})
166
167
  private_get_v5_spot_margin_trade_state = privateGetV5SpotMarginTradeState = Entry('v5/spot-margin-trade/state', 'private', 'GET', {'cost': 5})
167
168
  private_get_v5_spot_cross_margin_trade_loan_info = privateGetV5SpotCrossMarginTradeLoanInfo = Entry('v5/spot-cross-margin-trade/loan-info', 'private', 'GET', {'cost': 1})
168
169
  private_get_v5_spot_cross_margin_trade_account = privateGetV5SpotCrossMarginTradeAccount = Entry('v5/spot-cross-margin-trade/account', 'private', 'GET', {'cost': 1})
@@ -0,0 +1,32 @@
1
+ from ccxt.base.types import Entry
2
+
3
+
4
+ class ImplicitAPI:
5
+ public_post_get_server_time = publicPostGetServerTime = Entry('get_server_time', 'public', 'POST', {'cost': 1})
6
+ public_post_get_pairs_info = publicPostGetPairsInfo = Entry('get_pairs_info', 'public', 'POST', {'cost': 1})
7
+ public_post_get_currencies_info = publicPostGetCurrenciesInfo = Entry('get_currencies_info', 'public', 'POST', {'cost': 1})
8
+ public_post_get_processing_info = publicPostGetProcessingInfo = Entry('get_processing_info', 'public', 'POST', {'cost': 10})
9
+ public_post_get_ticker = publicPostGetTicker = Entry('get_ticker', 'public', 'POST', {'cost': 1})
10
+ public_post_get_trade_history = publicPostGetTradeHistory = Entry('get_trade_history', 'public', 'POST', {'cost': 1})
11
+ public_post_get_order_book = publicPostGetOrderBook = Entry('get_order_book', 'public', 'POST', {'cost': 1})
12
+ public_post_get_candles = publicPostGetCandles = Entry('get_candles', 'public', 'POST', {'cost': 1})
13
+ private_post_get_my_current_fee = privatePostGetMyCurrentFee = Entry('get_my_current_fee', 'private', 'POST', {'cost': 5})
14
+ private_post_get_fee_strategy = privatePostGetFeeStrategy = Entry('get_fee_strategy', 'private', 'POST', {'cost': 1})
15
+ private_post_get_my_volume = privatePostGetMyVolume = Entry('get_my_volume', 'private', 'POST', {'cost': 5})
16
+ private_post_do_create_account = privatePostDoCreateAccount = Entry('do_create_account', 'private', 'POST', {'cost': 1})
17
+ private_post_get_my_account_status_v3 = privatePostGetMyAccountStatusV3 = Entry('get_my_account_status_v3', 'private', 'POST', {'cost': 5})
18
+ private_post_get_my_wallet_balance = privatePostGetMyWalletBalance = Entry('get_my_wallet_balance', 'private', 'POST', {'cost': 5})
19
+ private_post_get_my_orders = privatePostGetMyOrders = Entry('get_my_orders', 'private', 'POST', {'cost': 5})
20
+ private_post_do_my_new_order = privatePostDoMyNewOrder = Entry('do_my_new_order', 'private', 'POST', {'cost': 1})
21
+ private_post_do_cancel_my_order = privatePostDoCancelMyOrder = Entry('do_cancel_my_order', 'private', 'POST', {'cost': 1})
22
+ private_post_do_cancel_all_orders = privatePostDoCancelAllOrders = Entry('do_cancel_all_orders', 'private', 'POST', {'cost': 5})
23
+ private_post_get_order_book = privatePostGetOrderBook = Entry('get_order_book', 'private', 'POST', {'cost': 1})
24
+ private_post_get_candles = privatePostGetCandles = Entry('get_candles', 'private', 'POST', {'cost': 1})
25
+ private_post_get_trade_history = privatePostGetTradeHistory = Entry('get_trade_history', 'private', 'POST', {'cost': 1})
26
+ private_post_get_my_transaction_history = privatePostGetMyTransactionHistory = Entry('get_my_transaction_history', 'private', 'POST', {'cost': 1})
27
+ private_post_get_my_funding_history = privatePostGetMyFundingHistory = Entry('get_my_funding_history', 'private', 'POST', {'cost': 5})
28
+ private_post_do_my_internal_transfer = privatePostDoMyInternalTransfer = Entry('do_my_internal_transfer', 'private', 'POST', {'cost': 1})
29
+ private_post_get_processing_info = privatePostGetProcessingInfo = Entry('get_processing_info', 'private', 'POST', {'cost': 10})
30
+ private_post_get_deposit_address = privatePostGetDepositAddress = Entry('get_deposit_address', 'private', 'POST', {'cost': 5})
31
+ private_post_do_deposit_funds_from_wallet = privatePostDoDepositFundsFromWallet = Entry('do_deposit_funds_from_wallet', 'private', 'POST', {'cost': 1})
32
+ private_post_do_withdrawal_funds_to_wallet = privatePostDoWithdrawalFundsToWallet = Entry('do_withdrawal_funds_to_wallet', 'private', 'POST', {'cost': 1})
@@ -92,8 +92,13 @@ class ImplicitAPI:
92
92
  private_unified_get_interest_records = privateUnifiedGetInterestRecords = Entry('interest_records', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
93
93
  private_unified_get_estimate_rate = privateUnifiedGetEstimateRate = Entry('estimate_rate', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
94
94
  private_unified_get_currency_discount_tiers = privateUnifiedGetCurrencyDiscountTiers = Entry('currency_discount_tiers', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
95
+ private_unified_get_risk_units = privateUnifiedGetRiskUnits = Entry('risk_units', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
96
+ private_unified_get_unified_mode = privateUnifiedGetUnifiedMode = Entry('unified_mode', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
97
+ private_unified_get_loan_margin_tiers = privateUnifiedGetLoanMarginTiers = Entry('loan_margin_tiers', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
95
98
  private_unified_post_account_mode = privateUnifiedPostAccountMode = Entry('account_mode', ['private', 'unified'], 'POST', {'cost': 1.3333333333333333})
96
99
  private_unified_post_loans = privateUnifiedPostLoans = Entry('loans', ['private', 'unified'], 'POST', {'cost': 13.333333333333334})
100
+ private_unified_post_portfolio_calculator = privateUnifiedPostPortfolioCalculator = Entry('portfolio_calculator', ['private', 'unified'], 'POST', {'cost': 1.3333333333333333})
101
+ private_unified_put_unified_mode = privateUnifiedPutUnifiedMode = Entry('unified_mode', ['private', 'unified'], 'PUT', {'cost': 1.3333333333333333})
97
102
  private_spot_get_fee = privateSpotGetFee = Entry('fee', ['private', 'spot'], 'GET', {'cost': 1})
98
103
  private_spot_get_batch_fee = privateSpotGetBatchFee = Entry('batch_fee', ['private', 'spot'], 'GET', {'cost': 1})
99
104
  private_spot_get_accounts = privateSpotGetAccounts = Entry('accounts', ['private', 'spot'], 'GET', {'cost': 1})
@@ -92,8 +92,13 @@ class ImplicitAPI:
92
92
  private_unified_get_interest_records = privateUnifiedGetInterestRecords = Entry('interest_records', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
93
93
  private_unified_get_estimate_rate = privateUnifiedGetEstimateRate = Entry('estimate_rate', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
94
94
  private_unified_get_currency_discount_tiers = privateUnifiedGetCurrencyDiscountTiers = Entry('currency_discount_tiers', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
95
+ private_unified_get_risk_units = privateUnifiedGetRiskUnits = Entry('risk_units', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
96
+ private_unified_get_unified_mode = privateUnifiedGetUnifiedMode = Entry('unified_mode', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
97
+ private_unified_get_loan_margin_tiers = privateUnifiedGetLoanMarginTiers = Entry('loan_margin_tiers', ['private', 'unified'], 'GET', {'cost': 1.3333333333333333})
95
98
  private_unified_post_account_mode = privateUnifiedPostAccountMode = Entry('account_mode', ['private', 'unified'], 'POST', {'cost': 1.3333333333333333})
96
99
  private_unified_post_loans = privateUnifiedPostLoans = Entry('loans', ['private', 'unified'], 'POST', {'cost': 13.333333333333334})
100
+ private_unified_post_portfolio_calculator = privateUnifiedPostPortfolioCalculator = Entry('portfolio_calculator', ['private', 'unified'], 'POST', {'cost': 1.3333333333333333})
101
+ private_unified_put_unified_mode = privateUnifiedPutUnifiedMode = Entry('unified_mode', ['private', 'unified'], 'PUT', {'cost': 1.3333333333333333})
97
102
  private_spot_get_fee = privateSpotGetFee = Entry('fee', ['private', 'spot'], 'GET', {'cost': 1})
98
103
  private_spot_get_batch_fee = privateSpotGetBatchFee = Entry('batch_fee', ['private', 'spot'], 'GET', {'cost': 1})
99
104
  private_spot_get_accounts = privateSpotGetAccounts = Entry('accounts', ['private', 'spot'], 'GET', {'cost': 1})
@@ -20,6 +20,7 @@ class ImplicitAPI:
20
20
  public_get_mark_price_symbol_current = publicGetMarkPriceSymbolCurrent = Entry('mark-price/{symbol}/current', 'public', 'GET', {'cost': 3})
21
21
  public_get_mark_price_all_symbols = publicGetMarkPriceAllSymbols = Entry('mark-price/all-symbols', 'public', 'GET', {'cost': 3})
22
22
  public_get_margin_config = publicGetMarginConfig = Entry('margin/config', 'public', 'GET', {'cost': 25})
23
+ public_get_announcements = publicGetAnnouncements = Entry('announcements', 'public', 'GET', {'cost': 20})
23
24
  public_post_bullet_public = publicPostBulletPublic = Entry('bullet-public', 'public', 'POST', {'cost': 15})
24
25
  private_get_user_info = privateGetUserInfo = Entry('user-info', 'private', 'GET', {'cost': 30})
25
26
  private_get_accounts = privateGetAccounts = Entry('accounts', 'private', 'GET', {'cost': 7.5})
@@ -123,6 +124,7 @@ class ImplicitAPI:
123
124
  private_post_lend_purchase_update = privatePostLendPurchaseUpdate = Entry('lend/purchase/update', 'private', 'POST', {'cost': 10})
124
125
  private_post_bullet_private = privatePostBulletPrivate = Entry('bullet-private', 'private', 'POST', {'cost': 10})
125
126
  private_post_position_update_user_leverage = privatePostPositionUpdateUserLeverage = Entry('position/update-user-leverage', 'private', 'POST', {'cost': 5})
127
+ private_post_deposit_address_create = privatePostDepositAddressCreate = Entry('deposit-address/create', 'private', 'POST', {'cost': 20})
126
128
  private_delete_sub_api_key = privateDeleteSubApiKey = Entry('sub/api-key', 'private', 'DELETE', {'cost': 45})
127
129
  private_delete_withdrawals_withdrawalid = privateDeleteWithdrawalsWithdrawalId = Entry('withdrawals/{withdrawalId}', 'private', 'DELETE', {'cost': 30})
128
130
  private_delete_hf_orders_orderid = privateDeleteHfOrdersOrderId = Entry('hf/orders/{orderId}', 'private', 'DELETE', {'cost': 1})
@@ -20,6 +20,7 @@ class ImplicitAPI:
20
20
  public_get_mark_price_symbol_current = publicGetMarkPriceSymbolCurrent = Entry('mark-price/{symbol}/current', 'public', 'GET', {'cost': 3})
21
21
  public_get_mark_price_all_symbols = publicGetMarkPriceAllSymbols = Entry('mark-price/all-symbols', 'public', 'GET', {'cost': 3})
22
22
  public_get_margin_config = publicGetMarginConfig = Entry('margin/config', 'public', 'GET', {'cost': 25})
23
+ public_get_announcements = publicGetAnnouncements = Entry('announcements', 'public', 'GET', {'cost': 20})
23
24
  public_post_bullet_public = publicPostBulletPublic = Entry('bullet-public', 'public', 'POST', {'cost': 15})
24
25
  private_get_user_info = privateGetUserInfo = Entry('user-info', 'private', 'GET', {'cost': 30})
25
26
  private_get_accounts = privateGetAccounts = Entry('accounts', 'private', 'GET', {'cost': 7.5})
@@ -123,6 +124,7 @@ class ImplicitAPI:
123
124
  private_post_lend_purchase_update = privatePostLendPurchaseUpdate = Entry('lend/purchase/update', 'private', 'POST', {'cost': 10})
124
125
  private_post_bullet_private = privatePostBulletPrivate = Entry('bullet-private', 'private', 'POST', {'cost': 10})
125
126
  private_post_position_update_user_leverage = privatePostPositionUpdateUserLeverage = Entry('position/update-user-leverage', 'private', 'POST', {'cost': 5})
127
+ private_post_deposit_address_create = privatePostDepositAddressCreate = Entry('deposit-address/create', 'private', 'POST', {'cost': 20})
126
128
  private_delete_sub_api_key = privateDeleteSubApiKey = Entry('sub/api-key', 'private', 'DELETE', {'cost': 45})
127
129
  private_delete_withdrawals_withdrawalid = privateDeleteWithdrawalsWithdrawalId = Entry('withdrawals/{withdrawalId}', 'private', 'DELETE', {'cost': 30})
128
130
  private_delete_hf_orders_orderid = privateDeleteHfOrdersOrderId = Entry('hf/orders/{orderId}', 'private', 'DELETE', {'cost': 1})
@@ -48,6 +48,7 @@ class ImplicitAPI:
48
48
  public_get_rubik_stat_taker_volume = publicGetRubikStatTakerVolume = Entry('rubik/stat/taker-volume', 'public', 'GET', {'cost': 4})
49
49
  public_get_rubik_stat_margin_loan_ratio = publicGetRubikStatMarginLoanRatio = Entry('rubik/stat/margin/loan-ratio', 'public', 'GET', {'cost': 4})
50
50
  public_get_rubik_stat_contracts_long_short_account_ratio = publicGetRubikStatContractsLongShortAccountRatio = Entry('rubik/stat/contracts/long-short-account-ratio', 'public', 'GET', {'cost': 4})
51
+ public_get_rubik_stat_contracts_long_short_account_ratio_contract = publicGetRubikStatContractsLongShortAccountRatioContract = Entry('rubik/stat/contracts/long-short-account-ratio-contract', 'public', 'GET', {'cost': 4})
51
52
  public_get_rubik_stat_contracts_open_interest_volume = publicGetRubikStatContractsOpenInterestVolume = Entry('rubik/stat/contracts/open-interest-volume', 'public', 'GET', {'cost': 4})
52
53
  public_get_rubik_stat_option_open_interest_volume = publicGetRubikStatOptionOpenInterestVolume = Entry('rubik/stat/option/open-interest-volume', 'public', 'GET', {'cost': 4})
53
54
  public_get_rubik_stat_option_open_interest_volume_ratio = publicGetRubikStatOptionOpenInterestVolumeRatio = Entry('rubik/stat/option/open-interest-volume-ratio', 'public', 'GET', {'cost': 4})
@@ -153,6 +154,9 @@ class ImplicitAPI:
153
154
  private_get_account_fixed_loan_borrowing_limit = privateGetAccountFixedLoanBorrowingLimit = Entry('account/fixed-loan/borrowing-limit', 'private', 'GET', {'cost': 4})
154
155
  private_get_account_fixed_loan_borrowing_quote = privateGetAccountFixedLoanBorrowingQuote = Entry('account/fixed-loan/borrowing-quote', 'private', 'GET', {'cost': 5})
155
156
  private_get_account_fixed_loan_borrowing_orders_list = privateGetAccountFixedLoanBorrowingOrdersList = Entry('account/fixed-loan/borrowing-orders-list', 'private', 'GET', {'cost': 5})
157
+ private_get_account_spot_manual_borrow_repay = privateGetAccountSpotManualBorrowRepay = Entry('account/spot-manual-borrow-repay', 'private', 'GET', {'cost': 10})
158
+ private_get_account_set_auto_repay = privateGetAccountSetAutoRepay = Entry('account/set-auto-repay', 'private', 'GET', {'cost': 4})
159
+ private_get_account_spot_borrow_repay_history = privateGetAccountSpotBorrowRepayHistory = Entry('account/spot-borrow-repay-history', 'private', 'GET', {'cost': 4})
156
160
  private_get_users_subaccount_list = privateGetUsersSubaccountList = Entry('users/subaccount/list', 'private', 'GET', {'cost': 10})
157
161
  private_get_account_subaccount_balances = privateGetAccountSubaccountBalances = Entry('account/subaccount/balances', 'private', 'GET', {'cost': 3.3333333333333335})
158
162
  private_get_asset_subaccount_balances = privateGetAssetSubaccountBalances = Entry('asset/subaccount/balances', 'private', 'GET', {'cost': 3.3333333333333335})
@@ -69,6 +69,7 @@ class alpaca(Exchange, ImplicitAPI):
69
69
  'fetchDepositsWithdrawals': False,
70
70
  'fetchFundingHistory': False,
71
71
  'fetchFundingRate': False,
72
+ 'fetchFundingRateHistory': False,
72
73
  'fetchFundingRates': False,
73
74
  'fetchL1OrderBook': True,
74
75
  'fetchL2OrderBook': False,
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.4.20'
7
+ __version__ = '4.4.22'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -69,6 +69,7 @@ class alpaca(Exchange, ImplicitAPI):
69
69
  'fetchDepositsWithdrawals': False,
70
70
  'fetchFundingHistory': False,
71
71
  'fetchFundingRate': False,
72
+ 'fetchFundingRateHistory': False,
72
73
  'fetchFundingRates': False,
73
74
  'fetchL1OrderBook': True,
74
75
  'fetchL2OrderBook': False,
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.4.20'
5
+ __version__ = '4.4.22'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -707,6 +707,12 @@ class Exchange(BaseExchange):
707
707
  async def set_margin(self, symbol: str, amount: float, params={}):
708
708
  raise NotSupported(self.id + ' setMargin() is not supported yet')
709
709
 
710
+ async def fetch_long_short_ratio(self, symbol: str, timeframe: Str = None, params={}):
711
+ raise NotSupported(self.id + ' fetchLongShortRatio() is not supported yet')
712
+
713
+ async def fetch_long_short_ratio_history(self, symbol: Str = None, timeframe: Str = None, since: Int = None, limit: Int = None, params={}):
714
+ raise NotSupported(self.id + ' fetchLongShortRatioHistory() is not supported yet')
715
+
710
716
  async def fetch_margin_adjustment_history(self, symbol: Str = None, type: Str = None, since: Num = None, limit: Num = None, params={}):
711
717
  """
712
718
  fetches the history of margin added or reduced from contract isolated positions
@@ -55,7 +55,10 @@ class bigone(Exchange, ImplicitAPI):
55
55
  'fetchDepositAddresses': False,
56
56
  'fetchDepositAddressesByNetwork': False,
57
57
  'fetchDeposits': True,
58
+ 'fetchFundingHistory': False,
58
59
  'fetchFundingRate': False,
60
+ 'fetchFundingRateHistory': False,
61
+ 'fetchFundingRates': False,
59
62
  'fetchMarkets': True,
60
63
  'fetchMyTrades': True,
61
64
  'fetchOHLCV': True,
@@ -8,7 +8,7 @@ from ccxt.abstract.binance import ImplicitAPI
8
8
  import asyncio
9
9
  import hashlib
10
10
  import json
11
- from ccxt.base.types import Balances, Conversion, CrossBorrowRate, Currencies, Currency, DepositAddress, Greeks, Int, IsolatedBorrowRate, IsolatedBorrowRates, LedgerEntry, Leverage, Leverages, LeverageTier, LeverageTiers, MarginMode, MarginModes, MarginModification, Market, MarketInterface, Num, Option, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, FundingRate, FundingRates, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
11
+ from ccxt.base.types import LongShortRatio, Balances, Conversion, CrossBorrowRate, Currencies, Currency, DepositAddress, Greeks, Int, IsolatedBorrowRate, IsolatedBorrowRates, LedgerEntry, Leverage, Leverages, LeverageTier, LeverageTiers, MarginMode, MarginModes, MarginModification, Market, MarketInterface, Num, Option, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, FundingRate, FundingRates, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
12
12
  from typing import List
13
13
  from ccxt.base.errors import ExchangeError
14
14
  from ccxt.base.errors import AuthenticationError
@@ -129,6 +129,8 @@ class binance(Exchange, ImplicitAPI):
129
129
  'fetchLeverages': True,
130
130
  'fetchLeverageTiers': True,
131
131
  'fetchLiquidations': False,
132
+ 'fetchLongShortRatio': False,
133
+ 'fetchLongShortRatioHistory': True,
132
134
  'fetchMarginAdjustmentHistory': True,
133
135
  'fetchMarginMode': 'emulated',
134
136
  'fetchMarginModes': True,
@@ -11138,15 +11140,6 @@ class binance(Exchange, ImplicitAPI):
11138
11140
  #
11139
11141
  return self.parse_borrow_rate_history(response, code, since, limit)
11140
11142
 
11141
- def parse_borrow_rate_history(self, response, code, since, limit):
11142
- result = []
11143
- for i in range(0, len(response)):
11144
- item = response[i]
11145
- borrowRate = self.parse_borrow_rate(item)
11146
- result.append(borrowRate)
11147
- sorted = self.sort_by(result, 'timestamp')
11148
- return self.filter_by_currency_since_limit(sorted, code, since, limit)
11149
-
11150
11143
  def parse_borrow_rate(self, info, currency: Currency = None):
11151
11144
  #
11152
11145
  # {
@@ -12710,3 +12703,96 @@ class binance(Exchange, ImplicitAPI):
12710
12703
  #
12711
12704
  result = self.parse_funding_rates(response, market)
12712
12705
  return self.filter_by_array(result, 'symbol', symbols)
12706
+
12707
+ async def fetch_long_short_ratio_history(self, symbol: Str = None, timeframe: Str = None, since: Int = None, limit: Int = None, params={}) -> List[LongShortRatio]:
12708
+ """
12709
+ fetches the long short ratio history for a unified market symbol
12710
+ :see: https://developers.binance.com/docs/derivatives/usds-margined-futures/market-data/rest-api/Long-Short-Ratio
12711
+ :see: https://developers.binance.com/docs/derivatives/coin-margined-futures/market-data/Long-Short-Ratio
12712
+ :param str symbol: unified symbol of the market to fetch the long short ratio for
12713
+ :param str [timeframe]: the period for the ratio, default is 24 hours
12714
+ :param int [since]: the earliest time in ms to fetch ratios for
12715
+ :param int [limit]: the maximum number of long short ratio structures to retrieve
12716
+ :param dict [params]: extra parameters specific to the exchange API endpoint
12717
+ :param int [params.until]: timestamp in ms of the latest ratio to fetch
12718
+ :returns dict[]: an array of `long short ratio structures <https://docs.ccxt.com/#/?id=long-short-ratio-structure>`
12719
+ """
12720
+ await self.load_markets()
12721
+ market = self.market(symbol)
12722
+ if timeframe is None:
12723
+ timeframe = '1d'
12724
+ request: dict = {
12725
+ 'period': timeframe,
12726
+ }
12727
+ request, params = self.handle_until_option('endTime', request, params)
12728
+ if since is not None:
12729
+ request['startTime'] = since
12730
+ if limit is not None:
12731
+ request['limit'] = limit
12732
+ subType = None
12733
+ subType, params = self.handle_sub_type_and_params('fetchLongShortRatioHistory', market, params)
12734
+ response = None
12735
+ if subType == 'linear':
12736
+ request['symbol'] = market['id']
12737
+ response = await self.fapiDataGetGlobalLongShortAccountRatio(self.extend(request, params))
12738
+ #
12739
+ # [
12740
+ # {
12741
+ # "symbol": "BTCUSDT",
12742
+ # "longAccount": "0.4558",
12743
+ # "longShortRatio": "0.8376",
12744
+ # "shortAccount": "0.5442",
12745
+ # "timestamp": 1726790400000
12746
+ # },
12747
+ # ]
12748
+ #
12749
+ elif subType == 'inverse':
12750
+ request['pair'] = market['info']['pair']
12751
+ response = await self.dapiDataGetGlobalLongShortAccountRatio(self.extend(request, params))
12752
+ #
12753
+ # [
12754
+ # {
12755
+ # "longAccount": "0.7262",
12756
+ # "longShortRatio": "2.6523",
12757
+ # "shortAccount": "0.2738",
12758
+ # "pair": "BTCUSD",
12759
+ # "timestamp": 1726790400000
12760
+ # },
12761
+ # ]
12762
+ #
12763
+ else:
12764
+ raise BadRequest(self.id + ' fetchLongShortRatioHistory() supports linear and inverse subTypes only')
12765
+ return self.parse_long_short_ratio_history(response, market)
12766
+
12767
+ def parse_long_short_ratio(self, info: dict, market: Market = None) -> LongShortRatio:
12768
+ #
12769
+ # linear
12770
+ #
12771
+ # {
12772
+ # "symbol": "BTCUSDT",
12773
+ # "longAccount": "0.4558",
12774
+ # "longShortRatio": "0.8376",
12775
+ # "shortAccount": "0.5442",
12776
+ # "timestamp": 1726790400000
12777
+ # }
12778
+ #
12779
+ # inverse
12780
+ #
12781
+ # {
12782
+ # "longAccount": "0.7262",
12783
+ # "longShortRatio": "2.6523",
12784
+ # "shortAccount": "0.2738",
12785
+ # "pair": "BTCUSD",
12786
+ # "timestamp": 1726790400000
12787
+ # }
12788
+ #
12789
+ marketId = self.safe_string(info, 'symbol')
12790
+ timestamp = self.safe_integer_omit_zero(info, 'timestamp')
12791
+ return {
12792
+ 'info': info,
12793
+ 'symbol': self.safe_symbol(marketId, market, None, 'contract'),
12794
+ 'timestamp': timestamp,
12795
+ 'datetime': self.iso8601(timestamp),
12796
+ 'timeframe': None,
12797
+ 'longShortRatio': self.safe_number(info, 'longShortRatio'),
12798
+ }
@@ -4981,7 +4981,7 @@ class bingx(Exchange, ImplicitAPI):
4981
4981
  async def withdraw(self, code: str, amount: float, address: str, tag=None, params={}):
4982
4982
  """
4983
4983
  make a withdrawal
4984
- :see: https://bingx-api.github.io/docs/#/common/account-api.html#Withdraw
4984
+ :see: https://bingx-api.github.io/docs/#/en-us/spot/wallet-api.html#Withdraw
4985
4985
  :param str code: unified currency code
4986
4986
  :param float amount: the amount to withdraw
4987
4987
  :param str address: the address to withdraw to
@@ -4990,6 +4990,8 @@ class bingx(Exchange, ImplicitAPI):
4990
4990
  :param int [params.walletType]: 1 fund account, 2 standard account, 3 perpetual account
4991
4991
  :returns dict: a `transaction structure <https://docs.ccxt.com/#/?id=transaction-structure>`
4992
4992
  """
4993
+ tag, params = self.handle_withdraw_tag_and_params(tag, params)
4994
+ self.check_address(address)
4993
4995
  await self.load_markets()
4994
4996
  currency = self.currency(code)
4995
4997
  walletType = self.safe_integer(params, 'walletType')
@@ -5006,6 +5008,8 @@ class bingx(Exchange, ImplicitAPI):
5006
5008
  network = self.safe_string_upper(params, 'network')
5007
5009
  if network is not None:
5008
5010
  request['network'] = self.network_code_to_id(network)
5011
+ if tag is not None:
5012
+ request['addressTag'] = tag
5009
5013
  params = self.omit(params, ['walletType', 'network'])
5010
5014
  response = await self.walletsV1PrivatePostCapitalWithdrawApply(self.extend(request, params))
5011
5015
  data = self.safe_value(response, 'data')
@@ -6,7 +6,7 @@
6
6
  from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.bitflyer import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Currency, Int, Market, MarketInterface, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Trade, TradingFeeInterface, Transaction
9
+ from ccxt.base.types import Balances, Currency, Int, Market, MarketInterface, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, FundingRate, Trade, TradingFeeInterface, Transaction
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import ArgumentsRequired
@@ -39,6 +39,8 @@ class bitflyer(Exchange, ImplicitAPI):
39
39
  'fetchBalance': True,
40
40
  'fetchClosedOrders': 'emulated',
41
41
  'fetchDeposits': True,
42
+ 'fetchFundingRate': True,
43
+ 'fetchFundingRateHistory': False,
42
44
  'fetchMarginMode': False,
43
45
  'fetchMarkets': True,
44
46
  'fetchMyTrades': True,
@@ -78,6 +80,7 @@ class bitflyer(Exchange, ImplicitAPI):
78
80
  'gethealth',
79
81
  'getboardstate',
80
82
  'getchats',
83
+ 'getfundingrate',
81
84
  ],
82
85
  },
83
86
  'private': {
@@ -963,6 +966,58 @@ class bitflyer(Exchange, ImplicitAPI):
963
966
  'fee': fee,
964
967
  }
965
968
 
969
+ async def fetch_funding_rate(self, symbol: str, params={}) -> FundingRate:
970
+ """
971
+ fetch the current funding rate
972
+ :see: https://lightning.bitflyer.com/docs#funding-rate
973
+ :param str symbol: unified market symbol
974
+ :param dict [params]: extra parameters specific to the exchange API endpoint
975
+ :returns dict: a `funding rate structure <https://docs.ccxt.com/#/?id=funding-rate-structure>`
976
+ """
977
+ await self.load_markets()
978
+ market = self.market(symbol)
979
+ request: dict = {
980
+ 'product_code': market['id'],
981
+ }
982
+ response = await self.publicGetGetfundingrate(self.extend(request, params))
983
+ #
984
+ # {
985
+ # "current_funding_rate": -0.003750000000
986
+ # "next_funding_rate_settledate": "2024-04-15T13:00:00"
987
+ # }
988
+ #
989
+ return self.parse_funding_rate(response, market)
990
+
991
+ def parse_funding_rate(self, contract, market: Market = None) -> FundingRate:
992
+ #
993
+ # {
994
+ # "current_funding_rate": -0.003750000000
995
+ # "next_funding_rate_settledate": "2024-04-15T13:00:00"
996
+ # }
997
+ #
998
+ nextFundingDatetime = self.safe_string(contract, 'next_funding_rate_settledate')
999
+ nextFundingTimestamp = self.parse8601(nextFundingDatetime)
1000
+ return {
1001
+ 'info': contract,
1002
+ 'symbol': self.safe_string(market, 'symbol'),
1003
+ 'markPrice': None,
1004
+ 'indexPrice': None,
1005
+ 'interestRate': None,
1006
+ 'estimatedSettlePrice': None,
1007
+ 'timestamp': None,
1008
+ 'datetime': None,
1009
+ 'fundingRate': None,
1010
+ 'fundingTimestamp': None,
1011
+ 'fundingDatetime': None,
1012
+ 'nextFundingRate': self.safe_number(contract, 'current_funding_rate'),
1013
+ 'nextFundingTimestamp': nextFundingTimestamp,
1014
+ 'nextFundingDatetime': self.iso8601(nextFundingTimestamp),
1015
+ 'previousFundingRate': None,
1016
+ 'previousFundingTimestamp': None,
1017
+ 'previousFundingDatetime': None,
1018
+ 'interval': None,
1019
+ }
1020
+
966
1021
  def sign(self, path, api='public', method='GET', params={}, headers=None, body=None):
967
1022
  request = '/' + self.version + '/'
968
1023
  if api == 'private':