ccxt 4.4.1__py2.py3-none-any.whl → 4.4.2__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
ccxt/pro/kucoinfutures.py CHANGED
@@ -8,6 +8,7 @@ from ccxt.async_support.base.ws.cache import ArrayCache, ArrayCacheBySymbolById,
8
8
  from ccxt.base.types import Balances, Int, Order, OrderBook, Position, Str, Strings, Ticker, Tickers, Trade
9
9
  from ccxt.async_support.base.ws.client import Client
10
10
  from typing import List
11
+ from typing import Any
11
12
  from ccxt.base.errors import ExchangeError
12
13
  from ccxt.base.errors import ArgumentsRequired
13
14
 
@@ -175,6 +176,24 @@ class kucoinfutures(ccxt.async_support.kucoinfutures):
175
176
  }
176
177
  return await self.watch_multiple(url, messageHashes, self.extend(request, params), subscriptionHashes, subscriptionArgs)
177
178
 
179
+ async def un_subscribe_multiple(self, url, messageHashes, topic, subscriptionHashes, params={}, subscription: dict = None):
180
+ requestId = str(self.request_id())
181
+ request: dict = {
182
+ 'id': requestId,
183
+ 'type': 'unsubscribe',
184
+ 'topic': topic,
185
+ 'response': True,
186
+ }
187
+ message = self.extend(request, params)
188
+ if subscription is not None:
189
+ subscription[requestId] = requestId
190
+ client = self.client(url)
191
+ for i in range(0, len(subscriptionHashes)):
192
+ subscriptionHash = subscriptionHashes[i]
193
+ if not (subscriptionHash in client.subscriptions):
194
+ client.subscriptions[requestId] = subscriptionHash
195
+ return await self.watch_multiple(url, messageHashes, message, subscriptionHashes, subscription)
196
+
178
197
  async def watch_ticker(self, symbol: str, params={}) -> Ticker:
179
198
  """
180
199
  watches a price ticker, a statistical calculation with the information calculated over the past 24 hours for a specific market
@@ -526,6 +545,44 @@ class kucoinfutures(ccxt.async_support.kucoinfutures):
526
545
  limit = trades.getLimit(tradeSymbol, limit)
527
546
  return self.filter_by_since_limit(trades, since, limit, 'timestamp', True)
528
547
 
548
+ async def un_watch_trades(self, symbol: str, params={}) -> Any:
549
+ """
550
+ unWatches trades stream
551
+ :see: https://docs.kucoin.com/futures/#execution-data
552
+ :param str symbol: unified symbol of the market to fetch trades for
553
+ :param dict [params]: extra parameters specific to the exchange API endpoint
554
+ :returns dict[]: a list of `trade structures <https://docs.ccxt.com/#/?id=public-trades>`
555
+ """
556
+ return await self.un_watch_trades_for_symbols([symbol], params)
557
+
558
+ async def un_watch_trades_for_symbols(self, symbols: List[str], params={}) -> Any:
559
+ """
560
+ get the list of most recent trades for a particular symbol
561
+ :param str symbol: unified symbol of the market to fetch trades for
562
+ :param dict [params]: extra parameters specific to the exchange API endpoint
563
+ :returns dict[]: a list of `trade structures <https://docs.ccxt.com/#/?id=public-trades>`
564
+ """
565
+ await self.load_markets()
566
+ symbols = self.market_symbols(symbols, None, False)
567
+ url = await self.negotiate(False)
568
+ symbols = self.market_symbols(symbols)
569
+ marketIds = self.market_ids(symbols)
570
+ topic = '/contractMarket/execution:' + ','.join(marketIds)
571
+ subscriptionHashes = []
572
+ messageHashes = []
573
+ for i in range(0, len(symbols)):
574
+ symbol = symbols[i]
575
+ messageHashes.append('unsubscribe:trades:' + symbol)
576
+ subscriptionHashes.append('trades:' + symbol)
577
+ subscription = {
578
+ 'messageHashes': messageHashes,
579
+ 'subMessageHashes': subscriptionHashes,
580
+ 'topic': 'trades',
581
+ 'unsubscribe': True,
582
+ 'symbols': symbols,
583
+ }
584
+ return await self.un_subscribe_multiple(url, messageHashes, topic, messageHashes, params, subscription)
585
+
529
586
  def handle_trade(self, client: Client, message):
530
587
  #
531
588
  # {
@@ -651,6 +708,7 @@ class kucoinfutures(ccxt.async_support.kucoinfutures):
651
708
  async def watch_order_book_for_symbols(self, symbols: List[str], limit: Int = None, params={}) -> OrderBook:
652
709
  """
653
710
  watches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
711
+ :see: https://docs.kucoin.com/futures/#level-2-market-data
654
712
  :param str[] symbols: unified array of symbols
655
713
  :param int [limit]: the maximum amount of order book entries to return
656
714
  :param dict [params]: extra parameters specific to the exchange API endpoint
@@ -680,6 +738,43 @@ class kucoinfutures(ccxt.async_support.kucoinfutures):
680
738
  orderbook = await self.subscribe_multiple(url, messageHashes, topic, subscriptionHashes, subscriptionArgs, params)
681
739
  return orderbook.limit()
682
740
 
741
+ async def un_watch_order_book(self, symbol: str, params={}) -> Any:
742
+ """
743
+ unWatches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
744
+ :see: https://docs.kucoin.com/futures/#level-2-market-data
745
+ :param str symbol: unified symbol of the market to fetch the order book for
746
+ :param dict [params]: extra parameters specific to the exchange API endpoint
747
+ :returns dict: A dictionary of `order book structures <https://docs.ccxt.com/#/?id=order-book-structure>` indexed by market symbols
748
+ """
749
+ return await self.un_watch_order_book_for_symbols([symbol], params)
750
+
751
+ async def un_watch_order_book_for_symbols(self, symbols: List[str], params={}) -> Any:
752
+ """
753
+ unWatches information on open orders with bid(buy) and ask(sell) prices, volumes and other data
754
+ :param str[] symbols: unified array of symbols
755
+ :param dict [params]: extra parameters specific to the exchange API endpoint
756
+ :returns dict: A dictionary of `order book structures <https://docs.ccxt.com/#/?id=order-book-structure>` indexed by market symbols
757
+ """
758
+ await self.load_markets()
759
+ symbols = self.market_symbols(symbols)
760
+ marketIds = self.market_ids(symbols)
761
+ url = await self.negotiate(False)
762
+ topic = '/contractMarket/level2:' + ','.join(marketIds)
763
+ subscriptionHashes = []
764
+ messageHashes = []
765
+ for i in range(0, len(symbols)):
766
+ symbol = symbols[i]
767
+ messageHashes.append('unsubscribe:orderbook:' + symbol)
768
+ subscriptionHashes.append('orderbook:' + symbol)
769
+ subscription = {
770
+ 'messageHashes': messageHashes,
771
+ 'symbols': symbols,
772
+ 'unsubscribe': True,
773
+ 'topic': 'orderbook',
774
+ 'subMessageHashes': subscriptionHashes,
775
+ }
776
+ return await self.un_subscribe_multiple(url, messageHashes, topic, messageHashes, params, subscription)
777
+
683
778
  def handle_delta(self, orderbook, delta):
684
779
  orderbook['nonce'] = self.safe_integer(delta, 'sequence')
685
780
  timestamp = self.safe_integer(delta, 'timestamp')
@@ -1067,6 +1162,32 @@ class kucoinfutures(ccxt.async_support.kucoinfutures):
1067
1162
  self.options['urls'][type] = None
1068
1163
  self.handle_errors(None, None, client.url, None, None, data, message, None, None)
1069
1164
 
1165
+ def handle_subscription_status(self, client: Client, message):
1166
+ #
1167
+ # {
1168
+ # "id": "1578090438322",
1169
+ # "type": "ack"
1170
+ # }
1171
+ #
1172
+ id = self.safe_string(message, 'id')
1173
+ if not (id in client.subscriptions):
1174
+ return
1175
+ subscriptionHash = self.safe_string(client.subscriptions, id)
1176
+ subscription = self.safe_value(client.subscriptions, subscriptionHash)
1177
+ del client.subscriptions[id]
1178
+ method = self.safe_value(subscription, 'method')
1179
+ if method is not None:
1180
+ method(client, message, subscription)
1181
+ isUnSub = self.safe_bool(subscription, 'unsubscribe', False)
1182
+ if isUnSub:
1183
+ messageHashes = self.safe_list(subscription, 'messageHashes', [])
1184
+ subMessageHashes = self.safe_list(subscription, 'subMessageHashes', [])
1185
+ for i in range(0, len(messageHashes)):
1186
+ messageHash = messageHashes[i]
1187
+ subHash = subMessageHashes[i]
1188
+ self.clean_unsubscription(client, subHash, messageHash)
1189
+ self.clean_cache(subscription)
1190
+
1070
1191
  def handle_message(self, client: Client, message):
1071
1192
  type = self.safe_string(message, 'type')
1072
1193
  methods: dict = {
@@ -1075,6 +1196,7 @@ class kucoinfutures(ccxt.async_support.kucoinfutures):
1075
1196
  'message': self.handle_subject,
1076
1197
  'pong': self.handle_pong,
1077
1198
  'error': self.handle_error_message,
1199
+ 'ack': self.handle_subscription_status,
1078
1200
  }
1079
1201
  method = self.safe_value(methods, type)
1080
1202
  if method is not None:
ccxt/pro/okx.py CHANGED
@@ -16,7 +16,6 @@ from ccxt.base.errors import ArgumentsRequired
16
16
  from ccxt.base.errors import BadRequest
17
17
  from ccxt.base.errors import InvalidNonce
18
18
  from ccxt.base.errors import ChecksumError
19
- from ccxt.base.errors import UnsubscribeError
20
19
 
21
20
 
22
21
  class okx(ccxt.async_support.okx):
@@ -2162,54 +2161,32 @@ class okx(ccxt.async_support.okx):
2162
2161
  def handle_un_subscription_trades(self, client: Client, symbol: str):
2163
2162
  subMessageHash = 'trades:' + symbol
2164
2163
  messageHash = 'unsubscribe:trades:' + symbol
2165
- if subMessageHash in client.subscriptions:
2166
- del client.subscriptions[subMessageHash]
2167
- if messageHash in client.subscriptions:
2168
- del client.subscriptions[messageHash]
2169
- del self.trades[symbol]
2170
- error = UnsubscribeError(self.id + ' ' + subMessageHash)
2171
- client.reject(error, subMessageHash)
2172
- client.resolve(True, messageHash)
2164
+ self.clean_unsubscription(client, subMessageHash, messageHash)
2165
+ if symbol in self.trades:
2166
+ del self.trades[symbol]
2173
2167
 
2174
2168
  def handle_unsubscription_order_book(self, client: Client, symbol: str, channel: str):
2175
2169
  subMessageHash = channel + ':' + symbol
2176
2170
  messageHash = 'unsubscribe:orderbook:' + symbol
2177
- if subMessageHash in client.subscriptions:
2178
- del client.subscriptions[subMessageHash]
2179
- if messageHash in client.subscriptions:
2180
- del client.subscriptions[messageHash]
2181
- del self.orderbooks[symbol]
2182
- error = UnsubscribeError(self.id + ' ' + subMessageHash)
2183
- client.reject(error, subMessageHash)
2184
- client.resolve(True, messageHash)
2171
+ self.clean_unsubscription(client, subMessageHash, messageHash)
2172
+ if symbol in self.orderbooks:
2173
+ del self.orderbooks[symbol]
2185
2174
 
2186
2175
  def handle_unsubscription_ohlcv(self, client: Client, symbol: str, channel: str):
2187
2176
  tf = channel.replace('candle', '')
2188
2177
  timeframe = self.find_timeframe(tf)
2189
2178
  subMessageHash = 'multi:' + channel + ':' + symbol
2190
2179
  messageHash = 'unsubscribe:' + subMessageHash
2191
- if subMessageHash in client.subscriptions:
2192
- del client.subscriptions[subMessageHash]
2193
- if messageHash in client.subscriptions:
2194
- del client.subscriptions[messageHash]
2180
+ self.clean_unsubscription(client, subMessageHash, messageHash)
2195
2181
  if timeframe in self.ohlcvs[symbol]:
2196
2182
  del self.ohlcvs[symbol][timeframe]
2197
- error = UnsubscribeError(self.id + ' ' + subMessageHash)
2198
- client.reject(error, subMessageHash)
2199
- client.resolve(True, messageHash)
2200
2183
 
2201
2184
  def handle_unsubscription_ticker(self, client: Client, symbol: str, channel):
2202
2185
  subMessageHash = channel + '::' + symbol
2203
2186
  messageHash = 'unsubscribe:ticker:' + symbol
2204
- if subMessageHash in client.subscriptions:
2205
- del client.subscriptions[subMessageHash]
2206
- if messageHash in client.subscriptions:
2207
- del client.subscriptions[messageHash]
2187
+ self.clean_unsubscription(client, subMessageHash, messageHash)
2208
2188
  if symbol in self.tickers:
2209
2189
  del self.tickers[symbol]
2210
- error = UnsubscribeError(self.id + ' ' + subMessageHash)
2211
- client.reject(error, subMessageHash)
2212
- client.resolve(True, messageHash)
2213
2190
 
2214
2191
  def handle_unsubscription(self, client: Client, message):
2215
2192
  #
ccxt/xt.py CHANGED
@@ -1355,7 +1355,7 @@ class xt(Exchange, ImplicitAPI):
1355
1355
  self.safe_number(ohlcv, 'h'),
1356
1356
  self.safe_number(ohlcv, 'l'),
1357
1357
  self.safe_number(ohlcv, 'c'),
1358
- self.safe_number_2(ohlcv, volumeIndex, 'v'),
1358
+ self.safe_number_2(ohlcv, 'q', volumeIndex),
1359
1359
  ]
1360
1360
 
1361
1361
  def fetch_order_book(self, symbol: str, limit: Int = None, params={}):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ccxt
3
- Version: 4.4.1
3
+ Version: 4.4.2
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
@@ -95,7 +95,7 @@ Current feature list:
95
95
  | [![coinbase](https://user-images.githubusercontent.com/1294454/40811661-b6eceae2-653a-11e8-829e-10bfadb078cf.jpg)](https://www.coinbase.com/join/58cbe25a355148797479dbd2) | coinbase | [Coinbase Advanced](https://www.coinbase.com/join/58cbe25a355148797479dbd2) | [![API Version 2](https://img.shields.io/badge/2-lightgray)](https://developers.coinbase.com/api/v2) | cex | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | |
96
96
  | [![coinbaseinternational](https://github.com/ccxt/ccxt/assets/43336371/866ae638-6ab5-4ebf-ab2c-cdcce9545625)](https://international.coinbase.com) | coinbaseinternational | [Coinbase International](https://international.coinbase.com) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://docs.cloud.coinbase.com/intx/docs) | cex | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | |
97
97
  | [![coinex](https://user-images.githubusercontent.com/51840849/87182089-1e05fa00-c2ec-11ea-8da9-cc73b45abbbc.jpg)](https://www.coinex.com/register?refer_code=yw5fz) | coinex | [CoinEx](https://www.coinex.com/register?refer_code=yw5fz) | [![API Version 2](https://img.shields.io/badge/2-lightgray)](https://docs.coinex.com/api/v2) | cex | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | |
98
- | [![cryptocom](https://user-images.githubusercontent.com/1294454/147792121-38ed5e36-c229-48d6-b49a-48d05fc19ed4.jpeg)](https://crypto.com/exch/kdacthrnxt) | cryptocom | [Crypto.com](https://crypto.com/exch/kdacthrnxt) | [![API Version 2](https://img.shields.io/badge/2-lightgray)](https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html) | cex | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | [![Sign up with Crypto.com using CCXT's referral link for a 15% discount!](https://img.shields.io/static/v1?label=Fee&message=%2d15%25&color=orange)](https://crypto.com/exch/kdacthrnxt) |
98
+ | [![cryptocom](https://user-images.githubusercontent.com/1294454/147792121-38ed5e36-c229-48d6-b49a-48d05fc19ed4.jpeg)](https://crypto.com/exch/kdacthrnxt) | cryptocom | [Crypto.com](https://crypto.com/exch/kdacthrnxt) | [![API Version 2](https://img.shields.io/badge/2-lightgray)](https://exchange-docs.crypto.com/exchange/v1/rest-ws/index.html) | cex | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | [![Sign up with Crypto.com using CCXT's referral link for a 75% discount!](https://img.shields.io/static/v1?label=Fee&message=%2d75%25&color=orange)](https://crypto.com/exch/kdacthrnxt) |
99
99
  | [![gate](https://user-images.githubusercontent.com/1294454/31784029-0313c702-b509-11e7-9ccc-bc0da6a0e435.jpg)](https://www.gate.io/signup/2436035) | gate | [Gate.io](https://www.gate.io/signup/2436035) | [![API Version 4](https://img.shields.io/badge/4-lightgray)](https://www.gate.io/docs/developers/apiv4/en/) | cex | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | [![Sign up with Gate.io using CCXT's referral link for a 20% discount!](https://img.shields.io/static/v1?label=Fee&message=%2d20%25&color=orange)](https://www.gate.io/signup/2436035) |
100
100
  | [![hashkey](https://github.com/user-attachments/assets/6dd6127b-cc19-4a13-9b29-a98d81f80e98)](https://global.hashkey.com/en-US/register/invite?invite_code=82FQUN) | hashkey | [HashKey Global](https://global.hashkey.com/en-US/register/invite?invite_code=82FQUN) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://hashkeyglobal-apidoc.readme.io/) | cex | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | |
101
101
  | [![htx](https://user-images.githubusercontent.com/1294454/76137448-22748a80-604e-11ea-8069-6e389271911d.jpg)](https://www.huobi.com/en-us/v/register/double-invite/?inviter_id=11343840&invite_code=6rmm2223) | htx | [HTX](https://www.huobi.com/en-us/v/register/double-invite/?inviter_id=11343840&invite_code=6rmm2223) | [![API Version 1](https://img.shields.io/badge/1-lightgray)](https://huobiapi.github.io/docs/spot/v1/en/) | cex | [![CCXT Certified](https://img.shields.io/badge/CCXT-Certified-green.svg)](https://github.com/ccxt/ccxt/wiki/Certification) | [![CCXT Pro](https://img.shields.io/badge/CCXT-Pro-black)](https://ccxt.pro) | [![Sign up with HTX using CCXT's referral link for a 15% discount!](https://img.shields.io/static/v1?label=Fee&message=%2d15%25&color=orange)](https://www.huobi.com/en-us/v/register/double-invite/?inviter_id=11343840&invite_code=6rmm2223) |
@@ -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.1/dist/ccxt.browser.min.js
276
- * unpkg: https://unpkg.com/ccxt@4.4.1/dist/ccxt.browser.min.js
275
+ * jsDelivr: https://cdn.jsdelivr.net/npm/ccxt@4.4.2/dist/ccxt.browser.min.js
276
+ * unpkg: https://unpkg.com/ccxt@4.4.2/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.1/dist/ccxt.browser.min.js"></script>
281
+ <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/ccxt@4.4.2/dist/ccxt.browser.min.js"></script>
282
282
  ```
283
283
 
284
284
  Creates a global `ccxt` object:
@@ -1,10 +1,10 @@
1
- ccxt/__init__.py,sha256=5pHLDRlvaWLCFdbq7IcJkXl4oSrToseJYYQgHPgYGY4,16485
1
+ ccxt/__init__.py,sha256=cJf5cVMMmPDimNbDrQhzdSmhvuX8qnExA-XV82flbCE,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
5
5
  ccxt/bequant.py,sha256=RBiAmaTbL35DgiV3Hl6uchLUd78V0z1T9riTlNsrpdc,1174
6
6
  ccxt/bigone.py,sha256=RiEDQutD2BtvKfwVvAo2T9_DPqr0oa6ZJFDXph_g1UI,93122
7
- ccxt/binance.py,sha256=mEgPDVGYzf93lRJhdINcnI73DJZro2_leWUebA7iLcM,641554
7
+ ccxt/binance.py,sha256=vSSNUFfFSP_szZIxP5qfizoOuMdrLnNoHMHR7ZgvYYE,644482
8
8
  ccxt/binancecoinm.py,sha256=arFnEh8mErSyi23eVPWE4iwoT7PWQyxGGVJCKCy6UJY,1702
9
9
  ccxt/binanceus.py,sha256=hdcT4OnadcdFFFjF3GtM0nWv90jqojqwdVS3xWGuW40,9163
10
10
  ccxt/binanceusdm.py,sha256=bAPcJj5HLxoCdPolriM8sJpoTBwbV78vBTbKRmWhNP4,2632
@@ -49,8 +49,8 @@ ccxt/coinmetro.py,sha256=1HqUu4ScH4oZbloodvn0l25y7DaUMl_5MjBf5v8z_cA,80591
49
49
  ccxt/coinone.py,sha256=qwsxTXTSxDS_zwIfmaB-acS4DWOlw6KY6eBkbTu8-mU,46708
50
50
  ccxt/coinsph.py,sha256=DIqcTDjosc3kufV78oUfFPer5bWC4MjRrl2oiBIUQkw,90858
51
51
  ccxt/coinspot.py,sha256=-9oRdHdc6iWrkxXxcVF9zBashNcRJSoFORwHRa9scMc,23876
52
- ccxt/cryptocom.py,sha256=VNWkV9bmk_9m60-PExPaTgQcMNFz714frHD4ck0ClG4,136348
53
- ccxt/currencycom.py,sha256=1VrbHSrzDkf0VnzhEQLLGJPRF2LDtOq_gsj-4ZwT3ZY,87046
52
+ ccxt/cryptocom.py,sha256=XRArGZXWj5R4hF3YM-Q0zY0a3I1SgNcHZlnqk9DO8FA,136348
53
+ ccxt/currencycom.py,sha256=d5kq8evuyisN0uJLk2WiiAY_I1ZNHLtW-JJaXSEQmn8,87008
54
54
  ccxt/delta.py,sha256=2DotO5rmhl2JkaUyM13N4WR3jAqKBMlaZ4Wlv2tDBg0,150832
55
55
  ccxt/deribit.py,sha256=hs6yUT8s7sfmO-GJ9RZ9nQC7Y9vnp_2puTRrd9r1Plw,161350
56
56
  ccxt/digifinex.py,sha256=pUPM7EEeRFoenX_jzNJM1RNuIUjATy6GB4J2osJJ4bY,169282
@@ -63,7 +63,7 @@ ccxt/hashkey.py,sha256=AfbhV_QCW31jzy8BFPnmGdhWfXz4WILIl-qh3jB4ZMc,191738
63
63
  ccxt/hitbtc.py,sha256=5peKNygeAdvaH4GZ7mQebFQKcjN2N7S9GL7HhMLYd5g,153469
64
64
  ccxt/hitbtc3.py,sha256=qRAr4Zvaju9IQWRZUohdoN7xRnzIMPq8AyYb3gPv-Is,455
65
65
  ccxt/hollaex.py,sha256=2KIbenZ3vcBDN_rs2CxG5_foKLaYxJd73vVV7M8n_8E,76140
66
- ccxt/htx.py,sha256=X4A5SVzO1wPzbxK5OHG_u67ewOqj-xtb5YIkl1tSG_c,427883
66
+ ccxt/htx.py,sha256=i6ZB_PxjJuzUlWWokVD6QrFGjsja1u-iSifVa4TQyJE,427880
67
67
  ccxt/huobi.py,sha256=4vaG7IRN7fyjaJ_ac6S-njlHOfSEN5de7aq0noznxYw,438
68
68
  ccxt/huobijp.py,sha256=m9rYCCApGDtpbiqCK6Gw4GDd5EskEmho4xSemGbY1kY,89852
69
69
  ccxt/hyperliquid.py,sha256=nHh32fCayLVGug0dBSdTpcrxKZ37FPCQj7ZRIETA44k,123340
@@ -80,7 +80,7 @@ ccxt/lbank.py,sha256=Glx9CN_jdQMiUngJLYioxzwDfgFTdusdOfK53_Bg6A8,116045
80
80
  ccxt/luno.py,sha256=mJqzQFX-DneQ6Wo0Dqfc7sG0OVmaPSKAkmRs1pM7Yj8,46191
81
81
  ccxt/lykke.py,sha256=RqjZ8TXHN_Bok2gXNsJX5jgMDb7GqMbpPPqBMHiLb0E,51408
82
82
  ccxt/mercado.py,sha256=LWCh89IzXu-yhPGqhkdPW6wqOqfO8nmbSQhAyYiSH8U,35710
83
- ccxt/mexc.py,sha256=rOUz7wo1z2zmn4eIYINqlbQsVvngPbKKFB3ClkQ54Xk,236189
83
+ ccxt/mexc.py,sha256=0TeSt9DjbP5tdhVPeDgN9_NMJTRIslUDfVPoRdpzD20,240240
84
84
  ccxt/ndax.py,sha256=K4nlroc0lE0c3wETvYt_O5sfOrHmTiknpXfMIWdafzA,108947
85
85
  ccxt/novadax.py,sha256=_xFkuZ72vHhpJb1N9h_MQHRD05GDWlqUeLQQcOp43BM,64436
86
86
  ccxt/oceanex.py,sha256=DrsNIW-eXvaSHCB2l1valmiU9xMztxm1VNBJodMkWIY,38021
@@ -105,7 +105,7 @@ ccxt/wazirx.py,sha256=LVHNdononi8FrZpT0pYiJoS-NrNi7_uIZ6Qbu8dJRPc,52405
105
105
  ccxt/whitebit.py,sha256=stDtMdsAZV2NVOmuTGjIZoYSHvfw3hAW73X8hUhCZgE,119365
106
106
  ccxt/woo.py,sha256=u7tYOD7NQVkeP0ypXiE5YeAZpI-RtELHL_fdkkD6qEU,153219
107
107
  ccxt/woofipro.py,sha256=bOytP6GTDdJ7JDEdGYOx3RFQhx_zySNNHexf_0MyUcc,115500
108
- ccxt/xt.py,sha256=a9f_Oq5KyDdytyCqW15jjXXdHGumbZwCqutt8cbfsPo,202616
108
+ ccxt/xt.py,sha256=wjetBtgxBKbo58vEA74JyZmhIQtlqHmda8Ku1vETILI,202616
109
109
  ccxt/yobit.py,sha256=NeQpnOTzkjRKj5gVfI-riru5cNltagRH-DSfEEfByLw,54584
110
110
  ccxt/zaif.py,sha256=LgeOsvAo4ShQW1s-RidgUYK4DnRU-Dk0eJG0Ca6M_9U,28862
111
111
  ccxt/zonda.py,sha256=KZfv46H6YsVpTQLSt4BvMiGFQr0WRLmbUpeODVv21O0,81419
@@ -218,13 +218,13 @@ 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=Q88aJ0ejcU-nzNbtBrdSXkovgDeDJFd-uNn8nAkVbqw,16288
221
+ ccxt/async_support/__init__.py,sha256=xjMscw4ijZAbMgWT82mLGjun2Kz48X1DZWKUghMtJaA,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
225
225
  ccxt/async_support/bequant.py,sha256=1hTwHovo1bW1XTIc8ZKjvJ-Xg6LfmpGdzT7TepykaVM,1188
226
226
  ccxt/async_support/bigone.py,sha256=A7AjX0iWl2twYRwOc-2tKUbnI4KNmO2QVetMaAJujpg,93576
227
- ccxt/async_support/binance.py,sha256=EksRZxcbu72kYp2VPy7USViYSTtJOEHoP5_Vif4Ixu8,644288
227
+ ccxt/async_support/binance.py,sha256=YlAFUupPkX2wYJ3-TthyX8VsT1mFfSynYWu5PWzJZpA,647233
228
228
  ccxt/async_support/binancecoinm.py,sha256=yeE73xG5UXD_X3VPul6DMGnV_mgJfWYskpas1BUDdCU,1740
229
229
  ccxt/async_support/binanceus.py,sha256=c-K3Tk7LaRJjmYdCx8vBOqsx01uXrtvt0PC2ekBiD0g,9177
230
230
  ccxt/async_support/binanceusdm.py,sha256=8ugRkx7vyYmn67wdkEEf2f-DFMGAoC4t09usKlPVNyw,2670
@@ -269,8 +269,8 @@ ccxt/async_support/coinmetro.py,sha256=BloSsFuLoLTt_lnaZL051g75Yn1M2LIf7kMCZLOiY
269
269
  ccxt/async_support/coinone.py,sha256=i3zsrFAZZ1l5TStJWjt-C7TexFnr03dyKelhIfj4PIg,46950
270
270
  ccxt/async_support/coinsph.py,sha256=q40WnrointhQKzu8uXvPdb9aMbYTMRJmacIG7kac-n4,91292
271
271
  ccxt/async_support/coinspot.py,sha256=54ogK4qq8RNEnUIR17lpbGPIR9Ed1SXlDtxSKoxi1uQ,24034
272
- ccxt/async_support/cryptocom.py,sha256=COHGYSKUNvjNnToimQzXlYXmmu9dCkrsG7GOBc6-dnM,136956
273
- ccxt/async_support/currencycom.py,sha256=BRWAn5uBDcwR-1SyjJCSwkS83T_5tfUmCDymr9ZHFEs,87468
272
+ ccxt/async_support/cryptocom.py,sha256=8p0778kZEsuEjYZdh8dDFQltregz2w-jm30XfLletLE,136956
273
+ ccxt/async_support/currencycom.py,sha256=ITRznDHXW_Fa953P738YvijPRFEt-l-27sdPPlakhkg,87430
274
274
  ccxt/async_support/delta.py,sha256=aUIysAyPQgS3XV_T41R3HEPAB2xKCG5mF1UXQ-bS1K0,151440
275
275
  ccxt/async_support/deribit.py,sha256=JfdtFswWctlKE_GOjoxFIVKTNq-LUeuVik59MAx-u8s,162126
276
276
  ccxt/async_support/digifinex.py,sha256=6fj4RPpxV8ArNSBXm5_y_Mt7fzjYxYOSO8mcxGKXpUU,170252
@@ -283,7 +283,7 @@ ccxt/async_support/hashkey.py,sha256=bwQsEvhGU60iy_vlAbLvtx1blhDxS4L3cqoTpk6JNQ8
283
283
  ccxt/async_support/hitbtc.py,sha256=h3HTN7Z5glikA3YRunBQun0Tp1QVqiBQz4WWzZKRLdk,154515
284
284
  ccxt/async_support/hitbtc3.py,sha256=dmSYoD2o4av_zzbZI8HNIoj8BWxA7QozsVpy8JaOXzU,469
285
285
  ccxt/async_support/hollaex.py,sha256=msUnnbWLNeCxFW77BnfLoFWBdvQIDwV7Rtbi9TA4TYY,76574
286
- ccxt/async_support/htx.py,sha256=pPdetpi1Y2bHxNIXrFO9VDgMOra0v8Y2hggVbe2Qzdk,430275
286
+ ccxt/async_support/htx.py,sha256=6k5vZvzJdhHs4iOo4GsYKnoTTpNnXZSd0cJStGdaqNE,430272
287
287
  ccxt/async_support/huobi.py,sha256=fup0j6wQ1khAtfbb1H4CSyJAOzhxuoHMmrM6sgTuhr8,452
288
288
  ccxt/async_support/huobijp.py,sha256=OeEHn0GXQ56YGeUM21zwRqsEm8d2LD_SDspBsQMlds4,90352
289
289
  ccxt/async_support/hyperliquid.py,sha256=kWuHo_dBUN6hmKRe0M-DjELAjlebh3ikaUWxz6VmrzA,124004
@@ -300,7 +300,7 @@ ccxt/async_support/lbank.py,sha256=MeqPjECSmsplCtatu7Ns6sHRwzAGP_6S5MwB2BomnXk,1
300
300
  ccxt/async_support/luno.py,sha256=F4t6XgboOe688S6bZCEnaF_ZEh_6f1YTqV6wRaddWo0,46529
301
301
  ccxt/async_support/lykke.py,sha256=UXQmNfWucuylickY0EBbrkahAoU-68B7k1B-EBNpC00,51722
302
302
  ccxt/async_support/mercado.py,sha256=mb7ULqvEr9PQ7jBOpQxiufgYzwTeAfr0G2NZmrUeUgs,35952
303
- ccxt/async_support/mexc.py,sha256=u-KGkMoIDM8QlerE5t5Bl09m7ycoZvEWiSRMpUTHiSM,237367
303
+ ccxt/async_support/mexc.py,sha256=6mnsulJABflwRYiOaiajCuZ0f9_ADmO9sRvod5pEBIo,241418
304
304
  ccxt/async_support/ndax.py,sha256=M_DtH6Rtzpc8p4nwOwBkxMIf0yQNoVvRkOexcvNUK6k,109471
305
305
  ccxt/async_support/novadax.py,sha256=YNKUM1CGFK7lpBwbxSSL1IAEJCRVsNxeITkwtw6VWCM,64804
306
306
  ccxt/async_support/oceanex.py,sha256=85IHjCWsBZZXntKHPeuUpFYP9FV0Ik93gJsTlrGzhVA,38341
@@ -325,12 +325,12 @@ ccxt/async_support/wazirx.py,sha256=bnUpw9be3o4l2Hxm3jcfNXn5bMyZlgqoG8BGPusuIzs,
325
325
  ccxt/async_support/whitebit.py,sha256=zt8NkoziYOrYUR7K-SJW3qP7nP6pY6f334NiRdOKIZA,120015
326
326
  ccxt/async_support/woo.py,sha256=dvKBt8HDmQk1i5u2f3UUWmR9Pw1NALgyAj2wq3uWIds,154187
327
327
  ccxt/async_support/woofipro.py,sha256=B-BTPNdv3fL6wz3cHcMG2G8IU0MtvfzAiPP0OVT-xsI,116180
328
- ccxt/async_support/xt.py,sha256=_U-r4Gp0oBCOE6Ngo98Sn_Q6tr_81CUDDSliF0FMezE,203770
328
+ ccxt/async_support/xt.py,sha256=wl0vH5y0JJocdFrCHad97AZbMKOU8UW9UbBtMFEZhA0,203770
329
329
  ccxt/async_support/yobit.py,sha256=GQhvYrsGHQrVdTrNHQxx9isEGqUABexlllzao9HL3f8,54912
330
330
  ccxt/async_support/zaif.py,sha256=-ZTr8M2JaIRCL90VrbCDXBMAsZwbiwsFChSQ2rWODuQ,29044
331
331
  ccxt/async_support/zonda.py,sha256=jncr6Wg12S72CTpu6mCKCse1pm1f8oefVQurQSrFvP0,81733
332
332
  ccxt/async_support/base/__init__.py,sha256=aVYSsFi--b4InRs9zDN_wtCpj8odosAB726JdUHavrk,67
333
- ccxt/async_support/base/exchange.py,sha256=K_idMkctnhYOPoxHd3YOM0IXMgqf57UZLyx3dluAkAs,110677
333
+ ccxt/async_support/base/exchange.py,sha256=IAnEpuGRIQEenxPPlr4eKb6h4FWxpiKSF4uN-VQXE_I,110677
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,14 +344,14 @@ 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=wkgTfVaUfH9xmF6rrdYYXCd8FRLNVVrHov4k6MxNpa4,295942
347
+ ccxt/base/exchange.py,sha256=iY3kEakXsAFSy-qu_NVr-Tq8uJzYmhhbZ6DZJp8goJo,298313
348
348
  ccxt/base/precise.py,sha256=koce64Yrp6vFbGijJtUt-QQ6XhJgeGTCksZ871FPp_A,8886
349
- ccxt/base/types.py,sha256=TaP_RElKjGEZWuzyp4o4u2YhREyTG3rUeVT6gDffY9A,9613
350
- ccxt/pro/__init__.py,sha256=aZkmQpsvZhvjzQFJe-1vFXu2hsuwOBLmJ7m2SSxEA28,7709
349
+ ccxt/base/types.py,sha256=Xw9wcYNDRmtUghkU2VIT496S868mRoUjxyuCM7TCAK4,9616
350
+ ccxt/pro/__init__.py,sha256=425YEREwO2tXDPx_6oY_wkFgikWTrMSPtFEGdBErKOE,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
354
- ccxt/pro/binance.py,sha256=pW2itTSNQdu-AUM_DAJl5MgNEh49NS_orU3VbP3SxLs,198505
354
+ ccxt/pro/binance.py,sha256=j_YmQ89cWdue7oUIlVuGAGMetmsWiEcZOPEq5Wi1e9U,196405
355
355
  ccxt/pro/binancecoinm.py,sha256=LlgF4rXHHrsQMaklhTEzSiE6U9V25AjHHg_DRat7Mf0,1036
356
356
  ccxt/pro/binanceus.py,sha256=_IXpS_wyH0nEtsLR7cJLtrUlsNQoG0MSUVo3PV0RDDc,1946
357
357
  ccxt/pro/binanceusdm.py,sha256=lLdOv0d-lM-1wfCc_y_POb6GdmVIiX7PFzmKTWsVyNw,1512
@@ -359,10 +359,10 @@ ccxt/pro/bingx.py,sha256=Nj0sPJtM5hRmyI3Azo0E9bimvMYRaCkG1kiaVNjj1_8,60901
359
359
  ccxt/pro/bitcoincom.py,sha256=zAX6hiz4hS6Un8dSGp88rpnvItxQHfNmsfF0IZ2xIVA,1181
360
360
  ccxt/pro/bitfinex.py,sha256=BlgNy4_TUPggvfcfpfl7309Phons-2lFp73OdDbQHpw,25305
361
361
  ccxt/pro/bitfinex2.py,sha256=H2evIdXrXaHpmvlqoPCOqADYjiHqvZVLf9EnbYHBOj8,43106
362
- ccxt/pro/bitget.py,sha256=-sK8WqkT1ddS6HLwp0Hr6kGKZ2ELqeW-FOt8IqCStnE,85233
362
+ ccxt/pro/bitget.py,sha256=iBwLhMDA3xnYdEY6-wgcNwYOJAzVtYqo-s2FCLWHaGY,84934
363
363
  ccxt/pro/bithumb.py,sha256=cAiRpOT1kxlpphu7xd6NYH43j7of_kXXy0M9YqXeat4,17411
364
364
  ccxt/pro/bitmart.py,sha256=LxcP6aiCdwN-euseCMhsXZkhqesPJM-eLh549sGHHfo,62556
365
- ccxt/pro/bitmex.py,sha256=dNQf2EAim7kxgCM6I1TgFDl-e2zrXa2veicTEqu8WbQ,73949
365
+ ccxt/pro/bitmex.py,sha256=J9pn0llcUkAjAfuBbMFd7-VzfnVSx8woIMAkLK58qss,74569
366
366
  ccxt/pro/bitopro.py,sha256=eGge1vzVXPx1FGZc1cm5i_MzBKlRkWH2ZKuIzrR3G2Q,18798
367
367
  ccxt/pro/bitpanda.py,sha256=ELrhfFKN9YJJdmm9wBf-vpk6WsXGWGf-SyJdqm-E_Lg,415
368
368
  ccxt/pro/bitrue.py,sha256=0-aa3Q8oGLnq71fJQYLyy0jI3NHHTFJuMQAyM0XRLFY,16246
@@ -370,7 +370,7 @@ ccxt/pro/bitstamp.py,sha256=tysJpRxfVnZKp-_xgfIhsOVh3ilnQQhXjV-grzqz3QM,20964
370
370
  ccxt/pro/bitvavo.py,sha256=407yoZbQh5G9bP4FMVywBB223dJFj0x7nxaEiobHVSI,56255
371
371
  ccxt/pro/blockchaincom.py,sha256=yRJ4m0mTG5FSbkdH4QvuXNnBvLv9kDMGbAMwpcJnyDI,29648
372
372
  ccxt/pro/blofin.py,sha256=Wjw0coQ4TO1qdVVnBGSdRDVtADsl-t-hkOo-uEDZTbc,28659
373
- ccxt/pro/bybit.py,sha256=1nJDJPyeIz0S8GoSTEyzLQ0mSLoBDfv5DDN7sUj9rc0,107739
373
+ ccxt/pro/bybit.py,sha256=pIeD-1kLKG3cxZ_rJmY3eDYo2yL9kc_AVDxLgL39Y3Y,105847
374
374
  ccxt/pro/cex.py,sha256=7HFtbjDOijpamdCv3ddlqkQ6exO2jN5MZ5dtXvRg2Og,58577
375
375
  ccxt/pro/coinbase.py,sha256=hwd8lUuaW8WyQQOh9WvBVuiuOJTpmlCXU0hL3UE8UFQ,31411
376
376
  ccxt/pro/coinbaseexchange.py,sha256=eoDBwYvGK__zGtC0yNRk2evWwQAD6XpjMHcpubjBt2U,39027
@@ -378,11 +378,11 @@ ccxt/pro/coinbaseinternational.py,sha256=1ykwnp6XaOqvH0HILlZvrJdgvscF2lnZfIyn5U9
378
378
  ccxt/pro/coincheck.py,sha256=zzZcPmL4Vibh_Sjont-3D8z-E11ugVQVqPakHQxpgKs,7851
379
379
  ccxt/pro/coinex.py,sha256=oONeBMtz9ylneI3vxrbf6Wt00JGey2nV1Q64O9FRHbU,56380
380
380
  ccxt/pro/coinone.py,sha256=XxJeMDbg3tSDoC3H8p9y7MB_yBR3ZN6PiQyEGaziAZs,15734
381
- ccxt/pro/cryptocom.py,sha256=jJgBlJOzAWemQEQCiw1sNpEuX3RbqpIqwd9cPd3ZtP0,54607
381
+ ccxt/pro/cryptocom.py,sha256=5mhtyFwdqn2VR535-urqgh_62BNJVHjQ8-mRBr7W0-A,53178
382
382
  ccxt/pro/currencycom.py,sha256=8B9pSuPyO0ROCWOROUFoNbJBeOU3bRmlKXSj1CBMkPI,22459
383
383
  ccxt/pro/deribit.py,sha256=DG3UJE8VWuydP64_CJzDqmRC0vqc9ViBvQr28gW_nhY,41094
384
384
  ccxt/pro/exmo.py,sha256=n44MqOwY-tSt0TFNhQKydjxRJoSbrMVBzL4NNswOZm4,24542
385
- ccxt/pro/gate.py,sha256=lykOS-yeTZUN1YLOcZpa9H9Ym-oKfzofVpq7H5jZI6k,86576
385
+ ccxt/pro/gate.py,sha256=m8MyZR-kSUWtY9T6lrj3_TFEUgtjI8U_oRTbnfRwtRc,86196
386
386
  ccxt/pro/gateio.py,sha256=_uBWXYQbmsHRivKnZOJDmxJ9tWLO_0HAxmOjAEUy9nE,391
387
387
  ccxt/pro/gemini.py,sha256=8B8dbYPbKbZb3lzhlt8-x0oybQxOHr8Q4R_f5edLwbU,36899
388
388
  ccxt/pro/hashkey.py,sha256=F-NAOAeNSEjHyuZnvGiIYHQow5RAKcwgyb23cGwOiJs,34065
@@ -391,19 +391,19 @@ ccxt/pro/hollaex.py,sha256=la302Z6BMjcqZQhTaj4PQXSfhgFH6m7o3u7Ts5JkHbY,22045
391
391
  ccxt/pro/htx.py,sha256=mt-Bh5U6W6MRrpPp5xm6ayhkIcdaS8YCczczw9_1yx4,96329
392
392
  ccxt/pro/huobi.py,sha256=rKZVgYqEr-MmZzTqAk4FoJt8qWFjCi_FY0ci_mWZrL0,385
393
393
  ccxt/pro/huobijp.py,sha256=urnktXqCIJTccup0oQJPJsM32XR09dDP6qGP1kvBtfg,23318
394
- ccxt/pro/hyperliquid.py,sha256=GsRiT5cRUuB1e8XQN_ZByyEwJcVHpmW3h_QfjjJ4cS8,42727
394
+ ccxt/pro/hyperliquid.py,sha256=dE9j4xnBSG8yiLtTb2yvxuggglu_TqZGbFe3DXIb6U4,41549
395
395
  ccxt/pro/idex.py,sha256=WAY58yMHFUPoqZUGFvzxqcKizvMuFXqdZ6BD0WgstQA,28361
396
396
  ccxt/pro/independentreserve.py,sha256=JWMjJ0FUs4LhybAZ4rjHMQIWeOu5Njaj8aVimA7kf30,11356
397
397
  ccxt/pro/kraken.py,sha256=ITIUkUaC7AfLEhaQR7s3zkJnJBa_eQU5DEOn980QOW0,64129
398
398
  ccxt/pro/krakenfutures.py,sha256=Y9vqrxNbr7OJ0BIMZqrVtMedUzk7XtOZuF_OGQ2tUJc,64033
399
- ccxt/pro/kucoin.py,sha256=a4zZ7u2oGE8Cq9wkfBSGkgi3rmjV8uIXCD1vkZJkdtA,62986
400
- ccxt/pro/kucoinfutures.py,sha256=gMRflEtuO_S_cuhhVOtIwarL_Nk9ThAmGqyvUncVqHc,50331
399
+ ccxt/pro/kucoin.py,sha256=pxU42TftiKQaggpViEZ-rWfdI7GgqV43rHIxMgwluhE,61038
400
+ ccxt/pro/kucoinfutures.py,sha256=DU5vLB0Oufffcn1Rv-aYqpV9Mx7gGlRdi7YC9hNO8sw,56277
401
401
  ccxt/pro/lbank.py,sha256=p6Ynjmud9B3Yw1SGTPdTB36AW4KtyR1JOotqFBdyyxs,35083
402
402
  ccxt/pro/luno.py,sha256=ThXkXNrLvp9BW8XXxRcbpRaw9QcLCS2f2tCqbF6qpEU,12384
403
403
  ccxt/pro/mexc.py,sha256=XWizOaMEHWdl0FU7XO_gxxGeTiMFoZxxaBQ1aQ7OrjU,43764
404
404
  ccxt/pro/ndax.py,sha256=De7ohX5Dp2PSfFmt50mGH9cB9Me53Wb-B8S6N4_Flvk,22979
405
405
  ccxt/pro/okcoin.py,sha256=h8niyeq67h-oBmxiMMy2JdNgOI0fBQuEC3QdUW4-NFs,31048
406
- ccxt/pro/okx.py,sha256=7dwvajFNEVr9tuHyAEvPOjn4h3dZ7193OiKtu1cwea8,102024
406
+ ccxt/pro/okx.py,sha256=C2IY0N3CtF_9lFVFLsobMP6zRfabXvTYzoARHWKRZiE,100926
407
407
  ccxt/pro/onetrading.py,sha256=2LP1LvwbQrwsyXDPRU6_ez4fWR3htKFuzC-4CenHzhU,54817
408
408
  ccxt/pro/oxfun.py,sha256=gcmnoD0pzEDVIaiHyuU2ABoQBrxi0CTP62H2xZD0T7g,43943
409
409
  ccxt/pro/p2b.py,sha256=K0aQNKqOWCgju0t-Am7mcIcAFXjIxYXiYft1gEOfw10,19227
@@ -650,8 +650,8 @@ ccxt/test/tests_async.py,sha256=f4Q7u2feejQp5rh3-4oB6XDNZ7_gkaZbkHqAu1wGyIU,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=ZFBHhpfH40I0VkpOdQo-8h2ccUMIEiKGppElvf1myK8,83635
653
- ccxt-4.4.1.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
654
- ccxt-4.4.1.dist-info/METADATA,sha256=BjmN7DRZXUy6jvG-hZW2OdMVkgTOeyIv5NEabbvY32U,118338
655
- ccxt-4.4.1.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
656
- ccxt-4.4.1.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
657
- ccxt-4.4.1.dist-info/RECORD,,
653
+ ccxt-4.4.2.dist-info/LICENSE.txt,sha256=EIb9221AhMHV7xF1_55STFdKTFsnJVJYkRpY2Lnvo5w,1068
654
+ ccxt-4.4.2.dist-info/METADATA,sha256=T0wgwulGo9ToOxRIE0dqhBBsqbEHToOERsML2oA0CJY,118338
655
+ ccxt-4.4.2.dist-info/WHEEL,sha256=z9j0xAa_JmUKMpmz72K0ZGALSM_n-wQVmGbleXx2VHg,110
656
+ ccxt-4.4.2.dist-info/top_level.txt,sha256=CkQDuCTDKNcImPV60t36G6MdYfxsAPNiSaEwifVoVMo,5
657
+ ccxt-4.4.2.dist-info/RECORD,,
File without changes