ccxt 4.3.18__tar.gz → 4.3.19__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.

Potentially problematic release.


This version of ccxt might be problematic. Click here for more details.

Files changed (545) hide show
  1. {ccxt-4.3.18/ccxt.egg-info → ccxt-4.3.19}/PKG-INFO +8 -6
  2. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/__init__.py +3 -1
  3. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bybit.py +1 -0
  4. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/okx.py +1 -0
  5. ccxt-4.3.19/ccxt/abstract/woofipro.py +119 -0
  6. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/ace.py +1 -1
  7. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/ascendex.py +7 -8
  8. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/__init__.py +3 -1
  9. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/ace.py +1 -1
  10. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/ascendex.py +7 -8
  11. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/base/exchange.py +23 -2
  12. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bigone.py +4 -4
  13. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/binance.py +9 -9
  14. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bingx.py +4 -4
  15. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bit2c.py +1 -1
  16. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bitbank.py +1 -1
  17. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bitbns.py +1 -1
  18. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bitfinex.py +28 -4
  19. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bitfinex2.py +62 -54
  20. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bitflyer.py +1 -1
  21. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bitget.py +8 -11
  22. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bithumb.py +1 -1
  23. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bitmart.py +8 -8
  24. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bitmex.py +2 -2
  25. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bitopro.py +1 -1
  26. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bitrue.py +3 -3
  27. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bitso.py +1 -1
  28. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bitstamp.py +3 -5
  29. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bitteam.py +1 -1
  30. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bitvavo.py +1 -1
  31. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bl3p.py +1 -1
  32. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/blockchaincom.py +1 -1
  33. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/blofin.py +3 -3
  34. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/btcalpha.py +1 -1
  35. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/btcbox.py +1 -1
  36. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/btcmarkets.py +1 -1
  37. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/btcturk.py +1 -1
  38. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bybit.py +9 -8
  39. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/cex.py +1 -1
  40. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/coinbase.py +2 -2
  41. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/coinbasepro.py +1 -1
  42. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/coincheck.py +1 -1
  43. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/coinex.py +320 -520
  44. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/coinlist.py +6 -7
  45. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/coinmate.py +1 -1
  46. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/coinmetro.py +1 -1
  47. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/coinone.py +1 -1
  48. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/coinsph.py +1 -1
  49. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/coinspot.py +1 -1
  50. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/cryptocom.py +1 -1
  51. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/currencycom.py +2 -2
  52. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/delta.py +4 -4
  53. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/deribit.py +8 -8
  54. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/digifinex.py +5 -5
  55. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/exmo.py +1 -1
  56. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/gate.py +5 -5
  57. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/gemini.py +1 -1
  58. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/hitbtc.py +3 -3
  59. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/hollaex.py +4 -4
  60. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/htx.py +2 -2
  61. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/huobijp.py +1 -1
  62. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/idex.py +1 -1
  63. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/independentreserve.py +1 -1
  64. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/indodax.py +2 -2
  65. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/kraken.py +2 -2
  66. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/krakenfutures.py +3 -3
  67. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/kucoin.py +3 -3
  68. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/kucoinfutures.py +3 -3
  69. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/kuna.py +1 -1
  70. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/latoken.py +6 -6
  71. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/lbank.py +1 -1
  72. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/luno.py +1 -1
  73. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/lykke.py +1 -1
  74. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/mercado.py +1 -1
  75. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/mexc.py +7 -7
  76. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/ndax.py +1 -1
  77. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/novadax.py +3 -4
  78. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/okcoin.py +3 -3
  79. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/okx.py +27 -10
  80. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/onetrading.py +1 -1
  81. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/paymium.py +3 -3
  82. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/phemex.py +5 -5
  83. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/poloniex.py +3 -4
  84. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/poloniexfutures.py +1 -1
  85. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/probit.py +1 -1
  86. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/timex.py +1 -1
  87. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/tokocrypto.py +1 -1
  88. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/upbit.py +1 -1
  89. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/wavesexchange.py +3 -3
  90. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/wazirx.py +1 -1
  91. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/whitebit.py +2 -2
  92. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/woo.py +25 -10
  93. ccxt-4.3.19/ccxt/async_support/woofipro.py +2524 -0
  94. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/yobit.py +1 -1
  95. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/zaif.py +1 -1
  96. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/zonda.py +3 -3
  97. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/base/exchange.py +62 -16
  98. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/base/types.py +20 -0
  99. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bigone.py +4 -4
  100. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/binance.py +9 -9
  101. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bingx.py +4 -4
  102. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bit2c.py +1 -1
  103. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bitbank.py +1 -1
  104. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bitbns.py +1 -1
  105. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bitfinex.py +28 -4
  106. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bitfinex2.py +62 -54
  107. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bitflyer.py +1 -1
  108. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bitget.py +8 -11
  109. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bithumb.py +1 -1
  110. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bitmart.py +8 -8
  111. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bitmex.py +2 -2
  112. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bitopro.py +1 -1
  113. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bitrue.py +3 -3
  114. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bitso.py +1 -1
  115. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bitstamp.py +3 -5
  116. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bitteam.py +1 -1
  117. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bitvavo.py +1 -1
  118. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bl3p.py +1 -1
  119. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/blockchaincom.py +1 -1
  120. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/blofin.py +3 -3
  121. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/btcalpha.py +1 -1
  122. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/btcbox.py +1 -1
  123. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/btcmarkets.py +1 -1
  124. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/btcturk.py +1 -1
  125. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bybit.py +9 -8
  126. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/cex.py +1 -1
  127. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/coinbase.py +2 -2
  128. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/coinbasepro.py +1 -1
  129. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/coincheck.py +1 -1
  130. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/coinex.py +320 -520
  131. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/coinlist.py +6 -7
  132. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/coinmate.py +1 -1
  133. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/coinmetro.py +1 -1
  134. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/coinone.py +1 -1
  135. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/coinsph.py +1 -1
  136. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/coinspot.py +1 -1
  137. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/cryptocom.py +1 -1
  138. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/currencycom.py +2 -2
  139. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/delta.py +4 -4
  140. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/deribit.py +8 -8
  141. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/digifinex.py +5 -5
  142. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/exmo.py +1 -1
  143. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/gate.py +5 -5
  144. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/gemini.py +1 -1
  145. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/hitbtc.py +3 -3
  146. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/hollaex.py +4 -4
  147. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/htx.py +2 -2
  148. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/huobijp.py +1 -1
  149. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/idex.py +1 -1
  150. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/independentreserve.py +1 -1
  151. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/indodax.py +2 -2
  152. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/kraken.py +2 -2
  153. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/krakenfutures.py +3 -3
  154. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/kucoin.py +3 -3
  155. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/kucoinfutures.py +3 -3
  156. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/kuna.py +1 -1
  157. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/latoken.py +6 -6
  158. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/lbank.py +1 -1
  159. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/luno.py +1 -1
  160. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/lykke.py +1 -1
  161. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/mercado.py +1 -1
  162. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/mexc.py +7 -7
  163. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/ndax.py +1 -1
  164. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/novadax.py +3 -4
  165. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/okcoin.py +3 -3
  166. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/okx.py +27 -10
  167. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/onetrading.py +1 -1
  168. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/paymium.py +3 -3
  169. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/phemex.py +5 -5
  170. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/poloniex.py +3 -4
  171. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/poloniexfutures.py +1 -1
  172. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/__init__.py +3 -1
  173. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/bitget.py +127 -190
  174. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/coinbaseinternational.py +11 -4
  175. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/okx.py +79 -1
  176. ccxt-4.3.19/ccxt/pro/woofipro.py +1183 -0
  177. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/probit.py +1 -1
  178. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/test_async.py +31 -1
  179. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/test_sync.py +31 -1
  180. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/timex.py +1 -1
  181. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/tokocrypto.py +1 -1
  182. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/upbit.py +1 -1
  183. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/wavesexchange.py +3 -3
  184. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/wazirx.py +1 -1
  185. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/whitebit.py +2 -2
  186. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/woo.py +25 -10
  187. ccxt-4.3.19/ccxt/woofipro.py +2524 -0
  188. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/yobit.py +1 -1
  189. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/zaif.py +1 -1
  190. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/zonda.py +3 -3
  191. {ccxt-4.3.18 → ccxt-4.3.19/ccxt.egg-info}/PKG-INFO +8 -6
  192. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt.egg-info/SOURCES.txt +4 -0
  193. {ccxt-4.3.18 → ccxt-4.3.19}/package.json +1 -1
  194. {ccxt-4.3.18 → ccxt-4.3.19}/LICENSE.txt +0 -0
  195. {ccxt-4.3.18 → ccxt-4.3.19}/MANIFEST.in +0 -0
  196. {ccxt-4.3.18 → ccxt-4.3.19}/README.rst +0 -0
  197. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/__init__.py +0 -0
  198. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/ace.py +0 -0
  199. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/alpaca.py +0 -0
  200. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/ascendex.py +0 -0
  201. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bequant.py +0 -0
  202. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bigone.py +0 -0
  203. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/binance.py +0 -0
  204. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/binancecoinm.py +0 -0
  205. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/binanceus.py +0 -0
  206. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/binanceusdm.py +0 -0
  207. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bingx.py +0 -0
  208. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bit2c.py +0 -0
  209. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bitbank.py +0 -0
  210. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bitbay.py +0 -0
  211. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bitbns.py +0 -0
  212. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bitcoincom.py +0 -0
  213. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bitfinex.py +0 -0
  214. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bitfinex2.py +0 -0
  215. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bitflyer.py +0 -0
  216. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bitget.py +0 -0
  217. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bithumb.py +0 -0
  218. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bitmart.py +0 -0
  219. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bitmex.py +0 -0
  220. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bitopro.py +0 -0
  221. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bitpanda.py +0 -0
  222. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bitrue.py +0 -0
  223. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bitso.py +0 -0
  224. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bitstamp.py +0 -0
  225. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bitteam.py +0 -0
  226. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bitvavo.py +0 -0
  227. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/bl3p.py +0 -0
  228. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/blockchaincom.py +0 -0
  229. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/blofin.py +0 -0
  230. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/btcalpha.py +0 -0
  231. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/btcbox.py +0 -0
  232. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/btcmarkets.py +0 -0
  233. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/btcturk.py +0 -0
  234. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/cex.py +0 -0
  235. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/coinbase.py +0 -0
  236. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/coinbaseinternational.py +0 -0
  237. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/coinbasepro.py +0 -0
  238. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/coincheck.py +0 -0
  239. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/coinex.py +0 -0
  240. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/coinlist.py +0 -0
  241. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/coinmate.py +0 -0
  242. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/coinmetro.py +0 -0
  243. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/coinone.py +0 -0
  244. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/coinsph.py +0 -0
  245. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/coinspot.py +0 -0
  246. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/cryptocom.py +0 -0
  247. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/currencycom.py +0 -0
  248. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/delta.py +0 -0
  249. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/deribit.py +0 -0
  250. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/digifinex.py +0 -0
  251. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/exmo.py +0 -0
  252. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/fmfwio.py +0 -0
  253. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/gate.py +0 -0
  254. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/gateio.py +0 -0
  255. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/gemini.py +0 -0
  256. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/hitbtc.py +0 -0
  257. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/hitbtc3.py +0 -0
  258. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/hollaex.py +0 -0
  259. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/htx.py +0 -0
  260. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/huobi.py +0 -0
  261. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/huobijp.py +0 -0
  262. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/hyperliquid.py +0 -0
  263. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/idex.py +0 -0
  264. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/independentreserve.py +0 -0
  265. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/indodax.py +0 -0
  266. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/kraken.py +0 -0
  267. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/krakenfutures.py +0 -0
  268. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/kucoin.py +0 -0
  269. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/kucoinfutures.py +0 -0
  270. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/kuna.py +0 -0
  271. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/latoken.py +0 -0
  272. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/lbank.py +0 -0
  273. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/luno.py +0 -0
  274. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/lykke.py +0 -0
  275. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/mercado.py +0 -0
  276. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/mexc.py +0 -0
  277. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/ndax.py +0 -0
  278. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/novadax.py +0 -0
  279. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/oceanex.py +0 -0
  280. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/okcoin.py +0 -0
  281. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/onetrading.py +0 -0
  282. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/p2b.py +0 -0
  283. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/paymium.py +0 -0
  284. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/phemex.py +0 -0
  285. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/poloniex.py +0 -0
  286. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/poloniexfutures.py +0 -0
  287. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/probit.py +0 -0
  288. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/timex.py +0 -0
  289. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/tokocrypto.py +0 -0
  290. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/tradeogre.py +0 -0
  291. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/upbit.py +0 -0
  292. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/wavesexchange.py +0 -0
  293. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/wazirx.py +0 -0
  294. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/whitebit.py +0 -0
  295. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/woo.py +0 -0
  296. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/yobit.py +0 -0
  297. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/zaif.py +0 -0
  298. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/abstract/zonda.py +0 -0
  299. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/alpaca.py +0 -0
  300. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/alpaca.py +0 -0
  301. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/base/__init__.py +0 -0
  302. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/base/throttler.py +0 -0
  303. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/base/ws/__init__.py +0 -0
  304. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/base/ws/aiohttp_client.py +0 -0
  305. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/base/ws/cache.py +0 -0
  306. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/base/ws/client.py +0 -0
  307. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/base/ws/fast_client.py +0 -0
  308. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/base/ws/functions.py +0 -0
  309. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/base/ws/future.py +0 -0
  310. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/base/ws/order_book.py +0 -0
  311. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/base/ws/order_book_side.py +0 -0
  312. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bequant.py +0 -0
  313. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/binancecoinm.py +0 -0
  314. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/binanceus.py +0 -0
  315. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/binanceusdm.py +0 -0
  316. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bitbay.py +0 -0
  317. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bitcoincom.py +0 -0
  318. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/bitpanda.py +0 -0
  319. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/coinbaseinternational.py +0 -0
  320. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/fmfwio.py +0 -0
  321. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/gateio.py +0 -0
  322. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/hitbtc3.py +0 -0
  323. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/huobi.py +0 -0
  324. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/hyperliquid.py +0 -0
  325. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/oceanex.py +0 -0
  326. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/p2b.py +0 -0
  327. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/async_support/tradeogre.py +0 -0
  328. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/base/__init__.py +0 -0
  329. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/base/decimal_to_precision.py +0 -0
  330. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/base/errors.py +0 -0
  331. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/base/precise.py +0 -0
  332. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bequant.py +0 -0
  333. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/binancecoinm.py +0 -0
  334. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/binanceus.py +0 -0
  335. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/binanceusdm.py +0 -0
  336. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bitbay.py +0 -0
  337. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bitcoincom.py +0 -0
  338. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/bitpanda.py +0 -0
  339. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/coinbaseinternational.py +0 -0
  340. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/fmfwio.py +0 -0
  341. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/gateio.py +0 -0
  342. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/hitbtc3.py +0 -0
  343. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/huobi.py +0 -0
  344. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/hyperliquid.py +0 -0
  345. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/oceanex.py +0 -0
  346. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/p2b.py +0 -0
  347. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/alpaca.py +0 -0
  348. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/ascendex.py +0 -0
  349. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/bequant.py +0 -0
  350. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/binance.py +0 -0
  351. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/binancecoinm.py +0 -0
  352. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/binanceus.py +0 -0
  353. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/binanceusdm.py +0 -0
  354. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/bingx.py +0 -0
  355. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/bitcoincom.py +0 -0
  356. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/bitfinex.py +0 -0
  357. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/bitfinex2.py +0 -0
  358. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/bithumb.py +0 -0
  359. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/bitmart.py +0 -0
  360. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/bitmex.py +0 -0
  361. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/bitopro.py +0 -0
  362. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/bitpanda.py +0 -0
  363. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/bitrue.py +0 -0
  364. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/bitstamp.py +0 -0
  365. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/bitvavo.py +0 -0
  366. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/blockchaincom.py +0 -0
  367. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/bybit.py +0 -0
  368. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/cex.py +0 -0
  369. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/coinbase.py +0 -0
  370. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/coinbasepro.py +0 -0
  371. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/coincheck.py +0 -0
  372. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/coinex.py +0 -0
  373. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/coinone.py +0 -0
  374. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/cryptocom.py +0 -0
  375. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/currencycom.py +0 -0
  376. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/deribit.py +0 -0
  377. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/exmo.py +0 -0
  378. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/gate.py +0 -0
  379. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/gateio.py +0 -0
  380. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/gemini.py +0 -0
  381. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/hitbtc.py +0 -0
  382. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/hollaex.py +0 -0
  383. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/htx.py +0 -0
  384. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/huobi.py +0 -0
  385. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/huobijp.py +0 -0
  386. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/hyperliquid.py +0 -0
  387. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/idex.py +0 -0
  388. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/independentreserve.py +0 -0
  389. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/kraken.py +0 -0
  390. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/krakenfutures.py +0 -0
  391. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/kucoin.py +0 -0
  392. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/kucoinfutures.py +0 -0
  393. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/lbank.py +0 -0
  394. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/luno.py +0 -0
  395. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/mexc.py +0 -0
  396. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/ndax.py +0 -0
  397. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/okcoin.py +0 -0
  398. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/onetrading.py +0 -0
  399. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/p2b.py +0 -0
  400. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/phemex.py +0 -0
  401. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/poloniex.py +0 -0
  402. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/poloniexfutures.py +0 -0
  403. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/probit.py +0 -0
  404. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/upbit.py +0 -0
  405. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/wazirx.py +0 -0
  406. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/whitebit.py +0 -0
  407. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/pro/woo.py +0 -0
  408. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/__init__.py +0 -0
  409. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ecdsa/__init__.py +0 -0
  410. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ecdsa/_version.py +0 -0
  411. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ecdsa/curves.py +0 -0
  412. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ecdsa/der.py +0 -0
  413. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ecdsa/ecdsa.py +0 -0
  414. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ecdsa/ellipticcurve.py +0 -0
  415. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ecdsa/keys.py +0 -0
  416. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ecdsa/numbertheory.py +0 -0
  417. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ecdsa/rfc6979.py +0 -0
  418. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ecdsa/util.py +0 -0
  419. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/__init__.py +0 -0
  420. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/abi/__init__.py +0 -0
  421. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/abi/abi.py +0 -0
  422. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/abi/base.py +0 -0
  423. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/abi/codec.py +0 -0
  424. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/abi/constants.py +0 -0
  425. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/abi/decoding.py +0 -0
  426. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/abi/encoding.py +0 -0
  427. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/abi/exceptions.py +0 -0
  428. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/abi/grammar.py +0 -0
  429. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/abi/packed.py +0 -0
  430. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/abi/py.typed +0 -0
  431. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/abi/registry.py +0 -0
  432. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/abi/tools/__init__.py +0 -0
  433. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/abi/tools/_strategies.py +0 -0
  434. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/abi/utils/__init__.py +0 -0
  435. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/abi/utils/numeric.py +0 -0
  436. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/abi/utils/padding.py +0 -0
  437. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/abi/utils/string.py +0 -0
  438. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/account/__init__.py +0 -0
  439. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/account/encode_typed_data/__init__.py +0 -0
  440. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/account/encode_typed_data/encoding_and_hashing.py +0 -0
  441. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/account/encode_typed_data/helpers.py +0 -0
  442. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/account/messages.py +0 -0
  443. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/account/py.typed +0 -0
  444. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/hexbytes/__init__.py +0 -0
  445. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/hexbytes/_utils.py +0 -0
  446. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/hexbytes/main.py +0 -0
  447. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/hexbytes/py.typed +0 -0
  448. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/typing/__init__.py +0 -0
  449. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/typing/abi.py +0 -0
  450. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/typing/bls.py +0 -0
  451. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/typing/discovery.py +0 -0
  452. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/typing/encoding.py +0 -0
  453. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/typing/enums.py +0 -0
  454. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/typing/ethpm.py +0 -0
  455. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/typing/evm.py +0 -0
  456. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/typing/networks.py +0 -0
  457. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/typing/py.typed +0 -0
  458. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/__init__.py +0 -0
  459. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/abi.py +0 -0
  460. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/address.py +0 -0
  461. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/applicators.py +0 -0
  462. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/conversions.py +0 -0
  463. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/currency.py +0 -0
  464. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/curried/__init__.py +0 -0
  465. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/debug.py +0 -0
  466. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/decorators.py +0 -0
  467. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/encoding.py +0 -0
  468. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/exceptions.py +0 -0
  469. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/functional.py +0 -0
  470. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/hexadecimal.py +0 -0
  471. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/humanize.py +0 -0
  472. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/logging.py +0 -0
  473. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/module_loading.py +0 -0
  474. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/numeric.py +0 -0
  475. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/py.typed +0 -0
  476. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/toolz.py +0 -0
  477. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/types.py +0 -0
  478. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/typing/__init__.py +0 -0
  479. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/typing/misc.py +0 -0
  480. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/ethereum/utils/units.py +0 -0
  481. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/keccak/__init__.py +0 -0
  482. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/keccak/keccak.py +0 -0
  483. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/msgpack/__init__.py +0 -0
  484. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/msgpack/exceptions.py +0 -0
  485. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/msgpack/ext.py +0 -0
  486. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/msgpack/fallback.py +0 -0
  487. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/parsimonious/__init__.py +0 -0
  488. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/parsimonious/exceptions.py +0 -0
  489. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/parsimonious/expressions.py +0 -0
  490. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/parsimonious/grammar.py +0 -0
  491. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/parsimonious/nodes.py +0 -0
  492. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/parsimonious/utils.py +0 -0
  493. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/toolz/__init__.py +0 -0
  494. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/toolz/_signatures.py +0 -0
  495. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/toolz/_version.py +0 -0
  496. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/toolz/compatibility.py +0 -0
  497. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/toolz/curried/__init__.py +0 -0
  498. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/toolz/curried/exceptions.py +0 -0
  499. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/toolz/curried/operator.py +0 -0
  500. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/toolz/dicttoolz.py +0 -0
  501. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/toolz/functoolz.py +0 -0
  502. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/toolz/itertoolz.py +0 -0
  503. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/toolz/recipes.py +0 -0
  504. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/static_dependencies/toolz/utils.py +0 -0
  505. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/__init__.py +0 -0
  506. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/__init__.py +0 -0
  507. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_account.py +0 -0
  508. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_balance.py +0 -0
  509. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_borrow_interest.py +0 -0
  510. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_borrow_rate.py +0 -0
  511. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_calculate_fee.py +0 -0
  512. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_crypto.py +0 -0
  513. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_currency.py +0 -0
  514. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_datetime.py +0 -0
  515. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_decimal_to_precision.py +0 -0
  516. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_deep_extend.py +0 -0
  517. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_deposit_withdrawal.py +0 -0
  518. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_exchange_datetime_functions.py +0 -0
  519. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_funding_rate_history.py +0 -0
  520. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_last_price.py +0 -0
  521. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_ledger_entry.py +0 -0
  522. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_ledger_item.py +0 -0
  523. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_leverage_tier.py +0 -0
  524. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_margin_mode.py +0 -0
  525. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_margin_modification.py +0 -0
  526. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_market.py +0 -0
  527. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_number.py +0 -0
  528. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_ohlcv.py +0 -0
  529. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_open_interest.py +0 -0
  530. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_order.py +0 -0
  531. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_order_book.py +0 -0
  532. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_position.py +0 -0
  533. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_shared_methods.py +0 -0
  534. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_status.py +0 -0
  535. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_throttle.py +0 -0
  536. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_ticker.py +0 -0
  537. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_trade.py +0 -0
  538. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_trading_fee.py +0 -0
  539. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/test/base/test_transaction.py +0 -0
  540. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt/tradeogre.py +0 -0
  541. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt.egg-info/dependency_links.txt +0 -0
  542. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt.egg-info/requires.txt +0 -0
  543. {ccxt-4.3.18 → ccxt-4.3.19}/ccxt.egg-info/top_level.txt +0 -0
  544. {ccxt-4.3.18 → ccxt-4.3.19}/setup.cfg +0 -0
  545. {ccxt-4.3.18 → ccxt-4.3.19}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.3.18
3
+ Version: 4.3.19
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
@@ -13,7 +13,7 @@ Project-URL: Twitter, https://twitter.com/ccxt_official
13
13
  Project-URL: Funding, https://opencollective.com/ccxt
14
14
  Description: # CCXT – CryptoCurrency eXchange Trading Library
15
15
 
16
- [![Build Status](https://travis-ci.com/ccxt/ccxt.svg?branch=master)](https://travis-ci.com/ccxt/ccxt) [![npm](https://img.shields.io/npm/v/ccxt.svg)](https://npmjs.com/package/ccxt) [![PyPI](https://img.shields.io/pypi/v/ccxt.svg)](https://pypi.python.org/pypi/ccxt) [![NPM Downloads](https://img.shields.io/npm/dy/ccxt.svg)](https://www.npmjs.com/package/ccxt) [![Discord](https://img.shields.io/discord/690203284119617602?logo=discord&logoColor=white)](https://discord.gg/ccxt) [![Supported Exchanges](https://img.shields.io/badge/exchanges-103-blue.svg)](https://github.com/ccxt/ccxt/wiki/Exchange-Markets) [![Twitter Follow](https://img.shields.io/twitter/follow/ccxt_official.svg?style=social&label=CCXT)](https://twitter.com/ccxt_official)
16
+ [![Build Status](https://travis-ci.com/ccxt/ccxt.svg?branch=master)](https://travis-ci.com/ccxt/ccxt) [![npm](https://img.shields.io/npm/v/ccxt.svg)](https://npmjs.com/package/ccxt) [![PyPI](https://img.shields.io/pypi/v/ccxt.svg)](https://pypi.python.org/pypi/ccxt) [![NPM Downloads](https://img.shields.io/npm/dy/ccxt.svg)](https://www.npmjs.com/package/ccxt) [![Discord](https://img.shields.io/discord/690203284119617602?logo=discord&logoColor=white)](https://discord.gg/ccxt) [![Supported Exchanges](https://img.shields.io/badge/exchanges-104-blue.svg)](https://github.com/ccxt/ccxt/wiki/Exchange-Markets) [![Twitter Follow](https://img.shields.io/twitter/follow/ccxt_official.svg?style=social&label=CCXT)](https://twitter.com/ccxt_official)
17
17
 
18
18
  A JavaScript / Python / PHP / C# library for cryptocurrency trading and e-commerce with support for many bitcoin/ether/altcoin exchange markets and merchant APIs.
19
19
 
@@ -65,10 +65,11 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
65
65
  | [![mexc](https://user-images.githubusercontent.com/1294454/137283979-8b2a818d-8633-461b-bfca-de89e8c446b2.jpg)](https://m.mexc.com/auth/signup?inviteCode=1FQ1G) | mexc | [MEXC Global](https://m.mexc.com/auth/signup?inviteCode=1FQ1G) | [![API Version 3](https://img.shields.io/badge/3-lightgray)](https://mexcdevelop.github.io/apidocs/) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | |
66
66
  | [![okx](https://user-images.githubusercontent.com/1294454/152485636-38b19e4a-bece-4dec-979a-5982859ffc04.jpg)](https://www.okx.com/join/CCXT2023) | okx | [OKX](https://www.okx.com/join/CCXT2023) | [![API Version 5](https://img.shields.io/badge/5-lightgray)](https://www.okx.com/docs-v5/en/) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | [![Sign up with OKX using CCXT's referral link for a 20% discount!](https://img.shields.io/static/v1?label=Fee&message=%2d20%25&color=orange)](https://www.okx.com/join/CCXT2023) |
67
67
  | [![woo](https://user-images.githubusercontent.com/1294454/150730761-1a00e5e0-d28c-480f-9e65-089ce3e6ef3b.jpg)](https://x.woo.org/register?ref=YWOWC96B) | woo | [WOO X](https://x.woo.org/register?ref=YWOWC96B) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://docs.woo.org/) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | [![Sign up with WOO X using CCXT's referral link for a 35% discount!](https://img.shields.io/static/v1?label=Fee&message=%2d35%25&color=orange)](https://x.woo.org/register?ref=YWOWC96B) |
68
+ | [![woofipro](https://github.com/ccxt/ccxt/assets/43336371/b1e7b348-a0fc-4605-8b7f-91176958fd69)](https://dex.woo.org/en/trade?ref=CCXT) | woofipro | [WOOFI PRO](https://dex.woo.org/en/trade?ref=CCXT) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://orderly.network/docs/build-on-evm/building-on-evm) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | [![Sign up with WOOFI PRO using CCXT's referral link for a 5% discount!](https://img.shields.io/static/v1?label=Fee&message=%2d5%25&color=orange)](https://dex.woo.org/en/trade?ref=CCXT) |
68
69
 
69
70
  ## Supported Cryptocurrency Exchanges
70
71
 
71
- The CCXT library currently supports the following 97 cryptocurrency exchange markets and trading APIs:
72
+ The CCXT library currently supports the following 98 cryptocurrency exchange markets and trading APIs:
72
73
 
73
74
  | logo | id | name | ver | certified | pro |
74
75
  |---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------|-------------------------------------------------------------------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------:|-----------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------|
@@ -166,6 +167,7 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
166
167
  | [![wazirx](https://user-images.githubusercontent.com/1294454/148647666-c109c20b-f8ac-472f-91c3-5f658cb90f49.jpeg)](https://wazirx.com/invite/k7rrnks5) | wazirx | [WazirX](https://wazirx.com/invite/k7rrnks5) | [![API Version 2](https://img.shields.io/badge/2-lightgray)](https://docs.wazirx.com/#public-rest-api-for-wazirx) | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
167
168
  | [![whitebit](https://user-images.githubusercontent.com/1294454/66732963-8eb7dd00-ee66-11e9-849b-10d9282bb9e0.jpg)](https://whitebit.com/referral/d9bdf40e-28f2-4b52-b2f9-cd1415d82963) | whitebit | [WhiteBit](https://whitebit.com/referral/d9bdf40e-28f2-4b52-b2f9-cd1415d82963) | [![API Version 4](https://img.shields.io/badge/4-lightgray)](https://github.com/whitebit-exchange/api-docs) | | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
168
169
  | [![woo](https://user-images.githubusercontent.com/1294454/150730761-1a00e5e0-d28c-480f-9e65-089ce3e6ef3b.jpg)](https://x.woo.org/register?ref=YWOWC96B) | woo | [WOO X](https://x.woo.org/register?ref=YWOWC96B) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://docs.woo.org/) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
170
+ | [![woofipro](https://github.com/ccxt/ccxt/assets/43336371/b1e7b348-a0fc-4605-8b7f-91176958fd69)](https://dex.woo.org/en/trade?ref=CCXT) | woofipro | [WOOFI PRO](https://dex.woo.org/en/trade?ref=CCXT) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://orderly.network/docs/build-on-evm/building-on-evm) | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) |
169
171
  | [![yobit](https://user-images.githubusercontent.com/1294454/27766910-cdcbfdae-5eea-11e7-9859-03fea873272d.jpg)](https://www.yobit.net) | yobit | [YoBit](https://www.yobit.net) | [![API Version 3](https://img.shields.io/badge/3-lightgray)](https://www.yobit.net/en/api/) | | |
170
172
  | [![zaif](https://user-images.githubusercontent.com/1294454/27766927-39ca2ada-5eeb-11e7-972f-1b4199518ca6.jpg)](https://zaif.jp) | zaif | [Zaif](https://zaif.jp) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://techbureau-api-document.readthedocs.io/ja/latest/index.html) | | |
171
173
  | [![zonda](https://user-images.githubusercontent.com/1294454/159202310-a0e38007-5e7c-4ba9-a32f-c8263a0291fe.jpg)](https://auth.zondaglobal.com/ref/jHlbB4mIkdS1) | zonda | [Zonda](https://auth.zondaglobal.com/ref/jHlbB4mIkdS1) | [![API Version *](https://img.shields.io/badge/*-lightgray)](https://docs.zondacrypto.exchange/) | | |
@@ -226,13 +228,13 @@ Description: # CCXT – CryptoCurrency eXchange Trading Library
226
228
 
227
229
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
228
230
 
229
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.18/dist/ccxt.browser.js
230
- * unpkg: https://unpkg.com/ccxt@4.3.18/dist/ccxt.browser.js
231
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.19/dist/ccxt.browser.js
232
+ * unpkg: https://unpkg.com/ccxt@4.3.19/dist/ccxt.browser.js
231
233
 
232
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.
233
235
 
234
236
  ```HTML
235
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.18/dist/ccxt.browser.js"></script>
237
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.19/dist/ccxt.browser.js"></script>
236
238
  ```
237
239
 
238
240
  Creates a global `ccxt` object:
@@ -22,7 +22,7 @@
22
22
 
23
23
  # ----------------------------------------------------------------------------
24
24
 
25
- __version__ = '4.3.18'
25
+ __version__ = '4.3.19'
26
26
 
27
27
  # ----------------------------------------------------------------------------
28
28
 
@@ -180,6 +180,7 @@ from ccxt.wavesexchange import wavesexchange # noqa: F4
180
180
  from ccxt.wazirx import wazirx # noqa: F401
181
181
  from ccxt.whitebit import whitebit # noqa: F401
182
182
  from ccxt.woo import woo # noqa: F401
183
+ from ccxt.woofipro import woofipro # noqa: F401
183
184
  from ccxt.yobit import yobit # noqa: F401
184
185
  from ccxt.zaif import zaif # noqa: F401
185
186
  from ccxt.zonda import zonda # noqa: F401
@@ -285,6 +286,7 @@ exchanges = [
285
286
  'wazirx',
286
287
  'whitebit',
287
288
  'woo',
289
+ 'woofipro',
288
290
  'yobit',
289
291
  'zaif',
290
292
  'zonda',
@@ -150,6 +150,7 @@ class ImplicitAPI:
150
150
  private_get_v5_asset_coin_query_info = privateGetV5AssetCoinQueryInfo = Entry('v5/asset/coin/query-info', 'private', 'GET', {'cost': 28})
151
151
  private_get_v5_asset_withdraw_query_record = privateGetV5AssetWithdrawQueryRecord = Entry('v5/asset/withdraw/query-record', 'private', 'GET', {'cost': 10})
152
152
  private_get_v5_asset_withdraw_withdrawable_amount = privateGetV5AssetWithdrawWithdrawableAmount = Entry('v5/asset/withdraw/withdrawable-amount', 'private', 'GET', {'cost': 5})
153
+ private_get_v5_asset_withdraw_vasp_list = privateGetV5AssetWithdrawVaspList = Entry('v5/asset/withdraw/vasp/list', 'private', 'GET', {'cost': 5})
153
154
  private_get_v5_user_query_sub_members = privateGetV5UserQuerySubMembers = Entry('v5/user/query-sub-members', 'private', 'GET', {'cost': 5})
154
155
  private_get_v5_user_query_api = privateGetV5UserQueryApi = Entry('v5/user/query-api', 'private', 'GET', {'cost': 5})
155
156
  private_get_v5_user_sub_apikeys = privateGetV5UserSubApikeys = Entry('v5/user/sub-apikeys', 'private', 'GET', {'cost': 5})
@@ -267,6 +267,7 @@ class ImplicitAPI:
267
267
  private_post_tradingbot_grid_compute_margin_balance = privatePostTradingBotGridComputeMarginBalance = Entry('tradingBot/grid/compute-margin-balance', 'private', 'POST', {'cost': 1})
268
268
  private_post_tradingbot_grid_margin_balance = privatePostTradingBotGridMarginBalance = Entry('tradingBot/grid/margin-balance', 'private', 'POST', {'cost': 1})
269
269
  private_post_tradingbot_grid_min_investment = privatePostTradingBotGridMinInvestment = Entry('tradingBot/grid/min-investment', 'private', 'POST', {'cost': 1})
270
+ private_post_tradingbot_grid_adjust_investment = privatePostTradingBotGridAdjustInvestment = Entry('tradingBot/grid/adjust-investment', 'private', 'POST', {'cost': 1})
270
271
  private_post_tradingbot_signal_create_signal = privatePostTradingBotSignalCreateSignal = Entry('tradingBot/signal/create-signal', 'private', 'POST', {'cost': 1})
271
272
  private_post_tradingbot_signal_order_algo = privatePostTradingBotSignalOrderAlgo = Entry('tradingBot/signal/order-algo', 'private', 'POST', {'cost': 1})
272
273
  private_post_tradingbot_signal_stop_order_algo = privatePostTradingBotSignalStopOrderAlgo = Entry('tradingBot/signal/stop-order-algo', 'private', 'POST', {'cost': 1})
@@ -0,0 +1,119 @@
1
+ from ccxt.base.types import Entry
2
+
3
+
4
+ class ImplicitAPI:
5
+ v1_public_get_public_volume_stats = v1PublicGetPublicVolumeStats = Entry('public/volume/stats', ['v1', 'public'], 'GET', {'cost': 1})
6
+ v1_public_get_public_broker_name = v1PublicGetPublicBrokerName = Entry('public/broker/name', ['v1', 'public'], 'GET', {'cost': 1})
7
+ v1_public_get_public_chain_info_broker_id = v1PublicGetPublicChainInfoBrokerId = Entry('public/chain_info/{broker_id}', ['v1', 'public'], 'GET', {'cost': 1})
8
+ v1_public_get_public_system_info = v1PublicGetPublicSystemInfo = Entry('public/system_info', ['v1', 'public'], 'GET', {'cost': 1})
9
+ v1_public_get_public_vault_balance = v1PublicGetPublicVaultBalance = Entry('public/vault_balance', ['v1', 'public'], 'GET', {'cost': 1})
10
+ v1_public_get_public_insurancefund = v1PublicGetPublicInsurancefund = Entry('public/insurancefund', ['v1', 'public'], 'GET', {'cost': 1})
11
+ v1_public_get_public_chain_info = v1PublicGetPublicChainInfo = Entry('public/chain_info', ['v1', 'public'], 'GET', {'cost': 1})
12
+ v1_public_get_faucet_usdc = v1PublicGetFaucetUsdc = Entry('faucet/usdc', ['v1', 'public'], 'GET', {'cost': 1})
13
+ v1_public_get_public_account = v1PublicGetPublicAccount = Entry('public/account', ['v1', 'public'], 'GET', {'cost': 1})
14
+ v1_public_get_get_account = v1PublicGetGetAccount = Entry('get_account', ['v1', 'public'], 'GET', {'cost': 1})
15
+ v1_public_get_registration_nonce = v1PublicGetRegistrationNonce = Entry('registration_nonce', ['v1', 'public'], 'GET', {'cost': 1})
16
+ v1_public_get_get_orderly_key = v1PublicGetGetOrderlyKey = Entry('get_orderly_key', ['v1', 'public'], 'GET', {'cost': 1})
17
+ v1_public_get_public_liquidation = v1PublicGetPublicLiquidation = Entry('public/liquidation', ['v1', 'public'], 'GET', {'cost': 1})
18
+ v1_public_get_public_liquidated_positions = v1PublicGetPublicLiquidatedPositions = Entry('public/liquidated_positions', ['v1', 'public'], 'GET', {'cost': 1})
19
+ v1_public_get_public_config = v1PublicGetPublicConfig = Entry('public/config', ['v1', 'public'], 'GET', {'cost': 1})
20
+ v1_public_get_public_campaign_ranking = v1PublicGetPublicCampaignRanking = Entry('public/campaign/ranking', ['v1', 'public'], 'GET', {'cost': 10})
21
+ v1_public_get_public_campaign_stats = v1PublicGetPublicCampaignStats = Entry('public/campaign/stats', ['v1', 'public'], 'GET', {'cost': 10})
22
+ v1_public_get_public_campaign_user = v1PublicGetPublicCampaignUser = Entry('public/campaign/user', ['v1', 'public'], 'GET', {'cost': 10})
23
+ v1_public_get_public_campaign_stats_details = v1PublicGetPublicCampaignStatsDetails = Entry('public/campaign/stats/details', ['v1', 'public'], 'GET', {'cost': 10})
24
+ v1_public_get_public_campaigns = v1PublicGetPublicCampaigns = Entry('public/campaigns', ['v1', 'public'], 'GET', {'cost': 10})
25
+ v1_public_get_public_points_leaderboard = v1PublicGetPublicPointsLeaderboard = Entry('public/points/leaderboard', ['v1', 'public'], 'GET', {'cost': 1})
26
+ v1_public_get_client_points = v1PublicGetClientPoints = Entry('client/points', ['v1', 'public'], 'GET', {'cost': 1})
27
+ v1_public_get_public_points_epoch = v1PublicGetPublicPointsEpoch = Entry('public/points/epoch', ['v1', 'public'], 'GET', {'cost': 1})
28
+ v1_public_get_public_points_epoch_dates = v1PublicGetPublicPointsEpochDates = Entry('public/points/epoch_dates', ['v1', 'public'], 'GET', {'cost': 1})
29
+ v1_public_get_public_referral_check_ref_code = v1PublicGetPublicReferralCheckRefCode = Entry('public/referral/check_ref_code', ['v1', 'public'], 'GET', {'cost': 1})
30
+ v1_public_get_public_referral_verify_ref_code = v1PublicGetPublicReferralVerifyRefCode = Entry('public/referral/verify_ref_code', ['v1', 'public'], 'GET', {'cost': 1})
31
+ v1_public_get_referral_admin_info = v1PublicGetReferralAdminInfo = Entry('referral/admin_info', ['v1', 'public'], 'GET', {'cost': 1})
32
+ v1_public_get_referral_info = v1PublicGetReferralInfo = Entry('referral/info', ['v1', 'public'], 'GET', {'cost': 1})
33
+ v1_public_get_referral_referee_info = v1PublicGetReferralRefereeInfo = Entry('referral/referee_info', ['v1', 'public'], 'GET', {'cost': 1})
34
+ v1_public_get_referral_referee_rebate_summary = v1PublicGetReferralRefereeRebateSummary = Entry('referral/referee_rebate_summary', ['v1', 'public'], 'GET', {'cost': 1})
35
+ v1_public_get_referral_referee_history = v1PublicGetReferralRefereeHistory = Entry('referral/referee_history', ['v1', 'public'], 'GET', {'cost': 1})
36
+ v1_public_get_referral_referral_history = v1PublicGetReferralReferralHistory = Entry('referral/referral_history', ['v1', 'public'], 'GET', {'cost': 1})
37
+ v1_public_get_referral_rebate_summary = v1PublicGetReferralRebateSummary = Entry('referral/rebate_summary', ['v1', 'public'], 'GET', {'cost': 1})
38
+ v1_public_get_client_distribution_history = v1PublicGetClientDistributionHistory = Entry('client/distribution_history', ['v1', 'public'], 'GET', {'cost': 1})
39
+ v1_public_get_tv_config = v1PublicGetTvConfig = Entry('tv/config', ['v1', 'public'], 'GET', {'cost': 1})
40
+ v1_public_get_tv_history = v1PublicGetTvHistory = Entry('tv/history', ['v1', 'public'], 'GET', {'cost': 1})
41
+ v1_public_get_tv_symbol_info = v1PublicGetTvSymbolInfo = Entry('tv/symbol_info', ['v1', 'public'], 'GET', {'cost': 1})
42
+ v1_public_get_public_funding_rate_history = v1PublicGetPublicFundingRateHistory = Entry('public/funding_rate_history', ['v1', 'public'], 'GET', {'cost': 1})
43
+ v1_public_get_public_funding_rate_symbol = v1PublicGetPublicFundingRateSymbol = Entry('public/funding_rate/{symbol}', ['v1', 'public'], 'GET', {'cost': 0.33})
44
+ v1_public_get_public_funding_rates = v1PublicGetPublicFundingRates = Entry('public/funding_rates', ['v1', 'public'], 'GET', {'cost': 1})
45
+ v1_public_get_public_info = v1PublicGetPublicInfo = Entry('public/info', ['v1', 'public'], 'GET', {'cost': 1})
46
+ v1_public_get_public_info_symbol = v1PublicGetPublicInfoSymbol = Entry('public/info/{symbol}', ['v1', 'public'], 'GET', {'cost': 1})
47
+ v1_public_get_public_market_trades = v1PublicGetPublicMarketTrades = Entry('public/market_trades', ['v1', 'public'], 'GET', {'cost': 1})
48
+ v1_public_get_public_token = v1PublicGetPublicToken = Entry('public/token', ['v1', 'public'], 'GET', {'cost': 1})
49
+ v1_public_get_public_futures = v1PublicGetPublicFutures = Entry('public/futures', ['v1', 'public'], 'GET', {'cost': 1})
50
+ v1_public_get_public_futures_symbol = v1PublicGetPublicFuturesSymbol = Entry('public/futures/{symbol}', ['v1', 'public'], 'GET', {'cost': 1})
51
+ v1_public_post_register_account = v1PublicPostRegisterAccount = Entry('register_account', ['v1', 'public'], 'POST', {'cost': 1})
52
+ v1_private_get_client_key_info = v1PrivateGetClientKeyInfo = Entry('client/key_info', ['v1', 'private'], 'GET', {'cost': 6})
53
+ v1_private_get_client_orderly_key_ip_restriction = v1PrivateGetClientOrderlyKeyIpRestriction = Entry('client/orderly_key_ip_restriction', ['v1', 'private'], 'GET', {'cost': 6})
54
+ v1_private_get_order_oid = v1PrivateGetOrderOid = Entry('order/{oid}', ['v1', 'private'], 'GET', {'cost': 1})
55
+ v1_private_get_client_order_client_order_id = v1PrivateGetClientOrderClientOrderId = Entry('client/order/{client_order_id}', ['v1', 'private'], 'GET', {'cost': 1})
56
+ v1_private_get_algo_order_oid = v1PrivateGetAlgoOrderOid = Entry('algo/order/{oid}', ['v1', 'private'], 'GET', {'cost': 1})
57
+ v1_private_get_algo_client_order_client_order_id = v1PrivateGetAlgoClientOrderClientOrderId = Entry('algo/client/order/{client_order_id}', ['v1', 'private'], 'GET', {'cost': 1})
58
+ v1_private_get_orders = v1PrivateGetOrders = Entry('orders', ['v1', 'private'], 'GET', {'cost': 1})
59
+ v1_private_get_algo_orders = v1PrivateGetAlgoOrders = Entry('algo/orders', ['v1', 'private'], 'GET', {'cost': 1})
60
+ v1_private_get_trade_tid = v1PrivateGetTradeTid = Entry('trade/{tid}', ['v1', 'private'], 'GET', {'cost': 1})
61
+ v1_private_get_trades = v1PrivateGetTrades = Entry('trades', ['v1', 'private'], 'GET', {'cost': 1})
62
+ v1_private_get_order_oid_trades = v1PrivateGetOrderOidTrades = Entry('order/{oid}/trades', ['v1', 'private'], 'GET', {'cost': 1})
63
+ v1_private_get_client_liquidator_liquidations = v1PrivateGetClientLiquidatorLiquidations = Entry('client/liquidator_liquidations', ['v1', 'private'], 'GET', {'cost': 1})
64
+ v1_private_get_liquidations = v1PrivateGetLiquidations = Entry('liquidations', ['v1', 'private'], 'GET', {'cost': 1})
65
+ v1_private_get_asset_history = v1PrivateGetAssetHistory = Entry('asset/history', ['v1', 'private'], 'GET', {'cost': 60})
66
+ v1_private_get_client_holding = v1PrivateGetClientHolding = Entry('client/holding', ['v1', 'private'], 'GET', {'cost': 1})
67
+ v1_private_get_withdraw_nonce = v1PrivateGetWithdrawNonce = Entry('withdraw_nonce', ['v1', 'private'], 'GET', {'cost': 1})
68
+ v1_private_get_settle_nonce = v1PrivateGetSettleNonce = Entry('settle_nonce', ['v1', 'private'], 'GET', {'cost': 1})
69
+ v1_private_get_pnl_settlement_history = v1PrivateGetPnlSettlementHistory = Entry('pnl_settlement/history', ['v1', 'private'], 'GET', {'cost': 1})
70
+ v1_private_get_volume_user_daily = v1PrivateGetVolumeUserDaily = Entry('volume/user/daily', ['v1', 'private'], 'GET', {'cost': 60})
71
+ v1_private_get_volume_user_stats = v1PrivateGetVolumeUserStats = Entry('volume/user/stats', ['v1', 'private'], 'GET', {'cost': 60})
72
+ v1_private_get_client_statistics = v1PrivateGetClientStatistics = Entry('client/statistics', ['v1', 'private'], 'GET', {'cost': 60})
73
+ v1_private_get_client_info = v1PrivateGetClientInfo = Entry('client/info', ['v1', 'private'], 'GET', {'cost': 60})
74
+ v1_private_get_client_statistics_daily = v1PrivateGetClientStatisticsDaily = Entry('client/statistics/daily', ['v1', 'private'], 'GET', {'cost': 60})
75
+ v1_private_get_positions = v1PrivateGetPositions = Entry('positions', ['v1', 'private'], 'GET', {'cost': 3.33})
76
+ v1_private_get_position_symbol = v1PrivateGetPositionSymbol = Entry('position/{symbol}', ['v1', 'private'], 'GET', {'cost': 3.33})
77
+ v1_private_get_funding_fee_history = v1PrivateGetFundingFeeHistory = Entry('funding_fee/history', ['v1', 'private'], 'GET', {'cost': 30})
78
+ v1_private_get_notification_inbox_notifications = v1PrivateGetNotificationInboxNotifications = Entry('notification/inbox/notifications', ['v1', 'private'], 'GET', {'cost': 60})
79
+ v1_private_get_notification_inbox_unread = v1PrivateGetNotificationInboxUnread = Entry('notification/inbox/unread', ['v1', 'private'], 'GET', {'cost': 60})
80
+ v1_private_get_volume_broker_daily = v1PrivateGetVolumeBrokerDaily = Entry('volume/broker/daily', ['v1', 'private'], 'GET', {'cost': 60})
81
+ v1_private_get_broker_fee_rate_default = v1PrivateGetBrokerFeeRateDefault = Entry('broker/fee_rate/default', ['v1', 'private'], 'GET', {'cost': 10})
82
+ v1_private_get_broker_user_info = v1PrivateGetBrokerUserInfo = Entry('broker/user_info', ['v1', 'private'], 'GET', {'cost': 10})
83
+ v1_private_get_orderbook_symbol = v1PrivateGetOrderbookSymbol = Entry('orderbook/{symbol}', ['v1', 'private'], 'GET', {'cost': 1})
84
+ v1_private_get_kline = v1PrivateGetKline = Entry('kline', ['v1', 'private'], 'GET', {'cost': 1})
85
+ v1_private_post_orderly_key = v1PrivatePostOrderlyKey = Entry('orderly_key', ['v1', 'private'], 'POST', {'cost': 1})
86
+ v1_private_post_client_set_orderly_key_ip_restriction = v1PrivatePostClientSetOrderlyKeyIpRestriction = Entry('client/set_orderly_key_ip_restriction', ['v1', 'private'], 'POST', {'cost': 6})
87
+ v1_private_post_client_reset_orderly_key_ip_restriction = v1PrivatePostClientResetOrderlyKeyIpRestriction = Entry('client/reset_orderly_key_ip_restriction', ['v1', 'private'], 'POST', {'cost': 6})
88
+ v1_private_post_order = v1PrivatePostOrder = Entry('order', ['v1', 'private'], 'POST', {'cost': 1})
89
+ v1_private_post_batch_order = v1PrivatePostBatchOrder = Entry('batch-order', ['v1', 'private'], 'POST', {'cost': 10})
90
+ v1_private_post_algo_order = v1PrivatePostAlgoOrder = Entry('algo/order', ['v1', 'private'], 'POST', {'cost': 1})
91
+ v1_private_post_liquidation = v1PrivatePostLiquidation = Entry('liquidation', ['v1', 'private'], 'POST', {'cost': 1})
92
+ v1_private_post_claim_insurance_fund = v1PrivatePostClaimInsuranceFund = Entry('claim_insurance_fund', ['v1', 'private'], 'POST', {'cost': 1})
93
+ v1_private_post_withdraw_request = v1PrivatePostWithdrawRequest = Entry('withdraw_request', ['v1', 'private'], 'POST', {'cost': 1})
94
+ v1_private_post_settle_pnl = v1PrivatePostSettlePnl = Entry('settle_pnl', ['v1', 'private'], 'POST', {'cost': 1})
95
+ v1_private_post_notification_inbox_mark_read = v1PrivatePostNotificationInboxMarkRead = Entry('notification/inbox/mark_read', ['v1', 'private'], 'POST', {'cost': 60})
96
+ v1_private_post_notification_inbox_mark_read_all = v1PrivatePostNotificationInboxMarkReadAll = Entry('notification/inbox/mark_read_all', ['v1', 'private'], 'POST', {'cost': 60})
97
+ v1_private_post_client_leverage = v1PrivatePostClientLeverage = Entry('client/leverage', ['v1', 'private'], 'POST', {'cost': 120})
98
+ v1_private_post_client_maintenance_config = v1PrivatePostClientMaintenanceConfig = Entry('client/maintenance_config', ['v1', 'private'], 'POST', {'cost': 60})
99
+ v1_private_post_delegate_signer = v1PrivatePostDelegateSigner = Entry('delegate_signer', ['v1', 'private'], 'POST', {'cost': 10})
100
+ v1_private_post_delegate_orderly_key = v1PrivatePostDelegateOrderlyKey = Entry('delegate_orderly_key', ['v1', 'private'], 'POST', {'cost': 10})
101
+ v1_private_post_delegate_settle_pnl = v1PrivatePostDelegateSettlePnl = Entry('delegate_settle_pnl', ['v1', 'private'], 'POST', {'cost': 10})
102
+ v1_private_post_delegate_withdraw_request = v1PrivatePostDelegateWithdrawRequest = Entry('delegate_withdraw_request', ['v1', 'private'], 'POST', {'cost': 10})
103
+ v1_private_post_broker_fee_rate_set = v1PrivatePostBrokerFeeRateSet = Entry('broker/fee_rate/set', ['v1', 'private'], 'POST', {'cost': 10})
104
+ v1_private_post_broker_fee_rate_set_default = v1PrivatePostBrokerFeeRateSetDefault = Entry('broker/fee_rate/set_default', ['v1', 'private'], 'POST', {'cost': 10})
105
+ v1_private_post_broker_fee_rate_default = v1PrivatePostBrokerFeeRateDefault = Entry('broker/fee_rate/default', ['v1', 'private'], 'POST', {'cost': 10})
106
+ v1_private_post_referral_create = v1PrivatePostReferralCreate = Entry('referral/create', ['v1', 'private'], 'POST', {'cost': 10})
107
+ v1_private_post_referral_update = v1PrivatePostReferralUpdate = Entry('referral/update', ['v1', 'private'], 'POST', {'cost': 10})
108
+ v1_private_post_referral_bind = v1PrivatePostReferralBind = Entry('referral/bind', ['v1', 'private'], 'POST', {'cost': 10})
109
+ v1_private_post_referral_edit_split = v1PrivatePostReferralEditSplit = Entry('referral/edit_split', ['v1', 'private'], 'POST', {'cost': 10})
110
+ v1_private_put_order = v1PrivatePutOrder = Entry('order', ['v1', 'private'], 'PUT', {'cost': 1})
111
+ v1_private_put_algo_order = v1PrivatePutAlgoOrder = Entry('algo/order', ['v1', 'private'], 'PUT', {'cost': 1})
112
+ v1_private_delete_order = v1PrivateDeleteOrder = Entry('order', ['v1', 'private'], 'DELETE', {'cost': 1})
113
+ v1_private_delete_algo_order = v1PrivateDeleteAlgoOrder = Entry('algo/order', ['v1', 'private'], 'DELETE', {'cost': 1})
114
+ v1_private_delete_client_order = v1PrivateDeleteClientOrder = Entry('client/order', ['v1', 'private'], 'DELETE', {'cost': 1})
115
+ v1_private_delete_algo_client_order = v1PrivateDeleteAlgoClientOrder = Entry('algo/client/order', ['v1', 'private'], 'DELETE', {'cost': 1})
116
+ v1_private_delete_algo_orders = v1PrivateDeleteAlgoOrders = Entry('algo/orders', ['v1', 'private'], 'DELETE', {'cost': 1})
117
+ v1_private_delete_orders = v1PrivateDeleteOrders = Entry('orders', ['v1', 'private'], 'DELETE', {'cost': 1})
118
+ v1_private_delete_batch_order = v1PrivateDeleteBatchOrder = Entry('batch-order', ['v1', 'private'], 'DELETE', {'cost': 1})
119
+ v1_private_delete_client_batch_order = v1PrivateDeleteClientBatchOrder = Entry('client/batch-order', ['v1', 'private'], 'DELETE', {'cost': 1})
@@ -259,7 +259,7 @@ class ace(Exchange, ImplicitAPI):
259
259
  'info': market,
260
260
  }
261
261
 
262
- def parse_ticker(self, ticker, market: Market = None) -> Ticker:
262
+ def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
263
263
  #
264
264
  # {
265
265
  # "base_volume":229196.34035399999,
@@ -938,7 +938,7 @@ class ascendex(Exchange, ImplicitAPI):
938
938
  result['nonce'] = self.safe_integer(orderbook, 'seqnum')
939
939
  return result
940
940
 
941
- def parse_ticker(self, ticker, market: Market = None) -> Ticker:
941
+ def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
942
942
  #
943
943
  # {
944
944
  # "symbol":"QTUM/BTC",
@@ -2995,7 +2995,6 @@ class ascendex(Exchange, ImplicitAPI):
2995
2995
  account = self.safe_value(self.accounts, 0, {})
2996
2996
  accountGroup = self.safe_string(account, 'id')
2997
2997
  currency = self.currency(code)
2998
- amount = self.currency_to_precision(code, amount)
2999
2998
  accountsByType = self.safe_value(self.options, 'accountsByType', {})
3000
2999
  fromId = self.safe_string(accountsByType, fromAccount, fromAccount)
3001
3000
  toId = self.safe_string(accountsByType, toAccount, toAccount)
@@ -3003,7 +3002,7 @@ class ascendex(Exchange, ImplicitAPI):
3003
3002
  raise ExchangeError(self.id + ' transfer() only supports direct balance transfer between spot and swap, spot and margin')
3004
3003
  request = {
3005
3004
  'account-group': accountGroup,
3006
- 'amount': amount,
3005
+ 'amount': self.currency_to_precision(code, amount),
3007
3006
  'asset': currency['id'],
3008
3007
  'fromAccount': fromId,
3009
3008
  'toAccount': toId,
@@ -3022,11 +3021,11 @@ class ascendex(Exchange, ImplicitAPI):
3022
3021
  transfer['currency'] = code
3023
3022
  return transfer
3024
3023
 
3025
- def parse_transfer(self, transfer, currency: Currency = None):
3024
+ def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
3026
3025
  #
3027
3026
  # {"code": "0"}
3028
3027
  #
3029
- status = self.safe_integer(transfer, 'code')
3028
+ status = self.safe_string(transfer, 'code')
3030
3029
  currencyCode = self.safe_currency_code(None, currency)
3031
3030
  return {
3032
3031
  'info': transfer,
@@ -3040,8 +3039,8 @@ class ascendex(Exchange, ImplicitAPI):
3040
3039
  'status': self.parse_transfer_status(status),
3041
3040
  }
3042
3041
 
3043
- def parse_transfer_status(self, status):
3044
- if status == 0:
3042
+ def parse_transfer_status(self, status: Str) -> Str:
3043
+ if status == '0':
3045
3044
  return 'ok'
3046
3045
  return 'failed'
3047
3046
 
@@ -3245,7 +3244,7 @@ class ascendex(Exchange, ImplicitAPI):
3245
3244
  leverages = self.safe_list(data, 'contracts', [])
3246
3245
  return self.parse_leverages(leverages, symbols, 'symbol')
3247
3246
 
3248
- def parse_leverage(self, leverage, market=None) -> Leverage:
3247
+ def parse_leverage(self, leverage: dict, market: Market = None) -> Leverage:
3249
3248
  marketId = self.safe_string(leverage, 'symbol')
3250
3249
  leverageValue = self.safe_integer(leverage, 'leverage')
3251
3250
  marginType = self.safe_string(leverage, 'marginType')
@@ -4,7 +4,7 @@
4
4
 
5
5
  # -----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.3.18'
7
+ __version__ = '4.3.19'
8
8
 
9
9
  # -----------------------------------------------------------------------------
10
10
 
@@ -160,6 +160,7 @@ from ccxt.async_support.wavesexchange import wavesexchange
160
160
  from ccxt.async_support.wazirx import wazirx # noqa: F401
161
161
  from ccxt.async_support.whitebit import whitebit # noqa: F401
162
162
  from ccxt.async_support.woo import woo # noqa: F401
163
+ from ccxt.async_support.woofipro import woofipro # noqa: F401
163
164
  from ccxt.async_support.yobit import yobit # noqa: F401
164
165
  from ccxt.async_support.zaif import zaif # noqa: F401
165
166
  from ccxt.async_support.zonda import zonda # noqa: F401
@@ -265,6 +266,7 @@ exchanges = [
265
266
  'wazirx',
266
267
  'whitebit',
267
268
  'woo',
269
+ 'woofipro',
268
270
  'yobit',
269
271
  'zaif',
270
272
  'zonda',
@@ -259,7 +259,7 @@ class ace(Exchange, ImplicitAPI):
259
259
  'info': market,
260
260
  }
261
261
 
262
- def parse_ticker(self, ticker, market: Market = None) -> Ticker:
262
+ def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
263
263
  #
264
264
  # {
265
265
  # "base_volume":229196.34035399999,
@@ -938,7 +938,7 @@ class ascendex(Exchange, ImplicitAPI):
938
938
  result['nonce'] = self.safe_integer(orderbook, 'seqnum')
939
939
  return result
940
940
 
941
- def parse_ticker(self, ticker, market: Market = None) -> Ticker:
941
+ def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
942
942
  #
943
943
  # {
944
944
  # "symbol":"QTUM/BTC",
@@ -2995,7 +2995,6 @@ class ascendex(Exchange, ImplicitAPI):
2995
2995
  account = self.safe_value(self.accounts, 0, {})
2996
2996
  accountGroup = self.safe_string(account, 'id')
2997
2997
  currency = self.currency(code)
2998
- amount = self.currency_to_precision(code, amount)
2999
2998
  accountsByType = self.safe_value(self.options, 'accountsByType', {})
3000
2999
  fromId = self.safe_string(accountsByType, fromAccount, fromAccount)
3001
3000
  toId = self.safe_string(accountsByType, toAccount, toAccount)
@@ -3003,7 +3002,7 @@ class ascendex(Exchange, ImplicitAPI):
3003
3002
  raise ExchangeError(self.id + ' transfer() only supports direct balance transfer between spot and swap, spot and margin')
3004
3003
  request = {
3005
3004
  'account-group': accountGroup,
3006
- 'amount': amount,
3005
+ 'amount': self.currency_to_precision(code, amount),
3007
3006
  'asset': currency['id'],
3008
3007
  'fromAccount': fromId,
3009
3008
  'toAccount': toId,
@@ -3022,11 +3021,11 @@ class ascendex(Exchange, ImplicitAPI):
3022
3021
  transfer['currency'] = code
3023
3022
  return transfer
3024
3023
 
3025
- def parse_transfer(self, transfer, currency: Currency = None):
3024
+ def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
3026
3025
  #
3027
3026
  # {"code": "0"}
3028
3027
  #
3029
- status = self.safe_integer(transfer, 'code')
3028
+ status = self.safe_string(transfer, 'code')
3030
3029
  currencyCode = self.safe_currency_code(None, currency)
3031
3030
  return {
3032
3031
  'info': transfer,
@@ -3040,8 +3039,8 @@ class ascendex(Exchange, ImplicitAPI):
3040
3039
  'status': self.parse_transfer_status(status),
3041
3040
  }
3042
3041
 
3043
- def parse_transfer_status(self, status):
3044
- if status == 0:
3042
+ def parse_transfer_status(self, status: Str) -> Str:
3043
+ if status == '0':
3045
3044
  return 'ok'
3046
3045
  return 'failed'
3047
3046
 
@@ -3245,7 +3244,7 @@ class ascendex(Exchange, ImplicitAPI):
3245
3244
  leverages = self.safe_list(data, 'contracts', [])
3246
3245
  return self.parse_leverages(leverages, symbols, 'symbol')
3247
3246
 
3248
- def parse_leverage(self, leverage, market=None) -> Leverage:
3247
+ def parse_leverage(self, leverage: dict, market: Market = None) -> Leverage:
3249
3248
  marketId = self.safe_string(leverage, 'symbol')
3250
3249
  leverageValue = self.safe_integer(leverage, 'leverage')
3251
3250
  marginType = self.safe_string(leverage, 'marginType')
@@ -2,7 +2,7 @@
2
2
 
3
3
  # -----------------------------------------------------------------------------
4
4
 
5
- __version__ = '4.3.18'
5
+ __version__ = '4.3.19'
6
6
 
7
7
  # -----------------------------------------------------------------------------
8
8
 
@@ -888,7 +888,7 @@ class Exchange(BaseExchange):
888
888
  async def fetch_positions_risk(self, symbols: List[str] = None, params={}):
889
889
  raise NotSupported(self.id + ' fetchPositionsRisk() is not supported yet')
890
890
 
891
- async def fetch_bids_asks(self, symbols: List[str] = None, params={}):
891
+ async def fetch_bids_asks(self, symbols: Strings = None, params={}):
892
892
  raise NotSupported(self.id + ' fetchBidsAsks() is not supported yet')
893
893
 
894
894
  async def fetch_borrow_interest(self, code: Str = None, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
@@ -1924,3 +1924,24 @@ class Exchange(BaseExchange):
1924
1924
  :returns dict[]: a list of `position structures <https://docs.ccxt.com/#/?id=position-structure>`
1925
1925
  """
1926
1926
  raise NotSupported(self.id + ' fetchPositionsHistory() is not supported yet')
1927
+
1928
+ async def fetch_transfer(self, id: str, code: Str = None, params={}):
1929
+ """
1930
+ fetches a transfer
1931
+ :param str id: transfer id
1932
+ :param [str] code: unified currency code
1933
+ :param dict params: extra parameters specific to the exchange api endpoint
1934
+ :returns dict: a `transfer structure <https://docs.ccxt.com/#/?id=transfer-structure>`
1935
+ """
1936
+ raise NotSupported(self.id + ' fetchTransfer() is not supported yet')
1937
+
1938
+ async def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
1939
+ """
1940
+ fetches a transfer
1941
+ :param str id: transfer id
1942
+ :param int [since]: timestamp in ms of the earliest transfer to fetch
1943
+ :param int [limit]: the maximum amount of transfers to fetch
1944
+ :param dict params: extra parameters specific to the exchange api endpoint
1945
+ :returns dict: a `transfer structure <https://docs.ccxt.com/#/?id=transfer-structure>`
1946
+ """
1947
+ raise NotSupported(self.id + ' fetchTransfers() is not supported yet')
@@ -702,7 +702,7 @@ class bigone(Exchange, ImplicitAPI):
702
702
  }))
703
703
  return result
704
704
 
705
- def parse_ticker(self, ticker, market: Market = None) -> Ticker:
705
+ def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
706
706
  #
707
707
  # spot
708
708
  #
@@ -2018,14 +2018,14 @@ class bigone(Exchange, ImplicitAPI):
2018
2018
  transfer['id'] = guid
2019
2019
  return transfer
2020
2020
 
2021
- def parse_transfer(self, transfer, currency: Currency = None):
2021
+ def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
2022
2022
  #
2023
2023
  # {
2024
2024
  # "code": 0,
2025
2025
  # "data": null
2026
2026
  # }
2027
2027
  #
2028
- code = self.safe_number(transfer, 'code')
2028
+ code = self.safe_string(transfer, 'code')
2029
2029
  return {
2030
2030
  'info': transfer,
2031
2031
  'id': None,
@@ -2038,7 +2038,7 @@ class bigone(Exchange, ImplicitAPI):
2038
2038
  'status': self.parse_transfer_status(code),
2039
2039
  }
2040
2040
 
2041
- def parse_transfer_status(self, status):
2041
+ def parse_transfer_status(self, status: Str) -> Str:
2042
2042
  statuses = {
2043
2043
  '0': 'ok',
2044
2044
  }
@@ -8,7 +8,7 @@ from ccxt.abstract.binance import ImplicitAPI
8
8
  import asyncio
9
9
  import hashlib
10
10
  import json
11
- from ccxt.base.types import Balances, Conversion, CrossBorrowRate, Currencies, Currency, Greeks, Int, IsolatedBorrowRate, IsolatedBorrowRates, Leverage, Leverages, MarginMode, MarginModes, MarginModification, Market, MarketInterface, Num, Option, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry
11
+ from ccxt.base.types import Balances, Conversion, CrossBorrowRate, Currencies, Currency, Greeks, Int, IsolatedBorrowRate, IsolatedBorrowRates, Leverage, Leverages, MarginMode, MarginModes, MarginModification, Market, MarketInterface, Num, Option, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, TradingFees, Transaction, TransferEntry, TransferEntries
12
12
  from typing import List
13
13
  from ccxt.base.errors import ExchangeError
14
14
  from ccxt.base.errors import AuthenticationError
@@ -3647,7 +3647,7 @@ class binance(Exchange, ImplicitAPI):
3647
3647
  orderbook['nonce'] = self.safe_integer_2(response, 'lastUpdateId', 'u')
3648
3648
  return orderbook
3649
3649
 
3650
- def parse_ticker(self, ticker, market: Market = None) -> Ticker:
3650
+ def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
3651
3651
  #
3652
3652
  # {
3653
3653
  # "symbol": "ETHBTC",
@@ -7512,13 +7512,13 @@ class binance(Exchange, ImplicitAPI):
7512
7512
  'fee': fee,
7513
7513
  }
7514
7514
 
7515
- def parse_transfer_status(self, status):
7515
+ def parse_transfer_status(self, status: Str) -> Str:
7516
7516
  statuses = {
7517
7517
  'CONFIRMED': 'ok',
7518
7518
  }
7519
7519
  return self.safe_string(statuses, status, status)
7520
7520
 
7521
- def parse_transfer(self, transfer, currency: Currency = None):
7521
+ def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
7522
7522
  #
7523
7523
  # transfer
7524
7524
  #
@@ -7676,7 +7676,7 @@ class binance(Exchange, ImplicitAPI):
7676
7676
  #
7677
7677
  return self.parse_transfer(response, currency)
7678
7678
 
7679
- async def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
7679
+ async def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> TransferEntries:
7680
7680
  """
7681
7681
  fetch a history of internal transfers made on an account
7682
7682
  :see: https://binance-docs.github.io/apidocs/spot/en/#query-user-universal-transfer-history-user_data
@@ -9747,7 +9747,7 @@ class binance(Exchange, ImplicitAPI):
9747
9747
  leverages = self.safe_list(response, 'positions', [])
9748
9748
  return self.parse_leverages(leverages, symbols, 'symbol')
9749
9749
 
9750
- def parse_leverage(self, leverage, market=None) -> Leverage:
9750
+ def parse_leverage(self, leverage: dict, market: Market = None) -> Leverage:
9751
9751
  marketId = self.safe_string(leverage, 'symbol')
9752
9752
  marginModeRaw = self.safe_bool(leverage, 'isolated')
9753
9753
  marginMode = None
@@ -11341,7 +11341,7 @@ class binance(Exchange, ImplicitAPI):
11341
11341
  #
11342
11342
  return self.parse_greeks(response[0], market)
11343
11343
 
11344
- def parse_greeks(self, greeks, market: Market = None):
11344
+ def parse_greeks(self, greeks: dict, market: Market = None) -> Greeks:
11345
11345
  #
11346
11346
  # {
11347
11347
  # "symbol": "BTC-231229-40000-C",
@@ -11612,7 +11612,7 @@ class binance(Exchange, ImplicitAPI):
11612
11612
  chain = self.safe_dict(response, 0, {})
11613
11613
  return self.parse_option(chain, None, market)
11614
11614
 
11615
- def parse_option(self, chain, currency: Currency = None, market: Market = None):
11615
+ def parse_option(self, chain: dict, currency: Currency = None, market: Market = None) -> Option:
11616
11616
  #
11617
11617
  # {
11618
11618
  # "symbol": "BTC-241227-80000-C",
@@ -12001,7 +12001,7 @@ class binance(Exchange, ImplicitAPI):
12001
12001
  rows = self.safe_list(response, responseQuery, [])
12002
12002
  return self.parse_conversions(rows, code, fromCurrencyKey, toCurrencyKey, since, limit)
12003
12003
 
12004
- def parse_conversion(self, conversion, fromCurrency: Currency = None, toCurrency: Currency = None) -> Conversion:
12004
+ def parse_conversion(self, conversion: dict, fromCurrency: Currency = None, toCurrency: Currency = None) -> Conversion:
12005
12005
  #
12006
12006
  # fetchConvertQuote
12007
12007
  #
@@ -8,7 +8,7 @@ from ccxt.abstract.bingx import ImplicitAPI
8
8
  import asyncio
9
9
  import hashlib
10
10
  import numbers
11
- from ccxt.base.types import Balances, Currencies, Currency, Int, Leverage, MarginMode, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Position, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry
11
+ from ccxt.base.types import Balances, Currencies, Currency, Int, Leverage, MarginMode, MarginModification, Market, Num, Order, OrderBook, OrderRequest, OrderSide, OrderType, Position, Str, Strings, Ticker, Tickers, Trade, Transaction, TransferEntry, TransferEntries
12
12
  from typing import List
13
13
  from ccxt.base.errors import ExchangeError
14
14
  from ccxt.base.errors import AuthenticationError
@@ -3010,7 +3010,7 @@ class bingx(Exchange, ImplicitAPI):
3010
3010
  'status': None,
3011
3011
  }
3012
3012
 
3013
- async def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
3013
+ async def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> TransferEntries:
3014
3014
  """
3015
3015
  fetch a history of internal transfers made on an account
3016
3016
  :see: https://bingx-api.github.io/docs/#/spot/account-api.html#Query%20User%20Universal%20Transfer%20History%20(USER_DATA)
@@ -3057,7 +3057,7 @@ class bingx(Exchange, ImplicitAPI):
3057
3057
  rows = self.safe_list(response, 'rows', [])
3058
3058
  return self.parse_transfers(rows, currency, since, limit)
3059
3059
 
3060
- def parse_transfer(self, transfer, currency: Currency = None):
3060
+ def parse_transfer(self, transfer: dict, currency: Currency = None) -> TransferEntry:
3061
3061
  tranId = self.safe_string(transfer, 'tranId')
3062
3062
  timestamp = self.safe_integer(transfer, 'timestamp')
3063
3063
  currencyCode = self.safe_currency_code(None, currency)
@@ -3487,7 +3487,7 @@ class bingx(Exchange, ImplicitAPI):
3487
3487
  data = self.safe_dict(response, 'data', {})
3488
3488
  return self.parse_leverage(data, market)
3489
3489
 
3490
- def parse_leverage(self, leverage, market=None) -> Leverage:
3490
+ def parse_leverage(self, leverage: dict, market: Market = None) -> Leverage:
3491
3491
  marketId = self.safe_string(leverage, 'symbol')
3492
3492
  return {
3493
3493
  'info': leverage,