xync-client 0.0.57.dev24__tar.gz → 0.0.57.dev25__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.dev24/xync_client.egg-info → xync_client-0.0.57.dev25}/PKG-INFO +1 -1
  2. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Bybit/agent.py +75 -70
  3. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25/xync_client.egg-info}/PKG-INFO +1 -1
  4. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/.env.sample +0 -0
  5. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/.gitignore +0 -0
  6. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/.pre-commit-config.yaml +0 -0
  7. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/README.md +0 -0
  8. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/makefile +0 -0
  9. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/pyproject.toml +0 -0
  10. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/setup.cfg +0 -0
  11. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/tests/TestAgent.py +0 -0
  12. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/tests/TestAsset.py +0 -0
  13. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/tests/TestEx.py +0 -0
  14. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/tests/TestOrder.py +0 -0
  15. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/tests/_todo_refact/Binance/test_binance.py +0 -0
  16. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/tests/_todo_refact/Bybit/test_bybit.py +0 -0
  17. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/tests/_todo_refact/Bybit/test_bybit_p2p.py +0 -0
  18. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/tests/_todo_refact/Gate/test_gate.py +0 -0
  19. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/tests/_todo_refact/Htx/test_htx_p2p.py +0 -0
  20. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/tests/_todo_refact/Wallet/test_agent.py +0 -0
  21. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/tests/_todo_refact/Wallet/test_ex.py +0 -0
  22. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/tests/_todo_refact/__init__.py +0 -0
  23. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/tests/_todo_refact/_test_ex.py +0 -0
  24. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Abc/Agent.py +0 -0
  25. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Abc/Asset.py +0 -0
  26. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Abc/Auth.py +0 -0
  27. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Abc/BaseTest.py +0 -0
  28. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Abc/Ex.py +0 -0
  29. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Abc/InAgent.py +0 -0
  30. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Abc/Order.py +0 -0
  31. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Abc/xtype.py +0 -0
  32. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Binance/__init__.py +0 -0
  33. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Binance/binance_async.py +0 -0
  34. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Binance/earn_api.py +0 -0
  35. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Binance/etype/ad.py +0 -0
  36. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Binance/etype/pm.py +0 -0
  37. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Binance/ex.py +0 -0
  38. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Binance/exceptions.py +0 -0
  39. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Binance/sapi.py +0 -0
  40. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Binance/web_c2c.py +0 -0
  41. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/BingX/__init__.py +0 -0
  42. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/BingX/agent.py +0 -0
  43. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/BingX/base.py +0 -0
  44. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/BingX/etype/ad.py +0 -0
  45. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/BingX/etype/pm.py +0 -0
  46. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/BingX/ex.py +0 -0
  47. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/BingX/req.mjs +0 -0
  48. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/BingX/sign.js +0 -0
  49. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/BitGet/__init__.py +0 -0
  50. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/BitGet/agent.py +0 -0
  51. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/BitGet/etype/ad.py +0 -0
  52. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/BitGet/ex.py +0 -0
  53. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/BitPapa/ex.py +0 -0
  54. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Bybit/InAgent.py +0 -0
  55. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Bybit/etype/ad.py +0 -0
  56. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Bybit/etype/cred.py +0 -0
  57. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Bybit/etype/order.py +0 -0
  58. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Bybit/ex.py +0 -0
  59. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Bybit/order.py +0 -0
  60. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Bybit/web_earn.py +0 -0
  61. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Bybit/web_p2p.py +0 -0
  62. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Bybit/ws.py +0 -0
  63. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Gate/etype/ad.py +0 -0
  64. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Gate/ex.py +0 -0
  65. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Gate/premarket.py +0 -0
  66. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Gmail/__init__.py +0 -0
  67. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Htx/agent.py +0 -0
  68. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Htx/earn.py +0 -0
  69. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Htx/etype/__init__.py +0 -0
  70. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Htx/etype/ad.py +0 -0
  71. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Htx/etype/cred.py +0 -0
  72. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Htx/etype/pm.py +0 -0
  73. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Htx/etype/test.py +0 -0
  74. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Htx/ex.py +0 -0
  75. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/KuCoin/etype/ad.py +0 -0
  76. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/KuCoin/etype/pm.py +0 -0
  77. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/KuCoin/ex.py +0 -0
  78. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/KuCoin/web.py +0 -0
  79. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Mexc/etype/ad.py +0 -0
  80. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Mexc/etype/pm.py +0 -0
  81. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Mexc/ex.py +0 -0
  82. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Okx/etype/ad.py +0 -0
  83. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Okx/etype/pm.py +0 -0
  84. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Okx/ex.py +0 -0
  85. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Pms/.gitignore +0 -0
  86. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Pms/Alfa/__init__.py +0 -0
  87. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Pms/Alfa/state.json +0 -0
  88. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Pms/Ozon/__init__.py +0 -0
  89. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Pms/Sber/__init__.py +0 -0
  90. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Pms/Tinkoff/__init__.py +0 -0
  91. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Pms/Tinkoff/state.json +0 -0
  92. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Pms/Volet/__init__.py +0 -0
  93. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Pms/Volet/_todo_req/req.mjs +0 -0
  94. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Pms/Volet/_todo_req/req.py +0 -0
  95. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Pms/Volet/api.py +0 -0
  96. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/Pms/Volet/pl.py +0 -0
  97. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/TgWallet/agent.py +0 -0
  98. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/TgWallet/asset.py +0 -0
  99. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/TgWallet/auth.py +0 -0
  100. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/TgWallet/ex.py +0 -0
  101. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/TgWallet/inAgent.py +0 -0
  102. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/TgWallet/order.py +0 -0
  103. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/TgWallet/pyd.py +0 -0
  104. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/TgWallet/pyro.py +0 -0
  105. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/TgWallet/web.py +0 -0
  106. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/__init__.py +0 -0
  107. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/loader.py +0 -0
  108. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client/pm_unifier.py +0 -0
  109. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client.egg-info/SOURCES.txt +0 -0
  110. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client.egg-info/dependency_links.txt +0 -0
  111. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/xync_client.egg-info/requires.txt +0 -0
  112. {xync_client-0.0.57.dev24 → xync_client-0.0.57.dev25}/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.dev24
3
+ Version: 0.0.57.dev25
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
@@ -397,7 +397,7 @@ class AgentClient(BaseAgentClient): # Bybit client
397
397
  # status=status, # 50 - завершено
398
398
  # tokenId=token_id,
399
399
  beginTime=begin_time,
400
- endTime=end_time,
400
+ # endTime=end_time,
401
401
  # side=side, # 1 - продажа, 0 - покупка
402
402
  )
403
403
  except FailedRequestError as e:
@@ -714,7 +714,8 @@ class AgentClient(BaseAgentClient): # Bybit client
714
714
  if rest_uids := {ra.maker_id for ra in rest_ads} - {ad_db.maker_id}:
715
715
  # создадим новое условие и присвоим его только текущей объяве
716
716
  new_cond = await Cond.create(raw_txt=cleaned)
717
- await self.sim_new(new_cond.id, get_sim(cleaned, ad_db.cond.raw_txt), ad_db.cond_id)
717
+ if sim := get_sim(cleaned, ad_db.cond.raw_txt):
718
+ await CondSim.create(cond_id=new_cond.id, similarity=sim, cond_rel_id=ad_db.cond_id)
718
719
  ad_db.cond_id = new_cond.id
719
720
  self.all_conds[ad_db.cond_id] = cleaned, {ad_db.maker.exid}
720
721
  await ad_db.save()
@@ -763,19 +764,13 @@ class AgentClient(BaseAgentClient): # Bybit client
763
764
 
764
765
  async def cond_get_max_sim(self, cid: int, txt: str, uids: set[int]) -> tuple[int | None, int | None]:
765
766
  # находим все старые тексты похожие на 90% и более
767
+ if len(txt) < 15:
768
+ return None, None
766
769
  sims: dict[int, int] = {}
767
770
  for old_cid, (old_txt, old_uids) in self.all_conds.items():
768
- if len(old_txt) < 15 or cid == old_cid or uids == old_uids:
771
+ if len(old_txt) < 15 or uids == old_uids:
769
772
  continue
770
- elif self.cond_sims.get(cid) == old_cid:
771
- continue
772
- elif self.cond_sims.get(old_cid) == cid:
773
- continue
774
- elif cid in self.rcond_sims.get(old_cid, {}):
775
- continue
776
- elif old_cid in self.rcond_sims.get(cid, {}):
777
- continue
778
- elif self.find_in_tree(cid, old_cid):
773
+ elif not self.can_add_sim(cid, old_cid):
779
774
  continue
780
775
  if sim := get_sim(txt, old_txt):
781
776
  sims[old_cid] = sim
@@ -786,6 +781,21 @@ class AgentClient(BaseAgentClient): # Bybit client
786
781
  return old_cid, sim
787
782
  return None, None
788
783
 
784
+ def can_add_sim(self, cid: int, old_cid: int) -> bool:
785
+ if cid == old_cid:
786
+ return False
787
+ elif self.cond_sims.get(cid) == old_cid:
788
+ return False
789
+ elif self.find_in_tree(cid, old_cid):
790
+ return False
791
+ elif self.cond_sims.get(old_cid) == cid:
792
+ return False
793
+ elif cid in self.rcond_sims.get(old_cid, {}):
794
+ return False
795
+ elif old_cid in self.rcond_sims.get(cid, {}):
796
+ return False
797
+ return True
798
+
789
799
  async def person_upsert(self, name: str, exid: int) -> models.Person:
790
800
  if actor := await models.Actor.get_or_none(exid=exid, ex=self.ex_client.ex).prefetch_related("person"):
791
801
  if not actor.person:
@@ -820,11 +830,6 @@ class AgentClient(BaseAgentClient): # Bybit client
820
830
  await ad_db.pms.add(*(await models.Pm.filter(pmexs__ex=self.ex_client.ex, pmexs__exid__in=ad.payments)))
821
831
  return ad_db
822
832
 
823
- async def sim_new(self, new_cid: int, sim: int, old_cid: int):
824
- if not sim:
825
- return None
826
- return await CondSim.create(cond_id=new_cid, similarity=sim, cond_rel_id=old_cid)
827
-
828
833
  async def sim_check_rels(self, cid: int, new_txt: int):
829
834
  if _old_sims := await CondSim.filter(Q(join_type="OR", cond_id=cid, cond_rel_id=cid)):
830
835
  for sim_db in _old_sims:
@@ -968,60 +973,60 @@ async def main():
968
973
  actor = (
969
974
  await models.Actor.filter(ex_id=9, agent__isnull=False).prefetch_related("ex", "agent", "person__user").first()
970
975
  )
971
- # async with FileClient(TOKEN) as b:
972
- cl: AgentClient = actor.client(FileClient(TOKEN))
973
- # await cl.ex_client.set_pmcurexs(cookies=actor.agent.auth["cookies"]) # 617 -> 639
974
- # await cl.set_creds()
975
- # await cl.ex_client.set_pairs()
976
- usdt = await models.Coinex.get(coin__ticker="USDT", ex=cl.actor.ex).prefetch_related("coin")
977
- btc = await models.Coinex.get(coin__ticker="BTC", ex=cl.actor.ex).prefetch_related("coin")
978
- eth = await models.Coinex.get(coin__ticker="ETH", ex=cl.actor.ex).prefetch_related("coin")
979
- usdc = await models.Coinex.get(coin__ticker="USDC", ex=cl.actor.ex).prefetch_related("coin")
980
- rub = await models.Curex.get(cur__ticker="RUB", ex=cl.actor.ex).prefetch_related("cur")
981
- cl.all_conds = {
982
- c.id: (c.raw_txt, {a.maker.exid for a in c.ads}) for c in await Cond.all().prefetch_related("ads__maker")
983
- }
984
- for curr, old in await CondSim.filter().values_list("cond_id", "cond_rel_id"):
985
- cl.cond_sims[curr] = old
986
- cl.rcond_sims[old] |= {curr}
987
- cl.build_tree()
988
- a = set()
989
-
990
- def check_tree(tre):
991
- for p, c in tre.items():
992
- a.add(p)
993
- check_tree(c)
994
-
995
- for pr, ch in cl.tree.items():
996
- check_tree(ch)
997
- await cl.actual_cond()
998
- await gather(
999
- cl.get_api_orders(10, 1737493200000, 1742590800000), # 10, 1738357200000, 1742504399999
1000
- cl.battle(usdt, rub, False, ["volet"], 79.8), # гонка в стакане покупки - мы продаем
1001
- cl.battle(usdt, rub, True, ["volet"], 79.8), # гонка в стакане продажи - мы покупаем
1002
- cl.battle(eth, rub, False, ["volet"], 206_000),
1003
- cl.battle(eth, rub, True, ["volet"], 200_000),
1004
- cl.battle(btc, rub, False, ["volet"], 8_500_000),
1005
- cl.battle(btc, rub, True, ["volet"], 8_400_000),
1006
- cl.battle(usdc, rub, False, ["volet"], 80.5),
1007
- cl.battle(usdc, rub, True, ["volet"], 79),
1008
- cl.take(usdt, rub, False, ceil=80, volume=360),
1009
- cl.take(usdt, rub, True, ceil=80, volume=360),
1010
- )
976
+ async with FileClient(TOKEN) as b:
977
+ cl: AgentClient = actor.client(b)
978
+ # await cl.ex_client.set_pmcurexs(cookies=actor.agent.auth["cookies"]) # 617 -> 639
979
+ # await cl.set_creds()
980
+ # await cl.ex_client.set_pairs()
981
+ usdt = await models.Coinex.get(coin__ticker="USDT", ex=cl.actor.ex).prefetch_related("coin")
982
+ btc = await models.Coinex.get(coin__ticker="BTC", ex=cl.actor.ex).prefetch_related("coin")
983
+ eth = await models.Coinex.get(coin__ticker="ETH", ex=cl.actor.ex).prefetch_related("coin")
984
+ usdc = await models.Coinex.get(coin__ticker="USDC", ex=cl.actor.ex).prefetch_related("coin")
985
+ rub = await models.Curex.get(cur__ticker="RUB", ex=cl.actor.ex).prefetch_related("cur")
986
+ cl.all_conds = {
987
+ c.id: (c.raw_txt, {a.maker.exid for a in c.ads}) for c in await Cond.all().prefetch_related("ads__maker")
988
+ }
989
+ for curr, old in await CondSim.filter().values_list("cond_id", "cond_rel_id"):
990
+ cl.cond_sims[curr] = old
991
+ cl.rcond_sims[old] |= {curr}
992
+ cl.build_tree()
993
+ a = set()
994
+
995
+ def check_tree(tre):
996
+ for p, c in tre.items():
997
+ a.add(p)
998
+ check_tree(c)
999
+
1000
+ for pr, ch in cl.tree.items():
1001
+ check_tree(ch)
1002
+ # await cl.actual_cond()
1003
+ await gather(
1004
+ cl.get_api_orders(1, 1742504400000), # 10, 1738357200000, 1742504399999
1005
+ cl.battle(usdt, rub, False, ["volet"], 79.8), # гонка в стакане покупки - мы продаем
1006
+ cl.battle(usdt, rub, True, ["volet"], 79.8), # гонка в стакане продажи - мы покупаем
1007
+ cl.battle(eth, rub, False, ["volet"], 206_000),
1008
+ cl.battle(eth, rub, True, ["volet"], 200_000),
1009
+ cl.battle(btc, rub, False, ["volet"], 8_500_000),
1010
+ cl.battle(btc, rub, True, ["volet"], 8_400_000),
1011
+ cl.battle(usdc, rub, False, ["volet"], 80.5),
1012
+ cl.battle(usdc, rub, True, ["volet"], 79),
1013
+ cl.take(usdt, rub, False, ceil=80, volume=360),
1014
+ cl.take(usdt, rub, True, ceil=80, volume=360),
1015
+ )
1011
1016
 
1012
- bor = BaseOrderReq(
1013
- ad_id="1861440060199632896",
1014
- # asset_amount=40,
1015
- fiat_amount=3000,
1016
- amount_is_fiat=True,
1017
- is_sell=False,
1018
- cur_exid=rub.exid,
1019
- coin_exid=usdt.exid,
1020
- coin_scale=usdt.coin.scale,
1021
- )
1022
- res: OrderResp = await cl.order_request(bor)
1023
- await cl.cancel_order(res.orderId)
1024
- await cl.close()
1017
+ bor = BaseOrderReq(
1018
+ ad_id="1861440060199632896",
1019
+ # asset_amount=40,
1020
+ fiat_amount=3000,
1021
+ amount_is_fiat=True,
1022
+ is_sell=False,
1023
+ cur_exid=rub.exid,
1024
+ coin_exid=usdt.exid,
1025
+ coin_scale=usdt.coin.scale,
1026
+ )
1027
+ res: OrderResp = await cl.order_request(bor)
1028
+ await cl.cancel_order(res.orderId)
1029
+ await cl.close()
1025
1030
 
1026
1031
 
1027
1032
  if __name__ == "__main__":
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xync-client
3
- Version: 0.0.57.dev24
3
+ Version: 0.0.57.dev25
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