ccxt 4.4.5__py2.py3-none-any.whl → 4.4.6__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/coinbase.py CHANGED
@@ -751,28 +751,26 @@ class coinbase(Exchange, ImplicitAPI):
751
751
 
752
752
  def fetch_withdrawals(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
753
753
  """
754
- fetch all withdrawals made from an account
755
- :see: https://docs.cloud.coinbase.com/sign-in-with-coinbase/docs/api-withdrawals#list-withdrawals
754
+ Fetch all withdrawals made from an account. Won't return crypto withdrawals. Use fetchLedger for those.
755
+ :see: https://docs.cdp.coinbase.com/coinbase-app/docs/api-withdrawals#list-withdrawals
756
756
  :param str code: unified currency code
757
757
  :param int [since]: the earliest time in ms to fetch withdrawals for
758
758
  :param int [limit]: the maximum number of withdrawals structures to retrieve
759
759
  :param dict [params]: extra parameters specific to the exchange API endpoint
760
760
  :returns dict[]: a list of `transaction structures <https://docs.ccxt.com/#/?id=transaction-structure>`
761
761
  """
762
- # fiat only, for crypto transactions use fetchLedger
763
762
  return self.fetch_transactions_with_method('v2PrivateGetAccountsAccountIdWithdrawals', code, since, limit, params)
764
763
 
765
764
  def fetch_deposits(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Transaction]:
766
765
  """
767
- fetch all deposits made to an account
768
- :see: https://docs.cloud.coinbase.com/sign-in-with-coinbase/docs/api-deposits#list-deposits
766
+ Fetch all fiat deposits made to an account. Won't return crypto deposits or staking rewards. Use fetchLedger for those.
767
+ :see: https://docs.cdp.coinbase.com/coinbase-app/docs/api-deposits#list-deposits
769
768
  :param str code: unified currency code
770
769
  :param int [since]: the earliest time in ms to fetch deposits for
771
770
  :param int [limit]: the maximum number of deposits structures to retrieve
772
771
  :param dict [params]: extra parameters specific to the exchange API endpoint
773
772
  :returns dict[]: a list of `transaction structures <https://docs.ccxt.com/#/?id=transaction-structure>`
774
773
  """
775
- # fiat only, for crypto transactions use fetchLedger
776
774
  return self.fetch_transactions_with_method('v2PrivateGetAccountsAccountIdDeposits', code, since, limit, params)
777
775
 
778
776
  def parse_transaction_status(self, status: Str):
@@ -2172,8 +2170,8 @@ class coinbase(Exchange, ImplicitAPI):
2172
2170
 
2173
2171
  def fetch_ledger(self, code: Str = None, since: Int = None, limit: Int = None, params={}) -> List[LedgerEntry]:
2174
2172
  """
2175
- fetch the history of changes, actions done by the user or operations that altered the balance of the user
2176
- :see: https://docs.cloud.coinbase.com/sign-in-with-coinbase/docs/api-transactions#list-transactions
2173
+ Fetch the history of changes, i.e. actions done by the user or operations that altered the balance. Will return staking rewards, and crypto deposits or withdrawals.
2174
+ :see: https://docs.cdp.coinbase.com/coinbase-app/docs/api-transactions#list-transactions
2177
2175
  :param str [code]: unified currency code, default is None
2178
2176
  :param int [since]: timestamp in ms of the earliest ledger entry, default is None
2179
2177
  :param int [limit]: max number of ledger entries to return, default is None
ccxt/kraken.py CHANGED
@@ -249,6 +249,8 @@ class kraken(Exchange, ImplicitAPI):
249
249
  'XDG': 'DOGE',
250
250
  },
251
251
  'options': {
252
+ 'timeDifference': 0, # the difference between system clock and Binance clock
253
+ 'adjustForTimeDifference': False, # controls the adjustment logic upon instantiation
252
254
  'marketsByAltname': {},
253
255
  'delistedMarketsById': {},
254
256
  # cannot withdraw/deposit these
@@ -477,6 +479,8 @@ class kraken(Exchange, ImplicitAPI):
477
479
  :param dict [params]: extra parameters specific to the exchange API endpoint
478
480
  :returns dict[]: an array of objects representing market data
479
481
  """
482
+ if self.options['adjustForTimeDifference']:
483
+ self.load_time_difference()
480
484
  response = self.publicGetAssetPairs(params)
481
485
  #
482
486
  # {
@@ -2941,7 +2945,7 @@ class kraken(Exchange, ImplicitAPI):
2941
2945
  return {'url': url, 'method': method, 'body': body, 'headers': headers}
2942
2946
 
2943
2947
  def nonce(self):
2944
- return self.milliseconds()
2948
+ return self.milliseconds() - self.options['timeDifference']
2945
2949
 
2946
2950
  def handle_errors(self, code: int, reason: str, url: str, method: str, headers: dict, body: str, response, requestHeaders, requestBody):
2947
2951
  if code == 520:
ccxt/mexc.py CHANGED
@@ -44,6 +44,9 @@ class mexc(Exchange, ImplicitAPI):
44
44
  'future': False,
45
45
  'option': False,
46
46
  'addMargin': True,
47
+ 'borrowCrossMargin': False,
48
+ 'borrowIsolatedMargin': False,
49
+ 'borrowMargin': False,
47
50
  'cancelAllOrders': True,
48
51
  'cancelOrder': True,
49
52
  'cancelOrders': None,
@@ -57,12 +60,21 @@ class mexc(Exchange, ImplicitAPI):
57
60
  'createOrders': True,
58
61
  'createPostOnlyOrder': True,
59
62
  'createReduceOnlyOrder': True,
63
+ 'createStopLimitOrder': True,
64
+ 'createStopMarketOrder': True,
65
+ 'createStopOrder': True,
66
+ 'createTriggerOrder': True,
60
67
  'deposit': None,
61
68
  'editOrder': None,
62
69
  'fetchAccounts': True,
63
70
  'fetchBalance': True,
64
71
  'fetchBidsAsks': True,
65
- 'fetchBorrowRateHistory': None,
72
+ 'fetchBorrowInterest': False,
73
+ 'fetchBorrowRate': False,
74
+ 'fetchBorrowRateHistories': False,
75
+ 'fetchBorrowRateHistory': False,
76
+ 'fetchBorrowRates': False,
77
+ 'fetchBorrowRatesPerSymbol': False,
66
78
  'fetchCanceledOrders': True,
67
79
  'fetchClosedOrder': None,
68
80
  'fetchClosedOrders': True,
@@ -83,6 +95,7 @@ class mexc(Exchange, ImplicitAPI):
83
95
  'fetchIndexOHLCV': True,
84
96
  'fetchIsolatedBorrowRate': False,
85
97
  'fetchIsolatedBorrowRates': False,
98
+ 'fetchIsolatedPositions': False,
86
99
  'fetchL2OrderBook': True,
87
100
  'fetchLedger': None,
88
101
  'fetchLedgerEntry': None,
@@ -91,11 +104,13 @@ class mexc(Exchange, ImplicitAPI):
91
104
  'fetchLeverageTiers': True,
92
105
  'fetchMarginAdjustmentHistory': False,
93
106
  'fetchMarginMode': False,
94
- 'fetchMarketLeverageTiers': None,
107
+ 'fetchMarketLeverageTiers': 'emulated',
95
108
  'fetchMarkets': True,
96
109
  'fetchMarkOHLCV': True,
97
110
  'fetchMyTrades': True,
98
111
  'fetchOHLCV': True,
112
+ 'fetchOpenInterest': False,
113
+ 'fetchOpenInterestHistory': False,
99
114
  'fetchOpenOrder': None,
100
115
  'fetchOpenOrders': True,
101
116
  'fetchOrder': True,
@@ -413,6 +428,8 @@ class mexc(Exchange, ImplicitAPI):
413
428
  },
414
429
  },
415
430
  'options': {
431
+ 'adjustForTimeDifference': False,
432
+ 'timeDifference': 0,
416
433
  'createMarketBuyOrderRequiresPrice': True,
417
434
  'unavailableContracts': {
418
435
  'BTC/USDT:USDT': True,
@@ -467,6 +484,7 @@ class mexc(Exchange, ImplicitAPI):
467
484
  'AVAXC': 'AVAX_CCHAIN',
468
485
  'ERC20': 'ETH',
469
486
  'ACA': 'ACALA',
487
+ 'BEP20': 'BSC',
470
488
  # 'ADA': 'Cardano(ADA)',
471
489
  # 'AE': 'AE',
472
490
  # 'ALGO': 'Algorand(ALGO)',
@@ -1007,6 +1025,8 @@ class mexc(Exchange, ImplicitAPI):
1007
1025
  :param dict [params]: extra parameters specific to the exchange API endpoint
1008
1026
  :returns dict[]: an array of objects representing market data
1009
1027
  """
1028
+ if self.options['adjustForTimeDifference']:
1029
+ self.load_time_difference()
1010
1030
  spotMarketPromise = self.fetch_spot_markets(params)
1011
1031
  swapMarketPromise = self.fetch_swap_markets(params)
1012
1032
  spotMarket, swapMarket = [spotMarketPromise, swapMarketPromise]
@@ -4247,7 +4267,7 @@ class mexc(Exchange, ImplicitAPI):
4247
4267
  # 'coin': currency['id'] + network example: USDT-TRX,
4248
4268
  # 'status': 'status',
4249
4269
  # 'startTime': since, # default 90 days
4250
- # 'endTime': self.milliseconds(),
4270
+ # 'endTime': self.nonce(),
4251
4271
  # 'limit': limit, # default 1000, maximum 1000
4252
4272
  }
4253
4273
  currency = None
@@ -4300,7 +4320,7 @@ class mexc(Exchange, ImplicitAPI):
4300
4320
  # 'coin': currency['id'],
4301
4321
  # 'status': 'status',
4302
4322
  # 'startTime': since, # default 90 days
4303
- # 'endTime': self.milliseconds(),
4323
+ # 'endTime': self.nonce(),
4304
4324
  # 'limit': limit, # default 1000, maximum 1000
4305
4325
  }
4306
4326
  currency = None
@@ -5265,6 +5285,9 @@ class mexc(Exchange, ImplicitAPI):
5265
5285
  positions = self.parse_positions(data, symbols, params)
5266
5286
  return self.filter_by_since_limit(positions, since, limit)
5267
5287
 
5288
+ def nonce(self):
5289
+ return self.milliseconds() - self.safe_integer(self.options, 'timeDifference', 0)
5290
+
5268
5291
  def sign(self, path, api='public', method='GET', params={}, headers=None, body=None):
5269
5292
  section = self.safe_string(api, 0)
5270
5293
  access = self.safe_string(api, 1)
@@ -5277,7 +5300,7 @@ class mexc(Exchange, ImplicitAPI):
5277
5300
  url = self.urls['api'][section][access] + '/api/' + self.version + '/' + path
5278
5301
  paramsEncoded = ''
5279
5302
  if access == 'private':
5280
- params['timestamp'] = self.milliseconds()
5303
+ params['timestamp'] = self.nonce()
5281
5304
  params['recvWindow'] = self.safe_integer(self.options, 'recvWindow', 5000)
5282
5305
  if params:
5283
5306
  paramsEncoded = self.urlencode(params)
@@ -5300,7 +5323,7 @@ class mexc(Exchange, ImplicitAPI):
5300
5323
  url += '?' + self.urlencode(params)
5301
5324
  else:
5302
5325
  self.check_required_credentials()
5303
- timestamp = str(self.milliseconds())
5326
+ timestamp = str(self.nonce())
5304
5327
  auth = ''
5305
5328
  headers = {
5306
5329
  'ApiKey': self.apiKey,
ccxt/pro/__init__.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.4.5'
7
+ __version__ = '4.4.6'
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
ccxt/pro/htx.py CHANGED
@@ -143,6 +143,8 @@ class htx(ccxt.async_support.htx):
143
143
  async def watch_ticker(self, symbol: str, params={}) -> Ticker:
144
144
  """
145
145
  watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
146
+ :see: https://www.htx.com/en-us/opend/newApiPages/?id=7ec53561-7773-11ed-9966-0242ac110003
147
+ :see: https://www.htx.com/en-us/opend/newApiPages/?id=28c33ab2-77ae-11ed-9966-0242ac110003
146
148
  :param str symbol: unified symbol of the market to fetch the ticker for
147
149
  :param dict [params]: extra parameters specific to the exchange API endpoint
148
150
  :returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
@@ -208,6 +210,9 @@ class htx(ccxt.async_support.htx):
208
210
  async def watch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
209
211
  """
210
212
  get the list of most recent trades for a particular symbol
213
+ :see: https://www.htx.com/en-us/opend/newApiPages/?id=7ec53b69-7773-11ed-9966-0242ac110003
214
+ :see: https://www.htx.com/en-us/opend/newApiPages/?id=28c33c21-77ae-11ed-9966-0242ac110003
215
+ :see: https://www.htx.com/en-us/opend/newApiPages/?id=28c33cfe-77ae-11ed-9966-0242ac110003
211
216
  :param str symbol: unified symbol of the market to fetch trades for
212
217
  :param int [since]: timestamp in ms of the earliest trade to fetch
213
218
  :param int [limit]: the maximum amount of trades to fetch
@@ -266,6 +271,9 @@ class htx(ccxt.async_support.htx):
266
271
  async def watch_ohlcv(self, symbol: str, timeframe='1m', since: Int = None, limit: Int = None, params={}) -> List[list]:
267
272
  """
268
273
  watches historical candlestick data containing the open, high, low, and close price, and the volume of a market
274
+ :see: https://www.htx.com/en-us/opend/newApiPages/?id=7ec53241-7773-11ed-9966-0242ac110003
275
+ :see: https://www.htx.com/en-us/opend/newApiPages/?id=28c3346a-77ae-11ed-9966-0242ac110003
276
+ :see: https://www.htx.com/en-us/opend/newApiPages/?id=28c33563-77ae-11ed-9966-0242ac110003
269
277
  :param str symbol: unified symbol of the market to fetch OHLCV data for
270
278
  :param str timeframe: the length of time each candle represents
271
279
  :param int [since]: timestamp in ms of the earliest candle to fetch
@@ -642,6 +650,7 @@ class htx(ccxt.async_support.htx):
642
650
  async def watch_my_trades(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
643
651
  """
644
652
  watches information on multiple trades made by the user
653
+ :see: https://www.htx.com/en-us/opend/newApiPages/?id=7ec53dd5-7773-11ed-9966-0242ac110003
645
654
  :param str symbol: unified market symbol of the market trades were made in
646
655
  :param int [since]: the earliest time in ms to fetch trades for
647
656
  :param int [limit]: the maximum number of trade structures to retrieve
@@ -728,6 +737,7 @@ class htx(ccxt.async_support.htx):
728
737
  async def watch_orders(self, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[Order]:
729
738
  """
730
739
  watches information on multiple orders made by the user
740
+ :see: https://www.htx.com/en-us/opend/newApiPages/?id=7ec53c8f-7773-11ed-9966-0242ac110003
731
741
  :param str symbol: unified market symbol of the market orders were made in
732
742
  :param int [since]: the earliest time in ms to fetch orders for
733
743
  :param int [limit]: the maximum number of order structures to retrieve
@@ -1269,6 +1279,10 @@ class htx(ccxt.async_support.htx):
1269
1279
  async def watch_balance(self, params={}) -> Balances:
1270
1280
  """
1271
1281
  watch balance and get the amount of funds available for trading or funds locked in orders
1282
+ :see: https://www.htx.com/en-us/opend/newApiPages/?id=7ec52e28-7773-11ed-9966-0242ac110003
1283
+ :see: https://www.htx.com/en-us/opend/newApiPages/?id=10000084-77b7-11ed-9966-0242ac110003
1284
+ :see: https://www.htx.com/en-us/opend/newApiPages/?id=8cb7dcca-77b5-11ed-9966-0242ac110003
1285
+ :see: https://www.htx.com/en-us/opend/newApiPages/?id=28c34995-77ae-11ed-9966-0242ac110003
1272
1286
  :param dict [params]: extra parameters specific to the exchange API endpoint
1273
1287
  :returns dict: a `balance structure <https://docs.ccxt.com/#/?id=balance-structure>`
1274
1288
  """
ccxt/pro/kraken.py CHANGED
@@ -38,6 +38,7 @@ class kraken(ccxt.async_support.kraken):
38
38
  'watchOrders': True,
39
39
  'watchTicker': True,
40
40
  'watchTickers': True,
41
+ 'watchBidsAsks': True,
41
42
  'watchTrades': True,
42
43
  'watchTradesForSymbols': True,
43
44
  'createOrderWs': True,
@@ -492,6 +493,61 @@ class kraken(ccxt.async_support.kraken):
492
493
  return result
493
494
  return self.filter_by_array(self.tickers, 'symbol', symbols)
494
495
 
496
+ async def watch_bids_asks(self, symbols: Strings = None, params={}) -> Tickers:
497
+ """
498
+ :see: https://docs.kraken.com/api/docs/websocket-v1/spread
499
+ watches best bid & ask for symbols
500
+ :param str[] symbols: unified symbol of the market to fetch the ticker for
501
+ :param dict [params]: extra parameters specific to the exchange API endpoint
502
+ :returns dict: a `ticker structure <https://docs.ccxt.com/#/?id=ticker-structure>`
503
+ """
504
+ await self.load_markets()
505
+ symbols = self.market_symbols(symbols, None, False)
506
+ ticker = await self.watch_multi_helper('bidask', 'spread', symbols, None, params)
507
+ if self.newUpdates:
508
+ result: dict = {}
509
+ result[ticker['symbol']] = ticker
510
+ return result
511
+ return self.filter_by_array(self.bidsasks, 'symbol', symbols)
512
+
513
+ def handle_bid_ask(self, client: Client, message, subscription):
514
+ #
515
+ # [
516
+ # 7208974, # channelID
517
+ # [
518
+ # "63758.60000", # bid
519
+ # "63759.10000", # ask
520
+ # "1726814731.089778", # timestamp
521
+ # "0.00057917", # bid_volume
522
+ # "0.15681688" # ask_volume
523
+ # ],
524
+ # "spread",
525
+ # "XBT/USDT"
526
+ # ]
527
+ #
528
+ parsedTicker = self.parse_ws_bid_ask(message)
529
+ symbol = parsedTicker['symbol']
530
+ self.bidsasks[symbol] = parsedTicker
531
+ messageHash = self.get_message_hash('bidask', None, symbol)
532
+ client.resolve(parsedTicker, messageHash)
533
+
534
+ def parse_ws_bid_ask(self, ticker, market=None):
535
+ data = self.safe_list(ticker, 1, [])
536
+ marketId = self.safe_string(ticker, 3)
537
+ market = self.safe_value(self.options['marketsByWsName'], marketId)
538
+ symbol = self.safe_string(market, 'symbol')
539
+ timestamp = self.parse_to_int(self.safe_integer(data, 2)) * 1000
540
+ return self.safe_ticker({
541
+ 'symbol': symbol,
542
+ 'timestamp': timestamp,
543
+ 'datetime': self.iso8601(timestamp),
544
+ 'ask': self.safe_string(data, 1),
545
+ 'askVolume': self.safe_string(data, 4),
546
+ 'bid': self.safe_string(data, 0),
547
+ 'bidVolume': self.safe_string(data, 3),
548
+ 'info': ticker,
549
+ }, market)
550
+
495
551
  async def watch_trades(self, symbol: str, since: Int = None, limit: Int = None, params={}) -> List[Trade]:
496
552
  """
497
553
  get the list of most recent trades for a particular symbol
@@ -1400,6 +1456,7 @@ class kraken(ccxt.async_support.kraken):
1400
1456
  'book': self.handle_order_book,
1401
1457
  'ohlc': self.handle_ohlcv,
1402
1458
  'ticker': self.handle_ticker,
1459
+ 'spread': self.handle_bid_ask,
1403
1460
  'trade': self.handle_trades,
1404
1461
  # private
1405
1462
  'openOrders': self.handle_orders,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.4.5
3
+ Version: 4.4.6
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.4.5/dist/ccxt.browser.min.js
276
- * unpkg: https://unpkg.com/ccxt@4.4.5/dist/ccxt.browser.min.js
275
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.6/dist/ccxt.browser.min.js
276
+ * unpkg: https://unpkg.com/ccxt@4.4.6/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.4.5/dist/ccxt.browser.min.js"></script>
281
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.6/dist/ccxt.browser.min.js"></script>
282
282
  ```
283
283
 
284
284
  Creates a global `ccxt` object:
@@ -1,4 +1,4 @@
1
- ccxt/__init__.py,sha256=2R_opKw5WDlInZ04YIkcm7rkl65WMMLQycxEe0UoIEM,16485
1
+ ccxt/__init__.py,sha256=Oe1Z-6Ymtztkp5bdALNOJ1It_JoWqluENwT57b8ztmc,16485
2
2
  ccxt/ace.py,sha256=3KFlbRm6N9hXsKUsgZbQCFPZT5WGLm4HOjR19Q3uPts,42419
3
3
  ccxt/alpaca.py,sha256=nVQJ8vG4JrjEvMlu_nPoyR2lBq41j9Z2smPq95nDhng,47504
4
4
  ccxt/ascendex.py,sha256=qYzddORwUgXBOuvuRi3AtaH2srPYr21MOT2THdrXyLE,151540
@@ -16,10 +16,10 @@ ccxt/bitbns.py,sha256=BxvljEPDCGPnaFGaWIIPF_xs079B2OnnbGWNfYlraHE,48269
16
16
  ccxt/bitcoincom.py,sha256=PyWIl4nC4jp5Uba2lI1At0N_hhNyWD0DoZC_MSyL_s4,502
17
17
  ccxt/bitfinex.py,sha256=w3t0YAwtOfCwLy5_w2wTq90qkTgUUyn0sqdO22zD-9U,73527
18
18
  ccxt/bitfinex2.py,sha256=FJl_MGt3bSB-MAsAZJkCFfsLs2EGaMub0wZfnfBfgN0,161026
19
- ccxt/bitflyer.py,sha256=A5Qtxec8uuhL0M2CIm908XFG_dauGoPetkGvglFUbrE,41719
20
- ccxt/bitget.py,sha256=Va96EpWL-QmJyCBz3y00h8TMFfqbCf74vN8oUQeISug,423603
19
+ ccxt/bitflyer.py,sha256=nh1EDzO66S-Ps9xBy-U4CErt6Q06E77wbWF_aTRw6RI,41663
20
+ ccxt/bitget.py,sha256=rxh6suQ39z9QFVbjze0R1ikMlAhsNcn6tQ3sTNo807U,423974
21
21
  ccxt/bithumb.py,sha256=8oTnFWi8Ai9fnm5FPXvNmaUAVJEOqYi-18VC23cWmXY,47935
22
- ccxt/bitmart.py,sha256=UvMcyukXM55F-bFNd32nCXEwkP4BaUV4gezZcOb5msk,211937
22
+ ccxt/bitmart.py,sha256=npxN8FavIGB_tJnIWpTQct7-zuxmN6L2xXhMUESmg9s,215852
23
23
  ccxt/bitmex.py,sha256=nin86XryLDdB4b_tfedvQBikP6Hm606qyCG12GMquzM,127173
24
24
  ccxt/bitopro.py,sha256=XV878befM45AOnlSRpMYTnaBol342JAYWbFshvJ9fvs,69358
25
25
  ccxt/bitpanda.py,sha256=aiwPkx9lKbVzt4ggoYdq_mIbMGtg5ZtGl2yRHO5xyz8,471
@@ -35,9 +35,9 @@ ccxt/btcalpha.py,sha256=plU5SSsJn0ZMLW7I8sXb_L0Woc3-kamGMSlqPGujUzE,36751
35
35
  ccxt/btcbox.py,sha256=lvY7cgoe4tglaQiTJZ4vILmzvoEjAWxgswRuB2iYzmE,27780
36
36
  ccxt/btcmarkets.py,sha256=WDDbtbUQ9I0odVZp8nJdIjc4-zv4li49EDSt8EqQbRU,52733
37
37
  ccxt/btcturk.py,sha256=jSA4UnD1GiJu24gXNkfb94f-zXifP5By_Ptery_cMnY,37024
38
- ccxt/bybit.py,sha256=5M9bH64sd05fZEdIAH0beVQwQH6UKZW-wFZobUkCEf8,423472
38
+ ccxt/bybit.py,sha256=vN-mZzXijetwsp4SNxn4POJ6sv39oM74Yuqiv1DcK20,424009
39
39
  ccxt/cex.py,sha256=WkzjeUi22kVFNU_f2PB7SwGiddOulKS6DDzmxdVDkXs,70120
40
- ccxt/coinbase.py,sha256=ht6-KYQHQV83Zjh01nayGQ6JktKc1U40xgMUl_YDpRg,218620
40
+ ccxt/coinbase.py,sha256=pHPkUkGRC9UzpGAl3-QEFUEHT2tts-NoSvbc7s3EMP8,218667
41
41
  ccxt/coinbaseadvanced.py,sha256=d5g6nRx-NCcCwZDdtp8FsI2D-pRjSvnAP9ISSKY_nCQ,538
42
42
  ccxt/coinbaseexchange.py,sha256=hSqkZw0y3EELtpsbJaMQXzc2nCbevVjHw6LDPcGH7_Y,79031
43
43
  ccxt/coinbaseinternational.py,sha256=JHciYqg_ZcVXWAUBj_zlcaUKfSjOL6CQmoAtO8ZbtSE,97484
@@ -70,7 +70,7 @@ ccxt/hyperliquid.py,sha256=3rj8I7SLZYNwjvBlVaIGy1_lcmkaeTPZf22mNoFmxFw,122833
70
70
  ccxt/idex.py,sha256=P2jNsxiwIlMgrfPKbtmjLJQrzFcWp_TjgJaLq793oco,73255
71
71
  ccxt/independentreserve.py,sha256=k2T7rA1zcvlHC8QpmkKYO7ik44SayiElaSpW0EsTevA,37847
72
72
  ccxt/indodax.py,sha256=o5YLVpQzm1LFWPAsvUOnvJxeBEWtaB_jQCvCOmXEw1Y,54758
73
- ccxt/kraken.py,sha256=DlN7OME3CyDY9cfOe-yXUI5ICPKwZUlq06nhT5yakBI,133614
73
+ ccxt/kraken.py,sha256=V0hJdd8tMQXY34WVFrLde64sUguFGl7nljPIH7-uItQ,133935
74
74
  ccxt/krakenfutures.py,sha256=_-bbgzshifKnbyOB1pSs_bRfRepkRAdiDlsLDRiAw9w,119597
75
75
  ccxt/kucoin.py,sha256=NK7oSNcJ3aXf-7w4ikyTGC-_VvfTzFTBOjYhKRGQaHw,229802
76
76
  ccxt/kucoinfutures.py,sha256=KNh4biqkvaVzgQ2DGUTnNf5853iwF628jKWk3rdOcB4,125860
@@ -80,7 +80,7 @@ ccxt/lbank.py,sha256=Glx9CN_jdQMiUngJLYioxzwDfgFTdusdOfK53_Bg6A8,116045
80
80
  ccxt/luno.py,sha256=P3cZ_CnVyjMjDFn5e7jaev-pqs_rgmWQTsiJThRtffE,46353
81
81
  ccxt/lykke.py,sha256=gmjb8bQsPztMtoZsHxWGe_T2381HLb1ar1S667UZzIE,51411
82
82
  ccxt/mercado.py,sha256=LWCh89IzXu-yhPGqhkdPW6wqOqfO8nmbSQhAyYiSH8U,35710
83
- ccxt/mexc.py,sha256=Af4VgLpE21qb5tVsMrAcxHhFktjvRPC_Ad5B13WKiRI,244391
83
+ ccxt/mexc.py,sha256=M6O02E6DnLPmv38bk4DiigQ-BCIxBkdngNAiJO_CmFI,245383
84
84
  ccxt/ndax.py,sha256=m9MhE8i8JmaSf7Lc-I_CcvUpQ5VNTRcfYZLrFEwk3UI,109097
85
85
  ccxt/novadax.py,sha256=_xFkuZ72vHhpJb1N9h_MQHRD05GDWlqUeLQQcOp43BM,64436
86
86
  ccxt/oceanex.py,sha256=DrsNIW-eXvaSHCB2l1valmiU9xMztxm1VNBJodMkWIY,38021
@@ -129,7 +129,7 @@ ccxt/abstract/bitfinex2.py,sha256=82sdkbjDb6D2JePGAa2yYwApDwdeF9Tvlo-hWB2ZUBs,19
129
129
  ccxt/abstract/bitflyer.py,sha256=3ngG1GJJCNMzYMWoNXCEEgLxmTl7eRf7_JU4M0P2rqo,3576
130
130
  ccxt/abstract/bitget.py,sha256=ELBdc4MCJ1eOLDQKFCXhGlogRO_RgYU2YDS87Flv-5k,90490
131
131
  ccxt/abstract/bithumb.py,sha256=GR7QJ6CwTBne59SaGRVj9Rdz_zecG-8imRWX7oe6MoQ,3443
132
- ccxt/abstract/bitmart.py,sha256=mnuuML-1akn7M8Ou2WkRmRp_fXSl8obDKn7i_omKj04,14948
132
+ ccxt/abstract/bitmart.py,sha256=uGrEpJPawj5Kqyktdh01jRtd5Ou_lCRgLbh7X6k4pho,15676
133
133
  ccxt/abstract/bitmex.py,sha256=v15OP-vSO_eotD6KVf1BgKrbPxCPl2eXXYIuzWF1dl4,10774
134
134
  ccxt/abstract/bitopro.py,sha256=KCWuN9bc4W2fWIbWL_OboHc5DtbCjXXLnd23gYl9r3s,3295
135
135
  ccxt/abstract/bitpanda.py,sha256=TtJq4d44lrutV8wcK0lX4v0EfQ72ly6fxR-zB7-FSuI,3859
@@ -218,7 +218,7 @@ ccxt/abstract/xt.py,sha256=JkWvsic3L2O968BCr9H5Wd5NIbRE9aTT2A-9WbAtl0c,27146
218
218
  ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
219
219
  ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
220
220
  ccxt/abstract/zonda.py,sha256=X-hCW0SdX3YKZWixDyW-O2211M58Rno8kKJ6quY7rw4,7183
221
- ccxt/async_support/__init__.py,sha256=qLFBO2kUsy1MUWpd_Z2jRTVkvC3jj_FABcDNFiL_ZCY,16288
221
+ ccxt/async_support/__init__.py,sha256=ZZkZg0neTkWqAzp16sgN4GgRdhjHz085xm11P_KJuK0,16288
222
222
  ccxt/async_support/ace.py,sha256=ucCkKaWRkILAIK9g4iEi1Q_-zmn0V89-rX8Al4WdK8s,42643
223
223
  ccxt/async_support/alpaca.py,sha256=HxonsP_MzbE7Z9r6hZ1rgmf_jPcP4H7H3z1YQgCv4qc,47716
224
224
  ccxt/async_support/ascendex.py,sha256=Yj4_0UHGd-cYY8s3vqu_zEwa6BLmqPYy6ztKapkuEaw,152353
@@ -236,10 +236,10 @@ ccxt/async_support/bitbns.py,sha256=-z6MBwHpn0FXwfKffbOXSdZD2ZYEepMz1VU2ii84xN0,
236
236
  ccxt/async_support/bitcoincom.py,sha256=RiqwhK3RfxQ_PXTa860fphDCvwA8dalL-_rXlK85-8A,516
237
237
  ccxt/async_support/bitfinex.py,sha256=pzyfQzUSxFYd6Ted0hNLgL545S8rFCrsoJc9Odk3zoo,73993
238
238
  ccxt/async_support/bitfinex2.py,sha256=NWo6uDEbN7uYUILeMaVSPVXhBoLnza9wxXjTXrlc4RM,161780
239
- ccxt/async_support/bitflyer.py,sha256=9tRLLI8tHyp0T1yj3-3F-MVoHB8Jq81qx_vQ-N00PJI,42027
240
- ccxt/async_support/bitget.py,sha256=GKJ0cDW_URL7e7Kov7bz0dgo4cCQqvl6xxt-YRCromo,425209
239
+ ccxt/async_support/bitflyer.py,sha256=DTyHe4QBOED0xUEYoDfpGFL0sULp_3CxTXCWfDPbGbE,41971
240
+ ccxt/async_support/bitget.py,sha256=zX93hBSBtXmEEe_wbzx3t5PfHvSajnTEJIKGH9ihE3E,425586
241
241
  ccxt/async_support/bithumb.py,sha256=Q0Cx_cRKZRfdpBAhQyINm63Qw3M6BRYQRiF0UqYzfis,48214
242
- ccxt/async_support/bitmart.py,sha256=x101GZEWKKzElxYak0gkMM_wKbPbOuFxnir273_fGKo,212893
242
+ ccxt/async_support/bitmart.py,sha256=lN-PdGyElLC9U2n0QTu82GPOu5JQBi1ZWpHRGqat5ew,216814
243
243
  ccxt/async_support/bitmex.py,sha256=ic-p8b1grOmWLlwYbOYsLxisveWxDJWXYZei45wD6Ik,127751
244
244
  ccxt/async_support/bitopro.py,sha256=uWrH_HdRkf0UCs-N_JE1hCN6eWYWwXpc8VXMb0niM78,69762
245
245
  ccxt/async_support/bitpanda.py,sha256=2k3URBWrpnh2xHa7JiYenI7_4MW5UeOPGzetlmRkR4U,485
@@ -255,9 +255,9 @@ ccxt/async_support/btcalpha.py,sha256=8OefA3GsJ27eAL44yQQcRNOruHXAwTemjTPkpLKwjE
255
255
  ccxt/async_support/btcbox.py,sha256=rBXxuvdQaku5QYseQ4XSvMrCkohDefYmf-rGeS9W0IU,28004
256
256
  ccxt/async_support/btcmarkets.py,sha256=fTf_MDIM7NMwpbv6X5lYPLNg8tFKcviNiUB7N3yO6FI,53083
257
257
  ccxt/async_support/btcturk.py,sha256=Uq9rXMoDkXIy0nw1rzmw2e8eeRepcNtXKNYuw-02tkM,37242
258
- ccxt/async_support/bybit.py,sha256=ZJEzpeZXb9TtbAqU2Mt0aIkko2i7LNEYudOqj40gias,425366
258
+ ccxt/async_support/bybit.py,sha256=2C1UpQhJ6fi8DEAv43kYEALMccpO_tDLP7NMQne4kFE,425920
259
259
  ccxt/async_support/cex.py,sha256=DPQ4-rrO4Ut3zHax7wOnk47rfF5zVh4AgheFQ05pWDs,70470
260
- ccxt/async_support/coinbase.py,sha256=IhPqnORizh_d1t0oYpYCC8GLxEELz7UjSvp8iieViIs,219774
260
+ ccxt/async_support/coinbase.py,sha256=SK8RaT5LFn-y9EVKaa8vKacMA5IWxuJzQ6anBKHPpIQ,219821
261
261
  ccxt/async_support/coinbaseadvanced.py,sha256=Kupwnuxiu_qTjwCNV2asacoDUNFQvcaHNAznUJPhdQs,552
262
262
  ccxt/async_support/coinbaseexchange.py,sha256=u4s7rt6wavGgwzvfGtKkVeiBphq0hCG8VODQCb9Phi0,79537
263
263
  ccxt/async_support/coinbaseinternational.py,sha256=o7Fhezgb75wSyxzyH0hHYzRaNnQvkZtpylXdYYgRedo,98098
@@ -290,7 +290,7 @@ ccxt/async_support/hyperliquid.py,sha256=U_l3fAmAZzE9UBUIkODXlmaUVTlRh9ft3IDYuxN
290
290
  ccxt/async_support/idex.py,sha256=UcAvdMc2CP_6E8lET4rmQiIP-RaUfZHSo6pQeA17v-g,73731
291
291
  ccxt/async_support/independentreserve.py,sha256=-W-SMPkJwY9FMN5I6l5eL8cPwC0_UuqmfU5yMmyJoiw,38145
292
292
  ccxt/async_support/indodax.py,sha256=-dcr5VdpSkcLgy2KUlumm0NhGs4_mNstysIlunhF2-4,55066
293
- ccxt/async_support/kraken.py,sha256=dQBnuKmxxXvnwU-rXlnDYE1cO6T84eJken2wwwbasZ0,134264
293
+ ccxt/async_support/kraken.py,sha256=yM19n9gMYaWdyOTb6a-BKO1KXqOEE0GD_XwYcGE9Oi0,134591
294
294
  ccxt/async_support/krakenfutures.py,sha256=stPhBne9pFVlgFkw4mwqtaaI6NTZCAcmOIFVlQSbl8I,120085
295
295
  ccxt/async_support/kucoin.py,sha256=Vj0pf1ig5BDM_L02WF-71LhfyIf_7hMzHZtRaI3qn_I,230945
296
296
  ccxt/async_support/kucoinfutures.py,sha256=a2oRhfH61LsSnhSlhwSJM7yRUUsegkmQenOa_nPwHuA,126516
@@ -300,7 +300,7 @@ ccxt/async_support/lbank.py,sha256=MeqPjECSmsplCtatu7Ns6sHRwzAGP_6S5MwB2BomnXk,1
300
300
  ccxt/async_support/luno.py,sha256=WRQ5uH3Wr1HHZa9ZtcWCYdrmz-Y8proS5XOGZpBtiZo,46691
301
301
  ccxt/async_support/lykke.py,sha256=JW9HaTjFCQJzk1tbczjMGKie0BkKdZF2Kmm2Hg69qQE,51725
302
302
  ccxt/async_support/mercado.py,sha256=mb7ULqvEr9PQ7jBOpQxiufgYzwTeAfr0G2NZmrUeUgs,35952
303
- ccxt/async_support/mexc.py,sha256=2CKre3cYRBTr8BuiA1zlpqCIo56gn87QzdC746Yidds,245595
303
+ ccxt/async_support/mexc.py,sha256=fpjUDfDrkqFqnIf-fl9sgDbiO4PrAG4YEySoKZHiE4M,246593
304
304
  ccxt/async_support/ndax.py,sha256=IX7cFNjCELJIImof_jVsNzihXjCOmMyqRnlFHnzOq_w,109621
305
305
  ccxt/async_support/novadax.py,sha256=YNKUM1CGFK7lpBwbxSSL1IAEJCRVsNxeITkwtw6VWCM,64804
306
306
  ccxt/async_support/oceanex.py,sha256=85IHjCWsBZZXntKHPeuUpFYP9FV0Ik93gJsTlrGzhVA,38341
@@ -330,7 +330,7 @@ ccxt/async_support/yobit.py,sha256=GQhvYrsGHQrVdTrNHQxx9isEGqUABexlllzao9HL3f8,5
330
330
  ccxt/async_support/zaif.py,sha256=-ZTr8M2JaIRCL90VrbCDXBMAsZwbiwsFChSQ2rWODuQ,29044
331
331
  ccxt/async_support/zonda.py,sha256=njWK4t42n7BowCvc3j5WKwCxEDc2Y8vi0d-yp296-q0,81883
332
332
  ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
333
- ccxt/async_support/base/exchange.py,sha256=DKm09UB2rI64rmxdU58qxNxxMOm312bDQs_jOqTU2rw,111254
333
+ ccxt/async_support/base/exchange.py,sha256=Ar9pC-n48a1Zw2xVdeoGKbCSiK0KI2tsf9lsb2B0xLM,111254
334
334
  ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
335
335
  ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
336
336
  ccxt/async_support/base/ws/aiohttp_client.py,sha256=5IEiT0elWI9a7Vr-KV0jgmlbpLJWBzIlrLaCkTKGaqY,5752
@@ -344,10 +344,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=GhnGUt78pJ-AYL_Dq9produGjmB
344
344
  ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
345
345
  ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
346
346
  ccxt/base/errors.py,sha256=Pad-6ugvGUwhoYuKUliX-N7FTrcnKCQGFjsaq2tMn0I,4610
347
- ccxt/base/exchange.py,sha256=9wOlduETu3oKJ9XY6LQhfihxcppDQDt_SSj0pGHbQ3Y,298397
347
+ ccxt/base/exchange.py,sha256=tT6gkxmjkNLbyJwG7AeYQEvzZroG7iLxh3b7p_QKeIA,298397
348
348
  ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
349
349
  ccxt/base/types.py,sha256=Xw9wcYNDRmtUghkU2VIT496S868mRoUjxyuCM7TCAK4,9616
350
- ccxt/pro/__init__.py,sha256=r7hl3PKfcet2taER6B9xDRYlEVC27qaV_k_eqFolnBk,7709
350
+ ccxt/pro/__init__.py,sha256=JC3zj8WJp1p1EBDfwdA0vSvXyC0ovetYQc1mPuHexdg,7709
351
351
  ccxt/pro/alpaca.py,sha256=xh1yg1Ok-Zh_Mfx-MBjNrfJDs6MUU0exFfEj3GuQPC4,27631
352
352
  ccxt/pro/ascendex.py,sha256=QueLgISoIxgGSOta2W7En4pwAsEXbTP5q5ef4UjpTQQ,37524
353
353
  ccxt/pro/bequant.py,sha256=33OEUWBi4D9-2w8CmkwN3aF1qS-AlLqX3pxrWwNbXPY,1552
@@ -388,13 +388,13 @@ ccxt/pro/gemini.py,sha256=8B8dbYPbKbZb3lzhlt8-x0oybQxOHr8Q4R_f5edLwbU,36899
388
388
  ccxt/pro/hashkey.py,sha256=F-NAOAeNSEjHyuZnvGiIYHQow5RAKcwgyb23cGwOiJs,34065
389
389
  ccxt/pro/hitbtc.py,sha256=i-6bu6fNu5O19lXxgpbdP8C3DgUzpepfrBDmcOZrqOg,56937
390
390
  ccxt/pro/hollaex.py,sha256=la302Z6BMjcqZQhTaj4PQXSfhgFH6m7o3u7Ts5JkHbY,22045
391
- ccxt/pro/htx.py,sha256=mt-Bh5U6W6MRrpPp5xm6ayhkIcdaS8YCczczw9_1yx4,96329
391
+ ccxt/pro/htx.py,sha256=bFAhcmdCiuYhaZJqqzJ3fIH0eM6YL8BwlLqYnA2wVi4,97715
392
392
  ccxt/pro/huobi.py,sha256=rKZVgYqEr-MmZzTqAk4FoJt8qWFjCi_FY0ci_mWZrL0,385
393
393
  ccxt/pro/huobijp.py,sha256=urnktXqCIJTccup0oQJPJsM32XR09dDP6qGP1kvBtfg,23318
394
394
  ccxt/pro/hyperliquid.py,sha256=IB-fVwHfbqoGev1OqEkDT6Y6cMSFi--_k6EJ_E3bJxU,42300
395
395
  ccxt/pro/idex.py,sha256=WAY58yMHFUPoqZUGFvzxqcKizvMuFXqdZ6BD0WgstQA,28361
396
396
  ccxt/pro/independentreserve.py,sha256=JWMjJ0FUs4LhybAZ4rjHMQIWeOu5Njaj8aVimA7kf30,11356
397
- ccxt/pro/kraken.py,sha256=ITIUkUaC7AfLEhaQR7s3zkJnJBa_eQU5DEOn980QOW0,64129
397
+ ccxt/pro/kraken.py,sha256=alloCzXC0EvYoAWLf0osOAcDOHAYA1uRM2f5k-wap9k,66576
398
398
  ccxt/pro/krakenfutures.py,sha256=Y9vqrxNbr7OJ0BIMZqrVtMedUzk7XtOZuF_OGQ2tUJc,64033
399
399
  ccxt/pro/kucoin.py,sha256=pxU42TftiKQaggpViEZ-rWfdI7GgqV43rHIxMgwluhE,61038
400
400
  ccxt/pro/kucoinfutures.py,sha256=DU5vLB0Oufffcn1Rv-aYqpV9Mx7gGlRdi7YC9hNO8sw,56277
@@ -650,8 +650,8 @@ ccxt/test/tests_async.py,sha256=Hfdxrjw3nP7lGyjYs35ZgTBM7pF6UIJrkZWz-ycceRw,8457
650
650
  ccxt/test/tests_helpers.py,sha256=xhOILoZ_x3RSfQjtKt6AQlkp9DkOtpTQe8GAUUZoM6s,10069
651
651
  ccxt/test/tests_init.py,sha256=eVwwUHujX9t4rjgo4TqEeg7DDhR1Hb_e2SJN8NVGyl0,998
652
652
  ccxt/test/tests_sync.py,sha256=tQNiZZi3ulprLY513aSadwieBCuNyzyRLE8nSTZIUvw,83641
653
- ccxt-4.4.5.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
654
- ccxt-4.4.5.dist-info/METADATA,sha256=ru3VDCaDBrRCuFIfLgmabFulwTKr0zqDTVRukqSCfJE,118611
655
- ccxt-4.4.5.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
656
- ccxt-4.4.5.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
657
- ccxt-4.4.5.dist-info/RECORD,,
653
+ ccxt-4.4.6.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
654
+ ccxt-4.4.6.dist-info/METADATA,sha256=R9zyfp8FnNMPTiIj9QCc6L_yWLkC6rzU5CGBV6ZbJxM,118611
655
+ ccxt-4.4.6.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
656
+ ccxt-4.4.6.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
657
+ ccxt-4.4.6.dist-info/RECORD,,
File without changes