ccxt 4.4.29__py2.py3-none-any.whl → 4.4.30__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/hyperliquid.py CHANGED
@@ -5,7 +5,8 @@
5
5
 
6
6
  from ccxt.base.exchange import Exchange
7
7
  from ccxt.abstract.hyperliquid import ImplicitAPI
8
- from ccxt.base.types import Balances, Currencies, Currency, Int, LedgerEntry, MarginModification, Market, Num, Order, OrderBook, OrderRequest, CancellationRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, Trade, TradingFeeInterface, Transaction, TransferEntry
8
+ import math
9
+ from ccxt.base.types import Balances, Currencies, Currency, Int, LedgerEntry, MarginModification, Market, Num, Order, OrderBook, OrderRequest, CancellationRequest, OrderSide, OrderType, Str, Strings, Ticker, Tickers, FundingRate, FundingRates, Trade, TradingFeeInterface, Transaction, TransferEntry
9
10
  from typing import List
10
11
  from ccxt.base.errors import ExchangeError
11
12
  from ccxt.base.errors import ArgumentsRequired
@@ -74,7 +75,7 @@ class hyperliquid(Exchange, ImplicitAPI):
74
75
  'fetchFundingHistory': False,
75
76
  'fetchFundingRate': False,
76
77
  'fetchFundingRateHistory': True,
77
- 'fetchFundingRates': False,
78
+ 'fetchFundingRates': True,
78
79
  'fetchIndexOHLCV': False,
79
80
  'fetchIsolatedBorrowRate': False,
80
81
  'fetchIsolatedBorrowRates': False,
@@ -130,12 +131,12 @@ class hyperliquid(Exchange, ImplicitAPI):
130
131
  '1h': '1h',
131
132
  '2h': '2h',
132
133
  '4h': '4h',
133
- '6h': '6h',
134
+ '8h': '8h',
134
135
  '12h': '12h',
135
136
  '1d': '1d',
136
137
  '3d': '3d',
137
138
  '1w': '1w',
138
- '1M': '1m',
139
+ '1M': '1M',
139
140
  },
140
141
  'hostname': 'hyperliquid.xyz',
141
142
  'urls': {
@@ -735,6 +736,110 @@ class hyperliquid(Exchange, ImplicitAPI):
735
736
  result[symbol] = ticker
736
737
  return self.filter_by_array_tickers(result, 'symbol', symbols)
737
738
 
739
+ def fetch_funding_rates(self, symbols: Strings = None, params={}) -> FundingRates:
740
+ """
741
+ retrieves data on all swap markets for hyperliquid
742
+ :see: https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint/perpetuals#retrieve-perpetuals-asset-contexts-includes-mark-price-current-funding-open-interest-etc
743
+ :param dict [params]: extra parameters specific to the exchange API endpoint
744
+ :returns dict[]: an array of objects representing market data
745
+ """
746
+ request: dict = {
747
+ 'type': 'metaAndAssetCtxs',
748
+ }
749
+ response = self.publicPostInfo(self.extend(request, params))
750
+ #
751
+ # [
752
+ # {
753
+ # "universe": [
754
+ # {
755
+ # "maxLeverage": 50,
756
+ # "name": "SOL",
757
+ # "onlyIsolated": False,
758
+ # "szDecimals": 2
759
+ # }
760
+ # ]
761
+ # },
762
+ # [
763
+ # {
764
+ # "dayNtlVlm": "9450588.2273",
765
+ # "funding": "0.0000198",
766
+ # "impactPxs": [
767
+ # "108.04",
768
+ # "108.06"
769
+ # ],
770
+ # "markPx": "108.04",
771
+ # "midPx": "108.05",
772
+ # "openInterest": "10764.48",
773
+ # "oraclePx": "107.99",
774
+ # "premium": "0.00055561",
775
+ # "prevDayPx": "111.81"
776
+ # }
777
+ # ]
778
+ # ]
779
+ #
780
+ #
781
+ meta = self.safe_dict(response, 0, {})
782
+ universe = self.safe_list(meta, 'universe', [])
783
+ assetCtxs = self.safe_list(response, 1, [])
784
+ result = []
785
+ for i in range(0, len(universe)):
786
+ data = self.extend(
787
+ self.safe_dict(universe, i, {}),
788
+ self.safe_dict(assetCtxs, i, {})
789
+ )
790
+ result.append(data)
791
+ funding_rates = self.parse_funding_rates(result)
792
+ return self.filter_by_array(funding_rates, 'symbol', symbols)
793
+
794
+ def parse_funding_rate(self, info, market: Market = None) -> FundingRate:
795
+ #
796
+ # {
797
+ # "maxLeverage": "50",
798
+ # "name": "ETH",
799
+ # "onlyIsolated": False,
800
+ # "szDecimals": "4",
801
+ # "dayNtlVlm": "1709813.11535",
802
+ # "funding": "0.00004807",
803
+ # "impactPxs": [
804
+ # "2369.3",
805
+ # "2369.6"
806
+ # ],
807
+ # "markPx": "2369.6",
808
+ # "midPx": "2369.45",
809
+ # "openInterest": "1815.4712",
810
+ # "oraclePx": "2367.3",
811
+ # "premium": "0.00090821",
812
+ # "prevDayPx": "2381.5"
813
+ # }
814
+ #
815
+ base = self.safe_string(info, 'name')
816
+ marketId = self.coin_to_market_id(base)
817
+ symbol = self.safe_symbol(marketId, market)
818
+ funding = self.safe_number(info, 'funding')
819
+ markPx = self.safe_number(info, 'markPx')
820
+ oraclePx = self.safe_number(info, 'oraclePx')
821
+ fundingTimestamp = (int(math.floor(self.milliseconds()) / 60 / 60 / 1000) + 1) * 60 * 60 * 1000
822
+ return {
823
+ 'info': info,
824
+ 'symbol': symbol,
825
+ 'markPrice': markPx,
826
+ 'indexPrice': oraclePx,
827
+ 'interestRate': None,
828
+ 'estimatedSettlePrice': None,
829
+ 'timestamp': None,
830
+ 'datetime': None,
831
+ 'fundingRate': funding,
832
+ 'fundingTimestamp': fundingTimestamp,
833
+ 'fundingDatetime': self.iso8601(fundingTimestamp),
834
+ 'nextFundingRate': None,
835
+ 'nextFundingTimestamp': None,
836
+ 'nextFundingDatetime': None,
837
+ 'previousFundingRate': None,
838
+ 'previousFundingTimestamp': None,
839
+ 'previousFundingDatetime': None,
840
+ 'interval': '1h',
841
+ }
842
+
738
843
  def parse_ticker(self, ticker: dict, market: Market = None) -> Ticker:
739
844
  #
740
845
  # {
@@ -794,7 +899,7 @@ class hyperliquid(Exchange, ImplicitAPI):
794
899
  'type': 'candleSnapshot',
795
900
  'req': {
796
901
  'coin': market['base'] if market['swap'] else market['id'],
797
- 'interval': timeframe,
902
+ 'interval': self.safe_string(self.timeframes, timeframe, timeframe),
798
903
  'startTime': since,
799
904
  'endTime': until,
800
905
  },
ccxt/lbank.py CHANGED
@@ -1158,7 +1158,7 @@ class lbank(Exchange, ImplicitAPI):
1158
1158
  intervalString = None
1159
1159
  if positionFeeTime is not None:
1160
1160
  interval = self.parse_to_int(positionFeeTime / 60 / 60)
1161
- intervalString = interval + 'h'
1161
+ intervalString = str(interval) + 'h'
1162
1162
  return {
1163
1163
  'info': ticker,
1164
1164
  'symbol': symbol,
ccxt/pro/__init__.py CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  # ----------------------------------------------------------------------------
6
6
 
7
- __version__ = '4.4.29'
7
+ __version__ = '4.4.30'
8
8
 
9
9
  # ----------------------------------------------------------------------------
10
10
 
ccxt/pro/blofin.py CHANGED
@@ -630,7 +630,8 @@ class blofin(ccxt.async_support.blofin):
630
630
  if event == 'subscribe':
631
631
  return
632
632
  elif event == 'login':
633
- client.resolve(message, 'authenticate_hash')
633
+ future = self.safe_value(client.futures, 'authenticate_hash')
634
+ future.resolve(True)
634
635
  return
635
636
  elif event == 'error':
636
637
  raise ExchangeError(self.id + ' error: ' + self.json(message))
@@ -237,8 +237,8 @@ def get_test_files_sync(properties, ws=False):
237
237
  module_string = 'ccxt.test.exchange.' + prefix + '.test_' + name_snake_case
238
238
  if (ws):
239
239
  prefix = 'pro'
240
- dir_to_test = DIR_NAME + '/../' + prefix + '/test/Exchange/'
241
- module_string = 'ccxt.pro.test.Exchange.test_' + name_snake_case
240
+ dir_to_test = DIR_NAME + '/../' + prefix + '/test/exchange/'
241
+ module_string = 'ccxt.pro.test.exchange.test_' + name_snake_case
242
242
  filePathWithExt = dir_to_test + 'test_' + name_snake_case + '.py'
243
243
  if (io_file_exists (filePathWithExt)):
244
244
  imp = importlib.import_module(module_string)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.4.29
3
+ Version: 4.4.30
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
@@ -273,13 +273,13 @@ console.log(version, Object.keys(exchanges));
273
273
 
274
274
  All-in-one browser bundle (dependencies included), served from a CDN of your choice:
275
275
 
276
- * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.29/dist/ccxt.browser.min.js
277
- * unpkg: https://unpkg.com/ccxt@4.4.29/dist/ccxt.browser.min.js
276
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.30/dist/ccxt.browser.min.js
277
+ * unpkg: https://unpkg.com/ccxt@4.4.30/dist/ccxt.browser.min.js
278
278
 
279
279
  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.
280
280
 
281
281
  ```HTML
282
- <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.29/dist/ccxt.browser.min.js"></script>
282
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.30/dist/ccxt.browser.min.js"></script>
283
283
  ```
284
284
 
285
285
  Creates a global `ccxt` object:
@@ -1,10 +1,10 @@
1
- ccxt/__init__.py,sha256=w5zi3oE-6l6BMgJvNw6uqo3dNMBMOXUvslkI8ND4fTU,16586
1
+ ccxt/__init__.py,sha256=nZUVOS2E51JpVhVc1uEaBPzo5PiKCatL7Z8U7UhWq9w,16586
2
2
  ccxt/ace.py,sha256=v7aDhXSxYH0Pk76RiuYERYyiApQTmNumxnHCl1gRI80,42398
3
- ccxt/alpaca.py,sha256=A9KOW46cFhRM79XLC5ei21BlF1T8-TYU8IgbD5hF-Zg,66553
3
+ ccxt/alpaca.py,sha256=3RXlyoAnc1v9G4ULNgplO2SQe3B8jj16VCKnMWJgHTI,69041
4
4
  ccxt/ascendex.py,sha256=no-JhCEx-fQjLiQYHJWkgzqHL7d5WtGYyc1clTMQQVM,151655
5
5
  ccxt/bequant.py,sha256=XePxHZlKFJ-2FwVR9hIpdM-Ng9-ZnIhTjemMnap7H0Q,1154
6
6
  ccxt/bigone.py,sha256=6BNkk4UYcoxaCpSTqYN4TduzGBGy9NGlWfn8HwdZNLw,91384
7
- ccxt/binance.py,sha256=kNcJBPCegRUOJ9NhjUujmIn81Cpx-Utf8BQDWcOVHTo,661944
7
+ ccxt/binance.py,sha256=M51HhdJvEkrtAQhP9xZDWQ6eyyv--0RST7gfeOr3MsY,662505
8
8
  ccxt/binancecoinm.py,sha256=2nFh2PcLqhqQK1uuQjsZa0eFkP-ew3liJ01ctdHcCd4,1681
9
9
  ccxt/binanceus.py,sha256=IT0iDdiWKzRu2ZCUB56YGfaHxCuFEEV4xi40Tp6Emxc,9182
10
10
  ccxt/binanceusdm.py,sha256=yoCcFvGD4MFYkShMpArxk_eLm8RR2ugyYHLk5e2AV08,2611
@@ -12,14 +12,14 @@ ccxt/bingx.py,sha256=os7lzXgu-IMbY29X0Ulbk7BE2m1JYNRowMlOyoLyV78,252388
12
12
  ccxt/bit2c.py,sha256=Gb2numn_zOXcmWB3x6iYqiGraivUn93HvzNmNt3fHz4,37234
13
13
  ccxt/bitbank.py,sha256=-9wrxyQYo6Hjy5lyUmuRJirb2GOUqzziCob1DRbThh8,43704
14
14
  ccxt/bitbay.py,sha256=xAIjzGRDVGwoy-Gygd99H0YN4wiaz_0lR0Z14oxaaxc,478
15
- ccxt/bitbns.py,sha256=aHnBa2q21GtFwv3xnxEIoCdEdIWbqEgzswFM2HS_1hg,48387
15
+ ccxt/bitbns.py,sha256=rWliEiVWaO7P1b7SnLeKaozTqYCyfP5mWetZmas5tdE,48375
16
16
  ccxt/bitcoincom.py,sha256=PyWIl4nC4jp5Uba2lI1At0N_hhNyWD0DoZC_MSyL_s4,502
17
- ccxt/bitfinex.py,sha256=yw7S5tE1glcpUL7Y8ufhYAtn9kyt-RxllHOQVnEsLps,73930
17
+ ccxt/bitfinex.py,sha256=Dd-xF5yT6qn2Tgs8_dOPFT-3uarIYc7Dd0y2b5jNgeY,73925
18
18
  ccxt/bitfinex2.py,sha256=_i9mzzVdEjgH4B229AdjzJwEJ0cQhI2VSOponcoTyWY,160812
19
19
  ccxt/bitflyer.py,sha256=bC3bwkt9awlTON5rrxu9EuZJbOS5_SAlFUcjjezVqng,43956
20
20
  ccxt/bitget.py,sha256=YkFXemJxvl7rte_RTb1gq4_5mhBme6ejxAlS4UX7_AU,436076
21
21
  ccxt/bithumb.py,sha256=M83qAF9zezhiVzGDo0FcBV5laTAQJrS1jInwv9YzutQ,47930
22
- ccxt/bitmart.py,sha256=8V-tMCv5SComs8izyys-ALa_CaRzStz0gfY85WTfrTg,222148
22
+ ccxt/bitmart.py,sha256=ke9W_r7Yl3FMy9XWeMXJut6Ec15zqhjXHSTGqcGSWhE,222111
23
23
  ccxt/bitmex.py,sha256=J9TGRfQtMZr3pcUJRgKqMqAff7JfY9KxKRcs3o5E3mQ,127439
24
24
  ccxt/bitopro.py,sha256=tDcyfPyVAJgZHB3o_VkTk3aGNOKD2L4IS-8-gDZ4AtU,69335
25
25
  ccxt/bitpanda.py,sha256=aiwPkx9lKbVzt4ggoYdq_mIbMGtg5ZtGl2yRHO5xyz8,471
@@ -53,7 +53,7 @@ ccxt/coinspot.py,sha256=-9oRdHdc6iWrkxXxcVF9zBashNcRJSoFORwHRa9scMc,23876
53
53
  ccxt/cryptocom.py,sha256=9tP7WABnM3rjW3asBlB5Oo_6Yrrg6FRL7Ov72KZJvF4,136822
54
54
  ccxt/currencycom.py,sha256=TxISX87ky2sqzmLMH9sm-OPyWxUaUPdiA9g9MOQcfD0,87180
55
55
  ccxt/delta.py,sha256=Q7AXfWe_gO6uln4UYjrCXWrl820hk_uZ_qX6bX93uEQ,151309
56
- ccxt/deribit.py,sha256=WaStCbqQJfKR2z5ulVfK4t2yec2ogNFZjQG3INVQWws,161709
56
+ ccxt/deribit.py,sha256=muH9s8c94D1JpJ5qynBIbAqh9gdayvy9cJY8TgE9IMY,161860
57
57
  ccxt/digifinex.py,sha256=__jNqverg7pjrGnOJrmAIjz1iyHYczXHkXqOwe-V4u8,171079
58
58
  ccxt/exmo.py,sha256=2h5yO0mEBOdNMZ8Uudld23ZL-U3qK6cTSQ8-kyCE5FQ,114965
59
59
  ccxt/fmfwio.py,sha256=RbVLvzPwnqfDsE7Ea-N13ISCC82eJVPsXYjrleASmew,1236
@@ -67,7 +67,7 @@ ccxt/hollaex.py,sha256=G3GtetlGJo2aTZehdYcEBcEPJiA2YZaeeyIYIzdLdSs,76270
67
67
  ccxt/htx.py,sha256=Hfm7rLlGGfcWc9OmXPvXS7eG5r2mxquslT5IS3uhTVw,436024
68
68
  ccxt/huobi.py,sha256=4vaG7IRN7fyjaJ_ac6S-njlHOfSEN5de7aq0noznxYw,438
69
69
  ccxt/huobijp.py,sha256=wOYMmrFp894hgdZJnF1BGkn2xnqm7AJ13IHXRiFEU0Y,89756
70
- ccxt/hyperliquid.py,sha256=eZwjW4Yniel1XnnH9ANVMmNQzXCU_KKaKP5Q8gTIXPM,124612
70
+ ccxt/hyperliquid.py,sha256=g8ItJeSHv4Pj8u6ETeekQ7CbRinViAftYvN9mQhr_Uo,128789
71
71
  ccxt/idex.py,sha256=uxWGe850kUAYKRTqFh1gyU-RrojSDO2J1p84OguDnHg,73322
72
72
  ccxt/independentreserve.py,sha256=ceJ8Qsn9z0wUifnJb-X3wfbDr1lviazDOBP8qbvHJl4,37914
73
73
  ccxt/indodax.py,sha256=wD3aEa5yWqbNYUIIWh2ywkaHwuge8WUwOE0yNHPPoKg,54813
@@ -77,7 +77,7 @@ ccxt/kucoin.py,sha256=N6LEzSB5uMIHkZWZRFY_uSLmLYA9zAEZYaJ5Zax-Apg,229656
77
77
  ccxt/kucoinfutures.py,sha256=I6cladqgxS2lUfcxBPgt8wrbzF7DQjAFnTJJVe4eIFM,139433
78
78
  ccxt/kuna.py,sha256=fWbHhIp8TNITUkPFZJrmtGAhzBYXgufNHLRe08FpE2o,96089
79
79
  ccxt/latoken.py,sha256=eeP45sF6BlPWSrevhkZP5xd4g4Qz0XUCrNlGXtocVHA,79794
80
- ccxt/lbank.py,sha256=L8V9mexEyYvA7owmH76W8l41Hun9jZwZj4ZubFDgYBQ,120693
80
+ ccxt/lbank.py,sha256=DnFTAhDDHzH3_732baL8mkmmRQgnFSjWWHbb1RHdDog,120698
81
81
  ccxt/luno.py,sha256=P3cZ_CnVyjMjDFn5e7jaev-pqs_rgmWQTsiJThRtffE,46353
82
82
  ccxt/lykke.py,sha256=gZRdu8zwTb1k1XQ58I-x9SXdWDtJ-qH-1vYAze13Www,51565
83
83
  ccxt/mercado.py,sha256=daefAIT0v5NFi6exuvlWINenKP8TR0bQF4vfI-P47D4,35725
@@ -112,14 +112,14 @@ ccxt/zaif.py,sha256=546LhozB6c_A1DDwCs5pl9woZQEvTa1DnxZ0bs3N27Y,28877
112
112
  ccxt/zonda.py,sha256=qPFa2Su9yLcDIreFjKpLFA3FVpeU_wg2FnmQYa9bwh8,82815
113
113
  ccxt/abstract/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
114
114
  ccxt/abstract/ace.py,sha256=2-jmtQUedebJ-M88oI3WhmenPElcRlOQHe-gfHjL5BQ,1448
115
- ccxt/abstract/alpaca.py,sha256=1hWhEz1azaNZuSPR1bArGibJ2bB_ilAna7nXDpKtd6k,10797
115
+ ccxt/abstract/alpaca.py,sha256=Kzns2Wa5gcCAXWMyJBfPHSDbGEutqAirjNWtC1OGEx8,10939
116
116
  ccxt/abstract/ascendex.py,sha256=5A8Zgq77jsdHlEzlTW_2nDybUUVfNVVOu6BgY3TWqRM,11394
117
117
  ccxt/abstract/bequant.py,sha256=OTBtNu3DQeAqAC_Lbi0NePUs-ZQQllcLrVDI2G04nwQ,15601
118
118
  ccxt/abstract/bigone.py,sha256=ChHXrnz1zHqLHJn162SxjfgbO8ocQppy7lXWGsHEtcI,4887
119
- ccxt/abstract/binance.py,sha256=0AP-GY4ojGONFvV5Ge9-s4dDaNj8ZjmvSNVXi2RjCBE,97957
120
- ccxt/abstract/binancecoinm.py,sha256=0AP-GY4ojGONFvV5Ge9-s4dDaNj8ZjmvSNVXi2RjCBE,97957
121
- ccxt/abstract/binanceus.py,sha256=hKYY9Zc-xLZ-989OjHcq7BddotH3Ew3ZFnYViANW3rs,104619
122
- ccxt/abstract/binanceusdm.py,sha256=0AP-GY4ojGONFvV5Ge9-s4dDaNj8ZjmvSNVXi2RjCBE,97957
119
+ ccxt/abstract/binance.py,sha256=ipUrAUKMy14F9oT7OXhK0w_Wau33PpAZnlaPId2nicY,99342
120
+ ccxt/abstract/binancecoinm.py,sha256=ipUrAUKMy14F9oT7OXhK0w_Wau33PpAZnlaPId2nicY,99342
121
+ ccxt/abstract/binanceus.py,sha256=3pciXi9BAUCIGkCp01jUj-XMVpHsrF-muPFExfg_0uM,106004
122
+ ccxt/abstract/binanceusdm.py,sha256=ipUrAUKMy14F9oT7OXhK0w_Wau33PpAZnlaPId2nicY,99342
123
123
  ccxt/abstract/bingx.py,sha256=EdmgcZNDZsycMzn8dbE-aRc-n3i2l_BtdKcYqxwtKA4,20830
124
124
  ccxt/abstract/bit2c.py,sha256=np6i756kSB5dO3Nj6POLKxkWkpYcsGg-4LS8BwPrizI,2830
125
125
  ccxt/abstract/bitbank.py,sha256=hrHsD7Uvtyy2o2lzCHau3-eNq16pnZ3-YDQ6Tq_sxYU,2735
@@ -220,13 +220,13 @@ ccxt/abstract/xt.py,sha256=JkWvsic3L2O968BCr9H5Wd5NIbRE9aTT2A-9WbAtl0c,27146
220
220
  ccxt/abstract/yobit.py,sha256=8ycfCO8ORFly9hc0Aa47sZyX4_ZKPXS9h9yJzI-uQ7Q,1339
221
221
  ccxt/abstract/zaif.py,sha256=m15WHdl3gYy0GOXNZ8NEH8eE7sVh8c0T_ITNuU8vXeU,3935
222
222
  ccxt/abstract/zonda.py,sha256=X-hCW0SdX3YKZWixDyW-O2211M58Rno8kKJ6quY7rw4,7183
223
- ccxt/async_support/__init__.py,sha256=pDjurLJZhfe02c9VVzB1rNohHJXM5tSuXFW73_KgFLs,16399
223
+ ccxt/async_support/__init__.py,sha256=dyYi9SYERZ__tZAXZKnkqluBmLGc_aXN-fEBt3cG1pw,16399
224
224
  ccxt/async_support/ace.py,sha256=zHojiir0FfcIUH7JzyCW2lQeBqMIlDCKS_BmwC0buxc,42622
225
- ccxt/async_support/alpaca.py,sha256=GNel8rlPq7SBKDwycchhiwlVJxS_Hc9KQQyxQr1TgRw,66909
225
+ ccxt/async_support/alpaca.py,sha256=geFCchkQtlhb7slc9lbwcOXDcdqlV3xAxfIcE96wEIQ,69415
226
226
  ccxt/async_support/ascendex.py,sha256=srOTDYSWlKLd1p_RyIp0E4gZf1zcIDsn308tnqvG0mM,152468
227
227
  ccxt/async_support/bequant.py,sha256=bSsnySbxWEjgt-yH1HtyLfky1ypFpb_xKHf52Ru9h5I,1168
228
228
  ccxt/async_support/bigone.py,sha256=kxuvcXGXfQxYm92G6fCbq0n2LiWv-Q0wbvi5p15o_m4,91838
229
- ccxt/async_support/binance.py,sha256=0CzF2F65Kbu9Wx5_MFy65WaUWp84QSxdJb6Mji0vgdY,664797
229
+ ccxt/async_support/binance.py,sha256=6AE8zXId8ubQHeFnoDKfCGe4JiRYcNjCFEZCAmOox58,665358
230
230
  ccxt/async_support/binancecoinm.py,sha256=9ICnDf1wzSr_SN8HXdjIoheiNmP6isQ8yHT-8a4yQ3Y,1719
231
231
  ccxt/async_support/binanceus.py,sha256=OnMcoIPXyNos7x3Lqerc0wmfPHsGYn7d6nF7tPEscu4,9196
232
232
  ccxt/async_support/binanceusdm.py,sha256=dEN2QxzfmfrQELFE_B8E5sLywnpogUq3R73jENVQMu0,2649
@@ -234,14 +234,14 @@ ccxt/async_support/bingx.py,sha256=c2gyuseg5o7dyPhfJesTtBvRFWtW3ie6QSXBodYZshc,2
234
234
  ccxt/async_support/bit2c.py,sha256=CK8YqOjMRifl-WEGhb3MrJGKmtnHe4_lLf48l9PAzus,37446
235
235
  ccxt/async_support/bitbank.py,sha256=bORDK2dlt5bQYWWQjuuGshysqJz_eg0fa-yuW5MWJLU,43964
236
236
  ccxt/async_support/bitbay.py,sha256=jcaEXi2IhYTva8ezO_SfJhwxEZk7HST4J3NaxD16BQA,492
237
- ccxt/async_support/bitbns.py,sha256=wzMGklQW5qDoqQ2SeacMjElbuoMhOHx57U9j7C-r7Wk,48641
237
+ ccxt/async_support/bitbns.py,sha256=ppjrfYVP3QHy_qwL4bgM8CCxksJGbRgA72K0LUFzQQo,48629
238
238
  ccxt/async_support/bitcoincom.py,sha256=RiqwhK3RfxQ_PXTa860fphDCvwA8dalL-_rXlK85-8A,516
239
- ccxt/async_support/bitfinex.py,sha256=KVLPwTsV-3sag16D0Q-ipvBTuXvmnXRd_XRryI_LkFs,74396
239
+ ccxt/async_support/bitfinex.py,sha256=wx_PPsYAIKvg7SCVUVsAhIFER_KGcf9tMGIC2OIyIec,74391
240
240
  ccxt/async_support/bitfinex2.py,sha256=au7FUFqJknZ0dyy3oDN8IywvR8BHagty5YW9ztB7fjA,161554
241
241
  ccxt/async_support/bitflyer.py,sha256=C6UM1-nWId-IhOgcncvqvgxow7VTziYFN_3VUo4EmYA,44282
242
242
  ccxt/async_support/bitget.py,sha256=pVDpKefDJhVS58mly_wWr9ceO0vUl1E74kRln6i3DsQ,437766
243
243
  ccxt/async_support/bithumb.py,sha256=YgmjBuoMYMQeD-h5gIPSa1qIBgCyQmDmUGV6aRxP3j0,48209
244
- ccxt/async_support/bitmart.py,sha256=LpptF4K7YicQZQXyHj2m4A7j7vQUg5kh4fFOH2eJoVE,223140
244
+ ccxt/async_support/bitmart.py,sha256=GGKzECyxukN0k5f4-7j43f-3HYCoeJHRl2h1Y_5jsAk,223103
245
245
  ccxt/async_support/bitmex.py,sha256=x4DveCH4E8ccE76jgGeOzva_JYkj04GN8bxV2bL9O8s,128017
246
246
  ccxt/async_support/bitopro.py,sha256=JT0SXh0aDPmK9yk3AbzbL5NPgpKBVFxiZrtPlorR96M,69739
247
247
  ccxt/async_support/bitpanda.py,sha256=2k3URBWrpnh2xHa7JiYenI7_4MW5UeOPGzetlmRkR4U,485
@@ -275,7 +275,7 @@ ccxt/async_support/coinspot.py,sha256=54ogK4qq8RNEnUIR17lpbGPIR9Ed1SXlDtxSKoxi1u
275
275
  ccxt/async_support/cryptocom.py,sha256=A_kju8wZcnR5PF7XFrje_t_4CTlZOsthd4VvD6FmCKM,137430
276
276
  ccxt/async_support/currencycom.py,sha256=e_Sa5U6-ALDnI57rJi7YMAaopgSDUt4cIenwju0Q97k,87602
277
277
  ccxt/async_support/delta.py,sha256=lajNbbwGganAN_VToybLxiiVCMXCpZAqBNzmeh1VCGY,151917
278
- ccxt/async_support/deribit.py,sha256=D25525JFsoQFMq9lH7e59twNc2mN3-Yp0JYeTRZGTXA,162485
278
+ ccxt/async_support/deribit.py,sha256=kYCvxYn08xlD5NtSeRZPuy9uC96o7FVbXYyaZJrfcU4,162636
279
279
  ccxt/async_support/digifinex.py,sha256=6FpQL0tRA1MMqVK_cvVu798FFp928c3dZt_UEpQQV-I,172061
280
280
  ccxt/async_support/exmo.py,sha256=KkpvnyWvOhlqDVPg5DzQc1pO_RGvRXkdi-opMP9gAPo,115597
281
281
  ccxt/async_support/fmfwio.py,sha256=lzfSnPrB2ARcC3EIqAuBM4vyg6LJ6n8RE71Zvt3ez1s,1250
@@ -289,7 +289,7 @@ ccxt/async_support/hollaex.py,sha256=yXAIXaaL4o26yYb6nnOAYqRJwbyMK9XR299A0jpiEMs
289
289
  ccxt/async_support/htx.py,sha256=qpVoQnxSyoExqyd8HLc5nHqUdFDhu-jeZ4p7L1TSYZ4,438416
290
290
  ccxt/async_support/huobi.py,sha256=fup0j6wQ1khAtfbb1H4CSyJAOzhxuoHMmrM6sgTuhr8,452
291
291
  ccxt/async_support/huobijp.py,sha256=saSuRmZsE82JVXqn6Nroh5acWpIbG1Z1X-ln4I9nsMQ,90256
292
- ccxt/async_support/hyperliquid.py,sha256=d6NpQjIScaAnK9pP_n5Z0tiHui5Oh-TUPDQYSe8Y0lY,125276
292
+ ccxt/async_support/hyperliquid.py,sha256=9utI38K_iVpsl27aDN4vjDySdOBuKldWRJ9zqN3zl5s,129465
293
293
  ccxt/async_support/idex.py,sha256=hQLoi0tG2R7yHI67EYw-SOXZDt8AdkFOgWqz7N_-UiM,73798
294
294
  ccxt/async_support/independentreserve.py,sha256=i56nhA0HHeH1nvF16HvCtZcu17yMd9DYlErtecKATNU,38212
295
295
  ccxt/async_support/indodax.py,sha256=2kuKXgNP4-bEgAk1Wj0CmAR1JRUROpdrjU0ZJCwrIE8,55121
@@ -299,7 +299,7 @@ ccxt/async_support/kucoin.py,sha256=NvdwsmlhhDcmMX0IdXgJfCyhT4Yw8StRFY9ojY9HEho,
299
299
  ccxt/async_support/kucoinfutures.py,sha256=nFgYl7bvdmlFW8KYwD1sR6pOVDQSUMwc1hjkR3R4qVI,140215
300
300
  ccxt/async_support/kuna.py,sha256=od1JKb5WXDvwewuNcjiEI35bm6q62JASjRqhkj3ZgFo,96505
301
301
  ccxt/async_support/latoken.py,sha256=-68CNWWPJlSG52d62wQdK7x2wE7lv1mB4PUGqQnKlw8,80270
302
- ccxt/async_support/lbank.py,sha256=r8yx8VO57PQAcwPA4ebs4zOWsqyClwbPu1e_U-kUo04,121441
302
+ ccxt/async_support/lbank.py,sha256=mky0DXQI0A3tpNWkctPBpb6yd_Se8GonBggTR8xSatM,121446
303
303
  ccxt/async_support/luno.py,sha256=WRQ5uH3Wr1HHZa9ZtcWCYdrmz-Y8proS5XOGZpBtiZo,46691
304
304
  ccxt/async_support/lykke.py,sha256=MD8tIM4Stb6Az5xYLB_-n18EduLzNELxfv1YIP6WDNw,51879
305
305
  ccxt/async_support/mercado.py,sha256=OHirnsdgfttsyW0FVdPKvUKSOym_VsPSItC4Pp258XQ,35967
@@ -333,7 +333,7 @@ ccxt/async_support/yobit.py,sha256=vZw6JaFAqe9Gbojefzrjph40Bnvy5zFi9YAHBuS7KXw,5
333
333
  ccxt/async_support/zaif.py,sha256=r_9XhFh3GGXt_AsU_S4Yda6zTBP1f8izfttAql3Org0,29059
334
334
  ccxt/async_support/zonda.py,sha256=J_oBr37tQWQPOsYqFQWUjDUQq0mPH6nlBQ87eve_t4s,83129
335
335
  ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
336
- ccxt/async_support/base/exchange.py,sha256=TNzzZ13McJ7j2JQPtz3jsxCTan6hdhL_4gm52dVdb8w,115391
336
+ ccxt/async_support/base/exchange.py,sha256=27OfZhZLpO0hAN_vfmTPdLa4i5tSftvZq-ALZiSCvS8,115391
337
337
  ccxt/async_support/base/throttler.py,sha256=tvDVcdRUVYi8fZRlEcnqtgzcgB_KMUMRs5Pu8tuU-tU,1847
338
338
  ccxt/async_support/base/ws/__init__.py,sha256=uockzpLuwntKGZbs5EOWFe-Zg-k6Cj7GhNJLc_RX0so,1791
339
339
  ccxt/async_support/base/ws/aiohttp_client.py,sha256=5IEiT0elWI9a7Vr-KV0jgmlbpLJWBzIlrLaCkTKGaqY,5752
@@ -347,10 +347,10 @@ ccxt/async_support/base/ws/order_book_side.py,sha256=GhnGUt78pJ-AYL_Dq9produGjmB
347
347
  ccxt/base/__init__.py,sha256=eTx1OE3HJjspFUQjGm6LBhaQiMKJnXjkdP-JUXknyQ0,1320
348
348
  ccxt/base/decimal_to_precision.py,sha256=fgWRBzRTtsf3r2INyS4f7WHlzgjB5YM1ekiwqD21aac,6634
349
349
  ccxt/base/errors.py,sha256=Pad-6ugvGUwhoYuKUliX-N7FTrcnKCQGFjsaq2tMn0I,4610
350
- ccxt/base/exchange.py,sha256=xclYSdlnZRKKFBnI31aCxTXqn9Zi1DGKATbRPPAE6uk,304947
350
+ ccxt/base/exchange.py,sha256=vQFHQ-Y5uhE7GaADgxO_XjthQcguZGOG8pXGQle-xoM,304947
351
351
  ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
352
352
  ccxt/base/types.py,sha256=qB1o7NbC0Pg4Unmw26pDF5NNreZodEMHtCFQdqpvPJ8,10472
353
- ccxt/pro/__init__.py,sha256=RadZPY5MP1XeNwq9kVYQID_N5p1DJKKOcSRDMvTlBkk,7925
353
+ ccxt/pro/__init__.py,sha256=1H92s1vRf9U48MkhK39EyrGsJScGe_CrrPhTnB9r59w,7925
354
354
  ccxt/pro/alpaca.py,sha256=xh1yg1Ok-Zh_Mfx-MBjNrfJDs6MUU0exFfEj3GuQPC4,27631
355
355
  ccxt/pro/ascendex.py,sha256=QueLgISoIxgGSOta2W7En4pwAsEXbTP5q5ef4UjpTQQ,37524
356
356
  ccxt/pro/bequant.py,sha256=33OEUWBi4D9-2w8CmkwN3aF1qS-AlLqX3pxrWwNbXPY,1552
@@ -372,7 +372,7 @@ ccxt/pro/bitrue.py,sha256=0-aa3Q8oGLnq71fJQYLyy0jI3NHHTFJuMQAyM0XRLFY,16246
372
372
  ccxt/pro/bitstamp.py,sha256=tysJpRxfVnZKp-_xgfIhsOVh3ilnQQhXjV-grzqz3QM,20964
373
373
  ccxt/pro/bitvavo.py,sha256=pRbGNJ5bUpdEPPO8acLyvEgsK9NB5NdB_az_VQZOEFk,60317
374
374
  ccxt/pro/blockchaincom.py,sha256=yRJ4m0mTG5FSbkdH4QvuXNnBvLv9kDMGbAMwpcJnyDI,29648
375
- ccxt/pro/blofin.py,sha256=pALlkuzdFZuxCaSxYfqog98x7BM8G0nqUTCke4WfUt0,31345
375
+ ccxt/pro/blofin.py,sha256=4dR0gSB8tP3vfEWI7LdRJAbShtw_LBawDROhwzsF948,31399
376
376
  ccxt/pro/bybit.py,sha256=uDohU-LQTqBYIjXTx69_tiA5Bvc_OmAhy86DsDeF838,108250
377
377
  ccxt/pro/cex.py,sha256=7HFtbjDOijpamdCv3ddlqkQ6exO2jN5MZ5dtXvRg2Og,58577
378
378
  ccxt/pro/coinbase.py,sha256=hwd8lUuaW8WyQQOh9WvBVuiuOJTpmlCXU0hL3UE8UFQ,31411
@@ -652,11 +652,11 @@ ccxt/static_dependencies/typing_inspect/__init__.py,sha256=47DEQpj8HBSa-_TImW-5J
652
652
  ccxt/static_dependencies/typing_inspect/typing_inspect.py,sha256=5gIWomLPfuDpgd3gX1GlnX0MuXM3VorR4j2W2qXORiQ,28269
653
653
  ccxt/test/__init__.py,sha256=GKPbEcj0Rrz5HG-GUm-iY1IHhDYmlvcBXZAGk6-m2CI,141
654
654
  ccxt/test/tests_async.py,sha256=8TdpWiswLAVMF85CVBfMRqt8lFByr1Su7w5IgZ_w72w,86205
655
- ccxt/test/tests_helpers.py,sha256=2MuN95nTNGgQ5fuk5NAJZxL_8ArphcDhIbcUjjazZn8,9854
655
+ ccxt/test/tests_helpers.py,sha256=PsF2I55_UaKkpqwMeUUBXhF3FBzdOjP-KnRgV7-dvD8,9854
656
656
  ccxt/test/tests_init.py,sha256=GodMIrJue4KBHHqD4vSPZxokPWpxbZIuEp19UdxlFAg,1166
657
657
  ccxt/test/tests_sync.py,sha256=EEc20Cjl7u-EJ6S-lR0VXJmjpX1ew-oRS7uYceVxQ4A,85249
658
- ccxt-4.4.29.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
659
- ccxt-4.4.29.dist-info/METADATA,sha256=z-lSClh6bgaPzHEwo4vk6Xlx105DuwMa4Mk_RNMRgkw,114509
660
- ccxt-4.4.29.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
661
- ccxt-4.4.29.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
662
- ccxt-4.4.29.dist-info/RECORD,,
658
+ ccxt-4.4.30.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
659
+ ccxt-4.4.30.dist-info/METADATA,sha256=mqa5v3HQjWcOcJyyAlGj31VMv_CGU9xt3OcysdMbi9s,114509
660
+ ccxt-4.4.30.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
661
+ ccxt-4.4.30.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
662
+ ccxt-4.4.30.dist-info/RECORD,,
File without changes