ccxt 4.1.54__py2.py3-none-any.whl → 4.1.56__py2.py3-none-any.whl

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 (251) hide show
  1. ccxt/__init__.py +2 -2
  2. ccxt/abstract/binance.py +1 -0
  3. ccxt/abstract/binancecoinm.py +1 -0
  4. ccxt/abstract/binanceus.py +1 -0
  5. ccxt/abstract/binanceusdm.py +1 -0
  6. ccxt/abstract/bitbank.py +1 -0
  7. ccxt/abstract/coinbase.py +2 -0
  8. ccxt/abstract/htx.py +3 -0
  9. ccxt/abstract/huobi.py +3 -0
  10. ccxt/abstract/huobipro.py +3 -0
  11. ccxt/abstract/okex.py +3 -1
  12. ccxt/abstract/okex5.py +3 -1
  13. ccxt/abstract/okx.py +3 -1
  14. ccxt/ace.py +23 -23
  15. ccxt/alpaca.py +8 -8
  16. ccxt/ascendex.py +26 -26
  17. ccxt/async_support/__init__.py +2 -2
  18. ccxt/async_support/ace.py +23 -23
  19. ccxt/async_support/alpaca.py +8 -8
  20. ccxt/async_support/ascendex.py +26 -26
  21. ccxt/async_support/base/exchange.py +4 -2216
  22. ccxt/async_support/bigone.py +21 -24
  23. ccxt/async_support/binance.py +61 -54
  24. ccxt/async_support/bingx.py +28 -28
  25. ccxt/async_support/bit2c.py +9 -9
  26. ccxt/async_support/bitbank.py +11 -10
  27. ccxt/async_support/bitbns.py +11 -11
  28. ccxt/async_support/bitfinex.py +15 -15
  29. ccxt/async_support/bitfinex2.py +22 -22
  30. ccxt/async_support/bitflyer.py +13 -13
  31. ccxt/async_support/bitforex.py +10 -10
  32. ccxt/async_support/bitget.py +44 -44
  33. ccxt/async_support/bithumb.py +9 -9
  34. ccxt/async_support/bitmart.py +85 -104
  35. ccxt/async_support/bitmex.py +27 -27
  36. ccxt/async_support/bitopro.py +18 -18
  37. ccxt/async_support/bitpanda.py +18 -18
  38. ccxt/async_support/bitrue.py +14 -14
  39. ccxt/async_support/bitso.py +17 -17
  40. ccxt/async_support/bitstamp.py +17 -17
  41. ccxt/async_support/bittrex.py +22 -24
  42. ccxt/async_support/bitvavo.py +15 -15
  43. ccxt/async_support/bl3p.py +4 -4
  44. ccxt/async_support/blockchaincom.py +17 -17
  45. ccxt/async_support/btcalpha.py +14 -14
  46. ccxt/async_support/btcbox.py +9 -9
  47. ccxt/async_support/btcmarkets.py +17 -17
  48. ccxt/async_support/btcturk.py +9 -9
  49. ccxt/async_support/bybit.py +46 -46
  50. ccxt/async_support/cex.py +10 -10
  51. ccxt/async_support/coinbase.py +69 -25
  52. ccxt/async_support/coinbasepro.py +19 -19
  53. ccxt/async_support/coincheck.py +10 -10
  54. ccxt/async_support/coinex.py +57 -66
  55. ccxt/async_support/coinlist.py +22 -22
  56. ccxt/async_support/coinmate.py +10 -10
  57. ccxt/async_support/coinone.py +10 -10
  58. ccxt/async_support/coinsph.py +17 -17
  59. ccxt/async_support/coinspot.py +5 -5
  60. ccxt/async_support/cryptocom.py +27 -27
  61. ccxt/async_support/currencycom.py +18 -18
  62. ccxt/async_support/delta.py +21 -21
  63. ccxt/async_support/deribit.py +24 -24
  64. ccxt/async_support/digifinex.py +35 -35
  65. ccxt/async_support/exmo.py +19 -19
  66. ccxt/async_support/gate.py +38 -38
  67. ccxt/async_support/gemini.py +11 -11
  68. ccxt/async_support/hitbtc.py +27 -27
  69. ccxt/async_support/hollaex.py +19 -19
  70. ccxt/async_support/htx.py +47 -44
  71. ccxt/async_support/huobijp.py +22 -22
  72. ccxt/async_support/idex.py +20 -20
  73. ccxt/async_support/independentreserve.py +9 -9
  74. ccxt/async_support/indodax.py +10 -10
  75. ccxt/async_support/kraken.py +25 -25
  76. ccxt/async_support/krakenfutures.py +17 -17
  77. ccxt/async_support/kucoin.py +27 -27
  78. ccxt/async_support/kucoinfutures.py +20 -20
  79. ccxt/async_support/kuna.py +19 -19
  80. ccxt/async_support/latoken.py +14 -14
  81. ccxt/async_support/lbank.py +18 -18
  82. ccxt/async_support/luno.py +14 -14
  83. ccxt/async_support/lykke.py +12 -12
  84. ccxt/async_support/mercado.py +11 -11
  85. ccxt/async_support/mexc.py +36 -36
  86. ccxt/async_support/ndax.py +18 -18
  87. ccxt/async_support/novadax.py +17 -17
  88. ccxt/async_support/oceanex.py +12 -12
  89. ccxt/async_support/okcoin.py +19 -19
  90. ccxt/async_support/okx.py +48 -45
  91. ccxt/async_support/p2b.py +6 -6
  92. ccxt/async_support/paymium.py +6 -6
  93. ccxt/async_support/phemex.py +57 -57
  94. ccxt/async_support/poloniex.py +31 -30
  95. ccxt/async_support/poloniexfutures.py +16 -16
  96. ccxt/async_support/probit.py +22 -22
  97. ccxt/async_support/tidex.py +15 -15
  98. ccxt/async_support/timex.py +20 -20
  99. ccxt/async_support/tokocrypto.py +16 -16
  100. ccxt/async_support/upbit.py +15 -15
  101. ccxt/async_support/wavesexchange.py +12 -12
  102. ccxt/async_support/wazirx.py +13 -13
  103. ccxt/async_support/whitebit.py +26 -26
  104. ccxt/async_support/woo.py +47 -47
  105. ccxt/async_support/yobit.py +8 -8
  106. ccxt/async_support/zaif.py +10 -10
  107. ccxt/async_support/zonda.py +16 -16
  108. ccxt/base/errors.py +17 -16
  109. ccxt/base/exchange.py +57 -97
  110. ccxt/base/types.py +138 -139
  111. ccxt/bigone.py +21 -24
  112. ccxt/binance.py +61 -54
  113. ccxt/bingx.py +28 -28
  114. ccxt/bit2c.py +9 -9
  115. ccxt/bitbank.py +11 -10
  116. ccxt/bitbns.py +11 -11
  117. ccxt/bitfinex.py +15 -15
  118. ccxt/bitfinex2.py +22 -22
  119. ccxt/bitflyer.py +13 -13
  120. ccxt/bitforex.py +10 -10
  121. ccxt/bitget.py +44 -44
  122. ccxt/bithumb.py +9 -9
  123. ccxt/bitmart.py +85 -104
  124. ccxt/bitmex.py +27 -27
  125. ccxt/bitopro.py +18 -18
  126. ccxt/bitpanda.py +18 -18
  127. ccxt/bitrue.py +14 -14
  128. ccxt/bitso.py +17 -17
  129. ccxt/bitstamp.py +17 -17
  130. ccxt/bittrex.py +22 -24
  131. ccxt/bitvavo.py +15 -15
  132. ccxt/bl3p.py +4 -4
  133. ccxt/blockchaincom.py +17 -17
  134. ccxt/btcalpha.py +14 -14
  135. ccxt/btcbox.py +9 -9
  136. ccxt/btcmarkets.py +17 -17
  137. ccxt/btcturk.py +9 -9
  138. ccxt/bybit.py +46 -46
  139. ccxt/cex.py +10 -10
  140. ccxt/coinbase.py +69 -25
  141. ccxt/coinbasepro.py +19 -19
  142. ccxt/coincheck.py +10 -10
  143. ccxt/coinex.py +57 -66
  144. ccxt/coinlist.py +22 -22
  145. ccxt/coinmate.py +10 -10
  146. ccxt/coinone.py +10 -10
  147. ccxt/coinsph.py +17 -17
  148. ccxt/coinspot.py +5 -5
  149. ccxt/cryptocom.py +27 -27
  150. ccxt/currencycom.py +18 -18
  151. ccxt/delta.py +21 -21
  152. ccxt/deribit.py +24 -24
  153. ccxt/digifinex.py +35 -35
  154. ccxt/exmo.py +19 -19
  155. ccxt/gate.py +38 -38
  156. ccxt/gemini.py +11 -11
  157. ccxt/hitbtc.py +27 -27
  158. ccxt/hollaex.py +19 -19
  159. ccxt/htx.py +47 -44
  160. ccxt/huobijp.py +22 -22
  161. ccxt/idex.py +20 -20
  162. ccxt/independentreserve.py +9 -9
  163. ccxt/indodax.py +10 -10
  164. ccxt/kraken.py +25 -25
  165. ccxt/krakenfutures.py +17 -17
  166. ccxt/kucoin.py +27 -27
  167. ccxt/kucoinfutures.py +20 -20
  168. ccxt/kuna.py +19 -19
  169. ccxt/latoken.py +14 -14
  170. ccxt/lbank.py +18 -18
  171. ccxt/luno.py +14 -14
  172. ccxt/lykke.py +12 -12
  173. ccxt/mercado.py +11 -11
  174. ccxt/mexc.py +36 -36
  175. ccxt/ndax.py +18 -18
  176. ccxt/novadax.py +17 -17
  177. ccxt/oceanex.py +12 -12
  178. ccxt/okcoin.py +19 -19
  179. ccxt/okx.py +48 -45
  180. ccxt/p2b.py +6 -6
  181. ccxt/paymium.py +6 -6
  182. ccxt/phemex.py +57 -57
  183. ccxt/poloniex.py +31 -30
  184. ccxt/poloniexfutures.py +16 -16
  185. ccxt/pro/__init__.py +1 -1
  186. ccxt/pro/alpaca.py +3 -3
  187. ccxt/pro/ascendex.py +2 -2
  188. ccxt/pro/binance.py +9 -9
  189. ccxt/pro/bingx.py +3 -3
  190. ccxt/pro/bitfinex.py +3 -3
  191. ccxt/pro/bitfinex2.py +3 -3
  192. ccxt/pro/bitget.py +3 -3
  193. ccxt/pro/bitmart.py +2 -2
  194. ccxt/pro/bitmex.py +3 -3
  195. ccxt/pro/bitpanda.py +3 -3
  196. ccxt/pro/bitrue.py +2 -2
  197. ccxt/pro/bitstamp.py +2 -2
  198. ccxt/pro/bittrex.py +3 -3
  199. ccxt/pro/bitvavo.py +3 -3
  200. ccxt/pro/blockchaincom.py +2 -2
  201. ccxt/pro/bybit.py +4 -4
  202. ccxt/pro/cex.py +3 -3
  203. ccxt/pro/coinbasepro.py +3 -3
  204. ccxt/pro/coinex.py +2 -2
  205. ccxt/pro/cryptocom.py +5 -5
  206. ccxt/pro/deribit.py +3 -3
  207. ccxt/pro/exmo.py +2 -2
  208. ccxt/pro/gate.py +3 -3
  209. ccxt/pro/gemini.py +2 -2
  210. ccxt/pro/hitbtc.py +4 -4
  211. ccxt/pro/hollaex.py +3 -3
  212. ccxt/pro/htx.py +3 -3
  213. ccxt/pro/idex.py +3 -3
  214. ccxt/pro/kraken.py +7 -7
  215. ccxt/pro/krakenfutures.py +4 -4
  216. ccxt/pro/kucoin.py +3 -3
  217. ccxt/pro/kucoinfutures.py +3 -3
  218. ccxt/pro/mexc.py +3 -3
  219. ccxt/pro/okcoin.py +2 -2
  220. ccxt/pro/okx.py +6 -6
  221. ccxt/pro/phemex.py +3 -3
  222. ccxt/pro/poloniex.py +3 -3
  223. ccxt/pro/poloniexfutures.py +3 -3
  224. ccxt/pro/probit.py +3 -3
  225. ccxt/pro/wazirx.py +3 -3
  226. ccxt/pro/whitebit.py +3 -3
  227. ccxt/pro/woo.py +2 -2
  228. ccxt/probit.py +22 -22
  229. ccxt/test/base/test_shared_methods.py +3 -3
  230. ccxt/test/test_async.py +543 -535
  231. ccxt/test/test_sync.py +542 -534
  232. ccxt/tidex.py +15 -15
  233. ccxt/timex.py +20 -20
  234. ccxt/tokocrypto.py +16 -16
  235. ccxt/upbit.py +15 -15
  236. ccxt/wavesexchange.py +12 -12
  237. ccxt/wazirx.py +13 -13
  238. ccxt/whitebit.py +26 -26
  239. ccxt/woo.py +47 -47
  240. ccxt/yobit.py +8 -8
  241. ccxt/zaif.py +10 -10
  242. ccxt/zonda.py +16 -16
  243. {ccxt-4.1.54.dist-info → ccxt-4.1.56.dist-info}/METADATA +10 -8
  244. ccxt-4.1.56.dist-info/RECORD +449 -0
  245. ccxt/async_support/bitstamp1.py +0 -402
  246. ccxt/async_support/lbank2.py +0 -2620
  247. ccxt/bitstamp1.py +0 -402
  248. ccxt/lbank2.py +0 -2619
  249. ccxt-4.1.54.dist-info/RECORD +0 -453
  250. {ccxt-4.1.54.dist-info → ccxt-4.1.56.dist-info}/WHEEL +0 -0
  251. {ccxt-4.1.54.dist-info → ccxt-4.1.56.dist-info}/top_level.txt +0 -0
@@ -7,7 +7,7 @@ from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.tokocrypto import ImplicitAPI
8
8
  import hashlib
9
9
  import json
10
- from ccxt.base.types import Balances, Int, Order, OrderBook, OrderSide, OrderType, String, Strings, Ticker, Tickers, Trade, Transaction
10
+ from ccxt.base.types import Balances, Currency, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
11
11
  from typing import List
12
12
  from ccxt.base.errors import ExchangeError
13
13
  from ccxt.base.errors import PermissionDenied
@@ -843,7 +843,7 @@ class tokocrypto(Exchange, ImplicitAPI):
843
843
  orderbook['nonce'] = self.safe_integer(data, 'lastUpdateId')
844
844
  return orderbook
845
845
 
846
- def parse_trade(self, trade, market=None) -> Trade:
846
+ def parse_trade(self, trade, market: Market = None) -> Trade:
847
847
  #
848
848
  # aggregate trades
849
849
  # https://github.com/binance-exchange/binance-official-api-docs/blob/master/rest-api.md#compressedaggregate-trades-list
@@ -945,10 +945,10 @@ class tokocrypto(Exchange, ImplicitAPI):
945
945
  symbol = self.safe_symbol(marketId, market)
946
946
  id = self.safe_string_2(trade, 't', 'a')
947
947
  id = self.safe_string_2(trade, 'id', 'tradeId', id)
948
- side = None
948
+ side: Str = None
949
949
  orderId = self.safe_string(trade, 'orderId')
950
950
  buyerMaker = self.safe_value_2(trade, 'm', 'isBuyerMaker')
951
- takerOrMaker = None
951
+ takerOrMaker: Str = None
952
952
  if buyerMaker is not None:
953
953
  side = 'sell' if buyerMaker else 'buy' # self is reversed intentionally
954
954
  takerOrMaker = 'taker'
@@ -1059,7 +1059,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1059
1059
  #
1060
1060
  return self.parse_trades(response, market, since, limit)
1061
1061
 
1062
- def parse_ticker(self, ticker, market=None) -> Ticker:
1062
+ def parse_ticker(self, ticker, market: Market = None) -> Ticker:
1063
1063
  #
1064
1064
  # {
1065
1065
  # "symbol": "ETHBTC",
@@ -1192,7 +1192,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1192
1192
  response = await self.binanceGetTickerBookTicker(params)
1193
1193
  return self.parse_tickers(response, symbols)
1194
1194
 
1195
- def parse_ohlcv(self, ohlcv, market=None) -> list:
1195
+ def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
1196
1196
  # when api method = publicGetKlines or fapiPublicGetKlines or dapiPublicGetKlines
1197
1197
  # [
1198
1198
  # 1591478520000, # open time
@@ -1369,7 +1369,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1369
1369
  }
1370
1370
  return self.safe_string(statuses, status, status)
1371
1371
 
1372
- def parse_order(self, order, market=None) -> Order:
1372
+ def parse_order(self, order, market: Market = None) -> Order:
1373
1373
  #
1374
1374
  # spot
1375
1375
  #
@@ -1680,7 +1680,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1680
1680
  rawOrder = self.safe_value(response, 'data', {})
1681
1681
  return self.parse_order(rawOrder, market)
1682
1682
 
1683
- async def fetch_order(self, id: str, symbol: String = None, params={}):
1683
+ async def fetch_order(self, id: str, symbol: Str = None, params={}):
1684
1684
  """
1685
1685
  :see: https://www.tokocrypto.com/apidocs/#all-orders-signed
1686
1686
  fetches information on an order made by the user
@@ -1727,7 +1727,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1727
1727
  rawOrder = self.safe_value(list, 0, {})
1728
1728
  return self.parse_order(rawOrder)
1729
1729
 
1730
- async def fetch_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1730
+ async def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1731
1731
  """
1732
1732
  :see: https://www.tokocrypto.com/apidocs/#all-orders-signed
1733
1733
  fetches information on multiple orders made by the user
@@ -1792,7 +1792,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1792
1792
  orders = self.safe_value(data, 'list', [])
1793
1793
  return self.parse_orders(orders, market, since, limit)
1794
1794
 
1795
- async def fetch_open_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1795
+ async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1796
1796
  """
1797
1797
  :see: https://www.tokocrypto.com/apidocs/#all-orders-signed
1798
1798
  fetch all unfilled currently open orders
@@ -1805,7 +1805,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1805
1805
  request = {'type': 1} # -1 = all, 1 = open, 2 = closed
1806
1806
  return await self.fetch_orders(symbol, since, limit, self.extend(request, params))
1807
1807
 
1808
- async def fetch_closed_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1808
+ async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1809
1809
  """
1810
1810
  :see: https://www.tokocrypto.com/apidocs/#all-orders-signed
1811
1811
  fetches information on multiple closed orders made by the user
@@ -1818,7 +1818,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1818
1818
  request = {'type': 2} # -1 = all, 1 = open, 2 = closed
1819
1819
  return await self.fetch_orders(symbol, since, limit, self.extend(request, params))
1820
1820
 
1821
- async def cancel_order(self, id: str, symbol: String = None, params={}):
1821
+ async def cancel_order(self, id: str, symbol: Str = None, params={}):
1822
1822
  """
1823
1823
  :see: https://www.tokocrypto.com/apidocs/#cancel-order-signed
1824
1824
  cancels an open order
@@ -1861,7 +1861,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1861
1861
  rawOrder = self.safe_value(response, 'data', {})
1862
1862
  return self.parse_order(rawOrder)
1863
1863
 
1864
- async def fetch_my_trades(self, symbol: String = None, since: Int = None, limit: Int = None, params={}):
1864
+ async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
1865
1865
  """
1866
1866
  :see: https://www.tokocrypto.com/apidocs/#account-trade-list-signed
1867
1867
  fetch all trades made by the user
@@ -1967,7 +1967,7 @@ class tokocrypto(Exchange, ImplicitAPI):
1967
1967
  'info': response,
1968
1968
  }
1969
1969
 
1970
- async def fetch_deposits(self, code: String = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1970
+ async def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1971
1971
  """
1972
1972
  :see: https://www.tokocrypto.com/apidocs/#deposit-history-signed
1973
1973
  fetch all deposits made to an account
@@ -2022,7 +2022,7 @@ class tokocrypto(Exchange, ImplicitAPI):
2022
2022
  deposits = self.safe_value(data, 'list', [])
2023
2023
  return self.parse_transactions(deposits, currency, since, limit)
2024
2024
 
2025
- async def fetch_withdrawals(self, code: String = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
2025
+ async def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
2026
2026
  """
2027
2027
  :see: https://www.tokocrypto.com/apidocs/#withdraw-signed
2028
2028
  fetch all withdrawals made from an account
@@ -2093,7 +2093,7 @@ class tokocrypto(Exchange, ImplicitAPI):
2093
2093
  statuses = self.safe_value(statusesByType, type, {})
2094
2094
  return self.safe_string(statuses, status, status)
2095
2095
 
2096
- def parse_transaction(self, transaction, currency=None) -> Transaction:
2096
+ def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
2097
2097
  #
2098
2098
  # fetchDeposits
2099
2099
  #
@@ -5,7 +5,7 @@
5
5
 
6
6
  from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.upbit import ImplicitAPI
8
- from ccxt.base.types import Balances, Int, Market, Order, OrderBook, OrderSide, OrderType, String, Strings, Ticker, Tickers, Trade, Transaction
8
+ from ccxt.base.types import Balances, Currency, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
9
9
  from typing import List
10
10
  from ccxt.base.errors import ExchangeError
11
11
  from ccxt.base.errors import PermissionDenied
@@ -592,7 +592,7 @@ class upbit(Exchange, ImplicitAPI):
592
592
  orderbooks = await self.fetch_order_books([symbol], limit, params)
593
593
  return self.safe_value(orderbooks, symbol)
594
594
 
595
- def parse_ticker(self, ticker, market=None) -> Ticker:
595
+ def parse_ticker(self, ticker, market: Market = None) -> Ticker:
596
596
  #
597
597
  # { market: "BTC-ETH",
598
598
  # "trade_date": "20181122",
@@ -718,7 +718,7 @@ class upbit(Exchange, ImplicitAPI):
718
718
  tickers = await self.fetch_tickers([symbol], params)
719
719
  return self.safe_value(tickers, symbol)
720
720
 
721
- def parse_trade(self, trade, market=None) -> Trade:
721
+ def parse_trade(self, trade, market: Market = None) -> Trade:
722
722
  #
723
723
  # fetchTrades
724
724
  #
@@ -892,7 +892,7 @@ class upbit(Exchange, ImplicitAPI):
892
892
  'tierBased': False,
893
893
  }
894
894
 
895
- def parse_ohlcv(self, ohlcv, market=None) -> list:
895
+ def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
896
896
  #
897
897
  # {
898
898
  # "market": "BTC-ETH",
@@ -1052,7 +1052,7 @@ class upbit(Exchange, ImplicitAPI):
1052
1052
  #
1053
1053
  return self.parse_order(response)
1054
1054
 
1055
- async def cancel_order(self, id: str, symbol: String = None, params={}):
1055
+ async def cancel_order(self, id: str, symbol: Str = None, params={}):
1056
1056
  """
1057
1057
  :see: https://docs.upbit.com/reference/%EC%A3%BC%EB%AC%B8-%EC%B7%A8%EC%86%8C
1058
1058
  cancels an open order
@@ -1087,7 +1087,7 @@ class upbit(Exchange, ImplicitAPI):
1087
1087
  #
1088
1088
  return self.parse_order(response)
1089
1089
 
1090
- async def fetch_deposits(self, code: String = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1090
+ async def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1091
1091
  """
1092
1092
  :see: https://docs.upbit.com/reference/%EC%9E%85%EA%B8%88-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%EC%A1%B0%ED%9A%8C
1093
1093
  fetch all deposits made to an account
@@ -1127,7 +1127,7 @@ class upbit(Exchange, ImplicitAPI):
1127
1127
  #
1128
1128
  return self.parse_transactions(response, currency, since, limit)
1129
1129
 
1130
- async def fetch_withdrawals(self, code: String = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1130
+ async def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1131
1131
  """
1132
1132
  :see: https://docs.upbit.com/reference/%EC%A0%84%EC%B2%B4-%EC%B6%9C%EA%B8%88-%EC%A1%B0%ED%9A%8C
1133
1133
  fetch all withdrawals made from an account
@@ -1180,7 +1180,7 @@ class upbit(Exchange, ImplicitAPI):
1180
1180
  }
1181
1181
  return self.safe_string(statuses, status, status)
1182
1182
 
1183
- def parse_transaction(self, transaction, currency=None) -> Transaction:
1183
+ def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
1184
1184
  #
1185
1185
  # fetchDeposits
1186
1186
  #
@@ -1260,7 +1260,7 @@ class upbit(Exchange, ImplicitAPI):
1260
1260
  }
1261
1261
  return self.safe_string(statuses, status, status)
1262
1262
 
1263
- def parse_order(self, order, market=None) -> Order:
1263
+ def parse_order(self, order, market: Market = None) -> Order:
1264
1264
  #
1265
1265
  # {
1266
1266
  # "uuid": "a08f09b1-1718-42e2-9358-f0e5e083d3ee",
@@ -1381,7 +1381,7 @@ class upbit(Exchange, ImplicitAPI):
1381
1381
  'trades': trades,
1382
1382
  })
1383
1383
 
1384
- async def fetch_orders_by_state(self, state, symbol: String = None, since: Int = None, limit: Int = None, params={}):
1384
+ async def fetch_orders_by_state(self, state, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
1385
1385
  await self.load_markets()
1386
1386
  request = {
1387
1387
  # 'market': self.market_id(symbol),
@@ -1417,7 +1417,7 @@ class upbit(Exchange, ImplicitAPI):
1417
1417
  #
1418
1418
  return self.parse_orders(response, market, since, limit)
1419
1419
 
1420
- async def fetch_open_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1420
+ async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1421
1421
  """
1422
1422
  :see: https://docs.upbit.com/reference/%EC%A3%BC%EB%AC%B8-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%EC%A1%B0%ED%9A%8C
1423
1423
  fetch all unfilled currently open orders
@@ -1429,7 +1429,7 @@ class upbit(Exchange, ImplicitAPI):
1429
1429
  """
1430
1430
  return await self.fetch_orders_by_state('wait', symbol, since, limit, params)
1431
1431
 
1432
- async def fetch_closed_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1432
+ async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1433
1433
  """
1434
1434
  :see: https://docs.upbit.com/reference/%EC%A3%BC%EB%AC%B8-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%EC%A1%B0%ED%9A%8C
1435
1435
  fetches information on multiple closed orders made by the user
@@ -1441,7 +1441,7 @@ class upbit(Exchange, ImplicitAPI):
1441
1441
  """
1442
1442
  return await self.fetch_orders_by_state('done', symbol, since, limit, params)
1443
1443
 
1444
- async def fetch_canceled_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}):
1444
+ async def fetch_canceled_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
1445
1445
  """
1446
1446
  :see: https://docs.upbit.com/reference/%EC%A3%BC%EB%AC%B8-%EB%A6%AC%EC%8A%A4%ED%8A%B8-%EC%A1%B0%ED%9A%8C
1447
1447
  fetches information on multiple canceled orders made by the user
@@ -1453,7 +1453,7 @@ class upbit(Exchange, ImplicitAPI):
1453
1453
  """
1454
1454
  return await self.fetch_orders_by_state('cancel', symbol, since, limit, params)
1455
1455
 
1456
- async def fetch_order(self, id: str, symbol: String = None, params={}):
1456
+ async def fetch_order(self, id: str, symbol: Str = None, params={}):
1457
1457
  """
1458
1458
  :see: https://docs.upbit.com/reference/%EA%B0%9C%EB%B3%84-%EC%A3%BC%EB%AC%B8-%EC%A1%B0%ED%9A%8C
1459
1459
  fetches information on an order made by the user
@@ -1542,7 +1542,7 @@ class upbit(Exchange, ImplicitAPI):
1542
1542
  #
1543
1543
  return self.parse_deposit_addresses(response, codes)
1544
1544
 
1545
- def parse_deposit_address(self, depositAddress, currency=None):
1545
+ def parse_deposit_address(self, depositAddress, currency: Currency = None):
1546
1546
  #
1547
1547
  # {
1548
1548
  # "currency": "BTC",
@@ -7,7 +7,7 @@ from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.wavesexchange import ImplicitAPI
8
8
  import asyncio
9
9
  import json
10
- from ccxt.base.types import Balances, Int, Order, OrderBook, OrderSide, OrderType, String, Strings, Ticker, Tickers, Trade, Transaction
10
+ from ccxt.base.types import Balances, Currency, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
11
11
  from typing import List
12
12
  from typing import Any
13
13
  from ccxt.base.errors import ExchangeError
@@ -745,7 +745,7 @@ class wavesexchange(Exchange, ImplicitAPI):
745
745
  return self.options['accessToken']
746
746
  return None
747
747
 
748
- def parse_ticker(self, ticker, market=None) -> Ticker:
748
+ def parse_ticker(self, ticker, market: Market = None) -> Ticker:
749
749
  #
750
750
  # {
751
751
  # "symbol": "WAVES/BTC",
@@ -982,7 +982,7 @@ class wavesexchange(Exchange, ImplicitAPI):
982
982
  result.append(ohlcvs[i])
983
983
  return result
984
984
 
985
- def parse_ohlcv(self, ohlcv, market=None) -> list:
985
+ def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
986
986
  #
987
987
  # {
988
988
  # "__type": "candle",
@@ -1388,7 +1388,7 @@ class wavesexchange(Exchange, ImplicitAPI):
1388
1388
  value = self.safe_value(response, 'message')
1389
1389
  return self.parse_order(value, market)
1390
1390
 
1391
- async def cancel_order(self, id: str, symbol: String = None, params={}):
1391
+ async def cancel_order(self, id: str, symbol: Str = None, params={}):
1392
1392
  """
1393
1393
  cancels an open order
1394
1394
  :param str id: order id
@@ -1434,7 +1434,7 @@ class wavesexchange(Exchange, ImplicitAPI):
1434
1434
  'trades': None,
1435
1435
  }
1436
1436
 
1437
- async def fetch_order(self, id: str, symbol: String = None, params={}):
1437
+ async def fetch_order(self, id: str, symbol: Str = None, params={}):
1438
1438
  """
1439
1439
  fetches information on an order made by the user
1440
1440
  :param str symbol: unified symbol of the market the order was made in
@@ -1464,7 +1464,7 @@ class wavesexchange(Exchange, ImplicitAPI):
1464
1464
  response = await self.matcherGetMatcherOrderbookPublicKeyOrderId(self.extend(request, params))
1465
1465
  return self.parse_order(response, market)
1466
1466
 
1467
- async def fetch_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1467
+ async def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1468
1468
  """
1469
1469
  fetches information on multiple orders made by the user
1470
1470
  :param str symbol: unified market symbol of the market orders were made in
@@ -1512,7 +1512,7 @@ class wavesexchange(Exchange, ImplicitAPI):
1512
1512
  # "avgWeighedPrice": 0}, ...]
1513
1513
  return self.parse_orders(response, market, since, limit)
1514
1514
 
1515
- async def fetch_open_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1515
+ async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1516
1516
  """
1517
1517
  fetch all unfilled currently open orders
1518
1518
  :param str symbol: unified market symbol
@@ -1534,7 +1534,7 @@ class wavesexchange(Exchange, ImplicitAPI):
1534
1534
  response = await self.forwardGetMatcherOrdersAddress(request)
1535
1535
  return self.parse_orders(response, market, since, limit)
1536
1536
 
1537
- async def fetch_closed_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1537
+ async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1538
1538
  """
1539
1539
  fetches information on multiple closed orders made by the user
1540
1540
  :param str symbol: unified market symbol of the market orders were made in
@@ -1591,7 +1591,7 @@ class wavesexchange(Exchange, ImplicitAPI):
1591
1591
  quoteId = self.safe_string(assetPair, 'priceAsset', 'WAVES')
1592
1592
  return self.safe_currency_code(baseId) + '/' + self.safe_currency_code(quoteId)
1593
1593
 
1594
- def parse_order(self, order, market=None) -> Order:
1594
+ def parse_order(self, order, market: Market = None) -> Order:
1595
1595
  #
1596
1596
  # createOrder
1597
1597
  #
@@ -1864,7 +1864,7 @@ class wavesexchange(Exchange, ImplicitAPI):
1864
1864
  result['datetime'] = self.iso8601(timestamp)
1865
1865
  return self.safe_balance(result)
1866
1866
 
1867
- async def fetch_my_trades(self, symbol: String = None, since: Int = None, limit: Int = None, params={}):
1867
+ async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
1868
1868
  """
1869
1869
  fetch all trades made by the user
1870
1870
  :param str symbol: unified market symbol
@@ -2042,7 +2042,7 @@ class wavesexchange(Exchange, ImplicitAPI):
2042
2042
  #
2043
2043
  return self.parse_trades(data, market, since, limit)
2044
2044
 
2045
- def parse_trade(self, trade, market=None) -> Trade:
2045
+ def parse_trade(self, trade, market: Market = None) -> Trade:
2046
2046
  #
2047
2047
  # {__type: "transaction",
2048
2048
  # "data":
@@ -2411,7 +2411,7 @@ class wavesexchange(Exchange, ImplicitAPI):
2411
2411
  #
2412
2412
  return self.parse_transaction(result, currency)
2413
2413
 
2414
- def parse_transaction(self, transaction, currency=None) -> Transaction:
2414
+ def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
2415
2415
  #
2416
2416
  # withdraw
2417
2417
  #
@@ -6,7 +6,7 @@
6
6
  from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.wazirx import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Int, Market, Order, OrderBook, OrderSide, OrderType, String, Strings, Ticker, Tickers, Trade
9
+ from ccxt.base.types import Balances, Int, Market, Order, OrderBook, OrderSide, OrderType, Num, Str, Strings, Ticker, Tickers, Trade
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import PermissionDenied
@@ -229,16 +229,16 @@ class wazirx(Exchange, ImplicitAPI):
229
229
  quote = self.safe_currency_code(quoteId)
230
230
  isSpot = self.safe_value(market, 'isSpotTradingAllowed')
231
231
  filters = self.safe_value(market, 'filters')
232
- minPrice = None
232
+ minPrice: Num = None
233
233
  for j in range(0, len(filters)):
234
234
  filter = filters[j]
235
235
  filterType = self.safe_string(filter, 'filterType')
236
236
  if filterType == 'PRICE_FILTER':
237
237
  minPrice = self.safe_number(filter, 'minPrice')
238
238
  fee = self.safe_value(self.fees, quote, {})
239
- takerString = self.safe_string(fee, 'taker', '0.2')
239
+ takerString: Str = self.safe_string(fee, 'taker', '0.2')
240
240
  takerString = Precise.string_div(takerString, '100')
241
- makerString = self.safe_string(fee, 'maker', '0.2')
241
+ makerString: Str = self.safe_string(fee, 'maker', '0.2')
242
242
  makerString = Precise.string_div(makerString, '100')
243
243
  status = self.safe_string(market, 'status')
244
244
  return {
@@ -328,7 +328,7 @@ class wazirx(Exchange, ImplicitAPI):
328
328
  #
329
329
  return self.parse_ohlcvs(response, market, timeframe, since, limit)
330
330
 
331
- def parse_ohlcv(self, ohlcv, market=None) -> list:
331
+ def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
332
332
  #
333
333
  # [1669014300,1402001,1402001,1402001,1402001,0],
334
334
  #
@@ -471,7 +471,7 @@ class wazirx(Exchange, ImplicitAPI):
471
471
  # ]
472
472
  return self.parse_trades(response, market, since, limit)
473
473
 
474
- def parse_trade(self, trade, market=None) -> Trade:
474
+ def parse_trade(self, trade, market: Market = None) -> Trade:
475
475
  #
476
476
  # {
477
477
  # "id":322307791,
@@ -545,7 +545,7 @@ class wazirx(Exchange, ImplicitAPI):
545
545
  #
546
546
  return self.safe_integer(response, 'serverTime')
547
547
 
548
- def parse_ticker(self, ticker, market=None) -> Ticker:
548
+ def parse_ticker(self, ticker, market: Market = None) -> Ticker:
549
549
  #
550
550
  # {
551
551
  # "symbol":"btcinr",
@@ -627,7 +627,7 @@ class wazirx(Exchange, ImplicitAPI):
627
627
  #
628
628
  return self.parse_balance(response)
629
629
 
630
- async def fetch_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
630
+ async def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
631
631
  """
632
632
  :see: https://docs.wazirx.com/#all-orders-user_data
633
633
  fetches information on multiple orders made by the user
@@ -681,7 +681,7 @@ class wazirx(Exchange, ImplicitAPI):
681
681
  orders = self.filter_by(orders, 'symbol', symbol)
682
682
  return orders
683
683
 
684
- async def fetch_open_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
684
+ async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
685
685
  """
686
686
  :see: https://docs.wazirx.com/#current-open-orders-user_data
687
687
  fetch all unfilled currently open orders
@@ -693,7 +693,7 @@ class wazirx(Exchange, ImplicitAPI):
693
693
  """
694
694
  await self.load_markets()
695
695
  request = {}
696
- market = None
696
+ market: Market = None
697
697
  if symbol is not None:
698
698
  market = self.market(symbol)
699
699
  request['symbol'] = market['id']
@@ -728,7 +728,7 @@ class wazirx(Exchange, ImplicitAPI):
728
728
  orders = self.parse_orders(response, market, since, limit)
729
729
  return orders
730
730
 
731
- async def cancel_all_orders(self, symbol: String = None, params={}):
731
+ async def cancel_all_orders(self, symbol: Str = None, params={}):
732
732
  """
733
733
  :see: https://docs.wazirx.com/#cancel-all-open-orders-on-a-symbol-trade
734
734
  cancel all open orders in a market
@@ -744,7 +744,7 @@ class wazirx(Exchange, ImplicitAPI):
744
744
  }
745
745
  return await self.privateDeleteOpenOrders(self.extend(request, params))
746
746
 
747
- async def cancel_order(self, id: str, symbol: String = None, params={}):
747
+ async def cancel_order(self, id: str, symbol: Str = None, params={}):
748
748
  """
749
749
  :see: https://docs.wazirx.com/#cancel-order-trade
750
750
  cancels an open order
@@ -808,7 +808,7 @@ class wazirx(Exchange, ImplicitAPI):
808
808
  # }
809
809
  return self.parse_order(response, market)
810
810
 
811
- def parse_order(self, order, market=None) -> Order:
811
+ def parse_order(self, order, market: Market = None) -> Order:
812
812
  # {
813
813
  # "id":1949417813,
814
814
  # "symbol":"ltcusdt",