ccxt 4.3.5__tar.gz → 4.3.6__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 (543) hide show
  1. {ccxt-4.3.5/ccxt.egg-info → ccxt-4.3.6}/PKG-INFO +4 -4
  2. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/__init__.py +1 -1
  3. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/binance.py +1 -0
  4. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/binancecoinm.py +1 -0
  5. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/binanceus.py +1 -0
  6. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/binanceusdm.py +1 -0
  7. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bingx.py +1 -0
  8. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/woo.py +1 -0
  9. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/__init__.py +1 -1
  10. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/base/exchange.py +4 -1
  11. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/binance.py +2 -0
  12. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bingx.py +40 -0
  13. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bitmex.py +22 -0
  14. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bybit.py +81 -1
  15. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/coinbase.py +4 -4
  16. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/coinex.py +29 -32
  17. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/cryptocom.py +30 -1
  18. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/htx.py +26 -0
  19. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/hyperliquid.py +37 -0
  20. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/kraken.py +27 -0
  21. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/krakenfutures.py +26 -0
  22. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/kucoinfutures.py +2 -2
  23. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/okx.py +104 -1
  24. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/whitebit.py +37 -0
  25. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/woo.py +27 -0
  26. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/base/exchange.py +4 -1
  27. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/binance.py +2 -0
  28. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bingx.py +40 -0
  29. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bitmex.py +22 -0
  30. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bybit.py +81 -1
  31. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/coinbase.py +4 -4
  32. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/coinex.py +29 -32
  33. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/cryptocom.py +30 -1
  34. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/htx.py +26 -0
  35. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/hyperliquid.py +37 -0
  36. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/kraken.py +27 -0
  37. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/krakenfutures.py +26 -0
  38. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/kucoinfutures.py +2 -2
  39. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/okx.py +104 -1
  40. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/__init__.py +1 -1
  41. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/bitget.py +1 -1
  42. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/test_async.py +2 -0
  43. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/test_sync.py +2 -0
  44. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/whitebit.py +37 -0
  45. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/woo.py +27 -0
  46. {ccxt-4.3.5 → ccxt-4.3.6/ccxt.egg-info}/PKG-INFO +4 -4
  47. {ccxt-4.3.5 → ccxt-4.3.6}/package.json +1 -1
  48. {ccxt-4.3.5 → ccxt-4.3.6}/LICENSE.txt +0 -0
  49. {ccxt-4.3.5 → ccxt-4.3.6}/MANIFEST.in +0 -0
  50. {ccxt-4.3.5 → ccxt-4.3.6}/README.rst +0 -0
  51. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/__init__.py +0 -0
  52. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/ace.py +0 -0
  53. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/alpaca.py +0 -0
  54. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/ascendex.py +0 -0
  55. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bequant.py +0 -0
  56. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bigone.py +0 -0
  57. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bit2c.py +0 -0
  58. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bitbank.py +0 -0
  59. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bitbay.py +0 -0
  60. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bitbns.py +0 -0
  61. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bitcoincom.py +0 -0
  62. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bitfinex.py +0 -0
  63. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bitfinex2.py +0 -0
  64. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bitflyer.py +0 -0
  65. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bitget.py +0 -0
  66. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bithumb.py +0 -0
  67. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bitmart.py +0 -0
  68. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bitmex.py +0 -0
  69. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bitopro.py +0 -0
  70. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bitpanda.py +0 -0
  71. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bitrue.py +0 -0
  72. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bitso.py +0 -0
  73. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bitstamp.py +0 -0
  74. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bitteam.py +0 -0
  75. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bitvavo.py +0 -0
  76. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bl3p.py +0 -0
  77. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/blockchaincom.py +0 -0
  78. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/blofin.py +0 -0
  79. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/btcalpha.py +0 -0
  80. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/btcbox.py +0 -0
  81. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/btcmarkets.py +0 -0
  82. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/btcturk.py +0 -0
  83. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/bybit.py +0 -0
  84. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/cex.py +0 -0
  85. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/coinbase.py +0 -0
  86. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/coinbaseinternational.py +0 -0
  87. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/coinbasepro.py +0 -0
  88. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/coincheck.py +0 -0
  89. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/coinex.py +0 -0
  90. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/coinlist.py +0 -0
  91. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/coinmate.py +0 -0
  92. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/coinmetro.py +0 -0
  93. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/coinone.py +0 -0
  94. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/coinsph.py +0 -0
  95. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/coinspot.py +0 -0
  96. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/cryptocom.py +0 -0
  97. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/currencycom.py +0 -0
  98. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/delta.py +0 -0
  99. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/deribit.py +0 -0
  100. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/digifinex.py +0 -0
  101. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/exmo.py +0 -0
  102. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/fmfwio.py +0 -0
  103. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/gate.py +0 -0
  104. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/gateio.py +0 -0
  105. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/gemini.py +0 -0
  106. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/hitbtc.py +0 -0
  107. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/hitbtc3.py +0 -0
  108. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/hollaex.py +0 -0
  109. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/htx.py +0 -0
  110. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/huobi.py +0 -0
  111. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/huobijp.py +0 -0
  112. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/hyperliquid.py +0 -0
  113. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/idex.py +0 -0
  114. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/independentreserve.py +0 -0
  115. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/indodax.py +0 -0
  116. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/kraken.py +0 -0
  117. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/krakenfutures.py +0 -0
  118. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/kucoin.py +0 -0
  119. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/kucoinfutures.py +0 -0
  120. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/kuna.py +0 -0
  121. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/latoken.py +0 -0
  122. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/lbank.py +0 -0
  123. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/luno.py +0 -0
  124. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/lykke.py +0 -0
  125. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/mercado.py +0 -0
  126. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/mexc.py +0 -0
  127. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/ndax.py +0 -0
  128. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/novadax.py +0 -0
  129. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/oceanex.py +0 -0
  130. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/okcoin.py +0 -0
  131. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/okx.py +0 -0
  132. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/onetrading.py +0 -0
  133. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/p2b.py +0 -0
  134. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/paymium.py +0 -0
  135. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/phemex.py +0 -0
  136. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/poloniex.py +0 -0
  137. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/poloniexfutures.py +0 -0
  138. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/probit.py +0 -0
  139. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/timex.py +0 -0
  140. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/tokocrypto.py +0 -0
  141. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/tradeogre.py +0 -0
  142. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/upbit.py +0 -0
  143. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/wavesexchange.py +0 -0
  144. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/wazirx.py +0 -0
  145. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/whitebit.py +0 -0
  146. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/yobit.py +0 -0
  147. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/zaif.py +0 -0
  148. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/abstract/zonda.py +0 -0
  149. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/ace.py +0 -0
  150. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/alpaca.py +0 -0
  151. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/ascendex.py +0 -0
  152. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/ace.py +0 -0
  153. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/alpaca.py +0 -0
  154. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/ascendex.py +0 -0
  155. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/base/__init__.py +0 -0
  156. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/base/throttler.py +0 -0
  157. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/base/ws/__init__.py +0 -0
  158. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  159. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/base/ws/cache.py +0 -0
  160. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/base/ws/client.py +0 -0
  161. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/base/ws/fast_client.py +0 -0
  162. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/base/ws/functions.py +0 -0
  163. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/base/ws/future.py +0 -0
  164. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/base/ws/order_book.py +0 -0
  165. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  166. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bequant.py +0 -0
  167. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bigone.py +0 -0
  168. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/binancecoinm.py +0 -0
  169. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/binanceus.py +0 -0
  170. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/binanceusdm.py +0 -0
  171. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bit2c.py +0 -0
  172. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bitbank.py +0 -0
  173. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bitbay.py +0 -0
  174. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bitbns.py +0 -0
  175. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bitcoincom.py +0 -0
  176. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bitfinex.py +0 -0
  177. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bitfinex2.py +0 -0
  178. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bitflyer.py +0 -0
  179. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bitget.py +0 -0
  180. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bithumb.py +0 -0
  181. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bitmart.py +0 -0
  182. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bitopro.py +0 -0
  183. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bitpanda.py +0 -0
  184. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bitrue.py +0 -0
  185. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bitso.py +0 -0
  186. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bitstamp.py +0 -0
  187. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bitteam.py +0 -0
  188. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bitvavo.py +0 -0
  189. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/bl3p.py +0 -0
  190. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/blockchaincom.py +0 -0
  191. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/blofin.py +0 -0
  192. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/btcalpha.py +0 -0
  193. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/btcbox.py +0 -0
  194. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/btcmarkets.py +0 -0
  195. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/btcturk.py +0 -0
  196. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/cex.py +0 -0
  197. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/coinbaseinternational.py +0 -0
  198. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/coinbasepro.py +0 -0
  199. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/coincheck.py +0 -0
  200. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/coinlist.py +0 -0
  201. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/coinmate.py +0 -0
  202. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/coinmetro.py +0 -0
  203. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/coinone.py +0 -0
  204. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/coinsph.py +0 -0
  205. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/coinspot.py +0 -0
  206. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/currencycom.py +0 -0
  207. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/delta.py +0 -0
  208. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/deribit.py +0 -0
  209. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/digifinex.py +0 -0
  210. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/exmo.py +0 -0
  211. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/flowbtc.py +0 -0
  212. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/fmfwio.py +0 -0
  213. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/gate.py +0 -0
  214. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/gateio.py +0 -0
  215. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/gemini.py +0 -0
  216. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/hitbtc.py +0 -0
  217. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/hitbtc3.py +0 -0
  218. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/hollaex.py +0 -0
  219. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/huobi.py +0 -0
  220. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/huobijp.py +0 -0
  221. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/idex.py +0 -0
  222. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/independentreserve.py +0 -0
  223. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/indodax.py +0 -0
  224. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/kucoin.py +0 -0
  225. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/kuna.py +0 -0
  226. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/latoken.py +0 -0
  227. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/lbank.py +0 -0
  228. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/luno.py +0 -0
  229. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/lykke.py +0 -0
  230. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/mercado.py +0 -0
  231. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/mexc.py +0 -0
  232. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/ndax.py +0 -0
  233. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/novadax.py +0 -0
  234. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/oceanex.py +0 -0
  235. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/okcoin.py +0 -0
  236. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/onetrading.py +0 -0
  237. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/p2b.py +0 -0
  238. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/paymium.py +0 -0
  239. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/phemex.py +0 -0
  240. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/poloniex.py +0 -0
  241. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/poloniexfutures.py +0 -0
  242. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/probit.py +0 -0
  243. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/timex.py +0 -0
  244. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/tokocrypto.py +0 -0
  245. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/tradeogre.py +0 -0
  246. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/upbit.py +0 -0
  247. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/wavesexchange.py +0 -0
  248. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/wazirx.py +0 -0
  249. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/yobit.py +0 -0
  250. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/zaif.py +0 -0
  251. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/async_support/zonda.py +0 -0
  252. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/base/__init__.py +0 -0
  253. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/base/decimal_to_precision.py +0 -0
  254. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/base/errors.py +0 -0
  255. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/base/precise.py +0 -0
  256. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/base/types.py +0 -0
  257. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bequant.py +0 -0
  258. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bigone.py +0 -0
  259. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/binancecoinm.py +0 -0
  260. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/binanceus.py +0 -0
  261. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/binanceusdm.py +0 -0
  262. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bit2c.py +0 -0
  263. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bitbank.py +0 -0
  264. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bitbay.py +0 -0
  265. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bitbns.py +0 -0
  266. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bitcoincom.py +0 -0
  267. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bitfinex.py +0 -0
  268. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bitfinex2.py +0 -0
  269. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bitflyer.py +0 -0
  270. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bitget.py +0 -0
  271. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bithumb.py +0 -0
  272. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bitmart.py +0 -0
  273. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bitopro.py +0 -0
  274. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bitpanda.py +0 -0
  275. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bitrue.py +0 -0
  276. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bitso.py +0 -0
  277. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bitstamp.py +0 -0
  278. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bitteam.py +0 -0
  279. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bitvavo.py +0 -0
  280. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/bl3p.py +0 -0
  281. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/blockchaincom.py +0 -0
  282. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/blofin.py +0 -0
  283. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/btcalpha.py +0 -0
  284. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/btcbox.py +0 -0
  285. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/btcmarkets.py +0 -0
  286. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/btcturk.py +0 -0
  287. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/cex.py +0 -0
  288. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/coinbaseinternational.py +0 -0
  289. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/coinbasepro.py +0 -0
  290. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/coincheck.py +0 -0
  291. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/coinlist.py +0 -0
  292. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/coinmate.py +0 -0
  293. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/coinmetro.py +0 -0
  294. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/coinone.py +0 -0
  295. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/coinsph.py +0 -0
  296. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/coinspot.py +0 -0
  297. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/currencycom.py +0 -0
  298. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/delta.py +0 -0
  299. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/deribit.py +0 -0
  300. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/digifinex.py +0 -0
  301. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/exmo.py +0 -0
  302. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/flowbtc.py +0 -0
  303. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/fmfwio.py +0 -0
  304. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/gate.py +0 -0
  305. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/gateio.py +0 -0
  306. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/gemini.py +0 -0
  307. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/hitbtc.py +0 -0
  308. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/hitbtc3.py +0 -0
  309. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/hollaex.py +0 -0
  310. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/huobi.py +0 -0
  311. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/huobijp.py +0 -0
  312. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/idex.py +0 -0
  313. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/independentreserve.py +0 -0
  314. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/indodax.py +0 -0
  315. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/kucoin.py +0 -0
  316. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/kuna.py +0 -0
  317. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/latoken.py +0 -0
  318. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/lbank.py +0 -0
  319. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/luno.py +0 -0
  320. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/lykke.py +0 -0
  321. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/mercado.py +0 -0
  322. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/mexc.py +0 -0
  323. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/ndax.py +0 -0
  324. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/novadax.py +0 -0
  325. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/oceanex.py +0 -0
  326. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/okcoin.py +0 -0
  327. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/onetrading.py +0 -0
  328. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/p2b.py +0 -0
  329. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/paymium.py +0 -0
  330. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/phemex.py +0 -0
  331. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/poloniex.py +0 -0
  332. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/poloniexfutures.py +0 -0
  333. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/alpaca.py +0 -0
  334. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/ascendex.py +0 -0
  335. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/bequant.py +0 -0
  336. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/binance.py +0 -0
  337. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/binancecoinm.py +0 -0
  338. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/binanceus.py +0 -0
  339. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/binanceusdm.py +0 -0
  340. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/bingx.py +0 -0
  341. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/bitcoincom.py +0 -0
  342. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/bitfinex.py +0 -0
  343. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/bitfinex2.py +0 -0
  344. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/bithumb.py +0 -0
  345. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/bitmart.py +0 -0
  346. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/bitmex.py +0 -0
  347. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/bitopro.py +0 -0
  348. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/bitpanda.py +0 -0
  349. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/bitrue.py +0 -0
  350. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/bitstamp.py +0 -0
  351. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/bitvavo.py +0 -0
  352. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/blockchaincom.py +0 -0
  353. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/bybit.py +0 -0
  354. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/cex.py +0 -0
  355. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/coinbase.py +0 -0
  356. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/coinbaseinternational.py +0 -0
  357. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/coinbasepro.py +0 -0
  358. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/coincheck.py +0 -0
  359. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/coinex.py +0 -0
  360. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/coinone.py +0 -0
  361. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/cryptocom.py +0 -0
  362. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/currencycom.py +0 -0
  363. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/deribit.py +0 -0
  364. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/exmo.py +0 -0
  365. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/gate.py +0 -0
  366. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/gateio.py +0 -0
  367. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/gemini.py +0 -0
  368. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/hitbtc.py +0 -0
  369. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/hollaex.py +0 -0
  370. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/htx.py +0 -0
  371. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/huobi.py +0 -0
  372. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/huobijp.py +0 -0
  373. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/hyperliquid.py +0 -0
  374. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/idex.py +0 -0
  375. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/independentreserve.py +0 -0
  376. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/kraken.py +0 -0
  377. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/krakenfutures.py +0 -0
  378. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/kucoin.py +0 -0
  379. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/kucoinfutures.py +0 -0
  380. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/lbank.py +0 -0
  381. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/luno.py +0 -0
  382. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/mexc.py +0 -0
  383. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/ndax.py +0 -0
  384. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/okcoin.py +0 -0
  385. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/okx.py +0 -0
  386. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/onetrading.py +0 -0
  387. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/p2b.py +0 -0
  388. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/phemex.py +0 -0
  389. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/poloniex.py +0 -0
  390. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/poloniexfutures.py +0 -0
  391. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/probit.py +0 -0
  392. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/upbit.py +0 -0
  393. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/wazirx.py +0 -0
  394. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/whitebit.py +0 -0
  395. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/pro/woo.py +0 -0
  396. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/probit.py +0 -0
  397. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/__init__.py +0 -0
  398. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  399. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  400. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  401. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  402. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  403. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  404. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  405. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  406. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  407. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  408. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  409. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  410. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  411. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  412. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  413. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  414. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  415. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  416. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  417. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  418. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  419. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  420. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  421. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  422. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  423. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  424. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  425. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  426. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  427. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  428. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  429. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  430. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  431. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  432. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  433. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  434. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  435. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  436. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  437. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  438. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  439. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  440. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  441. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  442. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  443. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  444. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  445. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  446. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  447. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  448. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  449. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  450. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  451. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  452. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  453. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  454. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  455. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  456. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  457. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  458. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  459. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  460. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  461. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  462. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  463. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  464. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  465. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  466. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  467. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  468. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  469. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  470. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  471. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  472. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  473. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  474. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  475. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  476. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  477. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  478. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  479. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  480. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  481. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  482. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  483. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  484. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/toolz/_version.py +0 -0
  485. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  486. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  487. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  488. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  489. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  490. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  491. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  492. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  493. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/static_dependencies/toolz/utils.py +0 -0
  494. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/__init__.py +0 -0
  495. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/__init__.py +0 -0
  496. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_account.py +0 -0
  497. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_balance.py +0 -0
  498. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_borrow_interest.py +0 -0
  499. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_borrow_rate.py +0 -0
  500. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_calculate_fee.py +0 -0
  501. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_crypto.py +0 -0
  502. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_currency.py +0 -0
  503. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_datetime.py +0 -0
  504. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_decimal_to_precision.py +0 -0
  505. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_deep_extend.py +0 -0
  506. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
  507. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
  508. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_funding_rate_history.py +0 -0
  509. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_last_price.py +0 -0
  510. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_ledger_entry.py +0 -0
  511. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_ledger_item.py +0 -0
  512. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_leverage_tier.py +0 -0
  513. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_margin_mode.py +0 -0
  514. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_margin_modification.py +0 -0
  515. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_market.py +0 -0
  516. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_number.py +0 -0
  517. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_ohlcv.py +0 -0
  518. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_open_interest.py +0 -0
  519. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_order.py +0 -0
  520. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_order_book.py +0 -0
  521. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_position.py +0 -0
  522. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_shared_methods.py +0 -0
  523. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_status.py +0 -0
  524. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_throttle.py +0 -0
  525. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_ticker.py +0 -0
  526. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_trade.py +0 -0
  527. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_trading_fee.py +0 -0
  528. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/test/base/test_transaction.py +0 -0
  529. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/timex.py +0 -0
  530. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/tokocrypto.py +0 -0
  531. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/tradeogre.py +0 -0
  532. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/upbit.py +0 -0
  533. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/wavesexchange.py +0 -0
  534. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/wazirx.py +0 -0
  535. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/yobit.py +0 -0
  536. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/zaif.py +0 -0
  537. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt/zonda.py +0 -0
  538. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt.egg-info/SOURCES.txt +0 -0
  539. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt.egg-info/dependency_links.txt +0 -0
  540. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt.egg-info/requires.txt +0 -0
  541. {ccxt-4.3.5 → ccxt-4.3.6}/ccxt.egg-info/top_level.txt +0 -0
  542. {ccxt-4.3.5 → ccxt-4.3.6}/setup.cfg +0 -0
  543. {ccxt-4.3.5 → ccxt-4.3.6}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.3.5
3
+ Version: 4.3.6
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
@@ -226,13 +226,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
226
226
 
227
227
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
228
228
 
229
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.5/dist/ccxt.browser.js
230
- * unpkg: https://unpkg.com/ccxt@4.3.5/dist/ccxt.browser.js
229
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.6/dist/ccxt.browser.js
230
+ * unpkg: https://unpkg.com/ccxt@4.3.6/dist/ccxt.browser.js
231
231
 
232
232
  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.
233
233
 
234
234
  ```HTML
235
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.5/dist/ccxt.browser.js"></script>
235
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.6/dist/ccxt.browser.js"></script>
236
236
  ```
237
237
 
238
238
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.3.5'
25
+ __version__ = '4.3.6'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -87,6 +87,7 @@ class ImplicitAPI:
87
87
  sapi_get_capital_deposit_subaddress = sapiGetCapitalDepositSubAddress = Entry('capital/deposit/subAddress', 'sapi', 'GET', {'cost': 0.1})
88
88
  sapi_get_capital_deposit_subhisrec = sapiGetCapitalDepositSubHisrec = Entry('capital/deposit/subHisrec', 'sapi', 'GET', {'cost': 0.1})
89
89
  sapi_get_capital_withdraw_history = sapiGetCapitalWithdrawHistory = Entry('capital/withdraw/history', 'sapi', 'GET', {'cost': 1800})
90
+ sapi_get_capital_withdraw_address_list = sapiGetCapitalWithdrawAddressList = Entry('capital/withdraw/address/list', 'sapi', 'GET', {'cost': 10})
90
91
  sapi_get_capital_contract_convertible_coins = sapiGetCapitalContractConvertibleCoins = Entry('capital/contract/convertible-coins', 'sapi', 'GET', {'cost': 4.0002})
91
92
  sapi_get_convert_tradeflow = sapiGetConvertTradeFlow = Entry('convert/tradeFlow', 'sapi', 'GET', {'cost': 20.001})
92
93
  sapi_get_convert_exchangeinfo = sapiGetConvertExchangeInfo = Entry('convert/exchangeInfo', 'sapi', 'GET', {'cost': 50})
@@ -87,6 +87,7 @@ class ImplicitAPI:
87
87
  sapi_get_capital_deposit_subaddress = sapiGetCapitalDepositSubAddress = Entry('capital/deposit/subAddress', 'sapi', 'GET', {'cost': 0.1})
88
88
  sapi_get_capital_deposit_subhisrec = sapiGetCapitalDepositSubHisrec = Entry('capital/deposit/subHisrec', 'sapi', 'GET', {'cost': 0.1})
89
89
  sapi_get_capital_withdraw_history = sapiGetCapitalWithdrawHistory = Entry('capital/withdraw/history', 'sapi', 'GET', {'cost': 1800})
90
+ sapi_get_capital_withdraw_address_list = sapiGetCapitalWithdrawAddressList = Entry('capital/withdraw/address/list', 'sapi', 'GET', {'cost': 10})
90
91
  sapi_get_capital_contract_convertible_coins = sapiGetCapitalContractConvertibleCoins = Entry('capital/contract/convertible-coins', 'sapi', 'GET', {'cost': 4.0002})
91
92
  sapi_get_convert_tradeflow = sapiGetConvertTradeFlow = Entry('convert/tradeFlow', 'sapi', 'GET', {'cost': 20.001})
92
93
  sapi_get_convert_exchangeinfo = sapiGetConvertExchangeInfo = Entry('convert/exchangeInfo', 'sapi', 'GET', {'cost': 50})
@@ -87,6 +87,7 @@ class ImplicitAPI:
87
87
  sapi_get_capital_deposit_subaddress = sapiGetCapitalDepositSubAddress = Entry('capital/deposit/subAddress', 'sapi', 'GET', {'cost': 0.1})
88
88
  sapi_get_capital_deposit_subhisrec = sapiGetCapitalDepositSubHisrec = Entry('capital/deposit/subHisrec', 'sapi', 'GET', {'cost': 0.1})
89
89
  sapi_get_capital_withdraw_history = sapiGetCapitalWithdrawHistory = Entry('capital/withdraw/history', 'sapi', 'GET', {'cost': 1800})
90
+ sapi_get_capital_withdraw_address_list = sapiGetCapitalWithdrawAddressList = Entry('capital/withdraw/address/list', 'sapi', 'GET', {'cost': 10})
90
91
  sapi_get_capital_contract_convertible_coins = sapiGetCapitalContractConvertibleCoins = Entry('capital/contract/convertible-coins', 'sapi', 'GET', {'cost': 4.0002})
91
92
  sapi_get_convert_tradeflow = sapiGetConvertTradeFlow = Entry('convert/tradeFlow', 'sapi', 'GET', {'cost': 20.001})
92
93
  sapi_get_convert_exchangeinfo = sapiGetConvertExchangeInfo = Entry('convert/exchangeInfo', 'sapi', 'GET', {'cost': 50})
@@ -87,6 +87,7 @@ class ImplicitAPI:
87
87
  sapi_get_capital_deposit_subaddress = sapiGetCapitalDepositSubAddress = Entry('capital/deposit/subAddress', 'sapi', 'GET', {'cost': 0.1})
88
88
  sapi_get_capital_deposit_subhisrec = sapiGetCapitalDepositSubHisrec = Entry('capital/deposit/subHisrec', 'sapi', 'GET', {'cost': 0.1})
89
89
  sapi_get_capital_withdraw_history = sapiGetCapitalWithdrawHistory = Entry('capital/withdraw/history', 'sapi', 'GET', {'cost': 1800})
90
+ sapi_get_capital_withdraw_address_list = sapiGetCapitalWithdrawAddressList = Entry('capital/withdraw/address/list', 'sapi', 'GET', {'cost': 10})
90
91
  sapi_get_capital_contract_convertible_coins = sapiGetCapitalContractConvertibleCoins = Entry('capital/contract/convertible-coins', 'sapi', 'GET', {'cost': 4.0002})
91
92
  sapi_get_convert_tradeflow = sapiGetConvertTradeFlow = Entry('convert/tradeFlow', 'sapi', 'GET', {'cost': 20.001})
92
93
  sapi_get_convert_exchangeinfo = sapiGetConvertExchangeInfo = Entry('convert/exchangeInfo', 'sapi', 'GET', {'cost': 50})
@@ -62,6 +62,7 @@ class ImplicitAPI:
62
62
  swap_v2_private_post_trade_order = swapV2PrivatePostTradeOrder = Entry('trade/order', ['swap', 'v2', 'private'], 'POST', {'cost': 3})
63
63
  swap_v2_private_post_trade_batchorders = swapV2PrivatePostTradeBatchOrders = Entry('trade/batchOrders', ['swap', 'v2', 'private'], 'POST', {'cost': 3})
64
64
  swap_v2_private_post_trade_closeallpositions = swapV2PrivatePostTradeCloseAllPositions = Entry('trade/closeAllPositions', ['swap', 'v2', 'private'], 'POST', {'cost': 3})
65
+ swap_v2_private_post_trade_cancelallafter = swapV2PrivatePostTradeCancelAllAfter = Entry('trade/cancelAllAfter', ['swap', 'v2', 'private'], 'POST', {'cost': 3})
65
66
  swap_v2_private_post_trade_margintype = swapV2PrivatePostTradeMarginType = Entry('trade/marginType', ['swap', 'v2', 'private'], 'POST', {'cost': 3})
66
67
  swap_v2_private_post_trade_leverage = swapV2PrivatePostTradeLeverage = Entry('trade/leverage', ['swap', 'v2', 'private'], 'POST', {'cost': 3})
67
68
  swap_v2_private_post_trade_positionmargin = swapV2PrivatePostTradePositionMargin = Entry('trade/positionMargin', ['swap', 'v2', 'private'], 'POST', {'cost': 3})
@@ -43,6 +43,7 @@ class ImplicitAPI:
43
43
  v1_private_get_position_symbol = v1PrivateGetPositionSymbol = Entry('position/{symbol}', ['v1', 'private'], 'GET', {'cost': 3.33})
44
44
  v1_private_get_client_transaction_history = v1PrivateGetClientTransactionHistory = Entry('client/transaction_history', ['v1', 'private'], 'GET', {'cost': 60})
45
45
  v1_private_post_order = v1PrivatePostOrder = Entry('order', ['v1', 'private'], 'POST', {'cost': 5})
46
+ v1_private_post_order_cancel_all_after = v1PrivatePostOrderCancelAllAfter = Entry('order/cancel_all_after', ['v1', 'private'], 'POST', {'cost': 1})
46
47
  v1_private_post_asset_main_sub_transfer = v1PrivatePostAssetMainSubTransfer = Entry('asset/main_sub_transfer', ['v1', 'private'], 'POST', {'cost': 30})
47
48
  v1_private_post_asset_ltv = v1PrivatePostAssetLtv = Entry('asset/ltv', ['v1', 'private'], 'POST', {'cost': 30})
48
49
  v1_private_post_asset_withdraw = v1PrivatePostAssetWithdraw = Entry('asset/withdraw', ['v1', 'private'], 'POST', {'cost': 30})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.5'
7
+ __version__ = '4.3.6'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.3.5'
5
+ __version__ = '4.3.6'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -1348,6 +1348,9 @@ class Exchange(BaseExchange):
1348
1348
  async def cancel_all_orders(self, symbol: Str = None, params={}):
1349
1349
  raise NotSupported(self.id + ' cancelAllOrders() is not supported yet')
1350
1350
 
1351
+ async def cancel_all_orders_after(self, timeout: Int, params={}):
1352
+ raise NotSupported(self.id + ' cancelAllOrdersAfter() is not supported yet')
1353
+
1351
1354
  async def cancel_orders_for_symbols(self, orders: List[CancellationRequest], params={}):
1352
1355
  raise NotSupported(self.id + ' cancelOrdersForSymbols() is not supported yet')
1353
1356
 
@@ -344,6 +344,7 @@ class binance(Exchange, ImplicitAPI):
344
344
  'capital/deposit/subAddress': 0.1,
345
345
  'capital/deposit/subHisrec': 0.1,
346
346
  'capital/withdraw/history': 1800, # Weight(IP): 18000 => cost = 0.1 * 18000 = 1800
347
+ 'capital/withdraw/address/list': 10,
347
348
  'capital/contract/convertible-coins': 4.0002, # Weight(UID): 600 => cost = 0.006667 * 600 = 4.0002
348
349
  'convert/tradeFlow': 20.001, # Weight(UID): 3000 => cost = 0.006667 * 3000 = 20.001
349
350
  'convert/exchangeInfo': 50,
@@ -3988,6 +3989,7 @@ class binance(Exchange, ImplicitAPI):
3988
3989
  :param str[] [symbols]: unified symbols of the markets to fetch the ticker for, all market tickers are returned if not assigned
3989
3990
  :param dict [params]: extra parameters specific to the exchange API endpoint
3990
3991
  :param str [params.subType]: "linear" or "inverse"
3992
+ :param str [params.type]: 'spot', 'option', use params["subType"] for swap and future markets
3991
3993
  :returns dict: a dictionary of `ticker structures <https://docs.ccxt.com/#/?id=ticker-structure>`
3992
3994
  """
3993
3995
  await self.load_markets()
@@ -47,6 +47,7 @@ class bingx(Exchange, ImplicitAPI):
47
47
  'option': False,
48
48
  'addMargin': True,
49
49
  'cancelAllOrders': True,
50
+ 'cancelAllOrdersAfter': True,
50
51
  'cancelOrder': True,
51
52
  'cancelOrders': True,
52
53
  'closeAllPositions': True,
@@ -243,6 +244,7 @@ class bingx(Exchange, ImplicitAPI):
243
244
  'trade/order': 3,
244
245
  'trade/batchOrders': 3,
245
246
  'trade/closeAllPositions': 3,
247
+ 'trade/cancelAllAfter': 3,
246
248
  'trade/marginType': 3,
247
249
  'trade/leverage': 3,
248
250
  'trade/positionMargin': 3,
@@ -2582,6 +2584,44 @@ class bingx(Exchange, ImplicitAPI):
2582
2584
  #
2583
2585
  return response
2584
2586
 
2587
+ async def cancel_all_orders_after(self, timeout: Int, params={}):
2588
+ """
2589
+ dead man's switch, cancel all orders after the given timeout
2590
+ :see: https://bingx-api.github.io/docs/#/en-us/spot/trade-api.html#Cancel%20all%20orders%20in%20countdown
2591
+ :see: https://bingx-api.github.io/docs/#/en-us/swapV2/trade-api.html#Cancel%20all%20orders%20in%20countdown
2592
+ :param number timeout: time in milliseconds, 0 represents cancel the timer
2593
+ :param dict [params]: extra parameters specific to the exchange API endpoint
2594
+ :param str [params.type]: spot or swap market
2595
+ :returns dict: the api result
2596
+ """
2597
+ await self.load_markets()
2598
+ isActive = (timeout > 0)
2599
+ request: dict = {
2600
+ 'type': 'ACTIVATE' if (isActive) else 'CLOSE',
2601
+ 'timeOut': (self.parse_to_int(timeout / 1000)) if (isActive) else 0,
2602
+ }
2603
+ response = None
2604
+ type = None
2605
+ type, params = self.handle_market_type_and_params('cancelAllOrdersAfter', None, params)
2606
+ if type == 'spot':
2607
+ response = await self.spotV1PrivatePostTradeCancelAllAfter(self.extend(request, params))
2608
+ elif type == 'swap':
2609
+ response = await self.swapV2PrivatePostTradeCancelAllAfter(self.extend(request, params))
2610
+ else:
2611
+ raise NotSupported(self.id + ' cancelAllOrdersAfter() is not supported for ' + type + ' markets')
2612
+ #
2613
+ # {
2614
+ # code: '0',
2615
+ # msg: '',
2616
+ # data: {
2617
+ # triggerTime: '1712645434',
2618
+ # status: 'ACTIVATED',
2619
+ # note: 'All your perpetual pending orders will be closed automatically at 2024-04-09 06:50:34 UTC(+0),before that you can cancel the timer, or self.extend triggerTime time by self request'
2620
+ # }
2621
+ # }
2622
+ #
2623
+ return response
2624
+
2585
2625
  async def fetch_order(self, id: str, symbol: Str = None, params={}):
2586
2626
  """
2587
2627
  fetches information on an order made by the user
@@ -48,6 +48,7 @@ class bitmex(Exchange, ImplicitAPI):
48
48
  'option': False,
49
49
  'addMargin': None,
50
50
  'cancelAllOrders': True,
51
+ 'cancelAllOrdersAfter': True,
51
52
  'cancelOrder': True,
52
53
  'cancelOrders': True,
53
54
  'closeAllPositions': False,
@@ -1979,6 +1980,27 @@ class bitmex(Exchange, ImplicitAPI):
1979
1980
  #
1980
1981
  return self.parse_orders(response, market)
1981
1982
 
1983
+ async def cancel_all_orders_after(self, timeout: Int, params={}):
1984
+ """
1985
+ dead man's switch, cancel all orders after the given timeout
1986
+ :see: https://www.bitmex.com/api/explorer/#not /Order/Order_cancelAllAfter
1987
+ :param number timeout: time in milliseconds, 0 represents cancel the timer
1988
+ :param dict [params]: extra parameters specific to the exchange API endpoint
1989
+ :returns dict: the api result
1990
+ """
1991
+ await self.load_markets()
1992
+ request: dict = {
1993
+ 'timeout': self.parse_to_int(timeout / 1000) if (timeout > 0) else 0,
1994
+ }
1995
+ response = await self.privatePostOrderCancelAllAfter(self.extend(request, params))
1996
+ #
1997
+ # {
1998
+ # now: '2024-04-09T09:01:56.560Z',
1999
+ # cancelTime: '2024-04-09T09:01:56.660Z'
2000
+ # }
2001
+ #
2002
+ return response
2003
+
1982
2004
  async def fetch_leverages(self, symbols: List[str] = None, params={}) -> Leverages:
1983
2005
  """
1984
2006
  fetch the set leverage for all contract markets
@@ -7,7 +7,7 @@ from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.bybit import ImplicitAPI
8
8
  import asyncio
9
9
  import hashlib
10
- from ccxt.base.types import Balances, Currencies, Currency, Greeks, Int, Leverage, Market, MarketInterface, Num, Option, OptionChain, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
10
+ from ccxt.base.types import Balances, Currencies, Currency, Greeks, Int, Leverage, Market, MarketInterface, Num, Option, OptionChain, Order, OrderBook, OrderRequest, CancellationRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
11
11
  from typing import List
12
12
  from ccxt.base.errors import ExchangeError
13
13
  from ccxt.base.errors import AuthenticationError
@@ -50,6 +50,8 @@ class bybit(Exchange, ImplicitAPI):
50
50
  'borrowCrossMargin': True,
51
51
  'cancelAllOrders': True,
52
52
  'cancelOrder': True,
53
+ 'cancelOrders': True,
54
+ 'cancelOrdersForSymbols': True,
53
55
  'closeAllPositions': False,
54
56
  'closePosition': False,
55
57
  'createMarketBuyOrderWithCost': True,
@@ -4089,6 +4091,84 @@ class bybit(Exchange, ImplicitAPI):
4089
4091
  row = self.safe_list(result, 'list', [])
4090
4092
  return self.parse_orders(row, market)
4091
4093
 
4094
+ async def cancel_orders_for_symbols(self, orders: List[CancellationRequest], params={}):
4095
+ """
4096
+ cancel multiple orders for multiple symbols
4097
+ :see: https://bybit-exchange.github.io/docs/v5/order/batch-cancel
4098
+ :param str[] ids: order ids
4099
+ :param str symbol: unified symbol of the market the order was made in
4100
+ :param dict [params]: extra parameters specific to the exchange API endpoint
4101
+ :param str[] [params.clientOrderIds]: client order ids
4102
+ :returns dict: an list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
4103
+ """
4104
+ await self.load_markets()
4105
+ ordersRequests = []
4106
+ category = None
4107
+ for i in range(0, len(orders)):
4108
+ order = orders[i]
4109
+ symbol = self.safe_string(order, 'symbol')
4110
+ market = self.market(symbol)
4111
+ currentCategory = None
4112
+ currentCategory, params = self.get_bybit_type('cancelOrders', market, params)
4113
+ if currentCategory == 'inverse':
4114
+ raise NotSupported(self.id + ' cancelOrdersForSymbols does not allow inverse orders')
4115
+ if (category is not None) and (category != currentCategory):
4116
+ raise ExchangeError(self.id + ' cancelOrdersForSymbols requires all orders to be of the same category(linear, spot or option))')
4117
+ category = currentCategory
4118
+ id = self.safe_string(order, 'id')
4119
+ clientOrderId = self.safe_string(order, 'clientOrderId')
4120
+ idKey = 'orderId'
4121
+ if clientOrderId is not None:
4122
+ idKey = 'orderLinkId'
4123
+ orderItem = {
4124
+ 'symbol': market['id'],
4125
+ }
4126
+ orderItem[idKey] = id if (idKey == 'orderId') else clientOrderId
4127
+ ordersRequests.append(orderItem)
4128
+ request = {
4129
+ 'category': category,
4130
+ 'request': ordersRequests,
4131
+ }
4132
+ response = await self.privatePostV5OrderCancelBatch(self.extend(request, params))
4133
+ #
4134
+ # {
4135
+ # "retCode": "0",
4136
+ # "retMsg": "OK",
4137
+ # "result": {
4138
+ # "list": [
4139
+ # {
4140
+ # "category": "spot",
4141
+ # "symbol": "BTCUSDT",
4142
+ # "orderId": "1636282505818800896",
4143
+ # "orderLinkId": "1636282505818800897"
4144
+ # },
4145
+ # {
4146
+ # "category": "spot",
4147
+ # "symbol": "BTCUSDT",
4148
+ # "orderId": "1636282505818800898",
4149
+ # "orderLinkId": "1636282505818800899"
4150
+ # }
4151
+ # ]
4152
+ # },
4153
+ # "retExtInfo": {
4154
+ # "list": [
4155
+ # {
4156
+ # "code": "0",
4157
+ # "msg": "OK"
4158
+ # },
4159
+ # {
4160
+ # "code": "0",
4161
+ # "msg": "OK"
4162
+ # }
4163
+ # ]
4164
+ # },
4165
+ # "time": "1709796158501"
4166
+ # }
4167
+ #
4168
+ result = self.safe_dict(response, 'result', {})
4169
+ row = self.safe_list(result, 'list', [])
4170
+ return self.parse_orders(row, None)
4171
+
4092
4172
  async def cancel_all_usdc_orders(self, symbol: Str = None, params={}):
4093
4173
  if symbol is None:
4094
4174
  raise ArgumentsRequired(self.id + ' cancelAllUsdcOrders() requires a symbol argument')
@@ -3245,11 +3245,11 @@ class coinbase(Exchange, ImplicitAPI):
3245
3245
  now = str(self.seconds())
3246
3246
  sinceString = Precise.string_sub(now, str(requestedDuration))
3247
3247
  request['start'] = sinceString
3248
- endString = self.number_to_string(until)
3249
- if until is None:
3248
+ if until is not None:
3249
+ request['end'] = self.number_to_string(self.parse_to_int(until / 1000))
3250
+ else:
3250
3251
  # 300 candles max
3251
- endString = Precise.string_add(sinceString, str(requestedDuration))
3252
- request['end'] = endString
3252
+ request['end'] = Precise.string_add(sinceString, str(requestedDuration))
3253
3253
  response = await self.v3PrivateGetBrokerageProductsProductIdCandles(self.extend(request, params))
3254
3254
  #
3255
3255
  # {
@@ -1116,14 +1116,13 @@ class coinex(Exchange, ImplicitAPI):
1116
1116
  #
1117
1117
  # Spot and Swap fetchTrades(public)
1118
1118
  #
1119
- # {
1120
- # "id": 2611511379,
1121
- # "type": "buy",
1122
- # "price": "192.63",
1123
- # "amount": "0.02266931",
1124
- # "date": 1638990110,
1125
- # "date_ms": 1638990110518
1126
- # },
1119
+ # {
1120
+ # "amount": "0.00049432",
1121
+ # "created_at": 1713849825667,
1122
+ # "deal_id": 4137517302,
1123
+ # "price": "66251",
1124
+ # "side": "buy"
1125
+ # }
1127
1126
  #
1128
1127
  # Spot and Margin fetchMyTrades(private)
1129
1128
  #
@@ -1177,8 +1176,8 @@ class coinex(Exchange, ImplicitAPI):
1177
1176
  #
1178
1177
  timestamp = self.safe_timestamp_2(trade, 'create_time', 'time')
1179
1178
  if timestamp is None:
1180
- timestamp = self.safe_integer(trade, 'date_ms')
1181
- tradeId = self.safe_string(trade, 'id')
1179
+ timestamp = self.safe_integer(trade, 'created_at')
1180
+ tradeId = self.safe_string_2(trade, 'id', 'deal_id')
1182
1181
  orderId = self.safe_string(trade, 'order_id')
1183
1182
  priceString = self.safe_string(trade, 'price')
1184
1183
  amountString = self.safe_string(trade, 'amount')
@@ -1210,9 +1209,9 @@ class coinex(Exchange, ImplicitAPI):
1210
1209
  elif rawSide == 2:
1211
1210
  side = 'buy'
1212
1211
  if side is None:
1213
- side = self.safe_string(trade, 'type')
1212
+ side = self.safe_string_2(trade, 'type', 'side')
1214
1213
  else:
1215
- side = self.safe_string(trade, 'type')
1214
+ side = self.safe_string_2(trade, 'type', 'side')
1216
1215
  return self.safe_trade({
1217
1216
  'info': trade,
1218
1217
  'timestamp': timestamp,
@@ -1231,9 +1230,9 @@ class coinex(Exchange, ImplicitAPI):
1231
1230
 
1232
1231
  async def fetch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
1233
1232
  """
1234
- get the list of most recent trades for a particular symbol
1235
- :see: https://viabtc.github.io/coinex_api_en_doc/spot/#docsspot001_market005_market_deals
1236
- :see: https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http011_market_deals
1233
+ get the list of the most recent trades for a particular symbol
1234
+ :see: https://docs.coinex.com/api/v2/spot/market/http/list-market-deals
1235
+ :see: https://docs.coinex.com/api/v2/futures/market/http/list-market-deals
1237
1236
  :param str symbol: unified symbol of the market to fetch trades for
1238
1237
  :param int [since]: timestamp in ms of the earliest trade to fetch
1239
1238
  :param int [limit]: the maximum amount of trades to fetch
@@ -1250,26 +1249,25 @@ class coinex(Exchange, ImplicitAPI):
1250
1249
  request['limit'] = limit
1251
1250
  response = None
1252
1251
  if market['swap']:
1253
- response = await self.v1PerpetualPublicGetMarketDeals(self.extend(request, params))
1252
+ response = await self.v2PublicGetFuturesDeals(self.extend(request, params))
1254
1253
  else:
1255
- response = await self.v1PublicGetMarketDeals(self.extend(request, params))
1254
+ response = await self.v2PublicGetSpotDeals(self.extend(request, params))
1256
1255
  #
1257
1256
  # Spot and Swap
1258
1257
  #
1259
- # {
1260
- # "code": 0,
1261
- # "data": [
1262
- # {
1263
- # "id": 2611511379,
1264
- # "type": "buy",
1265
- # "price": "192.63",
1266
- # "amount": "0.02266931",
1267
- # "date": 1638990110,
1268
- # "date_ms": 1638990110518
1269
- # },
1270
- # ],
1271
- # "message": "OK"
1272
- # }
1258
+ # {
1259
+ # "code": 0,
1260
+ # "data": [
1261
+ # {
1262
+ # "amount": "0.00049432",
1263
+ # "created_at": 1713849825667,
1264
+ # "deal_id": 4137517302,
1265
+ # "price": "66251",
1266
+ # "side": "buy"
1267
+ # },
1268
+ # ],
1269
+ # "message": "OK"
1270
+ # }
1273
1271
  #
1274
1272
  return self.parse_trades(response['data'], market, since, limit)
1275
1273
 
@@ -4205,7 +4203,6 @@ class coinex(Exchange, ImplicitAPI):
4205
4203
 
4206
4204
  async def fetch_funding_rates(self, symbols: Strings = None, params={}):
4207
4205
  """
4208
- * @method
4209
4206
  fetch the current funding rates
4210
4207
  :see: https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http009_market_ticker_all
4211
4208
  :param str[] symbols: unified market symbols
@@ -6,7 +6,7 @@
6
6
  from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.cryptocom import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Account, Balances, Currency, Int, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
9
+ from ccxt.base.types import Account, Balances, Currency, Int, Market, Num, Order, OrderBook, OrderRequest, CancellationRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import AuthenticationError
@@ -47,6 +47,7 @@ class cryptocom(Exchange, ImplicitAPI):
47
47
  'cancelAllOrders': True,
48
48
  'cancelOrder': True,
49
49
  'cancelOrders': True,
50
+ 'cancelOrdersForSymbols': True,
50
51
  'closeAllPositions': False,
51
52
  'closePosition': True,
52
53
  'createMarketBuyOrderWithCost': False,
@@ -1353,6 +1354,34 @@ class cryptocom(Exchange, ImplicitAPI):
1353
1354
  result = self.safe_list(response, 'result', [])
1354
1355
  return self.parse_orders(result, market, None, None, params)
1355
1356
 
1357
+ async def cancel_orders_for_symbols(self, orders: List[CancellationRequest], params={}):
1358
+ """
1359
+ cancel multiple orders for multiple symbols
1360
+ :see: https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html#private-cancel-order-list-list
1361
+ :param CancellationRequest[] orders: each order should contain the parameters required by cancelOrder namely id and symbol
1362
+ :param dict [params]: extra parameters specific to the exchange API endpoint
1363
+ :returns dict: an list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
1364
+ """
1365
+ await self.load_markets()
1366
+ orderRequests = []
1367
+ for i in range(0, len(orders)):
1368
+ order = orders[i]
1369
+ id = self.safe_string(order, 'id')
1370
+ symbol = self.safe_string(order, 'symbol')
1371
+ market = self.market(symbol)
1372
+ orderItem = {
1373
+ 'instrument_name': market['id'],
1374
+ 'order_id': str(id),
1375
+ }
1376
+ orderRequests.append(orderItem)
1377
+ request = {
1378
+ 'contingency_type': 'LIST',
1379
+ 'order_list': orderRequests,
1380
+ }
1381
+ response = await self.v1PrivatePostPrivateCancelOrderList(self.extend(request, params))
1382
+ result = self.safe_list(response, 'result', [])
1383
+ return self.parse_orders(result, None, None, None, params)
1384
+
1356
1385
  async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1357
1386
  """
1358
1387
  fetch all unfilled currently open orders
@@ -54,6 +54,7 @@ class htx(Exchange, ImplicitAPI):
54
54
  'borrowCrossMargin': True,
55
55
  'borrowIsolatedMargin': True,
56
56
  'cancelAllOrders': True,
57
+ 'cancelAllOrdersAfter': True,
57
58
  'cancelOrder': True,
58
59
  'cancelOrders': True,
59
60
  'createDepositAddress': None,
@@ -5629,6 +5630,31 @@ class htx(Exchange, ImplicitAPI):
5629
5630
  #
5630
5631
  return response
5631
5632
 
5633
+ async def cancel_all_orders_after(self, timeout: Int, params={}):
5634
+ """
5635
+ dead man's switch, cancel all orders after the given timeout
5636
+ :see: https://huobiapi.github.io/docs/spot/v1/en/#dead-man-s-switch
5637
+ :param number timeout: time in milliseconds, 0 represents cancel the timer
5638
+ :param dict [params]: extra parameters specific to the exchange API endpoint
5639
+ :returns dict: the api result
5640
+ """
5641
+ await self.load_markets()
5642
+ request: dict = {
5643
+ 'timeout': self.parse_to_int(timeout / 1000) if (timeout > 0) else 0,
5644
+ }
5645
+ response = await self.v2PrivatePostAlgoOrdersCancelAllAfter(self.extend(request, params))
5646
+ #
5647
+ # {
5648
+ # "code": 200,
5649
+ # "message": "success",
5650
+ # "data": {
5651
+ # "currentTime": 1630491627230,
5652
+ # "triggerTime": 1630491637230
5653
+ # }
5654
+ # }
5655
+ #
5656
+ return response
5657
+
5632
5658
  def parse_deposit_address(self, depositAddress, currency: Currency = None):
5633
5659
  #
5634
5660
  # {
@@ -43,6 +43,7 @@ class hyperliquid(Exchange, ImplicitAPI):
43
43
  'borrowCrossMargin': False,
44
44
  'borrowIsolatedMargin': False,
45
45
  'cancelAllOrders': False,
46
+ 'cancelAllOrdersAfter': True,
46
47
  'cancelOrder': True,
47
48
  'cancelOrders': True,
48
49
  'cancelOrdersForSymbols': True,
@@ -1303,6 +1304,42 @@ class hyperliquid(Exchange, ImplicitAPI):
1303
1304
  #
1304
1305
  return response
1305
1306
 
1307
+ async def cancel_all_orders_after(self, timeout: Int, params={}):
1308
+ """
1309
+ dead man's switch, cancel all orders after the given timeout
1310
+ :param number timeout: time in milliseconds, 0 represents cancel the timer
1311
+ :param dict [params]: extra parameters specific to the exchange API endpoint
1312
+ :param str [params.vaultAddress]: the vault address
1313
+ :returns dict: the api result
1314
+ """
1315
+ self.check_required_credentials()
1316
+ await self.load_markets()
1317
+ params = self.omit(params, ['clientOrderId', 'client_id'])
1318
+ nonce = self.milliseconds()
1319
+ request = {
1320
+ 'nonce': nonce,
1321
+ # 'vaultAddress': vaultAddress,
1322
+ }
1323
+ cancelAction = {
1324
+ 'type': 'scheduleCancel',
1325
+ 'time': nonce + timeout,
1326
+ }
1327
+ vaultAddress = self.format_vault_address(self.safe_string(params, 'vaultAddress'))
1328
+ signature = self.sign_l1_action(cancelAction, nonce, vaultAddress)
1329
+ request['action'] = cancelAction
1330
+ request['signature'] = signature
1331
+ if vaultAddress is not None:
1332
+ params = self.omit(params, 'vaultAddress')
1333
+ request['vaultAddress'] = vaultAddress
1334
+ response = await self.privatePostExchange(self.extend(request, params))
1335
+ #
1336
+ # {
1337
+ # "status":"err",
1338
+ # "response":"Cannot set scheduled cancel time until enough volume traded. Required: $1000000. Traded: $373.47205."
1339
+ # }
1340
+ #
1341
+ return response
1342
+
1306
1343
  async def edit_order(self, id: str, symbol: str, type: str, side: str, amount: Num = None, price: Num = None, params={}):
1307
1344
  """
1308
1345
  edit a trade order