unicex 0.14.2__py3-none-any.whl → 0.14.5__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.
unicex/mexc/client.py CHANGED
@@ -6,7 +6,7 @@ from typing import Any
6
6
 
7
7
  from unicex._base import BaseClient
8
8
  from unicex.exceptions import NotAuthorized
9
- from unicex.types import RequestMethod
9
+ from unicex.types import NumberLike, RequestMethod
10
10
  from unicex.utils import dict_to_query_string, filter_params, generate_hmac_sha256_signature
11
11
 
12
12
 
@@ -289,9 +289,9 @@ class Client(BaseClient):
289
289
  symbol: str,
290
290
  side: str,
291
291
  type: str,
292
- quantity: str | None = None,
293
- quote_order_quantity: str | None = None,
294
- price: str | None = None,
292
+ quantity: NumberLike | None = None,
293
+ quote_order_quantity: NumberLike | None = None,
294
+ price: NumberLike | None = None,
295
295
  new_client_order_id: str | None = None,
296
296
  stp_mode: str | None = None,
297
297
  ) -> dict:
@@ -319,9 +319,9 @@ class Client(BaseClient):
319
319
  symbol: str,
320
320
  side: str,
321
321
  type: str,
322
- quantity: str | None = None,
323
- quote_order_quantity: str | None = None,
324
- price: str | None = None,
322
+ quantity: NumberLike | None = None,
323
+ quote_order_quantity: NumberLike | None = None,
324
+ price: NumberLike | None = None,
325
325
  new_client_order_id: str | None = None,
326
326
  stp_mode: str | None = None,
327
327
  ) -> dict:
unicex/mexc/uni_client.py CHANGED
@@ -180,8 +180,7 @@ class UniClient(IUniClient[Client]):
180
180
  """
181
181
  raw_data = await self._client.futures_ticker()
182
182
  adapted_data = Adapter.funding_rate(raw_data=raw_data) # type: ignore[reportArgumentType]
183
- if symbol:
184
- return adapted_data[symbol]
183
+ return adapted_data[symbol] if symbol else adapted_data
185
184
  return adapted_data
186
185
 
187
186
  @overload
@@ -20,16 +20,20 @@ class UniWebsocketManager(IUniWebsocketManager):
20
20
  """Реализация менеджера асинхронных унифицированных вебсокетов."""
21
21
 
22
22
  def __init__(
23
- self, client: Client | UniClient | None = None, logger: LoggerLike | None = None
23
+ self,
24
+ client: Client | UniClient | None = None,
25
+ logger: LoggerLike | None = None,
26
+ **ws_kwargs: Any,
24
27
  ) -> None:
25
28
  """Инициализирует унифицированный менеджер вебсокетов.
26
29
 
27
30
  Параметры:
28
31
  client (`Client | UniClient | None`): Клиент Mexc или унифицированный клиент. Нужен для подключения к приватным топикам.
29
32
  logger (`LoggerLike | None`): Логгер для записи логов.
33
+ ws_kwargs (`dict[str, Any]`): Дополнительные параметры инициализации, которые будут переданы WebsocketManager/Websocket.
30
34
  """
31
35
  super().__init__(client=client, logger=logger)
32
- self._websocket_manager = WebsocketManager(self._client) # type: ignore
36
+ self._websocket_manager = WebsocketManager(self._client, **ws_kwargs) # type: ignore
33
37
  self._adapter = Adapter()
34
38
 
35
39
  @overload
unicex/okx/client.py CHANGED
@@ -6,7 +6,7 @@ from typing import Any, Literal
6
6
 
7
7
  from unicex._base import BaseClient
8
8
  from unicex.exceptions import NotAuthorized
9
- from unicex.types import RequestMethod
9
+ from unicex.types import NumberLike, RequestMethod
10
10
  from unicex.utils import filter_params, generate_hmac_sha256_signature
11
11
 
12
12
 
@@ -510,7 +510,7 @@ class Client(BaseClient):
510
510
  inst_id: str,
511
511
  td_mode: Literal["cross", "isolated", "cash", "spot_isolated"],
512
512
  ccy: str | None = None,
513
- px: str | None = None,
513
+ px: NumberLike | None = None,
514
514
  leverage: str | None = None,
515
515
  trade_quote_ccy: str | None = None,
516
516
  ) -> dict:
@@ -540,7 +540,7 @@ class Client(BaseClient):
540
540
  td_mode: Literal["cross", "isolated", "cash", "spot_isolated"],
541
541
  ccy: str | None = None,
542
542
  reduce_only: bool | None = None,
543
- px: str | None = None,
543
+ px: NumberLike | None = None,
544
544
  trade_quote_ccy: str | None = None,
545
545
  ) -> dict:
546
546
  """Получение максимального доступного баланса/эквити.
@@ -1313,14 +1313,14 @@ class Client(BaseClient):
1313
1313
  "mmp_and_post_only",
1314
1314
  "op_fok",
1315
1315
  ],
1316
- sz: str,
1316
+ sz: NumberLike,
1317
1317
  ccy: str | None = None,
1318
1318
  cl_ord_id: str | None = None,
1319
1319
  tag: str | None = None,
1320
1320
  pos_side: Literal["net", "long", "short"] | None = None,
1321
- px: str | None = None,
1322
- px_usd: str | None = None,
1323
- px_vol: str | None = None,
1321
+ px: NumberLike | None = None,
1322
+ px_usd: NumberLike | None = None,
1323
+ px_vol: NumberLike | None = None,
1324
1324
  reduce_only: bool | None = None,
1325
1325
  tgt_ccy: Literal["base_ccy", "quote_ccy"] | None = None,
1326
1326
  ban_amend: bool | None = None,
@@ -1430,10 +1430,10 @@ class Client(BaseClient):
1430
1430
  ord_id: str | None = None,
1431
1431
  cl_ord_id: str | None = None,
1432
1432
  *,
1433
- new_sz: str | None = None,
1434
- new_px: str | None = None,
1435
- new_px_usd: str | None = None,
1436
- new_px_vol: str | None = None,
1433
+ new_sz: NumberLike | None = None,
1434
+ new_px: NumberLike | None = None,
1435
+ new_px_usd: NumberLike | None = None,
1436
+ new_px_vol: NumberLike | None = None,
1437
1437
  cxl_on_fail: bool | None = None,
1438
1438
  req_id: str | None = None,
1439
1439
  px_amend_type: Literal["0", "1"] | None = None,
@@ -1987,9 +1987,9 @@ class Client(BaseClient):
1987
1987
  "ioc",
1988
1988
  "optimal_limit_ioc",
1989
1989
  ],
1990
- sz: str,
1990
+ sz: NumberLike,
1991
1991
  pos_side: Literal["net", "long", "short"] | None = None,
1992
- px: str | None = None,
1992
+ px: NumberLike | None = None,
1993
1993
  reduce_only: bool | None = None,
1994
1994
  tgt_ccy: Literal["base_ccy", "quote_ccy"] | None = None,
1995
1995
  attach_algo_orders: list[dict[str, Any]] | None = None,
@@ -2592,9 +2592,9 @@ class Client(BaseClient):
2592
2592
  async def convert_contract_coin(
2593
2593
  self,
2594
2594
  inst_id: str,
2595
- sz: str,
2595
+ sz: NumberLike,
2596
2596
  type_: Literal["1", "2"] | None = None,
2597
- px: str | None = None,
2597
+ px: NumberLike | None = None,
2598
2598
  unit: Literal["coin", "usds"] | None = None,
2599
2599
  op_type: Literal["open", "close"] | None = None,
2600
2600
  ) -> dict:
@@ -20,16 +20,20 @@ class UniWebsocketManager(IUniWebsocketManager):
20
20
  """Реализация менеджера асинхронных унифицированных вебсокетов."""
21
21
 
22
22
  def __init__(
23
- self, client: Client | UniClient | None = None, logger: LoggerLike | None = None
23
+ self,
24
+ client: Client | UniClient | None = None,
25
+ logger: LoggerLike | None = None,
26
+ **ws_kwargs: Any,
24
27
  ) -> None:
25
28
  """Инициализирует унифицированный менеджер вебсокетов.
26
29
 
27
30
  Параметры:
28
31
  client (`Client | UniClient | None`): Клиент Okx или унифицированный клиент. Нужен для подключения к приватным топикам.
29
32
  logger (`LoggerLike | None`): Логгер для записи логов.
33
+ ws_kwargs (`dict[str, Any]`): Дополнительные параметры инициализации, которые будут переданы WebsocketManager/Websocket.
30
34
  """
31
35
  super().__init__(client=client, logger=logger)
32
- self._websocket_manager = WebsocketManager(self._client) # type: ignore
36
+ self._websocket_manager = WebsocketManager(self._client, **ws_kwargs) # type: ignore
33
37
  self._adapter = Adapter()
34
38
 
35
39
  @overload
unicex/types.py CHANGED
@@ -8,6 +8,7 @@ __all__ = [
8
8
  "AggTradeDict",
9
9
  "RequestMethod",
10
10
  "LoggerLike",
11
+ "NumberLike",
11
12
  "OpenInterestDict",
12
13
  "OpenInterestItem",
13
14
  "TickerInfoItem",
@@ -26,6 +27,13 @@ type LoggerLike = LoggingLogger | loguru.Logger
26
27
  type RequestMethod = Literal["GET", "POST", "PUT", "DELETE", "PATCH"]
27
28
  """Типы методов HTTP запросов."""
28
29
 
30
+ type NumberLike = str | int | float
31
+ """
32
+ Числовое значение для аргументов API-клиентов.
33
+ API бирж принимают числа как str, int или float — значение
34
+ передаётся без преобразований и сериализуется HTTP-клиентом.
35
+ """
36
+
29
37
 
30
38
  class TickerDailyItem(TypedDict):
31
39
  """Статистика одного тикера за последние 24 часа."""
unicex/utils.py CHANGED
@@ -215,4 +215,9 @@ def symbol_to_exchange_format(
215
215
  return symbol.removesuffix("USDT") # Вот тут мб и не так, там вроде что-то к USDC
216
216
  else:
217
217
  return symbol.removesuffix("USDT") # Вот тут мб и не так, там вроде что-то к USDC
218
+ elif exchange == Exchange.KUCOIN:
219
+ if market_type == MarketType.FUTURES:
220
+ return symbol_upper + "M"
221
+ else:
222
+ return symbol_upper.replace("USDT", "-USDT")
218
223
  return symbol_upper
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: unicex
3
- Version: 0.14.2
3
+ Version: 0.14.5
4
4
  Summary: Unified Crypto Exchange API
5
5
  Author-email: LoveBloodAndDiamonds <ayazshakirzyanov27@gmail.com>
6
6
  License: BSD 3-Clause License
@@ -62,6 +62,7 @@ Dynamic: license-file
62
62
  | **Hyperliquid** | ✓ | ✓ | ✓ | ✓ | ✓ | | |
63
63
  | **Mexc** | ✓ | ✓ | ✓ | | ✓ | | ✓ |
64
64
  | **Okx** | ✓ | ✓ | ✓ | | ✓ | | ✓ |
65
+ | **Kucoin** | | | | | ✓ | | |
65
66
  ---
66
67
 
67
68
 
@@ -1,71 +1,71 @@
1
1
  unicex/__init__.py,sha256=todVh-ePhe2HSqndToGZtpIk5fUow4pbzTFmL3X98tQ,6318
2
- unicex/enums.py,sha256=agHr6nhfTm1emLzvOxkwRxBUQBZ_7N1xS684hvm8ym4,9591
2
+ unicex/enums.py,sha256=0PCSOyeTTMZ40d5x7qeJ2SfrTeUYQvPhQFw8ElbzIMM,10276
3
3
  unicex/exceptions.py,sha256=r-xZzX78VuxVnI5pe99AM8FIiGcdIUDcF5CaTkQ4NE0,2213
4
4
  unicex/extra.py,sha256=Ki0ZvF88BNpnt-k-c-AgdUig80f-Yi1gTt8qqO7M5ss,13492
5
5
  unicex/mapper.py,sha256=yncbMCecZ3nvGtUyvWaiQAQ3RWGAAmm3MEi6Y7YJUG4,5203
6
- unicex/types.py,sha256=QmhBTfSXX0Ie5E_wDJJmVDLZFMocg6mzh3yBjDAr96Y,4630
7
- unicex/utils.py,sha256=xzeP8E2bBoie8GvxW97FPEu_QPYMxiNgc9zX7yrdsfk,8048
6
+ unicex/types.py,sha256=-ajW_vV-3Pt04PEOiTYPvJR4QtV0gYnsjD4_9bxd1xM,4980
7
+ unicex/utils.py,sha256=43Sp61NJuO50HRbtBlZJW_yO_PRgp8Jgg4vxj64oRM8,8241
8
8
  unicex/_abc/__init__.py,sha256=fxZjNFJFeFwWTXz8iSDe7eCWwE6xfFwFwAuG6l-TI8A,289
9
9
  unicex/_abc/exchange_info.py,sha256=NHBQAjknIRebyjl3musrvneN5u9vKYXjAca5PmTvJTw,9545
10
- unicex/_abc/uni_client.py,sha256=ZjxK8aqCGLUUYy1UQTM9EvWn1IXwMkH2Db8sZrs1e_I,13728
10
+ unicex/_abc/uni_client.py,sha256=Ccp_zKFAzu9eUO7G-6WJnOjN61id0iSeWn6xqxMyHQ8,14992
11
11
  unicex/_abc/uni_websocket_manager.py,sha256=yYKypPkIe3rKfWBuTsS8rkwIPljpd1588CYDkeTOYqE,9905
12
12
  unicex/_base/__init__.py,sha256=0TmevATGnRB3qow6tkCR8dQKNZCWKeib6YQjNJ4a1b0,236
13
13
  unicex/_base/client.py,sha256=asIIQLZlRwwmUDvxveSv7aCvth54iiSRJdz19bxGorI,8904
14
14
  unicex/_base/websocket.py,sha256=haSV3dSgkT352n8knpLm_iI4ZlUGWWKFCB3k5Ua2esU,12542
15
15
  unicex/binance/__init__.py,sha256=sDk4ZjakRdpFMaMSpOCfqjf6ZPfAS9tlrt4WlDHtDkw,932
16
16
  unicex/binance/adapter.py,sha256=JbUFyjnDAFtyuYYrh90YeOvQOZQ6faim0nWS6U0NxXw,8799
17
- unicex/binance/client.py,sha256=H_6xq3ahD55EPR_lBYak-7Gd0_bqbIJUf7TXm43ZI3A,62298
17
+ unicex/binance/client.py,sha256=LXHZJpX7HpaUTlQcjuGEjm3qin4mczemJnCay1LncZo,62444
18
18
  unicex/binance/exchange_info.py,sha256=LNDkgBC5HB3JxtIBi39puqDg6LIVWqIWjT-6akDxtMs,2437
19
19
  unicex/binance/uni_client.py,sha256=W4yxiU0kkJKPJjimhv4KAWreuEBwt7GgrWXefcw5BEA,8365
20
- unicex/binance/uni_websocket_manager.py,sha256=HYHs6PYOTxBqN31AuOzbzs6o4oLBsZPMccqbjJiMu_4,8696
20
+ unicex/binance/uni_websocket_manager.py,sha256=KnSz3o0iKx-o4ktkM7DTJZ_9xHTXFzwWnOb2pxmAe5Y,8941
21
21
  unicex/binance/user_websocket.py,sha256=jVTId_fSAF0VKKD2matPlE1fBpYT8HQ6WqHxGxcVdKw,7887
22
22
  unicex/binance/websocket_manager.py,sha256=Idrq0Qzi14QgpIG5d77S-r1h_BvRXphcxY2BT2IOQXA,45511
23
23
  unicex/bitget/__init__.py,sha256=8govSOEyWjA62js-ZTQIiSYWSmcEUFSC9hVTpS8eosk,929
24
24
  unicex/bitget/adapter.py,sha256=frQBOKFsIB8mXc_Ime2-Iby_nRQlSpzXjshC5AxoDTA,7741
25
- unicex/bitget/client.py,sha256=AMlHqEdPrBdXNxiUwK_0Whk9sS8THnt1kXpJez-T-Sg,90203
25
+ unicex/bitget/client.py,sha256=0NFOixkMb0AcC5e-LytUd4Y1jxCO6Lv6-I4XlOGNtxQ,90618
26
26
  unicex/bitget/exchange_info.py,sha256=_UMvAqP0zcpmv9dkovkFxrXLlol6q8_v7-0sy6FSfrE,1959
27
27
  unicex/bitget/uni_client.py,sha256=MrXAmthTDTEQZ1ZY3LuqkCKL1bw_mKHMdiV4XiRFO-M,8641
28
- unicex/bitget/uni_websocket_manager.py,sha256=y-HXrREy_ruNeUzdRv5nHwBZQgbupxzp1UV-IFOpN_8,9793
28
+ unicex/bitget/uni_websocket_manager.py,sha256=ybf-_HPU-aQy7M27rfKDPSdxjI5ZzkfKCzzim-WA5l8,10038
29
29
  unicex/bitget/user_websocket.py,sha256=tlkv7Rmsw_FSfCJnEMOK_9jRsXRk2Ah_slqG8C-uhuo,129
30
30
  unicex/bitget/websocket_manager.py,sha256=2OhH2gKy2gN03oYeCFvf3_l6RA29dDOvpajGhbXI9Zw,9886
31
31
  unicex/bybit/__init__.py,sha256=SrMBh6K5zUt4JheWUpNUYNb1NCDr2ujTFv4IDguaGZI,926
32
32
  unicex/bybit/adapter.py,sha256=U6QP2eGefZqfXq7H4P1G9M23HieAjmylb5FnrHISn5s,8147
33
- unicex/bybit/client.py,sha256=D8ncQjHQi4uadQ9C5Gx8S-pagrCXJwcGAo6sg7sYkL8,61581
33
+ unicex/bybit/client.py,sha256=XBIQ0ERQ1fZ53_8vPUHHQN0SqIx3ZbOTIoPQInit194,61789
34
34
  unicex/bybit/exchange_info.py,sha256=S5IrN5c-jW0QbuO4LGH5rluO6qo7ib-wL-8LJWNOZgI,2422
35
35
  unicex/bybit/uni_client.py,sha256=0wmIRRgofuJXWvZMB1gHwuIEfoWuPhLJXthmK1f9w40,8382
36
- unicex/bybit/uni_websocket_manager.py,sha256=OpnvWD0xZ8T_By0HZCSg3jWoZqScRATAsku4IIBqhlw,10252
36
+ unicex/bybit/uni_websocket_manager.py,sha256=9GPP3-yYBf_Ok97DEr5R8kx9aKLWYRFSPlrp2DqrbxA,10497
37
37
  unicex/bybit/user_websocket.py,sha256=IGGEnwyWs5jOppgK_R7SisBDvsiF1_piTswBrdQOgDg,128
38
38
  unicex/bybit/websocket_manager.py,sha256=ePHvngoqoVPr6p-BayoEGhCuRK-cJ69CAPzF94qTalQ,15404
39
39
  unicex/gate/__init__.py,sha256=dsKvhQhDcw4_w0S4c9IjKkCoOg4DCUtSecEUOlfstug,929
40
40
  unicex/gate/adapter.py,sha256=Oj9_wt-6EkRIlxjwGv2knuH5t4BwHyo1M58abR_1Oak,6929
41
- unicex/gate/client.py,sha256=bhWkYBn5B4JKpLRfQERTVzisiCSg7mMi6mM0kh4Hes4,53760
41
+ unicex/gate/client.py,sha256=Mu8qropad8DTSDuG6mxyn6ZW2hwQK47PZnfb5yOEt2M,53828
42
42
  unicex/gate/exchange_info.py,sha256=ANzfe4mqxtLnj2TBJJxoc31KUosvxdApp1_xYrRNQDs,2300
43
- unicex/gate/uni_client.py,sha256=zJrxzWqp0g4hYV0kUKQRfWxMHcWoAnhgB4B5t_MfOng,9644
44
- unicex/gate/uni_websocket_manager.py,sha256=3KAHhgJNISTOZRBTwbZPigc8iq_IHS19NwnuAsnfeXg,9329
43
+ unicex/gate/uni_client.py,sha256=EVhQ4KF7F6y67b2oARcYzSrSnHTFsUjoXK1vLntK6u0,9649
44
+ unicex/gate/uni_websocket_manager.py,sha256=_baRRpC0zUgAqpn6PygULhGkO1mhlepyIo0kOpUItRM,9574
45
45
  unicex/gate/user_websocket.py,sha256=4qZX9N2RjlJ-e25Eszz12OeCM17j5DdXVimBVaLj53w,129
46
46
  unicex/gate/websocket_manager.py,sha256=phtHbvAGQD3mtewCUxBuuD1Nj0FXN6oZrd7tnmT7c2c,25832
47
47
  unicex/hyperliquid/__init__.py,sha256=qGTAkwfXLvknvHET_iA7Qml3jkxxxA0moU_98nGTcVU,944
48
48
  unicex/hyperliquid/adapter.py,sha256=0aULPGDhppjbRvShbR49GNt6qmw4o_CmrFi_xGVRLHg,10612
49
- unicex/hyperliquid/client.py,sha256=8YnPh_6Hj8vFYcPbMaPae6OfroFzn28VI6iL3FQfa84,84255
49
+ unicex/hyperliquid/client.py,sha256=Arpu58t4y7CIHIukCu5Y13cKpvFdgKPEDeK80C8FLMo,84320
50
50
  unicex/hyperliquid/exchange_info.py,sha256=D1h1fvH9DycRq-xDTZ_-Y1NC2JCp165IyWMXs39VjFI,4936
51
- unicex/hyperliquid/uni_client.py,sha256=4jv2uC076PBeq-EzCKvwaEEMk_M3HpsWA6iwNepJg7E,15674
52
- unicex/hyperliquid/uni_websocket_manager.py,sha256=AzR_8Aq98NkCA1oc2IiH02ysMOYLaisEmcuuaafeaJw,9334
51
+ unicex/hyperliquid/uni_client.py,sha256=lNR0r4nQduiH9uPZ1uw2mNg94ULfsTM7OF95HpNjC7M,15496
52
+ unicex/hyperliquid/uni_websocket_manager.py,sha256=cGpIu3OMcCc07ATOt6-Fu10f4sc_83bG455YaNdU57Y,9579
53
53
  unicex/hyperliquid/user_websocket.py,sha256=BKD9ap2bx5DwpkkwwecfOTVedrZBR9eMAITgCBgg02w,134
54
54
  unicex/hyperliquid/websocket_manager.py,sha256=mlsQYykFHfQr-k6AZ3b6JfK7DnnhGtt4MRemZg4O9X4,17991
55
55
  unicex/kucoin/__init__.py,sha256=7RSMUDiqjmj8T1cvotlRu8LKH-Ok9UlajSrlXyq1mnc,929
56
- unicex/kucoin/adapter.py,sha256=kO-aR0zGv6KiUrRmBxLYU4QoIIdyli4izJdV--KastQ,3954
57
- unicex/kucoin/client.py,sha256=A-dvd9nN4t26S-7zGx5u-gKpECUXNLNGtgkmX0hNxYg,1654
58
- unicex/kucoin/exchange_info.py,sha256=N80aLQbDIiYtmjteZSW9c7Xq5QQKKa9gOhdWDfqTyzM,1703
59
- unicex/kucoin/uni_client.py,sha256=yCYgBv6nTYvn0Wt0guFVYZyh6OXbmQMDr4r81D-UqBY,6924
60
- unicex/kucoin/uni_websocket_manager.py,sha256=B9LZxp7KgitSq8k0Gk2lFcZr51mwStRWFfksz-5DL14,9329
56
+ unicex/kucoin/adapter.py,sha256=A9oKBOMDIPjx12V2otWyQtuk1n5Ont4UYsRK0Uw3lEI,6623
57
+ unicex/kucoin/client.py,sha256=16WzbNZ9ZmepZfz7OHwbV5NkBnphIjjAvlAXZZXd71c,3789
58
+ unicex/kucoin/exchange_info.py,sha256=DNraBMxgMiZVSZwDmgg7v7D11_cBnqMsO95u9ITFxFk,1933
59
+ unicex/kucoin/uni_client.py,sha256=KBEAs-5B8mU4QmaCGKy87i2GimJklkvKaAH3_F-JEOg,9916
60
+ unicex/kucoin/uni_websocket_manager.py,sha256=rvrhQkvktZhbfb505KmkiBtf7Y4drClgtq5ysaiXoYk,9574
61
61
  unicex/kucoin/user_websocket.py,sha256=Tx0yuGpf2HrPbcOHHZioYjVp6LBfagOKF-zzD3UM0Ok,129
62
62
  unicex/kucoin/websocket_manager.py,sha256=GNNpzxONgTuTByrsGk1MNMlj5-zx5vs_WBTgssYSYDQ,270
63
63
  unicex/mexc/__init__.py,sha256=lltANqM_2P-fmF5j8o5-pjmORPuK6C5sVjcQhuUU_R0,923
64
64
  unicex/mexc/adapter.py,sha256=6Ioy6IvXHDRKVBTXnofUYWubVvGx5lUCOxKA8R_ynxY,9862
65
- unicex/mexc/client.py,sha256=oJSpz-8hvA1WMCN2B7oqI2lXEx1_VJLAn8jbzhW8mF0,30950
65
+ unicex/mexc/client.py,sha256=FBUSs4Hu2DExVKPKJG9OawbqidACPFJ1U_1md05E3Mc,31004
66
66
  unicex/mexc/exchange_info.py,sha256=z2bQsVU0ciXV2_DFkueZHo1X35KIK2alD-7ZZjNg5Kc,1763
67
- unicex/mexc/uni_client.py,sha256=0unhbU3WfqrMsV_y15VnIFjwUzQLVtp1tx6spV6cHKI,9477
68
- unicex/mexc/uni_websocket_manager.py,sha256=MAKyGyit8Ve4doM7y8cTQbVVbpzlJx2HcHaSkLG4Jp4,9327
67
+ unicex/mexc/uni_client.py,sha256=_nYIl46-yvyUVKZxkSLCHRxgTnM75TmZqaxCsUp8woI,9482
68
+ unicex/mexc/uni_websocket_manager.py,sha256=zN9U7geR1jO5VLWsjsTdITrlhyCnan5hiKO2p0gBhBQ,9572
69
69
  unicex/mexc/user_websocket.py,sha256=l77-e6i0B2btd7a5IcCytbgswnV171NqOhunTcbaq48,127
70
70
  unicex/mexc/websocket_manager.py,sha256=cBfgCSnSs3XrcMBXb9awnalvKutSjs97DhTyWn0ZEQk,21853
71
71
  unicex/mexc/_spot_ws_proto/PrivateAccountV3Api_pb2.py,sha256=3bP1pGjeO-Norp7DhhdrQ4FcQTEKkCiL2mLagyoJHp8,1879
@@ -88,14 +88,14 @@ unicex/mexc/_spot_ws_proto/PushDataV3ApiWrapper_pb2.py,sha256=_V0StMrDE7-bsdRPQd
88
88
  unicex/mexc/_spot_ws_proto/__init__.py,sha256=L8Jft1713_M8CLR9drgSjLBdY_46sPT3O9zDFlxYvgc,11431
89
89
  unicex/okx/__init__.py,sha256=Ljbw3AP0YrPF5bIPJi_3JP3B_czR9xurYHI24rgWk9M,920
90
90
  unicex/okx/adapter.py,sha256=FSyLLHX7BlCp3chsloAdRAeUM5WBFkdaxWKCHTbXJYs,5346
91
- unicex/okx/client.py,sha256=2XL4YWPdRZYRMfLF1vSpkmwSd8Dxn8uyw5vCwDJab48,90969
91
+ unicex/okx/client.py,sha256=N7ma49ToMGjYiTvuoV52-NaG-vLx3s087KF67dQCRBs,91079
92
92
  unicex/okx/exchange_info.py,sha256=gkTwYnXgswa1FGLXdKo9qLYqZA0BS9VefpALhR4_t-Q,1772
93
93
  unicex/okx/uni_client.py,sha256=E_Wod0JSGt1K6k1mAIWnOv350pELbv-nic7g1KgOuos,8694
94
- unicex/okx/uni_websocket_manager.py,sha256=b4f_QjA64DJmENQdIGb5IOVc7kvit7KMCdWeCmRbxGY,9326
94
+ unicex/okx/uni_websocket_manager.py,sha256=CR877hj4pKwJbYlmKJvETl1Zlezpd81ZdzHkAMCYIwA,9571
95
95
  unicex/okx/user_websocket.py,sha256=8c9kpm-xVa729pW93OKUGLHaE9MY0uzEpjIgNIFRF80,126
96
96
  unicex/okx/websocket_manager.py,sha256=wROXTUDqKzOE-wDnCtXso_MC4SzfPuPols5aPg_Z3y4,26027
97
- unicex-0.14.2.dist-info/licenses/LICENSE,sha256=lNNK4Vqak9cXm6qVJLhbqS7iR_BMj6k7fd7XQ6l1k54,1507
98
- unicex-0.14.2.dist-info/METADATA,sha256=dcS7RTFBdPBLb-fwmJfHLVnLz2fqV8eRA5X8J-HArz4,11752
99
- unicex-0.14.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
100
- unicex-0.14.2.dist-info/top_level.txt,sha256=_7rar-0OENIg4KRy6cgjWiebFYAJhjKEcMggAocGWG4,7
101
- unicex-0.14.2.dist-info/RECORD,,
97
+ unicex-0.14.5.dist-info/licenses/LICENSE,sha256=lNNK4Vqak9cXm6qVJLhbqS7iR_BMj6k7fd7XQ6l1k54,1507
98
+ unicex-0.14.5.dist-info/METADATA,sha256=S38UTEHg_kl9c_KkHiKpriQqHEzcveRmMI-LRwQruaQ,11858
99
+ unicex-0.14.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
100
+ unicex-0.14.5.dist-info/top_level.txt,sha256=_7rar-0OENIg4KRy6cgjWiebFYAJhjKEcMggAocGWG4,7
101
+ unicex-0.14.5.dist-info/RECORD,,