xync-client 0.0.128__py3-none-any.whl → 0.0.131__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.

Potentially problematic release.


This version of xync-client might be problematic. Click here for more details.

@@ -61,8 +61,8 @@ class PmAgentClient(metaclass=ABCMeta):
61
61
 
62
62
  async def _idle(self): # todo: не мешать другим процессам, обновлять на другой вкладке?
63
63
  while (await User.get(username_id=self.uid)).status >= UserStatus.ACTIVE:
64
- await self.page.wait_for_timeout(15 * 1000)
65
- if self.last_active < datetime.now() - timedelta(seconds=20):
64
+ await self.page.wait_for_timeout(30 * 1000)
65
+ if self.last_active < datetime.now() - timedelta(minutes=1):
66
66
  await self.page.reload()
67
67
  self.last_active = datetime.now()
68
68
  await self.bot.send(self.norm + " stoped", self.uid)
@@ -5,7 +5,7 @@ from datetime import datetime, timezone
5
5
  from uuid import uuid4
6
6
 
7
7
  import websockets
8
- from asyncio import run
8
+ from asyncio import run, sleep
9
9
  from decimal import Decimal
10
10
 
11
11
  from playwright.async_api import async_playwright
@@ -83,6 +83,7 @@ class InAgentClient(BaseInAgentClient):
83
83
  upd = StatusChange.model_validate(data["data"])
84
84
  except ValidationError as e:
85
85
  logging.error(e)
86
+ logging.error(data["data"])
86
87
  order = self.agent_client.api.get_order_details(orderId=upd.id)
87
88
  order = OrderFull.model_validate(order["result"])
88
89
  order_db = await models.Order.get_or_none(
@@ -118,8 +119,8 @@ class InAgentClient(BaseInAgentClient):
118
119
  dict(
119
120
  amount=int(float(order.amount) * 100),
120
121
  accepted_at=datetime.now(timezone.utc),
122
+ order=order_db,
121
123
  ),
122
- order=order_db,
123
124
  # pm_id=order_db.cred.pmcur.pm_id,
124
125
  pmid=tid,
125
126
  )
@@ -128,8 +129,22 @@ class InAgentClient(BaseInAgentClient):
128
129
  continue
129
130
 
130
131
  # если висят незавершенные продажи с такой же суммой
131
- pos = await self.agent_client.get_orders_active(1)
132
- if [o for o in pos["result"]["items"] if o["amount"] == order.amount]:
132
+ pos = (await self.agent_client.get_orders_active(1))["result"]["items"]
133
+ if [
134
+ o
135
+ for o in pos
136
+ if (
137
+ o["amount"] == order.amount
138
+ and o["id"] != upd.id
139
+ and int(order.createDate) < int(o["createDate"]) + 3600 * 000
140
+ )
141
+ ]:
142
+ await self.agent_client.ex_client.bot.send(
143
+ f"[Duplicate amount!]"
144
+ f"(https://www.bybit.com/ru-RU/p2p/orderList/{order.id})",
145
+ self.agent_client.actor.person.user.username_id,
146
+ )
147
+ logging.warning("Duplicate amount!")
133
148
  continue
134
149
 
135
150
  # !!! ОТПРАВЛЯЕМ ДЕНЬГИ !!!
@@ -205,8 +220,8 @@ class InAgentClient(BaseInAgentClient):
205
220
  msg, _ = await models.Msg.update_or_create(
206
221
  {
207
222
  "to_maker": upd.userId == self.agent_client.actor.exid and im_taker,
223
+ "sent_at": datetime.fromtimestamp(float(upd.createDate) / 1000),
208
224
  },
209
- sent_at=datetime.fromtimestamp(float(upd.createDate) / 1000),
210
225
  txt=upd.message,
211
226
  order=order_db,
212
227
  )
@@ -302,7 +317,10 @@ class InAgentClient(BaseInAgentClient):
302
317
  )
303
318
  # проверяем не отправляли ли мы уже перевод по этому ордеру
304
319
  if t := await models.Transfer.get_or_none(order=order_db, amount=order_db.amount):
305
- await pma.bot.send(f"Order# {order_db.exid}: Double send {fmt_am}{cur} to {dest} #{t.pmid}!")
320
+ await pma.bot.send(
321
+ f"Order# {order_db.exid}: Double send {fmt_am}{cur} to {dest} #{t.pmid}!",
322
+ self.agent_client.actor.person.user.username_id,
323
+ )
306
324
  raise Exception(f"Order# {order_db.exid}: Double send {fmt_am}{cur} to {dest} #{t.pmid}!")
307
325
 
308
326
  # ставим в бд статус "оплачен"
@@ -317,12 +335,22 @@ class InAgentClient(BaseInAgentClient):
317
335
  order=order_db,
318
336
  pmid=tid,
319
337
  )
320
- # отправляем продавцу чек
321
- if res := self.agent_client.api.upload_chat_file(upload_file=f"tmp/{dest}.png").get("result"):
338
+ await self.send_receipt(str(order_db.exid), tid) # отправляем продавцу чек
339
+ logging.info(f"Order {order_db.exid} PAID at {datetime.now()}: {fmt_am}!")
340
+
341
+ async def send_receipt(self, oexid: str, tid: int) -> tuple[PmAgentClient | None, models.CredEx] | None:
342
+ try:
343
+ if res := self.agent_client.api.upload_chat_file(upload_file=f"tmp/{tid}.png").get("result"):
344
+ await sleep(0.5)
322
345
  self.agent_client.api.send_chat_message(
323
- orderId=str(order_db.exid), contentType="pic", message=res["url"], msgUuid=uuid4().hex
346
+ orderId=oexid, contentType="pic", message=res["url"], msgUuid=uuid4().hex
324
347
  )
325
- logging.info(f"Order {order_db.exid} PAID at {datetime.now()}: {fmt_am}!")
348
+ except Exception as e:
349
+ logging.error(e)
350
+ await sleep(0.5)
351
+ self.agent_client.api.send_chat_message(
352
+ orderId=oexid, contentType="str", message=f"#{tid}", msgUuid=uuid4().hex
353
+ )
326
354
 
327
355
  async def get_pma_by_cdex(self, order: OrderFull) -> tuple[PmAgentClient | None, models.CredEx] | None:
328
356
  cdxs = await models.CredEx.filter(
@@ -370,13 +398,17 @@ async def main():
370
398
  )
371
399
 
372
400
  async with FileClient(TOKEN) as b:
401
+ b: FileClient
373
402
  cl: InAgentClient = actor.in_client(b)
374
403
  # await cl.agent_client.export_my_ads()
375
404
  payeer_cl = Client(actor.person.user.username_id)
376
405
  for pma in actor.person.user.pm_agents:
377
406
  cl.pmacs[pma.pm_id] = await payeer_cl.start(await async_playwright().start(), False)
378
-
379
- _ = await cl.start_listen()
407
+ try:
408
+ _ = await cl.start_listen()
409
+ except Exception as e:
410
+ await b.send("😱Bybit InAgent CRASHED!!!😱", actor.person.user.username_id)
411
+ await b.send(e.__repr__(), actor.person.user.username_id)
380
412
  await cl.agent_client.close()
381
413
 
382
414
 
@@ -666,7 +666,12 @@ class AgentClient(BaseAgentClient): # Bybit client
666
666
  volume = asset.free * 10**-coinex.scale
667
667
  volume = str(round(volume, coinex.scale))
668
668
 
669
- ads: list[Ad] = await self.ads(coinex, curex, taker_side, pmexs)
669
+ try:
670
+ ads: list[Ad] = await self.ads(coinex, curex, taker_side, pmexs)
671
+ except Exception:
672
+ await sleep(1)
673
+ ads: list[Ad] = await self.ads(coinex, curex, taker_side, pmexs)
674
+
670
675
  if race.vm_filter:
671
676
  ads = [ad for ad in ads if "VA" in ad.authTag]
672
677
  self.overprice_filter(ads, race.ceil * 10**-curex.scale, k) # обрезаем сверху все ads дороже нашего потолка
@@ -757,12 +762,7 @@ class AgentClient(BaseAgentClient): # Bybit client
757
762
  raise e
758
763
  elif ExcCode(e.status_code) == ExcCode.InsufficientBalance:
759
764
  asset = await models.Asset.get(addr__actor=self.actor, addr__coin_id=coinex.coin_id)
760
- req.quantity = str(
761
- round(
762
- asset.free * 10**-coinex.scale,
763
- coinex.scale or coinex.coin.scale,
764
- )
765
- )
765
+ req.quantity = str(round(asset.free * 10**-coinex.scale, coinex.scale))
766
766
  _res = self.ad_upd(req)
767
767
  elif ExcCode(e.status_code) == ExcCode.RareLimit:
768
768
  sad = [
@@ -1186,94 +1186,81 @@ async def main():
1186
1186
  actor = (
1187
1187
  await models.Actor.filter(ex_id=4, agent__isnull=False).prefetch_related("ex", "agent", "person__user").first()
1188
1188
  )
1189
- async with FileClient(TOKEN) as b:
1190
- b: FileClient
1191
- # b.add_handler(MessageHandler(cond_start_handler, command("cond")))
1192
- cl: AgentClient = actor.client(b)
1193
-
1194
- # await cl.ex_client.set_pairs()
1195
- # await cl.ex_client.set_pms()
1196
- # await cl.set_creds()
1197
- # await cl.export_my_ads()
1198
-
1199
- # создание гонок по мои активным объявам:
1200
- # for ma in cl.my_ads():
1201
- # my_ad = await models.MyAd.get(ad__exid=ma.id).prefetch_related('ad__pms', 'ad__pair_side__pair')
1202
- # race, _ = await models.Race.update_or_create(
1203
- # {"started": True, "vm_filter": True, "target_place": 5},
1204
- # road=my_ad
1205
- # )
1206
-
1207
- # for name in names:
1208
- # s, _ = await models.Synonym.update_or_create(typ=SynonymType.name, txt=name)
1209
- # await s.curs.add(rub.cur)
1210
-
1211
- # пока порешали рейс-кондишн, очищаем сиротские условия при каждом запуске
1212
- # [await c.delete() for c in await Cond.filter(ads__isnull=True)]
1213
- cl.all_conds = {
1214
- c.id: (c.raw_txt, {a.maker.exid for a in c.ads}) for c in await Cond.all().prefetch_related("ads__maker")
1215
- }
1216
- for curr, old in await CondSim.filter().values_list("cond_id", "cond_rel_id"):
1217
- cl.cond_sims[curr] = old
1218
- cl.rcond_sims[old] |= {curr}
1219
-
1220
- cl.build_tree()
1221
- a = set()
1222
-
1223
- def check_tree(tre):
1224
- for p, c in tre.items():
1225
- a.add(p)
1226
- check_tree(c)
1227
-
1228
- for pr, ch in cl.tree.items():
1229
- check_tree(ch)
1230
- if ct := set(cl.tree.keys()) & a:
1231
- logging.exception(f"cycle cids: {ct}")
1232
-
1233
- # await cl.get_api_orders(43, 1741294800000, 1749157199999)
1234
-
1235
- races = await models.Race.filter(started=True).prefetch_related(
1236
- "road__ad__pair_side__pair__cur",
1237
- "road__ad__pms",
1238
- )
1239
- tasks = [asyncio.create_task(cl.racing(race), name=f"Rc{race.id}") for race in races]
1240
- # await cl.actual_cond()
1189
+ filebot = FileClient(TOKEN)
1190
+ await filebot.start()
1191
+ # b.add_handler(MessageHandler(cond_start_handler, command("cond")))
1192
+ cl: AgentClient = actor.client(filebot)
1193
+
1194
+ # await cl.ex_client.set_pairs()
1195
+ # await cl.ex_client.set_pms()
1196
+ # await cl.set_creds()
1197
+ # await cl.export_my_ads()
1198
+
1199
+ # создание гонок по мои активным объявам:
1200
+ # for ma in cl.my_ads():
1201
+ # my_ad = await models.MyAd.get(ad__exid=ma.id).prefetch_related('ad__pms', 'ad__pair_side__pair')
1202
+ # race, _ = await models.Race.update_or_create(
1203
+ # {"started": True, "vm_filter": True, "target_place": 5},
1204
+ # road=my_ad
1205
+ # )
1206
+
1207
+ # for name in names:
1208
+ # s, _ = await models.Synonym.update_or_create(typ=SynonymType.name, txt=name)
1209
+ # await s.curs.add(rub.cur)
1210
+
1211
+ # пока порешали рейс-кондишн, очищаем сиротские условия при каждом запуске
1212
+ # [await c.delete() for c in await Cond.filter(ads__isnull=True)]
1213
+ cl.all_conds = {
1214
+ c.id: (c.raw_txt, {a.maker.exid for a in c.ads}) for c in await Cond.all().prefetch_related("ads__maker")
1215
+ }
1216
+ for curr, old in await CondSim.filter().values_list("cond_id", "cond_rel_id"):
1217
+ cl.cond_sims[curr] = old
1218
+ cl.rcond_sims[old] |= {curr}
1219
+
1220
+ cl.build_tree()
1221
+ a = set()
1222
+
1223
+ def check_tree(tre):
1224
+ for p, c in tre.items():
1225
+ a.add(p)
1226
+ check_tree(c)
1227
+
1228
+ for pr, ch in cl.tree.items():
1229
+ check_tree(ch)
1230
+ if ct := set(cl.tree.keys()) & a:
1231
+ logging.exception(f"cycle cids: {ct}")
1232
+
1233
+ # await cl.get_api_orders(43, 1741294800000, 1749157199999)
1234
+
1235
+ races = await models.Race.filter(started=True).prefetch_related(
1236
+ "road__ad__pair_side__pair__cur",
1237
+ "road__ad__pms",
1238
+ )
1239
+ tasks = [asyncio.create_task(cl.racing(race), name=f"Rc{race.id}") for race in races]
1240
+ # await cl.actual_cond()
1241
+ try:
1241
1242
  await gather(
1242
1243
  *tasks
1243
1244
  # cl.get_api_orders(), # 10, 1738357200000, 1742504399999
1244
- # cl.racing(usdt, rub, False, ["volet"], 83.88), # гонка в стакане покупки - мы продаем
1245
- # cl.racing(usdt, rub, True, ["volet"], 81.51), # гонка в стакане продажи - мы покупаем
1246
- # cl.racing(usdt, rub, False, ["payeer"], 81.49), # гонка в стакане покупки - мы продаем
1247
- # cl.racing(usdt, rub, True, ["payeer"], 80.7), # гонка в стакане продажи - мы покупаем
1248
- # cl.racing(eth, rub, False, ["volet"], 300_000),
1249
- # cl.racing(eth, rub, True, ["volet"], 296_000),
1250
- # cl.racing(eth, rub, False, ["payeer"], 300_000),
1251
- # cl.racing(eth, rub, True, ["payeer"], 296_000),
1252
- # cl.racing(btc, rub, False, ["volet"], 9_800_000),
1253
- # cl.racing(btc, rub, True, ["volet"], 9_700_000),
1254
- # cl.racing(btc, rub, False, ["payeer"], 9_800_000),
1255
- # cl.racing(btc, rub, True, ["payeer"], 9_700_000),
1256
- # cl.racing(usdc, rub, False, ["volet"], 80.98),
1257
- # cl.racing(usdc, rub, True, ["volet"], 80.01),
1258
- # cl.racing(usdc, rub, False, ["payeer"], 80.98),
1259
- # cl.racing(usdc, rub, True, ["payeer"], 80.01),
1260
- # cl.parse_ads(usdt, rub, False, ceil=81, volume=360),
1261
- # cl.parse_ads(usdt, rub, True, ceil=80, volume=360),
1262
1245
  )
1263
-
1264
- # bor = BaseOrderReq(
1265
- # ad_id="1861440060199632896",
1266
- # # asset_amount=40,
1267
- # fiat_amount=3000,
1268
- # amount_is_fiat=True,
1269
- # is_sell=False,
1270
- # cur_exid=rub.exid,
1271
- # coin_exid=usdt.exid,
1272
- # coin_scale=usdt.coin.scale,
1273
- # )
1274
- # res: OrderResp = await cl.order_request(bor)
1275
- # await cl.cancel_order(res.orderId)
1276
- await cl.close()
1246
+ except Exception as e:
1247
+ await filebot.send("🤬Bybit agent CRASHED!!!🤬", actor.person.user.username_id)
1248
+ await filebot.send(e.__repr__(), actor.person.user.username_id)
1249
+ raise e
1250
+ # bor = BaseOrderReq(
1251
+ # ad_id="1861440060199632896",
1252
+ # # asset_amount=40,
1253
+ # fiat_amount=3000,
1254
+ # amount_is_fiat=True,
1255
+ # is_sell=False,
1256
+ # cur_exid=rub.exid,
1257
+ # coin_exid=usdt.exid,
1258
+ # coin_scale=usdt.coin.scale,
1259
+ # )
1260
+ # res: OrderResp = await cl.order_request(bor)
1261
+ # await cl.cancel_order(res.orderId)
1262
+ await filebot.stop()
1263
+ await cl.close()
1277
1264
 
1278
1265
 
1279
1266
  if __name__ == "__main__":
@@ -31,12 +31,16 @@ class Status(IntEnum):
31
31
 
32
32
  class StatusApi(IntEnum):
33
33
  created = 1
34
+ _web3 = 5
34
35
  wait_for_buyer = 10 # ws_canceled
35
36
  wait_for_seller = 20
36
37
  appealed = 30
37
38
  canceled = 40
38
39
  completed = 50
40
+ _paying_online = 60
41
+ _pay_fail_online = 70
39
42
  hotswap_cancelled = 80
43
+ _buyer_sel_tokenId = 90
40
44
  objectioning = 100
41
45
  waiting_for_objection = 110
42
46
 
@@ -290,7 +294,7 @@ class Message(BaseModel):
290
294
  nickName: str
291
295
  read: Literal[0, 1]
292
296
  fileName: str
293
- onlyForCustomer: int
297
+ onlyForCustomer: int | None = None
294
298
 
295
299
 
296
300
  class _BaseChange(BaseModel):
@@ -301,7 +305,7 @@ class _BaseChange(BaseModel):
301
305
  side: int
302
306
  appealedTimes: int
303
307
  totalAppealedTimes: int
304
- status: StatusApi = None
308
+ status: StatusApi | None = None
305
309
 
306
310
 
307
311
  class StatusChange(_BaseChange):
@@ -320,18 +324,18 @@ class _BaseMsg(BaseModel):
320
324
  msgUuId: str
321
325
  createDate: str
322
326
  contentType: str
323
- roleType: Literal["user", "sys", "alarm"]
327
+ roleType: Literal["user", "sys", "alarm", "customer_support"]
324
328
 
325
329
 
326
330
  class Receive(_BaseMsg):
327
331
  id: int
328
332
  msgCode: int
329
- onlyForCustomer: int
333
+ onlyForCustomer: int | None = None
330
334
 
331
335
 
332
336
  class Read(_BaseMsg):
333
337
  readAmount: int
334
- read: Literal["111", "101"]
338
+ read: Literal["101", "110", "111"]
335
339
  orderStatus: StatusApi
336
340
 
337
341
 
@@ -82,7 +82,7 @@ class Client(PmAgentClient):
82
82
  await page.click(f".history-id-{trans_num} a.link")
83
83
  sleep(1)
84
84
  receipt = await page.query_selector(".ui-dialog.ui-corner-all")
85
- return trans_num, await receipt.screenshot(path=f"tmp/{dest}.png"), int(has_amount - amount)
85
+ return trans_num, await receipt.screenshot(path=f"tmp/{trans_num}.png"), int(has_amount - amount)
86
86
  else:
87
87
  await self.bot.send("Payeer хз", self.uid, photo=await self.page.screenshot())
88
88
  return -1
xync_client/details.py ADDED
@@ -0,0 +1,27 @@
1
+ import asyncio
2
+ from xync_client.loader import TORM
3
+ from x_model import init_db
4
+ from xync_schema import models
5
+ import re
6
+ from typing import List, Dict
7
+
8
+ phrases = ["дай(те)?", "номер", "рек(и|визиты)", "карту", "банк(и|а)?", "куда", "(на )?как(ой|ую)", "актуал"]
9
+
10
+
11
+ async def request_for_details(phrases_to_find) -> List[Dict[str, str]]:
12
+ _ = await init_db(TORM, True)
13
+ msgs = await models.Msg.all().values("txt")
14
+ patterns = [re.compile(rf"\b{phrase}\b", re.IGNORECASE) for phrase in phrases_to_find]
15
+ results = []
16
+ for msg in msgs:
17
+ if not msg["txt"]:
18
+ continue
19
+ for pattern in patterns:
20
+ if pattern.search(msg["txt"]):
21
+ results.append({pattern.pattern: msg["txt"]})
22
+
23
+ return results
24
+
25
+
26
+ if __name__ == "__main__":
27
+ asyncio.run(request_for_details(phrases))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xync-client
3
- Version: 0.0.128
3
+ Version: 0.0.131
4
4
  Author-email: Mike Artemiev <mixartemev@gmail.com>
5
5
  Project-URL: Homepage, https://gitlab.com/XyncNet/client
6
6
  Project-URL: Repository, https://gitlab.com/XyncNet/client
@@ -14,7 +14,7 @@ Requires-Dist: python-binance
14
14
  Requires-Dist: pybit
15
15
  Requires-Dist: pyotp
16
16
  Requires-Dist: pypng
17
- Requires-Dist: kurigram<2.2.10
17
+ Requires-Dist: kurigram
18
18
  Requires-Dist: payeer-api
19
19
  Requires-Dist: playwright
20
20
  Requires-Dist: python-dotenv
@@ -1,4 +1,5 @@
1
1
  xync_client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
+ xync_client/details.py,sha256=QkkEa-39N8IHWu4z__E76QMyshoGdTvzL9k1Eb_-aIc,877
2
3
  xync_client/loader.py,sha256=qAOQqE4id42aOG3jwc0UMBB8roHd6X3_O08qRG7Bfxw,563
3
4
  xync_client/pm_unifier.py,sha256=T2Xh-tvcu114P2YBI6RK_XDiaIhyq6ABMrXDuXPlx7A,6541
4
5
  xync_client/Abc/Agent.py,sha256=OJaJ1RIMDYAS4xeefeXxVIVI0EKnMczQtrO35MLzqr4,5390
@@ -9,7 +10,7 @@ xync_client/Abc/Ex.py,sha256=n41-XCjoIV-KpC_lK3jO049tQKbFmE0eDU3SDlgZTws,12986
9
10
  xync_client/Abc/Exception.py,sha256=Sts7RpP370NBdjaH_cyXDdHtjge8zXNUGWCrKw49Zyk,482
10
11
  xync_client/Abc/InAgent.py,sha256=svKGATUM0c9YIDDEVLc-NxpUNWqZoVr5PjxoxK64RKs,650
11
12
  xync_client/Abc/Order.py,sha256=7-FGIJu5z9aYi0A_eJV4F-cp_6Mz_izNpefexDQZvHw,2428
12
- xync_client/Abc/PmAgent.py,sha256=5BzS4ZcJAzAf3kbw6MumCYfhEtVaVGrVOyzFHR8uPVA,4213
13
+ xync_client/Abc/PmAgent.py,sha256=qrAlnAeGjoJ7E2S3qV28mKEHJuhadJRcshGDD_9Wb1o,4212
13
14
  xync_client/Abc/xtype.py,sha256=o1JEzWmEXCPddtlqWZ6HRTZTKX6SAnvsztbASj21zOQ,2584
14
15
  xync_client/Binance/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
16
  xync_client/Binance/binance_async.py,sha256=LP2DZaHwkfsp_4Tjvetb-1ntjQtJfODF0OgZpoPx4KU,2688
@@ -33,8 +34,8 @@ xync_client/BitGet/agent.py,sha256=YVs3bDY0OcEJGU7m2A8chzO6PFhWDnQQrA-E6MVkBBg,3
33
34
  xync_client/BitGet/ex.py,sha256=nAexKRkguIhq4fYP1tkIaou6oBFjjV2xwlajlJ-9DAE,3757
34
35
  xync_client/BitGet/etype/ad.py,sha256=fysSW47wGYjSOPUqY864z857AJz4gjN-nOkI1Jxd27U,1838
35
36
  xync_client/BitPapa/ex.py,sha256=U-RRB_RSOtErfRgxOZYWegZ_td_uZO37YKo3Jxchf_w,912
36
- xync_client/Bybit/InAgent.py,sha256=YPAFmEzseB-balGuiqkZOECvvdQRQD6K6auv1rEkauY,22052
37
- xync_client/Bybit/agent.py,sha256=lYbdFDkySZqetPw9RiXArQU6GZ_mtOqMF0fbYb8EOP4,58747
37
+ xync_client/Bybit/InAgent.py,sha256=3EW_jHGiXHdTpqSNIixY-L2lTYqtWFOm3c5LyDPHed0,23952
38
+ xync_client/Bybit/agent.py,sha256=5nAKd3yiIq1NJ6gI8CDacrk0CIeaWCxu0oWu5Lbx4nM,57384
38
39
  xync_client/Bybit/ex.py,sha256=DgPOmnjphcSCSsO4ZQjnIlWICNzdtKhNIpVsU93s99k,4707
39
40
  xync_client/Bybit/order.py,sha256=H4UIb8hxFGnw1hZuSbr0yZ4qeaCOIZOMc6jEst0ycBs,1713
40
41
  xync_client/Bybit/web_earn.py,sha256=qjqS10xlFc8r40IhDdPZ0LxA2dFEGbvBGXdsrUUJCMo,3019
@@ -42,7 +43,7 @@ xync_client/Bybit/web_p2p.py,sha256=sAXzK03t6jwDnz4rrvP2IzI0KxfKa7C_5GuzH1HwLuA,
42
43
  xync_client/Bybit/ws.py,sha256=OQjZHo_MiAH1dlOs3c-aUZBKyqToNTmH560udh6RYDE,1431
43
44
  xync_client/Bybit/etype/ad.py,sha256=HJOHi9KrbLQMpwEyd4oA8436QTNRqrd2HWFF-JNZGDo,8066
44
45
  xync_client/Bybit/etype/cred.py,sha256=dgFExLB4e5Wf6SqfU9SOdeooHQa84DRbTGm_OJhNw_o,1354
45
- xync_client/Bybit/etype/order.py,sha256=1DzPrhwFCEgVcJ10eEbXcdjlDcp8Bic5wt7DWHERA1Q,8113
46
+ xync_client/Bybit/etype/order.py,sha256=c71gfdZDJ0gSoDYLLWv2pEYwap5aV4rjjFnnA0F9lcA,8267
46
47
  xync_client/Gate/ex.py,sha256=1vSXctCOyZfYDojkHU6u4YSXwYTLg-e7BfAdGKvZ_UM,3727
47
48
  xync_client/Gate/premarket.py,sha256=IW-CgkmNJePJR2j_NRfULNKTePMX35XlhldqdiO76zY,2138
48
49
  xync_client/Gate/etype/ad.py,sha256=-EwtFcOWWvtE6UjaOdsuXWDTCVjAIRK0kSEsqPP4Yls,1296
@@ -71,7 +72,7 @@ xync_client/Pms/Alfa/state.json,sha256=MKE6vl-JsJO9PNCVqoQgBgYZTgYkHCas7USwl8QFt
71
72
  xync_client/Pms/MTS/__init__.py,sha256=P_E7W46IZEk8RsEgl7H1xV3JplMT5l9vYQYTYyNbyQ8,2101
72
73
  xync_client/Pms/Ozon/__init__.py,sha256=EvQZDSPv0fOT2hNCTP44nXHOIEQvP5bQf_7HVLiZc2I,4123
73
74
  xync_client/Pms/Payeer/.gitignore,sha256=sWORdRp8ROppV2CsMEDJ3M_SokrNWCf8b1hlaNs64hg,12
74
- xync_client/Pms/Payeer/__init__.py,sha256=TDydqDzcGRLVL-g-3q-gSbg4S17t5SA2OLQOoCb-lUE,6093
75
+ xync_client/Pms/Payeer/__init__.py,sha256=ks0cg41qDvqHVxtW3dkSMOdmbucOt1g1QZvQU4pXvf4,6098
75
76
  xync_client/Pms/Payeer/api.py,sha256=bb8qrlPYyWafel1VR-2nate6xBeRZAVciFJblHygfAs,549
76
77
  xync_client/Pms/Payeer/login.py,sha256=YNlvVxzAndAXhJAJuQ5CMtao_ebBCXC-2MS6lPNeGak,2210
77
78
  xync_client/Pms/Sber/__init__.py,sha256=dxQfd9ZPhFTc_C4xrwaxrV6p0SijDCLNzBeUv3oQG38,4926
@@ -94,7 +95,7 @@ xync_client/TgWallet/order.py,sha256=BOmBx5WWfJv0-_-A8DcR-Xd8utqO_VTmSqSegm0cteQ
94
95
  xync_client/TgWallet/pyd.py,sha256=Ys3E8b3RLuyQ26frWT0F0BorkNxVpxnd18tY4Gp9dik,5636
95
96
  xync_client/TgWallet/pyro.py,sha256=2K7QWdo48k4MbbgQt90gdz_HiPck69Njm4xaMjIVgoo,1440
96
97
  xync_client/TgWallet/web.py,sha256=kDcv9SKKQPe91mw1qJBpbuyKYCAmZdfdHJylHumLBVU,1608
97
- xync_client-0.0.128.dist-info/METADATA,sha256=XFAj6YNqn-jye15Qs1tFyqTs85EO8w-pa6fhC2NcSTo,1044
98
- xync_client-0.0.128.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
99
- xync_client-0.0.128.dist-info/top_level.txt,sha256=bmYEVIIrD3v7yFwH-X15pEfRvzhuAdfsAZ2igvNI4O8,12
100
- xync_client-0.0.128.dist-info/RECORD,,
98
+ xync_client-0.0.131.dist-info/METADATA,sha256=2ARk7n3KUcPBqs7VTAQNZ8sMXiOnCx9Ub29z5kX7YJQ,1037
99
+ xync_client-0.0.131.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
100
+ xync_client-0.0.131.dist-info/top_level.txt,sha256=bmYEVIIrD3v7yFwH-X15pEfRvzhuAdfsAZ2igvNI4O8,12
101
+ xync_client-0.0.131.dist-info/RECORD,,