ccxt 4.3.35__tar.gz → 4.3.36__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 (549) hide show
  1. {ccxt-4.3.35/ccxt.egg-info → ccxt-4.3.36}/PKG-INFO +4 -4
  2. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/__init__.py +1 -1
  3. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitbay.py +6 -0
  4. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/zonda.py +6 -0
  5. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/__init__.py +1 -1
  6. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/exchange.py +1 -1
  7. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bingx.py +2 -2
  8. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bit2c.py +2 -1
  9. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitget.py +10 -4
  10. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/paymium.py +4 -1
  11. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/whitebit.py +24 -3
  12. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/zaif.py +30 -2
  13. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/zonda.py +6 -0
  14. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/base/exchange.py +1 -1
  15. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bingx.py +2 -2
  16. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bit2c.py +2 -1
  17. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitget.py +10 -4
  18. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/paymium.py +4 -1
  19. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/__init__.py +1 -1
  20. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/binance.py +4 -4
  21. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bingx.py +9 -4
  22. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitfinex2.py +4 -4
  23. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitmart.py +8 -6
  24. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bybit.py +6 -6
  25. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/htx.py +5 -6
  26. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/okx.py +3 -4
  27. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/woo.py +4 -4
  28. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/whitebit.py +24 -3
  29. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/zaif.py +30 -2
  30. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/zonda.py +6 -0
  31. {ccxt-4.3.35 → ccxt-4.3.36/ccxt.egg-info}/PKG-INFO +4 -4
  32. {ccxt-4.3.35 → ccxt-4.3.36}/package.json +1 -1
  33. {ccxt-4.3.35 → ccxt-4.3.36}/LICENSE.txt +0 -0
  34. {ccxt-4.3.35 → ccxt-4.3.36}/MANIFEST.in +0 -0
  35. {ccxt-4.3.35 → ccxt-4.3.36}/README.rst +0 -0
  36. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/__init__.py +0 -0
  37. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/ace.py +0 -0
  38. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/alpaca.py +0 -0
  39. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/ascendex.py +0 -0
  40. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bequant.py +0 -0
  41. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bigone.py +0 -0
  42. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/binance.py +0 -0
  43. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/binancecoinm.py +0 -0
  44. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/binanceus.py +0 -0
  45. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/binanceusdm.py +0 -0
  46. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bingx.py +0 -0
  47. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bit2c.py +0 -0
  48. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitbank.py +0 -0
  49. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitbns.py +0 -0
  50. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitcoincom.py +0 -0
  51. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitfinex.py +0 -0
  52. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitfinex2.py +0 -0
  53. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitflyer.py +0 -0
  54. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitget.py +0 -0
  55. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bithumb.py +0 -0
  56. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitmart.py +0 -0
  57. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitmex.py +0 -0
  58. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitopro.py +0 -0
  59. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitpanda.py +0 -0
  60. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitrue.py +0 -0
  61. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitso.py +0 -0
  62. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitstamp.py +0 -0
  63. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitteam.py +0 -0
  64. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bitvavo.py +0 -0
  65. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bl3p.py +0 -0
  66. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/blockchaincom.py +0 -0
  67. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/blofin.py +0 -0
  68. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/btcalpha.py +0 -0
  69. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/btcbox.py +0 -0
  70. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/btcmarkets.py +0 -0
  71. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/btcturk.py +0 -0
  72. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/bybit.py +0 -0
  73. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/cex.py +0 -0
  74. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinbase.py +0 -0
  75. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinbaseadvanced.py +0 -0
  76. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinbaseexchange.py +0 -0
  77. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinbaseinternational.py +0 -0
  78. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coincheck.py +0 -0
  79. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinex.py +0 -0
  80. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinlist.py +0 -0
  81. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinmate.py +0 -0
  82. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinmetro.py +0 -0
  83. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinone.py +0 -0
  84. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinsph.py +0 -0
  85. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/coinspot.py +0 -0
  86. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/cryptocom.py +0 -0
  87. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/currencycom.py +0 -0
  88. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/delta.py +0 -0
  89. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/deribit.py +0 -0
  90. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/digifinex.py +0 -0
  91. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/exmo.py +0 -0
  92. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/fmfwio.py +0 -0
  93. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/gate.py +0 -0
  94. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/gateio.py +0 -0
  95. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/gemini.py +0 -0
  96. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/hitbtc.py +0 -0
  97. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/hitbtc3.py +0 -0
  98. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/hollaex.py +0 -0
  99. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/htx.py +0 -0
  100. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/huobi.py +0 -0
  101. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/huobijp.py +0 -0
  102. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/hyperliquid.py +0 -0
  103. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/idex.py +0 -0
  104. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/independentreserve.py +0 -0
  105. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/indodax.py +0 -0
  106. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/kraken.py +0 -0
  107. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/krakenfutures.py +0 -0
  108. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/kucoin.py +0 -0
  109. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/kucoinfutures.py +0 -0
  110. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/kuna.py +0 -0
  111. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/latoken.py +0 -0
  112. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/lbank.py +0 -0
  113. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/luno.py +0 -0
  114. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/lykke.py +0 -0
  115. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/mercado.py +0 -0
  116. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/mexc.py +0 -0
  117. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/ndax.py +0 -0
  118. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/novadax.py +0 -0
  119. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/oceanex.py +0 -0
  120. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/okcoin.py +0 -0
  121. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/okx.py +0 -0
  122. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/onetrading.py +0 -0
  123. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/p2b.py +0 -0
  124. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/paymium.py +0 -0
  125. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/phemex.py +0 -0
  126. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/poloniex.py +0 -0
  127. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/poloniexfutures.py +0 -0
  128. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/probit.py +0 -0
  129. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/timex.py +0 -0
  130. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/tokocrypto.py +0 -0
  131. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/tradeogre.py +0 -0
  132. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/upbit.py +0 -0
  133. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/wavesexchange.py +0 -0
  134. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/wazirx.py +0 -0
  135. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/whitebit.py +0 -0
  136. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/woo.py +0 -0
  137. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/woofipro.py +0 -0
  138. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/yobit.py +0 -0
  139. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/abstract/zaif.py +0 -0
  140. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/ace.py +0 -0
  141. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/alpaca.py +0 -0
  142. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/ascendex.py +0 -0
  143. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/ace.py +0 -0
  144. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/alpaca.py +0 -0
  145. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/ascendex.py +0 -0
  146. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/__init__.py +0 -0
  147. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/throttler.py +0 -0
  148. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/ws/__init__.py +0 -0
  149. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  150. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/ws/cache.py +0 -0
  151. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/ws/client.py +0 -0
  152. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/ws/fast_client.py +0 -0
  153. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/ws/functions.py +0 -0
  154. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/ws/future.py +0 -0
  155. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/ws/order_book.py +0 -0
  156. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  157. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bequant.py +0 -0
  158. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bigone.py +0 -0
  159. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/binance.py +0 -0
  160. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/binancecoinm.py +0 -0
  161. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/binanceus.py +0 -0
  162. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/binanceusdm.py +0 -0
  163. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitbank.py +0 -0
  164. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitbay.py +0 -0
  165. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitbns.py +0 -0
  166. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitcoincom.py +0 -0
  167. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitfinex.py +0 -0
  168. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitfinex2.py +0 -0
  169. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitflyer.py +0 -0
  170. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bithumb.py +0 -0
  171. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitmart.py +0 -0
  172. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitmex.py +0 -0
  173. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitopro.py +0 -0
  174. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitpanda.py +0 -0
  175. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitrue.py +0 -0
  176. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitso.py +0 -0
  177. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitstamp.py +0 -0
  178. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitteam.py +0 -0
  179. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bitvavo.py +0 -0
  180. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bl3p.py +0 -0
  181. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/blockchaincom.py +0 -0
  182. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/blofin.py +0 -0
  183. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/btcalpha.py +0 -0
  184. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/btcbox.py +0 -0
  185. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/btcmarkets.py +0 -0
  186. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/btcturk.py +0 -0
  187. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/bybit.py +0 -0
  188. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/cex.py +0 -0
  189. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinbase.py +0 -0
  190. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinbaseadvanced.py +0 -0
  191. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinbaseexchange.py +0 -0
  192. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinbaseinternational.py +0 -0
  193. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coincheck.py +0 -0
  194. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinex.py +0 -0
  195. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinlist.py +0 -0
  196. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinmate.py +0 -0
  197. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinmetro.py +0 -0
  198. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinone.py +0 -0
  199. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinsph.py +0 -0
  200. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/coinspot.py +0 -0
  201. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/cryptocom.py +0 -0
  202. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/currencycom.py +0 -0
  203. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/delta.py +0 -0
  204. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/deribit.py +0 -0
  205. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/digifinex.py +0 -0
  206. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/exmo.py +0 -0
  207. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/fmfwio.py +0 -0
  208. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/gate.py +0 -0
  209. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/gateio.py +0 -0
  210. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/gemini.py +0 -0
  211. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/hitbtc.py +0 -0
  212. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/hitbtc3.py +0 -0
  213. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/hollaex.py +0 -0
  214. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/htx.py +0 -0
  215. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/huobi.py +0 -0
  216. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/huobijp.py +0 -0
  217. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/hyperliquid.py +0 -0
  218. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/idex.py +0 -0
  219. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/independentreserve.py +0 -0
  220. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/indodax.py +0 -0
  221. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/kraken.py +0 -0
  222. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/krakenfutures.py +0 -0
  223. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/kucoin.py +0 -0
  224. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/kucoinfutures.py +0 -0
  225. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/kuna.py +0 -0
  226. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/latoken.py +0 -0
  227. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/lbank.py +0 -0
  228. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/luno.py +0 -0
  229. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/lykke.py +0 -0
  230. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/mercado.py +0 -0
  231. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/mexc.py +0 -0
  232. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/ndax.py +0 -0
  233. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/novadax.py +0 -0
  234. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/oceanex.py +0 -0
  235. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/okcoin.py +0 -0
  236. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/okx.py +0 -0
  237. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/onetrading.py +0 -0
  238. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/p2b.py +0 -0
  239. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/phemex.py +0 -0
  240. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/poloniex.py +0 -0
  241. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/poloniexfutures.py +0 -0
  242. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/probit.py +0 -0
  243. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/timex.py +0 -0
  244. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/tokocrypto.py +0 -0
  245. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/tradeogre.py +0 -0
  246. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/upbit.py +0 -0
  247. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/wavesexchange.py +0 -0
  248. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/wazirx.py +0 -0
  249. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/woo.py +0 -0
  250. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/woofipro.py +0 -0
  251. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/async_support/yobit.py +0 -0
  252. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/base/__init__.py +0 -0
  253. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/base/decimal_to_precision.py +0 -0
  254. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/base/errors.py +0 -0
  255. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/base/precise.py +0 -0
  256. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/base/types.py +0 -0
  257. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bequant.py +0 -0
  258. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bigone.py +0 -0
  259. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/binance.py +0 -0
  260. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/binancecoinm.py +0 -0
  261. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/binanceus.py +0 -0
  262. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/binanceusdm.py +0 -0
  263. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitbank.py +0 -0
  264. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitbay.py +0 -0
  265. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitbns.py +0 -0
  266. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitcoincom.py +0 -0
  267. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitfinex.py +0 -0
  268. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitfinex2.py +0 -0
  269. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitflyer.py +0 -0
  270. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bithumb.py +0 -0
  271. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitmart.py +0 -0
  272. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitmex.py +0 -0
  273. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitopro.py +0 -0
  274. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitpanda.py +0 -0
  275. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitrue.py +0 -0
  276. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitso.py +0 -0
  277. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitstamp.py +0 -0
  278. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitteam.py +0 -0
  279. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bitvavo.py +0 -0
  280. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bl3p.py +0 -0
  281. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/blockchaincom.py +0 -0
  282. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/blofin.py +0 -0
  283. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/btcalpha.py +0 -0
  284. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/btcbox.py +0 -0
  285. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/btcmarkets.py +0 -0
  286. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/btcturk.py +0 -0
  287. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/bybit.py +0 -0
  288. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/cex.py +0 -0
  289. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinbase.py +0 -0
  290. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinbaseadvanced.py +0 -0
  291. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinbaseexchange.py +0 -0
  292. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinbaseinternational.py +0 -0
  293. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coincheck.py +0 -0
  294. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinex.py +0 -0
  295. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinlist.py +0 -0
  296. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinmate.py +0 -0
  297. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinmetro.py +0 -0
  298. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinone.py +0 -0
  299. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinsph.py +0 -0
  300. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/coinspot.py +0 -0
  301. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/cryptocom.py +0 -0
  302. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/currencycom.py +0 -0
  303. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/delta.py +0 -0
  304. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/deribit.py +0 -0
  305. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/digifinex.py +0 -0
  306. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/exmo.py +0 -0
  307. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/fmfwio.py +0 -0
  308. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/gate.py +0 -0
  309. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/gateio.py +0 -0
  310. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/gemini.py +0 -0
  311. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/hitbtc.py +0 -0
  312. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/hitbtc3.py +0 -0
  313. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/hollaex.py +0 -0
  314. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/htx.py +0 -0
  315. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/huobi.py +0 -0
  316. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/huobijp.py +0 -0
  317. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/hyperliquid.py +0 -0
  318. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/idex.py +0 -0
  319. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/independentreserve.py +0 -0
  320. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/indodax.py +0 -0
  321. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/kraken.py +0 -0
  322. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/krakenfutures.py +0 -0
  323. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/kucoin.py +0 -0
  324. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/kucoinfutures.py +0 -0
  325. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/kuna.py +0 -0
  326. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/latoken.py +0 -0
  327. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/lbank.py +0 -0
  328. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/luno.py +0 -0
  329. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/lykke.py +0 -0
  330. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/mercado.py +0 -0
  331. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/mexc.py +0 -0
  332. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/ndax.py +0 -0
  333. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/novadax.py +0 -0
  334. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/oceanex.py +0 -0
  335. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/okcoin.py +0 -0
  336. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/okx.py +0 -0
  337. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/onetrading.py +0 -0
  338. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/p2b.py +0 -0
  339. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/phemex.py +0 -0
  340. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/poloniex.py +0 -0
  341. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/poloniexfutures.py +0 -0
  342. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/alpaca.py +0 -0
  343. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/ascendex.py +0 -0
  344. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bequant.py +0 -0
  345. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/binancecoinm.py +0 -0
  346. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/binanceus.py +0 -0
  347. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/binanceusdm.py +0 -0
  348. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitcoincom.py +0 -0
  349. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitfinex.py +0 -0
  350. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitget.py +0 -0
  351. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bithumb.py +0 -0
  352. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitmex.py +0 -0
  353. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitopro.py +0 -0
  354. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitpanda.py +0 -0
  355. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitrue.py +0 -0
  356. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitstamp.py +0 -0
  357. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/bitvavo.py +0 -0
  358. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/blockchaincom.py +0 -0
  359. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/cex.py +0 -0
  360. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/coinbase.py +0 -0
  361. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/coinbaseexchange.py +0 -0
  362. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/coinbaseinternational.py +0 -0
  363. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/coincheck.py +0 -0
  364. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/coinex.py +0 -0
  365. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/coinone.py +0 -0
  366. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/cryptocom.py +0 -0
  367. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/currencycom.py +0 -0
  368. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/deribit.py +0 -0
  369. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/exmo.py +0 -0
  370. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/gate.py +0 -0
  371. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/gateio.py +0 -0
  372. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/gemini.py +0 -0
  373. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/hitbtc.py +0 -0
  374. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/hollaex.py +0 -0
  375. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/huobi.py +0 -0
  376. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/huobijp.py +0 -0
  377. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/hyperliquid.py +0 -0
  378. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/idex.py +0 -0
  379. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/independentreserve.py +0 -0
  380. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/kraken.py +0 -0
  381. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/krakenfutures.py +0 -0
  382. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/kucoin.py +0 -0
  383. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/kucoinfutures.py +0 -0
  384. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/lbank.py +0 -0
  385. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/luno.py +0 -0
  386. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/mexc.py +0 -0
  387. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/ndax.py +0 -0
  388. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/okcoin.py +0 -0
  389. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/onetrading.py +0 -0
  390. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/p2b.py +0 -0
  391. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/phemex.py +0 -0
  392. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/poloniex.py +0 -0
  393. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/poloniexfutures.py +0 -0
  394. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/probit.py +0 -0
  395. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/upbit.py +0 -0
  396. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/wazirx.py +0 -0
  397. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/whitebit.py +0 -0
  398. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/pro/woofipro.py +0 -0
  399. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/probit.py +0 -0
  400. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/__init__.py +0 -0
  401. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  402. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  403. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  404. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  405. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  406. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  407. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  408. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  409. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  410. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  411. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  412. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  413. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  414. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  415. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  416. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  417. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  418. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  419. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  420. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  421. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  422. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  423. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  424. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  425. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  426. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  427. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  428. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  429. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  430. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  431. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  432. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  433. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  434. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  435. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  436. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  437. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  438. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  439. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  440. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  441. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  442. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  443. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  444. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  445. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  446. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  447. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  448. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  449. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  450. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  451. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  452. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  453. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  454. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  455. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  456. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  457. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  458. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  459. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  460. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  461. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  462. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  463. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  464. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  465. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  466. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  467. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  468. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  469. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  470. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  471. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  472. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  473. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  474. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  475. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  476. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  477. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  478. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  479. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  480. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  481. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  482. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  483. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  484. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  485. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  486. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  487. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/_version.py +0 -0
  488. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  489. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  490. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  491. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  492. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  493. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  494. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  495. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  496. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/static_dependencies/toolz/utils.py +0 -0
  497. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/__init__.py +0 -0
  498. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/__init__.py +0 -0
  499. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_account.py +0 -0
  500. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_balance.py +0 -0
  501. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_borrow_interest.py +0 -0
  502. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_borrow_rate.py +0 -0
  503. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_calculate_fee.py +0 -0
  504. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_crypto.py +0 -0
  505. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_currency.py +0 -0
  506. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_datetime.py +0 -0
  507. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_decimal_to_precision.py +0 -0
  508. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_deep_extend.py +0 -0
  509. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
  510. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
  511. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_funding_rate_history.py +0 -0
  512. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_last_price.py +0 -0
  513. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_ledger_entry.py +0 -0
  514. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_ledger_item.py +0 -0
  515. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_leverage_tier.py +0 -0
  516. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_liquidation.py +0 -0
  517. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_margin_mode.py +0 -0
  518. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_margin_modification.py +0 -0
  519. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_market.py +0 -0
  520. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_number.py +0 -0
  521. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_ohlcv.py +0 -0
  522. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_open_interest.py +0 -0
  523. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_order.py +0 -0
  524. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_order_book.py +0 -0
  525. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_position.py +0 -0
  526. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_shared_methods.py +0 -0
  527. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_status.py +0 -0
  528. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_throttle.py +0 -0
  529. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_ticker.py +0 -0
  530. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_trade.py +0 -0
  531. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_trading_fee.py +0 -0
  532. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/base/test_transaction.py +0 -0
  533. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/test_async.py +0 -0
  534. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/test/test_sync.py +0 -0
  535. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/timex.py +0 -0
  536. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/tokocrypto.py +0 -0
  537. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/tradeogre.py +0 -0
  538. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/upbit.py +0 -0
  539. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/wavesexchange.py +0 -0
  540. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/wazirx.py +0 -0
  541. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/woo.py +0 -0
  542. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/woofipro.py +0 -0
  543. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt/yobit.py +0 -0
  544. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt.egg-info/SOURCES.txt +0 -0
  545. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt.egg-info/dependency_links.txt +0 -0
  546. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt.egg-info/requires.txt +0 -0
  547. {ccxt-4.3.35 → ccxt-4.3.36}/ccxt.egg-info/top_level.txt +0 -0
  548. {ccxt-4.3.35 → ccxt-4.3.36}/setup.cfg +0 -0
  549. {ccxt-4.3.35 → ccxt-4.3.36}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.3.35
3
+ Version: 4.3.36
4
4
  Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges
5
5
  Home-page: https://ccxt.com
6
6
  Author: Igor Kroitor
@@ -228,13 +228,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
228
228
 
229
229
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
230
230
 
231
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.35/dist/ccxt.browser.min.js
232
- * unpkg: https://unpkg.com/ccxt@4.3.35/dist/ccxt.browser.min.js
231
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.36/dist/ccxt.browser.min.js
232
+ * unpkg: https://unpkg.com/ccxt@4.3.36/dist/ccxt.browser.min.js
233
233
 
234
234
  CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
235
235
 
236
236
  ```HTML
237
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.35/dist/ccxt.browser.min.js"></script>
237
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.36/dist/ccxt.browser.min.js"></script>
238
238
  ```
239
239
 
240
240
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.3.35'
25
+ __version__ = '4.3.36'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -34,6 +34,10 @@ class ImplicitAPI:
34
34
  v1_01private_get_balances_bitbay_balance = v1_01PrivateGetBalancesBITBAYBalance = Entry('balances/BITBAY/balance', 'v1_01Private', 'GET', {})
35
35
  v1_01private_get_fiat_cantor_rate_baseid_quoteid = v1_01PrivateGetFiatCantorRateBaseIdQuoteId = Entry('fiat_cantor/rate/{baseId}/{quoteId}', 'v1_01Private', 'GET', {})
36
36
  v1_01private_get_fiat_cantor_history = v1_01PrivateGetFiatCantorHistory = Entry('fiat_cantor/history', 'v1_01Private', 'GET', {})
37
+ v1_01private_get_client_payments_v2_customer_crypto_currency_channels_deposit = v1_01PrivateGetClientPaymentsV2CustomerCryptoCurrencyChannelsDeposit = Entry('client_payments/v2/customer/crypto/{currency}/channels/deposit', 'v1_01Private', 'GET', {})
38
+ v1_01private_get_client_payments_v2_customer_crypto_currency_channels_withdrawal = v1_01PrivateGetClientPaymentsV2CustomerCryptoCurrencyChannelsWithdrawal = Entry('client_payments/v2/customer/crypto/{currency}/channels/withdrawal', 'v1_01Private', 'GET', {})
39
+ v1_01private_get_client_payments_v2_customer_crypto_deposit_fee = v1_01PrivateGetClientPaymentsV2CustomerCryptoDepositFee = Entry('client_payments/v2/customer/crypto/deposit/fee', 'v1_01Private', 'GET', {})
40
+ v1_01private_get_client_payments_v2_customer_crypto_withdrawal_fee = v1_01PrivateGetClientPaymentsV2CustomerCryptoWithdrawalFee = Entry('client_payments/v2/customer/crypto/withdrawal/fee', 'v1_01Private', 'GET', {})
37
41
  v1_01private_post_trading_offer_symbol = v1_01PrivatePostTradingOfferSymbol = Entry('trading/offer/{symbol}', 'v1_01Private', 'POST', {})
38
42
  v1_01private_post_trading_stop_offer_symbol = v1_01PrivatePostTradingStopOfferSymbol = Entry('trading/stop/offer/{symbol}', 'v1_01Private', 'POST', {})
39
43
  v1_01private_post_trading_config_symbol = v1_01PrivatePostTradingConfigSymbol = Entry('trading/config/{symbol}', 'v1_01Private', 'POST', {})
@@ -42,6 +46,8 @@ class ImplicitAPI:
42
46
  v1_01private_post_fiat_cantor_exchange = v1_01PrivatePostFiatCantorExchange = Entry('fiat_cantor/exchange', 'v1_01Private', 'POST', {})
43
47
  v1_01private_post_api_payments_withdrawals_crypto = v1_01PrivatePostApiPaymentsWithdrawalsCrypto = Entry('api_payments/withdrawals/crypto', 'v1_01Private', 'POST', {})
44
48
  v1_01private_post_api_payments_withdrawals_fiat = v1_01PrivatePostApiPaymentsWithdrawalsFiat = Entry('api_payments/withdrawals/fiat', 'v1_01Private', 'POST', {})
49
+ v1_01private_post_client_payments_v2_customer_crypto_deposit = v1_01PrivatePostClientPaymentsV2CustomerCryptoDeposit = Entry('client_payments/v2/customer/crypto/deposit', 'v1_01Private', 'POST', {})
50
+ v1_01private_post_client_payments_v2_customer_crypto_withdrawal = v1_01PrivatePostClientPaymentsV2CustomerCryptoWithdrawal = Entry('client_payments/v2/customer/crypto/withdrawal', 'v1_01Private', 'POST', {})
45
51
  v1_01private_delete_trading_offer_symbol_id_side_price = v1_01PrivateDeleteTradingOfferSymbolIdSidePrice = Entry('trading/offer/{symbol}/{id}/{side}/{price}', 'v1_01Private', 'DELETE', {})
46
52
  v1_01private_delete_trading_stop_offer_symbol_id_side_price = v1_01PrivateDeleteTradingStopOfferSymbolIdSidePrice = Entry('trading/stop/offer/{symbol}/{id}/{side}/{price}', 'v1_01Private', 'DELETE', {})
47
53
  v1_01private_put_balances_bitbay_balance_id = v1_01PrivatePutBalancesBITBAYBalanceId = Entry('balances/BITBAY/balance/{id}', 'v1_01Private', 'PUT', {})
@@ -34,6 +34,10 @@ class ImplicitAPI:
34
34
  v1_01private_get_balances_bitbay_balance = v1_01PrivateGetBalancesBITBAYBalance = Entry('balances/BITBAY/balance', 'v1_01Private', 'GET', {})
35
35
  v1_01private_get_fiat_cantor_rate_baseid_quoteid = v1_01PrivateGetFiatCantorRateBaseIdQuoteId = Entry('fiat_cantor/rate/{baseId}/{quoteId}', 'v1_01Private', 'GET', {})
36
36
  v1_01private_get_fiat_cantor_history = v1_01PrivateGetFiatCantorHistory = Entry('fiat_cantor/history', 'v1_01Private', 'GET', {})
37
+ v1_01private_get_client_payments_v2_customer_crypto_currency_channels_deposit = v1_01PrivateGetClientPaymentsV2CustomerCryptoCurrencyChannelsDeposit = Entry('client_payments/v2/customer/crypto/{currency}/channels/deposit', 'v1_01Private', 'GET', {})
38
+ v1_01private_get_client_payments_v2_customer_crypto_currency_channels_withdrawal = v1_01PrivateGetClientPaymentsV2CustomerCryptoCurrencyChannelsWithdrawal = Entry('client_payments/v2/customer/crypto/{currency}/channels/withdrawal', 'v1_01Private', 'GET', {})
39
+ v1_01private_get_client_payments_v2_customer_crypto_deposit_fee = v1_01PrivateGetClientPaymentsV2CustomerCryptoDepositFee = Entry('client_payments/v2/customer/crypto/deposit/fee', 'v1_01Private', 'GET', {})
40
+ v1_01private_get_client_payments_v2_customer_crypto_withdrawal_fee = v1_01PrivateGetClientPaymentsV2CustomerCryptoWithdrawalFee = Entry('client_payments/v2/customer/crypto/withdrawal/fee', 'v1_01Private', 'GET', {})
37
41
  v1_01private_post_trading_offer_symbol = v1_01PrivatePostTradingOfferSymbol = Entry('trading/offer/{symbol}', 'v1_01Private', 'POST', {})
38
42
  v1_01private_post_trading_stop_offer_symbol = v1_01PrivatePostTradingStopOfferSymbol = Entry('trading/stop/offer/{symbol}', 'v1_01Private', 'POST', {})
39
43
  v1_01private_post_trading_config_symbol = v1_01PrivatePostTradingConfigSymbol = Entry('trading/config/{symbol}', 'v1_01Private', 'POST', {})
@@ -42,6 +46,8 @@ class ImplicitAPI:
42
46
  v1_01private_post_fiat_cantor_exchange = v1_01PrivatePostFiatCantorExchange = Entry('fiat_cantor/exchange', 'v1_01Private', 'POST', {})
43
47
  v1_01private_post_api_payments_withdrawals_crypto = v1_01PrivatePostApiPaymentsWithdrawalsCrypto = Entry('api_payments/withdrawals/crypto', 'v1_01Private', 'POST', {})
44
48
  v1_01private_post_api_payments_withdrawals_fiat = v1_01PrivatePostApiPaymentsWithdrawalsFiat = Entry('api_payments/withdrawals/fiat', 'v1_01Private', 'POST', {})
49
+ v1_01private_post_client_payments_v2_customer_crypto_deposit = v1_01PrivatePostClientPaymentsV2CustomerCryptoDeposit = Entry('client_payments/v2/customer/crypto/deposit', 'v1_01Private', 'POST', {})
50
+ v1_01private_post_client_payments_v2_customer_crypto_withdrawal = v1_01PrivatePostClientPaymentsV2CustomerCryptoWithdrawal = Entry('client_payments/v2/customer/crypto/withdrawal', 'v1_01Private', 'POST', {})
45
51
  v1_01private_delete_trading_offer_symbol_id_side_price = v1_01PrivateDeleteTradingOfferSymbolIdSidePrice = Entry('trading/offer/{symbol}/{id}/{side}/{price}', 'v1_01Private', 'DELETE', {})
46
52
  v1_01private_delete_trading_stop_offer_symbol_id_side_price = v1_01PrivateDeleteTradingStopOfferSymbolIdSidePrice = Entry('trading/stop/offer/{symbol}/{id}/{side}/{price}', 'v1_01Private', 'DELETE', {})
47
53
  v1_01private_put_balances_bitbay_balance_id = v1_01PrivatePutBalancesBITBAYBalanceId = Entry('balances/BITBAY/balance/{id}', 'v1_01Private', 'PUT', {})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.35'
7
+ __version__ = '4.3.36'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.3.35'
5
+ __version__ = '4.3.36'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -1017,7 +1017,7 @@ class bingx(Exchange, ImplicitAPI):
1017
1017
  if time == 0:
1018
1018
  time = None
1019
1019
  cost = self.safe_string(trade, 'quoteQty')
1020
- type = 'spot' if (cost is None) else 'swap'
1020
+ # type = 'spot' if (cost is None) else 'swap'; self is not reliable
1021
1021
  currencyId = self.safe_string_n(trade, ['currency', 'N', 'commissionAsset'])
1022
1022
  currencyCode = self.safe_currency_code(currencyId)
1023
1023
  m = self.safe_bool(trade, 'm')
@@ -1048,7 +1048,7 @@ class bingx(Exchange, ImplicitAPI):
1048
1048
  'info': trade,
1049
1049
  'timestamp': time,
1050
1050
  'datetime': self.iso8601(time),
1051
- 'symbol': self.safe_symbol(marketId, market, '-', type),
1051
+ 'symbol': self.safe_symbol(marketId, market, '-'),
1052
1052
  'order': self.safe_string_2(trade, 'orderId', 'i'),
1053
1053
  'type': self.safe_string_lower(trade, 'o'),
1054
1054
  'side': self.parse_order_side(side),
@@ -448,7 +448,8 @@ class bit2c(Exchange, ImplicitAPI):
448
448
  request: dict = {
449
449
  'id': id,
450
450
  }
451
- return await self.privatePostOrderCancelOrder(self.extend(request, params))
451
+ response = await self.privatePostOrderCancelOrder(self.extend(request, params))
452
+ return self.parse_order(response)
452
453
 
453
454
  async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
454
455
  """
@@ -1250,6 +1250,7 @@ class bitget(Exchange, ImplicitAPI):
1250
1250
  '40712': InsufficientFunds, # Insufficient margin
1251
1251
  '40713': ExchangeError, # Cannot exceed the maximum transferable margin amount
1252
1252
  '40714': ExchangeError, # No direct margin call is allowed
1253
+ '40762': InsufficientFunds, # {"code":"40762","msg":"The order amount exceeds the balance","requestTime":1716572156622,"data":null}
1253
1254
  '40768': OrderNotFound, # Order does not exist"
1254
1255
  '41114': OnMaintenance, # {"code":"41114","msg":"The current trading pair is under maintenance, please refer to the official announcement for the opening time","requestTime":1679196062544,"data":null}
1255
1256
  '43011': InvalidOrder, # The parameter does not meet the specification executePrice <= 0
@@ -4139,18 +4140,23 @@ class bitget(Exchange, ImplicitAPI):
4139
4140
  marginMode = 'cross'
4140
4141
  marginModeRequest = 'crossed' if (marginMode == 'cross') else 'isolated'
4141
4142
  request['marginMode'] = marginModeRequest
4142
- oneWayMode = self.safe_bool(params, 'oneWayMode', False)
4143
- params = self.omit(params, 'oneWayMode')
4143
+ hedged = None
4144
+ hedged, params = self.handle_param_bool(params, 'hedged', False)
4145
+ # backward compatibility for `oneWayMode`
4146
+ oneWayMode = None
4147
+ oneWayMode, params = self.handle_param_bool(params, 'oneWayMode')
4148
+ if oneWayMode is not None:
4149
+ hedged = not oneWayMode
4144
4150
  requestSide = side
4145
4151
  if reduceOnly:
4146
- if oneWayMode:
4152
+ if not hedged:
4147
4153
  request['reduceOnly'] = 'YES'
4148
4154
  else:
4149
4155
  # on bitget hedge mode if the position is long the side is always buy, and if the position is short the side is always sell
4150
4156
  requestSide = 'sell' if (side == 'buy') else 'buy'
4151
4157
  request['tradeSide'] = 'Close'
4152
4158
  else:
4153
- if not oneWayMode:
4159
+ if hedged:
4154
4160
  request['tradeSide'] = 'Open'
4155
4161
  request['side'] = requestSide
4156
4162
  elif marketType == 'spot':
@@ -407,7 +407,10 @@ class paymium(Exchange, ImplicitAPI):
407
407
  request: dict = {
408
408
  'uuid': id,
409
409
  }
410
- return await self.privateDeleteUserOrdersUuidCancel(self.extend(request, params))
410
+ response = await self.privateDeleteUserOrdersUuidCancel(self.extend(request, params))
411
+ return self.safe_order({
412
+ 'info': response,
413
+ })
411
414
 
412
415
  async def transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={}) -> TransferEntry:
413
416
  """
@@ -1341,7 +1341,27 @@ class whitebit(Exchange, ImplicitAPI):
1341
1341
  'market': market['id'],
1342
1342
  'orderId': int(id),
1343
1343
  }
1344
- return await self.v4PrivatePostOrderCancel(self.extend(request, params))
1344
+ response = await self.v4PrivatePostOrderCancel(self.extend(request, params))
1345
+ #
1346
+ # {
1347
+ # "orderId": 4180284841, # order id
1348
+ # "clientOrderId": "customId11", # custom order identifier; "clientOrderId": "" - if not specified.
1349
+ # "market": "BTC_USDT", # deal market
1350
+ # "side": "buy", # order side
1351
+ # "type": "stop market", # order type
1352
+ # "timestamp": 1595792396.165973, # current timestamp
1353
+ # "dealMoney": "0", # if order finished - amount in money currency that is finished
1354
+ # "dealStock": "0", # if order finished - amount in stock currency that is finished
1355
+ # "amount": "0.001", # amount
1356
+ # "takerFee": "0.001", # maker fee ratio. If the number less than 0.0001 - it will be rounded to zero
1357
+ # "makerFee": "0.001", # maker fee ratio. If the number less than 0.0001 - it will be rounded to zero
1358
+ # "left": "0.001", # if order not finished - rest of the amount that must be finished
1359
+ # "dealFee": "0", # fee in money that you pay if order is finished
1360
+ # "price": "40000", # price if price isset
1361
+ # "activation_price": "40000" # activation price if activation price is set
1362
+ # }
1363
+ #
1364
+ return self.parse_order(response)
1345
1365
 
1346
1366
  async def cancel_all_orders(self, symbol: Str = None, params={}):
1347
1367
  """
@@ -1378,7 +1398,7 @@ class whitebit(Exchange, ImplicitAPI):
1378
1398
  #
1379
1399
  # []
1380
1400
  #
1381
- return response
1401
+ return self.parse_orders(response, market)
1382
1402
 
1383
1403
  async def cancel_all_orders_after(self, timeout: Int, params={}):
1384
1404
  """
@@ -1588,7 +1608,7 @@ class whitebit(Exchange, ImplicitAPI):
1588
1608
 
1589
1609
  def parse_order(self, order: dict, market: Market = None) -> Order:
1590
1610
  #
1591
- # createOrder, fetchOpenOrders
1611
+ # createOrder, fetchOpenOrders, cancelOrder
1592
1612
  #
1593
1613
  # {
1594
1614
  # "orderId":105687928629,
@@ -1603,6 +1623,7 @@ class whitebit(Exchange, ImplicitAPI):
1603
1623
  # "takerFee":"0.001",
1604
1624
  # "makerFee":"0",
1605
1625
  # "left":"100",
1626
+ # "price": "40000", # price if price isset
1606
1627
  # "dealFee":"0",
1607
1628
  # "activation_price":"0.065" # stop price(if stop limit or stop market)
1608
1629
  # }
@@ -461,7 +461,23 @@ class zaif(Exchange, ImplicitAPI):
461
461
  request: dict = {
462
462
  'order_id': id,
463
463
  }
464
- return await self.privatePostCancelOrder(self.extend(request, params))
464
+ response = await self.privatePostCancelOrder(self.extend(request, params))
465
+ #
466
+ # {
467
+ # "success": 1,
468
+ # "return": {
469
+ # "order_id": 184,
470
+ # "funds": {
471
+ # "jpy": 15320,
472
+ # "btc": 1.392,
473
+ # "mona": 2600,
474
+ # "kaori": 0.1
475
+ # }
476
+ # }
477
+ # }
478
+ #
479
+ data = self.safe_dict(response, 'return')
480
+ return self.parse_order(data)
465
481
 
466
482
  def parse_order(self, order: dict, market: Market = None) -> Order:
467
483
  #
@@ -474,6 +490,18 @@ class zaif(Exchange, ImplicitAPI):
474
490
  # "comment" : "demo"
475
491
  # }
476
492
  #
493
+ # cancelOrder
494
+ #
495
+ # {
496
+ # "order_id": 184,
497
+ # "funds": {
498
+ # "jpy": 15320,
499
+ # "btc": 1.392,
500
+ # "mona": 2600,
501
+ # "kaori": 0.1
502
+ # }
503
+ # }
504
+ #
477
505
  side = self.safe_string(order, 'action')
478
506
  side = 'buy' if (side == 'bid') else 'sell'
479
507
  timestamp = self.safe_timestamp(order, 'timestamp')
@@ -481,7 +509,7 @@ class zaif(Exchange, ImplicitAPI):
481
509
  symbol = self.safe_symbol(marketId, market, '_')
482
510
  price = self.safe_string(order, 'price')
483
511
  amount = self.safe_string(order, 'amount')
484
- id = self.safe_string(order, 'id')
512
+ id = self.safe_string_2(order, 'id', 'order_id')
485
513
  return self.safe_order({
486
514
  'id': id,
487
515
  'clientOrderId': None,
@@ -183,6 +183,10 @@ class zonda(Exchange, ImplicitAPI):
183
183
  'balances/BITBAY/balance',
184
184
  'fiat_cantor/rate/{baseId}/{quoteId}',
185
185
  'fiat_cantor/history',
186
+ 'client_payments/v2/customer/crypto/{currency}/channels/deposit',
187
+ 'client_payments/v2/customer/crypto/{currency}/channels/withdrawal',
188
+ 'client_payments/v2/customer/crypto/deposit/fee',
189
+ 'client_payments/v2/customer/crypto/withdrawal/fee',
186
190
  ],
187
191
  'post': [
188
192
  'trading/offer/{symbol}',
@@ -193,6 +197,8 @@ class zonda(Exchange, ImplicitAPI):
193
197
  'fiat_cantor/exchange',
194
198
  'api_payments/withdrawals/crypto',
195
199
  'api_payments/withdrawals/fiat',
200
+ 'client_payments/v2/customer/crypto/deposit',
201
+ 'client_payments/v2/customer/crypto/withdrawal',
196
202
  ],
197
203
  'delete': [
198
204
  'trading/offer/{symbol}/{id}/{side}/{price}',
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.35'
7
+ __version__ = '4.3.36'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -1016,7 +1016,7 @@ class bingx(Exchange, ImplicitAPI):
1016
1016
  if time == 0:
1017
1017
  time = None
1018
1018
  cost = self.safe_string(trade, 'quoteQty')
1019
- type = 'spot' if (cost is None) else 'swap'
1019
+ # type = 'spot' if (cost is None) else 'swap'; self is not reliable
1020
1020
  currencyId = self.safe_string_n(trade, ['currency', 'N', 'commissionAsset'])
1021
1021
  currencyCode = self.safe_currency_code(currencyId)
1022
1022
  m = self.safe_bool(trade, 'm')
@@ -1047,7 +1047,7 @@ class bingx(Exchange, ImplicitAPI):
1047
1047
  'info': trade,
1048
1048
  'timestamp': time,
1049
1049
  'datetime': self.iso8601(time),
1050
- 'symbol': self.safe_symbol(marketId, market, '-', type),
1050
+ 'symbol': self.safe_symbol(marketId, market, '-'),
1051
1051
  'order': self.safe_string_2(trade, 'orderId', 'i'),
1052
1052
  'type': self.safe_string_lower(trade, 'o'),
1053
1053
  'side': self.parse_order_side(side),
@@ -448,7 +448,8 @@ class bit2c(Exchange, ImplicitAPI):
448
448
  request: dict = {
449
449
  'id': id,
450
450
  }
451
- return self.privatePostOrderCancelOrder(self.extend(request, params))
451
+ response = self.privatePostOrderCancelOrder(self.extend(request, params))
452
+ return self.parse_order(response)
452
453
 
453
454
  def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
454
455
  """
@@ -1249,6 +1249,7 @@ class bitget(Exchange, ImplicitAPI):
1249
1249
  '40712': InsufficientFunds, # Insufficient margin
1250
1250
  '40713': ExchangeError, # Cannot exceed the maximum transferable margin amount
1251
1251
  '40714': ExchangeError, # No direct margin call is allowed
1252
+ '40762': InsufficientFunds, # {"code":"40762","msg":"The order amount exceeds the balance","requestTime":1716572156622,"data":null}
1252
1253
  '40768': OrderNotFound, # Order does not exist"
1253
1254
  '41114': OnMaintenance, # {"code":"41114","msg":"The current trading pair is under maintenance, please refer to the official announcement for the opening time","requestTime":1679196062544,"data":null}
1254
1255
  '43011': InvalidOrder, # The parameter does not meet the specification executePrice <= 0
@@ -4138,18 +4139,23 @@ class bitget(Exchange, ImplicitAPI):
4138
4139
  marginMode = 'cross'
4139
4140
  marginModeRequest = 'crossed' if (marginMode == 'cross') else 'isolated'
4140
4141
  request['marginMode'] = marginModeRequest
4141
- oneWayMode = self.safe_bool(params, 'oneWayMode', False)
4142
- params = self.omit(params, 'oneWayMode')
4142
+ hedged = None
4143
+ hedged, params = self.handle_param_bool(params, 'hedged', False)
4144
+ # backward compatibility for `oneWayMode`
4145
+ oneWayMode = None
4146
+ oneWayMode, params = self.handle_param_bool(params, 'oneWayMode')
4147
+ if oneWayMode is not None:
4148
+ hedged = not oneWayMode
4143
4149
  requestSide = side
4144
4150
  if reduceOnly:
4145
- if oneWayMode:
4151
+ if not hedged:
4146
4152
  request['reduceOnly'] = 'YES'
4147
4153
  else:
4148
4154
  # on bitget hedge mode if the position is long the side is always buy, and if the position is short the side is always sell
4149
4155
  requestSide = 'sell' if (side == 'buy') else 'buy'
4150
4156
  request['tradeSide'] = 'Close'
4151
4157
  else:
4152
- if not oneWayMode:
4158
+ if hedged:
4153
4159
  request['tradeSide'] = 'Open'
4154
4160
  request['side'] = requestSide
4155
4161
  elif marketType == 'spot':
@@ -407,7 +407,10 @@ class paymium(Exchange, ImplicitAPI):
407
407
  request: dict = {
408
408
  'uuid': id,
409
409
  }
410
- return self.privateDeleteUserOrdersUuidCancel(self.extend(request, params))
410
+ response = self.privateDeleteUserOrdersUuidCancel(self.extend(request, params))
411
+ return self.safe_order({
412
+ 'info': response,
413
+ })
411
414
 
412
415
  def transfer(self, code: str, amount: float, fromAccount: str, toAccount: str, params={}) -> TransferEntry:
413
416
  """
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.35'
7
+ __version__ = '4.3.36'
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
@@ -691,10 +691,10 @@ class binance(ccxt.async_support.binance):
691
691
  # todo: self is a synch blocking call - make it async
692
692
  # default 100, max 1000, valid limits 5, 10, 20, 50, 100, 500, 1000
693
693
  snapshot = await self.fetch_rest_order_book_safe(symbol, limit, params)
694
- orderbook = self.safe_value(self.orderbooks, symbol)
695
- if orderbook is None:
694
+ if self.safe_value(self.orderbooks, symbol) is None:
696
695
  # if the orderbook is dropped before the snapshot is received
697
696
  return
697
+ orderbook = self.orderbooks[symbol]
698
698
  orderbook.reset(snapshot)
699
699
  # unroll the accumulated deltas
700
700
  messages = orderbook.cache
@@ -770,8 +770,7 @@ class binance(ccxt.async_support.binance):
770
770
  symbol = market['symbol']
771
771
  name = 'depth'
772
772
  messageHash = market['lowercaseId'] + '@' + name
773
- orderbook = self.safe_value(self.orderbooks, symbol)
774
- if orderbook is None:
773
+ if not (symbol in self.orderbooks):
775
774
  #
776
775
  # https://github.com/ccxt/ccxt/issues/6672
777
776
  #
@@ -781,6 +780,7 @@ class binance(ccxt.async_support.binance):
781
780
  # therefore it is safe to drop these premature messages.
782
781
  #
783
782
  return
783
+ orderbook = self.orderbooks[symbol]
784
784
  nonce = self.safe_integer(orderbook, 'nonce')
785
785
  if nonce is None:
786
786
  # 2. Buffer the events you receive from the stream.
@@ -928,13 +928,16 @@ class bingx(ccxt.async_support.bingx):
928
928
  # }
929
929
  #
930
930
  isSpot = ('dataType' in message)
931
- result = self.safe_value_2(message, 'data', 'o', {})
931
+ result = self.safe_dict_2(message, 'data', 'o', {})
932
932
  cachedTrades = self.myTrades
933
933
  if cachedTrades is None:
934
934
  limit = self.safe_integer(self.options, 'tradesLimit', 1000)
935
935
  cachedTrades = ArrayCacheBySymbolById(limit)
936
936
  self.myTrades = cachedTrades
937
- parsed = self.parse_trade(result)
937
+ type = 'spot' if isSpot else 'swap'
938
+ marketId = self.safe_string(result, 's')
939
+ market = self.safe_market(marketId, None, '-', type)
940
+ parsed = self.parse_trade(result, market)
938
941
  symbol = parsed['symbol']
939
942
  spotHash = 'spot:mytrades'
940
943
  swapHash = 'swap:mytrades'
@@ -980,10 +983,12 @@ class bingx(ccxt.async_support.bingx):
980
983
  # }
981
984
  # }
982
985
  #
983
- a = self.safe_value(message, 'a', {})
984
- data = self.safe_value(a, 'B', [])
986
+ a = self.safe_dict(message, 'a', {})
987
+ data = self.safe_list(a, 'B', [])
985
988
  timestamp = self.safe_integer_2(message, 'T', 'E')
986
989
  type = 'swap' if ('P' in a) else 'spot'
990
+ if not (type in self.balance):
991
+ self.balance[type] = {}
987
992
  self.balance[type]['info'] = data
988
993
  self.balance[type]['timestamp'] = timestamp
989
994
  self.balance[type]['datetime'] = self.iso8601(timestamp)
@@ -551,8 +551,7 @@ class bitfinex2(ccxt.async_support.bitfinex2):
551
551
  prec = self.safe_string(subscription, 'prec', 'P0')
552
552
  isRaw = (prec == 'R0')
553
553
  # if it is an initial snapshot
554
- orderbook = self.safe_value(self.orderbooks, symbol)
555
- if orderbook is None:
554
+ if not (symbol in self.orderbooks):
556
555
  limit = self.safe_integer(subscription, 'len')
557
556
  if isRaw:
558
557
  # raw order books
@@ -571,7 +570,7 @@ class bitfinex2(ccxt.async_support.bitfinex2):
571
570
  bookside = orderbook[side]
572
571
  idString = self.safe_string(delta, 0)
573
572
  price = self.safe_float(delta, 1)
574
- bookside.store(price, size, idString)
573
+ bookside.storeArray([price, size, idString])
575
574
  else:
576
575
  deltas = message[1]
577
576
  for i in range(0, len(deltas)):
@@ -582,10 +581,11 @@ class bitfinex2(ccxt.async_support.bitfinex2):
582
581
  size = -amount if (amount < 0) else amount
583
582
  side = 'asks' if (amount < 0) else 'bids'
584
583
  bookside = orderbook[side]
585
- bookside.store(price, size, counter)
584
+ bookside.storeArray([price, size, counter])
586
585
  orderbook['symbol'] = symbol
587
586
  client.resolve(orderbook, messageHash)
588
587
  else:
588
+ orderbook = self.orderbooks[symbol]
589
589
  deltas = message[1]
590
590
  orderbookItem = self.orderbooks[symbol]
591
591
  if isRaw:
@@ -12,7 +12,6 @@ from ccxt.async_support.base.ws.client import Client
12
12
  from typing import List
13
13
  from ccxt.base.errors import ExchangeError
14
14
  from ccxt.base.errors import AuthenticationError
15
- from ccxt.base.errors import ArgumentsRequired
16
15
  from ccxt.base.errors import NotSupported
17
16
 
18
17
 
@@ -333,9 +332,9 @@ class bitmart(ccxt.async_support.bitmart):
333
332
 
334
333
  async def watch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
335
334
  """
336
- :see: https://developer-pro.bitmart.com/en/spot/#private-order-channel
337
- :see: https://developer-pro.bitmart.com/en/futures/#private-order-channel
338
335
  watches information on multiple orders made by the user
336
+ :see: https://developer-pro.bitmart.com/en/spot/#private-order-progress
337
+ :see: https://developer-pro.bitmart.com/en/futures/#private-order-channel
339
338
  :param str symbol: unified market symbol of the market orders were made in
340
339
  :param int [since]: the earliest time in ms to fetch orders for
341
340
  :param int [limit]: the maximum number of order structures to retrieve
@@ -354,11 +353,14 @@ class bitmart(ccxt.async_support.bitmart):
354
353
  await self.authenticate(type, params)
355
354
  request = None
356
355
  if type == 'spot':
357
- if symbol is None:
358
- raise ArgumentsRequired(self.id + ' watchOrders() requires a symbol argument for spot markets')
356
+ argsRequest = 'spot/user/order:'
357
+ if symbol is not None:
358
+ argsRequest += market['id']
359
+ else:
360
+ argsRequest = 'spot/user/orders:ALL_SYMBOLS'
359
361
  request = {
360
362
  'op': 'subscribe',
361
- 'args': ['spot/user/order:' + market['id']],
363
+ 'args': [argsRequest],
362
364
  }
363
365
  else:
364
366
  request = {
@@ -678,21 +678,21 @@ class bybit(ccxt.async_support.bybit):
678
678
  isSpot = client.url.find('spot') >= 0
679
679
  type = self.safe_string(message, 'type')
680
680
  isSnapshot = (type == 'snapshot')
681
- data = self.safe_value(message, 'data', {})
681
+ data = self.safe_dict(message, 'data', {})
682
682
  marketId = self.safe_string(data, 's')
683
683
  marketType = 'spot' if isSpot else 'contract'
684
684
  market = self.safe_market(marketId, None, None, marketType)
685
685
  symbol = market['symbol']
686
686
  timestamp = self.safe_integer(message, 'ts')
687
- orderbook = self.safe_value(self.orderbooks, symbol)
688
- if orderbook is None:
689
- orderbook = self.order_book()
687
+ if not (symbol in self.orderbooks):
688
+ self.orderbooks[symbol] = self.order_book()
689
+ orderbook = self.orderbooks[symbol]
690
690
  if isSnapshot:
691
691
  snapshot = self.parse_order_book(data, symbol, timestamp, 'b', 'a')
692
692
  orderbook.reset(snapshot)
693
693
  else:
694
- asks = self.safe_value(data, 'a', [])
695
- bids = self.safe_value(data, 'b', [])
694
+ asks = self.safe_list(data, 'a', [])
695
+ bids = self.safe_list(data, 'b', [])
696
696
  self.handle_deltas(orderbook['asks'], asks)
697
697
  self.handle_deltas(orderbook['bids'], bids)
698
698
  orderbook['timestamp'] = timestamp
@@ -608,19 +608,18 @@ class htx(ccxt.async_support.htx):
608
608
  # }
609
609
  #
610
610
  messageHash = self.safe_string(message, 'ch')
611
- tick = self.safe_value(message, 'tick')
611
+ tick = self.safe_dict(message, 'tick')
612
612
  event = self.safe_string(tick, 'event')
613
- ch = self.safe_value(message, 'ch')
613
+ ch = self.safe_string(message, 'ch')
614
614
  parts = ch.split('.')
615
615
  marketId = self.safe_string(parts, 1)
616
616
  symbol = self.safe_symbol(marketId)
617
- orderbook = self.safe_value(self.orderbooks, symbol)
618
- if orderbook is None:
617
+ if not (symbol in self.orderbooks):
619
618
  size = self.safe_string(parts, 3)
620
619
  sizeParts = size.split('_')
621
620
  limit = self.safe_integer(sizeParts, 1)
622
- orderbook = self.order_book({}, limit)
623
- self.orderbooks[symbol] = orderbook
621
+ self.orderbooks[symbol] = self.order_book({}, limit)
622
+ orderbook = self.orderbooks[symbol]
624
623
  if (event is None) and (orderbook['nonce'] is None):
625
624
  orderbook.cache.append(message)
626
625
  else:
@@ -1004,10 +1004,9 @@ class okx(ccxt.async_support.okx):
1004
1004
  self.handle_order_book_message(client, update, orderbook, messageHash)
1005
1005
  client.resolve(orderbook, messageHash)
1006
1006
  elif (channel == 'books5') or (channel == 'bbo-tbt'):
1007
- orderbook = self.safe_value(self.orderbooks, symbol)
1008
- if orderbook is None:
1009
- orderbook = self.order_book({}, limit)
1010
- self.orderbooks[symbol] = orderbook
1007
+ if not (symbol in self.orderbooks):
1008
+ self.orderbooks[symbol] = self.order_book({}, limit)
1009
+ orderbook = self.orderbooks[symbol]
1011
1010
  for i in range(0, len(data)):
1012
1011
  update = data[i]
1013
1012
  timestamp = self.safe_integer(update, 'ts')