ccxt 4.3.89__py2.py3-none-any.whl → 4.3.90__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.
ccxt/pro/lbank.py CHANGED
@@ -483,7 +483,7 @@ class lbank(ccxt.async_support.lbank):
483
483
 
484
484
  async def watch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
485
485
  """
486
- :see: https://github.com/LBank-exchange/lbank-official-api-docs/blob/master/API-For-Spot-EN/WebSocket%20API(Asset%20%26%20Order).md#websocketsubscribeunsubscribe
486
+ :see: https://www.lbank.com/en-US/docs/index.html#update-subscribed-orders
487
487
  get the list of trades associated with the user
488
488
  :param str [symbol]: unified symbol of the market to fetch trades for
489
489
  :param int [since]: timestamp in ms of the earliest trade to fetch
@@ -666,7 +666,6 @@ class lbank(ccxt.async_support.lbank):
666
666
  async def watch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
667
667
  """
668
668
  :see: https://www.lbank.com/en-US/docs/index.html#market-depth
669
- :see: https://www.lbank.com/en-US/docs/index.html#market-increment-depth
670
669
  watches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
671
670
  :param str symbol: unified symbol of the market to fetch the order book for
672
671
  :param int|None limit: the maximum amount of order book entries to return
ccxt/pro/okx.py CHANGED
@@ -9,12 +9,14 @@ import hashlib
9
9
  from ccxt.base.types import Balances, Int, Liquidation, Num, Order, OrderBook, OrderSide, OrderType, Position, Str, Strings, Ticker, Tickers, FundingRate, FundingRates, Trade
10
10
  from ccxt.async_support.base.ws.client import Client
11
11
  from typing import List
12
+ from typing import Any
12
13
  from ccxt.base.errors import ExchangeError
13
14
  from ccxt.base.errors import AuthenticationError
14
15
  from ccxt.base.errors import ArgumentsRequired
15
16
  from ccxt.base.errors import BadRequest
16
17
  from ccxt.base.errors import InvalidNonce
17
18
  from ccxt.base.errors import ChecksumError
19
+ from ccxt.base.errors import UnsubscribeError
18
20
 
19
21
 
20
22
  class okx(ccxt.async_support.okx):
@@ -216,6 +218,43 @@ class okx(ccxt.async_support.okx):
216
218
  limit = trades.getLimit(tradeSymbol, limit)
217
219
  return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
218
220
 
221
+ async def un_watch_trades_for_symbols(self, symbols: List[str], params={}) -> Any:
222
+ """
223
+ unWatches from the stream channel
224
+ :param str symbol: unified symbol of the market to fetch trades for
225
+ :param dict [params]: extra parameters specific to the exchange API endpoint
226
+ :returns dict[]: a list of `trade structures <https://docs.ccxt.com/#/?id=public-trades>`
227
+ """
228
+ await self.load_markets()
229
+ symbols = self.market_symbols(symbols, None, False)
230
+ channel = 'trades'
231
+ topics = []
232
+ messageHashes = []
233
+ for i in range(0, len(symbols)):
234
+ symbol = symbols[i]
235
+ messageHashes.append('unsubscribe:trades:' + symbol)
236
+ marketId = self.market_id(symbol)
237
+ topic: dict = {
238
+ 'channel': channel,
239
+ 'instId': marketId,
240
+ }
241
+ topics.append(topic)
242
+ request: dict = {
243
+ 'op': 'unsubscribe',
244
+ 'args': topics,
245
+ }
246
+ url = self.get_url(channel, 'public')
247
+ return await self.watch_multiple(url, messageHashes, request, messageHashes)
248
+
249
+ async def un_watch_trades(self, symbol: str, params={}) -> Any:
250
+ """
251
+ unWatches from the stream channel
252
+ :param str symbol: unified symbol of the market to fetch trades for
253
+ :param dict [params]: extra parameters specific to the exchange API endpoint
254
+ :returns dict[]: a list of `trade structures <https://docs.ccxt.com/#/?id=public-trades>`
255
+ """
256
+ return await self.un_watch_trades_for_symbols([symbol], params)
257
+
219
258
  def handle_trades(self, client: Client, message):
220
259
  #
221
260
  # {
@@ -349,8 +388,8 @@ class okx(ccxt.async_support.okx):
349
388
  :param str [params.channel]: the channel to subscribe to, tickers by default. Can be tickers, sprd-tickers, index-tickers, block-tickers
350
389
  :returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
351
390
  """
352
- if self.is_empty(symbols):
353
- raise ArgumentsRequired(self.id + ' watchTickers requires a list of symbols')
391
+ await self.load_markets()
392
+ symbols = self.market_symbols(symbols, None, False)
354
393
  channel = None
355
394
  channel, params = self.handle_option_and_params(params, 'watchTickers', 'channel', 'tickers')
356
395
  newTickers = await self.subscribe_multiple('public', channel, symbols, params)
@@ -834,6 +873,62 @@ class okx(ccxt.async_support.okx):
834
873
  orderbook = await self.watch_multiple(url, messageHashes, request, messageHashes)
835
874
  return orderbook.limit()
836
875
 
876
+ async def un_watch_order_book_for_symbols(self, symbols: List[str], params={}) -> Any:
877
+ """
878
+ :see: https://www.okx.com/docs-v5/en/#order-book-trading-market-data-ws-order-book-channel
879
+ unWatches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
880
+ :param str[] symbols: unified array of symbols
881
+ :param dict [params]: extra parameters specific to the exchange API endpoint
882
+ :param int [params.limit]: the maximum amount of order book entries to return
883
+ :param str [params.depth]: okx order book depth, can be books, books5, books-l2-tbt, books50-l2-tbt, bbo-tbt
884
+ :returns dict: A dictionary of `order book structures <https://docs.ccxt.com/#/?id=order-book-structure>` indexed by market symbols
885
+ """
886
+ await self.load_markets()
887
+ symbols = self.market_symbols(symbols, None, False)
888
+ depth = None
889
+ depth, params = self.handle_option_and_params(params, 'watchOrderBook', 'depth', 'books')
890
+ limit = self.safe_integer(params, 'limit')
891
+ if limit is not None:
892
+ if limit == 1:
893
+ depth = 'bbo-tbt'
894
+ elif limit > 1 and limit <= 5:
895
+ depth = 'books5'
896
+ elif limit == 50:
897
+ depth = 'books50-l2-tbt' # Make sure you have VIP4 and above
898
+ elif limit == 400:
899
+ depth = 'books'
900
+ topics = []
901
+ subMessageHashes = []
902
+ messageHashes = []
903
+ for i in range(0, len(symbols)):
904
+ symbol = symbols[i]
905
+ subMessageHashes.append(depth + ':' + symbol)
906
+ messageHashes.append('unsubscribe:orderbook:' + symbol)
907
+ marketId = self.market_id(symbol)
908
+ topic: dict = {
909
+ 'channel': depth,
910
+ 'instId': marketId,
911
+ }
912
+ topics.append(topic)
913
+ request: dict = {
914
+ 'op': 'unsubscribe',
915
+ 'args': topics,
916
+ }
917
+ url = self.get_url(depth, 'public')
918
+ return await self.watch_multiple(url, messageHashes, request, messageHashes)
919
+
920
+ async def un_watch_order_book(self, symbol: str, params={}) -> Any:
921
+ """
922
+ :see: https://www.okx.com/docs-v5/en/#order-book-trading-market-data-ws-order-book-channel
923
+ unWatches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
924
+ :param str symbol: unified array of symbols
925
+ :param dict [params]: extra parameters specific to the exchange API endpoint
926
+ :param int [params.limit]: the maximum amount of order book entries to return
927
+ :param str [params.depth]: okx order book depth, can be books, books5, books-l2-tbt, books50-l2-tbt, bbo-tbt
928
+ :returns dict: A dictionary of `order book structures <https://docs.ccxt.com/#/?id=order-book-structure>` indexed by market symbols
929
+ """
930
+ return await self.un_watch_order_book_for_symbols([symbol], params)
931
+
837
932
  def handle_delta(self, bookside, delta):
838
933
  #
839
934
  # [
@@ -1848,6 +1943,7 @@ class okx(ccxt.async_support.okx):
1848
1943
  # 'book': 'handleOrderBook',
1849
1944
  'login': self.handle_authenticate,
1850
1945
  'subscribe': self.handle_subscription_status,
1946
+ 'unsubscribe': self.handle_unsubscription,
1851
1947
  'order': self.handle_place_orders,
1852
1948
  'batch-orders': self.handle_place_orders,
1853
1949
  'amend-order': self.handle_place_orders,
@@ -1887,3 +1983,47 @@ class okx(ccxt.async_support.okx):
1887
1983
  self.handle_ohlcv(client, message)
1888
1984
  else:
1889
1985
  method(client, message)
1986
+
1987
+ def handle_un_subscription_trades(self, client: Client, symbol: str):
1988
+ subMessageHash = 'trades:' + symbol
1989
+ messageHash = 'unsubscribe:trades:' + symbol
1990
+ if subMessageHash in client.subscriptions:
1991
+ del client.subscriptions[subMessageHash]
1992
+ if messageHash in client.subscriptions:
1993
+ del client.subscriptions[messageHash]
1994
+ del self.trades[symbol]
1995
+ error = UnsubscribeError(self.id + ' ' + subMessageHash)
1996
+ client.reject(error, subMessageHash)
1997
+ client.resolve(True, messageHash)
1998
+
1999
+ def handle_unsubscription_order_book(self, client: Client, symbol: str, channel: str):
2000
+ subMessageHash = channel + ':' + symbol
2001
+ messageHash = 'unsubscribe:orderbook:' + symbol
2002
+ if subMessageHash in client.subscriptions:
2003
+ del client.subscriptions[subMessageHash]
2004
+ if messageHash in client.subscriptions:
2005
+ del client.subscriptions[messageHash]
2006
+ del self.orderbooks[symbol]
2007
+ error = UnsubscribeError(self.id + ' ' + subMessageHash)
2008
+ client.reject(error, subMessageHash)
2009
+ client.resolve(True, messageHash)
2010
+
2011
+ def handle_unsubscription(self, client: Client, message):
2012
+ #
2013
+ # {
2014
+ # "event": "unsubscribe",
2015
+ # "arg": {
2016
+ # "channel": "tickers",
2017
+ # "instId": "LTC-USD-200327"
2018
+ # },
2019
+ # "connId": "a4d3ae55"
2020
+ # }
2021
+ # arg might be an array or list
2022
+ arg = self.safe_dict(message, 'arg', {})
2023
+ channel = self.safe_string(arg, 'channel')
2024
+ marketId = self.safe_string(arg, 'instId')
2025
+ symbol = self.safe_symbol(marketId)
2026
+ if channel == 'trades':
2027
+ self.handle_un_subscription_trades(client, symbol)
2028
+ elif channel.startswith('bbo') or channel.startswith('book'):
2029
+ self.handle_unsubscription_order_book(client, symbol, channel)
ccxt/whitebit.py CHANGED
@@ -2472,9 +2472,11 @@ class whitebit(Exchange, ImplicitAPI):
2472
2472
  if hasErrorStatus:
2473
2473
  errorInfo = status
2474
2474
  else:
2475
- errorObject = self.safe_value(response, 'errors')
2476
- if errorObject is not None:
2477
- errorKey = list(errorObject.keys())[0]
2475
+ errorObject = self.safe_dict(response, 'errors', {})
2476
+ errorKeys = list(errorObject.keys())
2477
+ errorsLength = len(errorKeys)
2478
+ if errorsLength > 0:
2479
+ errorKey = errorKeys[0]
2478
2480
  errorMessageArray = self.safe_value(errorObject, errorKey, [])
2479
2481
  errorMessageLength = len(errorMessageArray)
2480
2482
  errorInfo = errorMessageArray[0] if (errorMessageLength > 0) else body
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.3.89
3
+ Version: 4.3.90
4
4
  Summary: A JavaScript / TypeScript / Python / C# / PHP cryptocurrency trading library with support for 100+ exchanges
5
5
  Home-page: https://ccxt.com
6
6
  Author: Igor Kroitor
@@ -272,13 +272,13 @@ console.log(version, Object.keys(exchanges));
272
272
 
273
273
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
274
274
 
275
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.89/dist/ccxt.browser.min.js
276
- * unpkg: https://unpkg.com/ccxt@4.3.89/dist/ccxt.browser.min.js
275
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.3.90/dist/ccxt.browser.min.js
276
+ * unpkg: https://unpkg.com/ccxt@4.3.90/dist/ccxt.browser.min.js
277
277
 
278
278
  CDNs are not updated in real-time and may have delays. Defaulting to the most recent version without specifying the version number is not recommended. Please, keep in mind that we are not responsible for the correct operation of those CDN servers.
279
279
 
280
280
  ```HTML
281
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.89/dist/ccxt.browser.min.js"></script>
281
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.3.90/dist/ccxt.browser.min.js"></script>
282
282
  ```
283
283
 
284
284
  Creates a global `ccxt` object:
@@ -1,25 +1,25 @@
1
- ccxt/__init__.py,sha256=h2IK9qdMRdV6jzdJr5yfJgr1nEe9Vj6ljUraGU4Z5Cw,16681
1
+ ccxt/__init__.py,sha256=RmEvBkVxRsPh52sL0mkcaSeLQiZw35TtntVRR7h8JuI,16681
2
2
  ccxt/ace.py,sha256=3KFlbRm6N9hXsKUsgZbQCFPZT5WGLm4HOjR19Q3uPts,42419
3
- ccxt/alpaca.py,sha256=ncMn_HahONrVc3jyFlPZrdyzHkQZ3LpOYVV6HOV3tcs,47506
4
- ccxt/ascendex.py,sha256=3DTdIVwvksXWVovrxA3vER38XrWj_WwwbFSEC7TWCWk,151467
3
+ ccxt/alpaca.py,sha256=nVQJ8vG4JrjEvMlu_nPoyR2lBq41j9Z2smPq95nDhng,47504
4
+ ccxt/ascendex.py,sha256=RCJrO6WUMycfZZsiok9DG3KWpHOeImbZcFNI-AX98k4,151336
5
5
  ccxt/bequant.py,sha256=RBiAmaTbL35DgiV3Hl6uchLUd78V0z1T9riTlNsrpdc,1174
6
6
  ccxt/bigone.py,sha256=RiEDQutD2BtvKfwVvAo2T9_DPqr0oa6ZJFDXph_g1UI,93122
7
7
  ccxt/binance.py,sha256=234uj97QAqu_-AqxFaFczbV4jnXyhemCsq_RxJQgwjw,641408
8
8
  ccxt/binancecoinm.py,sha256=arFnEh8mErSyi23eVPWE4iwoT7PWQyxGGVJCKCy6UJY,1702
9
9
  ccxt/binanceus.py,sha256=hdcT4OnadcdFFFjF3GtM0nWv90jqojqwdVS3xWGuW40,9163
10
10
  ccxt/binanceusdm.py,sha256=bAPcJj5HLxoCdPolriM8sJpoTBwbV78vBTbKRmWhNP4,2632
11
- ccxt/bingx.py,sha256=wfjgqiBBZe43UC659UBbHaH_0zwjqv67oDf4dKirfZk,244511
11
+ ccxt/bingx.py,sha256=fwQC-bbEfM4DIWyWDXy7aQF6muF2W1IGU51weewWayY,245077
12
12
  ccxt/bit2c.py,sha256=nJgmrsEpOaYB0ylSIVhzf-tbyLCa3g4yxpmF3BSz3Qk,37097
13
13
  ccxt/bitbank.py,sha256=rROws6WlMgzgGQiKT7vqHxOQjy-DI_-uwSxUhXzMxjY,43570
14
14
  ccxt/bitbay.py,sha256=xAIjzGRDVGwoy-Gygd99H0YN4wiaz_0lR0Z14oxaaxc,478
15
15
  ccxt/bitbns.py,sha256=BxvljEPDCGPnaFGaWIIPF_xs079B2OnnbGWNfYlraHE,48269
16
16
  ccxt/bitcoincom.py,sha256=PyWIl4nC4jp5Uba2lI1At0N_hhNyWD0DoZC_MSyL_s4,502
17
17
  ccxt/bitfinex.py,sha256=lUCCHFUWNtMs30L5vhRRHwMzjLGftM6umfjf9m20iPU,73461
18
- ccxt/bitfinex2.py,sha256=U1A_zTHPCh85eC69u3X6aHfQ4te68XA0KtM5Q-vbrWE,160644
18
+ ccxt/bitfinex2.py,sha256=5wlu-2gxnYzPySwb8unjQlYVdUGasuekUYoGuT5XLsE,160729
19
19
  ccxt/bitflyer.py,sha256=A5Qtxec8uuhL0M2CIm908XFG_dauGoPetkGvglFUbrE,41719
20
- ccxt/bitget.py,sha256=WuELupWOPfU_kN5BBGO-Zw8336oCs6TaIv3KkhzzlRw,424656
20
+ ccxt/bitget.py,sha256=xBTfJmSxKt-6g0EfvOzPi4mXyupWJILXQzrgwfsQ__A,424656
21
21
  ccxt/bithumb.py,sha256=8oTnFWi8Ai9fnm5FPXvNmaUAVJEOqYi-18VC23cWmXY,47935
22
- ccxt/bitmart.py,sha256=U-QuxcYA6rMGGuD6RiTo1Mx-39uWX1at4uCNkdJFaV0,211937
22
+ ccxt/bitmart.py,sha256=E8spf8q8jqlL41dlhwntz1WJzWQY0v9_IaIut1-r_y0,211807
23
23
  ccxt/bitmex.py,sha256=SoKTmrAKQ__SZzh1Fok1dOL7kUZjCIHl-qIHe9bO3Jc,126988
24
24
  ccxt/bitopro.py,sha256=XV878befM45AOnlSRpMYTnaBol342JAYWbFshvJ9fvs,69358
25
25
  ccxt/bitpanda.py,sha256=aiwPkx9lKbVzt4ggoYdq_mIbMGtg5ZtGl2yRHO5xyz8,471
@@ -40,9 +40,9 @@ ccxt/cex.py,sha256=WkzjeUi22kVFNU_f2PB7SwGiddOulKS6DDzmxdVDkXs,70120
40
40
  ccxt/coinbase.py,sha256=3L5CDWhg4MQlDkdZnuJxxOjmsWEh-gnqcV4R6nCq7rg,217483
41
41
  ccxt/coinbaseadvanced.py,sha256=d5g6nRx-NCcCwZDdtp8FsI2D-pRjSvnAP9ISSKY_nCQ,538
42
42
  ccxt/coinbaseexchange.py,sha256=7fdLpBd_Do9Fd1_6bfgwYGJkOv6tQIFbsXKFTX0qYAQ,78943
43
- ccxt/coinbaseinternational.py,sha256=86zQOXD8CLDI3MpBtmpbQsmtUzk-pBdrg8HM_NCCer4,97440
43
+ ccxt/coinbaseinternational.py,sha256=JHciYqg_ZcVXWAUBj_zlcaUKfSjOL6CQmoAtO8ZbtSE,97484
44
44
  ccxt/coincheck.py,sha256=SeNvZm_3p01IsW8y6b3rw67qiMu29S59HHPG6Jma_T4,35942
45
- ccxt/coinex.py,sha256=1m9hSsd9-pIzCeH579yMlioSrSJVbpvX_Diw3FjTf8c,257427
45
+ ccxt/coinex.py,sha256=XxMME7vtfppXuGC98TK_IWedLjnQf_l317pJGC5lVM8,256814
46
46
  ccxt/coinlist.py,sha256=Z2v-sn9_K3JUt42tQX5Naq3p55fH2giM2-fnSx--O2k,104123
47
47
  ccxt/coinmate.py,sha256=BkPcT92OQFeUQtnLDIkl-Sg0PcLrQ87RfHMFIybJoWk,46190
48
48
  ccxt/coinmetro.py,sha256=1HqUu4ScH4oZbloodvn0l25y7DaUMl_5MjBf5v8z_cA,80591
@@ -60,12 +60,12 @@ ccxt/gate.py,sha256=dlKwcUQOvriaUmopMaF4BiziBTFdIoaEgt3-LKS8lk8,327645
60
60
  ccxt/gateio.py,sha256=86AETJWODl_vA5VNeQRHZprmpNIY1HAxCddKZcnKSi8,445
61
61
  ccxt/gemini.py,sha256=ddoOnPZzu-l899JGVw4b9wwT9HI20mVqLz7iihhZxng,80876
62
62
  ccxt/hashkey.py,sha256=AfbhV_QCW31jzy8BFPnmGdhWfXz4WILIl-qh3jB4ZMc,191738
63
- ccxt/hitbtc.py,sha256=iqyd0otbWmIHUJiJ6gzIfe34IOa8PCEeS8nG6s6Ogc0,153398
63
+ ccxt/hitbtc.py,sha256=uxLqjwN4-pI1GSFSE5EKvIUgvbaJcdArBwb04XhP3a8,153435
64
64
  ccxt/hitbtc3.py,sha256=qRAr4Zvaju9IQWRZUohdoN7xRnzIMPq8AyYb3gPv-Is,455
65
65
  ccxt/hollaex.py,sha256=2KIbenZ3vcBDN_rs2CxG5_foKLaYxJd73vVV7M8n_8E,76140
66
66
  ccxt/htx.py,sha256=X4A5SVzO1wPzbxK5OHG_u67ewOqj-xtb5YIkl1tSG_c,427883
67
67
  ccxt/huobi.py,sha256=4vaG7IRN7fyjaJ_ac6S-njlHOfSEN5de7aq0noznxYw,438
68
- ccxt/huobijp.py,sha256=DPg9DkSTrsFZt8bCnGcodfPPCWMKRAFyh6ti9iNU3VE,90183
68
+ ccxt/huobijp.py,sha256=m9rYCCApGDtpbiqCK6Gw4GDd5EskEmho4xSemGbY1kY,89852
69
69
  ccxt/hyperliquid.py,sha256=ZHqoPUgMHPRsfEP3TaHhPHSFniAVZj7RBSHcfUxbUwQ,110702
70
70
  ccxt/idex.py,sha256=P2jNsxiwIlMgrfPKbtmjLJQrzFcWp_TjgJaLq793oco,73255
71
71
  ccxt/independentreserve.py,sha256=ChkSnahGsn0aN_cfaAonSk-V2Aa1UB-0cPTa1d3AdI4,37713
@@ -75,7 +75,7 @@ ccxt/krakenfutures.py,sha256=_-bbgzshifKnbyOB1pSs_bRfRepkRAdiDlsLDRiAw9w,119597
75
75
  ccxt/kucoin.py,sha256=QJc-itNiyyNNt5R7MIgKPv-Qj6FZgIth0JqvqQrkbZA,226699
76
76
  ccxt/kucoinfutures.py,sha256=bINtr0EBupNmE_IufzwRy7GuWHa5JtBmtrPk-WjhCno,124756
77
77
  ccxt/kuna.py,sha256=GnIMk8R_IL84FTUHDNP6jHxd2FKNX9YwfoCXoYG83uA,96157
78
- ccxt/latoken.py,sha256=JkfGMFYEQqE_2BG3EHQozelw6yxbHXu1TPebg4a3Cgg,79462
78
+ ccxt/latoken.py,sha256=wBhaMcTEsB316nFCxm_WbLRZ_G2Q0Vi1FK-850Q07D0,79516
79
79
  ccxt/lbank.py,sha256=Glx9CN_jdQMiUngJLYioxzwDfgFTdusdOfK53_Bg6A8,116045
80
80
  ccxt/luno.py,sha256=mJqzQFX-DneQ6Wo0Dqfc7sG0OVmaPSKAkmRs1pM7Yj8,46191
81
81
  ccxt/lykke.py,sha256=RqjZ8TXHN_Bok2gXNsJX5jgMDb7GqMbpPPqBMHiLb0E,51408
@@ -85,7 +85,7 @@ ccxt/ndax.py,sha256=K4nlroc0lE0c3wETvYt_O5sfOrHmTiknpXfMIWdafzA,108947
85
85
  ccxt/novadax.py,sha256=_xFkuZ72vHhpJb1N9h_MQHRD05GDWlqUeLQQcOp43BM,64436
86
86
  ccxt/oceanex.py,sha256=DrsNIW-eXvaSHCB2l1valmiU9xMztxm1VNBJodMkWIY,38021
87
87
  ccxt/okcoin.py,sha256=bekvnIdDLC8bcVGsCkla_uGMLsD2x42sWxkm8ihhi5c,151282
88
- ccxt/okx.py,sha256=JUayotui7OLoH43y4s8Lq2EcLQtF-ig3pixwxThUiDU,379391
88
+ ccxt/okx.py,sha256=MwNxOE2oezR2pFDznRR_iWhu3m666aHIvDjAfUb7eR4,379191
89
89
  ccxt/onetrading.py,sha256=evWWr4z7-HglV2ma2z-R34_JYJqlr6LQT0rV_OyWKGs,88375
90
90
  ccxt/oxfun.py,sha256=2d8Tr3c5SC2okb7mEWi3Y1lq9UC-enln54ydtDClCnY,124657
91
91
  ccxt/p2b.py,sha256=V_P8GTdb6SkeaVptVtc-LbjwUKUinfYFtO4nzmKG0N0,54333
@@ -102,7 +102,7 @@ ccxt/upbit.py,sha256=d03xZjLdhtMrqTVm3VYmvQoT7inmq05bjrUNrJLi_7U,85413
102
102
  ccxt/vertex.py,sha256=r-ucPKA3DKb4Ke7u-OJxAXkHIS_ysF357R5-9dcYFHI,121797
103
103
  ccxt/wavesexchange.py,sha256=vmzv9h1QjthvpKUGajQn_tdCJ5tWmzEA6r7ow_y6ASY,114980
104
104
  ccxt/wazirx.py,sha256=LVHNdononi8FrZpT0pYiJoS-NrNi7_uIZ6Qbu8dJRPc,52405
105
- ccxt/whitebit.py,sha256=fkM0Clt74bSiOJ_L-CehR2Gkn3v3kZksCQT0JCCG5rs,119340
105
+ ccxt/whitebit.py,sha256=nm-FIOgvB35irrJ078mtvLki-cZ_V4aRT0B8z2rjMbU,119428
106
106
  ccxt/woo.py,sha256=Ncx25WmXgYKHapZ8xxnD3qjRi8Qg_X3ha6NORi9s2kQ,153178
107
107
  ccxt/woofipro.py,sha256=bOytP6GTDdJ7JDEdGYOx3RFQhx_zySNNHexf_0MyUcc,115500
108
108
  ccxt/xt.py,sha256=a9f_Oq5KyDdytyCqW15jjXXdHGumbZwCqutt8cbfsPo,202616
@@ -220,28 +220,28 @@ ccxt/abstract/xt.py,sha256=JkWvsic3L2O968BCr9H5Wd5NIbRE9aTT2A-9WbAtl0c,27146
220
220
  ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
221
221
  ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
222
222
  ccxt/abstract/zonda.py,sha256=X-hCW0SdX3YKZWixDyW-O2211M58Rno8kKJ6quY7rw4,7183
223
- ccxt/async_support/__init__.py,sha256=GaEXyPpDmEwQIqY4ZpBtZ3VAs2oVRjECi-rTTc0kYqE,16504
223
+ ccxt/async_support/__init__.py,sha256=emi7qr2jxHIrZqQddMYK8fOlfF3BC8BFIR4ynDCQWRg,16504
224
224
  ccxt/async_support/ace.py,sha256=ucCkKaWRkILAIK9g4iEi1Q_-zmn0V89-rX8Al4WdK8s,42643
225
- ccxt/async_support/alpaca.py,sha256=RR1fMqHyfZNDvUcru4-XaH5BNvo4FLw4icLLemszPhI,47718
226
- ccxt/async_support/ascendex.py,sha256=vGxFwrN6OM5SpHozzl2OyC88PXJsmc-b76HSHSad9Yg,152255
225
+ ccxt/async_support/alpaca.py,sha256=HxonsP_MzbE7Z9r6hZ1rgmf_jPcP4H7H3z1YQgCv4qc,47716
226
+ ccxt/async_support/ascendex.py,sha256=PIgHokT4gFPEUaoi_ze2T0qgu6vEs8SytRG9ocM3r7M,152124
227
227
  ccxt/async_support/bequant.py,sha256=1hTwHovo1bW1XTIc8ZKjvJ-Xg6LfmpGdzT7TepykaVM,1188
228
228
  ccxt/async_support/bigone.py,sha256=A7AjX0iWl2twYRwOc-2tKUbnI4KNmO2QVetMaAJujpg,93576
229
229
  ccxt/async_support/binance.py,sha256=pzuysonW4qV1Q2_bIbNVWqm6SWgkCgKrGolvgqlfOEg,644142
230
230
  ccxt/async_support/binancecoinm.py,sha256=yeE73xG5UXD_X3VPul6DMGnV_mgJfWYskpas1BUDdCU,1740
231
231
  ccxt/async_support/binanceus.py,sha256=c-K3Tk7LaRJjmYdCx8vBOqsx01uXrtvt0PC2ekBiD0g,9177
232
232
  ccxt/async_support/binanceusdm.py,sha256=8ugRkx7vyYmn67wdkEEf2f-DFMGAoC4t09usKlPVNyw,2670
233
- ccxt/async_support/bingx.py,sha256=JvVex_ksHUge4euDbMZBNPjQZT-tmikO7AToSfMRtZg,245781
233
+ ccxt/async_support/bingx.py,sha256=eQZ9lCDHKzpoyvZcoDsKw9viKuX_GJ8Hkqk0tiXfMjg,246347
234
234
  ccxt/async_support/bit2c.py,sha256=Ix9TBLFXAlyCspEr707RGsSMsaRE22odMjdAYLfbbog,37309
235
235
  ccxt/async_support/bitbank.py,sha256=ZicMgUF9fZMYZ5EXPnUWy9S0lHYEJCv_wt0t0JZFvPg,43830
236
236
  ccxt/async_support/bitbay.py,sha256=jcaEXi2IhYTva8ezO_SfJhwxEZk7HST4J3NaxD16BQA,492
237
237
  ccxt/async_support/bitbns.py,sha256=-z6MBwHpn0FXwfKffbOXSdZD2ZYEepMz1VU2ii84xN0,48523
238
238
  ccxt/async_support/bitcoincom.py,sha256=RiqwhK3RfxQ_PXTa860fphDCvwA8dalL-_rXlK85-8A,516
239
239
  ccxt/async_support/bitfinex.py,sha256=7UMowTk77q1Yj5u9vLgE6w1ZUmZrxUsYrRpW2EoUVvc,73901
240
- ccxt/async_support/bitfinex2.py,sha256=qMKpCv8q2VyssI6acoIKHjJrKBmyLGdK-oG7_a-mxzo,161378
240
+ ccxt/async_support/bitfinex2.py,sha256=0tFFKZUhL3vfK5KXRW2XU5TD4SdR3Xnxf38whJGedr8,161463
241
241
  ccxt/async_support/bitflyer.py,sha256=9tRLLI8tHyp0T1yj3-3F-MVoHB8Jq81qx_vQ-N00PJI,42027
242
- ccxt/async_support/bitget.py,sha256=fWDoFbfwZtybisZw112Id559nRshJArWUWdCEKtRK3k,426280
242
+ ccxt/async_support/bitget.py,sha256=LLL5XnYB2Wdlh3NDuInCvsZOUo6ifVopJazVMTU4diU,426280
243
243
  ccxt/async_support/bithumb.py,sha256=Q0Cx_cRKZRfdpBAhQyINm63Qw3M6BRYQRiF0UqYzfis,48214
244
- ccxt/async_support/bitmart.py,sha256=zIkhlHwCfAXP7Uli6PKZaZmsJV-CI8qFsKXqYo1XUxY,212893
244
+ ccxt/async_support/bitmart.py,sha256=DM-RMAL2itKyO_dTafBwQXnZ3NsDxy4LauDPucHT29M,212763
245
245
  ccxt/async_support/bitmex.py,sha256=bpaQ7pqan9JFj5AJxngtcuqeN9ReO76WbNkqfvBtyT0,127566
246
246
  ccxt/async_support/bitopro.py,sha256=uWrH_HdRkf0UCs-N_JE1hCN6eWYWwXpc8VXMb0niM78,69762
247
247
  ccxt/async_support/bitpanda.py,sha256=2k3URBWrpnh2xHa7JiYenI7_4MW5UeOPGzetlmRkR4U,485
@@ -262,9 +262,9 @@ ccxt/async_support/cex.py,sha256=DPQ4-rrO4Ut3zHax7wOnk47rfF5zVh4AgheFQ05pWDs,704
262
262
  ccxt/async_support/coinbase.py,sha256=Ch_hFo2zj0qp4kuDUnebGD16pUeKs6h3HJxs5Fdpkco,218637
263
263
  ccxt/async_support/coinbaseadvanced.py,sha256=Kupwnuxiu_qTjwCNV2asacoDUNFQvcaHNAznUJPhdQs,552
264
264
  ccxt/async_support/coinbaseexchange.py,sha256=f19V1ImoyhYNllwWxygVWuJuu7F6_LXcthgIeXEHiDM,79449
265
- ccxt/async_support/coinbaseinternational.py,sha256=d_xWWicD-Zya2BT0YaKmr9Nrl4XbUfWOUe1FWUIXnQo,98054
265
+ ccxt/async_support/coinbaseinternational.py,sha256=o7Fhezgb75wSyxzyH0hHYzRaNnQvkZtpylXdYYgRedo,98098
266
266
  ccxt/async_support/coincheck.py,sha256=N_0cDMAiFRC4G--QgOmSH8esKDr_lEVZUpukc4QoHk8,36148
267
- ccxt/async_support/coinex.py,sha256=PjfFGPesoM1d9POYPDFCZINi72MTLeRxyoKPnKCrjsk,258685
267
+ ccxt/async_support/coinex.py,sha256=pxDqfQs-zzA-BxOih99R_K0sOQoQseMmZXGNFfYP4Uc,258072
268
268
  ccxt/async_support/coinlist.py,sha256=NTN-W6Jm4fcwvBHRcSB6yj4QTeNrMg5IyZiYpkKUGZ0,104611
269
269
  ccxt/async_support/coinmate.py,sha256=NI58zYMkuOL9lB3UFzyjUNbuFZGrtjZbb4PBFTOsbz4,46456
270
270
  ccxt/async_support/coinmetro.py,sha256=BloSsFuLoLTt_lnaZL051g75Yn1M2LIf7kMCZLOiYTc,80911
@@ -282,12 +282,12 @@ ccxt/async_support/gate.py,sha256=Y4dVM0if4e3a3uG_Wgj10t4oWRBHdjt-0Sp0v3yIWNg,32
282
282
  ccxt/async_support/gateio.py,sha256=6_t032F9p9x5KGTjtSuqGXITzFOx-XAQBYLpsuQjzxw,459
283
283
  ccxt/async_support/gemini.py,sha256=7X5-PE3rPrPycUVXu3FtAcDFjNR3QUwYd6lPRQYQeEw,81389
284
284
  ccxt/async_support/hashkey.py,sha256=bwQsEvhGU60iy_vlAbLvtx1blhDxS4L3cqoTpk6JNQ8,192580
285
- ccxt/async_support/hitbtc.py,sha256=jWmyRAy_wkpEidgjCxU0gWur99YJjYHPjD9CN4vJbUE,154444
285
+ ccxt/async_support/hitbtc.py,sha256=qytUn4pEdcGHPUXteTD4f1PVmKeoIl5zxymKKwVCNco,154481
286
286
  ccxt/async_support/hitbtc3.py,sha256=dmSYoD2o4av_zzbZI8HNIoj8BWxA7QozsVpy8JaOXzU,469
287
287
  ccxt/async_support/hollaex.py,sha256=msUnnbWLNeCxFW77BnfLoFWBdvQIDwV7Rtbi9TA4TYY,76574
288
288
  ccxt/async_support/htx.py,sha256=pPdetpi1Y2bHxNIXrFO9VDgMOra0v8Y2hggVbe2Qzdk,430275
289
289
  ccxt/async_support/huobi.py,sha256=fup0j6wQ1khAtfbb1H4CSyJAOzhxuoHMmrM6sgTuhr8,452
290
- ccxt/async_support/huobijp.py,sha256=e4vfgX8c9eTLZk6bOrB8_Upq13PLDjTLiR109Pj4phM,90683
290
+ ccxt/async_support/huobijp.py,sha256=OeEHn0GXQ56YGeUM21zwRqsEm8d2LD_SDspBsQMlds4,90352
291
291
  ccxt/async_support/hyperliquid.py,sha256=Ct1KjpC9j4l-ul0r8RWpeeX-6bCdcXrNrrHpdNzcWW8,111258
292
292
  ccxt/async_support/idex.py,sha256=UcAvdMc2CP_6E8lET4rmQiIP-RaUfZHSo6pQeA17v-g,73731
293
293
  ccxt/async_support/independentreserve.py,sha256=fCTAQ1U74KOZHIoYbDxzEly1xSgykcYcdpeiJiCEXkU,37991
@@ -297,7 +297,7 @@ ccxt/async_support/krakenfutures.py,sha256=stPhBne9pFVlgFkw4mwqtaaI6NTZCAcmOIFVl
297
297
  ccxt/async_support/kucoin.py,sha256=yUpyvMjHLy3Vf4yFGENe5CnbWjLly1PNL8v576NCg0o,227800
298
298
  ccxt/async_support/kucoinfutures.py,sha256=X6TMi-Bjv2mijE8xGbg-qp9Ha8Nl7o1Z5LjEiDgxaJ8,125394
299
299
  ccxt/async_support/kuna.py,sha256=QtzLgqgv8mLXECN2drWNVtdvm_vy-bawdxKvozDzbVE,96573
300
- ccxt/async_support/latoken.py,sha256=iLypvfxDSW3PGHWLraibz0hBZV4ch5LYH5D24VOnIqk,79938
300
+ ccxt/async_support/latoken.py,sha256=9BUu8akWtbBtAzVr_c_cYLkiLQqcJdSdkJbHmuLee-Y,79992
301
301
  ccxt/async_support/lbank.py,sha256=MeqPjECSmsplCtatu7Ns6sHRwzAGP_6S5MwB2BomnXk,116757
302
302
  ccxt/async_support/luno.py,sha256=F4t6XgboOe688S6bZCEnaF_ZEh_6f1YTqV6wRaddWo0,46529
303
303
  ccxt/async_support/lykke.py,sha256=UXQmNfWucuylickY0EBbrkahAoU-68B7k1B-EBNpC00,51722
@@ -307,7 +307,7 @@ ccxt/async_support/ndax.py,sha256=M_DtH6Rtzpc8p4nwOwBkxMIf0yQNoVvRkOexcvNUK6k,10
307
307
  ccxt/async_support/novadax.py,sha256=YNKUM1CGFK7lpBwbxSSL1IAEJCRVsNxeITkwtw6VWCM,64804
308
308
  ccxt/async_support/oceanex.py,sha256=85IHjCWsBZZXntKHPeuUpFYP9FV0Ik93gJsTlrGzhVA,38341
309
309
  ccxt/async_support/okcoin.py,sha256=jLt_tP_XpM5sKkCoyj1PZtXHLxOhucRORs6PsEZteX4,151806
310
- ccxt/async_support/okx.py,sha256=u8mwZUCq20ar-HN2XU8OpcRQXSuG0Ic0n80PyLpLoqc,380978
310
+ ccxt/async_support/okx.py,sha256=2bYhxxwLHYFWiFPhAfLDXUoji_h_-H7yVIXEqjlR9oc,380778
311
311
  ccxt/async_support/onetrading.py,sha256=cZSvu7ZIavao-bqv1CgQatPfsrfXDgCt2UfxMtYsOMM,88827
312
312
  ccxt/async_support/oxfun.py,sha256=_Pv8E4yIKS10iPOpPuCFQgBuqGDzxuwvxROdJjwrYvc,125201
313
313
  ccxt/async_support/p2b.py,sha256=aU_69L8hyfZEQ_yFJb6UoR_l0EbaeCTRgNvdDtk4QPs,54575
@@ -324,7 +324,7 @@ ccxt/async_support/upbit.py,sha256=r-7J61DYPXfCOa2-iks16MIiqF4IjfuIWQURyximwZ4,8
324
324
  ccxt/async_support/vertex.py,sha256=TSw1dmCXj2kIDV7uvj-kd3wPurRu90fg9mHWHoHjF_o,122297
325
325
  ccxt/async_support/wavesexchange.py,sha256=wHxvsBQydDEYRgeAZKI9WO4TLBKmmSPTLm0eT0pKB5g,115530
326
326
  ccxt/async_support/wazirx.py,sha256=bnUpw9be3o4l2Hxm3jcfNXn5bMyZlgqoG8BGPusuIzs,52707
327
- ccxt/async_support/whitebit.py,sha256=haF5nFYGuJzkplHBIyLLDJ6N3ThIDPpgjeI3S-TYs98,119990
327
+ ccxt/async_support/whitebit.py,sha256=MMKYPLjbCyW9yd2saPifUJIFwddN9z4DG3agTaAMKOc,120078
328
328
  ccxt/async_support/woo.py,sha256=yZEpYxjEFr2Hz89mKDwwAxZfQGwpJF21kSb_L0mAZ0k,154146
329
329
  ccxt/async_support/woofipro.py,sha256=B-BTPNdv3fL6wz3cHcMG2G8IU0MtvfzAiPP0OVT-xsI,116180
330
330
  ccxt/async_support/xt.py,sha256=_U-r4Gp0oBCOE6Ngo98Sn_Q6tr_81CUDDSliF0FMezE,203770
@@ -332,7 +332,7 @@ ccxt/async_support/yobit.py,sha256=GQhvYrsGHQrVdTrNHQxx9isEGqUABexlllzao9HL3f8,5
332
332
  ccxt/async_support/zaif.py,sha256=-ZTr8M2JaIRCL90VrbCDXBMAsZwbiwsFChSQ2rWODuQ,29044
333
333
  ccxt/async_support/zonda.py,sha256=jncr6Wg12S72CTpu6mCKCse1pm1f8oefVQurQSrFvP0,81733
334
334
  ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
335
- ccxt/async_support/base/exchange.py,sha256=uc8GeI-Nd_uOIzcybdvdG2MStkASfXaNqvia73Amh4M,110810
335
+ ccxt/async_support/base/exchange.py,sha256=kMx8OyRrKnJSN4sEFW9ByeVwuyhq_o3cUSNJo4gm0Xc,110810
336
336
  ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
337
337
  ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
338
338
  ccxt/async_support/base/ws/aiohttp_client.py,sha256=5IEiT0elWI9a7Vr-KV0jgmlbpLJWBzIlrLaCkTKGaqY,5752
@@ -346,23 +346,23 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=GhnGUt78pJ-AYL_Dq9produGjmB
346
346
  ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
347
347
  ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
348
348
  ccxt/base/errors.py,sha256=Pad-6ugvGUwhoYuKUliX-N7FTrcnKCQGFjsaq2tMn0I,4610
349
- ccxt/base/exchange.py,sha256=GYFKBVZzhbwTOkASqFU5ue9f56cKU2xyqGs2vQ81cOs,296075
349
+ ccxt/base/exchange.py,sha256=GWh-MEa-5xFJEUont5v8OCDlbQYOlFBp4VWAoj0IDAg,296075
350
350
  ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
351
351
  ccxt/base/types.py,sha256=TaP_RElKjGEZWuzyp4o4u2YhREyTG3rUeVT6gDffY9A,9613
352
- ccxt/pro/__init__.py,sha256=OWWYmwvI5B_wLDu4jhrUJ1yddvRbpuG0lrhYy2qF2RE,7710
352
+ ccxt/pro/__init__.py,sha256=DyJpymCSy3yXmbd0Oy4tK6BMNHQZDHSJp_4o6G8kZq0,7710
353
353
  ccxt/pro/alpaca.py,sha256=xh1yg1Ok-Zh_Mfx-MBjNrfJDs6MUU0exFfEj3GuQPC4,27631
354
354
  ccxt/pro/ascendex.py,sha256=QueLgISoIxgGSOta2W7En4pwAsEXbTP5q5ef4UjpTQQ,37524
355
355
  ccxt/pro/bequant.py,sha256=33OEUWBi4D9-2w8CmkwN3aF1qS-AlLqX3pxrWwNbXPY,1552
356
- ccxt/pro/binance.py,sha256=Q7E5xSUpoouqwbexBG4f9Nq-3Ziia8SwMHFfWMomZIo,178076
356
+ ccxt/pro/binance.py,sha256=ZZdhYgQQKChNMw6mIqdaCHyN-W58rYH-zgT2fOshkNc,193328
357
357
  ccxt/pro/binancecoinm.py,sha256=LlgF4rXHHrsQMaklhTEzSiE6U9V25AjHHg_DRat7Mf0,1036
358
358
  ccxt/pro/binanceus.py,sha256=_IXpS_wyH0nEtsLR7cJLtrUlsNQoG0MSUVo3PV0RDDc,1946
359
359
  ccxt/pro/binanceusdm.py,sha256=lLdOv0d-lM-1wfCc_y_POb6GdmVIiX7PFzmKTWsVyNw,1512
360
- ccxt/pro/bingx.py,sha256=Ji6EBezDtGbL2en15Syb2G1Ra9RcuJyaef5GxSHho20,54046
360
+ ccxt/pro/bingx.py,sha256=Nj0sPJtM5hRmyI3Azo0E9bimvMYRaCkG1kiaVNjj1_8,60901
361
361
  ccxt/pro/bitcoincom.py,sha256=zAX6hiz4hS6Un8dSGp88rpnvItxQHfNmsfF0IZ2xIVA,1181
362
362
  ccxt/pro/bitfinex.py,sha256=BlgNy4_TUPggvfcfpfl7309Phons-2lFp73OdDbQHpw,25305
363
363
  ccxt/pro/bitfinex2.py,sha256=H2evIdXrXaHpmvlqoPCOqADYjiHqvZVLf9EnbYHBOj8,43106
364
364
  ccxt/pro/bitget.py,sha256=-sK8WqkT1ddS6HLwp0Hr6kGKZ2ELqeW-FOt8IqCStnE,85233
365
- ccxt/pro/bithumb.py,sha256=dqYKWebxFg4rsP7jg3oBnCUBcpZAoqAmZsozAU9pYds,16835
365
+ ccxt/pro/bithumb.py,sha256=cAiRpOT1kxlpphu7xd6NYH43j7of_kXXy0M9YqXeat4,17411
366
366
  ccxt/pro/bitmart.py,sha256=LxcP6aiCdwN-euseCMhsXZkhqesPJM-eLh549sGHHfo,62556
367
367
  ccxt/pro/bitmex.py,sha256=dNQf2EAim7kxgCM6I1TgFDl-e2zrXa2veicTEqu8WbQ,73949
368
368
  ccxt/pro/bitopro.py,sha256=eGge1vzVXPx1FGZc1cm5i_MzBKlRkWH2ZKuIzrR3G2Q,18798
@@ -372,13 +372,13 @@ ccxt/pro/bitstamp.py,sha256=tysJpRxfVnZKp-_xgfIhsOVh3ilnQQhXjV-grzqz3QM,20964
372
372
  ccxt/pro/bitvavo.py,sha256=407yoZbQh5G9bP4FMVywBB223dJFj0x7nxaEiobHVSI,56255
373
373
  ccxt/pro/blockchaincom.py,sha256=yRJ4m0mTG5FSbkdH4QvuXNnBvLv9kDMGbAMwpcJnyDI,29648
374
374
  ccxt/pro/blofin.py,sha256=Wjw0coQ4TO1qdVVnBGSdRDVtADsl-t-hkOo-uEDZTbc,28659
375
- ccxt/pro/bybit.py,sha256=onG-84Xbd8Ls1gIZ7cUGYUvSxP2FEPvZrjpUvVGyr1o,104259
375
+ ccxt/pro/bybit.py,sha256=Tv0o759Em4Tc0hWQy28Uw7zjRFcyL3ZN_JjhPFPU-KY,104257
376
376
  ccxt/pro/cex.py,sha256=7HFtbjDOijpamdCv3ddlqkQ6exO2jN5MZ5dtXvRg2Og,58577
377
377
  ccxt/pro/coinbase.py,sha256=hwd8lUuaW8WyQQOh9WvBVuiuOJTpmlCXU0hL3UE8UFQ,31411
378
378
  ccxt/pro/coinbaseexchange.py,sha256=eoDBwYvGK__zGtC0yNRk2evWwQAD6XpjMHcpubjBt2U,39027
379
379
  ccxt/pro/coinbaseinternational.py,sha256=1ykwnp6XaOqvH0HILlZvrJdgvscF2lnZfIyn5U9tqWY,32250
380
380
  ccxt/pro/coincheck.py,sha256=zzZcPmL4Vibh_Sjont-3D8z-E11ugVQVqPakHQxpgKs,7851
381
- ccxt/pro/coinex.py,sha256=GkW0duPzwNXppQxHPTaa1QIjnVXa3NXr-BhwocwNYF0,45164
381
+ ccxt/pro/coinex.py,sha256=oONeBMtz9ylneI3vxrbf6Wt00JGey2nV1Q64O9FRHbU,56380
382
382
  ccxt/pro/coinone.py,sha256=XxJeMDbg3tSDoC3H8p9y7MB_yBR3ZN6PiQyEGaziAZs,15734
383
383
  ccxt/pro/cryptocom.py,sha256=Zrh6noBvrMIcSLgVUuzxW7SPcJzUQDlcqMFU4JsnwLE,43318
384
384
  ccxt/pro/currencycom.py,sha256=8B9pSuPyO0ROCWOROUFoNbJBeOU3bRmlKXSj1CBMkPI,22459
@@ -400,12 +400,12 @@ ccxt/pro/kraken.py,sha256=hrYXzL-CLCgm0BbQBjNOoiAfC57Ca5JTiD_24eIvikM,63840
400
400
  ccxt/pro/krakenfutures.py,sha256=Y9vqrxNbr7OJ0BIMZqrVtMedUzk7XtOZuF_OGQ2tUJc,64033
401
401
  ccxt/pro/kucoin.py,sha256=Vsbt5k8zDSve31LiRlPQgdp1AxVtosT1c9nSCUCF364,54296
402
402
  ccxt/pro/kucoinfutures.py,sha256=gMRflEtuO_S_cuhhVOtIwarL_Nk9ThAmGqyvUncVqHc,50331
403
- ccxt/pro/lbank.py,sha256=nBTAs75zokS5hwdFTgA6NJelk7n0FGBsznbxebLm8QM,35251
403
+ ccxt/pro/lbank.py,sha256=p6Ynjmud9B3Yw1SGTPdTB36AW4KtyR1JOotqFBdyyxs,35083
404
404
  ccxt/pro/luno.py,sha256=ThXkXNrLvp9BW8XXxRcbpRaw9QcLCS2f2tCqbF6qpEU,12384
405
405
  ccxt/pro/mexc.py,sha256=XWizOaMEHWdl0FU7XO_gxxGeTiMFoZxxaBQ1aQ7OrjU,43764
406
406
  ccxt/pro/ndax.py,sha256=De7ohX5Dp2PSfFmt50mGH9cB9Me53Wb-B8S6N4_Flvk,22979
407
407
  ccxt/pro/okcoin.py,sha256=h8niyeq67h-oBmxiMMy2JdNgOI0fBQuEC3QdUW4-NFs,31048
408
- ccxt/pro/okx.py,sha256=rKAUOmT-BfnNzd7IPzgkgbeLJN2e29SOdLfrHboFbeM,85537
408
+ ccxt/pro/okx.py,sha256=rQlrKbKXCoNbAfzFryOBJJQk9xwgmVsq1C_b3qWDRSU,92103
409
409
  ccxt/pro/onetrading.py,sha256=2LP1LvwbQrwsyXDPRU6_ez4fWR3htKFuzC-4CenHzhU,54817
410
410
  ccxt/pro/oxfun.py,sha256=gcmnoD0pzEDVIaiHyuU2ABoQBrxi0CTP62H2xZD0T7g,43943
411
411
  ccxt/pro/p2b.py,sha256=K0aQNKqOWCgju0t-Am7mcIcAFXjIxYXiYft1gEOfw10,19227
@@ -652,8 +652,8 @@ ccxt/test/tests_async.py,sha256=yVoLZLPkB-_ay0ab_oCyYOSwkLQkLXkPFj5jHTE3esw,8442
652
652
  ccxt/test/tests_helpers.py,sha256=xhOILoZ_x3RSfQjtKt6AQlkp9DkOtpTQe8GAUUZoM6s,10069
653
653
  ccxt/test/tests_init.py,sha256=eVwwUHujX9t4rjgo4TqEeg7DDhR1Hb_e2SJN8NVGyl0,998
654
654
  ccxt/test/tests_sync.py,sha256=uu0QsWOuEpkmtV12nIffsiZZFUpM-f1k6W9nlgCDqXs,83485
655
- ccxt-4.3.89.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
656
- ccxt-4.3.89.dist-info/METADATA,sha256=ohzvvVZgsrByy11r0tx54SL_vFvdu5uAJgSdgbyDRl8,118342
657
- ccxt-4.3.89.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
658
- ccxt-4.3.89.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
659
- ccxt-4.3.89.dist-info/RECORD,,
655
+ ccxt-4.3.90.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
656
+ ccxt-4.3.90.dist-info/METADATA,sha256=T4ALH61p2wqlsL-UJY8oNHQxfzlV8-Ws-a7Hq7bN8B8,118342
657
+ ccxt-4.3.90.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
658
+ ccxt-4.3.90.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
659
+ ccxt-4.3.90.dist-info/RECORD,,
File without changes