ccxt 4.4.93__tar.gz → 4.4.95__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 (651) hide show
  1. {ccxt-4.4.93/ccxt.egg-info → ccxt-4.4.95}/PKG-INFO +4 -4
  2. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/__init__.py +1 -1
  3. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bingx.py +3 -0
  4. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/hyperliquid.py +1 -1
  5. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/woo.py +59 -4
  6. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/__init__.py +1 -1
  7. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/base/exchange.py +1 -1
  8. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/base/ws/future.py +2 -0
  9. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bingx.py +129 -92
  10. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bitget.py +1 -1
  11. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bitstamp.py +2 -0
  12. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/blofin.py +6 -1
  13. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bybit.py +3 -3
  14. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/coinbase.py +40 -1
  15. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/coinmate.py +34 -0
  16. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/coinmetro.py +15 -3
  17. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/coinone.py +34 -0
  18. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/coinsph.py +29 -0
  19. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/gate.py +1 -1
  20. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/htx.py +5 -1
  21. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/hyperliquid.py +126 -33
  22. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/okx.py +10 -3
  23. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/wavesexchange.py +12 -2
  24. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/woo.py +1251 -875
  25. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/base/errors.py +0 -6
  26. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/base/exchange.py +44 -22
  27. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bingx.py +129 -92
  28. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bitget.py +1 -1
  29. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bitstamp.py +2 -0
  30. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/blofin.py +6 -1
  31. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bybit.py +3 -3
  32. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/coinbase.py +40 -1
  33. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/coinmate.py +34 -0
  34. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/coinmetro.py +14 -3
  35. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/coinone.py +34 -0
  36. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/coinsph.py +29 -0
  37. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/gate.py +1 -1
  38. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/htx.py +5 -1
  39. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/hyperliquid.py +126 -33
  40. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/okx.py +10 -3
  41. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/__init__.py +1 -1
  42. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/hyperliquid.py +6 -6
  43. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/kraken.py +17 -16
  44. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/mexc.py +10 -10
  45. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/test/tests_async.py +19 -17
  46. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/test/tests_sync.py +19 -17
  47. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/wavesexchange.py +12 -2
  48. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/woo.py +1251 -875
  49. {ccxt-4.4.93 → ccxt-4.4.95/ccxt.egg-info}/PKG-INFO +4 -4
  50. {ccxt-4.4.93 → ccxt-4.4.95}/package.json +7 -7
  51. {ccxt-4.4.93 → ccxt-4.4.95}/LICENSE.txt +0 -0
  52. {ccxt-4.4.93 → ccxt-4.4.95}/MANIFEST.in +0 -0
  53. {ccxt-4.4.93 → ccxt-4.4.95}/README.rst +0 -0
  54. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/__init__.py +0 -0
  55. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/alpaca.py +0 -0
  56. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/apex.py +0 -0
  57. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/ascendex.py +0 -0
  58. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bequant.py +0 -0
  59. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bigone.py +0 -0
  60. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/binance.py +0 -0
  61. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/binancecoinm.py +0 -0
  62. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/binanceus.py +0 -0
  63. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/binanceusdm.py +0 -0
  64. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bit2c.py +0 -0
  65. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bitbank.py +0 -0
  66. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bitbns.py +0 -0
  67. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bitfinex.py +0 -0
  68. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bitflyer.py +0 -0
  69. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bitget.py +0 -0
  70. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bithumb.py +0 -0
  71. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bitmart.py +0 -0
  72. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bitmex.py +0 -0
  73. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bitopro.py +0 -0
  74. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bitrue.py +0 -0
  75. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bitso.py +0 -0
  76. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bitstamp.py +0 -0
  77. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bitteam.py +0 -0
  78. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bittrade.py +0 -0
  79. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bitvavo.py +0 -0
  80. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/blockchaincom.py +0 -0
  81. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/blofin.py +0 -0
  82. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/btcalpha.py +0 -0
  83. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/btcbox.py +0 -0
  84. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/btcmarkets.py +0 -0
  85. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/btcturk.py +0 -0
  86. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/bybit.py +0 -0
  87. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/cex.py +0 -0
  88. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/coinbase.py +0 -0
  89. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/coinbaseadvanced.py +0 -0
  90. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/coinbaseexchange.py +0 -0
  91. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/coinbaseinternational.py +0 -0
  92. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/coincatch.py +0 -0
  93. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/coincheck.py +0 -0
  94. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/coinex.py +0 -0
  95. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/coinmate.py +0 -0
  96. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/coinmetro.py +0 -0
  97. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/coinone.py +0 -0
  98. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/coinsph.py +0 -0
  99. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/coinspot.py +0 -0
  100. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/cryptocom.py +0 -0
  101. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/cryptomus.py +0 -0
  102. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/defx.py +0 -0
  103. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/delta.py +0 -0
  104. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/deribit.py +0 -0
  105. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/derive.py +0 -0
  106. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/digifinex.py +0 -0
  107. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/ellipx.py +0 -0
  108. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/exmo.py +0 -0
  109. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/fmfwio.py +0 -0
  110. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/gate.py +0 -0
  111. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/gateio.py +0 -0
  112. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/gemini.py +0 -0
  113. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/hashkey.py +0 -0
  114. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/hitbtc.py +0 -0
  115. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/hollaex.py +0 -0
  116. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/htx.py +0 -0
  117. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/huobi.py +0 -0
  118. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/independentreserve.py +0 -0
  119. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/indodax.py +0 -0
  120. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/kraken.py +0 -0
  121. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/krakenfutures.py +0 -0
  122. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/kucoin.py +0 -0
  123. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/kucoinfutures.py +0 -0
  124. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/latoken.py +0 -0
  125. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/lbank.py +0 -0
  126. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/luno.py +0 -0
  127. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/mercado.py +0 -0
  128. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/mexc.py +0 -0
  129. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/modetrade.py +0 -0
  130. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/myokx.py +0 -0
  131. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/ndax.py +0 -0
  132. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/novadax.py +0 -0
  133. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/oceanex.py +0 -0
  134. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/okcoin.py +0 -0
  135. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/okx.py +0 -0
  136. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/okxus.py +0 -0
  137. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/onetrading.py +0 -0
  138. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/oxfun.py +0 -0
  139. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/p2b.py +0 -0
  140. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/paradex.py +0 -0
  141. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/paymium.py +0 -0
  142. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/phemex.py +0 -0
  143. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/poloniex.py +0 -0
  144. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/probit.py +0 -0
  145. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/timex.py +0 -0
  146. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/tokocrypto.py +0 -0
  147. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/tradeogre.py +0 -0
  148. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/upbit.py +0 -0
  149. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/vertex.py +0 -0
  150. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/wavesexchange.py +0 -0
  151. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/whitebit.py +0 -0
  152. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/woofipro.py +0 -0
  153. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/xt.py +0 -0
  154. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/yobit.py +0 -0
  155. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/zaif.py +0 -0
  156. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/abstract/zonda.py +0 -0
  157. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/alpaca.py +0 -0
  158. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/apex.py +0 -0
  159. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/ascendex.py +0 -0
  160. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/alpaca.py +0 -0
  161. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/apex.py +0 -0
  162. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/ascendex.py +0 -0
  163. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/base/__init__.py +0 -0
  164. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/base/throttler.py +0 -0
  165. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/base/ws/__init__.py +0 -0
  166. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/base/ws/cache.py +0 -0
  167. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/base/ws/client.py +0 -0
  168. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/base/ws/functions.py +0 -0
  169. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/base/ws/order_book.py +0 -0
  170. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  171. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bequant.py +0 -0
  172. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bigone.py +0 -0
  173. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/binance.py +0 -0
  174. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/binancecoinm.py +0 -0
  175. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/binanceus.py +0 -0
  176. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/binanceusdm.py +0 -0
  177. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bit2c.py +0 -0
  178. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bitbank.py +0 -0
  179. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bitbns.py +0 -0
  180. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bitfinex.py +0 -0
  181. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bitflyer.py +0 -0
  182. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bithumb.py +0 -0
  183. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bitmart.py +0 -0
  184. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bitmex.py +0 -0
  185. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bitopro.py +0 -0
  186. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bitrue.py +0 -0
  187. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bitso.py +0 -0
  188. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bitteam.py +0 -0
  189. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bittrade.py +0 -0
  190. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/bitvavo.py +0 -0
  191. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/blockchaincom.py +0 -0
  192. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/btcalpha.py +0 -0
  193. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/btcbox.py +0 -0
  194. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/btcmarkets.py +0 -0
  195. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/btcturk.py +0 -0
  196. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/cex.py +0 -0
  197. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/coinbaseadvanced.py +0 -0
  198. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/coinbaseexchange.py +0 -0
  199. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/coinbaseinternational.py +0 -0
  200. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/coincatch.py +0 -0
  201. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/coincheck.py +0 -0
  202. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/coinex.py +0 -0
  203. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/coinspot.py +0 -0
  204. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/cryptocom.py +0 -0
  205. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/cryptomus.py +0 -0
  206. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/defx.py +0 -0
  207. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/delta.py +0 -0
  208. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/deribit.py +0 -0
  209. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/derive.py +0 -0
  210. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/digifinex.py +0 -0
  211. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/ellipx.py +0 -0
  212. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/exmo.py +0 -0
  213. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/fmfwio.py +0 -0
  214. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/gateio.py +0 -0
  215. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/gemini.py +0 -0
  216. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/hashkey.py +0 -0
  217. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/hitbtc.py +0 -0
  218. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/hollaex.py +0 -0
  219. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/huobi.py +0 -0
  220. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/independentreserve.py +0 -0
  221. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/indodax.py +0 -0
  222. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/kraken.py +0 -0
  223. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/krakenfutures.py +0 -0
  224. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/kucoin.py +0 -0
  225. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/kucoinfutures.py +0 -0
  226. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/latoken.py +0 -0
  227. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/lbank.py +0 -0
  228. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/luno.py +0 -0
  229. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/mercado.py +0 -0
  230. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/mexc.py +0 -0
  231. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/modetrade.py +0 -0
  232. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/myokx.py +0 -0
  233. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/ndax.py +0 -0
  234. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/novadax.py +0 -0
  235. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/oceanex.py +0 -0
  236. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/okcoin.py +0 -0
  237. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/okxus.py +0 -0
  238. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/onetrading.py +0 -0
  239. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/oxfun.py +0 -0
  240. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/p2b.py +0 -0
  241. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/paradex.py +0 -0
  242. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/paymium.py +0 -0
  243. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/phemex.py +0 -0
  244. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/poloniex.py +0 -0
  245. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/probit.py +0 -0
  246. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/timex.py +0 -0
  247. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/tokocrypto.py +0 -0
  248. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/tradeogre.py +0 -0
  249. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/upbit.py +0 -0
  250. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/vertex.py +0 -0
  251. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/whitebit.py +0 -0
  252. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/woofipro.py +0 -0
  253. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/xt.py +0 -0
  254. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/yobit.py +0 -0
  255. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/zaif.py +0 -0
  256. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/async_support/zonda.py +0 -0
  257. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/base/__init__.py +0 -0
  258. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/base/decimal_to_precision.py +0 -0
  259. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/base/precise.py +0 -0
  260. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/base/types.py +0 -0
  261. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bequant.py +0 -0
  262. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bigone.py +0 -0
  263. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/binance.py +0 -0
  264. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/binancecoinm.py +0 -0
  265. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/binanceus.py +0 -0
  266. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/binanceusdm.py +0 -0
  267. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bit2c.py +0 -0
  268. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bitbank.py +0 -0
  269. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bitbns.py +0 -0
  270. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bitfinex.py +0 -0
  271. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bitflyer.py +0 -0
  272. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bithumb.py +0 -0
  273. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bitmart.py +0 -0
  274. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bitmex.py +0 -0
  275. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bitopro.py +0 -0
  276. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bitrue.py +0 -0
  277. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bitso.py +0 -0
  278. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bitteam.py +0 -0
  279. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bittrade.py +0 -0
  280. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/bitvavo.py +0 -0
  281. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/blockchaincom.py +0 -0
  282. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/btcalpha.py +0 -0
  283. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/btcbox.py +0 -0
  284. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/btcmarkets.py +0 -0
  285. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/btcturk.py +0 -0
  286. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/cex.py +0 -0
  287. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/coinbaseadvanced.py +0 -0
  288. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/coinbaseexchange.py +0 -0
  289. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/coinbaseinternational.py +0 -0
  290. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/coincatch.py +0 -0
  291. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/coincheck.py +0 -0
  292. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/coinex.py +0 -0
  293. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/coinspot.py +0 -0
  294. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/cryptocom.py +0 -0
  295. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/cryptomus.py +0 -0
  296. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/defx.py +0 -0
  297. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/delta.py +0 -0
  298. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/deribit.py +0 -0
  299. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/derive.py +0 -0
  300. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/digifinex.py +0 -0
  301. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/ellipx.py +0 -0
  302. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/exmo.py +0 -0
  303. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/fmfwio.py +0 -0
  304. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/gateio.py +0 -0
  305. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/gemini.py +0 -0
  306. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/hashkey.py +0 -0
  307. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/hitbtc.py +0 -0
  308. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/hollaex.py +0 -0
  309. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/huobi.py +0 -0
  310. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/independentreserve.py +0 -0
  311. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/indodax.py +0 -0
  312. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/kraken.py +0 -0
  313. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/krakenfutures.py +0 -0
  314. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/kucoin.py +0 -0
  315. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/kucoinfutures.py +0 -0
  316. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/latoken.py +0 -0
  317. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/lbank.py +0 -0
  318. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/luno.py +0 -0
  319. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/mercado.py +0 -0
  320. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/mexc.py +0 -0
  321. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/modetrade.py +0 -0
  322. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/myokx.py +0 -0
  323. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/ndax.py +0 -0
  324. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/novadax.py +0 -0
  325. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/oceanex.py +0 -0
  326. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/okcoin.py +0 -0
  327. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/okxus.py +0 -0
  328. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/onetrading.py +0 -0
  329. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/oxfun.py +0 -0
  330. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/p2b.py +0 -0
  331. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/paradex.py +0 -0
  332. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/paymium.py +0 -0
  333. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/phemex.py +0 -0
  334. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/poloniex.py +0 -0
  335. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/alpaca.py +0 -0
  336. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/apex.py +0 -0
  337. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/ascendex.py +0 -0
  338. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/bequant.py +0 -0
  339. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/binance.py +0 -0
  340. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/binancecoinm.py +0 -0
  341. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/binanceus.py +0 -0
  342. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/binanceusdm.py +0 -0
  343. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/bingx.py +0 -0
  344. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/bitfinex.py +0 -0
  345. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/bitget.py +0 -0
  346. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/bithumb.py +0 -0
  347. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/bitmart.py +0 -0
  348. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/bitmex.py +0 -0
  349. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/bitopro.py +0 -0
  350. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/bitrue.py +0 -0
  351. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/bitstamp.py +0 -0
  352. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/bittrade.py +0 -0
  353. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/bitvavo.py +0 -0
  354. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/blockchaincom.py +0 -0
  355. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/blofin.py +0 -0
  356. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/bybit.py +0 -0
  357. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/cex.py +0 -0
  358. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/coinbase.py +0 -0
  359. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/coinbaseadvanced.py +0 -0
  360. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/coinbaseexchange.py +0 -0
  361. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/coinbaseinternational.py +0 -0
  362. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/coincatch.py +0 -0
  363. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/coincheck.py +0 -0
  364. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/coinex.py +0 -0
  365. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/coinone.py +0 -0
  366. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/cryptocom.py +0 -0
  367. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/defx.py +0 -0
  368. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/deribit.py +0 -0
  369. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/derive.py +0 -0
  370. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/exmo.py +0 -0
  371. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/gate.py +0 -0
  372. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/gateio.py +0 -0
  373. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/gemini.py +0 -0
  374. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/hashkey.py +0 -0
  375. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/hitbtc.py +0 -0
  376. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/hollaex.py +0 -0
  377. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/htx.py +0 -0
  378. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/huobi.py +0 -0
  379. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/independentreserve.py +0 -0
  380. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/krakenfutures.py +0 -0
  381. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/kucoin.py +0 -0
  382. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/kucoinfutures.py +0 -0
  383. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/lbank.py +0 -0
  384. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/luno.py +0 -0
  385. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/modetrade.py +0 -0
  386. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/myokx.py +0 -0
  387. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/ndax.py +0 -0
  388. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/okcoin.py +0 -0
  389. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/okx.py +0 -0
  390. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/okxus.py +0 -0
  391. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/onetrading.py +0 -0
  392. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/oxfun.py +0 -0
  393. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/p2b.py +0 -0
  394. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/paradex.py +0 -0
  395. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/phemex.py +0 -0
  396. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/poloniex.py +0 -0
  397. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/probit.py +0 -0
  398. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/tradeogre.py +0 -0
  399. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/upbit.py +0 -0
  400. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/vertex.py +0 -0
  401. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/whitebit.py +0 -0
  402. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/woo.py +0 -0
  403. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/woofipro.py +0 -0
  404. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/pro/xt.py +0 -0
  405. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/probit.py +0 -0
  406. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/__init__.py +0 -0
  407. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  408. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  409. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  410. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  411. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  412. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  413. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  414. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  415. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  416. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  417. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  418. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  419. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  420. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  421. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  422. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  423. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  424. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  425. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  426. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  427. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  428. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  429. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  430. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  431. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  432. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  433. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  434. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  435. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  436. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  437. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  438. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  439. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  440. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  441. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  442. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  443. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  444. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  445. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  446. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  447. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  448. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  449. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  450. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  451. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  452. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  453. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  454. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  455. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  456. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  457. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  458. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  459. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  460. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  461. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  462. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  463. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  464. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  465. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  466. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  467. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  468. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  469. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  470. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  471. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  472. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  473. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  474. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  475. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  476. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  477. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  478. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  479. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  480. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  481. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/__init__.py +0 -0
  482. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -0
  483. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -0
  484. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/ast_utils.py +0 -0
  485. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/common.py +0 -0
  486. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/exceptions.py +0 -0
  487. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/grammar.py +0 -0
  488. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
  489. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/indenter.py +0 -0
  490. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/lark.py +0 -0
  491. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/lexer.py +0 -0
  492. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/load_grammar.py +0 -0
  493. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -0
  494. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/parser_frontends.py +0 -0
  495. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
  496. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/parsers/cyk.py +0 -0
  497. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/parsers/earley.py +0 -0
  498. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -0
  499. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -0
  500. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -0
  501. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -0
  502. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -0
  503. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -0
  504. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -0
  505. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/parsers/xearley.py +0 -0
  506. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/py.typed +0 -0
  507. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/reconstruct.py +0 -0
  508. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/tools/__init__.py +0 -0
  509. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/tools/nearley.py +0 -0
  510. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/tools/serialize.py +0 -0
  511. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/tools/standalone.py +0 -0
  512. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/tree.py +0 -0
  513. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/tree_matcher.py +0 -0
  514. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/tree_templates.py +0 -0
  515. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/utils.py +0 -0
  516. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/lark/visitors.py +0 -0
  517. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow/__init__.py +0 -0
  518. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow/base.py +0 -0
  519. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow/class_registry.py +0 -0
  520. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow/decorators.py +0 -0
  521. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow/error_store.py +0 -0
  522. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow/exceptions.py +0 -0
  523. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow/fields.py +0 -0
  524. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow/orderedset.py +0 -0
  525. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow/py.typed +0 -0
  526. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow/schema.py +0 -0
  527. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow/types.py +0 -0
  528. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow/utils.py +0 -0
  529. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow/validate.py +0 -0
  530. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow/warnings.py +0 -0
  531. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -0
  532. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -0
  533. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -0
  534. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -0
  535. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  536. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -0
  537. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -0
  538. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -0
  539. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -0
  540. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  541. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  542. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  543. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  544. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  545. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  546. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  547. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  548. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  549. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  550. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  551. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/__init__.py +0 -0
  552. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
  553. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -0
  554. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
  555. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -0
  556. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -0
  557. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -0
  558. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/cairo/felt.py +0 -0
  559. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -0
  560. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
  561. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -0
  562. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
  563. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -0
  564. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -0
  565. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/common.py +0 -0
  566. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/constants.py +0 -0
  567. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
  568. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/hash/address.py +0 -0
  569. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -0
  570. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/hash/selector.py +0 -0
  571. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/hash/storage.py +0 -0
  572. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/hash/utils.py +0 -0
  573. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
  574. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/models/typed_data.py +0 -0
  575. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -0
  576. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -0
  577. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/_context.py +0 -0
  578. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -0
  579. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -0
  580. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -0
  581. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -0
  582. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -0
  583. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -0
  584. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -0
  585. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -0
  586. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -0
  587. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -0
  588. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -0
  589. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -0
  590. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -0
  591. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -0
  592. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -0
  593. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -0
  594. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -0
  595. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/errors.py +0 -0
  596. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/factory.py +0 -0
  597. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -0
  598. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -0
  599. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
  600. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -0
  601. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/utils/iterable.py +0 -0
  602. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/utils/schema.py +0 -0
  603. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -0
  604. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starkware/__init__.py +0 -0
  605. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
  606. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -0
  607. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -0
  608. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starkware/crypto/signature.py +0 -0
  609. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/starkware/crypto/utils.py +0 -0
  610. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/sympy/__init__.py +0 -0
  611. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
  612. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/sympy/core/intfunc.py +0 -0
  613. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
  614. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/sympy/external/gmpy.py +0 -0
  615. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/sympy/external/importtools.py +0 -0
  616. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/sympy/external/ntheory.py +0 -0
  617. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -0
  618. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  619. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  620. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/toolz/_version.py +0 -0
  621. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  622. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  623. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  624. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  625. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  626. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  627. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  628. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  629. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/toolz/utils.py +0 -0
  630. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
  631. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/static_dependencies/typing_inspect/typing_inspect.py +0 -0
  632. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/test/__init__.py +0 -0
  633. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/test/tests_helpers.py +0 -0
  634. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/test/tests_init.py +0 -0
  635. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/timex.py +0 -0
  636. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/tokocrypto.py +0 -0
  637. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/tradeogre.py +0 -0
  638. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/upbit.py +0 -0
  639. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/vertex.py +0 -0
  640. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/whitebit.py +0 -0
  641. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/woofipro.py +0 -0
  642. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/xt.py +0 -0
  643. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/yobit.py +0 -0
  644. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/zaif.py +0 -0
  645. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt/zonda.py +0 -0
  646. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt.egg-info/SOURCES.txt +0 -0
  647. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt.egg-info/dependency_links.txt +0 -0
  648. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt.egg-info/requires.txt +0 -0
  649. {ccxt-4.4.93 → ccxt-4.4.95}/ccxt.egg-info/top_level.txt +0 -0
  650. {ccxt-4.4.93 → ccxt-4.4.95}/setup.cfg +0 -0
  651. {ccxt-4.4.93 → ccxt-4.4.95}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.4.93
3
+ Version: 4.4.95
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
@@ -258,13 +258,13 @@ console.log(version, Object.keys(exchanges));
258
258
 
259
259
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
260
260
 
261
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.93/dist/ccxt.browser.min.js
262
- * unpkg: https://unpkg.com/ccxt@4.4.93/dist/ccxt.browser.min.js
261
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.95/dist/ccxt.browser.min.js
262
+ * unpkg: https://unpkg.com/ccxt@4.4.95/dist/ccxt.browser.min.js
263
263
 
264
264
  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.
265
265
 
266
266
  ```HTML
267
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.93/dist/ccxt.browser.min.js"></script>
267
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.95/dist/ccxt.browser.min.js"></script>
268
268
  ```
269
269
 
270
270
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.4.93'
25
+ __version__ = '4.4.95'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -153,6 +153,9 @@ class ImplicitAPI:
153
153
  copytrading_v1_private_post_swap_trace_settpsl = copyTradingV1PrivatePostSwapTraceSetTPSL = Entry('swap/trace/setTPSL', ['copyTrading', 'v1', 'private'], 'POST', {'cost': 2})
154
154
  copytrading_v1_private_post_spot_trader_sellorder = copyTradingV1PrivatePostSpotTraderSellOrder = Entry('spot/trader/sellOrder', ['copyTrading', 'v1', 'private'], 'POST', {'cost': 10})
155
155
  api_v3_private_get_asset_transfer = apiV3PrivateGetAssetTransfer = Entry('asset/transfer', ['api', 'v3', 'private'], 'GET', {'cost': 1})
156
+ api_v3_private_get_asset_transferrecord = apiV3PrivateGetAssetTransferRecord = Entry('asset/transferRecord', ['api', 'v3', 'private'], 'GET', {'cost': 5})
156
157
  api_v3_private_get_capital_deposit_hisrec = apiV3PrivateGetCapitalDepositHisrec = Entry('capital/deposit/hisrec', ['api', 'v3', 'private'], 'GET', {'cost': 1})
157
158
  api_v3_private_get_capital_withdraw_history = apiV3PrivateGetCapitalWithdrawHistory = Entry('capital/withdraw/history', ['api', 'v3', 'private'], 'GET', {'cost': 1})
158
159
  api_v3_private_post_post_asset_transfer = apiV3PrivatePostPostAssetTransfer = Entry('post/asset/transfer', ['api', 'v3', 'private'], 'POST', {'cost': 1})
160
+ api_asset_v1_private_post_transfer = apiAssetV1PrivatePostTransfer = Entry('transfer', ['api', 'asset', 'v1', 'private'], 'POST', {'cost': 5})
161
+ api_asset_v1_public_get_transfer_supportcoins = apiAssetV1PublicGetTransferSupportCoins = Entry('transfer/supportCoins', ['api', 'asset', 'v1', 'public'], 'GET', {'cost': 5})
@@ -2,5 +2,5 @@ from ccxt.base.types import Entry
2
2
 
3
3
 
4
4
  class ImplicitAPI:
5
- public_post_info = publicPostInfo = Entry('info', 'public', 'POST', {'cost': 20, 'byType': {'l2Book': 2, 'allMids': 2, 'clearinghouseState': 2, 'orderStatus': 2, 'spotClearinghouseState': 2, 'exchangeStatus': 2}})
5
+ public_post_info = publicPostInfo = Entry('info', 'public', 'POST', {'cost': 20, 'byType': {'l2Book': 2, 'allMids': 2, 'clearinghouseState': 2, 'orderStatus': 2, 'spotClearinghouseState': 2, 'exchangeStatus': 2, 'candleSnapshot': 3}})
6
6
  private_post_exchange = privatePostExchange = Entry('exchange', 'private', 'POST', {'cost': 1})
@@ -60,26 +60,81 @@ class ImplicitAPI:
60
60
  v1_private_delete_orders = v1PrivateDeleteOrders = Entry('orders', ['v1', 'private'], 'DELETE', {'cost': 1})
61
61
  v1_private_delete_asset_withdraw = v1PrivateDeleteAssetWithdraw = Entry('asset/withdraw', ['v1', 'private'], 'DELETE', {'cost': 120})
62
62
  v2_private_get_client_holding = v2PrivateGetClientHolding = Entry('client/holding', ['v2', 'private'], 'GET', {'cost': 1})
63
- v3_public_get_insurancefund = v3PublicGetInsuranceFund = Entry('insuranceFund', ['v3', 'public'], 'GET', {'cost': 3})
63
+ v3_public_get_systeminfo = v3PublicGetSystemInfo = Entry('systemInfo', ['v3', 'public'], 'GET', {'cost': 1})
64
+ v3_public_get_instruments = v3PublicGetInstruments = Entry('instruments', ['v3', 'public'], 'GET', {'cost': 1})
65
+ v3_public_get_token = v3PublicGetToken = Entry('token', ['v3', 'public'], 'GET', {'cost': 1})
66
+ v3_public_get_tokennetwork = v3PublicGetTokenNetwork = Entry('tokenNetwork', ['v3', 'public'], 'GET', {'cost': 1})
67
+ v3_public_get_tokeninfo = v3PublicGetTokenInfo = Entry('tokenInfo', ['v3', 'public'], 'GET', {'cost': 1})
68
+ v3_public_get_markettrades = v3PublicGetMarketTrades = Entry('marketTrades', ['v3', 'public'], 'GET', {'cost': 1})
69
+ v3_public_get_markettradeshistory = v3PublicGetMarketTradesHistory = Entry('marketTradesHistory', ['v3', 'public'], 'GET', {'cost': 1})
70
+ v3_public_get_orderbook = v3PublicGetOrderbook = Entry('orderbook', ['v3', 'public'], 'GET', {'cost': 1})
71
+ v3_public_get_kline = v3PublicGetKline = Entry('kline', ['v3', 'public'], 'GET', {'cost': 1})
72
+ v3_public_get_klinehistory = v3PublicGetKlineHistory = Entry('klineHistory', ['v3', 'public'], 'GET', {'cost': 1})
73
+ v3_public_get_futures = v3PublicGetFutures = Entry('futures', ['v3', 'public'], 'GET', {'cost': 1})
74
+ v3_public_get_fundingrate = v3PublicGetFundingRate = Entry('fundingRate', ['v3', 'public'], 'GET', {'cost': 1})
75
+ v3_public_get_fundingratehistory = v3PublicGetFundingRateHistory = Entry('fundingRateHistory', ['v3', 'public'], 'GET', {'cost': 1})
76
+ v3_public_get_insurancefund = v3PublicGetInsuranceFund = Entry('insuranceFund', ['v3', 'public'], 'GET', {'cost': 1})
77
+ v3_private_get_trade_order = v3PrivateGetTradeOrder = Entry('trade/order', ['v3', 'private'], 'GET', {'cost': 2})
78
+ v3_private_get_trade_orders = v3PrivateGetTradeOrders = Entry('trade/orders', ['v3', 'private'], 'GET', {'cost': 1})
79
+ v3_private_get_trade_algoorder = v3PrivateGetTradeAlgoOrder = Entry('trade/algoOrder', ['v3', 'private'], 'GET', {'cost': 1})
80
+ v3_private_get_trade_algoorders = v3PrivateGetTradeAlgoOrders = Entry('trade/algoOrders', ['v3', 'private'], 'GET', {'cost': 1})
81
+ v3_private_get_trade_transaction = v3PrivateGetTradeTransaction = Entry('trade/transaction', ['v3', 'private'], 'GET', {'cost': 1})
82
+ v3_private_get_trade_transactionhistory = v3PrivateGetTradeTransactionHistory = Entry('trade/transactionHistory', ['v3', 'private'], 'GET', {'cost': 5})
83
+ v3_private_get_trade_tradingfee = v3PrivateGetTradeTradingFee = Entry('trade/tradingFee', ['v3', 'private'], 'GET', {'cost': 5})
84
+ v3_private_get_account_info = v3PrivateGetAccountInfo = Entry('account/info', ['v3', 'private'], 'GET', {'cost': 60})
85
+ v3_private_get_account_tokenconfig = v3PrivateGetAccountTokenConfig = Entry('account/tokenConfig', ['v3', 'private'], 'GET', {'cost': 1})
86
+ v3_private_get_account_symbolconfig = v3PrivateGetAccountSymbolConfig = Entry('account/symbolConfig', ['v3', 'private'], 'GET', {'cost': 1})
87
+ v3_private_get_account_subaccounts_all = v3PrivateGetAccountSubAccountsAll = Entry('account/subAccounts/all', ['v3', 'private'], 'GET', {'cost': 60})
88
+ v3_private_get_account_referral_summary = v3PrivateGetAccountReferralSummary = Entry('account/referral/summary', ['v3', 'private'], 'GET', {'cost': 60})
89
+ v3_private_get_account_referral_rewardhistory = v3PrivateGetAccountReferralRewardHistory = Entry('account/referral/rewardHistory', ['v3', 'private'], 'GET', {'cost': 60})
90
+ v3_private_get_account_credentials = v3PrivateGetAccountCredentials = Entry('account/credentials', ['v3', 'private'], 'GET', {'cost': 60})
91
+ v3_private_get_asset_balances = v3PrivateGetAssetBalances = Entry('asset/balances', ['v3', 'private'], 'GET', {'cost': 1})
92
+ v3_private_get_asset_token_history = v3PrivateGetAssetTokenHistory = Entry('asset/token/history', ['v3', 'private'], 'GET', {'cost': 60})
93
+ v3_private_get_asset_transfer_history = v3PrivateGetAssetTransferHistory = Entry('asset/transfer/history', ['v3', 'private'], 'GET', {'cost': 30})
94
+ v3_private_get_asset_wallet_history = v3PrivateGetAssetWalletHistory = Entry('asset/wallet/history', ['v3', 'private'], 'GET', {'cost': 60})
95
+ v3_private_get_asset_wallet_deposit = v3PrivateGetAssetWalletDeposit = Entry('asset/wallet/deposit', ['v3', 'private'], 'GET', {'cost': 60})
96
+ v3_private_get_asset_staking_yieldhistory = v3PrivateGetAssetStakingYieldHistory = Entry('asset/staking/yieldHistory', ['v3', 'private'], 'GET', {'cost': 60})
97
+ v3_private_get_futures_positions = v3PrivateGetFuturesPositions = Entry('futures/positions', ['v3', 'private'], 'GET', {'cost': 3.33})
98
+ v3_private_get_futures_leverage = v3PrivateGetFuturesLeverage = Entry('futures/leverage', ['v3', 'private'], 'GET', {'cost': 60})
99
+ v3_private_get_futures_defaultmarginmode = v3PrivateGetFuturesDefaultMarginMode = Entry('futures/defaultMarginMode', ['v3', 'private'], 'GET', {'cost': 60})
100
+ v3_private_get_futures_fundingfee_history = v3PrivateGetFuturesFundingFeeHistory = Entry('futures/fundingFee/history', ['v3', 'private'], 'GET', {'cost': 30})
101
+ v3_private_get_spotmargin_interestrate = v3PrivateGetSpotMarginInterestRate = Entry('spotMargin/interestRate', ['v3', 'private'], 'GET', {'cost': 60})
102
+ v3_private_get_spotmargin_interesthistory = v3PrivateGetSpotMarginInterestHistory = Entry('spotMargin/interestHistory', ['v3', 'private'], 'GET', {'cost': 60})
103
+ v3_private_get_spotmargin_maxmargin = v3PrivateGetSpotMarginMaxMargin = Entry('spotMargin/maxMargin', ['v3', 'private'], 'GET', {'cost': 60})
64
104
  v3_private_get_algo_order_oid = v3PrivateGetAlgoOrderOid = Entry('algo/order/{oid}', ['v3', 'private'], 'GET', {'cost': 1})
65
105
  v3_private_get_algo_orders = v3PrivateGetAlgoOrders = Entry('algo/orders', ['v3', 'private'], 'GET', {'cost': 1})
66
106
  v3_private_get_balances = v3PrivateGetBalances = Entry('balances', ['v3', 'private'], 'GET', {'cost': 1})
67
- v3_private_get_accountinfo = v3PrivateGetAccountinfo = Entry('accountinfo', ['v3', 'private'], 'GET', {'cost': 60})
68
107
  v3_private_get_positions = v3PrivateGetPositions = Entry('positions', ['v3', 'private'], 'GET', {'cost': 3.33})
69
108
  v3_private_get_buypower = v3PrivateGetBuypower = Entry('buypower', ['v3', 'private'], 'GET', {'cost': 1})
70
- v3_private_get_referrals = v3PrivateGetReferrals = Entry('referrals', ['v3', 'private'], 'GET', {'cost': 60})
71
- v3_private_get_referral_rewards = v3PrivateGetReferralRewards = Entry('referral_rewards', ['v3', 'private'], 'GET', {'cost': 60})
72
109
  v3_private_get_convert_exchangeinfo = v3PrivateGetConvertExchangeInfo = Entry('convert/exchangeInfo', ['v3', 'private'], 'GET', {'cost': 1})
73
110
  v3_private_get_convert_assetinfo = v3PrivateGetConvertAssetInfo = Entry('convert/assetInfo', ['v3', 'private'], 'GET', {'cost': 1})
74
111
  v3_private_get_convert_rfq = v3PrivateGetConvertRfq = Entry('convert/rfq', ['v3', 'private'], 'GET', {'cost': 60})
75
112
  v3_private_get_convert_trade = v3PrivateGetConvertTrade = Entry('convert/trade', ['v3', 'private'], 'GET', {'cost': 1})
76
113
  v3_private_get_convert_trades = v3PrivateGetConvertTrades = Entry('convert/trades', ['v3', 'private'], 'GET', {'cost': 1})
114
+ v3_private_post_trade_order = v3PrivatePostTradeOrder = Entry('trade/order', ['v3', 'private'], 'POST', {'cost': 2})
115
+ v3_private_post_trade_algoorder = v3PrivatePostTradeAlgoOrder = Entry('trade/algoOrder', ['v3', 'private'], 'POST', {'cost': 5})
116
+ v3_private_post_trade_cancelallafter = v3PrivatePostTradeCancelAllAfter = Entry('trade/cancelAllAfter', ['v3', 'private'], 'POST', {'cost': 1})
117
+ v3_private_post_account_tradingmode = v3PrivatePostAccountTradingMode = Entry('account/tradingMode', ['v3', 'private'], 'POST', {'cost': 120})
118
+ v3_private_post_account_listenkey = v3PrivatePostAccountListenKey = Entry('account/listenKey', ['v3', 'private'], 'POST', {'cost': 20})
119
+ v3_private_post_asset_transfer = v3PrivatePostAssetTransfer = Entry('asset/transfer', ['v3', 'private'], 'POST', {'cost': 30})
120
+ v3_private_post_asset_wallet_withdraw = v3PrivatePostAssetWalletWithdraw = Entry('asset/wallet/withdraw', ['v3', 'private'], 'POST', {'cost': 60})
121
+ v3_private_post_spotmargin_leverage = v3PrivatePostSpotMarginLeverage = Entry('spotMargin/leverage', ['v3', 'private'], 'POST', {'cost': 120})
122
+ v3_private_post_spotmargin_interestrepay = v3PrivatePostSpotMarginInterestRepay = Entry('spotMargin/interestRepay', ['v3', 'private'], 'POST', {'cost': 60})
77
123
  v3_private_post_algo_order = v3PrivatePostAlgoOrder = Entry('algo/order', ['v3', 'private'], 'POST', {'cost': 5})
78
124
  v3_private_post_convert_rft = v3PrivatePostConvertRft = Entry('convert/rft', ['v3', 'private'], 'POST', {'cost': 60})
125
+ v3_private_put_trade_order = v3PrivatePutTradeOrder = Entry('trade/order', ['v3', 'private'], 'PUT', {'cost': 2})
126
+ v3_private_put_trade_algoorder = v3PrivatePutTradeAlgoOrder = Entry('trade/algoOrder', ['v3', 'private'], 'PUT', {'cost': 2})
127
+ v3_private_put_futures_leverage = v3PrivatePutFuturesLeverage = Entry('futures/leverage', ['v3', 'private'], 'PUT', {'cost': 60})
128
+ v3_private_put_futures_positionmode = v3PrivatePutFuturesPositionMode = Entry('futures/positionMode', ['v3', 'private'], 'PUT', {'cost': 120})
79
129
  v3_private_put_order_oid = v3PrivatePutOrderOid = Entry('order/{oid}', ['v3', 'private'], 'PUT', {'cost': 2})
80
130
  v3_private_put_order_client_client_order_id = v3PrivatePutOrderClientClientOrderId = Entry('order/client/{client_order_id}', ['v3', 'private'], 'PUT', {'cost': 2})
81
131
  v3_private_put_algo_order_oid = v3PrivatePutAlgoOrderOid = Entry('algo/order/{oid}', ['v3', 'private'], 'PUT', {'cost': 2})
82
132
  v3_private_put_algo_order_client_client_order_id = v3PrivatePutAlgoOrderClientClientOrderId = Entry('algo/order/client/{client_order_id}', ['v3', 'private'], 'PUT', {'cost': 2})
133
+ v3_private_delete_trade_order = v3PrivateDeleteTradeOrder = Entry('trade/order', ['v3', 'private'], 'DELETE', {'cost': 1})
134
+ v3_private_delete_trade_orders = v3PrivateDeleteTradeOrders = Entry('trade/orders', ['v3', 'private'], 'DELETE', {'cost': 1})
135
+ v3_private_delete_trade_algoorder = v3PrivateDeleteTradeAlgoOrder = Entry('trade/algoOrder', ['v3', 'private'], 'DELETE', {'cost': 1})
136
+ v3_private_delete_trade_algoorders = v3PrivateDeleteTradeAlgoOrders = Entry('trade/algoOrders', ['v3', 'private'], 'DELETE', {'cost': 1})
137
+ v3_private_delete_trade_allorders = v3PrivateDeleteTradeAllOrders = Entry('trade/allOrders', ['v3', 'private'], 'DELETE', {'cost': 1})
83
138
  v3_private_delete_algo_order_order_id = v3PrivateDeleteAlgoOrderOrderId = Entry('algo/order/{order_id}', ['v3', 'private'], 'DELETE', {'cost': 1})
84
139
  v3_private_delete_algo_orders_pending = v3PrivateDeleteAlgoOrdersPending = Entry('algo/orders/pending', ['v3', 'private'], 'DELETE', {'cost': 1})
85
140
  v3_private_delete_algo_orders_pending_symbol = v3PrivateDeleteAlgoOrdersPendingSymbol = Entry('algo/orders/pending/{symbol}', ['v3', 'private'], 'DELETE', {'cost': 1})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.4.93'
7
+ __version__ = '4.4.95'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.4.93'
5
+ __version__ = '4.4.95'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -36,6 +36,8 @@ class Future(asyncio.Future):
36
36
  elif cancelled:
37
37
  future.cancel()
38
38
  else:
39
+ if future.cancelled():
40
+ return
39
41
  first_result = list(complete)[0].result()
40
42
  future.set_result(first_result)
41
43
  task.add_done_callback(callback)
@@ -128,6 +128,7 @@ class bingx(Exchange, ImplicitAPI):
128
128
  'account': 'https://open-api.{hostname}/openApi',
129
129
  'copyTrading': 'https://open-api.{hostname}/openApi',
130
130
  'cswap': 'https://open-api.{hostname}/openApi',
131
+ 'api': 'https://open-api.{hostname}/openApi',
131
132
  },
132
133
  'test': {
133
134
  'swap': 'https://open-api-vst.{hostname}/openApi', # only swap is really "test" but since the API keys are the same, we want to keep all the functionalities when the user enables the sandboxmode
@@ -457,6 +458,7 @@ class bingx(Exchange, ImplicitAPI):
457
458
  'private': {
458
459
  'get': {
459
460
  'asset/transfer': 1,
461
+ 'asset/transferRecord': 5,
460
462
  'capital/deposit/hisrec': 1,
461
463
  'capital/withdraw/history': 1,
462
464
  },
@@ -465,6 +467,20 @@ class bingx(Exchange, ImplicitAPI):
465
467
  },
466
468
  },
467
469
  },
470
+ 'asset': {
471
+ 'v1': {
472
+ 'private': {
473
+ 'post': {
474
+ 'transfer': 5,
475
+ },
476
+ },
477
+ 'public': {
478
+ 'get': {
479
+ 'transfer/supportCoins': 5,
480
+ },
481
+ },
482
+ },
483
+ },
468
484
  },
469
485
  },
470
486
  'timeframes': {
@@ -529,16 +545,19 @@ class bingx(Exchange, ImplicitAPI):
529
545
  'options': {
530
546
  'defaultType': 'spot',
531
547
  'accountsByType': {
532
- 'funding': 'FUND',
533
- 'spot': 'SPOT',
534
- 'swap': 'PFUTURES',
535
- 'future': 'SFUTURES',
548
+ 'funding': 'fund',
549
+ 'spot': 'spot',
550
+ 'future': 'stdFutures',
551
+ 'swap': 'USDTMPerp',
552
+ 'linear': 'USDTMPerp',
553
+ 'inverse': 'coinMPerp',
536
554
  },
537
555
  'accountsById': {
538
- 'FUND': 'funding',
539
- 'SPOT': 'spot',
540
- 'PFUTURES': 'swap',
541
- 'SFUTURES': 'future',
556
+ 'fund': 'funding',
557
+ 'spot': 'spot',
558
+ 'stdFutures': 'future',
559
+ 'USDTMPerp': 'linear',
560
+ 'coinMPerp': 'inverse',
542
561
  },
543
562
  'recvWindow': 5 * 1000, # 5 sec
544
563
  'broker': 'CCXT',
@@ -780,6 +799,10 @@ class bingx(Exchange, ImplicitAPI):
780
799
  'min': self.safe_number(rawNetwork, 'withdrawMin'),
781
800
  'max': self.safe_number(rawNetwork, 'withdrawMax'),
782
801
  },
802
+ 'deposit': {
803
+ 'min': self.safe_number(rawNetwork, 'depositMin'),
804
+ 'max': None,
805
+ },
783
806
  }
784
807
  precision = self.parse_number(self.parse_precision(self.safe_string(rawNetwork, 'withdrawPrecision')))
785
808
  networks[networkCode] = {
@@ -793,20 +816,35 @@ class bingx(Exchange, ImplicitAPI):
793
816
  'precision': precision,
794
817
  'limits': limits,
795
818
  }
796
- result[code] = self.safe_currency_structure({
797
- 'info': entry,
798
- 'code': code,
799
- 'id': currencyId,
800
- 'precision': None,
801
- 'name': name,
802
- 'active': None,
803
- 'deposit': None,
804
- 'withdraw': None,
805
- 'networks': networks,
806
- 'fee': None,
807
- 'limits': None,
808
- 'type': 'crypto', # only cryptos now
809
- })
819
+ if not (code in result): # the exchange could return the same currency with different networks
820
+ result[code] = {
821
+ 'info': entry,
822
+ 'code': code,
823
+ 'id': currencyId,
824
+ 'precision': None,
825
+ 'name': name,
826
+ 'active': None,
827
+ 'deposit': None,
828
+ 'withdraw': None,
829
+ 'networks': networks,
830
+ 'fee': None,
831
+ 'limits': None,
832
+ 'type': 'crypto', # only cryptos now
833
+ }
834
+ else:
835
+ existing = result[code]
836
+ existingNetworks = self.safe_dict(existing, 'networks', {})
837
+ newNetworkCodes = list(networks.keys())
838
+ for j in range(0, len(newNetworkCodes)):
839
+ newNetworkCode = newNetworkCodes[j]
840
+ if not (newNetworkCode in existingNetworks):
841
+ existingNetworks[newNetworkCode] = networks[newNetworkCode]
842
+ result[code]['networks'] = existingNetworks
843
+ codes = list(result.keys())
844
+ for i in range(0, len(codes)):
845
+ code = codes[i]
846
+ currency = result[code]
847
+ result[code] = self.safe_currency_structure(currency)
810
848
  return result
811
849
 
812
850
  async def fetch_spot_markets(self, params) -> List[Market]:
@@ -4642,26 +4680,39 @@ class bingx(Exchange, ImplicitAPI):
4642
4680
  """
4643
4681
  transfer currency internally between wallets on the same account
4644
4682
 
4645
- https://bingx-api.github.io/docs/#/en-us/common/account-api.html#Asset%20Transfer
4683
+ https://bingx-api.github.io/docs/#/en-us/common/account-api.html#Asset%20Transfer%20New
4646
4684
 
4647
4685
  :param str code: unified currency code
4648
4686
  :param float amount: amount to transfer
4649
4687
  :param str fromAccount: account to transfer from(spot, swap, futures, or funding)
4650
- :param str toAccount: account to transfer to(spot, swap, futures, or funding)
4688
+ :param str toAccount: account to transfer to(spot, swap(linear or inverse), future, or funding)
4651
4689
  :param dict [params]: extra parameters specific to the exchange API endpoint
4652
4690
  :returns dict: a `transfer structure <https://docs.ccxt.com/#/?id=transfer-structure>`
4653
4691
  """
4654
4692
  await self.load_markets()
4655
4693
  currency = self.currency(code)
4656
4694
  accountsByType = self.safe_dict(self.options, 'accountsByType', {})
4695
+ subType = None
4696
+ subType, params = self.handle_sub_type_and_params('transfer', None, params)
4657
4697
  fromId = self.safe_string(accountsByType, fromAccount, fromAccount)
4658
4698
  toId = self.safe_string(accountsByType, toAccount, toAccount)
4699
+ if fromId == 'swap':
4700
+ if subType == 'inverse':
4701
+ fromId = 'coinMPerp'
4702
+ else:
4703
+ fromId = 'USDTMPerp'
4704
+ if toId == 'swap':
4705
+ if subType == 'inverse':
4706
+ toId = 'coinMPerp'
4707
+ else:
4708
+ toId = 'USDTMPerp'
4659
4709
  request: dict = {
4710
+ 'fromAccount': fromId,
4711
+ 'toAccount': toId,
4660
4712
  'asset': currency['id'],
4661
4713
  'amount': self.currency_to_precision(code, amount),
4662
- 'type': fromId + '_' + toId,
4663
4714
  }
4664
- response = await self.spotV3PrivateGetGetAssetTransfer(self.extend(request, params))
4715
+ response = await self.apiAssetV1PrivatePostTransfer(self.extend(request, params))
4665
4716
  #
4666
4717
  # {
4667
4718
  # "tranId": 1933130865269936128,
@@ -4670,7 +4721,7 @@ class bingx(Exchange, ImplicitAPI):
4670
4721
  #
4671
4722
  return {
4672
4723
  'info': response,
4673
- 'id': self.safe_string(response, 'tranId'),
4724
+ 'id': self.safe_string(response, 'transferId'),
4674
4725
  'timestamp': None,
4675
4726
  'datetime': None,
4676
4727
  'currency': code,
@@ -4684,18 +4735,19 @@ class bingx(Exchange, ImplicitAPI):
4684
4735
  """
4685
4736
  fetch a history of internal transfers made on an account
4686
4737
 
4687
- https://bingx-api.github.io/docs/#/spot/account-api.html#Query%20User%20Universal%20Transfer%20History%20(USER_DATA)
4738
+ https://bingx-api.github.io/docs/#/en-us/common/account-api.html#Asset%20transfer%20records%20new
4688
4739
 
4689
4740
  :param str [code]: unified currency code of the currency transferred
4690
4741
  :param int [since]: the earliest time in ms to fetch transfers for
4691
4742
  :param int [limit]: the maximum number of transfers structures to retrieve(default 10, max 100)
4692
4743
  :param dict [params]: extra parameters specific to the exchange API endpoint
4693
- :param str params.fromAccount:(mandatory) transfer from(spot, swap, futures, or funding)
4694
- :param str params.toAccount:(mandatory) transfer to(spot, swap, futures, or funding)
4744
+ :param str params.fromAccount:(mandatory) transfer from(spot, swap(linear or inverse), future, or funding)
4745
+ :param str params.toAccount:(mandatory) transfer to(spot, swap(linear or inverse), future, or funding)
4695
4746
  :param boolean [params.paginate]: whether to paginate the results(default False)
4696
4747
  :returns dict[]: a list of `transfer structures <https://docs.ccxt.com/#/?id=transfer-structure>`
4697
4748
  """
4698
4749
  await self.load_markets()
4750
+ request: dict = {}
4699
4751
  currency = None
4700
4752
  if code is not None:
4701
4753
  currency = self.currency(code)
@@ -4705,34 +4757,36 @@ class bingx(Exchange, ImplicitAPI):
4705
4757
  fromId = self.safe_string(accountsByType, fromAccount, fromAccount)
4706
4758
  toId = self.safe_string(accountsByType, toAccount, toAccount)
4707
4759
  if fromId is None or toId is None:
4708
- raise ExchangeError(self.id + ' fromAccount & toAccount parameter are required')
4760
+ raise ExchangeError(self.id + ' fromAccount & toAccount parameters are required')
4761
+ if fromAccount is not None:
4762
+ request['fromAccount'] = fromId
4763
+ if toAccount is not None:
4764
+ request['toAccount'] = toId
4709
4765
  params = self.omit(params, ['fromAccount', 'toAccount'])
4710
4766
  maxLimit = 100
4711
4767
  paginate = False
4712
4768
  paginate, params = self.handle_option_and_params(params, 'fetchTransfers', 'paginate', False)
4713
4769
  if paginate:
4714
4770
  return await self.fetch_paginated_call_dynamic('fetchTransfers', None, since, limit, params, maxLimit)
4715
- request: dict = {
4716
- 'type': fromId + '_' + toId,
4717
- }
4718
4771
  if since is not None:
4719
4772
  request['startTime'] = since
4720
4773
  if limit is not None:
4721
- request['size'] = limit
4774
+ request['pageSize'] = limit
4722
4775
  request, params = self.handle_until_option('endTime', request, params)
4723
- response = await self.spotV3PrivateGetAssetTransfer(self.extend(request, params))
4776
+ response = await self.apiV3PrivateGetAssetTransferRecord(self.extend(request, params))
4724
4777
  #
4725
4778
  # {
4726
- # "total": 3,
4779
+ # "total": 2,
4727
4780
  # "rows": [
4728
4781
  # {
4729
- # "asset": "USDT",
4730
- # "amount": "100.00000000000000000000",
4731
- # "type": "FUND_SFUTURES",
4782
+ # "asset": "LTC",
4783
+ # "amount": "0.05000000000000000000",
4732
4784
  # "status": "CONFIRMED",
4733
- # "tranId": 1067594500957016069,
4734
- # "timestamp": 1658388859000
4735
- # },
4785
+ # "transferId": "1051461075661819338791",
4786
+ # "timestamp": 1752202092000,
4787
+ # "fromAccount": "spot",
4788
+ # "toAccount": "USDTMPerp"
4789
+ # }
4736
4790
  # ]
4737
4791
  # }
4738
4792
  #
@@ -4740,15 +4794,14 @@ class bingx(Exchange, ImplicitAPI):
4740
4794
  return self.parse_transfers(rows, currency, since, limit)
4741
4795
 
4742
4796
  def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
4743
- tranId = self.safe_string(transfer, 'tranId')
4797
+ tranId = self.safe_string(transfer, 'transferId')
4744
4798
  timestamp = self.safe_integer(transfer, 'timestamp')
4745
- currencyCode = self.safe_currency_code(None, currency)
4799
+ currencyId = self.safe_string(transfer, 'asset')
4800
+ currencyCode = self.safe_currency_code(currencyId, currency)
4746
4801
  status = self.safe_string(transfer, 'status')
4747
4802
  accountsById = self.safe_dict(self.options, 'accountsById', {})
4748
- typeId = self.safe_string(transfer, 'type')
4749
- typeIdSplit = typeId.split('_')
4750
- fromId = self.safe_string(typeIdSplit, 0)
4751
- toId = self.safe_string(typeIdSplit, 1)
4803
+ fromId = self.safe_string(transfer, 'fromAccount')
4804
+ toId = self.safe_string(transfer, 'toAccount')
4752
4805
  fromAccount = self.safe_string(accountsById, fromId, fromId)
4753
4806
  toAccount = self.safe_string(accountsById, toId, toId)
4754
4807
  return {
@@ -5459,37 +5512,13 @@ class bingx(Exchange, ImplicitAPI):
5459
5512
 
5460
5513
  def parse_deposit_withdraw_fee(self, fee, currency: Currency = None):
5461
5514
  #
5462
- # {
5463
- # "coin": "BTC",
5464
- # "name": "BTC",
5465
- # "networkList": [
5466
- # {
5467
- # "name": "BTC",
5468
- # "network": "BTC",
5469
- # "isDefault": True,
5470
- # "minConfirm": "2",
5471
- # "withdrawEnable": True,
5472
- # "withdrawFee": "0.00035",
5473
- # "withdrawMax": "1.62842",
5474
- # "withdrawMin": "0.0005"
5475
- # },
5476
- # {
5477
- # "name": "BTC",
5478
- # "network": "BEP20",
5479
- # "isDefault": False,
5480
- # "minConfirm": "15",
5481
- # "withdrawEnable": True,
5482
- # "withdrawFee": "0.00001",
5483
- # "withdrawMax": "1.62734",
5484
- # "withdrawMin": "0.0001"
5485
- # }
5486
- # ]
5487
- # }
5515
+ # currencie structure
5488
5516
  #
5489
- networkList = self.safe_list(fee, 'networkList', [])
5490
- networkListLength = len(networkList)
5517
+ networks = self.safe_dict(fee, 'networks', {})
5518
+ networkCodes = list(networks.keys())
5519
+ networksLength = len(networkCodes)
5491
5520
  result: dict = {
5492
- 'info': fee,
5521
+ 'info': networks,
5493
5522
  'withdraw': {
5494
5523
  'fee': None,
5495
5524
  'percentage': None,
@@ -5500,18 +5529,15 @@ class bingx(Exchange, ImplicitAPI):
5500
5529
  },
5501
5530
  'networks': {},
5502
5531
  }
5503
- if networkListLength != 0:
5504
- for i in range(0, networkListLength):
5505
- network = networkList[i]
5506
- networkId = self.safe_string(network, 'network')
5507
- isDefault = self.safe_bool(network, 'isDefault')
5508
- currencyCode = self.safe_string(currency, 'code')
5509
- networkCode = self.network_id_to_code(networkId, currencyCode)
5532
+ if networksLength != 0:
5533
+ for i in range(0, networksLength):
5534
+ networkCode = networkCodes[i]
5535
+ network = networks[networkCode]
5510
5536
  result['networks'][networkCode] = {
5511
5537
  'deposit': {'fee': None, 'percentage': None},
5512
- 'withdraw': {'fee': self.safe_number(network, 'withdrawFee'), 'percentage': False},
5538
+ 'withdraw': {'fee': self.safe_number(network, 'fee'), 'percentage': False},
5513
5539
  }
5514
- if isDefault:
5540
+ if networksLength == 1:
5515
5541
  result['withdraw']['fee'] = self.safe_number(network, 'withdrawFee')
5516
5542
  result['withdraw']['percentage'] = False
5517
5543
  return result
@@ -5527,9 +5553,15 @@ class bingx(Exchange, ImplicitAPI):
5527
5553
  :returns dict: a list of `fee structures <https://docs.ccxt.com/#/?id=fee-structure>`
5528
5554
  """
5529
5555
  await self.load_markets()
5530
- response = await self.walletsV1PrivateGetCapitalConfigGetall(params)
5531
- coins = self.safe_list(response, 'data')
5532
- return self.parse_deposit_withdraw_fees(coins, codes, 'coin')
5556
+ response = await self.fetch_currencies(params)
5557
+ depositWithdrawFees: dict = {}
5558
+ responseCodes = list(response.keys())
5559
+ for i in range(0, len(responseCodes)):
5560
+ code = responseCodes[i]
5561
+ if (codes is None) or (self.in_array(code, codes)):
5562
+ entry = response[code]
5563
+ depositWithdrawFees[code] = self.parse_deposit_withdraw_fee(entry)
5564
+ return depositWithdrawFees
5533
5565
 
5534
5566
  async def withdraw(self, code: str, amount: float, address: str, tag=None, params={}) -> Transaction:
5535
5567
  """
@@ -6229,8 +6261,13 @@ class bingx(Exchange, ImplicitAPI):
6229
6261
  raise NotSupported(self.id + ' does not have a testnet/sandbox URL for ' + type + ' endpoints')
6230
6262
  url = self.implode_hostname(self.urls['api'][type])
6231
6263
  path = self.implode_params(path, params)
6232
- if version == 'transfer':
6233
- type = 'account/transfer'
6264
+ versionIsTransfer = (version == 'transfer')
6265
+ versionIsAsset = (version == 'asset')
6266
+ if versionIsTransfer or versionIsAsset:
6267
+ if versionIsTransfer:
6268
+ type = 'account/transfer'
6269
+ else:
6270
+ type = 'api/asset'
6234
6271
  version = section[2]
6235
6272
  access = section[3]
6236
6273
  if path != 'account/apiPermissions':
@@ -1998,7 +1998,7 @@ class bitget(Exchange, ImplicitAPI):
1998
1998
  'cross': hasCrossMargin,
1999
1999
  'isolated': hasIsolatedMargin,
2000
2000
  }
2001
- isMarginTradingAllowed = hasCrossMargin or hasCrossMargin
2001
+ isMarginTradingAllowed = hasCrossMargin or hasIsolatedMargin
2002
2002
  else:
2003
2003
  if symbolType == 'perpetual':
2004
2004
  type = 'swap'
@@ -11,6 +11,7 @@ from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import AuthenticationError
13
13
  from ccxt.base.errors import PermissionDenied
14
+ from ccxt.base.errors import AccountSuspended
14
15
  from ccxt.base.errors import BadRequest
15
16
  from ccxt.base.errors import InsufficientFunds
16
17
  from ccxt.base.errors import InvalidAddress
@@ -531,6 +532,7 @@ class bitstamp(Exchange, ImplicitAPI):
531
532
  "Bitstamp.net is under scheduled maintenance. We'll be back soon.": OnMaintenance, # {"error": "Bitstamp.net is under scheduled maintenance. We'll be back soon."}
532
533
  'Order could not be placed.': ExchangeNotAvailable, # Order could not be placed(perhaps due to internal error or trade halt). Please retry placing order.
533
534
  'Invalid offset.': BadRequest,
535
+ 'Trading is currently unavailable for your account.': AccountSuspended, # {"status": "error", "reason": {"__all__": ["Trading is currently unavailable for your account."]}, "response_code": "403.004"}
534
536
  },
535
537
  'broad': {
536
538
  'Minimum order size is': InvalidOrder, # Minimum order size is 5.0 EUR.
@@ -904,6 +904,7 @@ class blofin(Exchange, ImplicitAPI):
904
904
  :param int [limit]: the maximum amount of `funding rate structures <https://docs.ccxt.com/#/?id=funding-rate-history-structure>` to fetch
905
905
  :param dict [params]: extra parameters specific to the exchange API endpoint
906
906
  :param boolean [params.paginate]: default False, when True will automatically paginate by calling self endpoint multiple times. See in the docs all the [availble parameters](https://github.com/ccxt/ccxt/wiki/Manual#pagination-params)
907
+ :param int [params.until]: timestamp in ms of the latest funding rate to fetch
907
908
  :returns dict[]: a list of `funding rate structures <https://docs.ccxt.com/#/?id=funding-rate-history-structure>`
908
909
  """
909
910
  if symbol is None:
@@ -912,7 +913,7 @@ class blofin(Exchange, ImplicitAPI):
912
913
  paginate = False
913
914
  paginate, params = self.handle_option_and_params(params, 'fetchFundingRateHistory', 'paginate')
914
915
  if paginate:
915
- return await self.fetch_paginated_call_deterministic('fetchFundingRateHistory', symbol, since, limit, '8h', params)
916
+ return await self.fetch_paginated_call_deterministic('fetchFundingRateHistory', symbol, since, limit, '8h', params, 100)
916
917
  market = self.market(symbol)
917
918
  request: dict = {
918
919
  'instId': market['id'],
@@ -921,6 +922,10 @@ class blofin(Exchange, ImplicitAPI):
921
922
  request['before'] = max(since - 1, 0)
922
923
  if limit is not None:
923
924
  request['limit'] = limit
925
+ until = self.safe_integer(params, 'until')
926
+ if until is not None:
927
+ request['after'] = until
928
+ params = self.omit(params, 'until')
924
929
  response = await self.publicGetMarketFundingRateHistory(self.extend(request, params))
925
930
  rates = []
926
931
  data = self.safe_list(response, 'data', [])