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
@@ -6,7 +6,7 @@
6
6
  from ccxt.async_support.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
- async def fetch_deposits_withdrawals(self, code: String = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
384
+ async 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
- async def fetch_my_trades(self, symbol: String = None, since: Int = None, limit: Int = None, params={}):
539
+ async 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
- async def fetch_open_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
694
+ async 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
- async def fetch_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
707
+ async 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
- async def fetch_order(self, id: str, symbol: String = None, params={}):
859
+ async 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
- async def cancel_order(self, id: str, symbol: String = None, params={}):
877
+ async 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
@@ -6,7 +6,7 @@
6
6
  from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.coinone import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Int, Order, OrderBook, OrderSide, OrderType, String, Strings, Ticker, Tickers, Trade
9
+ from ccxt.base.types import Balances, Int, Market, Order, OrderBook, OrderSide, OrderType, 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 ArgumentsRequired
@@ -326,7 +326,7 @@ class coinone(Exchange, ImplicitAPI):
326
326
  response = await self.publicGetTicker(self.extend(request, params))
327
327
  return self.parse_ticker(response, market)
328
328
 
329
- def parse_ticker(self, ticker, market=None) -> Ticker:
329
+ def parse_ticker(self, ticker, market: Market = None) -> Ticker:
330
330
  #
331
331
  # {
332
332
  # "currency":"xec",
@@ -370,7 +370,7 @@ class coinone(Exchange, ImplicitAPI):
370
370
  'info': ticker,
371
371
  }, market)
372
372
 
373
- def parse_trade(self, trade, market=None) -> Trade:
373
+ def parse_trade(self, trade, market: Market = None) -> Trade:
374
374
  #
375
375
  # fetchTrades(public)
376
376
  #
@@ -506,7 +506,7 @@ class coinone(Exchange, ImplicitAPI):
506
506
  #
507
507
  return self.parse_order(response, market)
508
508
 
509
- async def fetch_order(self, id: str, symbol: String = None, params={}):
509
+ async def fetch_order(self, id: str, symbol: Str = None, params={}):
510
510
  """
511
511
  fetches information on an order made by the user
512
512
  :param str symbol: unified symbol of the market the order was made in
@@ -554,7 +554,7 @@ class coinone(Exchange, ImplicitAPI):
554
554
  }
555
555
  return self.safe_string(statuses, status, status)
556
556
 
557
- def parse_order(self, order, market=None) -> Order:
557
+ def parse_order(self, order, market: Market = None) -> Order:
558
558
  #
559
559
  # createOrder
560
560
  #
@@ -604,9 +604,9 @@ class coinone(Exchange, ImplicitAPI):
604
604
  base = None
605
605
  quote = None
606
606
  if baseId is not None:
607
- base = self.safe_currency_code(baseId, self.safe_string(market, 'base'))
607
+ base = self.safe_currency_code(baseId)
608
608
  if quoteId is not None:
609
- quote = self.safe_currency_code(quoteId, self.safe_string(market, 'quote'))
609
+ quote = self.safe_currency_code(quoteId)
610
610
  symbol = None
611
611
  if (base is not None) and (quote is not None):
612
612
  symbol = base + '/' + quote
@@ -661,7 +661,7 @@ class coinone(Exchange, ImplicitAPI):
661
661
  'trades': None,
662
662
  }, market)
663
663
 
664
- async def fetch_open_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
664
+ async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
665
665
  """
666
666
  fetch all unfilled currently open orders
667
667
  :param str symbol: unified market symbol
@@ -700,7 +700,7 @@ class coinone(Exchange, ImplicitAPI):
700
700
  limitOrders = self.safe_value(response, 'limitOrders', [])
701
701
  return self.parse_orders(limitOrders, market, since, limit)
702
702
 
703
- async def fetch_my_trades(self, symbol: String = None, since: Int = None, limit: Int = None, params={}):
703
+ async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
704
704
  """
705
705
  fetch all trades made by the user
706
706
  :param str symbol: unified market symbol
@@ -739,7 +739,7 @@ class coinone(Exchange, ImplicitAPI):
739
739
  completeOrders = self.safe_value(response, 'completeOrders', [])
740
740
  return self.parse_trades(completeOrders, market, since, limit)
741
741
 
742
- async def cancel_order(self, id: str, symbol: String = None, params={}):
742
+ async def cancel_order(self, id: str, symbol: Str = None, params={}):
743
743
  """
744
744
  cancels an open order
745
745
  :param str id: order id
@@ -6,7 +6,7 @@
6
6
  from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.coinsph import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Int, Order, OrderBook, OrderSide, OrderType, String, Strings, Ticker, Tickers, Trade, Transaction
9
+ from ccxt.base.types import Balances, Currency, Int, Market, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import PermissionDenied
@@ -643,7 +643,7 @@ class coinsph(Exchange, ImplicitAPI):
643
643
  ticker = await getattr(self, method)(self.extend(request, params))
644
644
  return self.parse_ticker(ticker, market)
645
645
 
646
- def parse_ticker(self, ticker, market=None) -> Ticker:
646
+ def parse_ticker(self, ticker, market: Market = None) -> Ticker:
647
647
  #
648
648
  # publicGetOpenapiQuoteV1Ticker24hr
649
649
  # {
@@ -803,7 +803,7 @@ class coinsph(Exchange, ImplicitAPI):
803
803
  #
804
804
  return self.parse_ohlcvs(response, market, timeframe, since, limit)
805
805
 
806
- def parse_ohlcv(self, ohlcv, market=None) -> list:
806
+ def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
807
807
  return [
808
808
  self.safe_integer(ohlcv, 0),
809
809
  self.safe_number(ohlcv, 1),
@@ -849,7 +849,7 @@ class coinsph(Exchange, ImplicitAPI):
849
849
  #
850
850
  return self.parse_trades(response, market, since, limit)
851
851
 
852
- async def fetch_my_trades(self, symbol: String = None, since: Int = None, limit: Int = None, params={}):
852
+ async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
853
853
  """
854
854
  fetch all trades made by the user
855
855
  :param str symbol: unified market symbol
@@ -873,7 +873,7 @@ class coinsph(Exchange, ImplicitAPI):
873
873
  response = await self.privateGetOpenapiV1MyTrades(self.extend(request, params))
874
874
  return self.parse_trades(response, market, since, limit)
875
875
 
876
- async def fetch_order_trades(self, id: str, symbol: String = None, since: Int = None, limit: Int = None, params={}):
876
+ async def fetch_order_trades(self, id: str, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
877
877
  """
878
878
  fetch all the trades made from a single order
879
879
  :param str id: order id
@@ -889,7 +889,7 @@ class coinsph(Exchange, ImplicitAPI):
889
889
  }
890
890
  return await self.fetch_my_trades(symbol, since, limit, self.extend(request, params))
891
891
 
892
- def parse_trade(self, trade, market=None) -> Trade:
892
+ def parse_trade(self, trade, market: Market = None) -> Trade:
893
893
  #
894
894
  # fetchTrades
895
895
  # {
@@ -1111,7 +1111,7 @@ class coinsph(Exchange, ImplicitAPI):
1111
1111
  #
1112
1112
  return self.parse_order(response, market)
1113
1113
 
1114
- async def fetch_order(self, id: str, symbol: String = None, params={}):
1114
+ async def fetch_order(self, id: str, symbol: Str = None, params={}):
1115
1115
  """
1116
1116
  fetches information on an order made by the user
1117
1117
  :param int|str id: order id
@@ -1130,7 +1130,7 @@ class coinsph(Exchange, ImplicitAPI):
1130
1130
  response = await self.privateGetOpenapiV1Order(self.extend(request, params))
1131
1131
  return self.parse_order(response)
1132
1132
 
1133
- async def fetch_open_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1133
+ async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1134
1134
  """
1135
1135
  fetch all unfilled currently open orders
1136
1136
  :param str symbol: unified market symbol
@@ -1148,7 +1148,7 @@ class coinsph(Exchange, ImplicitAPI):
1148
1148
  response = await self.privateGetOpenapiV1OpenOrders(self.extend(request, params))
1149
1149
  return self.parse_orders(response, market, since, limit)
1150
1150
 
1151
- async def fetch_closed_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1151
+ async def fetch_closed_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1152
1152
  """
1153
1153
  fetches information on multiple closed orders made by the user
1154
1154
  :param str symbol: unified market symbol of the market orders were made in
@@ -1172,7 +1172,7 @@ class coinsph(Exchange, ImplicitAPI):
1172
1172
  response = await self.privateGetOpenapiV1HistoryOrders(self.extend(request, params))
1173
1173
  return self.parse_orders(response, market, since, limit)
1174
1174
 
1175
- async def cancel_order(self, id: str, symbol: String = None, params={}):
1175
+ async def cancel_order(self, id: str, symbol: Str = None, params={}):
1176
1176
  """
1177
1177
  cancels an open order
1178
1178
  :param str id: order id
@@ -1191,7 +1191,7 @@ class coinsph(Exchange, ImplicitAPI):
1191
1191
  response = await self.privateDeleteOpenapiV1Order(self.extend(request, params))
1192
1192
  return self.parse_order(response)
1193
1193
 
1194
- async def cancel_all_orders(self, symbol: String = None, params={}):
1194
+ async def cancel_all_orders(self, symbol: Str = None, params={}):
1195
1195
  """
1196
1196
  cancel open orders of market
1197
1197
  :param str symbol: unified market symbol
@@ -1208,7 +1208,7 @@ class coinsph(Exchange, ImplicitAPI):
1208
1208
  response = await self.privateDeleteOpenapiV1OpenOrders(self.extend(request, params))
1209
1209
  return self.parse_orders(response, market)
1210
1210
 
1211
- def parse_order(self, order, market=None) -> Order:
1211
+ def parse_order(self, order, market: Market = None) -> Order:
1212
1212
  #
1213
1213
  # createOrder POST /openapi/v1/order
1214
1214
  # {
@@ -1421,7 +1421,7 @@ class coinsph(Exchange, ImplicitAPI):
1421
1421
  result[symbol] = fee
1422
1422
  return result
1423
1423
 
1424
- def parse_trading_fee(self, fee, market=None):
1424
+ def parse_trading_fee(self, fee, market: Market = None):
1425
1425
  #
1426
1426
  # {
1427
1427
  # "symbol": "ETHUSDT",
@@ -1497,7 +1497,7 @@ class coinsph(Exchange, ImplicitAPI):
1497
1497
  response = await self.privatePostOpenapiV1CapitalDepositApply(self.extend(request, params))
1498
1498
  return self.parse_transaction(response, currency)
1499
1499
 
1500
- async def fetch_deposits(self, code: String = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1500
+ async def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1501
1501
  """
1502
1502
  fetch all deposits made to an account
1503
1503
  :see: https://coins-docs.github.io/rest-api/#deposit-history-user_data
@@ -1549,7 +1549,7 @@ class coinsph(Exchange, ImplicitAPI):
1549
1549
  #
1550
1550
  return self.parse_transactions(response, currency, since, limit)
1551
1551
 
1552
- async def fetch_withdrawals(self, code: String = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1552
+ async def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1553
1553
  """
1554
1554
  fetch all withdrawals made from an account
1555
1555
  :see: https://coins-docs.github.io/rest-api/#withdraw-history-user_data
@@ -1607,7 +1607,7 @@ class coinsph(Exchange, ImplicitAPI):
1607
1607
  #
1608
1608
  return self.parse_transactions(response, currency, since, limit)
1609
1609
 
1610
- def parse_transaction(self, transaction, currency=None) -> Transaction:
1610
+ def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
1611
1611
  #
1612
1612
  # fetchDeposits
1613
1613
  # {
@@ -1733,7 +1733,7 @@ class coinsph(Exchange, ImplicitAPI):
1733
1733
  #
1734
1734
  return self.parse_deposit_address(response, currency)
1735
1735
 
1736
- def parse_deposit_address(self, depositAddress, currency=None):
1736
+ def parse_deposit_address(self, depositAddress, currency: Currency = None):
1737
1737
  #
1738
1738
  # {
1739
1739
  # "coin": "ETH",
@@ -6,7 +6,7 @@
6
6
  from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.coinspot import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Int, OrderBook, OrderSide, OrderType, String, Strings, Ticker, Tickers, Trade
9
+ from ccxt.base.types import Balances, Int, Market, OrderBook, OrderSide, OrderType, 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 ArgumentsRequired
@@ -208,7 +208,7 @@ class coinspot(Exchange, ImplicitAPI):
208
208
  orderbook = await self.privatePostOrders(self.extend(request, params))
209
209
  return self.parse_order_book(orderbook, market['symbol'], None, 'buyorders', 'sellorders', 'rate', 'amount')
210
210
 
211
- def parse_ticker(self, ticker, market=None) -> Ticker:
211
+ def parse_ticker(self, ticker, market: Market = None) -> Ticker:
212
212
  #
213
213
  # {
214
214
  # "btc":{
@@ -336,7 +336,7 @@ class coinspot(Exchange, ImplicitAPI):
336
336
  trades = self.safe_value(response, 'orders', [])
337
337
  return self.parse_trades(trades, market, since, limit)
338
338
 
339
- async def fetch_my_trades(self, symbol: String = None, since: Int = None, limit: Int = None, params={}):
339
+ async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
340
340
  """
341
341
  fetch all trades made by the user
342
342
  :param str symbol: unified market symbol
@@ -388,7 +388,7 @@ class coinspot(Exchange, ImplicitAPI):
388
388
  trades = self.array_concat(buyTrades, sellTrades)
389
389
  return self.parse_trades(trades, market, since, limit)
390
390
 
391
- def parse_trade(self, trade, market=None) -> Trade:
391
+ def parse_trade(self, trade, market: Market = None) -> Trade:
392
392
  #
393
393
  # public fetchTrades
394
394
  #
@@ -480,7 +480,7 @@ class coinspot(Exchange, ImplicitAPI):
480
480
  }
481
481
  return await getattr(self, method)(self.extend(request, params))
482
482
 
483
- async def cancel_order(self, id: str, symbol: String = None, params={}):
483
+ async def cancel_order(self, id: str, symbol: Str = None, params={}):
484
484
  """
485
485
  cancels an open order
486
486
  :param str id: order id
@@ -6,7 +6,7 @@
6
6
  from ccxt.async_support.base.exchange import Exchange
7
7
  from ccxt.abstract.cryptocom import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Balances, Int, Order, OrderBook, OrderRequest, OrderSide, OrderType, String, Strings, Ticker, Tickers, Trade, Transaction
9
+ from ccxt.base.types import Balances, Currency, Int, Market, Order, OrderBook, OrderRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, Transaction
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import PermissionDenied
@@ -647,7 +647,7 @@ class cryptocom(Exchange, ImplicitAPI):
647
647
  tickers = await self.fetch_tickers([symbol], params)
648
648
  return self.safe_value(tickers, symbol)
649
649
 
650
- async def fetch_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
650
+ async def fetch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
651
651
  """
652
652
  fetches information on multiple orders made by the user
653
653
  :see: https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html#private-get-order-history
@@ -941,7 +941,7 @@ class cryptocom(Exchange, ImplicitAPI):
941
941
  #
942
942
  return self.parse_balance(response)
943
943
 
944
- async def fetch_order(self, id: str, symbol: String = None, params={}):
944
+ async def fetch_order(self, id: str, symbol: Str = None, params={}):
945
945
  """
946
946
  fetches information on an order made by the user
947
947
  :see: https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html#private-get-order-detail
@@ -1275,7 +1275,7 @@ class cryptocom(Exchange, ImplicitAPI):
1275
1275
  params = self.omit(params, ['postOnly', 'clientOrderId', 'timeInForce', 'stopPrice', 'triggerPrice', 'stopLossPrice', 'takeProfitPrice'])
1276
1276
  return self.extend(request, params)
1277
1277
 
1278
- async def cancel_all_orders(self, symbol: String = None, params={}):
1278
+ async def cancel_all_orders(self, symbol: Str = None, params={}):
1279
1279
  """
1280
1280
  cancel all open orders
1281
1281
  :see: https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html#private-cancel-all-orders
@@ -1291,7 +1291,7 @@ class cryptocom(Exchange, ImplicitAPI):
1291
1291
  request['instrument_name'] = market['id']
1292
1292
  return await self.v1PrivatePostPrivateCancelAllOrders(self.extend(request, params))
1293
1293
 
1294
- async def cancel_order(self, id: str, symbol: String = None, params={}):
1294
+ async def cancel_order(self, id: str, symbol: Str = None, params={}):
1295
1295
  """
1296
1296
  cancels an open order
1297
1297
  :see: https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html#private-cancel-order
@@ -1323,7 +1323,7 @@ class cryptocom(Exchange, ImplicitAPI):
1323
1323
  result = self.safe_value(response, 'result', {})
1324
1324
  return self.parse_order(result, market)
1325
1325
 
1326
- async def cancel_orders(self, ids, symbol: String = None, params={}):
1326
+ async def cancel_orders(self, ids, symbol: Str = None, params={}):
1327
1327
  """
1328
1328
  cancel multiple orders
1329
1329
  :see: https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html#private-cancel-order-list-list
@@ -1351,7 +1351,7 @@ class cryptocom(Exchange, ImplicitAPI):
1351
1351
  result = self.safe_value(response, 'result', [])
1352
1352
  return self.parse_orders(result, market, None, None, params)
1353
1353
 
1354
- async def fetch_open_orders(self, symbol: String = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1354
+ async def fetch_open_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
1355
1355
  """
1356
1356
  fetch all unfilled currently open orders
1357
1357
  :see: https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html#private-get-open-orders
@@ -1409,7 +1409,7 @@ class cryptocom(Exchange, ImplicitAPI):
1409
1409
  orders = self.safe_value(data, 'data', [])
1410
1410
  return self.parse_orders(orders, market, since, limit)
1411
1411
 
1412
- async def fetch_my_trades(self, symbol: String = None, since: Int = None, limit: Int = None, params={}):
1412
+ async def fetch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
1413
1413
  """
1414
1414
  fetch all trades made by the user
1415
1415
  :see: https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html#private-get-trades
@@ -1616,7 +1616,7 @@ class cryptocom(Exchange, ImplicitAPI):
1616
1616
  }
1617
1617
  return self.safe_string(networksById, networkId, networkId)
1618
1618
 
1619
- async def fetch_deposits(self, code: String = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1619
+ async def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1620
1620
  """
1621
1621
  fetch all deposits made to an account
1622
1622
  :see: https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html#private-get-deposit-history
@@ -1669,7 +1669,7 @@ class cryptocom(Exchange, ImplicitAPI):
1669
1669
  depositList = self.safe_value(data, 'deposit_list', [])
1670
1670
  return self.parse_transactions(depositList, currency, since, limit)
1671
1671
 
1672
- async def fetch_withdrawals(self, code: String = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1672
+ async def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
1673
1673
  """
1674
1674
  fetch all withdrawals made from an account
1675
1675
  :see: https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html#private-get-withdrawal-history
@@ -1760,7 +1760,7 @@ class cryptocom(Exchange, ImplicitAPI):
1760
1760
  #
1761
1761
  return self.parse_transfer(response, currency)
1762
1762
 
1763
- async def fetch_transfers(self, code: String = None, since: Int = None, limit: Int = None, params={}):
1763
+ async def fetch_transfers(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
1764
1764
  """
1765
1765
  fetch a history of internal transfers made on an account
1766
1766
  :param str code: unified currency code of the currency transferred
@@ -1820,7 +1820,7 @@ class cryptocom(Exchange, ImplicitAPI):
1820
1820
  }
1821
1821
  return self.safe_string(statuses, status, status)
1822
1822
 
1823
- def parse_transfer(self, transfer, currency=None):
1823
+ def parse_transfer(self, transfer, currency: Currency = None):
1824
1824
  #
1825
1825
  # {
1826
1826
  # "response": {
@@ -1889,7 +1889,7 @@ class cryptocom(Exchange, ImplicitAPI):
1889
1889
  'status': status,
1890
1890
  }
1891
1891
 
1892
- def parse_ticker(self, ticker, market=None) -> Ticker:
1892
+ def parse_ticker(self, ticker, market: Market = None) -> Ticker:
1893
1893
  #
1894
1894
  # fetchTicker
1895
1895
  #
@@ -1949,7 +1949,7 @@ class cryptocom(Exchange, ImplicitAPI):
1949
1949
  'info': ticker,
1950
1950
  }, market)
1951
1951
 
1952
- def parse_trade(self, trade, market=None) -> Trade:
1952
+ def parse_trade(self, trade, market: Market = None) -> Trade:
1953
1953
  #
1954
1954
  # fetchTrades
1955
1955
  #
@@ -2007,7 +2007,7 @@ class cryptocom(Exchange, ImplicitAPI):
2007
2007
  },
2008
2008
  }, market)
2009
2009
 
2010
- def parse_ohlcv(self, ohlcv, market=None) -> list:
2010
+ def parse_ohlcv(self, ohlcv, market: Market = None) -> list:
2011
2011
  #
2012
2012
  # {
2013
2013
  # "o": "26949.89",
@@ -2045,7 +2045,7 @@ class cryptocom(Exchange, ImplicitAPI):
2045
2045
  }
2046
2046
  return self.safe_string(timeInForces, timeInForce, timeInForce)
2047
2047
 
2048
- def parse_order(self, order, market=None) -> Order:
2048
+ def parse_order(self, order, market: Market = None) -> Order:
2049
2049
  #
2050
2050
  # createOrder, cancelOrder
2051
2051
  #
@@ -2160,7 +2160,7 @@ class cryptocom(Exchange, ImplicitAPI):
2160
2160
  }
2161
2161
  return self.safe_string(statuses, status, status)
2162
2162
 
2163
- def parse_transaction(self, transaction, currency=None) -> Transaction:
2163
+ def parse_transaction(self, transaction, currency: Currency = None) -> Transaction:
2164
2164
  #
2165
2165
  # fetchDeposits
2166
2166
  #
@@ -2245,7 +2245,7 @@ class cryptocom(Exchange, ImplicitAPI):
2245
2245
  'fee': fee,
2246
2246
  }
2247
2247
 
2248
- async def repay_margin(self, code: str, amount, symbol: String = None, params={}):
2248
+ async def repay_margin(self, code: str, amount, symbol: Str = None, params={}):
2249
2249
  """
2250
2250
  repay borrowed margin and interest
2251
2251
  :see: https://exchange-docs.crypto.com/spot/index.html#private-margin-repay
@@ -2277,7 +2277,7 @@ class cryptocom(Exchange, ImplicitAPI):
2277
2277
  'amount': amount,
2278
2278
  })
2279
2279
 
2280
- async def borrow_margin(self, code: str, amount, symbol: String = None, params={}):
2280
+ async def borrow_margin(self, code: str, amount, symbol: Str = None, params={}):
2281
2281
  """
2282
2282
  create a loan to borrow margin
2283
2283
  :see: https://exchange-docs.crypto.com/spot/index.html#private-margin-borrow
@@ -2306,7 +2306,7 @@ class cryptocom(Exchange, ImplicitAPI):
2306
2306
  'amount': amount,
2307
2307
  })
2308
2308
 
2309
- def parse_margin_loan(self, info, currency=None):
2309
+ def parse_margin_loan(self, info, currency: Currency = None):
2310
2310
  #
2311
2311
  # borrowMargin
2312
2312
  #
@@ -2337,7 +2337,7 @@ class cryptocom(Exchange, ImplicitAPI):
2337
2337
  'info': info,
2338
2338
  }
2339
2339
 
2340
- def parse_borrow_interest(self, info, market=None):
2340
+ def parse_borrow_interest(self, info, market: Market = None):
2341
2341
  #
2342
2342
  # {
2343
2343
  # "loan_id": "2643528867803765921",
@@ -2407,7 +2407,7 @@ class cryptocom(Exchange, ImplicitAPI):
2407
2407
  marginMode = 'cross'
2408
2408
  return [marginMode, params]
2409
2409
 
2410
- def parse_deposit_withdraw_fee(self, fee, currency=None):
2410
+ def parse_deposit_withdraw_fee(self, fee, currency: Currency = None):
2411
2411
  #
2412
2412
  # {
2413
2413
  # "full_name": "Alchemix",
@@ -2467,7 +2467,7 @@ class cryptocom(Exchange, ImplicitAPI):
2467
2467
  currencyMap = self.safe_value(data, 'currency_map')
2468
2468
  return self.parse_deposit_withdraw_fees(currencyMap, codes, 'full_name')
2469
2469
 
2470
- async def fetch_ledger(self, code: String = None, since: Int = None, limit: Int = None, params={}):
2470
+ async def fetch_ledger(self, code: Str = None, since: Int = None, limit: Int = None, params={}):
2471
2471
  """
2472
2472
  fetch the history of changes, actions done by the user or operations that altered the balance of the user
2473
2473
  :see: https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html#private-get-transactions
@@ -2525,7 +2525,7 @@ class cryptocom(Exchange, ImplicitAPI):
2525
2525
  ledger = self.safe_value(result, 'data', [])
2526
2526
  return self.parse_ledger(ledger, currency, since, limit)
2527
2527
 
2528
- def parse_ledger_entry(self, item, currency=None):
2528
+ def parse_ledger_entry(self, item, currency: Currency = None):
2529
2529
  #
2530
2530
  # {
2531
2531
  # "account_id": "ce075cef-1234-4321-bd6e-gf9007351e64",
@@ -2681,7 +2681,7 @@ class cryptocom(Exchange, ImplicitAPI):
2681
2681
  'info': account,
2682
2682
  }
2683
2683
 
2684
- async def fetch_settlement_history(self, symbol: String = None, since: Int = None, limit: Int = None, params={}):
2684
+ async def fetch_settlement_history(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
2685
2685
  """
2686
2686
  fetches historical settlement records
2687
2687
  :see: https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html#public-get-expired-settlement-price
@@ -2763,7 +2763,7 @@ class cryptocom(Exchange, ImplicitAPI):
2763
2763
  result.append(self.parse_settlement(settlements[i], market))
2764
2764
  return result
2765
2765
 
2766
- async def fetch_funding_rate_history(self, symbol: String = None, since: Int = None, limit: Int = None, params={}):
2766
+ async def fetch_funding_rate_history(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}):
2767
2767
  """
2768
2768
  fetches historical funding rates
2769
2769
  :see: https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html#public-get-valuations
@@ -2926,7 +2926,7 @@ class cryptocom(Exchange, ImplicitAPI):
2926
2926
  result.append(self.parse_position(entry, marketInner))
2927
2927
  return self.filter_by_array_positions(result, 'symbol', None, False)
2928
2928
 
2929
- def parse_position(self, position, market=None):
2929
+ def parse_position(self, position, market: Market = None):
2930
2930
  #
2931
2931
  # {
2932
2932
  # "account_id": "ce075bef-b600-4277-bd6e-ff9007251e63",