ccxt 4.4.91__py2.py3-none-any.whl → 4.4.92__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/bitvavo.py CHANGED
@@ -666,7 +666,7 @@ class bitvavo(Exchange, ImplicitAPI):
666
666
  },
667
667
  })
668
668
  # set currencies here to avoid calling publicGetAssets twice
669
- self.currencies = self.deep_extend(self.currencies, result)
669
+ self.currencies = self.map_to_safe_map(self.deep_extend(self.currencies, result))
670
670
  return result
671
671
 
672
672
  def fetch_ticker(self, symbol: str, params={}) -> Ticker:
@@ -1207,6 +1207,8 @@ class bitvavo(Exchange, ImplicitAPI):
1207
1207
  operatorId, params = self.handle_option_and_params(params, 'createOrder', 'operatorId')
1208
1208
  if operatorId is not None:
1209
1209
  request['operatorId'] = self.parse_to_int(operatorId)
1210
+ else:
1211
+ raise ArgumentsRequired(self.id + ' createOrder() requires an operatorId in params or options, eg: exchange.options[\'operatorId\'] = 1234567890')
1210
1212
  return self.extend(request, params)
1211
1213
 
1212
1214
  def create_order(self, symbol: Str, type: OrderType, side: OrderSide, amount: float, price: Num = None, params={}):
@@ -1304,6 +1306,8 @@ class bitvavo(Exchange, ImplicitAPI):
1304
1306
  operatorId, params = self.handle_option_and_params(params, 'editOrder', 'operatorId')
1305
1307
  if operatorId is not None:
1306
1308
  request['operatorId'] = self.parse_to_int(operatorId)
1309
+ else:
1310
+ raise ArgumentsRequired(self.id + ' editOrder() requires an operatorId in params or options, eg: exchange.options[\'operatorId\'] = 1234567890')
1307
1311
  request['market'] = market['id']
1308
1312
  return request
1309
1313
 
@@ -1342,6 +1346,8 @@ class bitvavo(Exchange, ImplicitAPI):
1342
1346
  operatorId, params = self.handle_option_and_params(params, 'cancelOrder', 'operatorId')
1343
1347
  if operatorId is not None:
1344
1348
  request['operatorId'] = self.parse_to_int(operatorId)
1349
+ else:
1350
+ raise ArgumentsRequired(self.id + ' cancelOrder() requires an operatorId in params or options, eg: exchange.options[\'operatorId\'] = 1234567890')
1345
1351
  return self.extend(request, params)
1346
1352
 
1347
1353
  def cancel_order(self, id: str, symbol: Str = None, params={}):
ccxt/exmo.py CHANGED
@@ -666,8 +666,9 @@ class exmo(Exchange, ImplicitAPI):
666
666
  :param dict [params]: extra parameters specific to the exchange API endpoint
667
667
  :returns dict: an associative dictionary of currencies
668
668
  """
669
+ promises = []
669
670
  #
670
- currencyList = self.publicGetCurrencyListExtended(params)
671
+ promises.append(self.publicGetCurrencyListExtended(params))
671
672
  #
672
673
  # [
673
674
  # {"name":"VLX","description":"Velas"},
@@ -676,7 +677,7 @@ class exmo(Exchange, ImplicitAPI):
676
677
  # {"name":"USD","description":"US Dollar"}
677
678
  # ]
678
679
  #
679
- cryptoList = self.publicGetPaymentsProvidersCryptoList(params)
680
+ promises.append(self.publicGetPaymentsProvidersCryptoList(params))
680
681
  #
681
682
  # {
682
683
  # "BTC":[
@@ -701,6 +702,9 @@ class exmo(Exchange, ImplicitAPI):
701
702
  # ],
702
703
  # }
703
704
  #
705
+ responses = promises
706
+ currencyList = responses[0]
707
+ cryptoList = responses[1]
704
708
  result: dict = {}
705
709
  for i in range(0, len(currencyList)):
706
710
  currency = currencyList[i]
@@ -754,6 +758,10 @@ class exmo(Exchange, ImplicitAPI):
754
758
  commissionDesc = self.safe_string(provider, 'commission_desc')
755
759
  fee = self.parse_fixed_float_value(commissionDesc)
756
760
  code = self.safe_currency_code(currencyId)
761
+ info = {
762
+ 'currency': currency,
763
+ 'providers': providers,
764
+ }
757
765
  result[code] = {
758
766
  'id': currencyId,
759
767
  'code': code,
@@ -765,7 +773,7 @@ class exmo(Exchange, ImplicitAPI):
765
773
  'fee': fee,
766
774
  'precision': self.parse_number('1e-8'),
767
775
  'limits': limits,
768
- 'info': providers,
776
+ 'info': info,
769
777
  'networks': {},
770
778
  }
771
779
  return result
ccxt/htx.py CHANGED
@@ -6341,7 +6341,7 @@ class htx(Exchange, ImplicitAPI):
6341
6341
  fee = self.safe_number(params, 'fee')
6342
6342
  if fee is None:
6343
6343
  currencies = self.fetch_currencies()
6344
- self.currencies = self.deep_extend(self.currencies, currencies)
6344
+ self.currencies = self.map_to_safe_map(self.deep_extend(self.currencies, currencies))
6345
6345
  targetNetwork = self.safe_value(currency['networks'], networkCode, {})
6346
6346
  fee = self.safe_number(targetNetwork, 'fee')
6347
6347
  if fee is None:
ccxt/krakenfutures.py CHANGED
@@ -538,7 +538,7 @@ class krakenfutures(Exchange, ImplicitAPI):
538
538
  'code': code,
539
539
  'precision': None,
540
540
  })
541
- self.currencies = self.deep_extend(currencies, self.currencies)
541
+ self.currencies = self.map_to_safe_map(self.deep_extend(currencies, self.currencies))
542
542
  return result
543
543
 
544
544
  def fetch_order_book(self, symbol: str, limit: Int = None, params={}) -> OrderBook:
ccxt/lbank.py CHANGED
@@ -6,7 +6,7 @@
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.lbank import ImplicitAPI
8
8
  import hashlib
9
- from ccxt.base.types import Any, Balances, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, FundingRate, FundingRates, Trade, TradingFeeInterface, TradingFees, Transaction
9
+ from ccxt.base.types import Any, Balances, Currencies, Currency, DepositAddress, Int, Market, Num, Order, OrderBook, OrderSide, OrderType, Str, Strings, Ticker, Tickers, FundingRate, FundingRates, Trade, TradingFeeInterface, TradingFees, Transaction
10
10
  from typing import List
11
11
  from ccxt.base.errors import ExchangeError
12
12
  from ccxt.base.errors import AuthenticationError
@@ -61,6 +61,7 @@ class lbank(Exchange, ImplicitAPI):
61
61
  'fetchClosedOrders': False,
62
62
  'fetchCrossBorrowRate': False,
63
63
  'fetchCrossBorrowRates': False,
64
+ 'fetchCurrencies': True,
64
65
  'fetchDepositAddress': True,
65
66
  'fetchDepositAddresses': False,
66
67
  'fetchDepositAddressesByNetwork': False,
@@ -135,6 +136,7 @@ class lbank(Exchange, ImplicitAPI):
135
136
  'currencyPairs': 2.5,
136
137
  'accuracy': 2.5,
137
138
  'usdToCny': 2.5,
139
+ 'assetConfigs': 2.5,
138
140
  'withdrawConfigs': 2.5,
139
141
  'timestamp': 2.5,
140
142
  'ticker/24hr': 2.5,
@@ -221,6 +223,7 @@ class lbank(Exchange, ImplicitAPI):
221
223
  },
222
224
  },
223
225
  'commonCurrencies': {
226
+ 'XBT': 'XBT', # not BTC!
224
227
  'HIT': 'Hiver',
225
228
  'VET_ERC20': 'VEN',
226
229
  'PNT': 'Penta',
@@ -288,21 +291,12 @@ class lbank(Exchange, ImplicitAPI):
288
291
  # ptx: 1
289
292
  # }
290
293
  },
291
- 'inverse-networks': {
294
+ 'networksById': {
292
295
  'erc20': 'ERC20',
293
296
  'trc20': 'TRC20',
294
- 'omni': 'OMNI',
295
- 'asa': 'ASA',
296
- 'bep20(bsc)': 'BSC',
297
- 'bep20': 'BSC',
298
- 'heco': 'HT',
299
- 'bep2': 'BNB',
300
- 'btc': 'BTC',
301
- 'dogecoin': 'DOGE',
302
- 'matic': 'MATIC',
303
- 'oec': 'OEC',
304
- 'btctron': 'BTCTRON',
305
- 'xrp': 'XRP',
297
+ 'TRX': 'TRC20',
298
+ 'bep20(bsc)': 'BEP20',
299
+ 'bep20': 'BEP20',
306
300
  },
307
301
  'defaultNetworks': {
308
302
  'USDT': 'TRC20',
@@ -423,6 +417,104 @@ class lbank(Exchange, ImplicitAPI):
423
417
  #
424
418
  return self.safe_integer(response, 'data')
425
419
 
420
+ def fetch_currencies(self, params={}) -> Currencies:
421
+ """
422
+ fetches all available currencies on an exchange
423
+ :param dict [params]: extra parameters specific to the exchange API endpoint
424
+ :returns dict: an associative dictionary of currencies
425
+ """
426
+ response = self.spotPublicGetWithdrawConfigs(params)
427
+ #
428
+ # {
429
+ # "msg": "Success",
430
+ # "result": "true",
431
+ # "data": [
432
+ # {
433
+ # "amountScale": "4",
434
+ # "chain": "bep20(bsc)",
435
+ # "assetCode": "usdt",
436
+ # "min": "10",
437
+ # "transferAmtScale": "4",
438
+ # "canWithDraw": True,
439
+ # "fee": "0.0000",
440
+ # "minTransfer": "0.0001",
441
+ # "type": "1"
442
+ # },
443
+ # {
444
+ # "amountScale": "4",
445
+ # "chain": "trc20",
446
+ # "assetCode": "usdt",
447
+ # "min": "1",
448
+ # "transferAmtScale": "4",
449
+ # "canWithDraw": True,
450
+ # "fee": "1.0000",
451
+ # "minTransfer": "0.0001",
452
+ # "type": "1"
453
+ # },
454
+ # ...
455
+ # ],
456
+ # "error_code": "0",
457
+ # "ts": "1747973911431"
458
+ # }
459
+ #
460
+ currenciesData = self.safe_list(response, 'data', [])
461
+ grouped = self.group_by(currenciesData, 'assetCode')
462
+ groupedKeys = list(grouped.keys())
463
+ result: dict = {}
464
+ for i in range(0, len(groupedKeys)):
465
+ id = str((groupedKeys[i])) # some currencies are numeric
466
+ code = self.safe_currency_code(id)
467
+ networksRaw = grouped[id]
468
+ networks = {}
469
+ for j in range(0, len(networksRaw)):
470
+ networkEntry = networksRaw[j]
471
+ networkId = self.safe_string(networkEntry, 'chain')
472
+ networkCode = self.network_id_to_code(networkId)
473
+ networks[networkCode] = {
474
+ 'id': networkId,
475
+ 'network': networkCode,
476
+ 'limits': {
477
+ 'withdraw': {
478
+ 'min': self.safe_number(networkEntry, 'min'),
479
+ 'max': None,
480
+ },
481
+ 'deposit': {
482
+ 'min': self.safe_number(networkEntry, 'minTransfer'),
483
+ 'max': None,
484
+ },
485
+ },
486
+ 'active': None,
487
+ 'deposit': None,
488
+ 'withdraw': self.safe_bool(networkEntry, 'canWithDraw'),
489
+ 'fee': self.safe_number(networkEntry, 'fee'),
490
+ 'precision': self.parse_number(self.parse_precision(self.safe_string(networkEntry, 'transferAmtScale'))),
491
+ 'info': networkEntry,
492
+ }
493
+ result[code] = self.safe_currency_structure({
494
+ 'id': id,
495
+ 'code': code,
496
+ 'precision': None,
497
+ 'type': None,
498
+ 'name': None,
499
+ 'active': None,
500
+ 'deposit': None,
501
+ 'withdraw': None,
502
+ 'fee': None,
503
+ 'limits': {
504
+ 'withdraw': {
505
+ 'min': None,
506
+ 'max': None,
507
+ },
508
+ 'deposit': {
509
+ 'min': None,
510
+ 'max': None,
511
+ },
512
+ },
513
+ 'networks': networks,
514
+ 'info': networksRaw,
515
+ })
516
+ return result
517
+
426
518
  def fetch_markets(self, params={}) -> List[Market]:
427
519
  """
428
520
  retrieves data on all markets for lbank
@@ -2097,13 +2189,10 @@ class lbank(Exchange, ImplicitAPI):
2097
2189
  result = self.safe_value(response, 'data')
2098
2190
  address = self.safe_string(result, 'address')
2099
2191
  tag = self.safe_string(result, 'memo')
2100
- networkId = self.safe_string(result, 'netWork')
2101
- inverseNetworks = self.safe_value(self.options, 'inverse-networks', {})
2102
- networkCode = self.safe_string_upper(inverseNetworks, networkId, networkId)
2103
2192
  return {
2104
2193
  'info': response,
2105
2194
  'currency': code,
2106
- 'network': networkCode,
2195
+ 'network': self.network_id_to_code(self.safe_string(result, 'netWork')),
2107
2196
  'address': address,
2108
2197
  'tag': tag,
2109
2198
  }
@@ -2137,12 +2226,10 @@ class lbank(Exchange, ImplicitAPI):
2137
2226
  result = self.safe_value(response, 'data')
2138
2227
  address = self.safe_string(result, 'address')
2139
2228
  tag = self.safe_string(result, 'memo')
2140
- inverseNetworks = self.safe_value(self.options, 'inverse-networks', {})
2141
- networkCode = self.safe_string_upper(inverseNetworks, network, network)
2142
2229
  return {
2143
2230
  'info': response,
2144
2231
  'currency': code,
2145
- 'network': networkCode, # will be None if not specified in request
2232
+ 'network': None,
2146
2233
  'address': address,
2147
2234
  'tag': tag,
2148
2235
  }
@@ -2262,9 +2349,6 @@ class lbank(Exchange, ImplicitAPI):
2262
2349
  type = 'withdrawal'
2263
2350
  txid = self.safe_string(transaction, 'txId')
2264
2351
  timestamp = self.safe_integer_2(transaction, 'insertTime', 'applyTime')
2265
- networks = self.safe_value(self.options, 'inverse-networks', {})
2266
- networkId = self.safe_string(transaction, 'networkName')
2267
- network = self.safe_string(networks, networkId, networkId)
2268
2352
  address = self.safe_string(transaction, 'address')
2269
2353
  addressFrom = None
2270
2354
  addressTo = None
@@ -2289,7 +2373,7 @@ class lbank(Exchange, ImplicitAPI):
2289
2373
  'txid': txid,
2290
2374
  'timestamp': timestamp,
2291
2375
  'datetime': self.iso8601(timestamp),
2292
- 'network': network,
2376
+ 'network': self.network_id_to_code(self.safe_string(transaction, 'networkName')),
2293
2377
  'address': address,
2294
2378
  'addressTo': addressTo,
2295
2379
  'addressFrom': addressFrom,
@@ -2482,10 +2566,9 @@ class lbank(Exchange, ImplicitAPI):
2482
2566
  withdrawFees[code] = {}
2483
2567
  for j in range(0, len(networkList)):
2484
2568
  networkEntry = networkList[j]
2485
- networkId = self.safe_string(networkEntry, 'name')
2486
- networkCode = self.safe_string(self.options['inverse-networks'], networkId, networkId)
2487
2569
  fee = self.safe_number(networkEntry, 'withdrawFee')
2488
2570
  if fee is not None:
2571
+ networkCode = self.network_id_to_code(self.safe_string(networkEntry, 'name'))
2489
2572
  withdrawFees[code][networkCode] = fee
2490
2573
  return {
2491
2574
  'withdraw': withdrawFees,
@@ -2533,8 +2616,7 @@ class lbank(Exchange, ImplicitAPI):
2533
2616
  if canWithdraw == 'true':
2534
2617
  currencyId = self.safe_string(item, 'assetCode')
2535
2618
  codeInner = self.safe_currency_code(currencyId)
2536
- chain = self.safe_string(item, 'chain')
2537
- network = self.safe_string(self.options['inverse-networks'], chain, chain)
2619
+ network = self.network_id_to_code(self.safe_string(item, 'chain'))
2538
2620
  if network is None:
2539
2621
  network = codeInner
2540
2622
  fee = self.safe_string(item, 'fee')
@@ -2675,8 +2757,7 @@ class lbank(Exchange, ImplicitAPI):
2675
2757
  else:
2676
2758
  resultCodeInfo = result[code]['info']
2677
2759
  resultCodeInfo.append(fee)
2678
- chain = self.safe_string(fee, 'chain')
2679
- networkCode = self.safe_string(self.options['inverse-networks'], chain, chain)
2760
+ networkCode = self.network_id_to_code(self.safe_string(fee, 'chain'))
2680
2761
  if networkCode is not None:
2681
2762
  result[code]['networks'][networkCode] = {
2682
2763
  'withdraw': {
@@ -2726,8 +2807,7 @@ class lbank(Exchange, ImplicitAPI):
2726
2807
  networkList = self.safe_value(fee, 'networkList', [])
2727
2808
  for j in range(0, len(networkList)):
2728
2809
  networkEntry = networkList[j]
2729
- networkId = self.safe_string(networkEntry, 'name')
2730
- networkCode = self.safe_string_upper(self.options['inverse-networks'], networkId, networkId)
2810
+ networkCode = self.network_id_to_code(self.safe_string(networkEntry, 'name'))
2731
2811
  withdrawFee = self.safe_number(networkEntry, 'withdrawFee')
2732
2812
  isDefault = self.safe_value(networkEntry, 'isDefault')
2733
2813
  if withdrawFee is not None:
ccxt/okx.py CHANGED
@@ -4893,7 +4893,7 @@ class okx(Exchange, ImplicitAPI):
4893
4893
  fee = self.safe_string(params, 'fee')
4894
4894
  if fee is None:
4895
4895
  currencies = self.fetch_currencies()
4896
- self.currencies = self.deep_extend(self.currencies, currencies)
4896
+ self.currencies = self.map_to_safe_map(self.deep_extend(self.currencies, currencies))
4897
4897
  targetNetwork = self.safe_dict(currency['networks'], self.network_id_to_code(network), {})
4898
4898
  fee = self.safe_string(targetNetwork, 'fee')
4899
4899
  if fee is None:
@@ -6843,7 +6843,7 @@ class okx(Exchange, ImplicitAPI):
6843
6843
 
6844
6844
  def fetch_borrow_interest(self, code: Str = None, symbol: Str = None, since: Int = None, limit: Int = None, params={}) -> List[BorrowInterest]:
6845
6845
  """
6846
- fetch the interest owed by the user for borrowing currency for margin trading
6846
+ fetch the interest owed b the user for borrowing currency for margin trading
6847
6847
 
6848
6848
  https://www.okx.com/docs-v5/en/#rest-api-account-get-interest-accrued-data
6849
6849
 
ccxt/pro/__init__.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.4.91'
7
+ __version__ = '4.4.92'
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
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 = {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.4.91
3
+ Version: 4.4.92
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.92/dist/ccxt.browser.min.js
273
+ * unpkg: https://unpkg.com/ccxt@4.4.92/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.92/dist/ccxt.browser.min.js"></script>
279
279
  ```
280
280
 
281
281
  Creates a global `ccxt` object:
@@ -1,4 +1,4 @@
1
- ccxt/__init__.py,sha256=mfiQJQEb7-xLN1dO-DU6YGY1jWy0frqKaTfliu1rsFc,16184
1
+ ccxt/__init__.py,sha256=ojF1WQDfHgMM5pL6NnF0AXMrXRakN_REqtiFTS8_mxY,16184
2
2
  ccxt/alpaca.py,sha256=S-PvXknJDcYUqHZWg4isZKGbTa8oU2G4Z0BqbvObNPI,80687
3
3
  ccxt/apex.py,sha256=zNACpzgcqESJBg73H7gdDoA7ixjDVhCwFRr5hVtcT5g,82680
4
4
  ccxt/ascendex.py,sha256=J1Ob6JJ-GXLfm5NHKETN985sAPN3nYlzWi57GYB1zpE,158608
@@ -16,7 +16,7 @@ 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
19
+ ccxt/bitmart.py,sha256=4MG2T1wLN7FaUMlMwx2lYdio16Ur-mWqmNQ-8_Srcgk,249281
20
20
  ccxt/bitmex.py,sha256=yfYWTE6n3KxcWIGrbEwus9Q4eOm5xGlmjapaBOjQfek,131832
21
21
  ccxt/bitopro.py,sha256=5e56YxFdUtGV885QUmPMxu_g6kUoaUVCMcB9U48LdEU,75452
22
22
  ccxt/bitrue.py,sha256=nxnwNVJv8DJLl3itJoIPnSBkhmAQxHfGpUeDB_skH5A,141003
@@ -24,7 +24,7 @@ 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
@@ -53,7 +53,7 @@ ccxt/deribit.py,sha256=yl2jQyWkhufwhf8MLfcCS1fjvDMCi7qi9amcjztIpAg,167176
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=yOzJRf_0yj2Vqs7CXgteupdUd7FLFB1ZPg14qFeugOM,121038
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
66
  ccxt/hyperliquid.py,sha256=Gsq0yWhTnO8zYdRLretO47k4_Pz9Xj7ywvjWqTONtts,152882
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
70
+ ccxt/krakenfutures.py,sha256=YNkjiQPRSxFZDiu_Irh9zJ-ILEVgbAJ2uNA_7_eQ-vU,123374
71
71
  ccxt/kucoin.py,sha256=OycntB0gK0mI4ZfDDMmHip8n2S-AxgKX2jG9XjFeJ5A,232381
72
72
  ccxt/kucoinfutures.py,sha256=dIYjcWvjFSMdvykeSKLHJtyetBxPHKToj5TvLTv9pYA,146502
73
73
  ccxt/latoken.py,sha256=WgmOCDR-7LfFi3NiqudrxUMR63ivcxxJMyE95YcUD5I,82334
74
- ccxt/lbank.py,sha256=wboC02jnDOCj4Q1QNuwgMJ6umoXuYS1CySiXP4valCg,123621
74
+ ccxt/lbank.py,sha256=xEsk7IVw3-VNkraPrfyRwjJu9lUk_NoT7hO16pN0l30,126485
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,7 +81,7 @@ 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=LMFk1DKrg4UjQtINyaCvF8sxdVyQJQYwc3GL8jGYAjo,399295
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
@@ -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=IB0jcxTkFxFR-OAknPtFtM9VcGczU9y0BUSijh7wSgM,8802
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,7 +210,7 @@ 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=U6YPqoMPS5CWus3B3SG9cyVUtSmX9KAAGEFaCrJe3RE,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
216
  ccxt/async_support/ascendex.py,sha256=sbL_sajKakTo1-Qw87oipkxrA5Qk-ol6bnY3kqh_5Bk,159445
@@ -228,7 +228,7 @@ 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
231
+ ccxt/async_support/bitmart.py,sha256=PkmPIZj_tVUwmAotVSfdw9fkY53AGAsgKmJZrqFGyj0,250405
232
232
  ccxt/async_support/bitmex.py,sha256=Nol7iGiAzcCom877VUrfsL0cobZ5DXPRmYmq6noBsoM,132410
233
233
  ccxt/async_support/bitopro.py,sha256=ZSzfoGFxe8005JhF58OGhAgjOz_ElL4kS8gZBxlp5cs,75862
234
234
  ccxt/async_support/bitrue.py,sha256=pYVOhG7dB1RAYsHLmlut9qd3tOxaZF8VS-J1fImp_qU,141661
@@ -236,7 +236,7 @@ ccxt/async_support/bitso.py,sha256=VxJIMonNL21HlZtf1t_VTTdwfrpDr5B8FB0o-aSISP4,7
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
@@ -265,7 +265,7 @@ ccxt/async_support/deribit.py,sha256=Zfcl0uPhi6oYAYBy5T6MywTpdNbarfyJLH-rxqiZ-NE
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=zcCJzS6PHoj4fBtxb6oG_0miQyA3d3mcpnSCI-E8Vlc,121761
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
278
  ccxt/async_support/hyperliquid.py,sha256=MyHvZLgVhrwpZWBDO56J3v1e-0DUSMlQaUPSf_kBuGs,153660
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
282
+ ccxt/async_support/krakenfutures.py,sha256=xsdJzV08NBZUa7dfjHw_nG0OR9VOgcpABnp5VnBqw2I,123862
283
283
  ccxt/async_support/kucoin.py,sha256=kUz1hYpOU364piOa-psqtxTm11f6KlXS0HErk9_J-xk,233531
284
284
  ccxt/async_support/kucoinfutures.py,sha256=irTJoiMRS_8FGDalVNXE1sV1zhkM9rkVtqUOreL0tTM,147290
285
285
  ccxt/async_support/latoken.py,sha256=RdEFvig7T_GbtwUy8MG3ZKnlsM6UDJnjbvjTs7Y7Qis,82810
286
- ccxt/async_support/lbank.py,sha256=cIEIQYDUTzTbnCZTxkfSS4ef80zlwlw1GBIRJJReopU,124369
286
+ ccxt/async_support/lbank.py,sha256=ATLilFpFuLHnKC7GOAbAYG9D0Ruq-mwuHXKRFYEZcUA,127245
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,7 +293,7 @@ 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=FKfmaXBW0seSWIlQZooo1HNpkoIc8NUAUtKbHqHDpKk,400996
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
@@ -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=FQynGv0nHLJXfqiWThG1GFXUYqFMvMBdRkMYAxVGrqY,119286
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=1N_ji0ekjViecIHdcT7a8DVbq8aB-ZVgjK6ccJZntMU,13476
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=_2FOqAIq1yfzBic5QI4JMQseWYPIesZpubuSde7jxYk,328428
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=VykHBWhd2Y9HKrCXWzVwZBdaiOaFWPHhiWEOsV0f0Es,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
@@ -354,7 +354,7 @@ 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=ST20tZytjq_oqc7wpB4IDmB4Y5SK0m2ytVjX1SyM6Dc,106552
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.92.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
641
+ ccxt-4.4.92.dist-info/METADATA,sha256=4OczgpQx8lH6zXlgQarj-kPtFdDGyn3mqXj4ufhp5aM,131613
642
+ ccxt-4.4.92.dist-info/WHEEL,sha256=Kh9pAotZVRFj97E15yTA4iADqXdQfIVTHcNaZTjxeGM,110
643
+ ccxt-4.4.92.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
644
+ ccxt-4.4.92.dist-info/RECORD,,
File without changes