ccxt 4.3.30__py2.py3-none-any.whl → 4.3.31__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.
Files changed (258) hide show
  1. ccxt/__init__.py +1 -1
  2. ccxt/abstract/binance.py +2 -0
  3. ccxt/abstract/binancecoinm.py +2 -0
  4. ccxt/abstract/binanceus.py +2 -0
  5. ccxt/abstract/binanceusdm.py +2 -0
  6. ccxt/ace.py +14 -14
  7. ccxt/alpaca.py +16 -16
  8. ccxt/ascendex.py +46 -46
  9. ccxt/async_support/__init__.py +1 -1
  10. ccxt/async_support/ace.py +14 -14
  11. ccxt/async_support/alpaca.py +16 -16
  12. ccxt/async_support/ascendex.py +46 -46
  13. ccxt/async_support/base/exchange.py +23 -23
  14. ccxt/async_support/bigone.py +32 -32
  15. ccxt/async_support/binance.py +105 -96
  16. ccxt/async_support/bingx.py +21 -21
  17. ccxt/async_support/bit2c.py +13 -13
  18. ccxt/async_support/bitbank.py +19 -19
  19. ccxt/async_support/bitbns.py +17 -17
  20. ccxt/async_support/bitfinex.py +24 -24
  21. ccxt/async_support/bitfinex2.py +142 -109
  22. ccxt/async_support/bitflyer.py +23 -23
  23. ccxt/async_support/bitget.py +76 -76
  24. ccxt/async_support/bithumb.py +20 -20
  25. ccxt/async_support/bitmart.py +55 -55
  26. ccxt/async_support/bitmex.py +41 -41
  27. ccxt/async_support/bitopro.py +30 -30
  28. ccxt/async_support/bitrue.py +37 -37
  29. ccxt/async_support/bitso.py +30 -30
  30. ccxt/async_support/bitstamp.py +31 -31
  31. ccxt/async_support/bitteam.py +26 -26
  32. ccxt/async_support/bitvavo.py +27 -27
  33. ccxt/async_support/bl3p.py +8 -8
  34. ccxt/async_support/blockchaincom.py +24 -24
  35. ccxt/async_support/blofin.py +37 -37
  36. ccxt/async_support/btcalpha.py +19 -19
  37. ccxt/async_support/btcbox.py +11 -11
  38. ccxt/async_support/btcmarkets.py +22 -22
  39. ccxt/async_support/btcturk.py +13 -13
  40. ccxt/async_support/bybit.py +96 -96
  41. ccxt/async_support/cex.py +21 -21
  42. ccxt/async_support/coinbase.py +53 -53
  43. ccxt/async_support/coinbaseexchange.py +29 -29
  44. ccxt/async_support/coinbaseinternational.py +32 -32
  45. ccxt/async_support/coincheck.py +14 -14
  46. ccxt/async_support/coinex.py +168 -139
  47. ccxt/async_support/coinlist.py +35 -35
  48. ccxt/async_support/coinmate.py +22 -22
  49. ccxt/async_support/coinmetro.py +22 -22
  50. ccxt/async_support/coinone.py +18 -18
  51. ccxt/async_support/coinsph.py +32 -32
  52. ccxt/async_support/coinspot.py +8 -8
  53. ccxt/async_support/cryptocom.py +43 -43
  54. ccxt/async_support/currencycom.py +33 -33
  55. ccxt/async_support/delta.py +35 -35
  56. ccxt/async_support/deribit.py +54 -54
  57. ccxt/async_support/digifinex.py +56 -56
  58. ccxt/async_support/exmo.py +34 -34
  59. ccxt/async_support/gate.py +60 -60
  60. ccxt/async_support/gemini.py +24 -24
  61. ccxt/async_support/hitbtc.py +51 -51
  62. ccxt/async_support/hollaex.py +29 -29
  63. ccxt/async_support/htx.py +73 -73
  64. ccxt/async_support/huobijp.py +30 -30
  65. ccxt/async_support/hyperliquid.py +58 -58
  66. ccxt/async_support/idex.py +33 -33
  67. ccxt/async_support/independentreserve.py +12 -12
  68. ccxt/async_support/indodax.py +21 -21
  69. ccxt/async_support/kraken.py +46 -51
  70. ccxt/async_support/krakenfutures.py +29 -29
  71. ccxt/async_support/kucoin.py +51 -51
  72. ccxt/async_support/kucoinfutures.py +33 -33
  73. ccxt/async_support/kuna.py +27 -27
  74. ccxt/async_support/latoken.py +27 -27
  75. ccxt/async_support/lbank.py +35 -35
  76. ccxt/async_support/luno.py +19 -19
  77. ccxt/async_support/lykke.py +20 -20
  78. ccxt/async_support/mercado.py +17 -17
  79. ccxt/async_support/mexc.py +64 -64
  80. ccxt/async_support/ndax.py +38 -38
  81. ccxt/async_support/novadax.py +26 -26
  82. ccxt/async_support/oceanex.py +21 -21
  83. ccxt/async_support/okcoin.py +35 -35
  84. ccxt/async_support/okx.py +85 -85
  85. ccxt/async_support/onetrading.py +32 -32
  86. ccxt/async_support/p2b.py +14 -14
  87. ccxt/async_support/paymium.py +12 -12
  88. ccxt/async_support/phemex.py +50 -50
  89. ccxt/async_support/poloniex.py +35 -35
  90. ccxt/async_support/poloniexfutures.py +25 -21
  91. ccxt/async_support/probit.py +30 -30
  92. ccxt/async_support/timex.py +22 -22
  93. ccxt/async_support/tokocrypto.py +26 -26
  94. ccxt/async_support/tradeogre.py +12 -12
  95. ccxt/async_support/upbit.py +28 -28
  96. ccxt/async_support/wavesexchange.py +33 -33
  97. ccxt/async_support/wazirx.py +21 -21
  98. ccxt/async_support/whitebit.py +37 -37
  99. ccxt/async_support/woo.py +51 -51
  100. ccxt/async_support/woofipro.py +46 -46
  101. ccxt/async_support/yobit.py +20 -20
  102. ccxt/async_support/zaif.py +12 -12
  103. ccxt/async_support/zonda.py +22 -22
  104. ccxt/base/exchange.py +35 -35
  105. ccxt/base/types.py +13 -0
  106. ccxt/bigone.py +32 -32
  107. ccxt/binance.py +105 -96
  108. ccxt/bingx.py +21 -21
  109. ccxt/bit2c.py +13 -13
  110. ccxt/bitbank.py +19 -19
  111. ccxt/bitbns.py +17 -17
  112. ccxt/bitfinex.py +24 -24
  113. ccxt/bitfinex2.py +142 -109
  114. ccxt/bitflyer.py +23 -23
  115. ccxt/bitget.py +76 -76
  116. ccxt/bithumb.py +20 -20
  117. ccxt/bitmart.py +55 -55
  118. ccxt/bitmex.py +41 -41
  119. ccxt/bitopro.py +30 -30
  120. ccxt/bitrue.py +37 -37
  121. ccxt/bitso.py +30 -30
  122. ccxt/bitstamp.py +31 -31
  123. ccxt/bitteam.py +26 -26
  124. ccxt/bitvavo.py +27 -27
  125. ccxt/bl3p.py +8 -8
  126. ccxt/blockchaincom.py +24 -24
  127. ccxt/blofin.py +37 -37
  128. ccxt/btcalpha.py +19 -19
  129. ccxt/btcbox.py +11 -11
  130. ccxt/btcmarkets.py +22 -22
  131. ccxt/btcturk.py +13 -13
  132. ccxt/bybit.py +96 -96
  133. ccxt/cex.py +21 -21
  134. ccxt/coinbase.py +53 -53
  135. ccxt/coinbaseexchange.py +29 -29
  136. ccxt/coinbaseinternational.py +32 -32
  137. ccxt/coincheck.py +14 -14
  138. ccxt/coinex.py +168 -139
  139. ccxt/coinlist.py +35 -35
  140. ccxt/coinmate.py +22 -22
  141. ccxt/coinmetro.py +22 -22
  142. ccxt/coinone.py +18 -18
  143. ccxt/coinsph.py +32 -32
  144. ccxt/coinspot.py +8 -8
  145. ccxt/cryptocom.py +43 -43
  146. ccxt/currencycom.py +33 -33
  147. ccxt/delta.py +35 -35
  148. ccxt/deribit.py +54 -54
  149. ccxt/digifinex.py +56 -56
  150. ccxt/exmo.py +34 -34
  151. ccxt/gate.py +60 -60
  152. ccxt/gemini.py +24 -24
  153. ccxt/hitbtc.py +51 -51
  154. ccxt/hollaex.py +29 -29
  155. ccxt/htx.py +73 -73
  156. ccxt/huobijp.py +30 -30
  157. ccxt/hyperliquid.py +58 -58
  158. ccxt/idex.py +33 -33
  159. ccxt/independentreserve.py +12 -12
  160. ccxt/indodax.py +21 -21
  161. ccxt/kraken.py +46 -51
  162. ccxt/krakenfutures.py +29 -29
  163. ccxt/kucoin.py +51 -51
  164. ccxt/kucoinfutures.py +33 -33
  165. ccxt/kuna.py +27 -27
  166. ccxt/latoken.py +27 -27
  167. ccxt/lbank.py +35 -35
  168. ccxt/luno.py +19 -19
  169. ccxt/lykke.py +20 -20
  170. ccxt/mercado.py +17 -17
  171. ccxt/mexc.py +64 -64
  172. ccxt/ndax.py +38 -38
  173. ccxt/novadax.py +26 -26
  174. ccxt/oceanex.py +21 -21
  175. ccxt/okcoin.py +35 -35
  176. ccxt/okx.py +85 -85
  177. ccxt/onetrading.py +32 -32
  178. ccxt/p2b.py +14 -14
  179. ccxt/paymium.py +12 -12
  180. ccxt/phemex.py +50 -50
  181. ccxt/poloniex.py +35 -35
  182. ccxt/poloniexfutures.py +25 -21
  183. ccxt/pro/__init__.py +1 -1
  184. ccxt/pro/alpaca.py +8 -8
  185. ccxt/pro/ascendex.py +4 -4
  186. ccxt/pro/binance.py +56 -56
  187. ccxt/pro/bingx.py +5 -5
  188. ccxt/pro/bitfinex.py +6 -6
  189. ccxt/pro/bitfinex2.py +10 -10
  190. ccxt/pro/bitget.py +17 -17
  191. ccxt/pro/bithumb.py +6 -6
  192. ccxt/pro/bitmart.py +8 -8
  193. ccxt/pro/bitmex.py +16 -16
  194. ccxt/pro/bitopro.py +4 -4
  195. ccxt/pro/bitrue.py +8 -8
  196. ccxt/pro/bitstamp.py +5 -5
  197. ccxt/pro/bitvavo.py +14 -14
  198. ccxt/pro/blockchaincom.py +7 -7
  199. ccxt/pro/bybit.py +12 -12
  200. ccxt/pro/cex.py +19 -19
  201. ccxt/pro/coinbase.py +2 -2
  202. ccxt/pro/coinbaseexchange.py +10 -10
  203. ccxt/pro/coinbaseinternational.py +4 -4
  204. ccxt/pro/coincheck.py +2 -2
  205. ccxt/pro/coinex.py +15 -15
  206. ccxt/pro/coinone.py +4 -4
  207. ccxt/pro/cryptocom.py +11 -11
  208. ccxt/pro/currencycom.py +4 -4
  209. ccxt/pro/deribit.py +9 -9
  210. ccxt/pro/exmo.py +9 -9
  211. ccxt/pro/gate.py +12 -12
  212. ccxt/pro/gemini.py +11 -11
  213. ccxt/pro/hitbtc.py +13 -13
  214. ccxt/pro/hollaex.py +6 -6
  215. ccxt/pro/htx.py +15 -15
  216. ccxt/pro/huobijp.py +16 -16
  217. ccxt/pro/hyperliquid.py +9 -9
  218. ccxt/pro/idex.py +12 -12
  219. ccxt/pro/independentreserve.py +2 -2
  220. ccxt/pro/kraken.py +14 -14
  221. ccxt/pro/krakenfutures.py +12 -12
  222. ccxt/pro/kucoin.py +12 -12
  223. ccxt/pro/kucoinfutures.py +16 -16
  224. ccxt/pro/lbank.py +12 -12
  225. ccxt/pro/luno.py +4 -4
  226. ccxt/pro/mexc.py +14 -14
  227. ccxt/pro/ndax.py +12 -12
  228. ccxt/pro/okcoin.py +6 -6
  229. ccxt/pro/okx.py +30 -30
  230. ccxt/pro/onetrading.py +13 -13
  231. ccxt/pro/p2b.py +2 -2
  232. ccxt/pro/phemex.py +9 -9
  233. ccxt/pro/poloniex.py +9 -9
  234. ccxt/pro/poloniexfutures.py +10 -10
  235. ccxt/pro/probit.py +8 -8
  236. ccxt/pro/upbit.py +1 -1
  237. ccxt/pro/wazirx.py +10 -10
  238. ccxt/pro/whitebit.py +8 -8
  239. ccxt/pro/woo.py +14 -14
  240. ccxt/pro/woofipro.py +14 -14
  241. ccxt/probit.py +30 -30
  242. ccxt/test/base/test_shared_methods.py +1 -0
  243. ccxt/timex.py +22 -22
  244. ccxt/tokocrypto.py +26 -26
  245. ccxt/tradeogre.py +12 -12
  246. ccxt/upbit.py +28 -28
  247. ccxt/wavesexchange.py +33 -33
  248. ccxt/wazirx.py +21 -21
  249. ccxt/whitebit.py +37 -37
  250. ccxt/woo.py +51 -51
  251. ccxt/woofipro.py +46 -46
  252. ccxt/yobit.py +20 -20
  253. ccxt/zaif.py +12 -12
  254. ccxt/zonda.py +22 -22
  255. {ccxt-4.3.30.dist-info → ccxt-4.3.31.dist-info}/METADATA +4 -4
  256. {ccxt-4.3.30.dist-info → ccxt-4.3.31.dist-info}/RECORD +258 -258
  257. {ccxt-4.3.30.dist-info → ccxt-4.3.31.dist-info}/WHEEL +0 -0
  258. {ccxt-4.3.30.dist-info → ccxt-4.3.31.dist-info}/top_level.txt +0 -0
@@ -361,14 +361,14 @@ class huobijp(Exchange, ImplicitAPI):
361
361
  await self.load_markets()
362
362
  if symbols is None:
363
363
  symbols = self.symbols
364
- result = {}
364
+ result: dict = {}
365
365
  for i in range(0, len(symbols)):
366
366
  symbol = symbols[i]
367
367
  result[symbol] = await self.fetch_trading_limits_by_id(self.market_id(symbol), params)
368
368
  return result
369
369
 
370
370
  async def fetch_trading_limits_by_id(self, id: str, params={}):
371
- request = {
371
+ request: dict = {
372
372
  'symbol': id,
373
373
  }
374
374
  response = await self.publicGetCommonExchange(self.extend(request, params))
@@ -621,7 +621,7 @@ class huobijp(Exchange, ImplicitAPI):
621
621
  """
622
622
  await self.load_markets()
623
623
  market = self.market(symbol)
624
- request = {
624
+ request: dict = {
625
625
  'symbol': market['id'],
626
626
  'type': 'step0',
627
627
  }
@@ -666,7 +666,7 @@ class huobijp(Exchange, ImplicitAPI):
666
666
  """
667
667
  await self.load_markets()
668
668
  market = self.market(symbol)
669
- request = {
669
+ request: dict = {
670
670
  'symbol': market['id'],
671
671
  }
672
672
  response = await self.marketGetDetailMerged(self.extend(request, params))
@@ -708,7 +708,7 @@ class huobijp(Exchange, ImplicitAPI):
708
708
  response = await self.marketGetTickers(params)
709
709
  tickers = self.safe_value(response, 'data', [])
710
710
  timestamp = self.safe_integer(response, 'ts')
711
- result = {}
711
+ result: dict = {}
712
712
  for i in range(0, len(tickers)):
713
713
  marketId = self.safe_string(tickers[i], 'symbol')
714
714
  market = self.safe_market(marketId)
@@ -719,7 +719,7 @@ class huobijp(Exchange, ImplicitAPI):
719
719
  result[symbol] = ticker
720
720
  return self.filter_by_array_tickers(result, 'symbol', symbols)
721
721
 
722
- def parse_trade(self, trade, market: Market = None) -> Trade:
722
+ def parse_trade(self, trade: dict, market: Market = None) -> Trade:
723
723
  #
724
724
  # fetchTrades(public)
725
725
  #
@@ -808,7 +808,7 @@ class huobijp(Exchange, ImplicitAPI):
808
808
  :returns dict[]: a list of `trade structures <https://docs.ccxt.com/#/?id=trade-structure>`
809
809
  """
810
810
  await self.load_markets()
811
- request = {
811
+ request: dict = {
812
812
  'id': id,
813
813
  }
814
814
  response = await self.privateGetOrderOrdersIdMatchresults(self.extend(request, params))
@@ -825,7 +825,7 @@ class huobijp(Exchange, ImplicitAPI):
825
825
  """
826
826
  await self.load_markets()
827
827
  market = None
828
- request = {}
828
+ request: dict = {}
829
829
  if symbol is not None:
830
830
  market = self.market(symbol)
831
831
  request['symbol'] = market['id']
@@ -848,7 +848,7 @@ class huobijp(Exchange, ImplicitAPI):
848
848
  """
849
849
  await self.load_markets()
850
850
  market = self.market(symbol)
851
- request = {
851
+ request: dict = {
852
852
  'symbol': market['id'],
853
853
  }
854
854
  if limit is not None:
@@ -922,7 +922,7 @@ class huobijp(Exchange, ImplicitAPI):
922
922
  """
923
923
  await self.load_markets()
924
924
  market = self.market(symbol)
925
- request = {
925
+ request: dict = {
926
926
  'symbol': market['id'],
927
927
  'period': self.safe_string(self.timeframes, timeframe, timeframe),
928
928
  }
@@ -960,7 +960,7 @@ class huobijp(Exchange, ImplicitAPI):
960
960
  :param dict [params]: extra parameters specific to the exchange API endpoint
961
961
  :returns dict: an associative dictionary of currencies
962
962
  """
963
- request = {
963
+ request: dict = {
964
964
  'language': self.options['language'],
965
965
  }
966
966
  response = await self.publicGetSettingsCurrencys(self.extend(request, params))
@@ -1005,7 +1005,7 @@ class huobijp(Exchange, ImplicitAPI):
1005
1005
  # }
1006
1006
  #
1007
1007
  currencies = self.safe_value(response, 'data', [])
1008
- result = {}
1008
+ result: dict = {}
1009
1009
  for i in range(0, len(currencies)):
1010
1010
  currency = currencies[i]
1011
1011
  id = self.safe_value(currency, 'name')
@@ -1051,7 +1051,7 @@ class huobijp(Exchange, ImplicitAPI):
1051
1051
 
1052
1052
  def parse_balance(self, response) -> Balances:
1053
1053
  balances = self.safe_value(response['data'], 'list', [])
1054
- result = {'info': response}
1054
+ result: dict = {'info': response}
1055
1055
  for i in range(0, len(balances)):
1056
1056
  balance = balances[i]
1057
1057
  currencyId = self.safe_string(balance, 'currency')
@@ -1077,7 +1077,7 @@ class huobijp(Exchange, ImplicitAPI):
1077
1077
  await self.load_markets()
1078
1078
  await self.load_accounts()
1079
1079
  method = self.options['fetchBalanceMethod']
1080
- request = {
1080
+ request: dict = {
1081
1081
  'id': self.accounts[0]['id'],
1082
1082
  }
1083
1083
  response = await getattr(self, method)(self.extend(request, params))
@@ -1085,7 +1085,7 @@ class huobijp(Exchange, ImplicitAPI):
1085
1085
 
1086
1086
  async def fetch_orders_by_states(self, states, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
1087
1087
  await self.load_markets()
1088
- request = {
1088
+ request: dict = {
1089
1089
  'states': states,
1090
1090
  }
1091
1091
  market = None
@@ -1121,7 +1121,7 @@ class huobijp(Exchange, ImplicitAPI):
1121
1121
  :returns dict: An `order structure <https://docs.ccxt.com/#/?id=order-structure>`
1122
1122
  """
1123
1123
  await self.load_markets()
1124
- request = {
1124
+ request: dict = {
1125
1125
  'id': id,
1126
1126
  }
1127
1127
  response = await self.privateGetOrderOrdersId(self.extend(request, params))
@@ -1169,7 +1169,7 @@ class huobijp(Exchange, ImplicitAPI):
1169
1169
 
1170
1170
  async def fetch_open_orders_v2(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
1171
1171
  await self.load_markets()
1172
- request = {}
1172
+ request: dict = {}
1173
1173
  market = None
1174
1174
  if symbol is not None:
1175
1175
  market = self.market(symbol)
@@ -1213,8 +1213,8 @@ class huobijp(Exchange, ImplicitAPI):
1213
1213
  data = self.safe_list(response, 'data', [])
1214
1214
  return self.parse_orders(data, market, since, limit)
1215
1215
 
1216
- def parse_order_status(self, status):
1217
- statuses = {
1216
+ def parse_order_status(self, status: Str):
1217
+ statuses: dict = {
1218
1218
  'partial-filled': 'open',
1219
1219
  'partial-canceled': 'canceled',
1220
1220
  'filled': 'closed',
@@ -1223,7 +1223,7 @@ class huobijp(Exchange, ImplicitAPI):
1223
1223
  }
1224
1224
  return self.safe_string(statuses, status, status)
1225
1225
 
1226
- def parse_order(self, order, market: Market = None) -> Order:
1226
+ def parse_order(self, order: dict, market: Market = None) -> Order:
1227
1227
  #
1228
1228
  # { id: 13997833014,
1229
1229
  # "symbol": "ethbtc",
@@ -1334,7 +1334,7 @@ class huobijp(Exchange, ImplicitAPI):
1334
1334
  await self.load_markets()
1335
1335
  await self.load_accounts()
1336
1336
  market = self.market(symbol)
1337
- request = {
1337
+ request: dict = {
1338
1338
  'account-id': self.accounts[0]['id'],
1339
1339
  'symbol': market['id'],
1340
1340
  'type': side + '-' + type,
@@ -1430,7 +1430,7 @@ class huobijp(Exchange, ImplicitAPI):
1430
1430
  await self.load_markets()
1431
1431
  clientOrderIds = self.safe_value_2(params, 'clientOrderIds', 'client-order-ids')
1432
1432
  params = self.omit(params, ['clientOrderIds', 'client-order-ids'])
1433
- request = {}
1433
+ request: dict = {}
1434
1434
  if clientOrderIds is None:
1435
1435
  request['order-ids'] = ids
1436
1436
  else:
@@ -1478,7 +1478,7 @@ class huobijp(Exchange, ImplicitAPI):
1478
1478
  :returns dict[]: a list of `order structures <https://docs.ccxt.com/#/?id=order-structure>`
1479
1479
  """
1480
1480
  await self.load_markets()
1481
- request = {
1481
+ request: dict = {
1482
1482
  # 'account-id' string False NA The account id used for self cancel Refer to GET /v1/account/accounts
1483
1483
  # 'symbol': market['id'], # a list of comma-separated symbols, all symbols by default
1484
1484
  # 'types' 'string', buy-market, sell-market, buy-limit, sell-limit, buy-ioc, sell-ioc, buy-stop-limit, sell-stop-limit, buy-limit-fok, sell-limit-fok, buy-stop-limit-fok, sell-stop-limit-fok
@@ -1510,7 +1510,7 @@ class huobijp(Exchange, ImplicitAPI):
1510
1510
  lastCharacter = networkId[lastCharacterIndex]
1511
1511
  if lastCharacter == '1':
1512
1512
  networkId = networkId[0:lastCharacterIndex]
1513
- networksById = {}
1513
+ networksById: dict = {}
1514
1514
  return self.safe_string(networksById, networkId, networkId)
1515
1515
 
1516
1516
  def parse_deposit_address(self, depositAddress, currency: Currency = None):
@@ -1556,7 +1556,7 @@ class huobijp(Exchange, ImplicitAPI):
1556
1556
  currency = None
1557
1557
  if code is not None:
1558
1558
  currency = self.currency(code)
1559
- request = {
1559
+ request: dict = {
1560
1560
  'type': 'deposit',
1561
1561
  'from': 0, # From 'id' ... if you want to get results after a particular transaction id, pass the id in params.from
1562
1562
  }
@@ -1583,7 +1583,7 @@ class huobijp(Exchange, ImplicitAPI):
1583
1583
  currency = None
1584
1584
  if code is not None:
1585
1585
  currency = self.currency(code)
1586
- request = {
1586
+ request: dict = {
1587
1587
  'type': 'withdraw',
1588
1588
  'from': 0, # From 'id' ... if you want to get results after a particular transaction id, pass the id in params.from
1589
1589
  }
@@ -1595,7 +1595,7 @@ class huobijp(Exchange, ImplicitAPI):
1595
1595
  # return response
1596
1596
  return self.parse_transactions(response['data'], currency, since, limit)
1597
1597
 
1598
- def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
1598
+ def parse_transaction(self, transaction: dict, currency: Currency = None) -> Transaction:
1599
1599
  #
1600
1600
  # fetchDeposits
1601
1601
  #
@@ -1674,7 +1674,7 @@ class huobijp(Exchange, ImplicitAPI):
1674
1674
  }
1675
1675
 
1676
1676
  def parse_transaction_status(self, status):
1677
- statuses = {
1677
+ statuses: dict = {
1678
1678
  # deposit statuses
1679
1679
  'unknown': 'failed',
1680
1680
  'confirming': 'pending',
@@ -1710,7 +1710,7 @@ class huobijp(Exchange, ImplicitAPI):
1710
1710
  await self.load_markets()
1711
1711
  self.check_address(address)
1712
1712
  currency = self.currency(code)
1713
- request = {
1713
+ request: dict = {
1714
1714
  'address': address, # only supports existing addresses in your withdraw address list
1715
1715
  'amount': amount,
1716
1716
  'currency': currency['id'].lower(),
@@ -1749,7 +1749,7 @@ class huobijp(Exchange, ImplicitAPI):
1749
1749
  if api == 'private' or api == 'v2Private':
1750
1750
  self.check_required_credentials()
1751
1751
  timestamp = self.ymdhms(self.milliseconds(), 'T')
1752
- request = {
1752
+ request: dict = {
1753
1753
  'SignatureMethod': 'HmacSHA256',
1754
1754
  'SignatureVersion': '2',
1755
1755
  'AccessKeyId': self.apiKey,