ccxt 4.4.29__tar.gz → 4.4.30__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (669) hide show
  1. {ccxt-4.4.29/ccxt.egg-info → ccxt-4.4.30}/PKG-INFO +4 -4
  2. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/__init__.py +1 -1
  3. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/alpaca.py +1 -0
  4. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/binance.py +9 -0
  5. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/binancecoinm.py +9 -0
  6. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/binanceus.py +9 -0
  7. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/binanceusdm.py +9 -0
  8. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/alpaca.py +52 -7
  9. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/__init__.py +1 -1
  10. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/alpaca.py +52 -7
  11. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/base/exchange.py +1 -1
  12. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/binance.py +9 -0
  13. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bitbns.py +12 -12
  14. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bitfinex.py +9 -9
  15. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bitmart.py +53 -53
  16. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/deribit.py +7 -3
  17. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/hyperliquid.py +110 -5
  18. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/lbank.py +1 -1
  19. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/base/exchange.py +1 -1
  20. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/binance.py +9 -0
  21. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bitbns.py +12 -12
  22. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bitfinex.py +9 -9
  23. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bitmart.py +53 -53
  24. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/deribit.py +7 -3
  25. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/hyperliquid.py +110 -5
  26. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/lbank.py +1 -1
  27. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/__init__.py +1 -1
  28. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/blofin.py +2 -1
  29. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/test/tests_helpers.py +2 -2
  30. {ccxt-4.4.29 → ccxt-4.4.30/ccxt.egg-info}/PKG-INFO +4 -4
  31. {ccxt-4.4.29 → ccxt-4.4.30}/package.json +1 -1
  32. {ccxt-4.4.29 → ccxt-4.4.30}/LICENSE.txt +0 -0
  33. {ccxt-4.4.29 → ccxt-4.4.30}/MANIFEST.in +0 -0
  34. {ccxt-4.4.29 → ccxt-4.4.30}/README.rst +0 -0
  35. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/__init__.py +0 -0
  36. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/ace.py +0 -0
  37. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/ascendex.py +0 -0
  38. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bequant.py +0 -0
  39. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bigone.py +0 -0
  40. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bingx.py +0 -0
  41. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bit2c.py +0 -0
  42. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bitbank.py +0 -0
  43. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bitbns.py +0 -0
  44. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bitcoincom.py +0 -0
  45. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bitfinex.py +0 -0
  46. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bitfinex2.py +0 -0
  47. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bitflyer.py +0 -0
  48. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bitget.py +0 -0
  49. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bithumb.py +0 -0
  50. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bitmart.py +0 -0
  51. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bitmex.py +0 -0
  52. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bitopro.py +0 -0
  53. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bitpanda.py +0 -0
  54. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bitrue.py +0 -0
  55. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bitso.py +0 -0
  56. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bitstamp.py +0 -0
  57. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bitteam.py +0 -0
  58. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bitvavo.py +0 -0
  59. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bl3p.py +0 -0
  60. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/blockchaincom.py +0 -0
  61. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/blofin.py +0 -0
  62. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/btcalpha.py +0 -0
  63. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/btcbox.py +0 -0
  64. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/btcmarkets.py +0 -0
  65. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/btcturk.py +0 -0
  66. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/bybit.py +0 -0
  67. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/cex.py +0 -0
  68. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/coinbase.py +0 -0
  69. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/coinbaseadvanced.py +0 -0
  70. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/coinbaseexchange.py +0 -0
  71. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/coinbaseinternational.py +0 -0
  72. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/coincatch.py +0 -0
  73. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/coincheck.py +0 -0
  74. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/coinex.py +0 -0
  75. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/coinlist.py +0 -0
  76. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/coinmate.py +0 -0
  77. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/coinmetro.py +0 -0
  78. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/coinone.py +0 -0
  79. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/coinsph.py +0 -0
  80. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/coinspot.py +0 -0
  81. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/cryptocom.py +0 -0
  82. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/currencycom.py +0 -0
  83. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/delta.py +0 -0
  84. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/deribit.py +0 -0
  85. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/digifinex.py +0 -0
  86. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/exmo.py +0 -0
  87. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/fmfwio.py +0 -0
  88. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/gate.py +0 -0
  89. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/gateio.py +0 -0
  90. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/gemini.py +0 -0
  91. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/hashkey.py +0 -0
  92. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/hitbtc.py +0 -0
  93. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/hollaex.py +0 -0
  94. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/htx.py +0 -0
  95. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/huobi.py +0 -0
  96. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/huobijp.py +0 -0
  97. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/hyperliquid.py +0 -0
  98. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/idex.py +0 -0
  99. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/independentreserve.py +0 -0
  100. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/indodax.py +0 -0
  101. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/kraken.py +0 -0
  102. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/krakenfutures.py +0 -0
  103. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/kucoin.py +0 -0
  104. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/kucoinfutures.py +0 -0
  105. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/kuna.py +0 -0
  106. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/latoken.py +0 -0
  107. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/lbank.py +0 -0
  108. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/luno.py +0 -0
  109. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/lykke.py +0 -0
  110. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/mercado.py +0 -0
  111. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/mexc.py +0 -0
  112. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/ndax.py +0 -0
  113. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/novadax.py +0 -0
  114. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/oceanex.py +0 -0
  115. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/okcoin.py +0 -0
  116. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/okx.py +0 -0
  117. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/onetrading.py +0 -0
  118. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/oxfun.py +0 -0
  119. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/p2b.py +0 -0
  120. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/paradex.py +0 -0
  121. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/paymium.py +0 -0
  122. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/phemex.py +0 -0
  123. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/poloniex.py +0 -0
  124. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/poloniexfutures.py +0 -0
  125. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/probit.py +0 -0
  126. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/timex.py +0 -0
  127. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/tokocrypto.py +0 -0
  128. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/tradeogre.py +0 -0
  129. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/upbit.py +0 -0
  130. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/vertex.py +0 -0
  131. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/wavesexchange.py +0 -0
  132. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/wazirx.py +0 -0
  133. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/whitebit.py +0 -0
  134. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/woo.py +0 -0
  135. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/woofipro.py +0 -0
  136. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/xt.py +0 -0
  137. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/yobit.py +0 -0
  138. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/zaif.py +0 -0
  139. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/abstract/zonda.py +0 -0
  140. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/ace.py +0 -0
  141. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/ascendex.py +0 -0
  142. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/ace.py +0 -0
  143. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/ascendex.py +0 -0
  144. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/base/__init__.py +0 -0
  145. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/base/throttler.py +0 -0
  146. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/base/ws/__init__.py +0 -0
  147. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  148. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/base/ws/cache.py +0 -0
  149. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/base/ws/client.py +0 -0
  150. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/base/ws/fast_client.py +0 -0
  151. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/base/ws/functions.py +0 -0
  152. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/base/ws/future.py +0 -0
  153. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/base/ws/order_book.py +0 -0
  154. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  155. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bequant.py +0 -0
  156. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bigone.py +0 -0
  157. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/binancecoinm.py +0 -0
  158. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/binanceus.py +0 -0
  159. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/binanceusdm.py +0 -0
  160. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bingx.py +0 -0
  161. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bit2c.py +0 -0
  162. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bitbank.py +0 -0
  163. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bitbay.py +0 -0
  164. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bitcoincom.py +0 -0
  165. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bitfinex2.py +0 -0
  166. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bitflyer.py +0 -0
  167. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bitget.py +0 -0
  168. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bithumb.py +0 -0
  169. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bitmex.py +0 -0
  170. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bitopro.py +0 -0
  171. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bitpanda.py +0 -0
  172. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bitrue.py +0 -0
  173. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bitso.py +0 -0
  174. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bitstamp.py +0 -0
  175. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bitteam.py +0 -0
  176. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bitvavo.py +0 -0
  177. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bl3p.py +0 -0
  178. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/blockchaincom.py +0 -0
  179. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/blofin.py +0 -0
  180. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/btcalpha.py +0 -0
  181. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/btcbox.py +0 -0
  182. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/btcmarkets.py +0 -0
  183. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/btcturk.py +0 -0
  184. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/bybit.py +0 -0
  185. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/cex.py +0 -0
  186. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/coinbase.py +0 -0
  187. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/coinbaseadvanced.py +0 -0
  188. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/coinbaseexchange.py +0 -0
  189. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/coinbaseinternational.py +0 -0
  190. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/coincatch.py +0 -0
  191. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/coincheck.py +0 -0
  192. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/coinex.py +0 -0
  193. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/coinlist.py +0 -0
  194. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/coinmate.py +0 -0
  195. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/coinmetro.py +0 -0
  196. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/coinone.py +0 -0
  197. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/coinsph.py +0 -0
  198. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/coinspot.py +0 -0
  199. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/cryptocom.py +0 -0
  200. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/currencycom.py +0 -0
  201. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/delta.py +0 -0
  202. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/digifinex.py +0 -0
  203. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/exmo.py +0 -0
  204. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/fmfwio.py +0 -0
  205. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/gate.py +0 -0
  206. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/gateio.py +0 -0
  207. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/gemini.py +0 -0
  208. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/hashkey.py +0 -0
  209. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/hitbtc.py +0 -0
  210. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/hitbtc3.py +0 -0
  211. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/hollaex.py +0 -0
  212. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/htx.py +0 -0
  213. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/huobi.py +0 -0
  214. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/huobijp.py +0 -0
  215. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/idex.py +0 -0
  216. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/independentreserve.py +0 -0
  217. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/indodax.py +0 -0
  218. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/kraken.py +0 -0
  219. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/krakenfutures.py +0 -0
  220. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/kucoin.py +0 -0
  221. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/kucoinfutures.py +0 -0
  222. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/kuna.py +0 -0
  223. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/latoken.py +0 -0
  224. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/luno.py +0 -0
  225. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/lykke.py +0 -0
  226. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/mercado.py +0 -0
  227. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/mexc.py +0 -0
  228. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/ndax.py +0 -0
  229. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/novadax.py +0 -0
  230. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/oceanex.py +0 -0
  231. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/okcoin.py +0 -0
  232. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/okx.py +0 -0
  233. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/onetrading.py +0 -0
  234. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/oxfun.py +0 -0
  235. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/p2b.py +0 -0
  236. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/paradex.py +0 -0
  237. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/paymium.py +0 -0
  238. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/phemex.py +0 -0
  239. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/poloniex.py +0 -0
  240. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/poloniexfutures.py +0 -0
  241. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/probit.py +0 -0
  242. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/timex.py +0 -0
  243. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/tokocrypto.py +0 -0
  244. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/tradeogre.py +0 -0
  245. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/upbit.py +0 -0
  246. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/vertex.py +0 -0
  247. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/wavesexchange.py +0 -0
  248. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/wazirx.py +0 -0
  249. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/whitebit.py +0 -0
  250. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/woo.py +0 -0
  251. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/woofipro.py +0 -0
  252. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/xt.py +0 -0
  253. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/yobit.py +0 -0
  254. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/zaif.py +0 -0
  255. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/async_support/zonda.py +0 -0
  256. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/base/__init__.py +0 -0
  257. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/base/decimal_to_precision.py +0 -0
  258. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/base/errors.py +0 -0
  259. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/base/precise.py +0 -0
  260. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/base/types.py +0 -0
  261. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bequant.py +0 -0
  262. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bigone.py +0 -0
  263. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/binancecoinm.py +0 -0
  264. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/binanceus.py +0 -0
  265. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/binanceusdm.py +0 -0
  266. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bingx.py +0 -0
  267. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bit2c.py +0 -0
  268. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bitbank.py +0 -0
  269. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bitbay.py +0 -0
  270. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bitcoincom.py +0 -0
  271. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bitfinex2.py +0 -0
  272. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bitflyer.py +0 -0
  273. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bitget.py +0 -0
  274. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bithumb.py +0 -0
  275. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bitmex.py +0 -0
  276. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bitopro.py +0 -0
  277. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bitpanda.py +0 -0
  278. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bitrue.py +0 -0
  279. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bitso.py +0 -0
  280. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bitstamp.py +0 -0
  281. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bitteam.py +0 -0
  282. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bitvavo.py +0 -0
  283. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bl3p.py +0 -0
  284. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/blockchaincom.py +0 -0
  285. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/blofin.py +0 -0
  286. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/btcalpha.py +0 -0
  287. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/btcbox.py +0 -0
  288. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/btcmarkets.py +0 -0
  289. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/btcturk.py +0 -0
  290. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/bybit.py +0 -0
  291. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/cex.py +0 -0
  292. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/coinbase.py +0 -0
  293. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/coinbaseadvanced.py +0 -0
  294. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/coinbaseexchange.py +0 -0
  295. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/coinbaseinternational.py +0 -0
  296. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/coincatch.py +0 -0
  297. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/coincheck.py +0 -0
  298. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/coinex.py +0 -0
  299. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/coinlist.py +0 -0
  300. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/coinmate.py +0 -0
  301. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/coinmetro.py +0 -0
  302. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/coinone.py +0 -0
  303. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/coinsph.py +0 -0
  304. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/coinspot.py +0 -0
  305. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/cryptocom.py +0 -0
  306. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/currencycom.py +0 -0
  307. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/delta.py +0 -0
  308. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/digifinex.py +0 -0
  309. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/exmo.py +0 -0
  310. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/fmfwio.py +0 -0
  311. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/gate.py +0 -0
  312. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/gateio.py +0 -0
  313. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/gemini.py +0 -0
  314. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/hashkey.py +0 -0
  315. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/hitbtc.py +0 -0
  316. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/hitbtc3.py +0 -0
  317. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/hollaex.py +0 -0
  318. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/htx.py +0 -0
  319. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/huobi.py +0 -0
  320. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/huobijp.py +0 -0
  321. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/idex.py +0 -0
  322. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/independentreserve.py +0 -0
  323. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/indodax.py +0 -0
  324. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/kraken.py +0 -0
  325. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/krakenfutures.py +0 -0
  326. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/kucoin.py +0 -0
  327. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/kucoinfutures.py +0 -0
  328. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/kuna.py +0 -0
  329. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/latoken.py +0 -0
  330. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/luno.py +0 -0
  331. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/lykke.py +0 -0
  332. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/mercado.py +0 -0
  333. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/mexc.py +0 -0
  334. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/ndax.py +0 -0
  335. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/novadax.py +0 -0
  336. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/oceanex.py +0 -0
  337. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/okcoin.py +0 -0
  338. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/okx.py +0 -0
  339. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/onetrading.py +0 -0
  340. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/oxfun.py +0 -0
  341. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/p2b.py +0 -0
  342. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/paradex.py +0 -0
  343. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/paymium.py +0 -0
  344. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/phemex.py +0 -0
  345. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/poloniex.py +0 -0
  346. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/poloniexfutures.py +0 -0
  347. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/alpaca.py +0 -0
  348. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/ascendex.py +0 -0
  349. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/bequant.py +0 -0
  350. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/binance.py +0 -0
  351. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/binancecoinm.py +0 -0
  352. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/binanceus.py +0 -0
  353. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/binanceusdm.py +0 -0
  354. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/bingx.py +0 -0
  355. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/bitcoincom.py +0 -0
  356. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/bitfinex.py +0 -0
  357. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/bitfinex2.py +0 -0
  358. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/bitget.py +0 -0
  359. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/bithumb.py +0 -0
  360. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/bitmart.py +0 -0
  361. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/bitmex.py +0 -0
  362. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/bitopro.py +0 -0
  363. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/bitpanda.py +0 -0
  364. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/bitrue.py +0 -0
  365. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/bitstamp.py +0 -0
  366. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/bitvavo.py +0 -0
  367. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/blockchaincom.py +0 -0
  368. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/bybit.py +0 -0
  369. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/cex.py +0 -0
  370. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/coinbase.py +0 -0
  371. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/coinbaseadvanced.py +0 -0
  372. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/coinbaseexchange.py +0 -0
  373. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/coinbaseinternational.py +0 -0
  374. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/coincatch.py +0 -0
  375. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/coincheck.py +0 -0
  376. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/coinex.py +0 -0
  377. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/coinone.py +0 -0
  378. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/cryptocom.py +0 -0
  379. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/currencycom.py +0 -0
  380. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/deribit.py +0 -0
  381. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/exmo.py +0 -0
  382. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/gate.py +0 -0
  383. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/gateio.py +0 -0
  384. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/gemini.py +0 -0
  385. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/hashkey.py +0 -0
  386. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/hitbtc.py +0 -0
  387. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/hollaex.py +0 -0
  388. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/htx.py +0 -0
  389. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/huobi.py +0 -0
  390. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/huobijp.py +0 -0
  391. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/hyperliquid.py +0 -0
  392. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/idex.py +0 -0
  393. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/independentreserve.py +0 -0
  394. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/kraken.py +0 -0
  395. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/krakenfutures.py +0 -0
  396. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/kucoin.py +0 -0
  397. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/kucoinfutures.py +0 -0
  398. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/lbank.py +0 -0
  399. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/luno.py +0 -0
  400. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/mexc.py +0 -0
  401. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/ndax.py +0 -0
  402. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/okcoin.py +0 -0
  403. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/okx.py +0 -0
  404. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/onetrading.py +0 -0
  405. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/oxfun.py +0 -0
  406. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/p2b.py +0 -0
  407. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/paradex.py +0 -0
  408. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/phemex.py +0 -0
  409. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/poloniex.py +0 -0
  410. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/poloniexfutures.py +0 -0
  411. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/probit.py +0 -0
  412. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/upbit.py +0 -0
  413. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/vertex.py +0 -0
  414. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/wazirx.py +0 -0
  415. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/whitebit.py +0 -0
  416. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/woo.py +0 -0
  417. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/woofipro.py +0 -0
  418. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/pro/xt.py +0 -0
  419. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/probit.py +0 -0
  420. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/__init__.py +0 -0
  421. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  422. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  423. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  424. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  425. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  426. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  427. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  428. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  429. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  430. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  431. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  432. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  433. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  434. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  435. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  436. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  437. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  438. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  439. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  440. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  441. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  442. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  443. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  444. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  445. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  446. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  447. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  448. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  449. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  450. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  451. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  452. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  453. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  454. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  455. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  456. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  457. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  458. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  459. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  460. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  461. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  462. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  463. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  464. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  465. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  466. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  467. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  468. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  469. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  470. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  471. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  472. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  473. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  474. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  475. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  476. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  477. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  478. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  479. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  480. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  481. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  482. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  483. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  484. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  485. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  486. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  487. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  488. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  489. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  490. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  491. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  492. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  493. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  494. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  495. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/__init__.py +0 -0
  496. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/__pyinstaller/__init__.py +0 -0
  497. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/__pyinstaller/hook-lark.py +0 -0
  498. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/ast_utils.py +0 -0
  499. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/common.py +0 -0
  500. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/exceptions.py +0 -0
  501. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/grammar.py +0 -0
  502. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/grammars/__init__.py +0 -0
  503. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/indenter.py +0 -0
  504. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/lark.py +0 -0
  505. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/lexer.py +0 -0
  506. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/load_grammar.py +0 -0
  507. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/parse_tree_builder.py +0 -0
  508. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/parser_frontends.py +0 -0
  509. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/parsers/__init__.py +0 -0
  510. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/parsers/cyk.py +0 -0
  511. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/parsers/earley.py +0 -0
  512. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/parsers/earley_common.py +0 -0
  513. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/parsers/earley_forest.py +0 -0
  514. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/parsers/grammar_analysis.py +0 -0
  515. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/parsers/lalr_analysis.py +0 -0
  516. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/parsers/lalr_interactive_parser.py +0 -0
  517. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/parsers/lalr_parser.py +0 -0
  518. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/parsers/lalr_parser_state.py +0 -0
  519. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/parsers/xearley.py +0 -0
  520. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/py.typed +0 -0
  521. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/reconstruct.py +0 -0
  522. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/tools/__init__.py +0 -0
  523. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/tools/nearley.py +0 -0
  524. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/tools/serialize.py +0 -0
  525. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/tools/standalone.py +0 -0
  526. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/tree.py +0 -0
  527. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/tree_matcher.py +0 -0
  528. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/tree_templates.py +0 -0
  529. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/utils.py +0 -0
  530. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/lark/visitors.py +0 -0
  531. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow/__init__.py +0 -0
  532. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow/base.py +0 -0
  533. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow/class_registry.py +0 -0
  534. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow/decorators.py +0 -0
  535. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow/error_store.py +0 -0
  536. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow/exceptions.py +0 -0
  537. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow/fields.py +0 -0
  538. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow/orderedset.py +0 -0
  539. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow/py.typed +0 -0
  540. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow/schema.py +0 -0
  541. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow/types.py +0 -0
  542. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow/utils.py +0 -0
  543. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow/validate.py +0 -0
  544. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow/warnings.py +0 -0
  545. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow_dataclass/__init__.py +0 -0
  546. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow_dataclass/collection_field.py +0 -0
  547. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow_dataclass/lazy_class_attribute.py +0 -0
  548. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow_dataclass/mypy.py +0 -0
  549. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow_dataclass/py.typed +0 -0
  550. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow_dataclass/typing.py +0 -0
  551. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow_dataclass/union_field.py +0 -0
  552. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow_oneofschema/__init__.py +0 -0
  553. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow_oneofschema/one_of_schema.py +0 -0
  554. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/marshmallow_oneofschema/py.typed +0 -0
  555. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  556. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  557. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  558. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  559. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  560. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  561. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  562. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  563. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  564. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  565. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/__init__.py +0 -0
  566. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/cairo/__init__.py +0 -0
  567. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/cairo/data_types.py +0 -0
  568. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/__init__.py +0 -0
  569. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/cairo_types.py +0 -0
  570. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser.py +0 -0
  571. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/cairo/deprecated_parse/parser_transformer.py +0 -0
  572. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/cairo/felt.py +0 -0
  573. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/cairo/type_parser.py +0 -0
  574. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/cairo/v1/__init__.py +0 -0
  575. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/cairo/v1/type_parser.py +0 -0
  576. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/cairo/v2/__init__.py +0 -0
  577. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/cairo/v2/type_parser.py +0 -0
  578. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/ccxt_utils.py +0 -0
  579. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/common.py +0 -0
  580. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/constants.py +0 -0
  581. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/hash/__init__.py +0 -0
  582. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/hash/address.py +0 -0
  583. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/hash/compiled_class_hash_objects.py +0 -0
  584. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/hash/selector.py +0 -0
  585. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/hash/storage.py +0 -0
  586. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/hash/utils.py +0 -0
  587. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/models/__init__.py +0 -0
  588. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/models/typed_data.py +0 -0
  589. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/__init__.py +0 -0
  590. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/_calldata_reader.py +0 -0
  591. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/_context.py +0 -0
  592. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/data_serializers/__init__.py +0 -0
  593. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/data_serializers/_common.py +0 -0
  594. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/data_serializers/array_serializer.py +0 -0
  595. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/data_serializers/bool_serializer.py +0 -0
  596. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/data_serializers/byte_array_serializer.py +0 -0
  597. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/data_serializers/cairo_data_serializer.py +0 -0
  598. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/data_serializers/enum_serializer.py +0 -0
  599. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/data_serializers/felt_serializer.py +0 -0
  600. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/data_serializers/named_tuple_serializer.py +0 -0
  601. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/data_serializers/option_serializer.py +0 -0
  602. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/data_serializers/output_serializer.py +0 -0
  603. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/data_serializers/payload_serializer.py +0 -0
  604. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/data_serializers/struct_serializer.py +0 -0
  605. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/data_serializers/tuple_serializer.py +0 -0
  606. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint256_serializer.py +0 -0
  607. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/data_serializers/uint_serializer.py +0 -0
  608. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/data_serializers/unit_serializer.py +0 -0
  609. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/errors.py +0 -0
  610. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/factory.py +0 -0
  611. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/function_serialization_adapter.py +0 -0
  612. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/serialization/tuple_dataclass.py +0 -0
  613. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/utils/__init__.py +0 -0
  614. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/utils/constructor_args_translator.py +0 -0
  615. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/utils/iterable.py +0 -0
  616. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/utils/schema.py +0 -0
  617. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starknet/utils/typed_data.py +0 -0
  618. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starkware/__init__.py +0 -0
  619. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starkware/crypto/__init__.py +0 -0
  620. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starkware/crypto/fast_pedersen_hash.py +0 -0
  621. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starkware/crypto/math_utils.py +0 -0
  622. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starkware/crypto/signature.py +0 -0
  623. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/starkware/crypto/utils.py +0 -0
  624. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/sympy/__init__.py +0 -0
  625. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/sympy/core/__init__.py +0 -0
  626. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/sympy/core/intfunc.py +0 -0
  627. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/sympy/external/__init__.py +0 -0
  628. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/sympy/external/gmpy.py +0 -0
  629. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/sympy/external/importtools.py +0 -0
  630. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/sympy/external/ntheory.py +0 -0
  631. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/sympy/external/pythonmpq.py +0 -0
  632. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  633. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  634. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/toolz/_version.py +0 -0
  635. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  636. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  637. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  638. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  639. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  640. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  641. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  642. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  643. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/toolz/utils.py +0 -0
  644. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/typing_inspect/__init__.py +0 -0
  645. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/static_dependencies/typing_inspect/typing_inspect.py +0 -0
  646. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/test/__init__.py +0 -0
  647. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/test/tests_async.py +0 -0
  648. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/test/tests_init.py +0 -0
  649. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/test/tests_sync.py +0 -0
  650. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/timex.py +0 -0
  651. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/tokocrypto.py +0 -0
  652. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/tradeogre.py +0 -0
  653. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/upbit.py +0 -0
  654. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/vertex.py +0 -0
  655. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/wavesexchange.py +0 -0
  656. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/wazirx.py +0 -0
  657. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/whitebit.py +0 -0
  658. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/woo.py +0 -0
  659. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/woofipro.py +0 -0
  660. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/xt.py +0 -0
  661. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/yobit.py +0 -0
  662. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/zaif.py +0 -0
  663. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt/zonda.py +0 -0
  664. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt.egg-info/SOURCES.txt +0 -0
  665. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt.egg-info/dependency_links.txt +0 -0
  666. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt.egg-info/requires.txt +0 -0
  667. {ccxt-4.4.29 → ccxt-4.4.30}/ccxt.egg-info/top_level.txt +0 -0
  668. {ccxt-4.4.29 → ccxt-4.4.30}/setup.cfg +0 -0
  669. {ccxt-4.4.29 → ccxt-4.4.30}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.4.29
3
+ Version: 4.4.30
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
@@ -262,13 +262,13 @@ console.log(version, Object.keys(exchanges));
262
262
 
263
263
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
264
264
 
265
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.29/dist/ccxt.browser.min.js
266
- * unpkg: https://unpkg.com/ccxt@4.4.29/dist/ccxt.browser.min.js
265
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.30/dist/ccxt.browser.min.js
266
+ * unpkg: https://unpkg.com/ccxt@4.4.30/dist/ccxt.browser.min.js
267
267
 
268
268
  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.
269
269
 
270
270
  ```HTML
271
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.29/dist/ccxt.browser.min.js"></script>
271
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.30/dist/ccxt.browser.min.js"></script>
272
272
  ```
273
273
 
274
274
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.4.29'
25
+ __version__ = '4.4.30'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -27,6 +27,7 @@ class ImplicitAPI:
27
27
  trader_private_post_v2_watchlists_watchlist_id = traderPrivatePostV2WatchlistsWatchlistId = Entry('v2/watchlists/{watchlist_id}', ['trader', 'private'], 'POST', {})
28
28
  trader_private_post_v2_watchlists_by_name = traderPrivatePostV2WatchlistsByName = Entry('v2/watchlists:by_name', ['trader', 'private'], 'POST', {})
29
29
  trader_private_post_v2_wallets_transfers = traderPrivatePostV2WalletsTransfers = Entry('v2/wallets/transfers', ['trader', 'private'], 'POST', {})
30
+ trader_private_put_v2_orders_order_id = traderPrivatePutV2OrdersOrderId = Entry('v2/orders/{order_id}', ['trader', 'private'], 'PUT', {})
30
31
  trader_private_put_v2_watchlists_watchlist_id = traderPrivatePutV2WatchlistsWatchlistId = Entry('v2/watchlists/{watchlist_id}', ['trader', 'private'], 'PUT', {})
31
32
  trader_private_put_v2_watchlists_by_name = traderPrivatePutV2WatchlistsByName = Entry('v2/watchlists:by_name', ['trader', 'private'], 'PUT', {})
32
33
  trader_private_patch_v2_orders_order_id = traderPrivatePatchV2OrdersOrderId = Entry('v2/orders/{order_id}', ['trader', 'private'], 'PATCH', {})
@@ -144,6 +144,12 @@ class ImplicitAPI:
144
144
  sapi_get_eth_staking_wbeth_history_wraphistory = sapiGetEthStakingWbethHistoryWrapHistory = Entry('eth-staking/wbeth/history/wrapHistory', 'sapi', 'GET', {'cost': 15})
145
145
  sapi_get_eth_staking_wbeth_history_unwraphistory = sapiGetEthStakingWbethHistoryUnwrapHistory = Entry('eth-staking/wbeth/history/unwrapHistory', 'sapi', 'GET', {'cost': 15})
146
146
  sapi_get_eth_staking_eth_history_wbethrewardshistory = sapiGetEthStakingEthHistoryWbethRewardsHistory = Entry('eth-staking/eth/history/wbethRewardsHistory', 'sapi', 'GET', {'cost': 15})
147
+ sapi_get_sol_staking_sol_history_stakinghistory = sapiGetSolStakingSolHistoryStakingHistory = Entry('sol-staking/sol/history/stakingHistory', 'sapi', 'GET', {'cost': 15})
148
+ sapi_get_sol_staking_sol_history_redemptionhistory = sapiGetSolStakingSolHistoryRedemptionHistory = Entry('sol-staking/sol/history/redemptionHistory', 'sapi', 'GET', {'cost': 15})
149
+ sapi_get_sol_staking_sol_history_bnsolrewardshistory = sapiGetSolStakingSolHistoryBnsolRewardsHistory = Entry('sol-staking/sol/history/bnsolRewardsHistory', 'sapi', 'GET', {'cost': 15})
150
+ sapi_get_sol_staking_sol_history_ratehistory = sapiGetSolStakingSolHistoryRateHistory = Entry('sol-staking/sol/history/rateHistory', 'sapi', 'GET', {'cost': 15})
151
+ sapi_get_sol_staking_account = sapiGetSolStakingAccount = Entry('sol-staking/account', 'sapi', 'GET', {'cost': 15})
152
+ sapi_get_sol_staking_sol_quota = sapiGetSolStakingSolQuota = Entry('sol-staking/sol/quota', 'sapi', 'GET', {'cost': 15})
147
153
  sapi_get_mining_pub_algolist = sapiGetMiningPubAlgoList = Entry('mining/pub/algoList', 'sapi', 'GET', {'cost': 0.1})
148
154
  sapi_get_mining_pub_coinlist = sapiGetMiningPubCoinList = Entry('mining/pub/coinList', 'sapi', 'GET', {'cost': 0.1})
149
155
  sapi_get_mining_worker_detail = sapiGetMiningWorkerDetail = Entry('mining/worker/detail', 'sapi', 'GET', {'cost': 0.5})
@@ -331,6 +337,8 @@ class ImplicitAPI:
331
337
  sapi_post_eth_staking_eth_stake = sapiPostEthStakingEthStake = Entry('eth-staking/eth/stake', 'sapi', 'POST', {'cost': 15})
332
338
  sapi_post_eth_staking_eth_redeem = sapiPostEthStakingEthRedeem = Entry('eth-staking/eth/redeem', 'sapi', 'POST', {'cost': 15})
333
339
  sapi_post_eth_staking_wbeth_wrap = sapiPostEthStakingWbethWrap = Entry('eth-staking/wbeth/wrap', 'sapi', 'POST', {'cost': 15})
340
+ sapi_post_sol_staking_sol_stake = sapiPostSolStakingSolStake = Entry('sol-staking/sol/stake', 'sapi', 'POST', {'cost': 15})
341
+ sapi_post_sol_staking_sol_redeem = sapiPostSolStakingSolRedeem = Entry('sol-staking/sol/redeem', 'sapi', 'POST', {'cost': 15})
334
342
  sapi_post_mining_hash_transfer_config = sapiPostMiningHashTransferConfig = Entry('mining/hash-transfer/config', 'sapi', 'POST', {'cost': 0.5})
335
343
  sapi_post_mining_hash_transfer_config_cancel = sapiPostMiningHashTransferConfigCancel = Entry('mining/hash-transfer/config/cancel', 'sapi', 'POST', {'cost': 0.5})
336
344
  sapi_post_portfolio_repay = sapiPostPortfolioRepay = Entry('portfolio/repay', 'sapi', 'POST', {'cost': 20.001})
@@ -363,6 +371,7 @@ class ImplicitAPI:
363
371
  sapi_post_simple_earn_locked_redeem = sapiPostSimpleEarnLockedRedeem = Entry('simple-earn/locked/redeem', 'sapi', 'POST', {'cost': 0.1})
364
372
  sapi_post_simple_earn_flexible_setautosubscribe = sapiPostSimpleEarnFlexibleSetAutoSubscribe = Entry('simple-earn/flexible/setAutoSubscribe', 'sapi', 'POST', {'cost': 15})
365
373
  sapi_post_simple_earn_locked_setautosubscribe = sapiPostSimpleEarnLockedSetAutoSubscribe = Entry('simple-earn/locked/setAutoSubscribe', 'sapi', 'POST', {'cost': 15})
374
+ sapi_post_simple_earn_locked_setredeemoption = sapiPostSimpleEarnLockedSetRedeemOption = Entry('simple-earn/locked/setRedeemOption', 'sapi', 'POST', {'cost': 5})
366
375
  sapi_post_dci_product_subscribe = sapiPostDciProductSubscribe = Entry('dci/product/subscribe', 'sapi', 'POST', {'cost': 0.1})
367
376
  sapi_post_dci_product_auto_compound_edit = sapiPostDciProductAutoCompoundEdit = Entry('dci/product/auto_compound/edit', 'sapi', 'POST', {'cost': 0.1})
368
377
  sapi_put_userdatastream = sapiPutUserDataStream = Entry('userDataStream', 'sapi', 'PUT', {'cost': 0.1})
@@ -144,6 +144,12 @@ class ImplicitAPI:
144
144
  sapi_get_eth_staking_wbeth_history_wraphistory = sapiGetEthStakingWbethHistoryWrapHistory = Entry('eth-staking/wbeth/history/wrapHistory', 'sapi', 'GET', {'cost': 15})
145
145
  sapi_get_eth_staking_wbeth_history_unwraphistory = sapiGetEthStakingWbethHistoryUnwrapHistory = Entry('eth-staking/wbeth/history/unwrapHistory', 'sapi', 'GET', {'cost': 15})
146
146
  sapi_get_eth_staking_eth_history_wbethrewardshistory = sapiGetEthStakingEthHistoryWbethRewardsHistory = Entry('eth-staking/eth/history/wbethRewardsHistory', 'sapi', 'GET', {'cost': 15})
147
+ sapi_get_sol_staking_sol_history_stakinghistory = sapiGetSolStakingSolHistoryStakingHistory = Entry('sol-staking/sol/history/stakingHistory', 'sapi', 'GET', {'cost': 15})
148
+ sapi_get_sol_staking_sol_history_redemptionhistory = sapiGetSolStakingSolHistoryRedemptionHistory = Entry('sol-staking/sol/history/redemptionHistory', 'sapi', 'GET', {'cost': 15})
149
+ sapi_get_sol_staking_sol_history_bnsolrewardshistory = sapiGetSolStakingSolHistoryBnsolRewardsHistory = Entry('sol-staking/sol/history/bnsolRewardsHistory', 'sapi', 'GET', {'cost': 15})
150
+ sapi_get_sol_staking_sol_history_ratehistory = sapiGetSolStakingSolHistoryRateHistory = Entry('sol-staking/sol/history/rateHistory', 'sapi', 'GET', {'cost': 15})
151
+ sapi_get_sol_staking_account = sapiGetSolStakingAccount = Entry('sol-staking/account', 'sapi', 'GET', {'cost': 15})
152
+ sapi_get_sol_staking_sol_quota = sapiGetSolStakingSolQuota = Entry('sol-staking/sol/quota', 'sapi', 'GET', {'cost': 15})
147
153
  sapi_get_mining_pub_algolist = sapiGetMiningPubAlgoList = Entry('mining/pub/algoList', 'sapi', 'GET', {'cost': 0.1})
148
154
  sapi_get_mining_pub_coinlist = sapiGetMiningPubCoinList = Entry('mining/pub/coinList', 'sapi', 'GET', {'cost': 0.1})
149
155
  sapi_get_mining_worker_detail = sapiGetMiningWorkerDetail = Entry('mining/worker/detail', 'sapi', 'GET', {'cost': 0.5})
@@ -331,6 +337,8 @@ class ImplicitAPI:
331
337
  sapi_post_eth_staking_eth_stake = sapiPostEthStakingEthStake = Entry('eth-staking/eth/stake', 'sapi', 'POST', {'cost': 15})
332
338
  sapi_post_eth_staking_eth_redeem = sapiPostEthStakingEthRedeem = Entry('eth-staking/eth/redeem', 'sapi', 'POST', {'cost': 15})
333
339
  sapi_post_eth_staking_wbeth_wrap = sapiPostEthStakingWbethWrap = Entry('eth-staking/wbeth/wrap', 'sapi', 'POST', {'cost': 15})
340
+ sapi_post_sol_staking_sol_stake = sapiPostSolStakingSolStake = Entry('sol-staking/sol/stake', 'sapi', 'POST', {'cost': 15})
341
+ sapi_post_sol_staking_sol_redeem = sapiPostSolStakingSolRedeem = Entry('sol-staking/sol/redeem', 'sapi', 'POST', {'cost': 15})
334
342
  sapi_post_mining_hash_transfer_config = sapiPostMiningHashTransferConfig = Entry('mining/hash-transfer/config', 'sapi', 'POST', {'cost': 0.5})
335
343
  sapi_post_mining_hash_transfer_config_cancel = sapiPostMiningHashTransferConfigCancel = Entry('mining/hash-transfer/config/cancel', 'sapi', 'POST', {'cost': 0.5})
336
344
  sapi_post_portfolio_repay = sapiPostPortfolioRepay = Entry('portfolio/repay', 'sapi', 'POST', {'cost': 20.001})
@@ -363,6 +371,7 @@ class ImplicitAPI:
363
371
  sapi_post_simple_earn_locked_redeem = sapiPostSimpleEarnLockedRedeem = Entry('simple-earn/locked/redeem', 'sapi', 'POST', {'cost': 0.1})
364
372
  sapi_post_simple_earn_flexible_setautosubscribe = sapiPostSimpleEarnFlexibleSetAutoSubscribe = Entry('simple-earn/flexible/setAutoSubscribe', 'sapi', 'POST', {'cost': 15})
365
373
  sapi_post_simple_earn_locked_setautosubscribe = sapiPostSimpleEarnLockedSetAutoSubscribe = Entry('simple-earn/locked/setAutoSubscribe', 'sapi', 'POST', {'cost': 15})
374
+ sapi_post_simple_earn_locked_setredeemoption = sapiPostSimpleEarnLockedSetRedeemOption = Entry('simple-earn/locked/setRedeemOption', 'sapi', 'POST', {'cost': 5})
366
375
  sapi_post_dci_product_subscribe = sapiPostDciProductSubscribe = Entry('dci/product/subscribe', 'sapi', 'POST', {'cost': 0.1})
367
376
  sapi_post_dci_product_auto_compound_edit = sapiPostDciProductAutoCompoundEdit = Entry('dci/product/auto_compound/edit', 'sapi', 'POST', {'cost': 0.1})
368
377
  sapi_put_userdatastream = sapiPutUserDataStream = Entry('userDataStream', 'sapi', 'PUT', {'cost': 0.1})
@@ -144,6 +144,12 @@ class ImplicitAPI:
144
144
  sapi_get_eth_staking_wbeth_history_wraphistory = sapiGetEthStakingWbethHistoryWrapHistory = Entry('eth-staking/wbeth/history/wrapHistory', 'sapi', 'GET', {'cost': 15})
145
145
  sapi_get_eth_staking_wbeth_history_unwraphistory = sapiGetEthStakingWbethHistoryUnwrapHistory = Entry('eth-staking/wbeth/history/unwrapHistory', 'sapi', 'GET', {'cost': 15})
146
146
  sapi_get_eth_staking_eth_history_wbethrewardshistory = sapiGetEthStakingEthHistoryWbethRewardsHistory = Entry('eth-staking/eth/history/wbethRewardsHistory', 'sapi', 'GET', {'cost': 15})
147
+ sapi_get_sol_staking_sol_history_stakinghistory = sapiGetSolStakingSolHistoryStakingHistory = Entry('sol-staking/sol/history/stakingHistory', 'sapi', 'GET', {'cost': 15})
148
+ sapi_get_sol_staking_sol_history_redemptionhistory = sapiGetSolStakingSolHistoryRedemptionHistory = Entry('sol-staking/sol/history/redemptionHistory', 'sapi', 'GET', {'cost': 15})
149
+ sapi_get_sol_staking_sol_history_bnsolrewardshistory = sapiGetSolStakingSolHistoryBnsolRewardsHistory = Entry('sol-staking/sol/history/bnsolRewardsHistory', 'sapi', 'GET', {'cost': 15})
150
+ sapi_get_sol_staking_sol_history_ratehistory = sapiGetSolStakingSolHistoryRateHistory = Entry('sol-staking/sol/history/rateHistory', 'sapi', 'GET', {'cost': 15})
151
+ sapi_get_sol_staking_account = sapiGetSolStakingAccount = Entry('sol-staking/account', 'sapi', 'GET', {'cost': 15})
152
+ sapi_get_sol_staking_sol_quota = sapiGetSolStakingSolQuota = Entry('sol-staking/sol/quota', 'sapi', 'GET', {'cost': 15})
147
153
  sapi_get_mining_pub_algolist = sapiGetMiningPubAlgoList = Entry('mining/pub/algoList', 'sapi', 'GET', {'cost': 0.1})
148
154
  sapi_get_mining_pub_coinlist = sapiGetMiningPubCoinList = Entry('mining/pub/coinList', 'sapi', 'GET', {'cost': 0.1})
149
155
  sapi_get_mining_worker_detail = sapiGetMiningWorkerDetail = Entry('mining/worker/detail', 'sapi', 'GET', {'cost': 0.5})
@@ -362,6 +368,8 @@ class ImplicitAPI:
362
368
  sapi_post_eth_staking_eth_stake = sapiPostEthStakingEthStake = Entry('eth-staking/eth/stake', 'sapi', 'POST', {'cost': 15})
363
369
  sapi_post_eth_staking_eth_redeem = sapiPostEthStakingEthRedeem = Entry('eth-staking/eth/redeem', 'sapi', 'POST', {'cost': 15})
364
370
  sapi_post_eth_staking_wbeth_wrap = sapiPostEthStakingWbethWrap = Entry('eth-staking/wbeth/wrap', 'sapi', 'POST', {'cost': 15})
371
+ sapi_post_sol_staking_sol_stake = sapiPostSolStakingSolStake = Entry('sol-staking/sol/stake', 'sapi', 'POST', {'cost': 15})
372
+ sapi_post_sol_staking_sol_redeem = sapiPostSolStakingSolRedeem = Entry('sol-staking/sol/redeem', 'sapi', 'POST', {'cost': 15})
365
373
  sapi_post_mining_hash_transfer_config = sapiPostMiningHashTransferConfig = Entry('mining/hash-transfer/config', 'sapi', 'POST', {'cost': 0.5})
366
374
  sapi_post_mining_hash_transfer_config_cancel = sapiPostMiningHashTransferConfigCancel = Entry('mining/hash-transfer/config/cancel', 'sapi', 'POST', {'cost': 0.5})
367
375
  sapi_post_portfolio_repay = sapiPostPortfolioRepay = Entry('portfolio/repay', 'sapi', 'POST', {'cost': 20.001})
@@ -394,6 +402,7 @@ class ImplicitAPI:
394
402
  sapi_post_simple_earn_locked_redeem = sapiPostSimpleEarnLockedRedeem = Entry('simple-earn/locked/redeem', 'sapi', 'POST', {'cost': 0.1})
395
403
  sapi_post_simple_earn_flexible_setautosubscribe = sapiPostSimpleEarnFlexibleSetAutoSubscribe = Entry('simple-earn/flexible/setAutoSubscribe', 'sapi', 'POST', {'cost': 15})
396
404
  sapi_post_simple_earn_locked_setautosubscribe = sapiPostSimpleEarnLockedSetAutoSubscribe = Entry('simple-earn/locked/setAutoSubscribe', 'sapi', 'POST', {'cost': 15})
405
+ sapi_post_simple_earn_locked_setredeemoption = sapiPostSimpleEarnLockedSetRedeemOption = Entry('simple-earn/locked/setRedeemOption', 'sapi', 'POST', {'cost': 5})
397
406
  sapi_post_dci_product_subscribe = sapiPostDciProductSubscribe = Entry('dci/product/subscribe', 'sapi', 'POST', {'cost': 0.1})
398
407
  sapi_post_dci_product_auto_compound_edit = sapiPostDciProductAutoCompoundEdit = Entry('dci/product/auto_compound/edit', 'sapi', 'POST', {'cost': 0.1})
399
408
  sapi_post_otc_quotes = sapiPostOtcQuotes = Entry('otc/quotes', 'sapi', 'POST', {'cost': 1})
@@ -144,6 +144,12 @@ class ImplicitAPI:
144
144
  sapi_get_eth_staking_wbeth_history_wraphistory = sapiGetEthStakingWbethHistoryWrapHistory = Entry('eth-staking/wbeth/history/wrapHistory', 'sapi', 'GET', {'cost': 15})
145
145
  sapi_get_eth_staking_wbeth_history_unwraphistory = sapiGetEthStakingWbethHistoryUnwrapHistory = Entry('eth-staking/wbeth/history/unwrapHistory', 'sapi', 'GET', {'cost': 15})
146
146
  sapi_get_eth_staking_eth_history_wbethrewardshistory = sapiGetEthStakingEthHistoryWbethRewardsHistory = Entry('eth-staking/eth/history/wbethRewardsHistory', 'sapi', 'GET', {'cost': 15})
147
+ sapi_get_sol_staking_sol_history_stakinghistory = sapiGetSolStakingSolHistoryStakingHistory = Entry('sol-staking/sol/history/stakingHistory', 'sapi', 'GET', {'cost': 15})
148
+ sapi_get_sol_staking_sol_history_redemptionhistory = sapiGetSolStakingSolHistoryRedemptionHistory = Entry('sol-staking/sol/history/redemptionHistory', 'sapi', 'GET', {'cost': 15})
149
+ sapi_get_sol_staking_sol_history_bnsolrewardshistory = sapiGetSolStakingSolHistoryBnsolRewardsHistory = Entry('sol-staking/sol/history/bnsolRewardsHistory', 'sapi', 'GET', {'cost': 15})
150
+ sapi_get_sol_staking_sol_history_ratehistory = sapiGetSolStakingSolHistoryRateHistory = Entry('sol-staking/sol/history/rateHistory', 'sapi', 'GET', {'cost': 15})
151
+ sapi_get_sol_staking_account = sapiGetSolStakingAccount = Entry('sol-staking/account', 'sapi', 'GET', {'cost': 15})
152
+ sapi_get_sol_staking_sol_quota = sapiGetSolStakingSolQuota = Entry('sol-staking/sol/quota', 'sapi', 'GET', {'cost': 15})
147
153
  sapi_get_mining_pub_algolist = sapiGetMiningPubAlgoList = Entry('mining/pub/algoList', 'sapi', 'GET', {'cost': 0.1})
148
154
  sapi_get_mining_pub_coinlist = sapiGetMiningPubCoinList = Entry('mining/pub/coinList', 'sapi', 'GET', {'cost': 0.1})
149
155
  sapi_get_mining_worker_detail = sapiGetMiningWorkerDetail = Entry('mining/worker/detail', 'sapi', 'GET', {'cost': 0.5})
@@ -331,6 +337,8 @@ class ImplicitAPI:
331
337
  sapi_post_eth_staking_eth_stake = sapiPostEthStakingEthStake = Entry('eth-staking/eth/stake', 'sapi', 'POST', {'cost': 15})
332
338
  sapi_post_eth_staking_eth_redeem = sapiPostEthStakingEthRedeem = Entry('eth-staking/eth/redeem', 'sapi', 'POST', {'cost': 15})
333
339
  sapi_post_eth_staking_wbeth_wrap = sapiPostEthStakingWbethWrap = Entry('eth-staking/wbeth/wrap', 'sapi', 'POST', {'cost': 15})
340
+ sapi_post_sol_staking_sol_stake = sapiPostSolStakingSolStake = Entry('sol-staking/sol/stake', 'sapi', 'POST', {'cost': 15})
341
+ sapi_post_sol_staking_sol_redeem = sapiPostSolStakingSolRedeem = Entry('sol-staking/sol/redeem', 'sapi', 'POST', {'cost': 15})
334
342
  sapi_post_mining_hash_transfer_config = sapiPostMiningHashTransferConfig = Entry('mining/hash-transfer/config', 'sapi', 'POST', {'cost': 0.5})
335
343
  sapi_post_mining_hash_transfer_config_cancel = sapiPostMiningHashTransferConfigCancel = Entry('mining/hash-transfer/config/cancel', 'sapi', 'POST', {'cost': 0.5})
336
344
  sapi_post_portfolio_repay = sapiPostPortfolioRepay = Entry('portfolio/repay', 'sapi', 'POST', {'cost': 20.001})
@@ -363,6 +371,7 @@ class ImplicitAPI:
363
371
  sapi_post_simple_earn_locked_redeem = sapiPostSimpleEarnLockedRedeem = Entry('simple-earn/locked/redeem', 'sapi', 'POST', {'cost': 0.1})
364
372
  sapi_post_simple_earn_flexible_setautosubscribe = sapiPostSimpleEarnFlexibleSetAutoSubscribe = Entry('simple-earn/flexible/setAutoSubscribe', 'sapi', 'POST', {'cost': 15})
365
373
  sapi_post_simple_earn_locked_setautosubscribe = sapiPostSimpleEarnLockedSetAutoSubscribe = Entry('simple-earn/locked/setAutoSubscribe', 'sapi', 'POST', {'cost': 15})
374
+ sapi_post_simple_earn_locked_setredeemoption = sapiPostSimpleEarnLockedSetRedeemOption = Entry('simple-earn/locked/setRedeemOption', 'sapi', 'POST', {'cost': 5})
366
375
  sapi_post_dci_product_subscribe = sapiPostDciProductSubscribe = Entry('dci/product/subscribe', 'sapi', 'POST', {'cost': 0.1})
367
376
  sapi_post_dci_product_auto_compound_edit = sapiPostDciProductAutoCompoundEdit = Entry('dci/product/auto_compound/edit', 'sapi', 'POST', {'cost': 0.1})
368
377
  sapi_put_userdatastream = sapiPutUserDataStream = Entry('userDataStream', 'sapi', 'PUT', {'cost': 0.1})
@@ -61,6 +61,7 @@ class alpaca(Exchange, ImplicitAPI):
61
61
  'closeAllPositions': False,
62
62
  'closePosition': False,
63
63
  'createOrder': True,
64
+ 'editOrder': True,
64
65
  'fetchBalance': False,
65
66
  'fetchBidsAsks': False,
66
67
  'fetchClosedOrders': True,
@@ -142,6 +143,7 @@ class alpaca(Exchange, ImplicitAPI):
142
143
  'v2/wallets/transfers',
143
144
  ],
144
145
  'put': [
146
+ 'v2/orders/{order_id}',
145
147
  'v2/watchlists/{watchlist_id}',
146
148
  'v2/watchlists:by_name',
147
149
  ],
@@ -800,6 +802,15 @@ class alpaca(Exchange, ImplicitAPI):
800
802
  results.append(ticker)
801
803
  return self.filter_by_array(results, 'symbol', symbols)
802
804
 
805
+ def generate_client_order_id(self, params):
806
+ clientOrderIdprefix = self.safe_string(self.options, 'clientOrderId')
807
+ uuid = self.uuid()
808
+ parts = uuid.split('-')
809
+ random_id = ''.join(parts)
810
+ defaultClientId = self.implode_params(clientOrderIdprefix, {'id': random_id})
811
+ clientOrderId = self.safe_string(params, 'clientOrderId', defaultClientId)
812
+ return clientOrderId
813
+
803
814
  def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
804
815
  """
805
816
  create a trade order
@@ -836,13 +847,7 @@ class alpaca(Exchange, ImplicitAPI):
836
847
  defaultTIF = self.safe_string(self.options, 'defaultTimeInForce')
837
848
  request['time_in_force'] = self.safe_string(params, 'timeInForce', defaultTIF)
838
849
  params = self.omit(params, ['timeInForce', 'triggerPrice'])
839
- clientOrderIdprefix = self.safe_string(self.options, 'clientOrderId')
840
- uuid = self.uuid()
841
- parts = uuid.split('-')
842
- random_id = ''.join(parts)
843
- defaultClientId = self.implode_params(clientOrderIdprefix, {'id': random_id})
844
- clientOrderId = self.safe_string(params, 'clientOrderId', defaultClientId)
845
- request['client_order_id'] = clientOrderId
850
+ request['client_order_id'] = self.generate_client_order_id(params)
846
851
  params = self.omit(params, ['clientOrderId'])
847
852
  order = self.traderPrivatePostV2Orders(self.extend(request, params))
848
853
  #
@@ -1043,6 +1048,46 @@ class alpaca(Exchange, ImplicitAPI):
1043
1048
  }
1044
1049
  return self.fetch_orders(symbol, since, limit, self.extend(request, params))
1045
1050
 
1051
+ def edit_order(self, id: str, symbol: str, type: OrderType, side: OrderSide, amount: Num = None, price: Num = None, params={}):
1052
+ """
1053
+ edit a trade order
1054
+ :see: https://docs.alpaca.markets/reference/patchorderbyorderid-1
1055
+ :param str id: order id
1056
+ :param str [symbol]: unified symbol of the market to create an order in
1057
+ :param str [type]: 'market', 'limit' or 'stop_limit'
1058
+ :param str [side]: 'buy' or 'sell'
1059
+ :param float [amount]: how much of the currency you want to trade in units of the base currency
1060
+ :param float [price]: the price for the order, in units of the quote currency, ignored in market orders
1061
+ :param dict [params]: extra parameters specific to the exchange API endpoint
1062
+ :param str [params.triggerPrice]: the price to trigger a stop order
1063
+ :param str [params.timeInForce]: for crypto trading either 'gtc' or 'ioc' can be used
1064
+ :param str [params.clientOrderId]: a unique identifier for the order, automatically generated if not sent
1065
+ :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
1066
+ """
1067
+ self.load_markets()
1068
+ request: dict = {
1069
+ 'order_id': id,
1070
+ }
1071
+ market = None
1072
+ if symbol is not None:
1073
+ market = self.market(symbol)
1074
+ if amount is not None:
1075
+ request['qty'] = self.amount_to_precision(symbol, amount)
1076
+ triggerPrice = self.safe_string_n(params, ['triggerPrice', 'stop_price'])
1077
+ if triggerPrice is not None:
1078
+ request['stop_price'] = self.price_to_precision(symbol, triggerPrice)
1079
+ params = self.omit(params, 'triggerPrice')
1080
+ if price is not None:
1081
+ request['limit_price'] = self.price_to_precision(symbol, price)
1082
+ timeInForce = None
1083
+ timeInForce, params = self.handle_option_and_params_2(params, 'editOrder', 'timeInForce', 'defaultTimeInForce')
1084
+ if timeInForce is not None:
1085
+ request['time_in_force'] = timeInForce
1086
+ request['client_order_id'] = self.generate_client_order_id(params)
1087
+ params = self.omit(params, ['clientOrderId'])
1088
+ response = self.traderPrivatePatchV2OrdersOrderId(self.extend(request, params))
1089
+ return self.parse_order(response, market)
1090
+
1046
1091
  def parse_order(self, order: dict, market: Market = None) -> Order:
1047
1092
  #
1048
1093
  # {
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.4.29'
7
+ __version__ = '4.4.30'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -61,6 +61,7 @@ class alpaca(Exchange, ImplicitAPI):
61
61
  'closeAllPositions': False,
62
62
  'closePosition': False,
63
63
  'createOrder': True,
64
+ 'editOrder': True,
64
65
  'fetchBalance': False,
65
66
  'fetchBidsAsks': False,
66
67
  'fetchClosedOrders': True,
@@ -142,6 +143,7 @@ class alpaca(Exchange, ImplicitAPI):
142
143
  'v2/wallets/transfers',
143
144
  ],
144
145
  'put': [
146
+ 'v2/orders/{order_id}',
145
147
  'v2/watchlists/{watchlist_id}',
146
148
  'v2/watchlists:by_name',
147
149
  ],
@@ -800,6 +802,15 @@ class alpaca(Exchange, ImplicitAPI):
800
802
  results.append(ticker)
801
803
  return self.filter_by_array(results, 'symbol', symbols)
802
804
 
805
+ def generate_client_order_id(self, params):
806
+ clientOrderIdprefix = self.safe_string(self.options, 'clientOrderId')
807
+ uuid = self.uuid()
808
+ parts = uuid.split('-')
809
+ random_id = ''.join(parts)
810
+ defaultClientId = self.implode_params(clientOrderIdprefix, {'id': random_id})
811
+ clientOrderId = self.safe_string(params, 'clientOrderId', defaultClientId)
812
+ return clientOrderId
813
+
803
814
  async def create_order(self, symbol: str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
804
815
  """
805
816
  create a trade order
@@ -836,13 +847,7 @@ class alpaca(Exchange, ImplicitAPI):
836
847
  defaultTIF = self.safe_string(self.options, 'defaultTimeInForce')
837
848
  request['time_in_force'] = self.safe_string(params, 'timeInForce', defaultTIF)
838
849
  params = self.omit(params, ['timeInForce', 'triggerPrice'])
839
- clientOrderIdprefix = self.safe_string(self.options, 'clientOrderId')
840
- uuid = self.uuid()
841
- parts = uuid.split('-')
842
- random_id = ''.join(parts)
843
- defaultClientId = self.implode_params(clientOrderIdprefix, {'id': random_id})
844
- clientOrderId = self.safe_string(params, 'clientOrderId', defaultClientId)
845
- request['client_order_id'] = clientOrderId
850
+ request['client_order_id'] = self.generate_client_order_id(params)
846
851
  params = self.omit(params, ['clientOrderId'])
847
852
  order = await self.traderPrivatePostV2Orders(self.extend(request, params))
848
853
  #
@@ -1043,6 +1048,46 @@ class alpaca(Exchange, ImplicitAPI):
1043
1048
  }
1044
1049
  return await self.fetch_orders(symbol, since, limit, self.extend(request, params))
1045
1050
 
1051
+ async def edit_order(self, id: str, symbol: str, type: OrderType, side: OrderSide, amount: Num = None, price: Num = None, params={}):
1052
+ """
1053
+ edit a trade order
1054
+ :see: https://docs.alpaca.markets/reference/patchorderbyorderid-1
1055
+ :param str id: order id
1056
+ :param str [symbol]: unified symbol of the market to create an order in
1057
+ :param str [type]: 'market', 'limit' or 'stop_limit'
1058
+ :param str [side]: 'buy' or 'sell'
1059
+ :param float [amount]: how much of the currency you want to trade in units of the base currency
1060
+ :param float [price]: the price for the order, in units of the quote currency, ignored in market orders
1061
+ :param dict [params]: extra parameters specific to the exchange API endpoint
1062
+ :param str [params.triggerPrice]: the price to trigger a stop order
1063
+ :param str [params.timeInForce]: for crypto trading either 'gtc' or 'ioc' can be used
1064
+ :param str [params.clientOrderId]: a unique identifier for the order, automatically generated if not sent
1065
+ :returns dict: an `order structure <https://docs.ccxt.com/#/?id=order-structure>`
1066
+ """
1067
+ await self.load_markets()
1068
+ request: dict = {
1069
+ 'order_id': id,
1070
+ }
1071
+ market = None
1072
+ if symbol is not None:
1073
+ market = self.market(symbol)
1074
+ if amount is not None:
1075
+ request['qty'] = self.amount_to_precision(symbol, amount)
1076
+ triggerPrice = self.safe_string_n(params, ['triggerPrice', 'stop_price'])
1077
+ if triggerPrice is not None:
1078
+ request['stop_price'] = self.price_to_precision(symbol, triggerPrice)
1079
+ params = self.omit(params, 'triggerPrice')
1080
+ if price is not None:
1081
+ request['limit_price'] = self.price_to_precision(symbol, price)
1082
+ timeInForce = None
1083
+ timeInForce, params = self.handle_option_and_params_2(params, 'editOrder', 'timeInForce', 'defaultTimeInForce')
1084
+ if timeInForce is not None:
1085
+ request['time_in_force'] = timeInForce
1086
+ request['client_order_id'] = self.generate_client_order_id(params)
1087
+ params = self.omit(params, ['clientOrderId'])
1088
+ response = await self.traderPrivatePatchV2OrdersOrderId(self.extend(request, params))
1089
+ return self.parse_order(response, market)
1090
+
1046
1091
  def parse_order(self, order: dict, market: Market = None) -> Order:
1047
1092
  #
1048
1093
  # {
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.4.29'
5
+ __version__ = '4.4.30'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -417,6 +417,12 @@ class binance(Exchange, ImplicitAPI):
417
417
  'eth-staking/wbeth/history/wrapHistory': 15, # Weight(IP): 150 => cost = 0.1 * 150 = 15
418
418
  'eth-staking/wbeth/history/unwrapHistory': 15, # Weight(IP): 150 => cost = 0.1 * 150 = 15
419
419
  'eth-staking/eth/history/wbethRewardsHistory': 15, # Weight(IP): 150 => cost = 0.1 * 150 = 15
420
+ 'sol-staking/sol/history/stakingHistory': 15,
421
+ 'sol-staking/sol/history/redemptionHistory': 15,
422
+ 'sol-staking/sol/history/bnsolRewardsHistory': 15,
423
+ 'sol-staking/sol/history/rateHistory': 15,
424
+ 'sol-staking/account': 15,
425
+ 'sol-staking/sol/quota': 15,
420
426
  # mining endpoints
421
427
  'mining/pub/algoList': 0.1,
422
428
  'mining/pub/coinList': 0.1,
@@ -628,6 +634,8 @@ class binance(Exchange, ImplicitAPI):
628
634
  'eth-staking/eth/stake': 15, # Weight(IP): 150 => cost = 0.1 * 150 = 15
629
635
  'eth-staking/eth/redeem': 15, # Weight(IP): 150 => cost = 0.1 * 150 = 15
630
636
  'eth-staking/wbeth/wrap': 15, # Weight(IP): 150 => cost = 0.1 * 150 = 15
637
+ 'sol-staking/sol/stake': 15,
638
+ 'sol-staking/sol/redeem': 15,
631
639
  # mining endpoints
632
640
  'mining/hash-transfer/config': 0.5, # Weight(IP): 5 => cost = 0.1 * 5 = 0.5
633
641
  'mining/hash-transfer/config/cancel': 0.5, # Weight(IP): 5 => cost = 0.1 * 5 = 0.5
@@ -662,6 +670,7 @@ class binance(Exchange, ImplicitAPI):
662
670
  'simple-earn/locked/redeem': 0.1,
663
671
  'simple-earn/flexible/setAutoSubscribe': 15,
664
672
  'simple-earn/locked/setAutoSubscribe': 15,
673
+ 'simple-earn/locked/setRedeemOption': 5,
665
674
  # convert
666
675
  'dci/product/subscribe': 0.1,
667
676
  'dci/product/auto_compound/edit': 0.1,
@@ -226,11 +226,11 @@ class bitbns(Exchange, ImplicitAPI):
226
226
  quoteId = self.safe_string(market, 'quote')
227
227
  base = self.safe_currency_code(baseId)
228
228
  quote = self.safe_currency_code(quoteId)
229
- marketPrecision = self.safe_value(market, 'precision', {})
230
- marketLimits = self.safe_value(market, 'limits', {})
231
- amountLimits = self.safe_value(marketLimits, 'amount', {})
232
- priceLimits = self.safe_value(marketLimits, 'price', {})
233
- costLimits = self.safe_value(marketLimits, 'cost', {})
229
+ marketPrecision = self.safe_dict(market, 'precision', {})
230
+ marketLimits = self.safe_dict(market, 'limits', {})
231
+ amountLimits = self.safe_dict(marketLimits, 'amount', {})
232
+ priceLimits = self.safe_dict(marketLimits, 'price', {})
233
+ costLimits = self.safe_dict(marketLimits, 'cost', {})
234
234
  usdt = (quoteId == 'USDT')
235
235
  # INR markets don't need a _INR prefix
236
236
  uppercaseId = (baseId + '_' + quoteId) if usdt else baseId
@@ -430,7 +430,7 @@ class bitbns(Exchange, ImplicitAPI):
430
430
  'timestamp': timestamp,
431
431
  'datetime': self.iso8601(timestamp),
432
432
  }
433
- data = self.safe_value(response, 'data', {})
433
+ data = self.safe_dict(response, 'data', {})
434
434
  keys = list(data.keys())
435
435
  for i in range(0, len(keys)):
436
436
  key = keys[i]
@@ -637,7 +637,7 @@ class bitbns(Exchange, ImplicitAPI):
637
637
  raise ArgumentsRequired(self.id + ' cancelOrder() requires a symbol argument')
638
638
  await self.load_markets()
639
639
  market = self.market(symbol)
640
- isTrigger = self.safe_value_2(params, 'trigger', 'stop')
640
+ isTrigger = self.safe_bool_2(params, 'trigger', 'stop')
641
641
  params = self.omit(params, ['trigger', 'stop'])
642
642
  request: dict = {
643
643
  'entry_id': id,
@@ -668,7 +668,7 @@ class bitbns(Exchange, ImplicitAPI):
668
668
  'symbol': market['id'],
669
669
  'entry_id': id,
670
670
  }
671
- trigger = self.safe_value_2(params, 'trigger', 'stop')
671
+ trigger = self.safe_bool_2(params, 'trigger', 'stop')
672
672
  if trigger:
673
673
  raise BadRequest(self.id + ' fetchOrder cannot fetch stop orders')
674
674
  response = await self.v1PostOrderStatusSymbol(self.extend(request, params))
@@ -697,7 +697,7 @@ class bitbns(Exchange, ImplicitAPI):
697
697
  # "code":200
698
698
  # }
699
699
  #
700
- data = self.safe_value(response, 'data', [])
700
+ data = self.safe_list(response, 'data', [])
701
701
  first = self.safe_dict(data, 0)
702
702
  return self.parse_order(first, market)
703
703
 
@@ -717,7 +717,7 @@ class bitbns(Exchange, ImplicitAPI):
717
717
  raise ArgumentsRequired(self.id + ' fetchOpenOrders() requires a symbol argument')
718
718
  await self.load_markets()
719
719
  market = self.market(symbol)
720
- isTrigger = self.safe_value_2(params, 'trigger', 'stop')
720
+ isTrigger = self.safe_bool_2(params, 'trigger', 'stop')
721
721
  params = self.omit(params, ['trigger', 'stop'])
722
722
  quoteSide = 'usdtListOpen' if (market['quoteId'] == 'USDT') else 'listOpen'
723
723
  request: dict = {
@@ -1000,7 +1000,7 @@ class bitbns(Exchange, ImplicitAPI):
1000
1000
  '6': 'ok', # Completed
1001
1001
  },
1002
1002
  }
1003
- statuses = self.safe_value(statusesByType, type, {})
1003
+ statuses = self.safe_dict(statusesByType, type, {})
1004
1004
  return self.safe_string(statuses, status, status)
1005
1005
 
1006
1006
  def parse_transaction(self, transaction: dict, currency: Currency = None) -> Transaction:
@@ -1090,7 +1090,7 @@ class bitbns(Exchange, ImplicitAPI):
1090
1090
  # "error":null
1091
1091
  # }
1092
1092
  #
1093
- data = self.safe_value(response, 'data', {})
1093
+ data = self.safe_dict(response, 'data', {})
1094
1094
  address = self.safe_string(data, 'token')
1095
1095
  tag = self.safe_string(data, 'tag')
1096
1096
  self.check_address(address)
@@ -435,7 +435,7 @@ class bitfinex(Exchange, ImplicitAPI):
435
435
  # }
436
436
  # }
437
437
  #
438
- fees = self.safe_value(response, 'withdraw')
438
+ fees = self.safe_dict(response, 'withdraw', {})
439
439
  ids = list(fees.keys())
440
440
  for i in range(0, len(ids)):
441
441
  id = ids[i]
@@ -536,7 +536,7 @@ class bitfinex(Exchange, ImplicitAPI):
536
536
  # }
537
537
  #
538
538
  result: dict = {}
539
- fiat = self.safe_value(self.options, 'fiat', {})
539
+ fiat = self.safe_dict(self.options, 'fiat', {})
540
540
  makerFee = self.safe_number(response, 'maker_fee')
541
541
  takerFee = self.safe_number(response, 'taker_fee')
542
542
  makerFee2Fiat = self.safe_number(response, 'maker_fee_2fiat')
@@ -625,7 +625,7 @@ class bitfinex(Exchange, ImplicitAPI):
625
625
  'settleId': None,
626
626
  'type': type,
627
627
  'spot': (type == 'spot'),
628
- 'margin': self.safe_value(market, 'margin'),
628
+ 'margin': self.safe_bool(market, 'margin'),
629
629
  'swap': (type == 'swap'),
630
630
  'future': False,
631
631
  'option': False,
@@ -692,7 +692,7 @@ class bitfinex(Exchange, ImplicitAPI):
692
692
  :returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
693
693
  """
694
694
  await self.load_markets()
695
- accountsByType = self.safe_value(self.options, 'accountsByType', {})
695
+ accountsByType = self.safe_dict(self.options, 'accountsByType', {})
696
696
  requestedType = self.safe_string(params, 'type', 'exchange')
697
697
  accountType = self.safe_string(accountsByType, requestedType, requestedType)
698
698
  if accountType is None:
@@ -750,7 +750,7 @@ class bitfinex(Exchange, ImplicitAPI):
750
750
  # transferring between derivatives wallet and regular wallet is not documented in their API
751
751
  # however we support it in CCXT(from just looking at web inspector)
752
752
  await self.load_markets()
753
- accountsByType = self.safe_value(self.options, 'accountsByType', {})
753
+ accountsByType = self.safe_dict(self.options, 'accountsByType', {})
754
754
  fromId = self.safe_string(accountsByType, fromAccount, fromAccount)
755
755
  toId = self.safe_string(accountsByType, toAccount, toAccount)
756
756
  currency = self.currency(code)
@@ -1191,8 +1191,8 @@ class bitfinex(Exchange, ImplicitAPI):
1191
1191
  # }
1192
1192
  #
1193
1193
  side = self.safe_string(order, 'side')
1194
- open = self.safe_value(order, 'is_live')
1195
- canceled = self.safe_value(order, 'is_cancelled')
1194
+ open = self.safe_bool(order, 'is_live')
1195
+ canceled = self.safe_bool(order, 'is_cancelled')
1196
1196
  status = None
1197
1197
  if open:
1198
1198
  status = 'open'
@@ -1564,7 +1564,7 @@ class bitfinex(Exchange, ImplicitAPI):
1564
1564
  # }
1565
1565
  # ]
1566
1566
  #
1567
- response = self.safe_value(responses, 0, {})
1567
+ response = self.safe_dict(responses, 0, {})
1568
1568
  id = self.safe_integer(response, 'withdrawal_id')
1569
1569
  message = self.safe_string(response, 'message')
1570
1570
  errorMessage = self.find_broadly_matched_key(self.exceptions['broad'], message)
@@ -1647,7 +1647,7 @@ class bitfinex(Exchange, ImplicitAPI):
1647
1647
  else:
1648
1648
  # json response with error, i.e:
1649
1649
  # [{"status":"error","message":"Momentary balance check. Please wait few seconds and try the transfer again."}]
1650
- responseObject = self.safe_value(response, 0, {})
1650
+ responseObject = self.safe_dict(response, 0, {})
1651
1651
  status = self.safe_string(responseObject, 'status', '')
1652
1652
  if status == 'error':
1653
1653
  throwError = True