ccxt 4.4.91__py2.py3-none-any.whl → 4.4.93__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. ccxt/__init__.py +1 -1
  2. ccxt/abstract/lbank.py +2 -1
  3. ccxt/ascendex.py +9 -8
  4. ccxt/async_support/__init__.py +1 -1
  5. ccxt/async_support/ascendex.py +9 -8
  6. ccxt/async_support/base/exchange.py +4 -1
  7. ccxt/async_support/base/ws/client.py +4 -1
  8. ccxt/async_support/binance.py +42 -1
  9. ccxt/async_support/bitmart.py +7 -0
  10. ccxt/async_support/bitmex.py +3 -3
  11. ccxt/async_support/bitvavo.py +7 -1
  12. ccxt/async_support/bybit.py +81 -8
  13. ccxt/async_support/coinbaseexchange.py +53 -0
  14. ccxt/async_support/coincheck.py +45 -4
  15. ccxt/async_support/coinex.py +16 -12
  16. ccxt/async_support/cryptomus.py +30 -52
  17. ccxt/async_support/deribit.py +6 -6
  18. ccxt/async_support/exmo.py +70 -50
  19. ccxt/async_support/htx.py +1 -1
  20. ccxt/async_support/hyperliquid.py +2 -1
  21. ccxt/async_support/krakenfutures.py +1 -1
  22. ccxt/async_support/kucoin.py +12 -14
  23. ccxt/async_support/latoken.py +19 -71
  24. ccxt/async_support/lbank.py +115 -35
  25. ccxt/async_support/okx.py +151 -2
  26. ccxt/async_support/paradex.py +54 -0
  27. ccxt/async_support/phemex.py +3 -3
  28. ccxt/base/exchange.py +69 -30
  29. ccxt/base/types.py +1 -0
  30. ccxt/binance.py +42 -1
  31. ccxt/bitmart.py +7 -0
  32. ccxt/bitmex.py +3 -3
  33. ccxt/bitvavo.py +7 -1
  34. ccxt/bybit.py +81 -8
  35. ccxt/coinbaseexchange.py +53 -0
  36. ccxt/coincheck.py +45 -4
  37. ccxt/coinex.py +16 -12
  38. ccxt/cryptomus.py +30 -52
  39. ccxt/deribit.py +6 -6
  40. ccxt/exmo.py +70 -50
  41. ccxt/htx.py +1 -1
  42. ccxt/hyperliquid.py +2 -1
  43. ccxt/krakenfutures.py +1 -1
  44. ccxt/kucoin.py +12 -14
  45. ccxt/latoken.py +19 -71
  46. ccxt/lbank.py +115 -35
  47. ccxt/okx.py +151 -2
  48. ccxt/paradex.py +54 -0
  49. ccxt/phemex.py +3 -3
  50. ccxt/pro/__init__.py +1 -1
  51. ccxt/pro/bitstamp.py +48 -16
  52. ccxt/pro/bybit.py +5 -5
  53. {ccxt-4.4.91.dist-info → ccxt-4.4.93.dist-info}/METADATA +4 -4
  54. {ccxt-4.4.91.dist-info → ccxt-4.4.93.dist-info}/RECORD +57 -57
  55. {ccxt-4.4.91.dist-info → ccxt-4.4.93.dist-info}/LICENSE.txt +0 -0
  56. {ccxt-4.4.91.dist-info → ccxt-4.4.93.dist-info}/WHEEL +0 -0
  57. {ccxt-4.4.91.dist-info → ccxt-4.4.93.dist-info}/top_level.txt +0 -0
ccxt/paradex.py CHANGED
@@ -57,6 +57,7 @@ class paradex(Exchange, ImplicitAPI):
57
57
  'createTriggerOrder': True,
58
58
  'editOrder': False,
59
59
  'fetchAccounts': False,
60
+ 'fetchAllGreeks': True,
60
61
  'fetchBalance': True,
61
62
  'fetchBorrowInterest': False,
62
63
  'fetchBorrowRateHistories': False,
@@ -2346,6 +2347,59 @@ class paradex(Exchange, ImplicitAPI):
2346
2347
  greeks = self.safe_dict(data, 0, {})
2347
2348
  return self.parse_greeks(greeks, market)
2348
2349
 
2350
+ def fetch_all_greeks(self, symbols: Strings = None, params={}) -> List[Greeks]:
2351
+ """
2352
+ fetches all option contracts greeks, financial metrics used to measure the factors that affect the price of an options contract
2353
+
2354
+ https://docs.api.testnet.paradex.trade/#list-available-markets-summary
2355
+
2356
+ :param str[] [symbols]: unified symbols of the markets to fetch greeks for, all markets are returned if not assigned
2357
+ :param dict [params]: extra parameters specific to the exchange API endpoint
2358
+ :returns dict: a `greeks structure <https://docs.ccxt.com/#/?id=greeks-structure>`
2359
+ """
2360
+ self.load_markets()
2361
+ symbols = self.market_symbols(symbols, None, True, True, True)
2362
+ request: dict = {
2363
+ 'market': 'ALL',
2364
+ }
2365
+ response = self.publicGetMarketsSummary(self.extend(request, params))
2366
+ #
2367
+ # {
2368
+ # "results": [
2369
+ # {
2370
+ # "symbol": "BTC-USD-114000-P",
2371
+ # "mark_price": "10835.66892602",
2372
+ # "mark_iv": "0.71781855",
2373
+ # "delta": "-0.98726024",
2374
+ # "greeks": {
2375
+ # "delta": "-0.9872602390817709",
2376
+ # "gamma": "0.000004560958862297231",
2377
+ # "vega": "227.11344863639806",
2378
+ # "rho": "-302.0617972461581",
2379
+ # "vanna": "0.06609830491614832",
2380
+ # "volga": "925.9501532805552"
2381
+ # },
2382
+ # "last_traded_price": "10551.5",
2383
+ # "bid": "10794.9",
2384
+ # "bid_iv": "0.05",
2385
+ # "ask": "10887.3",
2386
+ # "ask_iv": "0.8783283",
2387
+ # "last_iv": "0.05",
2388
+ # "volume_24h": "0",
2389
+ # "total_volume": "195240.72672261014",
2390
+ # "created_at": 1747644009995,
2391
+ # "underlying_price": "103164.79162649",
2392
+ # "open_interest": "0",
2393
+ # "funding_rate": "0.000004464241170536191",
2394
+ # "price_change_rate_24h": "0.074915",
2395
+ # "future_funding_rate": "0.0001"
2396
+ # }
2397
+ # ]
2398
+ # }
2399
+ #
2400
+ results = self.safe_list(response, 'results', [])
2401
+ return self.parse_all_greeks(results, symbols)
2402
+
2349
2403
  def parse_greeks(self, greeks: dict, market: Market = None) -> Greeks:
2350
2404
  #
2351
2405
  # {
ccxt/phemex.py CHANGED
@@ -2658,14 +2658,14 @@ class phemex(Exchange, ImplicitAPI):
2658
2658
  triggerDirection = None
2659
2659
  triggerDirection, params = self.handle_param_string(params, 'triggerDirection')
2660
2660
  if triggerDirection is None:
2661
- raise ArgumentsRequired(self.id + " createOrder() also requires a 'triggerDirection' parameter with either 'up' or 'down' value")
2661
+ raise ArgumentsRequired(self.id + " createOrder() also requires a 'triggerDirection' parameter with either 'ascending' or 'descending' value")
2662
2662
  # the flow defined per https://phemex-docs.github.io/#more-order-type-examples
2663
- if triggerDirection == 'up':
2663
+ if triggerDirection == 'ascending' or triggerDirection == 'up':
2664
2664
  if side == 'sell':
2665
2665
  request['ordType'] = 'MarketIfTouched' if (type == 'Market') else 'LimitIfTouched'
2666
2666
  elif side == 'buy':
2667
2667
  request['ordType'] = 'Stop' if (type == 'Market') else 'StopLimit'
2668
- elif triggerDirection == 'down':
2668
+ elif triggerDirection == 'descending' or triggerDirection == 'down':
2669
2669
  if side == 'sell':
2670
2670
  request['ordType'] = 'Stop' if (type == 'Market') else 'StopLimit'
2671
2671
  elif side == 'buy':
ccxt/pro/__init__.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.4.91'
7
+ __version__ = '4.4.93'
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
ccxt/pro/bitstamp.py CHANGED
@@ -10,6 +10,7 @@ from ccxt.async_support.base.ws.client import Client
10
10
  from typing import List
11
11
  from ccxt.base.errors import AuthenticationError
12
12
  from ccxt.base.errors import ArgumentsRequired
13
+ from ccxt.base.precise import Precise
13
14
 
14
15
 
15
16
  class bitstamp(ccxt.async_support.bitstamp):
@@ -296,6 +297,7 @@ class bitstamp(ccxt.async_support.bitstamp):
296
297
  # "price_str":"1000.00"
297
298
  # },
298
299
  # "channel":"private-my_orders_ltcusd-4848701",
300
+ # "event": "order_deleted" # field only present for cancelOrder
299
301
  # }
300
302
  #
301
303
  channel = self.safe_string(message, 'channel')
@@ -307,29 +309,58 @@ class bitstamp(ccxt.async_support.bitstamp):
307
309
  subscription = self.safe_value(client.subscriptions, channel)
308
310
  symbol = self.safe_string(subscription, 'symbol')
309
311
  market = self.market(symbol)
312
+ order['event'] = self.safe_string(message, 'event')
310
313
  parsed = self.parse_ws_order(order, market)
311
314
  stored.append(parsed)
312
315
  client.resolve(self.orders, channel)
313
316
 
314
317
  def parse_ws_order(self, order, market=None):
315
318
  #
316
- # {
317
- # "id":"1463471322288128",
318
- # "id_str":"1463471322288128",
319
- # "order_type":1,
320
- # "datetime":"1646127778",
321
- # "microtimestamp":"1646127777950000",
322
- # "amount":0.05,
323
- # "amount_str":"0.05000000",
324
- # "price":1000,
325
- # "price_str":"1000.00"
319
+ # {
320
+ # "id": "1894876776091648",
321
+ # "id_str": "1894876776091648",
322
+ # "order_type": 0,
323
+ # "order_subtype": 0,
324
+ # "datetime": "1751451375",
325
+ # "microtimestamp": "1751451375070000",
326
+ # "amount": 1.1,
327
+ # "amount_str": "1.10000000",
328
+ # "amount_traded": "0",
329
+ # "amount_at_create": "1.10000000",
330
+ # "price": 10.23,
331
+ # "price_str": "10.23",
332
+ # "is_liquidation": False,
333
+ # "trade_account_id": 0
326
334
  # }
327
335
  #
328
336
  id = self.safe_string(order, 'id_str')
329
- orderType = self.safe_string_lower(order, 'order_type')
337
+ orderTypeRaw = self.safe_string_lower(order, 'order_type')
338
+ side = 'sell' if (orderTypeRaw == '1') else 'buy'
339
+ orderSubTypeRaw = self.safe_string_lower(order, 'order_subtype') # https://www.bitstamp.net/websocket/v2/#:~:text=order_subtype
340
+ orderType: Str = None
341
+ timeInForce: Str = None
342
+ if orderSubTypeRaw == '0':
343
+ orderType = 'limit'
344
+ elif orderSubTypeRaw == '2':
345
+ orderType = 'market'
346
+ elif orderSubTypeRaw == '4':
347
+ orderType = 'limit'
348
+ timeInForce = 'IOC'
349
+ elif orderSubTypeRaw == '6':
350
+ orderType = 'limit'
351
+ timeInForce = 'FOK'
352
+ elif orderSubTypeRaw == '8':
353
+ orderType = 'limit'
354
+ timeInForce = 'GTD'
330
355
  price = self.safe_string(order, 'price_str')
331
356
  amount = self.safe_string(order, 'amount_str')
332
- side = 'sell' if (orderType == '1') else 'buy'
357
+ filled = self.safe_string(order, 'amount_traded')
358
+ event = self.safe_string(order, 'event')
359
+ status = None
360
+ if Precise.string_eq(filled, amount):
361
+ status = 'closed'
362
+ elif event == 'order_deleted':
363
+ status = 'canceled'
333
364
  timestamp = self.safe_timestamp(order, 'datetime')
334
365
  market = self.safe_market(None, market)
335
366
  symbol = market['symbol']
@@ -341,8 +372,8 @@ class bitstamp(ccxt.async_support.bitstamp):
341
372
  'timestamp': timestamp,
342
373
  'datetime': self.iso8601(timestamp),
343
374
  'lastTradeTimestamp': None,
344
- 'type': None,
345
- 'timeInForce': None,
375
+ 'type': orderType,
376
+ 'timeInForce': timeInForce,
346
377
  'postOnly': None,
347
378
  'side': side,
348
379
  'price': price,
@@ -351,9 +382,9 @@ class bitstamp(ccxt.async_support.bitstamp):
351
382
  'amount': amount,
352
383
  'cost': None,
353
384
  'average': None,
354
- 'filled': None,
385
+ 'filled': filled,
355
386
  'remaining': None,
356
- 'status': None,
387
+ 'status': status,
357
388
  'fee': None,
358
389
  'trades': None,
359
390
  }, market)
@@ -417,6 +448,7 @@ class bitstamp(ccxt.async_support.bitstamp):
417
448
  # "price_str":"1000.00"
418
449
  # },
419
450
  # "channel":"private-my_orders_ltcusd-4848701",
451
+ # "event": "order_deleted" # field only present for cancelOrder
420
452
  # }
421
453
  #
422
454
  channel = self.safe_string(message, 'channel')
ccxt/pro/bybit.py CHANGED
@@ -14,6 +14,7 @@ from ccxt.base.errors import ExchangeError
14
14
  from ccxt.base.errors import AuthenticationError
15
15
  from ccxt.base.errors import ArgumentsRequired
16
16
  from ccxt.base.errors import BadRequest
17
+ from ccxt.base.errors import NotSupported
17
18
 
18
19
 
19
20
  class bybit(ccxt.async_support.bybit):
@@ -1235,8 +1236,7 @@ class bybit(ccxt.async_support.bybit):
1235
1236
  subHash = 'myTrades'
1236
1237
  await self.load_markets()
1237
1238
  if symbol is not None:
1238
- symbol = self.symbol(symbol)
1239
- subHash += ':' + symbol
1239
+ raise NotSupported(self.id + ' unWatchMyTrades() does not support a symbol parameter, you must unwatch all my trades')
1240
1240
  url = await self.get_url_by_market_type(symbol, True, method, params)
1241
1241
  await self.authenticate(url)
1242
1242
  topicByMarket: dict = {
@@ -1652,8 +1652,7 @@ class bybit(ccxt.async_support.bybit):
1652
1652
  messageHash = 'unsubscribe:orders'
1653
1653
  subHash = 'orders'
1654
1654
  if symbol is not None:
1655
- symbol = self.symbol(symbol)
1656
- subHash += ':' + symbol
1655
+ raise NotSupported(self.id + ' unWatchOrders() does not support a symbol parameter, you must unwatch all orders')
1657
1656
  url = await self.get_url_by_market_type(symbol, True, method, params)
1658
1657
  await self.authenticate(url)
1659
1658
  topicsByMarket: dict = {
@@ -2351,6 +2350,7 @@ class bybit(ccxt.async_support.bybit):
2351
2350
  for j in range(0, len(messageHashes)):
2352
2351
  unsubHash = messageHashes[j]
2353
2352
  subHash = subMessageHashes[j]
2354
- self.clean_unsubscription(client, subHash, unsubHash)
2353
+ usePrefix = (subHash == 'orders') or (subHash == 'myTrades')
2354
+ self.clean_unsubscription(client, subHash, unsubHash, usePrefix)
2355
2355
  self.clean_cache(subscription)
2356
2356
  return message
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.4.91
3
+ Version: 4.4.93
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
@@ -269,13 +269,13 @@ console.log(version, Object.keys(exchanges));
269
269
 
270
270
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
271
271
 
272
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.91/dist/ccxt.browser.min.js
273
- * unpkg: https://unpkg.com/ccxt@4.4.91/dist/ccxt.browser.min.js
272
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.93/dist/ccxt.browser.min.js
273
+ * unpkg: https://unpkg.com/ccxt@4.4.93/dist/ccxt.browser.min.js
274
274
 
275
275
  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.
276
276
 
277
277
  ```HTML
278
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.91/dist/ccxt.browser.min.js"></script>
278
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.93/dist/ccxt.browser.min.js"></script>
279
279
  ```
280
280
 
281
281
  Creates a global `ccxt` object:
@@ -1,10 +1,10 @@
1
- ccxt/__init__.py,sha256=mfiQJQEb7-xLN1dO-DU6YGY1jWy0frqKaTfliu1rsFc,16184
1
+ ccxt/__init__.py,sha256=ADcxETzdwUPThtX9s0D1cocb-c9onIvprvgSnLCiI2Y,16184
2
2
  ccxt/alpaca.py,sha256=S-PvXknJDcYUqHZWg4isZKGbTa8oU2G4Z0BqbvObNPI,80687
3
3
  ccxt/apex.py,sha256=zNACpzgcqESJBg73H7gdDoA7ixjDVhCwFRr5hVtcT5g,82680
4
- ccxt/ascendex.py,sha256=J1Ob6JJ-GXLfm5NHKETN985sAPN3nYlzWi57GYB1zpE,158608
4
+ ccxt/ascendex.py,sha256=TRs0A2Odiu9yrog1rNC1Jo01kdmGIvDJWUd4vy3NaDI,158694
5
5
  ccxt/bequant.py,sha256=9rBVB2Wg9YMmgYiCqS1NSxiftPWmL97FdaNLVPb3Zpo,1218
6
6
  ccxt/bigone.py,sha256=9HdNocMHTNAqBT5SZM8C31k_yUnVDH66fAERYQd2rnM,95645
7
- ccxt/binance.py,sha256=CAdK2uEbPLtuHJxS15Rgske4bLsrasLYiSbiHjiPjOo,680160
7
+ ccxt/binance.py,sha256=go1WjkoXp2xokahe5tEfi4VwL6EeWs9OwisIdlU3qfc,681948
8
8
  ccxt/binancecoinm.py,sha256=UEJd_dZQkrLdJpaCE_t9aHCwJdxpjheyTaWJ8RKWIm8,1720
9
9
  ccxt/binanceus.py,sha256=fPaJxinZbmJbrXMW1aYW32n6fXX_VL7odjLEng77wdI,9500
10
10
  ccxt/binanceusdm.py,sha256=U962JuxLu2_GXtWke4m-kLjtYRF-4H9ZlZ87FpXPYHo,2651
@@ -16,44 +16,44 @@ ccxt/bitfinex.py,sha256=xje9kkfIlrdnmYdC2Vz8J9M511KPxvkqVw68ceIbsgc,167867
16
16
  ccxt/bitflyer.py,sha256=WCSs3DkjhmoBuV5mCLHSTMOB9eUwKmntfhBKbiY5B3g,46926
17
17
  ccxt/bitget.py,sha256=e6ssz20PaoHGhU9bL0fDs4q54HGB-_BkssQGelOOW_0,453846
18
18
  ccxt/bithumb.py,sha256=GHYK_Xwzk9nwINHN1lhnRvnTX8mL98RZQ3Khz213A1s,51640
19
- ccxt/bitmart.py,sha256=aG2Vg10J65y3Wm3y1P4G9AxA2PnaIHfo3xqxg4J3QP8,248245
20
- ccxt/bitmex.py,sha256=yfYWTE6n3KxcWIGrbEwus9Q4eOm5xGlmjapaBOjQfek,131832
19
+ ccxt/bitmart.py,sha256=4MG2T1wLN7FaUMlMwx2lYdio16Ur-mWqmNQ-8_Srcgk,249281
20
+ ccxt/bitmex.py,sha256=ueedqmgQhSTNZdES0h7RCHD2Vqy34lHyuQajQRz3AOA,131919
21
21
  ccxt/bitopro.py,sha256=5e56YxFdUtGV885QUmPMxu_g6kUoaUVCMcB9U48LdEU,75452
22
22
  ccxt/bitrue.py,sha256=nxnwNVJv8DJLl3itJoIPnSBkhmAQxHfGpUeDB_skH5A,141003
23
23
  ccxt/bitso.py,sha256=wlR9IWQzs4KrenG8bzibeIrFurbBw5BJgimXk72MCfA,75694
24
24
  ccxt/bitstamp.py,sha256=s5ncJmGr3ce_xXNOaQjsWbB4qjg8VdmS_eaKc0ricpU,97130
25
25
  ccxt/bitteam.py,sha256=Jv3wdSztOGKULkV1uZydBJxwQ3I0_M8kI6CDB_gtH9Y,106752
26
26
  ccxt/bittrade.py,sha256=OGFnmq0hMYSFYo_41nbq_qdG-h6WA2FptugWBhNgTsw,92967
27
- ccxt/bitvavo.py,sha256=VoKI0nn-Oq0rvu60ce14PIt9oy7X-cwWUPZ21q1YBvE,96985
27
+ ccxt/bitvavo.py,sha256=8kxFLAItpcXwqRxPE0WgubZLE34YJbEb1aZq-1qsFSY,97524
28
28
  ccxt/blockchaincom.py,sha256=8U9YcQEycLVDyJLBX5GSqzYKrI9qWG7eOGSythVmOx0,51717
29
29
  ccxt/blofin.py,sha256=3f6aOvPI7IyTFcikppkjxOoz5nTpqVIADvq8T09-LFg,113354
30
30
  ccxt/btcalpha.py,sha256=zfH2J78nYHj-of0lLWFm7_3uzHoFdtQk6pnxFucSmIc,41323
31
31
  ccxt/btcbox.py,sha256=v0HIZASf4bqqO_vCeGvmPaIxSp3IHs96eXTKmdEKeQg,32617
32
32
  ccxt/btcmarkets.py,sha256=Wi8EctKjcc2WN9VLv0QliIpkyazo5vHaardgZDVa4pY,57446
33
33
  ccxt/btcturk.py,sha256=b8d64i0G6W7vrj0yTHoFfEWUjTyCFFm581hVIOTpwPs,41099
34
- ccxt/bybit.py,sha256=z8ZiIig5bYa1CFfNuQO6PMJ4-k5m70unV6yNJ0VQDMQ,436241
34
+ ccxt/bybit.py,sha256=XPKsdtZLw8itseGkDC9tNFm3VrsWtKAyZ9qKWKL3gME,439817
35
35
  ccxt/cex.py,sha256=hfk5nY0orEM2-benqiKbQvsYXaDSfzzVF_AJ5zLkDkg,75228
36
36
  ccxt/coinbase.py,sha256=KCXeHooSvZYzkV0qbuUvh7KUZoxV8YyvCLZo8xsJ358,236315
37
37
  ccxt/coinbaseadvanced.py,sha256=Eb1X4_VtdNEu1q0Anr-MzdHG55OhCiZYgdeZv2kFuPg,577
38
- ccxt/coinbaseexchange.py,sha256=XxLe-YwcDMncJREjwx1qRlzNtGlk-gOvaYcNdyEpb5Q,87178
38
+ ccxt/coinbaseexchange.py,sha256=EWTa3HFTzKwLzXUUVxgHfHWHoy3wOs-xBAgdkIOFpKs,89593
39
39
  ccxt/coinbaseinternational.py,sha256=VH3RCIjvr9Y1FH-qcry92faMAEOzLR67XADKWjLDSV4,100805
40
40
  ccxt/coincatch.py,sha256=e2_bRVu46cnnJvo4SUCGztFbyq43xvoA3ulYph2S7ms,244315
41
- ccxt/coincheck.py,sha256=CAuMcY3JvLbwpGHR4W1qUt-P7zKRqRRLsObxK5C9I0I,38011
42
- ccxt/coinex.py,sha256=CoCBNE0SWXgXBurhdqcsMuMsj3TnYALKFUz-_gLz2XA,267281
41
+ ccxt/coincheck.py,sha256=c0Ynqa3HnhqCpPjjRc-tOJsLPSM-b4yIzRlRs5cqe_I,39975
42
+ ccxt/coinex.py,sha256=2IWog856J1MkEwbFWGUBAtiLVycQJEDzk2ddXhEh964,267633
43
43
  ccxt/coinmate.py,sha256=ZbhFH_ALCbB9UpkSFlyh8RP4ZiLH7IbjJGX2PEOtUOs,48773
44
44
  ccxt/coinmetro.py,sha256=4HKcoDpa_BnDgnM0x47aLmBt-4KxXfSKS8pr1rE3K8k,84504
45
45
  ccxt/coinone.py,sha256=nzJSHoDvUsttXDNdn6Wd1p72Duj9GuRQ1bgqvphryCI,49231
46
46
  ccxt/coinsph.py,sha256=j_9eHDvD1TNRe5c4vmSDruT6XMYf-orPhof6Tn-tVSA,99456
47
47
  ccxt/coinspot.py,sha256=jQsrrLsUbHKpG1fe1lYEed4LNVLG3TJhx49NrkVyN2w,25997
48
48
  ccxt/cryptocom.py,sha256=bwiSRpAkWnauR_fGO5NOWILu_xpNm5euYZHQBPn9a9A,149197
49
- ccxt/cryptomus.py,sha256=uQfP8zn8tjZIJRUk7jVUJmSEC6QZ1trxL7vFmKoAFFE,47506
49
+ ccxt/cryptomus.py,sha256=OG_S0bsfDofWqMId_IO15IdMRm5oJ73Y4pdTT8mU9io,46661
50
50
  ccxt/defx.py,sha256=NkK5RWtxb_jaqTBsOLyUeXv5cdxS6jYZd3w7swsV7VQ,85291
51
51
  ccxt/delta.py,sha256=nChbNm4BsOLUubaFJP7DgvCBnfbz5FHZuz2Gog629dI,157309
52
- ccxt/deribit.py,sha256=yl2jQyWkhufwhf8MLfcCS1fjvDMCi7qi9amcjztIpAg,167176
52
+ ccxt/deribit.py,sha256=qpvc5RtAfgur-b1l781FUOt919uxSJEvQ_5tEWHfRKA,167178
53
53
  ccxt/derive.py,sha256=xXB1Li3VHuwtmibyEH-6aESXvuPFzjUMMRfXTApFt6E,122255
54
54
  ccxt/digifinex.py,sha256=EXRWsjYJVLR092ME1krRw7UED9H-ZgT2WulXTYQ2BfE,174808
55
55
  ccxt/ellipx.py,sha256=b9wioqg43r3I63bWm0fIlk9EOGe44yoZSHx8m7B9JHQ,84066
56
- ccxt/exmo.py,sha256=EpylCbunmOx65-zhuFdFCPmhdN6piHBfWoemNL1kkSY,120803
56
+ ccxt/exmo.py,sha256=hHAXMBv4pCtzXMl7blw8rffCw2ObvtbkJjwt2FF2IzA,121799
57
57
  ccxt/fmfwio.py,sha256=a1VjvGxdm6bVGDyC0UhyB-0QgUmxsWUWs0ZAAK2RI9E,1275
58
58
  ccxt/gate.py,sha256=wufQi_WBp5ZP62wZCJgueeA1iOcwLPNh8oX4iqHpo40,352213
59
59
  ccxt/gateio.py,sha256=7KbnH56kBK0tb_CN-wT10jaF5DfTrnHarhu27eknsLI,484
@@ -61,17 +61,17 @@ ccxt/gemini.py,sha256=V46lQwQ5a15YeCcOAOEHCuJQBnDvs_9LkrgTwDdCyxc,83625
61
61
  ccxt/hashkey.py,sha256=oOZOJc9ZM-5FahVomRpk4nfRFnGG2zTRWvGO9CQ2Quw,191237
62
62
  ccxt/hitbtc.py,sha256=glI1oOlmeIwFwBIZQNDKs7VBx6hIZXOuL_LsDkm6roo,159659
63
63
  ccxt/hollaex.py,sha256=h0uplmuLHOWAabORg-5T8LTAr4fCQYtMt__EFKmm9Ks,82514
64
- ccxt/htx.py,sha256=WjAspWUAhfNtRoxWbjdlAzthv9QneRFQ4YmoJcgm1OY,444035
64
+ ccxt/htx.py,sha256=0R4HI7lC37YBoPcF7WqnEG_Cv4LxvURG97B8BJ3n4QI,444057
65
65
  ccxt/huobi.py,sha256=rQI8HyRj6Jt9XgJYdTbu4tzu85sv0SWT3rvO_HY8r_E,477
66
- ccxt/hyperliquid.py,sha256=Gsq0yWhTnO8zYdRLretO47k4_Pz9Xj7ywvjWqTONtts,152882
66
+ ccxt/hyperliquid.py,sha256=7c08y01V_RDIEmhisn3ZEuve0bYxfsZ61x-WhyJjbjw,152935
67
67
  ccxt/independentreserve.py,sha256=4kg2DbElwd39vDP_39tIjRMj4uT2E7Rm6HIxnTfcux0,43214
68
68
  ccxt/indodax.py,sha256=mnOPkrLScNIQ9CFkFY126OHgnLf2pCdnxaILPvFiwPc,57739
69
69
  ccxt/kraken.py,sha256=Hod4OtZav3g4sT1v6UqRJYENGUtBNaIqvvGt4uQjZkE,148523
70
- ccxt/krakenfutures.py,sha256=FxcFHrQHgytW8QtFRzGQdM1eka4keWNVYdU0er3UsGw,123352
71
- ccxt/kucoin.py,sha256=OycntB0gK0mI4ZfDDMmHip8n2S-AxgKX2jG9XjFeJ5A,232381
70
+ ccxt/krakenfutures.py,sha256=YNkjiQPRSxFZDiu_Irh9zJ-ILEVgbAJ2uNA_7_eQ-vU,123374
71
+ ccxt/kucoin.py,sha256=K21dkk9MqfRi3PmJuyJ0J7FxwQYrppVtCG0EMEUj-WY,232408
72
72
  ccxt/kucoinfutures.py,sha256=dIYjcWvjFSMdvykeSKLHJtyetBxPHKToj5TvLTv9pYA,146502
73
- ccxt/latoken.py,sha256=WgmOCDR-7LfFi3NiqudrxUMR63ivcxxJMyE95YcUD5I,82334
74
- ccxt/lbank.py,sha256=wboC02jnDOCj4Q1QNuwgMJ6umoXuYS1CySiXP4valCg,123621
73
+ ccxt/latoken.py,sha256=1KJslqcksbcVZfuVWIjfPJT56bQ4SLrderz_KoLeNFw,80472
74
+ ccxt/lbank.py,sha256=IteMVUUC59DnJnUmJJD6qasac0ppIHTMSDrRXMQbeTw,126548
75
75
  ccxt/luno.py,sha256=IJUlAXvpSa6mrG5GGEbz_5UcfHVPIl2sgD848HXAOFU,56910
76
76
  ccxt/mercado.py,sha256=xdbHqVJgj570KETzQSUftP_I73ewdVqSg0Sj_oORt0w,38466
77
77
  ccxt/mexc.py,sha256=h_lRUM7X5-ZKEPKKYNUxBiAlrqgc6YEDjuH8j_KTFw0,258968
@@ -81,14 +81,14 @@ ccxt/ndax.py,sha256=lnfDM_ogPiR5E9SL4iKt9iCeVbeTp8EUrM2N6J0_vM4,113853
81
81
  ccxt/novadax.py,sha256=8K6mKIBY5KyyunyBsYJEosfkr2yDrPVgJfFUpET242k,67583
82
82
  ccxt/oceanex.py,sha256=YhvVgresX7nm8sFxD8Yr5pQI5IzuuRllW-JdA9RkDSM,44195
83
83
  ccxt/okcoin.py,sha256=KbBkeYpv64SK2e9gyeaseY82DyIemAtfMrNBDaQmTOU,153941
84
- ccxt/okx.py,sha256=G7hAkjrFzx_mlLfXiwxaeJnhUescBPWwrNk1nVRf7mE,399274
84
+ ccxt/okx.py,sha256=2EMHEKz6xpDOOF01cxLe8G4YR9mNd8pFVlzwYqqpc1w,406479
85
85
  ccxt/okxus.py,sha256=luEXOXlnV3UAmoZ_y8_7OGMxC3KyxLvy_8qI7Dc8F-g,1773
86
86
  ccxt/onetrading.py,sha256=sWvLW8q4yqJ4qGFZgp14tMt8_SYrV8fkrEstir8Y-3Y,76492
87
87
  ccxt/oxfun.py,sha256=j7X5i6v1pMnQS6TnrVl-m2u8RgCKyw9C584_Gdh1th4,124422
88
88
  ccxt/p2b.py,sha256=2mkYFm3h_lFtgEu13F6sDgbj3UxYyTG-3R_l-w7NZiM,56725
89
- ccxt/paradex.py,sha256=1qu9dpaGZ8apTmzROBXTHVur8SmQsjlDdO0UDGjfNNg,105584
89
+ ccxt/paradex.py,sha256=OARhvCNmqtpMebMnp_J2Z_zOij-Om8fcJz2DOO_WLjQ,108158
90
90
  ccxt/paymium.py,sha256=SPe-2BHskOi8uHtrFWqcoop-ec5vu9GSQwDDf8EnXTA,26219
91
- ccxt/phemex.py,sha256=zbMwXctIOcXvXt2QqBjszqyyOgdhHOEnAB0w6j1Av3Q,242408
91
+ ccxt/phemex.py,sha256=kYLjOzPje81oYmtlJ2TydZdmVzYVED4vTz-DRuWaQh8,242492
92
92
  ccxt/poloniex.py,sha256=S8He49jYO3VO4AJbRLLCH6iQy21JdTQVZnY77hTES2A,155043
93
93
  ccxt/probit.py,sha256=clsrBdC3YP-FT7HVUICXCk2q34PhhuBbURcxQDKAvWA,77624
94
94
  ccxt/timex.py,sha256=O6NrRwPVnjrHo2unN55qzeSMokDtMBGuWjdkQjtXUpM,75124
@@ -177,7 +177,7 @@ ccxt/abstract/krakenfutures.py,sha256=pu81cKhQgBkQd8F9-Ly3b7xQD-qQ8WLi8EUMfmAUJc
177
177
  ccxt/abstract/kucoin.py,sha256=kVrVEXiigc36arfbSS8lDUMnG7uFdKgUKHIhVb0Am_8,28626
178
178
  ccxt/abstract/kucoinfutures.py,sha256=W6PBPwLtaFPMjWjTWmrmhnj348iBJywJxr-_a_YJY28,32531
179
179
  ccxt/abstract/latoken.py,sha256=1GqE9WxrubgZILnYvg7W_dGyui-FKeIv0bU4z1dQj1k,7168
180
- ccxt/abstract/lbank.py,sha256=pdut_cIcwcUhN_ZCyWJxixBc4dgeQqvENYqFCrUYrvA,8675
180
+ ccxt/abstract/lbank.py,sha256=rzO-GvmdZcgOyNxTH5b0-wP2C20SxRWDqNYCmFpxBq8,8803
181
181
  ccxt/abstract/luno.py,sha256=bnq9OVi02FIdL3lEYN-KXCmUIUvZm2k8T1POhrvr4Y4,3730
182
182
  ccxt/abstract/mercado.py,sha256=qs3Fr6C_K8M-YIsGx-W9iUiFXcgQ0SA8uADvhV8mDQM,2357
183
183
  ccxt/abstract/mexc.py,sha256=oyg0sZFYs1d77F-_9QAatqMSQJ8h-1u1wWb-d1DX2zQ,26434
@@ -210,13 +210,13 @@ ccxt/abstract/xt.py,sha256=n3eX1cItL_J0j8prOViV-C_tRwIFv_GO8JTvZZw8jv8,27837
210
210
  ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
211
211
  ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
212
212
  ccxt/abstract/zonda.py,sha256=X-hCW0SdX3YKZWixDyW-O2211M58Rno8kKJ6quY7rw4,7183
213
- ccxt/async_support/__init__.py,sha256=UH_PVld-sQ4KSUxp-Iwag-YPzbkMerQDvoluhoICnXg,15957
213
+ ccxt/async_support/__init__.py,sha256=IlTU_q9NxeHMk5oi5nTXUm5Lw35EMJ9gMAmxRmuwUD4,15957
214
214
  ccxt/async_support/alpaca.py,sha256=Tag0HpHxho_qrXoQ8rjZBVJZj9T38qg8g-mZR39_m18,81133
215
215
  ccxt/async_support/apex.py,sha256=Lf740Qrx0kRb2fVZWS0FwZeysyMz65IEFD66jzn-NfA,83168
216
- ccxt/async_support/ascendex.py,sha256=sbL_sajKakTo1-Qw87oipkxrA5Qk-ol6bnY3kqh_5Bk,159445
216
+ ccxt/async_support/ascendex.py,sha256=BWb_JpesfM8mRvkZ1QnCg5SGawTpeZEw0aVYNlstDno,159531
217
217
  ccxt/async_support/bequant.py,sha256=-O1NDzEwsG1L2H17ZzcJw7ZHvDt8s-47bgqzjixYkjc,1232
218
218
  ccxt/async_support/bigone.py,sha256=LIFOq8_49wkrql1VLqFJhJaOokDqw6JnYfS4fdkfCGU,96099
219
- ccxt/async_support/binance.py,sha256=2TUalju1usqqKzEGMwa4fHWs5_vbNCgpaytNrvX1jL8,683073
219
+ ccxt/async_support/binance.py,sha256=fO-D16rsUYPhvVYKjBD-ixyAz1FCveflF73BCjcO4Ww,684879
220
220
  ccxt/async_support/binancecoinm.py,sha256=1NC5yuHlkNgXH5mEz20lU7O7u3pODa6fluSmHO7W5Lc,1758
221
221
  ccxt/async_support/binanceus.py,sha256=fD4Rm2iJZ6YZuJAbRt5TPh2p8dIyN8yQkovnSWKF6F8,9514
222
222
  ccxt/async_support/binanceusdm.py,sha256=pSIfePaOra0ikZLqFbvBAgHXbj1bhmuSt1G-DiNbgIk,2689
@@ -228,44 +228,44 @@ ccxt/async_support/bitfinex.py,sha256=reAsUMsbu8a3g_hK0s50btHcWQXo3jTH4bfvjFM5dR
228
228
  ccxt/async_support/bitflyer.py,sha256=i68Vb2iY6OCXQ2DU9pHKJexOxH8dZAZrZSPr_q-colA,47252
229
229
  ccxt/async_support/bitget.py,sha256=sPHtswNgPICInGQshCx2B1FxTmzf71mHVFQIxImZeew,455589
230
230
  ccxt/async_support/bithumb.py,sha256=ar0QoFintFU7qv7wW6xjnYqBR3keNYN4qN5cbybYxEY,51919
231
- ccxt/async_support/bitmart.py,sha256=RFolj5OLPM94D1dU-de0wGD92gX3z8I9p3l67Nu2gTk,249369
232
- ccxt/async_support/bitmex.py,sha256=Nol7iGiAzcCom877VUrfsL0cobZ5DXPRmYmq6noBsoM,132410
231
+ ccxt/async_support/bitmart.py,sha256=PkmPIZj_tVUwmAotVSfdw9fkY53AGAsgKmJZrqFGyj0,250405
232
+ ccxt/async_support/bitmex.py,sha256=pImd4aNvGd6-Kp8HqX78kA7toBrrbS0bIHSbG_13s5M,132497
233
233
  ccxt/async_support/bitopro.py,sha256=ZSzfoGFxe8005JhF58OGhAgjOz_ElL4kS8gZBxlp5cs,75862
234
234
  ccxt/async_support/bitrue.py,sha256=pYVOhG7dB1RAYsHLmlut9qd3tOxaZF8VS-J1fImp_qU,141661
235
235
  ccxt/async_support/bitso.py,sha256=VxJIMonNL21HlZtf1t_VTTdwfrpDr5B8FB0o-aSISP4,76080
236
236
  ccxt/async_support/bitstamp.py,sha256=RD8F7UtyaSfJKBgbIjA38QTu64TQ1kGbIJ2eAdNAc7A,97630
237
237
  ccxt/async_support/bitteam.py,sha256=2k4h8RT_YzDO6TXB803udxI_-AGZ75IBUFLVmXb_HOM,107084
238
238
  ccxt/async_support/bittrade.py,sha256=-mdePTb7mXd7e4_sDAtgYtvJlcGlExwGROshTaU1aa8,93467
239
- ccxt/async_support/bitvavo.py,sha256=1TnQ-UhL0SQX1tnJvwQAVIZ4fqE2nOf-VevivY2j_OA,97419
239
+ ccxt/async_support/bitvavo.py,sha256=spV_YA_YZrmKFmn9zNL-bXfpBF0t9dPlu3q8alpIzig,97958
240
240
  ccxt/async_support/blockchaincom.py,sha256=t6fKdJrwSTZH6Ztki45oV_mt2FORVwmSpJxwn1DFtrM,52109
241
241
  ccxt/async_support/blofin.py,sha256=uaykyvjInh2CyUTWSflG1c-P8nksCERfLLGxHZ3Oov0,114016
242
242
  ccxt/async_support/btcalpha.py,sha256=yPdYrvg6xk5w2A7WTyABPxfKVohNjUc3QYLJD3tGn1Q,41601
243
243
  ccxt/async_support/btcbox.py,sha256=LQESzuVcGVbuCIBUd-gx-yEkQxk3BkEPGYS3JqcBOls,32873
244
244
  ccxt/async_support/btcmarkets.py,sha256=Hyl6g0n86vkfFeA74hPiOWyf0Gy-jP3IFd3viliaTwk,57796
245
245
  ccxt/async_support/btcturk.py,sha256=hnvcz2VixRaUTK9qG14yuvI8ime5GykDnd8C539UHow,41317
246
- ccxt/async_support/bybit.py,sha256=HhsT0lUGMgtObPLYkAA0HH3fPY7qtSgru2irZgr3rsI,438061
246
+ ccxt/async_support/bybit.py,sha256=wvigNEv6iQyyEZFnc0w4R1SLLVK5R3MKBbaN59WFb1s,441655
247
247
  ccxt/async_support/cex.py,sha256=JGYkLVxmT2YLMN3FhPGu2uYXNDYjLqocl0LAEU5Ln98,75700
248
248
  ccxt/async_support/coinbase.py,sha256=F6tJV3Yl0UEnEaaXLjd_CitOQYJaXP5p0eZrE2eM1ps,237576
249
249
  ccxt/async_support/coinbaseadvanced.py,sha256=TnsUS2r5fvHIEfQmJh7J6Muyg8tPqDJphKYmK7gUQGE,591
250
- ccxt/async_support/coinbaseexchange.py,sha256=HDpvVVbjP1ufz2v-GyBVHl550XhsrXuPNQYYriFOSVQ,87684
250
+ ccxt/async_support/coinbaseexchange.py,sha256=__Jy-Uerva5hCS2c6lmEgKxRb8JhxryQMugOLgH8aOw,90099
251
251
  ccxt/async_support/coinbaseinternational.py,sha256=0wTE9n8B_GOeHOH0CdA_2hnhe0abqx7Wwk4roaotE0Y,101419
252
252
  ccxt/async_support/coincatch.py,sha256=2_qdmOvJo-T65OGW3LKIpYm2H2eBP7T1y6BiIJBZnc8,245391
253
- ccxt/async_support/coincheck.py,sha256=riQpuspYXE3FXgjQQaNFSjnWGtsPUBwdOrq9Hy3eTO8,38217
254
- ccxt/async_support/coinex.py,sha256=lj_2qf1gnqmXbVf_pXBZddBFsHeVmh_N2JIxBHhmPwM,268569
253
+ ccxt/async_support/coincheck.py,sha256=rONaOxXDF5scpONv_YKyloPom_50tNSKkQOvT1izDMs,40181
254
+ ccxt/async_support/coinex.py,sha256=rKjhOk0bRSh2r-RuEf-mneByxwJVl9qHvVILtAbJuZA,268921
255
255
  ccxt/async_support/coinmate.py,sha256=iC1zJju22iTcFtrQKFSsOyPkgTFQkUDa_2FWOOH029w,49039
256
256
  ccxt/async_support/coinmetro.py,sha256=RkkaJ7-apWSr5I9iHBc4samaqf28eWhPmIGaCB0zxyI,84824
257
257
  ccxt/async_support/coinone.py,sha256=nNNpMSRHFz8pQEkHcEIj9GHNHsnlWhwk_ZauMmAIePI,49473
258
258
  ccxt/async_support/coinsph.py,sha256=zHsKdCq_EMNfqlO68i-uop_ctXmwfbfUcQ_4yGmmQeI,99902
259
259
  ccxt/async_support/coinspot.py,sha256=TpccNE4N4g2lVcPPVzDVR5P2rD8TxqYXzpmNqpxRulQ,26155
260
260
  ccxt/async_support/cryptocom.py,sha256=ijDQY3ILYWIXaRwtx73zLY2RlrvkTp5n0RljIItXq5Q,149835
261
- ccxt/async_support/cryptomus.py,sha256=pnQMocQIduf44dA5x6RC6vl9vq09YiF6zw3FegcwysE,47706
261
+ ccxt/async_support/cryptomus.py,sha256=yiCMdQm69kRTEu6MSqqdnWgbhjdzPA35gHc_Mc-0YZ8,46861
262
262
  ccxt/async_support/defx.py,sha256=mhcJBpJGSZZm3IoKyaGuTIOokmvVm6RVl9mRf-39_3A,85793
263
263
  ccxt/async_support/delta.py,sha256=5wh7mM8MGXupMAyNe3Pu47od1VNKfKkLCOASyBh2BMw,157917
264
- ccxt/async_support/deribit.py,sha256=Zfcl0uPhi6oYAYBy5T6MywTpdNbarfyJLH-rxqiZ-NE,167958
264
+ ccxt/async_support/deribit.py,sha256=ZZhIqv0uF4HR1NIkghQ3DcLOG52WG-D-SRBRNDI_11g,167960
265
265
  ccxt/async_support/derive.py,sha256=wvaGnXWt8llnj9YCRW6Mke8t3oyIu0m_4sFYd-AHo3I,122751
266
266
  ccxt/async_support/digifinex.py,sha256=KXO1mP_t1iEvOJjJ2ESq9TaPDcHLjByb0AvVJEtBS1U,175796
267
267
  ccxt/async_support/ellipx.py,sha256=q_Mf8eDeZK1XdXTfCujzTtggomGOh9jn76-d1H_AjZM,84374
268
- ccxt/async_support/exmo.py,sha256=obl3Ihql_Q9hDAlxKe96lBT7ipH-nKFOzoXhijztk1U,121515
268
+ ccxt/async_support/exmo.py,sha256=PwpQ1IukXU10gRENGCwBHg2wDodKMDs9Y3N3GafC8z0,122522
269
269
  ccxt/async_support/fmfwio.py,sha256=daZ_yHYGThtJQV2LIh0wSS1uotTY-CH8e8pdNLr_Otw,1289
270
270
  ccxt/async_support/gate.py,sha256=1Rem4zV8I-QVx4J-w36kiXnA4pQUpvWW220Z8hp9RJY,354172
271
271
  ccxt/async_support/gateio.py,sha256=Sy9taiR0_0k4oh5GHjTjpwuCzskKiCCEQljuz7OxDVs,498
@@ -273,17 +273,17 @@ ccxt/async_support/gemini.py,sha256=-6EoDaH5Ybs37lXoatifP3A39mrppJPOrS7y2NrMA-E,
273
273
  ccxt/async_support/hashkey.py,sha256=Bmts-K34h47pTTtzGtIst4tK9bK5Nup_cTS8X_qqtb4,192079
274
274
  ccxt/async_support/hitbtc.py,sha256=gZ8_Gso14v-RNPuufqOkqpeAId58KtAnumVbWgq3ZdA,160723
275
275
  ccxt/async_support/hollaex.py,sha256=FlbwoouClCNOqGPNeruR71TgmuK9zE6T4VU8uY8fAnA,82954
276
- ccxt/async_support/htx.py,sha256=HT7L4Fg1bH9Qf-NArusiYdLyIBilXZg9uPHocAfImlM,446445
276
+ ccxt/async_support/htx.py,sha256=YfqhOPuVmuIfhZrKJXHiES1mj5P8dtOL_O7GNZooxkc,446467
277
277
  ccxt/async_support/huobi.py,sha256=D4CTKw-2sl7iiX3yh7hMMkhBXHvQQ3to9_tW4WKm0rA,491
278
- ccxt/async_support/hyperliquid.py,sha256=MyHvZLgVhrwpZWBDO56J3v1e-0DUSMlQaUPSf_kBuGs,153660
278
+ ccxt/async_support/hyperliquid.py,sha256=hLLyAm_FkBD1UbYYFn2YCOIi7g80Ur1Mvztyoakk-ms,153713
279
279
  ccxt/async_support/independentreserve.py,sha256=HvAj_2WG3lKNy5R2vDmV32frQbsOb3TSvg7QHZ8E8So,43512
280
280
  ccxt/async_support/indodax.py,sha256=JssbOrL5Xy5MVgwtv9nbKPelmgOS9IMAniyZ5D5d6Lc,58047
281
281
  ccxt/async_support/kraken.py,sha256=HUMfF56ciJ7xOHVt6tiu04ysS6dufxubXpUx2_qHYHw,149205
282
- ccxt/async_support/krakenfutures.py,sha256=eUeNv8u1DyIVIL7R-DxCh25SPOgGL90aHDoHmFDia28,123840
283
- ccxt/async_support/kucoin.py,sha256=kUz1hYpOU364piOa-psqtxTm11f6KlXS0HErk9_J-xk,233531
282
+ ccxt/async_support/krakenfutures.py,sha256=xsdJzV08NBZUa7dfjHw_nG0OR9VOgcpABnp5VnBqw2I,123862
283
+ ccxt/async_support/kucoin.py,sha256=7yF38unXPmQ7YYd0qpgcUOw5rFwzexP9p1anSAhQlak,233558
284
284
  ccxt/async_support/kucoinfutures.py,sha256=irTJoiMRS_8FGDalVNXE1sV1zhkM9rkVtqUOreL0tTM,147290
285
- ccxt/async_support/latoken.py,sha256=RdEFvig7T_GbtwUy8MG3ZKnlsM6UDJnjbvjTs7Y7Qis,82810
286
- ccxt/async_support/lbank.py,sha256=cIEIQYDUTzTbnCZTxkfSS4ef80zlwlw1GBIRJJReopU,124369
285
+ ccxt/async_support/latoken.py,sha256=fum9fgebU8Ws5lcYoCB80j3dB9sLkdgqcSTCdFgwK-8,80930
286
+ ccxt/async_support/lbank.py,sha256=uEK9xZRWsceuiVwmhVngNKgPUUdhVfq1McCSa06mGPs,127308
287
287
  ccxt/async_support/luno.py,sha256=TbC8rBRk9ppdn5pI8flzT11tJ3fW2jBYPWSrwc3Cv9k,57296
288
288
  ccxt/async_support/mercado.py,sha256=rC48RX-XpLRd2u0roaGc5JY046mHrI6nq1b-4vhNeGU,38708
289
289
  ccxt/async_support/mexc.py,sha256=Q84eiLJUARv6JA2q_0Tpq9JsRqLzNVmf0fmWo5mnMho,260232
@@ -293,14 +293,14 @@ ccxt/async_support/ndax.py,sha256=UPHLwLNELb-CU4uSpxemsH3S4ZhosLmUwUwl1IYrCmA,11
293
293
  ccxt/async_support/novadax.py,sha256=QIFIoZdkkq2odkX7V0wGn9ytgtzEDOTr4MnFGlgnKEk,67951
294
294
  ccxt/async_support/oceanex.py,sha256=_vi8sI3aucMmMPXwqqrpdfnWWHpfLYN_QaBpo2s9zvg,44533
295
295
  ccxt/async_support/okcoin.py,sha256=FTaJSgrg68t78PDy7n2Dzz4w_vYK65aLTTlhr6aqSKs,154465
296
- ccxt/async_support/okx.py,sha256=-CH7jxkzq8lAE4gCttuSuV4iEDy1JC4ns3HEIrFSlL4,400975
296
+ ccxt/async_support/okx.py,sha256=9CcVfdCtM_J0jyllMHa4sA_k20mkF-A7TNMQ0NmbGfs,408198
297
297
  ccxt/async_support/okxus.py,sha256=MuQ7TqH1CIKec_Z11O7hbz5bRCDzqW51fy1tZoZ1_DI,1787
298
298
  ccxt/async_support/onetrading.py,sha256=feDyVyi8JEVENCoe2rISM25CbpJeYtQDIrh65IGw5eU,76848
299
299
  ccxt/async_support/oxfun.py,sha256=Omz6V_qxRLx0RbDQMC5ytvAviTMKCWsJ_iJFGgnoaX8,124984
300
300
  ccxt/async_support/p2b.py,sha256=A_RPhOvbOMozI8Ypvw_Qzon5c6609l-fle3hYMT4j4w,56967
301
- ccxt/async_support/paradex.py,sha256=loTpDexhTgNe7pjGk5Pzc2hLtryVe4I1SMW6HBucmG8,106306
301
+ ccxt/async_support/paradex.py,sha256=AyUHxp4pXQfn5NMSQ3t0GoQ74pvBrJ2opiWg2_K1gkk,108898
302
302
  ccxt/async_support/paymium.py,sha256=x4-ORMQoTtML3ZOSlBc6oH139SzVbzs0deVpV5cnqBQ,26407
303
- ccxt/async_support/phemex.py,sha256=RJBmrNMdQA3syUqhruZmCq_R3KYcGCmw9OvYF8jWuoA,243324
303
+ ccxt/async_support/phemex.py,sha256=9nO9bUFze6GksoNW59QMhjW4OsFxjQOIZ9veHBaJe40,243408
304
304
  ccxt/async_support/poloniex.py,sha256=2akpw-eVRa4t4brDZKzKxX6lrDwtvgooQ-7mStO4Rhc,155845
305
305
  ccxt/async_support/probit.py,sha256=9lwyNddXq_SIc7eBO2lXWdxs_smhe1WlDxks7QqwBAk,78016
306
306
  ccxt/async_support/timex.py,sha256=27WWF0gY0Eh0mY2ZvHxEq1KGTppJj6ByjWyYAVRI_vQ,75486
@@ -317,11 +317,11 @@ ccxt/async_support/yobit.py,sha256=B2T9UXo0ke-YyXxNW9avOPJ8cReVGXWD9OpkORI9ZSU,5
317
317
  ccxt/async_support/zaif.py,sha256=jZZv3ZjGQgkPNRfY5B5p5DNMvanHWTTS8m6BLBWm9tA,31357
318
318
  ccxt/async_support/zonda.py,sha256=2QL_B9CmBu4SU4K-Y8segpj57vzAd4aUT2H2cD3b07g,85320
319
319
  ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
320
- ccxt/async_support/base/exchange.py,sha256=RBB3v5Eqi6U0twVnaocSBCk0MD87meBQdYIz_mGCRUs,119286
320
+ ccxt/async_support/base/exchange.py,sha256=WRCIHpPMqJ4UpcL4x534QQWA1Bo4RFS1xJitRjKFViw,119440
321
321
  ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
322
322
  ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
323
323
  ccxt/async_support/base/ws/cache.py,sha256=xf2VOtfUwloxSlIQ39M1RGZHWQzyS9IGhB5NX6cDcAc,8370
324
- ccxt/async_support/base/ws/client.py,sha256=3H6NnHk7GIC6wqJ49eshuvy5MnT3ma4cnAPSWKNy6S8,13475
324
+ ccxt/async_support/base/ws/client.py,sha256=ekIN5HNgeQgMG3tLZMsE889Aoxs960DLwQnwkTGhdi8,13624
325
325
  ccxt/async_support/base/ws/functions.py,sha256=qwvEnjtINWL5ZU-dbbeIunjyBxzFqbGWHfVhxqAcKug,1499
326
326
  ccxt/async_support/base/ws/future.py,sha256=9yFyxqT7cl-7ZFM6LM4b6UPXyO2FGIbAhs5uoJ3-Smo,1271
327
327
  ccxt/async_support/base/ws/order_book.py,sha256=uBUaIHhzMRykpmo4BCsdJ-t_HozS6VxhEs8x-Kbj-NI,2894
@@ -329,10 +329,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=GhnGUt78pJ-AYL_Dq9produGjmB
329
329
  ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
330
330
  ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
331
331
  ccxt/base/errors.py,sha256=MvCrL_sAM3de616T6RE0PSxiF2xV6Qqz5b1y1ghidbk,4888
332
- ccxt/base/exchange.py,sha256=wjO_dKXa2T3CqHP7jZtL7grD_tifCcNn_wew8PNCotc,328697
332
+ ccxt/base/exchange.py,sha256=64LNTmAxXu8gUG6n4pwCNjTmVZmV0otj7ceWXRB3G6o,330373
333
333
  ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
334
- ccxt/base/types.py,sha256=IbLO7Ni-plO36xlOdJQFqujSJBq0q9qll009ShZ0M_U,11468
335
- ccxt/pro/__init__.py,sha256=_OBzr8T1GgPbK4Mdqjpcrh_VxciegIFXW9y1k4jvoSg,11381
334
+ ccxt/base/types.py,sha256=vMQfFDVntED4YHrRJt0Q98YaM7OtGhK-DkbkqXFTYHc,11485
335
+ ccxt/pro/__init__.py,sha256=eIjy2lRxsG2MCW55K2n9WhpCbDKkGBRc5JQyPyE-KIM,11381
336
336
  ccxt/pro/alpaca.py,sha256=_WEorh5thYhvhn7R8hBvHW2m1P2foIbp8URjIt_9vcg,27623
337
337
  ccxt/pro/apex.py,sha256=fiKLT2R4vSCtTBXtXOgw_rJc6jPGINrpEJagzfvlL9c,42004
338
338
  ccxt/pro/ascendex.py,sha256=aSbIEzJ0Og_Nc5UGTYj3DVjGfIJ0-q0DdXSWJcQCKb4,37512
@@ -349,12 +349,12 @@ ccxt/pro/bitmart.py,sha256=Kuw1n-SuUT_vVs2HObJkE6jtieS55qeD9dcWbZGBeT0,67210
349
349
  ccxt/pro/bitmex.py,sha256=Vwb7J6ToIKLsx00OdX3Om47bufLi6d7HRm9hP2w9zSg,74652
350
350
  ccxt/pro/bitopro.py,sha256=9Fq3ICU9prweuUzSksjyJKIyjzngQq8uYiQt0cEJVYU,19117
351
351
  ccxt/pro/bitrue.py,sha256=DRsz1IoSc6LjujnBCs33t7vmN2Ltr4LQj9McqmfOShU,16292
352
- ccxt/pro/bitstamp.py,sha256=5JS-ssfVWbc_i0ik54ZpXT-U8MSMZ-wLcBc6Coqap_w,20976
352
+ ccxt/pro/bitstamp.py,sha256=L2CpdnMj4og3Fx8Ph6JA96ggJ2Me_HMEVqPiTpirjHM,22386
353
353
  ccxt/pro/bittrade.py,sha256=pBnZeJbJzsjH2qH_TyXVW5Rtp3sHo9Yv9skH1UEN8Co,23334
354
354
  ccxt/pro/bitvavo.py,sha256=zh7jiinMuCB_7Q_mOqh9E4egTKMgIS_IHo-tQZkn9dc,59866
355
355
  ccxt/pro/blockchaincom.py,sha256=ub_j3mGQfTaCVN2mb4e8PZk_2L6GvlStvNOjb9aHaIA,29636
356
356
  ccxt/pro/blofin.py,sha256=YL2KMinrg1CpXLcd0ygF69ORexJZdOf6UZ4DtSZvmzc,31793
357
- ccxt/pro/bybit.py,sha256=HzT45CG9GFWZTe-0VhAObG9R4F8MFUaQs60A94QdjMs,106407
357
+ ccxt/pro/bybit.py,sha256=oL6sojB7DEiCNqQIE4kzqxbHM6kyB0GXtQKKv8QcE2I,106644
358
358
  ccxt/pro/cex.py,sha256=G2yzA7MV-nassotKsUsmijqkmPFKJWMA6rmT4Dr8MVI,58526
359
359
  ccxt/pro/coinbase.py,sha256=8nYb3wC3gbcgCCLLZLYWIvFxHg15PkFxL8KX8urbgoM,30573
360
360
  ccxt/pro/coinbaseadvanced.py,sha256=EizO2LNJAy74LU7sW7GjUFiJgfWALiWI1-Yj2Bv1OrM,513
@@ -637,8 +637,8 @@ ccxt/test/tests_async.py,sha256=eRqVzaBGt3NGNbWs6HS85x_fNARypXYtaxDe3h-U0jc,9469
637
637
  ccxt/test/tests_helpers.py,sha256=egM69A2ZFYeVF5hwC1Qt-c5DOeClY5bv4jowmceeFV8,9736
638
638
  ccxt/test/tests_init.py,sha256=qM0-Gb0h0p6CANWTkyYZI7wl-iYOcrPur7aj_OKh7m0,1212
639
639
  ccxt/test/tests_sync.py,sha256=rlvVBtTTdQ92rof64feV-BQX3x1nzIE4HNcxUCF17O0,93656
640
- ccxt-4.4.91.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
641
- ccxt-4.4.91.dist-info/METADATA,sha256=OKz4IjraFaNDeZZMZK87uID0_wZud40wTpVG1dezVfg,131613
642
- ccxt-4.4.91.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
643
- ccxt-4.4.91.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
644
- ccxt-4.4.91.dist-info/RECORD,,
640
+ ccxt-4.4.93.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
641
+ ccxt-4.4.93.dist-info/METADATA,sha256=0cAagy7XLsySi4vbmCHipJqOVOYHHeYjBOoBpbgJQUE,131613
642
+ ccxt-4.4.93.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
643
+ ccxt-4.4.93.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
644
+ ccxt-4.4.93.dist-info/RECORD,,
File without changes