xync-client 0.0.57.dev14__tar.gz → 0.0.57.dev16__tar.gz

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.
Files changed (112) hide show
  1. {xync_client-0.0.57.dev14/xync_client.egg-info → xync_client-0.0.57.dev16}/PKG-INFO +1 -1
  2. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Bybit/agent.py +14 -12
  3. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16/xync_client.egg-info}/PKG-INFO +1 -1
  4. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/.env.sample +0 -0
  5. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/.gitignore +0 -0
  6. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/.pre-commit-config.yaml +0 -0
  7. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/README.md +0 -0
  8. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/makefile +0 -0
  9. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/pyproject.toml +0 -0
  10. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/setup.cfg +0 -0
  11. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/tests/TestAgent.py +0 -0
  12. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/tests/TestAsset.py +0 -0
  13. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/tests/TestEx.py +0 -0
  14. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/tests/TestOrder.py +0 -0
  15. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/tests/_todo_refact/Binance/test_binance.py +0 -0
  16. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/tests/_todo_refact/Bybit/test_bybit.py +0 -0
  17. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/tests/_todo_refact/Bybit/test_bybit_p2p.py +0 -0
  18. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/tests/_todo_refact/Gate/test_gate.py +0 -0
  19. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/tests/_todo_refact/Htx/test_htx_p2p.py +0 -0
  20. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/tests/_todo_refact/Wallet/test_agent.py +0 -0
  21. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/tests/_todo_refact/Wallet/test_ex.py +0 -0
  22. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/tests/_todo_refact/__init__.py +0 -0
  23. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/tests/_todo_refact/_test_ex.py +0 -0
  24. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Abc/Agent.py +0 -0
  25. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Abc/Asset.py +0 -0
  26. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Abc/Auth.py +0 -0
  27. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Abc/BaseTest.py +0 -0
  28. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Abc/Ex.py +0 -0
  29. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Abc/InAgent.py +0 -0
  30. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Abc/Order.py +0 -0
  31. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Abc/xtype.py +0 -0
  32. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Binance/__init__.py +0 -0
  33. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Binance/binance_async.py +0 -0
  34. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Binance/earn_api.py +0 -0
  35. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Binance/etype/ad.py +0 -0
  36. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Binance/etype/pm.py +0 -0
  37. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Binance/ex.py +0 -0
  38. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Binance/exceptions.py +0 -0
  39. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Binance/sapi.py +0 -0
  40. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Binance/web_c2c.py +0 -0
  41. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/BingX/__init__.py +0 -0
  42. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/BingX/agent.py +0 -0
  43. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/BingX/base.py +0 -0
  44. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/BingX/etype/ad.py +0 -0
  45. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/BingX/etype/pm.py +0 -0
  46. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/BingX/ex.py +0 -0
  47. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/BingX/req.mjs +0 -0
  48. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/BingX/sign.js +0 -0
  49. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/BitGet/__init__.py +0 -0
  50. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/BitGet/agent.py +0 -0
  51. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/BitGet/etype/ad.py +0 -0
  52. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/BitGet/ex.py +0 -0
  53. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/BitPapa/ex.py +0 -0
  54. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Bybit/InAgent.py +0 -0
  55. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Bybit/etype/ad.py +0 -0
  56. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Bybit/etype/cred.py +0 -0
  57. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Bybit/etype/order.py +0 -0
  58. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Bybit/ex.py +0 -0
  59. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Bybit/order.py +0 -0
  60. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Bybit/web_earn.py +0 -0
  61. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Bybit/web_p2p.py +0 -0
  62. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Bybit/ws.py +0 -0
  63. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Gate/etype/ad.py +0 -0
  64. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Gate/ex.py +0 -0
  65. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Gate/premarket.py +0 -0
  66. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Gmail/__init__.py +0 -0
  67. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Htx/agent.py +0 -0
  68. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Htx/earn.py +0 -0
  69. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Htx/etype/__init__.py +0 -0
  70. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Htx/etype/ad.py +0 -0
  71. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Htx/etype/cred.py +0 -0
  72. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Htx/etype/pm.py +0 -0
  73. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Htx/etype/test.py +0 -0
  74. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Htx/ex.py +0 -0
  75. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/KuCoin/etype/ad.py +0 -0
  76. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/KuCoin/etype/pm.py +0 -0
  77. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/KuCoin/ex.py +0 -0
  78. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/KuCoin/web.py +0 -0
  79. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Mexc/etype/ad.py +0 -0
  80. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Mexc/etype/pm.py +0 -0
  81. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Mexc/ex.py +0 -0
  82. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Okx/etype/ad.py +0 -0
  83. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Okx/etype/pm.py +0 -0
  84. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Okx/ex.py +0 -0
  85. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Pms/.gitignore +0 -0
  86. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Pms/Alfa/__init__.py +0 -0
  87. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Pms/Alfa/state.json +0 -0
  88. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Pms/Ozon/__init__.py +0 -0
  89. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Pms/Sber/__init__.py +0 -0
  90. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Pms/Tinkoff/__init__.py +0 -0
  91. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Pms/Tinkoff/state.json +0 -0
  92. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Pms/Volet/__init__.py +0 -0
  93. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Pms/Volet/_todo_req/req.mjs +0 -0
  94. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Pms/Volet/_todo_req/req.py +0 -0
  95. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Pms/Volet/api.py +0 -0
  96. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/Pms/Volet/pl.py +0 -0
  97. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/TgWallet/agent.py +0 -0
  98. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/TgWallet/asset.py +0 -0
  99. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/TgWallet/auth.py +0 -0
  100. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/TgWallet/ex.py +0 -0
  101. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/TgWallet/inAgent.py +0 -0
  102. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/TgWallet/order.py +0 -0
  103. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/TgWallet/pyd.py +0 -0
  104. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/TgWallet/pyro.py +0 -0
  105. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/TgWallet/web.py +0 -0
  106. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/__init__.py +0 -0
  107. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/loader.py +0 -0
  108. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client/pm_unifier.py +0 -0
  109. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client.egg-info/SOURCES.txt +0 -0
  110. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client.egg-info/dependency_links.txt +0 -0
  111. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client.egg-info/requires.txt +0 -0
  112. {xync_client-0.0.57.dev14 → xync_client-0.0.57.dev16}/xync_client.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xync-client
3
- Version: 0.0.57.dev14
3
+ Version: 0.0.57.dev16
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
@@ -405,13 +405,15 @@ class AgentClient(BaseAgentClient): # Bybit client
405
405
  )
406
406
  except FailedRequestError as e:
407
407
  if e.status_code == 10000:
408
- await sleep(1, await self.get_api_orders(page, begin_time, end_time, status, side, token_id))
408
+ await sleep(9)
409
+ await self.get_api_orders(page, begin_time, end_time, status, side, token_id)
409
410
  ords = {int(o["id"]): OrderItem.model_validate(o) for o in lst["result"]["items"]}
410
411
  for oid, o in ords.items():
411
412
  fo = self.api.get_order_details(orderId=oid)
412
413
  order = OrderFull.model_validate(fo["result"])
413
- await sleep(0.5)
414
+ await sleep(1)
414
415
  ad = Ad(**self.api.get_ad_details(itemId=order.itemId)["result"])
416
+ await sleep(1)
415
417
  maker_name = o.buyerRealName, o.sellerRealName
416
418
  seller_person, _ = await Person.get_or_create(name=o.sellerRealName)
417
419
  im_maker = order.makerUserId == o.userId
@@ -452,7 +454,7 @@ class AgentClient(BaseAgentClient): # Bybit client
452
454
  crd = await models.Cred.create(
453
455
  detail=ecredex.accountNo,
454
456
  pmcur=pmcur,
455
- person=ad_db.maker.person,
457
+ person=seller_person,
456
458
  name=ecredex.realName,
457
459
  extra=extr,
458
460
  )
@@ -469,9 +471,9 @@ class AgentClient(BaseAgentClient): # Bybit client
469
471
  "amount": o.amount,
470
472
  "status": OrderStatus[Statuses(o.status).name],
471
473
  "created_at": int(o.createDate[:-3]),
472
- "payed_at": order.transferDate != "0" and int(order.transferDate[:-3]),
473
- "confirmed_at": Statuses(o.status) == Statuses.completed and int(order.updateDate[:-3]),
474
- "appealed_at": o.status == 30 and int(order.updateDate[:-3]),
474
+ "payed_at": order.transferDate != "0" and int(order.transferDate[:-3]) or None,
475
+ "confirmed_at": Statuses(o.status) == Statuses.completed and int(order.updateDate[:-3]) or None,
476
+ "appealed_at": o.status == 30 and int(order.updateDate[:-3]) or None,
475
477
  "cred_id": ecredex.paymentType and credex.cred_id or None,
476
478
  "taker": taker,
477
479
  },
@@ -479,9 +481,9 @@ class AgentClient(BaseAgentClient): # Bybit client
479
481
  ad=ad_db,
480
482
  )
481
483
  dmsgs = self.api.get_chat_messages(orderId=oid, size=200)["result"]["result"][::-1]
482
- if ad.remark != dmsgs.pop(0)["message"]:
483
- logging.exception(ad.remark)
484
484
  msgs = [Message.model_validate(m) for m in dmsgs if m["msgType"] in (1, 2, 7, 8)]
485
+ if ad.remark and ad.remark != (remark := msgs.pop(0).message):
486
+ logging.warning(f"Order{oid} Ad#{ad.id} Remark changed:\n{remark}\n|\nV\n{ad.remark}")
485
487
  msgs_db = [
486
488
  models.Msg(
487
489
  order=order_db,
@@ -611,7 +613,7 @@ class AgentClient(BaseAgentClient): # Bybit client
611
613
  _res = self.ad_upd(req)
612
614
  else:
613
615
  raise e
614
- elif ExcCode(e.status_code) == ExcCode.InsufficientAmount:
616
+ elif ExcCode(e.status_code) == ExcCode.InsufficientBalance:
615
617
  asset = await models.Asset.get(addr__actor=self.actor, addr__coin_id=coinex.coin_id)
616
618
  req.quantity = round(asset.free - (asset.freeze or 0) - (asset.lock or 0), coinex.coin.scale)
617
619
  _res = self.ad_upd(req)
@@ -750,7 +752,7 @@ class AgentClient(BaseAgentClient): # Bybit client
750
752
  await old_ad.fetch_related("cond")
751
753
  return old_ad, False
752
754
  # но это не она, значит у него есть другая объява с похожим, но чуть отличающимся текстом
753
- logging.warning(f"ad#{ad.id}-cond#{old_cid} txt updated:\n{txt}\n|\n|\nV\n{cleaned}")
755
+ logging.warning(f"ad#{ad.id}-cond#{old_cid} txt updated:\n{txt}\n|\nV\n{cleaned}")
754
756
 
755
757
  new_cond = await Cond.create(raw_txt=cleaned)
756
758
  self.all_conds[new_cond.id] = new_cond.raw_txt, {ad.userId}
@@ -877,7 +879,7 @@ def listen(data: dict):
877
879
  class ExcCode(IntEnum):
878
880
  FixPriceLimit = 912120022
879
881
  RareLimit = 912120050
880
- InsufficientAmount = 912120024
882
+ InsufficientBalance = 912120024
881
883
  Timestamp = 10002
882
884
  IP = 10010
883
885
  Quantity = 912300019
@@ -918,7 +920,7 @@ async def main():
918
920
  cl.battle(usdc, rub, True, ["volet"], 79),
919
921
  cl.take(usdt, rub, False, ceil=80.5, volume=360),
920
922
  cl.take(usdt, rub, True, ceil=80.5, volume=360),
921
- cl.get_api_orders(1),
923
+ cl.get_api_orders(14),
922
924
  )
923
925
 
924
926
  bor = BaseOrderReq(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xync-client
3
- Version: 0.0.57.dev14
3
+ Version: 0.0.57.dev16
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