ccxt 4.3.55__tar.gz → 4.3.56__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 (527) hide show
  1. {ccxt-4.3.55/ccxt.egg-info → ccxt-4.3.56}/PKG-INFO +4 -6
  2. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/__init__.py +1 -1
  3. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bingx.py +16 -0
  4. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/__init__.py +1 -1
  5. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/base/exchange.py +19 -3
  6. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/binance.py +7 -7
  7. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bingx.py +33 -0
  8. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bitflyer.py +7 -1
  9. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bitopro.py +18 -3
  10. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/btcmarkets.py +27 -26
  11. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bybit.py +8 -5
  12. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/delta.py +5 -1
  13. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/gate.py +1 -0
  14. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/hyperliquid.py +1 -1
  15. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/lbank.py +27 -6
  16. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/base/exchange.py +19 -3
  17. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/binance.py +7 -7
  18. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bingx.py +33 -0
  19. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bitflyer.py +7 -1
  20. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bitopro.py +18 -3
  21. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/btcmarkets.py +27 -26
  22. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bybit.py +8 -5
  23. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/delta.py +5 -1
  24. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/gate.py +1 -0
  25. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/hyperliquid.py +1 -1
  26. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/lbank.py +27 -6
  27. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/__init__.py +1 -1
  28. {ccxt-4.3.55 → ccxt-4.3.56/ccxt.egg-info}/PKG-INFO +4 -6
  29. {ccxt-4.3.55 → ccxt-4.3.56}/package.json +7 -3
  30. {ccxt-4.3.55 → ccxt-4.3.56}/LICENSE.txt +0 -0
  31. {ccxt-4.3.55 → ccxt-4.3.56}/MANIFEST.in +0 -0
  32. {ccxt-4.3.55 → ccxt-4.3.56}/README.rst +0 -0
  33. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/__init__.py +0 -0
  34. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/ace.py +0 -0
  35. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/alpaca.py +0 -0
  36. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/ascendex.py +0 -0
  37. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bequant.py +0 -0
  38. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bigone.py +0 -0
  39. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/binance.py +0 -0
  40. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/binancecoinm.py +0 -0
  41. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/binanceus.py +0 -0
  42. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/binanceusdm.py +0 -0
  43. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bit2c.py +0 -0
  44. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bitbank.py +0 -0
  45. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bitbay.py +0 -0
  46. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bitbns.py +0 -0
  47. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bitcoincom.py +0 -0
  48. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bitfinex.py +0 -0
  49. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bitfinex2.py +0 -0
  50. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bitflyer.py +0 -0
  51. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bitget.py +0 -0
  52. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bithumb.py +0 -0
  53. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bitmart.py +0 -0
  54. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bitmex.py +0 -0
  55. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bitopro.py +0 -0
  56. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bitpanda.py +0 -0
  57. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bitrue.py +0 -0
  58. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bitso.py +0 -0
  59. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bitstamp.py +0 -0
  60. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bitteam.py +0 -0
  61. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bitvavo.py +0 -0
  62. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bl3p.py +0 -0
  63. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/blockchaincom.py +0 -0
  64. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/blofin.py +0 -0
  65. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/btcalpha.py +0 -0
  66. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/btcbox.py +0 -0
  67. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/btcmarkets.py +0 -0
  68. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/btcturk.py +0 -0
  69. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/bybit.py +0 -0
  70. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/cex.py +0 -0
  71. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/coinbase.py +0 -0
  72. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/coinbaseadvanced.py +0 -0
  73. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/coinbaseexchange.py +0 -0
  74. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/coinbaseinternational.py +0 -0
  75. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/coincheck.py +0 -0
  76. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/coinex.py +0 -0
  77. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/coinlist.py +0 -0
  78. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/coinmate.py +0 -0
  79. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/coinmetro.py +0 -0
  80. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/coinone.py +0 -0
  81. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/coinsph.py +0 -0
  82. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/coinspot.py +0 -0
  83. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/cryptocom.py +0 -0
  84. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/currencycom.py +0 -0
  85. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/delta.py +0 -0
  86. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/deribit.py +0 -0
  87. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/digifinex.py +0 -0
  88. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/exmo.py +0 -0
  89. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/fmfwio.py +0 -0
  90. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/gate.py +0 -0
  91. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/gateio.py +0 -0
  92. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/gemini.py +0 -0
  93. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/hitbtc.py +0 -0
  94. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/hitbtc3.py +0 -0
  95. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/hollaex.py +0 -0
  96. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/htx.py +0 -0
  97. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/huobi.py +0 -0
  98. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/huobijp.py +0 -0
  99. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/hyperliquid.py +0 -0
  100. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/idex.py +0 -0
  101. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/independentreserve.py +0 -0
  102. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/indodax.py +0 -0
  103. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/kraken.py +0 -0
  104. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/krakenfutures.py +0 -0
  105. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/kucoin.py +0 -0
  106. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/kucoinfutures.py +0 -0
  107. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/kuna.py +0 -0
  108. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/latoken.py +0 -0
  109. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/lbank.py +0 -0
  110. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/luno.py +0 -0
  111. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/lykke.py +0 -0
  112. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/mercado.py +0 -0
  113. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/mexc.py +0 -0
  114. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/ndax.py +0 -0
  115. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/novadax.py +0 -0
  116. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/oceanex.py +0 -0
  117. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/okcoin.py +0 -0
  118. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/okx.py +0 -0
  119. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/onetrading.py +0 -0
  120. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/oxfun.py +0 -0
  121. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/p2b.py +0 -0
  122. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/paymium.py +0 -0
  123. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/phemex.py +0 -0
  124. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/poloniex.py +0 -0
  125. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/poloniexfutures.py +0 -0
  126. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/probit.py +0 -0
  127. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/timex.py +0 -0
  128. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/tokocrypto.py +0 -0
  129. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/tradeogre.py +0 -0
  130. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/upbit.py +0 -0
  131. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/vertex.py +0 -0
  132. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/wavesexchange.py +0 -0
  133. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/wazirx.py +0 -0
  134. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/whitebit.py +0 -0
  135. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/woo.py +0 -0
  136. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/woofipro.py +0 -0
  137. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/xt.py +0 -0
  138. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/yobit.py +0 -0
  139. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/zaif.py +0 -0
  140. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/abstract/zonda.py +0 -0
  141. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/ace.py +0 -0
  142. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/alpaca.py +0 -0
  143. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/ascendex.py +0 -0
  144. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/ace.py +0 -0
  145. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/alpaca.py +0 -0
  146. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/ascendex.py +0 -0
  147. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/base/__init__.py +0 -0
  148. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/base/throttler.py +0 -0
  149. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/base/ws/__init__.py +0 -0
  150. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  151. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/base/ws/cache.py +0 -0
  152. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/base/ws/client.py +0 -0
  153. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/base/ws/fast_client.py +0 -0
  154. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/base/ws/functions.py +0 -0
  155. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/base/ws/future.py +0 -0
  156. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/base/ws/order_book.py +0 -0
  157. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  158. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bequant.py +0 -0
  159. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bigone.py +0 -0
  160. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/binancecoinm.py +0 -0
  161. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/binanceus.py +0 -0
  162. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/binanceusdm.py +0 -0
  163. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bit2c.py +0 -0
  164. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bitbank.py +0 -0
  165. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bitbay.py +0 -0
  166. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bitbns.py +0 -0
  167. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bitcoincom.py +0 -0
  168. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bitfinex.py +0 -0
  169. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bitfinex2.py +0 -0
  170. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bitget.py +0 -0
  171. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bithumb.py +0 -0
  172. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bitmart.py +0 -0
  173. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bitmex.py +0 -0
  174. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bitpanda.py +0 -0
  175. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bitrue.py +0 -0
  176. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bitso.py +0 -0
  177. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bitstamp.py +0 -0
  178. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bitteam.py +0 -0
  179. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bitvavo.py +0 -0
  180. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/bl3p.py +0 -0
  181. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/blockchaincom.py +0 -0
  182. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/blofin.py +0 -0
  183. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/btcalpha.py +0 -0
  184. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/btcbox.py +0 -0
  185. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/btcturk.py +0 -0
  186. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/cex.py +0 -0
  187. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/coinbase.py +0 -0
  188. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/coinbaseadvanced.py +0 -0
  189. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/coinbaseexchange.py +0 -0
  190. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/coinbaseinternational.py +0 -0
  191. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/coincheck.py +0 -0
  192. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/coinex.py +0 -0
  193. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/coinlist.py +0 -0
  194. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/coinmate.py +0 -0
  195. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/coinmetro.py +0 -0
  196. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/coinone.py +0 -0
  197. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/coinsph.py +0 -0
  198. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/coinspot.py +0 -0
  199. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/cryptocom.py +0 -0
  200. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/currencycom.py +0 -0
  201. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/deribit.py +0 -0
  202. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/digifinex.py +0 -0
  203. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/exmo.py +0 -0
  204. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/fmfwio.py +0 -0
  205. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/gateio.py +0 -0
  206. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/gemini.py +0 -0
  207. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/hitbtc.py +0 -0
  208. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/hitbtc3.py +0 -0
  209. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/hollaex.py +0 -0
  210. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/htx.py +0 -0
  211. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/huobi.py +0 -0
  212. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/huobijp.py +0 -0
  213. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/idex.py +0 -0
  214. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/independentreserve.py +0 -0
  215. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/indodax.py +0 -0
  216. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/kraken.py +0 -0
  217. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/krakenfutures.py +0 -0
  218. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/kucoin.py +0 -0
  219. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/kucoinfutures.py +0 -0
  220. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/kuna.py +0 -0
  221. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/latoken.py +0 -0
  222. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/luno.py +0 -0
  223. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/lykke.py +0 -0
  224. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/mercado.py +0 -0
  225. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/mexc.py +0 -0
  226. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/ndax.py +0 -0
  227. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/novadax.py +0 -0
  228. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/oceanex.py +0 -0
  229. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/okcoin.py +0 -0
  230. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/okx.py +0 -0
  231. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/onetrading.py +0 -0
  232. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/oxfun.py +0 -0
  233. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/p2b.py +0 -0
  234. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/paymium.py +0 -0
  235. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/phemex.py +0 -0
  236. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/poloniex.py +0 -0
  237. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/poloniexfutures.py +0 -0
  238. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/probit.py +0 -0
  239. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/timex.py +0 -0
  240. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/tokocrypto.py +0 -0
  241. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/tradeogre.py +0 -0
  242. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/upbit.py +0 -0
  243. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/vertex.py +0 -0
  244. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/wavesexchange.py +0 -0
  245. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/wazirx.py +0 -0
  246. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/whitebit.py +0 -0
  247. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/woo.py +0 -0
  248. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/woofipro.py +0 -0
  249. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/xt.py +0 -0
  250. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/yobit.py +0 -0
  251. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/zaif.py +0 -0
  252. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/async_support/zonda.py +0 -0
  253. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/base/__init__.py +0 -0
  254. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/base/decimal_to_precision.py +0 -0
  255. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/base/errors.py +0 -0
  256. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/base/precise.py +0 -0
  257. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/base/types.py +0 -0
  258. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bequant.py +0 -0
  259. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bigone.py +0 -0
  260. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/binancecoinm.py +0 -0
  261. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/binanceus.py +0 -0
  262. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/binanceusdm.py +0 -0
  263. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bit2c.py +0 -0
  264. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bitbank.py +0 -0
  265. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bitbay.py +0 -0
  266. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bitbns.py +0 -0
  267. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bitcoincom.py +0 -0
  268. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bitfinex.py +0 -0
  269. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bitfinex2.py +0 -0
  270. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bitget.py +0 -0
  271. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bithumb.py +0 -0
  272. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bitmart.py +0 -0
  273. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bitmex.py +0 -0
  274. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bitpanda.py +0 -0
  275. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bitrue.py +0 -0
  276. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bitso.py +0 -0
  277. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bitstamp.py +0 -0
  278. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bitteam.py +0 -0
  279. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bitvavo.py +0 -0
  280. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/bl3p.py +0 -0
  281. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/blockchaincom.py +0 -0
  282. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/blofin.py +0 -0
  283. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/btcalpha.py +0 -0
  284. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/btcbox.py +0 -0
  285. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/btcturk.py +0 -0
  286. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/cex.py +0 -0
  287. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/coinbase.py +0 -0
  288. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/coinbaseadvanced.py +0 -0
  289. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/coinbaseexchange.py +0 -0
  290. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/coinbaseinternational.py +0 -0
  291. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/coincheck.py +0 -0
  292. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/coinex.py +0 -0
  293. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/coinlist.py +0 -0
  294. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/coinmate.py +0 -0
  295. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/coinmetro.py +0 -0
  296. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/coinone.py +0 -0
  297. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/coinsph.py +0 -0
  298. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/coinspot.py +0 -0
  299. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/cryptocom.py +0 -0
  300. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/currencycom.py +0 -0
  301. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/deribit.py +0 -0
  302. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/digifinex.py +0 -0
  303. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/exmo.py +0 -0
  304. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/fmfwio.py +0 -0
  305. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/gateio.py +0 -0
  306. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/gemini.py +0 -0
  307. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/hitbtc.py +0 -0
  308. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/hitbtc3.py +0 -0
  309. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/hollaex.py +0 -0
  310. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/htx.py +0 -0
  311. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/huobi.py +0 -0
  312. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/huobijp.py +0 -0
  313. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/idex.py +0 -0
  314. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/independentreserve.py +0 -0
  315. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/indodax.py +0 -0
  316. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/kraken.py +0 -0
  317. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/krakenfutures.py +0 -0
  318. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/kucoin.py +0 -0
  319. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/kucoinfutures.py +0 -0
  320. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/kuna.py +0 -0
  321. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/latoken.py +0 -0
  322. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/luno.py +0 -0
  323. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/lykke.py +0 -0
  324. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/mercado.py +0 -0
  325. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/mexc.py +0 -0
  326. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/ndax.py +0 -0
  327. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/novadax.py +0 -0
  328. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/oceanex.py +0 -0
  329. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/okcoin.py +0 -0
  330. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/okx.py +0 -0
  331. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/onetrading.py +0 -0
  332. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/oxfun.py +0 -0
  333. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/p2b.py +0 -0
  334. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/paymium.py +0 -0
  335. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/phemex.py +0 -0
  336. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/poloniex.py +0 -0
  337. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/poloniexfutures.py +0 -0
  338. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/alpaca.py +0 -0
  339. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/ascendex.py +0 -0
  340. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/bequant.py +0 -0
  341. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/binance.py +0 -0
  342. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/binancecoinm.py +0 -0
  343. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/binanceus.py +0 -0
  344. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/binanceusdm.py +0 -0
  345. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/bingx.py +0 -0
  346. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/bitcoincom.py +0 -0
  347. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/bitfinex.py +0 -0
  348. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/bitfinex2.py +0 -0
  349. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/bitget.py +0 -0
  350. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/bithumb.py +0 -0
  351. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/bitmart.py +0 -0
  352. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/bitmex.py +0 -0
  353. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/bitopro.py +0 -0
  354. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/bitpanda.py +0 -0
  355. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/bitrue.py +0 -0
  356. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/bitstamp.py +0 -0
  357. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/bitvavo.py +0 -0
  358. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/blockchaincom.py +0 -0
  359. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/bybit.py +0 -0
  360. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/cex.py +0 -0
  361. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/coinbase.py +0 -0
  362. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/coinbaseexchange.py +0 -0
  363. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/coinbaseinternational.py +0 -0
  364. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/coincheck.py +0 -0
  365. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/coinex.py +0 -0
  366. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/coinone.py +0 -0
  367. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/cryptocom.py +0 -0
  368. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/currencycom.py +0 -0
  369. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/deribit.py +0 -0
  370. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/exmo.py +0 -0
  371. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/gate.py +0 -0
  372. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/gateio.py +0 -0
  373. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/gemini.py +0 -0
  374. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/hitbtc.py +0 -0
  375. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/hollaex.py +0 -0
  376. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/htx.py +0 -0
  377. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/huobi.py +0 -0
  378. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/huobijp.py +0 -0
  379. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/hyperliquid.py +0 -0
  380. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/idex.py +0 -0
  381. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/independentreserve.py +0 -0
  382. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/kraken.py +0 -0
  383. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/krakenfutures.py +0 -0
  384. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/kucoin.py +0 -0
  385. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/kucoinfutures.py +0 -0
  386. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/lbank.py +0 -0
  387. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/luno.py +0 -0
  388. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/mexc.py +0 -0
  389. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/ndax.py +0 -0
  390. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/okcoin.py +0 -0
  391. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/okx.py +0 -0
  392. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/onetrading.py +0 -0
  393. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/oxfun.py +0 -0
  394. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/p2b.py +0 -0
  395. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/phemex.py +0 -0
  396. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/poloniex.py +0 -0
  397. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/poloniexfutures.py +0 -0
  398. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/probit.py +0 -0
  399. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/upbit.py +0 -0
  400. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/vertex.py +0 -0
  401. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/wazirx.py +0 -0
  402. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/whitebit.py +0 -0
  403. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/woo.py +0 -0
  404. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/pro/woofipro.py +0 -0
  405. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/probit.py +0 -0
  406. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/__init__.py +0 -0
  407. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  408. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  409. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  410. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  411. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  412. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  413. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  414. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  415. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  416. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  417. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  418. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  419. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  420. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  421. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  422. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  423. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  424. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  425. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  426. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  427. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  428. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  429. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  430. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  431. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  432. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  433. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  434. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  435. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  436. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  437. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  438. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  439. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  440. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  441. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  442. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  443. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  444. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  445. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  446. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  447. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  448. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  449. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  450. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  451. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  452. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  453. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  454. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  455. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  456. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  457. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  458. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  459. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  460. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  461. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  462. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  463. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  464. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  465. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  466. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  467. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  468. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  469. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  470. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  471. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  472. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  473. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  474. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  475. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  476. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  477. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  478. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  479. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  480. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  481. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  482. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  483. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  484. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  485. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  486. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  487. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  488. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  489. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  490. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  491. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  492. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  493. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/toolz/_version.py +0 -0
  494. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  495. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  496. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  497. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  498. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  499. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  500. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  501. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  502. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/static_dependencies/toolz/utils.py +0 -0
  503. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/test/__init__.py +0 -0
  504. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/test/tests_async.py +0 -0
  505. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/test/tests_helpers.py +0 -0
  506. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/test/tests_init.py +0 -0
  507. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/test/tests_sync.py +0 -0
  508. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/timex.py +0 -0
  509. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/tokocrypto.py +0 -0
  510. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/tradeogre.py +0 -0
  511. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/upbit.py +0 -0
  512. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/vertex.py +0 -0
  513. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/wavesexchange.py +0 -0
  514. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/wazirx.py +0 -0
  515. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/whitebit.py +0 -0
  516. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/woo.py +0 -0
  517. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/woofipro.py +0 -0
  518. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/xt.py +0 -0
  519. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/yobit.py +0 -0
  520. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/zaif.py +0 -0
  521. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt/zonda.py +0 -0
  522. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt.egg-info/SOURCES.txt +0 -0
  523. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt.egg-info/dependency_links.txt +0 -0
  524. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt.egg-info/requires.txt +0 -0
  525. {ccxt-4.3.55 → ccxt-4.3.56}/ccxt.egg-info/top_level.txt +0 -0
  526. {ccxt-4.3.55 → ccxt-4.3.56}/setup.cfg +0 -0
  527. {ccxt-4.3.55 → ccxt-4.3.56}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.3.55
3
+ Version: 4.3.56
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
@@ -60,8 +60,6 @@ Current feature list:
60
60
 
61
61
  ## Sponsored Promotion
62
62
 
63
- [![Trade derivatives in June with BitMEX](https://github.com/ccxt/ccxt/assets/1294454/94c3d456-fdf5-4d62-8178-a42e3999e29e)](https://www.bitmex.com/app/register/NZTR1q)
64
-
65
63
  ## See Also
66
64
 
67
65
  - <sub>[![TabTrader](https://user-images.githubusercontent.com/1294454/66755907-9c3e8880-eea1-11e9-846e-0bff349ceb87.png)](https://tab-trader.com/?utm_source=ccxt)</sub> **[TabTrader](https://tab-trader.com/?utm_source=ccxt)** – trading on all exchanges in one app. Available on **[Android](https://play.google.com/store/apps/details?id=com.tabtrader.android&referrer=utm_source%3Dccxt)** and **[iOS](https://itunes.apple.com/app/apple-store/id1095716562?mt=8)**!
@@ -259,13 +257,13 @@ console.log(version, Object.keys(exchanges));
259
257
 
260
258
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
261
259
 
262
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.55/dist/ccxt.browser.min.js
263
- * unpkg: https://unpkg.com/ccxt@4.3.55/dist/ccxt.browser.min.js
260
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.56/dist/ccxt.browser.min.js
261
+ * unpkg: https://unpkg.com/ccxt@4.3.56/dist/ccxt.browser.min.js
264
262
 
265
263
  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.
266
264
 
267
265
  ```HTML
268
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.55/dist/ccxt.browser.min.js"></script>
266
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.56/dist/ccxt.browser.min.js"></script>
269
267
  ```
270
268
 
271
269
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.3.55'
25
+ __version__ = '4.3.56'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -76,6 +76,22 @@ class ImplicitAPI:
76
76
  swap_v2_private_delete_trade_batchorders = swapV2PrivateDeleteTradeBatchOrders = Entry('trade/batchOrders', ['swap', 'v2', 'private'], 'DELETE', {'cost': 2})
77
77
  swap_v2_private_delete_trade_allopenorders = swapV2PrivateDeleteTradeAllOpenOrders = Entry('trade/allOpenOrders', ['swap', 'v2', 'private'], 'DELETE', {'cost': 2})
78
78
  swap_v3_public_get_quote_klines = swapV3PublicGetQuoteKlines = Entry('quote/klines', ['swap', 'v3', 'public'], 'GET', {'cost': 1})
79
+ cswap_v1_public_get_market_contracts = cswapV1PublicGetMarketContracts = Entry('market/contracts', ['cswap', 'v1', 'public'], 'GET', {'cost': 1})
80
+ cswap_v1_public_get_market_premiumindex = cswapV1PublicGetMarketPremiumIndex = Entry('market/premiumIndex', ['cswap', 'v1', 'public'], 'GET', {'cost': 1})
81
+ cswap_v1_public_get_market_openinterest = cswapV1PublicGetMarketOpenInterest = Entry('market/openInterest', ['cswap', 'v1', 'public'], 'GET', {'cost': 1})
82
+ cswap_v1_public_get_market_klines = cswapV1PublicGetMarketKlines = Entry('market/klines', ['cswap', 'v1', 'public'], 'GET', {'cost': 1})
83
+ cswap_v1_public_get_market_depth = cswapV1PublicGetMarketDepth = Entry('market/depth', ['cswap', 'v1', 'public'], 'GET', {'cost': 1})
84
+ cswap_v1_public_get_market_ticker = cswapV1PublicGetMarketTicker = Entry('market/ticker', ['cswap', 'v1', 'public'], 'GET', {'cost': 1})
85
+ cswap_v1_private_get_trade_leverage = cswapV1PrivateGetTradeLeverage = Entry('trade/leverage', ['cswap', 'v1', 'private'], 'GET', {'cost': 2})
86
+ cswap_v1_private_get_trade_forceorders = cswapV1PrivateGetTradeForceOrders = Entry('trade/forceOrders', ['cswap', 'v1', 'private'], 'GET', {'cost': 2})
87
+ cswap_v1_private_get_trade_allfillorders = cswapV1PrivateGetTradeAllFillOrders = Entry('trade/allFillOrders', ['cswap', 'v1', 'private'], 'GET', {'cost': 2})
88
+ cswap_v1_private_get_user_commissionrate = cswapV1PrivateGetUserCommissionRate = Entry('user/commissionRate', ['cswap', 'v1', 'private'], 'GET', {'cost': 2})
89
+ cswap_v1_private_get_user_positions = cswapV1PrivateGetUserPositions = Entry('user/positions', ['cswap', 'v1', 'private'], 'GET', {'cost': 2})
90
+ cswap_v1_private_get_user_balance = cswapV1PrivateGetUserBalance = Entry('user/balance', ['cswap', 'v1', 'private'], 'GET', {'cost': 2})
91
+ cswap_v1_private_post_trade_order = cswapV1PrivatePostTradeOrder = Entry('trade/order', ['cswap', 'v1', 'private'], 'POST', {'cost': 2})
92
+ cswap_v1_private_post_trade_leverage = cswapV1PrivatePostTradeLeverage = Entry('trade/leverage', ['cswap', 'v1', 'private'], 'POST', {'cost': 2})
93
+ cswap_v1_private_post_trade_allopenorders = cswapV1PrivatePostTradeAllOpenOrders = Entry('trade/allOpenOrders', ['cswap', 'v1', 'private'], 'POST', {'cost': 2})
94
+ cswap_v1_private_post_trade_closeallpositions = cswapV1PrivatePostTradeCloseAllPositions = Entry('trade/closeAllPositions', ['cswap', 'v1', 'private'], 'POST', {'cost': 2})
79
95
  contract_v1_private_get_allposition = contractV1PrivateGetAllPosition = Entry('allPosition', ['contract', 'v1', 'private'], 'GET', {'cost': 2})
80
96
  contract_v1_private_get_allorders = contractV1PrivateGetAllOrders = Entry('allOrders', ['contract', 'v1', 'private'], 'GET', {'cost': 2})
81
97
  contract_v1_private_get_balance = contractV1PrivateGetBalance = Entry('balance', ['contract', 'v1', 'private'], 'GET', {'cost': 2})
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.55'
7
+ __version__ = '4.3.56'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.3.55'
5
+ __version__ = '4.3.56'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -24,7 +24,7 @@ from ccxt.async_support.base.throttler import Throttler
24
24
 
25
25
  # -----------------------------------------------------------------------------
26
26
 
27
- from ccxt.base.errors import BaseError, BadSymbol, BadRequest, BadResponse, ExchangeError, ExchangeNotAvailable, RequestTimeout, NotSupported, NullResponse, InvalidAddress, RateLimitExceeded
27
+ from ccxt.base.errors import BaseError, NetworkError, BadSymbol, BadRequest, BadResponse, ExchangeError, ExchangeNotAvailable, RequestTimeout, NotSupported, NullResponse, InvalidAddress, RateLimitExceeded
28
28
  from ccxt.base.types import OrderType, OrderSide, OrderRequest, CancellationRequest
29
29
 
30
30
  # -----------------------------------------------------------------------------
@@ -826,7 +826,23 @@ class Exchange(BaseExchange):
826
826
  self.last_request_headers = request['headers']
827
827
  self.last_request_body = request['body']
828
828
  self.last_request_url = request['url']
829
- return await self.fetch(request['url'], request['method'], request['headers'], request['body'])
829
+ retries = None
830
+ retries, params = self.handle_option_and_params(params, path, 'maxRetriesOnFailure', 0)
831
+ retryDelay = None
832
+ retryDelay, params = self.handle_option_and_params(params, path, 'maxRetriesOnFailureDelay', 0)
833
+ for i in range(0, retries + 1):
834
+ try:
835
+ return await self.fetch(request['url'], request['method'], request['headers'], request['body'])
836
+ except Exception as e:
837
+ if isinstance(e, NetworkError):
838
+ if i < retries:
839
+ if self.verbose:
840
+ self.log('Request failed with the error: ' + str(e) + ', retrying ' + (i + str(1)) + ' of ' + str(retries) + '...')
841
+ if (retryDelay is not None) and (retryDelay != 0):
842
+ await self.sleep(retryDelay)
843
+ continue
844
+ raise e
845
+ return None # self line is never reached, but exists for c# value return requirement
830
846
 
831
847
  async def request(self, path, api: Any = 'public', method='GET', params={}, headers: Any = None, body: Any = None, config={}):
832
848
  return await self.fetch2(path, api, method, params, headers, body, config)
@@ -1567,7 +1567,7 @@ class binance(Exchange, ImplicitAPI):
1567
1567
  '-3042': BadRequest, # {"code":-3042,"msg":"PriceIndex not available for self margin pair."}
1568
1568
  '-3043': PermissionDenied, # {"code":-3043,"msg":"Transferring in not allowed."}
1569
1569
  '-3044': OperationFailed, # {"code":-3044,"msg":"System busy."}
1570
- '-3045': OperationFailed, # {"code":-3045,"msg":"The system doesn't have enough asset now."}
1570
+ '-3045': OperationRejected, # {"code":-3045,"msg":"The system doesn't have enough asset now."}
1571
1571
  '-3999': PermissionDenied, # {"code":-3999,"msg":"This function is only available for invited users."}
1572
1572
  #
1573
1573
  # 4xxx(different from contract markets)
@@ -1586,7 +1586,7 @@ class binance(Exchange, ImplicitAPI):
1586
1586
  '-4011': BadRequest, # {"code":-4011 ,"msg":"White list mail is invalid."}
1587
1587
  '-4012': PermissionDenied, # {"code":-4012 ,"msg":"White list is not opened."}
1588
1588
  '-4013': AuthenticationError, # {"code":-4013 ,"msg":"2FA is not opened."}
1589
- '-4014': OperationFailed, # {"code":-4014 ,"msg":"Withdraw is not allowed within 2 min login."}
1589
+ '-4014': OperationRejected, # {"code":-4014 ,"msg":"Withdraw is not allowed within 2 min login."}
1590
1590
  '-4015': PermissionDenied, # {"code":-4015 ,"msg":"Withdraw is limited."}
1591
1591
  '-4016': PermissionDenied, # {"code":-4016 ,"msg":"Within 24 hours after password modification, withdrawal is prohibited."}
1592
1592
  '-4017': PermissionDenied, # {"code":-4017 ,"msg":"Within 24 hours after the release of 2FA, withdrawal is prohibited."}
@@ -1595,7 +1595,7 @@ class binance(Exchange, ImplicitAPI):
1595
1595
  '-4020': ExchangeError, # override commons
1596
1596
  '-4021': BadRequest, # {"code":-4021,"msg":"Asset withdrawal must be an %s multiple of %s."}
1597
1597
  '-4022': BadRequest, # {"code":-4022,"msg":"Not less than the minimum pick-up quantity %s."}
1598
- '-4023': OperationFailed, # {"code":-4023,"msg":"Within 24 hours, the withdrawal exceeds the maximum amount."}
1598
+ '-4023': OperationRejected, # {"code":-4023,"msg":"Within 24 hours, the withdrawal exceeds the maximum amount."}
1599
1599
  '-4024': InsufficientFunds, # {"code":-4024,"msg":"You don't have self asset."}
1600
1600
  '-4025': InsufficientFunds, # {"code":-4025,"msg":"The number of hold asset is less than zero."}
1601
1601
  '-4026': InsufficientFunds, # {"code":-4026,"msg":"You have insufficient balance."}
@@ -1604,7 +1604,7 @@ class binance(Exchange, ImplicitAPI):
1604
1604
  '-4029': BadRequest, # {"code":-4029,"msg":"The withdrawal record does not exist."}
1605
1605
  '-4030': BadResponse, # {"code":-4030,"msg":"Confirmation of successful asset withdrawal. [TODO] possible bug in docs"}
1606
1606
  '-4031': OperationFailed, # {"code":-4031,"msg":"Cancellation failed."}
1607
- '-4032': OperationFailed, # {"code":-4032,"msg":"Withdraw verification exception."}
1607
+ '-4032': OperationRejected, # {"code":-4032,"msg":"Withdraw verification exception."}
1608
1608
  '-4033': BadRequest, # {"code":-4033,"msg":"Illegal address."}
1609
1609
  '-4034': OperationRejected, # {"code":-4034,"msg":"The address is suspected of fake."}
1610
1610
  '-4035': PermissionDenied, # {"code":-4035,"msg":"This address is not on the whitelist. Please join and try again."}
@@ -1727,7 +1727,7 @@ class binance(Exchange, ImplicitAPI):
1727
1727
  '-5003': InsufficientFunds, # You don't have self asset.
1728
1728
  '-5004': OperationRejected, # The residual balances of %s have exceeded 0.001BTC, Please re-choose.
1729
1729
  '-5005': OperationRejected, # The residual balances of %s is too low, Please re-choose.
1730
- '-5006': OperationFailed, # Only transfer once in 24 hours.
1730
+ '-5006': OperationRejected, # Only transfer once in 24 hours.
1731
1731
  '-5007': BadRequest, # Quantity must be greater than zero.
1732
1732
  '-5008': OperationRejected, # Insufficient amount of returnable assets.
1733
1733
  '-5009': BadSymbol, # Product does not exist.
@@ -1745,8 +1745,8 @@ class binance(Exchange, ImplicitAPI):
1745
1745
  '-6004': BadRequest, # Product not in purchase status
1746
1746
  '-6005': BadRequest, # Smaller than min purchase limit
1747
1747
  '-6006': BadRequest, # Redeem amount error
1748
- '-6007': OperationFailed, # Not in redeem time
1749
- '-6008': OperationFailed, # Product not in redeem status
1748
+ '-6007': OperationRejected, # Not in redeem time
1749
+ '-6008': OperationRejected, # Product not in redeem status
1750
1750
  '-6009': RateLimitExceeded, # Request frequency too high
1751
1751
  '-6011': OperationRejected, # Exceeding the maximum num allowed to purchase per user
1752
1752
  '-6012': InsufficientFunds, # Balance not enough
@@ -116,6 +116,7 @@ class bingx(Exchange, ImplicitAPI):
116
116
  'subAccount': 'https://open-api.{hostname}/openApi',
117
117
  'account': 'https://open-api.{hostname}/openApi',
118
118
  'copyTrading': 'https://open-api.{hostname}/openApi',
119
+ 'cswap': 'https://open-api.{hostname}/openApi',
119
120
  },
120
121
  'test': {
121
122
  'swap': 'https://open-api-vst.{hostname}/openApi', # only swap is really "test" but since the API keys are the same, we want to keep all the functionalities when the user enables the sandboxmode
@@ -278,6 +279,36 @@ class bingx(Exchange, ImplicitAPI):
278
279
  },
279
280
  },
280
281
  },
282
+ 'cswap': {
283
+ 'v1': {
284
+ 'public': {
285
+ 'get': {
286
+ 'market/contracts': 1,
287
+ 'market/premiumIndex': 1,
288
+ 'market/openInterest': 1,
289
+ 'market/klines': 1,
290
+ 'market/depth': 1,
291
+ 'market/ticker': 1,
292
+ },
293
+ },
294
+ 'private': {
295
+ 'get': {
296
+ 'trade/leverage': 2,
297
+ 'trade/forceOrders': 2,
298
+ 'trade/allFillOrders': 2,
299
+ 'user/commissionRate': 2,
300
+ 'user/positions': 2,
301
+ 'user/balance': 2,
302
+ },
303
+ 'post': {
304
+ 'trade/order': 2,
305
+ 'trade/leverage': 2,
306
+ 'trade/allOpenOrders': 2,
307
+ 'trade/closeAllPositions': 2,
308
+ },
309
+ },
310
+ },
311
+ },
281
312
  'contract': {
282
313
  'v1': {
283
314
  'private': {
@@ -1466,6 +1497,8 @@ class bingx(Exchange, ImplicitAPI):
1466
1497
  percentage = percentage.replace('%', '')
1467
1498
  change = self.safe_string(ticker, 'priceChange')
1468
1499
  ts = self.safe_integer(ticker, 'closeTime')
1500
+ if ts == 0:
1501
+ ts = None
1469
1502
  datetime = self.iso8601(ts)
1470
1503
  bid = self.safe_string(ticker, 'bidPrice')
1471
1504
  bidVolume = self.safe_string(ticker, 'bidQty')
@@ -566,7 +566,13 @@ class bitflyer(Exchange, ImplicitAPI):
566
566
  'product_code': self.market_id(symbol),
567
567
  'child_order_acceptance_id': id,
568
568
  }
569
- return await self.privatePostCancelchildorder(self.extend(request, params))
569
+ response = await self.privatePostCancelchildorder(self.extend(request, params))
570
+ #
571
+ # 200 OK.
572
+ #
573
+ return self.safe_order({
574
+ 'info': response,
575
+ })
570
576
 
571
577
  def parse_order_status(self, status: Str):
572
578
  statuses: dict = {
@@ -1038,6 +1038,20 @@ class bitopro(Exchange, ImplicitAPI):
1038
1038
  #
1039
1039
  return self.parse_order(response, market)
1040
1040
 
1041
+ def parse_cancel_orders(self, data):
1042
+ dataKeys = list(data.keys())
1043
+ orders = []
1044
+ for i in range(0, len(dataKeys)):
1045
+ marketId = dataKeys[i]
1046
+ orderIds = data[marketId]
1047
+ for j in range(0, len(orderIds)):
1048
+ orders.append(self.safe_order({
1049
+ 'info': orderIds[j],
1050
+ 'id': orderIds[j],
1051
+ 'symbol': self.safe_symbol(marketId),
1052
+ }))
1053
+ return orders
1054
+
1041
1055
  async def cancel_orders(self, ids, symbol: Str = None, params={}):
1042
1056
  """
1043
1057
  cancel multiple orders
@@ -1065,7 +1079,8 @@ class bitopro(Exchange, ImplicitAPI):
1065
1079
  # }
1066
1080
  # }
1067
1081
  #
1068
- return response
1082
+ data = self.safe_dict(response, 'data')
1083
+ return self.parse_cancel_orders(data)
1069
1084
 
1070
1085
  async def cancel_all_orders(self, symbol: Str = None, params={}):
1071
1086
  """
@@ -1086,7 +1101,7 @@ class bitopro(Exchange, ImplicitAPI):
1086
1101
  response = await self.privateDeleteOrdersPair(self.extend(request, params))
1087
1102
  else:
1088
1103
  response = await self.privateDeleteOrdersAll(self.extend(request, params))
1089
- result = self.safe_value(response, 'data', {})
1104
+ data = self.safe_value(response, 'data', {})
1090
1105
  #
1091
1106
  # {
1092
1107
  # "data":{
@@ -1097,7 +1112,7 @@ class bitopro(Exchange, ImplicitAPI):
1097
1112
  # }
1098
1113
  # }
1099
1114
  #
1100
- return result
1115
+ return self.parse_cancel_orders(data)
1101
1116
 
1102
1117
  async def fetch_order(self, id: str, symbol: Str = None, params={}):
1103
1118
  """
@@ -14,7 +14,6 @@ from ccxt.base.errors import BadRequest
14
14
  from ccxt.base.errors import InsufficientFunds
15
15
  from ccxt.base.errors import InvalidOrder
16
16
  from ccxt.base.errors import OrderNotFound
17
- from ccxt.base.errors import DDoSProtection
18
17
  from ccxt.base.decimal_to_precision import TICK_SIZE
19
18
  from ccxt.base.precise import Precise
20
19
 
@@ -161,16 +160,18 @@ class btcmarkets(Exchange, ImplicitAPI):
161
160
  },
162
161
  'precisionMode': TICK_SIZE,
163
162
  'exceptions': {
164
- '3': InvalidOrder,
165
- '6': DDoSProtection,
166
- 'InsufficientFund': InsufficientFunds,
167
- 'InvalidPrice': InvalidOrder,
168
- 'InvalidAmount': InvalidOrder,
169
- 'MissingArgument': InvalidOrder,
170
- 'OrderAlreadyCancelled': InvalidOrder,
171
- 'OrderNotFound': OrderNotFound,
172
- 'OrderStatusIsFinal': InvalidOrder,
173
- 'InvalidPaginationParameter': BadRequest,
163
+ 'exact': {
164
+ 'InsufficientFund': InsufficientFunds,
165
+ 'InvalidPrice': InvalidOrder,
166
+ 'InvalidAmount': InvalidOrder,
167
+ 'MissingArgument': BadRequest,
168
+ 'OrderAlreadyCancelled': InvalidOrder,
169
+ 'OrderNotFound': OrderNotFound,
170
+ 'OrderStatusIsFinal': InvalidOrder,
171
+ 'InvalidPaginationParameter': BadRequest,
172
+ },
173
+ 'broad': {
174
+ },
174
175
  },
175
176
  'fees': {
176
177
  'percentage': True,
@@ -370,7 +371,8 @@ class btcmarkets(Exchange, ImplicitAPI):
370
371
  # "minOrderAmount":"0.00007",
371
372
  # "maxOrderAmount":"1000000",
372
373
  # "amountDecimals":"8",
373
- # "priceDecimals":"2"
374
+ # "priceDecimals":"2",
375
+ # "status": "Online"
374
376
  # }
375
377
  # ]
376
378
  #
@@ -387,6 +389,7 @@ class btcmarkets(Exchange, ImplicitAPI):
387
389
  pricePrecision = self.parse_number(self.parse_precision(self.safe_string(market, 'priceDecimals')))
388
390
  minAmount = self.safe_number(market, 'minOrderAmount')
389
391
  maxAmount = self.safe_number(market, 'maxOrderAmount')
392
+ status = self.safe_string(market, 'status')
390
393
  minPrice = None
391
394
  if quote == 'AUD':
392
395
  minPrice = pricePrecision
@@ -405,7 +408,7 @@ class btcmarkets(Exchange, ImplicitAPI):
405
408
  'swap': False,
406
409
  'future': False,
407
410
  'option': False,
408
- 'active': None,
411
+ 'active': (status == 'Online'),
409
412
  'contract': False,
410
413
  'linear': None,
411
414
  'inverse': None,
@@ -1204,18 +1207,16 @@ class btcmarkets(Exchange, ImplicitAPI):
1204
1207
  def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
1205
1208
  if response is None:
1206
1209
  return None # fallback to default error handler
1207
- if 'success' in response:
1208
- if not response['success']:
1209
- error = self.safe_string(response, 'errorCode')
1210
- feedback = self.id + ' ' + body
1211
- self.throw_exactly_matched_exception(self.exceptions, error, feedback)
1212
- raise ExchangeError(feedback)
1213
- # v3 api errors
1214
- if code >= 400:
1215
- errorCode = self.safe_string(response, 'code')
1216
- message = self.safe_string(response, 'message')
1210
+ #
1211
+ # {"code":"UnAuthorized","message":"invalid access token"}
1212
+ # {"code":"MarketNotFound","message":"invalid marketId"}
1213
+ #
1214
+ errorCode = self.safe_string(response, 'code')
1215
+ message = self.safe_string(response, 'message')
1216
+ if errorCode is not None:
1217
1217
  feedback = self.id + ' ' + body
1218
- self.throw_exactly_matched_exception(self.exceptions, errorCode, feedback)
1219
- self.throw_exactly_matched_exception(self.exceptions, message, feedback)
1220
- raise ExchangeError(feedback)
1218
+ self.throw_exactly_matched_exception(self.exceptions['exact'], message, feedback)
1219
+ self.throw_exactly_matched_exception(self.exceptions['exact'], errorCode, feedback)
1220
+ self.throw_broadly_matched_exception(self.exceptions['broad'], message, feedback)
1221
+ raise ExchangeError(feedback) # unknown message
1221
1222
  return None
@@ -2922,14 +2922,17 @@ class bybit(Exchange, ImplicitAPI):
2922
2922
  enableUnifiedMargin, enableUnifiedAccount = await self.is_unified_enabled()
2923
2923
  isUnifiedAccount = (enableUnifiedMargin or enableUnifiedAccount)
2924
2924
  type = None
2925
- type, params = self.handle_market_type_and_params('fetchBalance', None, params)
2925
+ type, params = self.get_bybit_type('fetchBalance', None, params)
2926
2926
  isSpot = (type == 'spot')
2927
- isSwap = (type == 'swap')
2927
+ isLinear = (type == 'linear')
2928
+ isInverse = (type == 'inverse')
2928
2929
  if isUnifiedAccount:
2929
- if isSpot or isSwap:
2930
+ if isInverse:
2931
+ type = 'contract'
2932
+ else:
2930
2933
  type = 'unified'
2931
2934
  else:
2932
- if isSwap:
2935
+ if isLinear or isInverse:
2933
2936
  type = 'contract'
2934
2937
  accountTypes = self.safe_dict(self.options, 'accountsByType', {})
2935
2938
  unifiedType = self.safe_string_upper(accountTypes, type, type)
@@ -3232,7 +3235,7 @@ class bybit(Exchange, ImplicitAPI):
3232
3235
  else:
3233
3236
  feeCurrencyCode = market['base'] if market['inverse'] else market['settle']
3234
3237
  fee = {
3235
- 'cost': feeCostString,
3238
+ 'cost': self.parse_number(feeCostString),
3236
3239
  'currency': feeCurrencyCode,
3237
3240
  }
3238
3241
  clientOrderId = self.safe_string(order, 'orderLinkId')
@@ -1946,7 +1946,11 @@ class delta(Exchange, ImplicitAPI):
1946
1946
  # "success":true
1947
1947
  # }
1948
1948
  #
1949
- return response
1949
+ return [
1950
+ self.safe_order({
1951
+ 'info': response,
1952
+ }),
1953
+ ]
1950
1954
 
1951
1955
  async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1952
1956
  """
@@ -641,6 +641,7 @@ class gate(Exchange, ImplicitAPI):
641
641
  'createOrder': {
642
642
  'expiration': 86400, # for conditional orders
643
643
  },
644
+ 'createMarketBuyOrderRequiresPrice': True,
644
645
  'networks': {
645
646
  'AVAXC': 'AVAX_C',
646
647
  'BEP20': 'BSC',
@@ -593,7 +593,7 @@ class hyperliquid(Exchange, ImplicitAPI):
593
593
  'limits': {
594
594
  'leverage': {
595
595
  'min': None,
596
- 'max': None,
596
+ 'max': self.safe_integer(market, 'maxLeverage'),
597
597
  },
598
598
  'amount': {
599
599
  'min': None,
@@ -1417,6 +1417,27 @@ class lbank(Exchange, ImplicitAPI):
1417
1417
  # "status":-1
1418
1418
  # }
1419
1419
  #
1420
+ # cancelOrder
1421
+ #
1422
+ # {
1423
+ # "executedQty":0.0,
1424
+ # "price":0.05,
1425
+ # "origQty":100.0,
1426
+ # "tradeType":"buy",
1427
+ # "status":0
1428
+ # }
1429
+ #
1430
+ # cancelAllOrders
1431
+ #
1432
+ # {
1433
+ # "executedQty":0.00000000000000000000,
1434
+ # "orderId":"293ef71b-3e67-4962-af93-aa06990a045f",
1435
+ # "price":0.05000000000000000000,
1436
+ # "origQty":100.00000000000000000000,
1437
+ # "tradeType":"buy",
1438
+ # "status":0
1439
+ # }
1440
+ #
1420
1441
  id = self.safe_string_2(order, 'orderId', 'order_id')
1421
1442
  clientOrderId = self.safe_string_2(order, 'clientOrderId', 'custom_id')
1422
1443
  timestamp = self.safe_integer_2(order, 'time', 'create_time')
@@ -1426,7 +1447,7 @@ class lbank(Exchange, ImplicitAPI):
1426
1447
  timeInForce = None
1427
1448
  postOnly = False
1428
1449
  type = 'limit'
1429
- rawType = self.safe_string(order, 'type') # buy, sell, buy_market, sell_market, buy_maker,sell_maker,buy_ioc,sell_ioc, buy_fok, sell_fok
1450
+ rawType = self.safe_string_2(order, 'type', 'tradeType') # buy, sell, buy_market, sell_market, buy_maker,sell_maker,buy_ioc,sell_ioc, buy_fok, sell_fok
1430
1451
  parts = rawType.split('_')
1431
1452
  side = self.safe_string(parts, 0)
1432
1453
  typePart = self.safe_string(parts, 1) # market, maker, ioc, fok or None(limit)
@@ -1760,12 +1781,12 @@ class lbank(Exchange, ImplicitAPI):
1760
1781
  # "origQty":100.0,
1761
1782
  # "tradeType":"buy",
1762
1783
  # "status":0
1763
- # },
1784
+ # },
1764
1785
  # "error_code":0,
1765
1786
  # "ts":1648501286196
1766
1787
  # }
1767
- result = self.safe_value(response, 'data', {})
1768
- return result
1788
+ data = self.safe_dict(response, 'data', {})
1789
+ return self.parse_order(data)
1769
1790
 
1770
1791
  async def cancel_all_orders(self, symbol: Str = None, params={}):
1771
1792
  """
@@ -1800,8 +1821,8 @@ class lbank(Exchange, ImplicitAPI):
1800
1821
  # "ts":1648506641469
1801
1822
  # }
1802
1823
  #
1803
- result = self.safe_value(response, 'data', [])
1804
- return result
1824
+ data = self.safe_list(response, 'data', [])
1825
+ return self.parse_orders(data)
1805
1826
 
1806
1827
  def get_network_code_for_currency(self, currencyCode, params):
1807
1828
  defaultNetworks = self.safe_value(self.options, 'defaultNetworks')
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.55'
7
+ __version__ = '4.3.56'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -1449,7 +1449,7 @@ class Exchange(object):
1449
1449
  @staticmethod
1450
1450
  def eddsa(request, secret, curve='ed25519'):
1451
1451
  if isinstance(secret, str):
1452
- Exchange.encode(secret)
1452
+ secret = Exchange.encode(secret)
1453
1453
  private_key = ed25519.Ed25519PrivateKey.from_private_bytes(secret) if len(secret) == 32 else load_pem_private_key(secret, None)
1454
1454
  return Exchange.binary_to_base64(private_key.sign(request))
1455
1455
 
@@ -3734,7 +3734,23 @@ class Exchange(object):
3734
3734
  self.last_request_headers = request['headers']
3735
3735
  self.last_request_body = request['body']
3736
3736
  self.last_request_url = request['url']
3737
- return self.fetch(request['url'], request['method'], request['headers'], request['body'])
3737
+ retries = None
3738
+ retries, params = self.handle_option_and_params(params, path, 'maxRetriesOnFailure', 0)
3739
+ retryDelay = None
3740
+ retryDelay, params = self.handle_option_and_params(params, path, 'maxRetriesOnFailureDelay', 0)
3741
+ for i in range(0, retries + 1):
3742
+ try:
3743
+ return self.fetch(request['url'], request['method'], request['headers'], request['body'])
3744
+ except Exception as e:
3745
+ if isinstance(e, NetworkError):
3746
+ if i < retries:
3747
+ if self.verbose:
3748
+ self.log('Request failed with the error: ' + str(e) + ', retrying ' + (i + str(1)) + ' of ' + str(retries) + '...')
3749
+ if (retryDelay is not None) and (retryDelay != 0):
3750
+ self.sleep(retryDelay)
3751
+ continue
3752
+ raise e
3753
+ return None # self line is never reached, but exists for c# value return requirement
3738
3754
 
3739
3755
  def request(self, path, api: Any = 'public', method='GET', params={}, headers: Any = None, body: Any = None, config={}):
3740
3756
  return self.fetch2(path, api, method, params, headers, body, config)
@@ -1566,7 +1566,7 @@ class binance(Exchange, ImplicitAPI):
1566
1566
  '-3042': BadRequest, # {"code":-3042,"msg":"PriceIndex not available for self margin pair."}
1567
1567
  '-3043': PermissionDenied, # {"code":-3043,"msg":"Transferring in not allowed."}
1568
1568
  '-3044': OperationFailed, # {"code":-3044,"msg":"System busy."}
1569
- '-3045': OperationFailed, # {"code":-3045,"msg":"The system doesn't have enough asset now."}
1569
+ '-3045': OperationRejected, # {"code":-3045,"msg":"The system doesn't have enough asset now."}
1570
1570
  '-3999': PermissionDenied, # {"code":-3999,"msg":"This function is only available for invited users."}
1571
1571
  #
1572
1572
  # 4xxx(different from contract markets)
@@ -1585,7 +1585,7 @@ class binance(Exchange, ImplicitAPI):
1585
1585
  '-4011': BadRequest, # {"code":-4011 ,"msg":"White list mail is invalid."}
1586
1586
  '-4012': PermissionDenied, # {"code":-4012 ,"msg":"White list is not opened."}
1587
1587
  '-4013': AuthenticationError, # {"code":-4013 ,"msg":"2FA is not opened."}
1588
- '-4014': OperationFailed, # {"code":-4014 ,"msg":"Withdraw is not allowed within 2 min login."}
1588
+ '-4014': OperationRejected, # {"code":-4014 ,"msg":"Withdraw is not allowed within 2 min login."}
1589
1589
  '-4015': PermissionDenied, # {"code":-4015 ,"msg":"Withdraw is limited."}
1590
1590
  '-4016': PermissionDenied, # {"code":-4016 ,"msg":"Within 24 hours after password modification, withdrawal is prohibited."}
1591
1591
  '-4017': PermissionDenied, # {"code":-4017 ,"msg":"Within 24 hours after the release of 2FA, withdrawal is prohibited."}
@@ -1594,7 +1594,7 @@ class binance(Exchange, ImplicitAPI):
1594
1594
  '-4020': ExchangeError, # override commons
1595
1595
  '-4021': BadRequest, # {"code":-4021,"msg":"Asset withdrawal must be an %s multiple of %s."}
1596
1596
  '-4022': BadRequest, # {"code":-4022,"msg":"Not less than the minimum pick-up quantity %s."}
1597
- '-4023': OperationFailed, # {"code":-4023,"msg":"Within 24 hours, the withdrawal exceeds the maximum amount."}
1597
+ '-4023': OperationRejected, # {"code":-4023,"msg":"Within 24 hours, the withdrawal exceeds the maximum amount."}
1598
1598
  '-4024': InsufficientFunds, # {"code":-4024,"msg":"You don't have self asset."}
1599
1599
  '-4025': InsufficientFunds, # {"code":-4025,"msg":"The number of hold asset is less than zero."}
1600
1600
  '-4026': InsufficientFunds, # {"code":-4026,"msg":"You have insufficient balance."}
@@ -1603,7 +1603,7 @@ class binance(Exchange, ImplicitAPI):
1603
1603
  '-4029': BadRequest, # {"code":-4029,"msg":"The withdrawal record does not exist."}
1604
1604
  '-4030': BadResponse, # {"code":-4030,"msg":"Confirmation of successful asset withdrawal. [TODO] possible bug in docs"}
1605
1605
  '-4031': OperationFailed, # {"code":-4031,"msg":"Cancellation failed."}
1606
- '-4032': OperationFailed, # {"code":-4032,"msg":"Withdraw verification exception."}
1606
+ '-4032': OperationRejected, # {"code":-4032,"msg":"Withdraw verification exception."}
1607
1607
  '-4033': BadRequest, # {"code":-4033,"msg":"Illegal address."}
1608
1608
  '-4034': OperationRejected, # {"code":-4034,"msg":"The address is suspected of fake."}
1609
1609
  '-4035': PermissionDenied, # {"code":-4035,"msg":"This address is not on the whitelist. Please join and try again."}
@@ -1726,7 +1726,7 @@ class binance(Exchange, ImplicitAPI):
1726
1726
  '-5003': InsufficientFunds, # You don't have self asset.
1727
1727
  '-5004': OperationRejected, # The residual balances of %s have exceeded 0.001BTC, Please re-choose.
1728
1728
  '-5005': OperationRejected, # The residual balances of %s is too low, Please re-choose.
1729
- '-5006': OperationFailed, # Only transfer once in 24 hours.
1729
+ '-5006': OperationRejected, # Only transfer once in 24 hours.
1730
1730
  '-5007': BadRequest, # Quantity must be greater than zero.
1731
1731
  '-5008': OperationRejected, # Insufficient amount of returnable assets.
1732
1732
  '-5009': BadSymbol, # Product does not exist.
@@ -1744,8 +1744,8 @@ class binance(Exchange, ImplicitAPI):
1744
1744
  '-6004': BadRequest, # Product not in purchase status
1745
1745
  '-6005': BadRequest, # Smaller than min purchase limit
1746
1746
  '-6006': BadRequest, # Redeem amount error
1747
- '-6007': OperationFailed, # Not in redeem time
1748
- '-6008': OperationFailed, # Product not in redeem status
1747
+ '-6007': OperationRejected, # Not in redeem time
1748
+ '-6008': OperationRejected, # Product not in redeem status
1749
1749
  '-6009': RateLimitExceeded, # Request frequency too high
1750
1750
  '-6011': OperationRejected, # Exceeding the maximum num allowed to purchase per user
1751
1751
  '-6012': InsufficientFunds, # Balance not enough