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
ccxt/coinex.py CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.coinex import ImplicitAPI
8
- from ccxt.base.types import Balances, Int, Order, OrderSide, OrderType, String, Strings, Ticker, Tickers, Trade, Transaction
8
+ from ccxt.base.types import Balances, Currency, Int, Market, Order, 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
@@ -69,8 +69,8 @@ class coinex(Exchange, ImplicitAPI):
69
69
  'fetchDepositAddressByNetwork': False,
70
70
  'fetchDepositAddresses': False,
71
71
  'fetchDeposits': True,
72
+ 'fetchDepositWithdrawFee': 'emulated',
72
73
  'fetchDepositWithdrawFees': True,
73
- 'fetchDepsoitWithdrawFee': 'emulated',
74
74
  'fetchFundingHistory': True,
75
75
  'fetchFundingRate': True,
76
76
  'fetchFundingRateHistory': True,
@@ -658,7 +658,7 @@ class coinex(Exchange, ImplicitAPI):
658
658
  })
659
659
  return result
660
660
 
661
- def parse_ticker(self, ticker, market=None) -> Ticker:
661
+ def parse_ticker(self, ticker, market: Market = None) -> Ticker:
662
662
  #
663
663
  # Spot fetchTicker, fetchTickers
664
664
  #
@@ -973,7 +973,7 @@ class coinex(Exchange, ImplicitAPI):
973
973
  timestamp = self.safe_integer(result, 'time')
974
974
  return self.parse_order_book(result, symbol, timestamp)
975
975
 
976
- def parse_trade(self, trade, market=None) -> Trade:
976
+ def parse_trade(self, trade, market: Market = None) -> Trade:
977
977
  #
978
978
  # Spot and Swap fetchTrades(public)
979
979
  #
@@ -1195,7 +1195,7 @@ class coinex(Exchange, ImplicitAPI):
1195
1195
  result[symbol] = self.parse_trading_fee(fee, market)
1196
1196
  return result
1197
1197
 
1198
- def parse_trading_fee(self, fee, market=None):
1198
+ def parse_trading_fee(self, fee, market: Market = None):
1199
1199
  marketId = self.safe_value(fee, 'name')
1200
1200
  symbol = self.safe_symbol(marketId, market)
1201
1201
  return {
@@ -1207,7 +1207,7 @@ class coinex(Exchange, ImplicitAPI):
1207
1207
  'tierBased': True,
1208
1208
  }
1209
1209
 
1210
- def parse_ohlcv(self, ohlcv, market=None) -> list:
1210
+ def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
1211
1211
  #
1212
1212
  # [
1213
1213
  # 1591484400,
@@ -1496,7 +1496,7 @@ class coinex(Exchange, ImplicitAPI):
1496
1496
  }
1497
1497
  return self.safe_string(statuses, status, status)
1498
1498
 
1499
- def parse_order(self, order, market=None) -> Order:
1499
+ def parse_order(self, order, market: Market = None) -> Order:
1500
1500
  #
1501
1501
  # fetchOrder
1502
1502
  #
@@ -2077,7 +2077,7 @@ class coinex(Exchange, ImplicitAPI):
2077
2077
  data = self.safe_value(response, 'data', {})
2078
2078
  return self.parse_order(data, market)
2079
2079
 
2080
- def cancel_order(self, id: str, symbol: String = None, params={}):
2080
+ def cancel_order(self, id: str, symbol: Str = None, params={}):
2081
2081
  """
2082
2082
  cancels an open order
2083
2083
  :param str id: order id
@@ -2217,7 +2217,7 @@ class coinex(Exchange, ImplicitAPI):
2217
2217
  data = self.safe_value(response, 'data')
2218
2218
  return self.parse_order(data, market)
2219
2219
 
2220
- def cancel_all_orders(self, symbol: String = None, params={}):
2220
+ def cancel_all_orders(self, symbol: Str = None, params={}):
2221
2221
  """
2222
2222
  cancel all open orders in a market
2223
2223
  :param str symbol: unified market symbol of the market to cancel orders in
@@ -2259,7 +2259,7 @@ class coinex(Exchange, ImplicitAPI):
2259
2259
  #
2260
2260
  return response
2261
2261
 
2262
- def fetch_order(self, id: str, symbol: String = None, params={}):
2262
+ def fetch_order(self, id: str, symbol: Str = None, params={}):
2263
2263
  """
2264
2264
  fetches information on an order made by the user
2265
2265
  :param str symbol: unified symbol of the market the order was made in
@@ -2386,7 +2386,7 @@ class coinex(Exchange, ImplicitAPI):
2386
2386
  data = self.safe_value(response, 'data')
2387
2387
  return self.parse_order(data, market)
2388
2388
 
2389
- def fetch_orders_by_status(self, status, symbol: String = None, since: Int = None, limit: Int = None, params={}):
2389
+ def fetch_orders_by_status(self, status, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
2390
2390
  self.load_markets()
2391
2391
  limit = 100 if (limit is None) else limit
2392
2392
  request = {
@@ -2583,7 +2583,7 @@ class coinex(Exchange, ImplicitAPI):
2583
2583
  orders = self.safe_value(data, tradeRequest, [])
2584
2584
  return self.parse_orders(orders, market, since, limit)
2585
2585
 
2586
- def fetch_open_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
2586
+ def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
2587
2587
  """
2588
2588
  fetch all unfilled currently open orders
2589
2589
  :param str symbol: unified market symbol
@@ -2594,7 +2594,7 @@ class coinex(Exchange, ImplicitAPI):
2594
2594
  """
2595
2595
  return self.fetch_orders_by_status('pending', symbol, since, limit, params)
2596
2596
 
2597
- def fetch_closed_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
2597
+ def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
2598
2598
  """
2599
2599
  fetches information on multiple closed orders made by the user
2600
2600
  :param str symbol: unified market symbol of the market orders were made in
@@ -2678,7 +2678,7 @@ class coinex(Exchange, ImplicitAPI):
2678
2678
  depositAddress['network'] = self.safe_network_code(network, currency)
2679
2679
  return depositAddress
2680
2680
 
2681
- def safe_network(self, networkId, currency=None):
2681
+ def safe_network(self, networkId, currency: Currency = None):
2682
2682
  networks = self.safe_value(currency, 'networks', {})
2683
2683
  networksCodes = list(networks.keys())
2684
2684
  networksCodesLength = len(networksCodes)
@@ -2689,11 +2689,11 @@ class coinex(Exchange, ImplicitAPI):
2689
2689
  'network': None if (networkId is None) else networkId.upper(),
2690
2690
  }
2691
2691
 
2692
- def safe_network_code(self, networkId, currency=None):
2692
+ def safe_network_code(self, networkId, currency: Currency = None):
2693
2693
  network = self.safe_network(networkId, currency)
2694
2694
  return network['network']
2695
2695
 
2696
- def parse_deposit_address(self, depositAddress, currency=None):
2696
+ def parse_deposit_address(self, depositAddress, currency: Currency = None):
2697
2697
  #
2698
2698
  # {
2699
2699
  # "coin_address": "1P1JqozxioQwaqPwgMAQdNDYNyaVSqgARq",
@@ -2718,7 +2718,7 @@ class coinex(Exchange, ImplicitAPI):
2718
2718
  'network': None,
2719
2719
  }
2720
2720
 
2721
- def fetch_my_trades(self, symbol: String = None, since: Int = None, limit: Int = None, params={}):
2721
+ def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
2722
2722
  """
2723
2723
  fetch all trades made by the user
2724
2724
  :param str symbol: unified market symbol
@@ -3008,7 +3008,7 @@ class coinex(Exchange, ImplicitAPI):
3008
3008
  data = self.safe_value(response, 'data', [])
3009
3009
  return self.parse_position(data[0], market)
3010
3010
 
3011
- def parse_position(self, position, market=None):
3011
+ def parse_position(self, position, market: Market = None):
3012
3012
  #
3013
3013
  # {
3014
3014
  # "adl_sort": 3396,
@@ -3110,7 +3110,7 @@ class coinex(Exchange, ImplicitAPI):
3110
3110
  'takeProfitPrice': self.safe_number(position, 'take_profit_price'),
3111
3111
  })
3112
3112
 
3113
- def set_margin_mode(self, marginMode, symbol: String = None, params={}):
3113
+ def set_margin_mode(self, marginMode, symbol: Str = None, params={}):
3114
3114
  """
3115
3115
  set margin mode to 'cross' or 'isolated'
3116
3116
  :param str marginMode: 'cross' or 'isolated'
@@ -3147,7 +3147,7 @@ class coinex(Exchange, ImplicitAPI):
3147
3147
  }
3148
3148
  return self.perpetualPrivatePostMarketAdjustLeverage(self.extend(request, params))
3149
3149
 
3150
- def set_leverage(self, leverage, symbol: String = None, params={}):
3150
+ def set_leverage(self, leverage, symbol: Str = None, params={}):
3151
3151
  """
3152
3152
  :see: https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http014_adjust_leverage
3153
3153
  set the level of leverage for a market
@@ -3236,7 +3236,7 @@ class coinex(Exchange, ImplicitAPI):
3236
3236
  tiers[symbol] = self.parse_market_leverage_tiers(response[marketId], market)
3237
3237
  return tiers
3238
3238
 
3239
- def parse_market_leverage_tiers(self, item, market=None):
3239
+ def parse_market_leverage_tiers(self, item, market: Market = None):
3240
3240
  tiers = []
3241
3241
  minNotional = 0
3242
3242
  for j in range(0, len(item)):
@@ -3328,7 +3328,7 @@ class coinex(Exchange, ImplicitAPI):
3328
3328
  'status': status,
3329
3329
  })
3330
3330
 
3331
- def parse_margin_modification(self, data, market=None):
3331
+ def parse_margin_modification(self, data, market: Market = None):
3332
3332
  return {
3333
3333
  'info': data,
3334
3334
  'type': None,
@@ -3358,7 +3358,7 @@ class coinex(Exchange, ImplicitAPI):
3358
3358
  """
3359
3359
  return self.modify_margin_helper(symbol, amount, 2, params)
3360
3360
 
3361
- def fetch_funding_history(self, symbol: String = None, since: Int = None, limit: Int = None, params={}):
3361
+ def fetch_funding_history(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
3362
3362
  """
3363
3363
  fetch the history of funding payments paid and received on self account
3364
3364
  :param str symbol: unified market symbol
@@ -3480,7 +3480,7 @@ class coinex(Exchange, ImplicitAPI):
3480
3480
  ticker['timestamp'] = timestamp # avoid changing parseFundingRate signature
3481
3481
  return self.parse_funding_rate(ticker, market)
3482
3482
 
3483
- def parse_funding_rate(self, contract, market=None):
3483
+ def parse_funding_rate(self, contract, market: Market = None):
3484
3484
  #
3485
3485
  # fetchFundingRate
3486
3486
  #
@@ -3659,7 +3659,7 @@ class coinex(Exchange, ImplicitAPI):
3659
3659
  }
3660
3660
  return self.safe_string(statuses, status, status)
3661
3661
 
3662
- def fetch_funding_rate_history(self, symbol: String = None, since: Int = None, limit: Int = None, params={}):
3662
+ def fetch_funding_rate_history(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
3663
3663
  """
3664
3664
  :see: https://viabtc.github.io/coinex_api_en_doc/futures/#docsfutures001_http038_funding_history
3665
3665
  fetches historical funding rate prices
@@ -3727,7 +3727,7 @@ class coinex(Exchange, ImplicitAPI):
3727
3727
  sorted = self.sort_by(rates, 'timestamp')
3728
3728
  return self.filter_by_symbol_since_limit(sorted, market['symbol'], since, limit)
3729
3729
 
3730
- def parse_transaction(self, transaction, currency=None) -> Transaction:
3730
+ def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
3731
3731
  #
3732
3732
  # fetchDeposits
3733
3733
  #
@@ -3883,7 +3883,7 @@ class coinex(Exchange, ImplicitAPI):
3883
3883
  }
3884
3884
  return self.safe_string(statuses, status, status)
3885
3885
 
3886
- def parse_transfer(self, transfer, currency=None):
3886
+ def parse_transfer(self, transfer, currency: Currency = None):
3887
3887
  #
3888
3888
  # fetchTransfers Swap
3889
3889
  #
@@ -3939,7 +3939,7 @@ class coinex(Exchange, ImplicitAPI):
3939
3939
  'status': self.parse_transfer_status(self.safe_string_2(transfer, 'code', 'status')),
3940
3940
  }
3941
3941
 
3942
- def fetch_transfers(self, code: String = None, since: Int = None, limit: Int = None, params={}):
3942
+ def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
3943
3943
  """
3944
3944
  fetch a history of internal transfers made on an account
3945
3945
  :param str code: unified currency code of the currency transferred
@@ -4018,7 +4018,7 @@ class coinex(Exchange, ImplicitAPI):
4018
4018
  transfers = self.safe_value(data, 'records', [])
4019
4019
  return self.parse_transfers(transfers, currency, since, limit)
4020
4020
 
4021
- def fetch_withdrawals(self, code: String = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
4021
+ def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
4022
4022
  """
4023
4023
  fetch all withdrawals made from an account
4024
4024
  :param str code: unified currency code
@@ -4079,7 +4079,7 @@ class coinex(Exchange, ImplicitAPI):
4079
4079
  data = self.safe_value(data, 'data', [])
4080
4080
  return self.parse_transactions(data, currency, since, limit)
4081
4081
 
4082
- def fetch_deposits(self, code: String = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
4082
+ def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
4083
4083
  """
4084
4084
  fetch all deposits made to an account
4085
4085
  :param str code: unified currency code
@@ -4140,7 +4140,7 @@ class coinex(Exchange, ImplicitAPI):
4140
4140
  data = self.safe_value(data, 'data', [])
4141
4141
  return self.parse_transactions(data, currency, since, limit)
4142
4142
 
4143
- def parse_borrow_rate(self, info, currency=None):
4143
+ def parse_borrow_rate(self, info, market: Market = None):
4144
4144
  #
4145
4145
  # {
4146
4146
  # "market": "BTCUSDT",
@@ -4157,18 +4157,25 @@ class coinex(Exchange, ImplicitAPI):
4157
4157
  # }
4158
4158
  # },
4159
4159
  #
4160
- timestamp = self.milliseconds()
4161
- baseCurrencyData = self.safe_value(info, currency, {})
4160
+ marketId = self.safe_string(info, 'market')
4161
+ market = self.safe_market(marketId, market, None, 'spot')
4162
+ baseInfo = self.safe_value(info, market['baseId'])
4163
+ baseRate = self.safe_number(baseInfo, 'day_rate')
4164
+ quoteInfo = self.safe_value(info, market['quoteId'])
4165
+ quoteRate = self.safe_number(quoteInfo, 'day_rate')
4162
4166
  return {
4163
- 'currency': self.safe_currency_code(currency),
4164
- 'rate': self.safe_number(baseCurrencyData, 'day_rate'),
4167
+ 'symbol': market['symbol'],
4168
+ 'base': market['base'],
4169
+ 'baseRate': baseRate,
4170
+ 'quote': market['quote'],
4171
+ 'quoteRate': quoteRate,
4165
4172
  'period': 86400000,
4166
- 'timestamp': timestamp,
4167
- 'datetime': self.iso8601(timestamp),
4173
+ 'timestamp': None,
4174
+ 'datetime': None,
4168
4175
  'info': info,
4169
4176
  }
4170
4177
 
4171
- def fetch_borrow_rate(self, code: str, params={}):
4178
+ def fetch_isolated_borrow_rate(self, symbol: str, params={}):
4172
4179
  """
4173
4180
  fetch the rate of interest to borrow a currency for margin trading
4174
4181
  :param str code: unified currency code
@@ -4177,14 +4184,10 @@ class coinex(Exchange, ImplicitAPI):
4177
4184
  """
4178
4185
  self.load_markets()
4179
4186
  market = None
4180
- if code in self.markets:
4181
- market = self.market(code)
4182
- else:
4183
- defaultSettle = self.safe_string(self.options, 'defaultSettle', 'USDT')
4184
- market = self.market(code + '/' + defaultSettle)
4185
- request = {
4186
- 'market': market['id'],
4187
- }
4187
+ request = {}
4188
+ if symbol is not None:
4189
+ market = self.market(symbol)
4190
+ request['market'] = market['id']
4188
4191
  response = self.privateGetMarginConfig(self.extend(request, params))
4189
4192
  #
4190
4193
  # {
@@ -4207,9 +4210,9 @@ class coinex(Exchange, ImplicitAPI):
4207
4210
  # }
4208
4211
  #
4209
4212
  data = self.safe_value(response, 'data', {})
4210
- return self.parse_borrow_rate(data, market['base'])
4213
+ return self.parse_borrow_rate(data, market)
4211
4214
 
4212
- def fetch_borrow_rates(self, params={}):
4215
+ def fetch_isolated_borrow_rates(self, params={}):
4213
4216
  """
4214
4217
  fetch the borrow interest rates of all currencies
4215
4218
  :param dict [params]: extra parameters specific to the coinex api endpoint
@@ -4239,25 +4242,13 @@ class coinex(Exchange, ImplicitAPI):
4239
4242
  # "message": "Success"
4240
4243
  # }
4241
4244
  #
4242
- timestamp = self.milliseconds()
4243
4245
  data = self.safe_value(response, 'data', {})
4244
4246
  rates = []
4245
4247
  for i in range(0, len(data)):
4246
- entry = data[i]
4247
- symbol = self.safe_string(entry, 'market')
4248
- market = self.safe_market(symbol, None, None, 'spot')
4249
- currencyData = self.safe_value(entry, market['base'])
4250
- rates.append({
4251
- 'currency': market['base'],
4252
- 'rate': self.safe_number(currencyData, 'day_rate'),
4253
- 'period': 86400000,
4254
- 'timestamp': timestamp,
4255
- 'datetime': self.iso8601(timestamp),
4256
- 'info': entry,
4257
- })
4248
+ rates.append(self.parse_borrow_rate(data[i]))
4258
4249
  return rates
4259
4250
 
4260
- def fetch_borrow_interest(self, code: String = None, symbol: String = None, since: Int = None, limit: Int = None, params={}):
4251
+ def fetch_borrow_interest(self, code: Str = None, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
4261
4252
  self.load_markets()
4262
4253
  request = {}
4263
4254
  market = None
@@ -4302,7 +4293,7 @@ class coinex(Exchange, ImplicitAPI):
4302
4293
  interest = self.parse_borrow_interests(rows, market)
4303
4294
  return self.filter_by_currency_since_limit(interest, code, since, limit)
4304
4295
 
4305
- def parse_borrow_interest(self, info, market=None):
4296
+ def parse_borrow_interest(self, info, market: Market = None):
4306
4297
  #
4307
4298
  # {
4308
4299
  # "loan_id": 2616357,
@@ -4341,7 +4332,7 @@ class coinex(Exchange, ImplicitAPI):
4341
4332
  'info': info,
4342
4333
  }
4343
4334
 
4344
- def borrow_margin(self, code: str, amount, symbol: String = None, params={}):
4335
+ def borrow_margin(self, code: str, amount, symbol: Str = None, params={}):
4345
4336
  """
4346
4337
  create a loan to borrow margin
4347
4338
  :see: https://github.com/coinexcom/coinex_exchange_api/wiki/086margin_loan
@@ -4377,7 +4368,7 @@ class coinex(Exchange, ImplicitAPI):
4377
4368
  'symbol': symbol,
4378
4369
  })
4379
4370
 
4380
- def repay_margin(self, code: str, amount, symbol: String = None, params={}):
4371
+ def repay_margin(self, code: str, amount, symbol: Str = None, params={}):
4381
4372
  """
4382
4373
  repay borrowed margin and interest
4383
4374
  :see: https://github.com/coinexcom/coinex_exchange_api/wiki/087margin_flat
@@ -4414,7 +4405,7 @@ class coinex(Exchange, ImplicitAPI):
4414
4405
  'symbol': symbol,
4415
4406
  })
4416
4407
 
4417
- def parse_margin_loan(self, info, currency=None):
4408
+ def parse_margin_loan(self, info, currency: Currency = None):
4418
4409
  #
4419
4410
  # borrowMargin
4420
4411
  #
ccxt/coinlist.py CHANGED
@@ -7,7 +7,7 @@ from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.coinlist import ImplicitAPI
8
8
  import hashlib
9
9
  import math
10
- from ccxt.base.types import Balances, Int, Market, 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
@@ -552,7 +552,7 @@ class coinlist(Exchange, ImplicitAPI):
552
552
  #
553
553
  return self.parse_ticker(ticker, market)
554
554
 
555
- def parse_ticker(self, ticker, market=None) -> Ticker:
555
+ def parse_ticker(self, ticker, market: Market = None) -> Ticker:
556
556
  #
557
557
  # {
558
558
  # "type":"spot",
@@ -700,7 +700,7 @@ class coinlist(Exchange, ImplicitAPI):
700
700
  candles = self.safe_value(response, 'candles', [])
701
701
  return self.parse_ohlcvs(candles, market, timeframe, since, limit)
702
702
 
703
- def parse_ohlcv(self, ohlcv, market=None) -> list:
703
+ def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
704
704
  #
705
705
  # [
706
706
  # "2023-10-17T15:30:00.000Z",
@@ -773,7 +773,7 @@ class coinlist(Exchange, ImplicitAPI):
773
773
  auctions = self.safe_value(response, 'auctions', [])
774
774
  return self.parse_trades(auctions, market, since, limit)
775
775
 
776
- def parse_trade(self, trade, market=None) -> Trade:
776
+ def parse_trade(self, trade, market: Market = None) -> Trade:
777
777
  #
778
778
  # fetchTrades
779
779
  # {
@@ -937,7 +937,7 @@ class coinlist(Exchange, ImplicitAPI):
937
937
  }
938
938
  return result
939
939
 
940
- def parse_fee_tiers(self, feeTiers, market=None):
940
+ def parse_fee_tiers(self, feeTiers, market: Market = None):
941
941
  #
942
942
  # base: {
943
943
  # fees: {maker: '0', taker: '0.0045', liquidation: '0'},
@@ -1097,7 +1097,7 @@ class coinlist(Exchange, ImplicitAPI):
1097
1097
  result[code] = account
1098
1098
  return self.safe_balance(result)
1099
1099
 
1100
- def fetch_my_trades(self, symbol: String = None, since: Int = None, limit: Int = None, params={}):
1100
+ def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
1101
1101
  """
1102
1102
  fetch all trades made by the user
1103
1103
  :see: https://trade-docs.coinlist.co/?javascript--nodejs#list-fills
@@ -1154,7 +1154,7 @@ class coinlist(Exchange, ImplicitAPI):
1154
1154
  fills = self.safe_value(response, 'fills', [])
1155
1155
  return self.parse_trades(fills, market, since, limit)
1156
1156
 
1157
- def fetch_order_trades(self, id: str, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
1157
+ def fetch_order_trades(self, id: str, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
1158
1158
  """
1159
1159
  fetch all the trades made from a single order
1160
1160
  :see: https://trade-docs.coinlist.co/?javascript--nodejs#list-fills
@@ -1170,7 +1170,7 @@ class coinlist(Exchange, ImplicitAPI):
1170
1170
  }
1171
1171
  return self.fetch_my_trades(symbol, since, limit, self.extend(request, params))
1172
1172
 
1173
- def fetch_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1173
+ def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1174
1174
  """
1175
1175
  fetches information on multiple orders made by the user
1176
1176
  :see: https://trade-docs.coinlist.co/?javascript--nodejs#list-orders
@@ -1231,7 +1231,7 @@ class coinlist(Exchange, ImplicitAPI):
1231
1231
  orders = self.safe_value(response, 'orders', [])
1232
1232
  return self.parse_orders(orders, market, since, limit)
1233
1233
 
1234
- def fetch_order(self, id: str, symbol: String = None, params={}):
1234
+ def fetch_order(self, id: str, symbol: Str = None, params={}):
1235
1235
  """
1236
1236
  fetches information on an order made by the user
1237
1237
  :see: https://trade-docs.coinlist.co/?javascript--nodejs#get-specific-order-by-id
@@ -1271,7 +1271,7 @@ class coinlist(Exchange, ImplicitAPI):
1271
1271
  #
1272
1272
  return self.parse_order(response)
1273
1273
 
1274
- def fetch_open_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1274
+ def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1275
1275
  """
1276
1276
  fetch all unfilled currently open orders
1277
1277
  :see: https://trade-docs.coinlist.co/?javascript--nodejs#list-orders
@@ -1288,7 +1288,7 @@ class coinlist(Exchange, ImplicitAPI):
1288
1288
  }
1289
1289
  return self.fetch_orders(symbol, since, limit, self.extend(request, params))
1290
1290
 
1291
- def fetch_closed_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1291
+ def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1292
1292
  """
1293
1293
  fetches information on multiple closed orders made by the user
1294
1294
  :see: https://trade-docs.coinlist.co/?javascript--nodejs#list-orders
@@ -1305,7 +1305,7 @@ class coinlist(Exchange, ImplicitAPI):
1305
1305
  }
1306
1306
  return self.fetch_orders(symbol, since, limit, self.extend(request, params))
1307
1307
 
1308
- def fetch_canceled_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}):
1308
+ def fetch_canceled_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
1309
1309
  """
1310
1310
  fetches information on multiple canceled orders made by the user
1311
1311
  :see: https://trade-docs.coinlist.co/?javascript--nodejs#list-orders
@@ -1322,7 +1322,7 @@ class coinlist(Exchange, ImplicitAPI):
1322
1322
  }
1323
1323
  return self.fetch_orders(symbol, since, limit, self.extend(request, params))
1324
1324
 
1325
- def cancel_all_orders(self, symbol: String = None, params={}):
1325
+ def cancel_all_orders(self, symbol: Str = None, params={}):
1326
1326
  """
1327
1327
  cancel open orders of market
1328
1328
  :see: https://trade-docs.coinlist.co/?javascript--nodejs#cancel-all-orders
@@ -1346,7 +1346,7 @@ class coinlist(Exchange, ImplicitAPI):
1346
1346
  orders = [response]
1347
1347
  return self.parse_orders(orders, market)
1348
1348
 
1349
- def cancel_order(self, id: str, symbol: String = None, params={}):
1349
+ def cancel_order(self, id: str, symbol: Str = None, params={}):
1350
1350
  """
1351
1351
  cancels an open order
1352
1352
  :see: https://trade-docs.coinlist.co/?javascript--nodejs#cancel-specific-order-by-id
@@ -1369,7 +1369,7 @@ class coinlist(Exchange, ImplicitAPI):
1369
1369
  #
1370
1370
  return self.parse_order(response)
1371
1371
 
1372
- def cancel_orders(self, ids, symbol: String = None, params={}):
1372
+ def cancel_orders(self, ids, symbol: Str = None, params={}):
1373
1373
  """
1374
1374
  cancel multiple orders
1375
1375
  :see: https://trade-docs.coinlist.co/?javascript--nodejs#cancel-specific-orders
@@ -1476,7 +1476,7 @@ class coinlist(Exchange, ImplicitAPI):
1476
1476
  response = self.privatePatchV1OrdersOrderId(self.extend(request, params))
1477
1477
  return self.parse_order(response, market)
1478
1478
 
1479
- def parse_order(self, order, market=None) -> Order:
1479
+ def parse_order(self, order, market: Market = None) -> Order:
1480
1480
  #
1481
1481
  # fetchOrder
1482
1482
  # {
@@ -1670,7 +1670,7 @@ class coinlist(Exchange, ImplicitAPI):
1670
1670
  transfer = self.parse_transfer(response, currency)
1671
1671
  return transfer
1672
1672
 
1673
- def fetch_transfers(self, code: String = None, since: Int = None, limit: Int = None, params={}):
1673
+ def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
1674
1674
  """
1675
1675
  fetch a history of internal transfers between CoinList.co and CoinList Pro. It does not return external deposits or withdrawals
1676
1676
  :see: https://trade-docs.coinlist.co/?javascript--nodejs#list-transfers
@@ -1720,7 +1720,7 @@ class coinlist(Exchange, ImplicitAPI):
1720
1720
  transfers = self.safe_value(response, 'transfers', [])
1721
1721
  return self.parse_transfers(transfers, currency, since, limit)
1722
1722
 
1723
- def parse_transfer(self, transfer, currency=None):
1723
+ def parse_transfer(self, transfer, currency: Currency = None):
1724
1724
  #
1725
1725
  # fetchTransfers
1726
1726
  # {
@@ -1781,7 +1781,7 @@ class coinlist(Exchange, ImplicitAPI):
1781
1781
  }
1782
1782
  return self.safe_string(statuses, status, status)
1783
1783
 
1784
- def fetch_deposits_withdrawals(self, code: String = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1784
+ def fetch_deposits_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1785
1785
  """
1786
1786
  fetch history of deposits and withdrawals from external wallets and between CoinList Pro trading account and CoinList wallet
1787
1787
  :see: https://trade-docs.coinlist.co/?javascript--nodejs#get-coinlist-wallet-ledger
@@ -1880,7 +1880,7 @@ class coinlist(Exchange, ImplicitAPI):
1880
1880
  data = self.safe_value(response, 'data', {})
1881
1881
  return self.parse_transaction(data, currency)
1882
1882
 
1883
- def parse_transaction(self, transaction, currency=None) -> Transaction:
1883
+ def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
1884
1884
  # withdraw
1885
1885
  #
1886
1886
  # {
@@ -1947,7 +1947,7 @@ class coinlist(Exchange, ImplicitAPI):
1947
1947
  }
1948
1948
  return self.safe_string(types, type, type)
1949
1949
 
1950
- def fetch_ledger(self, code: String = None, since: Int = None, limit: Int = None, params={}):
1950
+ def fetch_ledger(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
1951
1951
  """
1952
1952
  fetch the history of changes, actions done by the user or operations that altered balance of the user
1953
1953
  :see: https://trade-docs.coinlist.co/?javascript--nodejs#get-account-history
@@ -2046,7 +2046,7 @@ class coinlist(Exchange, ImplicitAPI):
2046
2046
  ledger = self.safe_value(response, 'transactions', [])
2047
2047
  return self.parse_ledger(ledger, currency, since, limit)
2048
2048
 
2049
- def parse_ledger_entry(self, item, currency=None):
2049
+ def parse_ledger_entry(self, item, currency: Currency = None):
2050
2050
  #
2051
2051
  # deposit transaction from wallet(funding) to pro(trading)
2052
2052
  # {
ccxt/coinmate.py CHANGED
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.coinmate import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Int, Order, OrderBook, OrderSide, OrderType, String, Ticker, Trade, Transaction
9
+ from ccxt.base.types import Balances, Currency, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Ticker, Trade, Transaction
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import InsufficientFunds
@@ -381,7 +381,7 @@ class coinmate(Exchange, ImplicitAPI):
381
381
  'info': ticker,
382
382
  }, market)
383
383
 
384
- def fetch_deposits_withdrawals(self, code: String = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
384
+ def fetch_deposits_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
385
385
  """
386
386
  fetch history of deposits and withdrawals
387
387
  :param str [code]: unified currency code for the currency of the deposit/withdrawals, default is None
@@ -417,7 +417,7 @@ class coinmate(Exchange, ImplicitAPI):
417
417
  }
418
418
  return self.safe_string(statuses, status, status)
419
419
 
420
- def parse_transaction(self, transaction, currency=None) -> Transaction:
420
+ def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
421
421
  #
422
422
  # deposits
423
423
  #
@@ -536,7 +536,7 @@ class coinmate(Exchange, ImplicitAPI):
536
536
  transaction['status'] = 'pending'
537
537
  return transaction
538
538
 
539
- def fetch_my_trades(self, symbol: String = None, since: Int = None, limit: Int = None, params={}):
539
+ def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
540
540
  """
541
541
  fetch all trades made by the user
542
542
  :param str symbol: unified market symbol
@@ -560,7 +560,7 @@ class coinmate(Exchange, ImplicitAPI):
560
560
  data = self.safe_value(response, 'data', [])
561
561
  return self.parse_trades(data, None, since, limit)
562
562
 
563
- def parse_trade(self, trade, market=None) -> Trade:
563
+ def parse_trade(self, trade, market: Market = None) -> Trade:
564
564
  #
565
565
  # fetchMyTrades(private)
566
566
  #
@@ -691,7 +691,7 @@ class coinmate(Exchange, ImplicitAPI):
691
691
  'tierBased': True,
692
692
  }
693
693
 
694
- def fetch_open_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
694
+ def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
695
695
  """
696
696
  fetch all unfilled currently open orders
697
697
  :param str symbol: unified market symbol
@@ -704,7 +704,7 @@ class coinmate(Exchange, ImplicitAPI):
704
704
  extension = {'status': 'open'}
705
705
  return self.parse_orders(response['data'], None, since, limit, extension)
706
706
 
707
- def fetch_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
707
+ def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
708
708
  """
709
709
  fetches information on multiple orders made by the user
710
710
  :param str symbol: unified market symbol of the market orders were made in
@@ -741,7 +741,7 @@ class coinmate(Exchange, ImplicitAPI):
741
741
  }
742
742
  return self.safe_string(types, type, type)
743
743
 
744
- def parse_order(self, order, market=None) -> Order:
744
+ def parse_order(self, order, market: Market = None) -> Order:
745
745
  #
746
746
  # limit sell
747
747
  #
@@ -856,7 +856,7 @@ class coinmate(Exchange, ImplicitAPI):
856
856
  'id': id,
857
857
  }, market)
858
858
 
859
- def fetch_order(self, id: str, symbol: String = None, params={}):
859
+ def fetch_order(self, id: str, symbol: Str = None, params={}):
860
860
  """
861
861
  fetches information on an order made by the user
862
862
  :param str symbol: unified symbol of the market the order was made in
@@ -874,7 +874,7 @@ class coinmate(Exchange, ImplicitAPI):
874
874
  data = self.safe_value(response, 'data')
875
875
  return self.parse_order(data, market)
876
876
 
877
- def cancel_order(self, id: str, symbol: String = None, params={}):
877
+ def cancel_order(self, id: str, symbol: Str = None, params={}):
878
878
  """
879
879
  cancels an open order
880
880
  :param str id: order id