xync-client 0.0.43.dev10__tar.gz → 0.0.43.dev11__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 (104) hide show
  1. {xync_client-0.0.43.dev10/xync_client.egg-info → xync_client-0.0.43.dev11}/PKG-INFO +1 -1
  2. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Abc/Ex.py +3 -1
  3. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Bybit/agent.py +29 -15
  4. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11/xync_client.egg-info}/PKG-INFO +1 -1
  5. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/.env.sample +0 -0
  6. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/.gitignore +0 -0
  7. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/.pre-commit-config.yaml +0 -0
  8. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/README.md +0 -0
  9. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/makefile +0 -0
  10. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/pyproject.toml +0 -0
  11. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/setup.cfg +0 -0
  12. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/tests/TestAgent.py +0 -0
  13. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/tests/TestAsset.py +0 -0
  14. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/tests/TestEx.py +0 -0
  15. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/tests/TestOrder.py +0 -0
  16. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/tests/_todo_refact/Binance/test_binance.py +0 -0
  17. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/tests/_todo_refact/Bybit/test_bybit.py +0 -0
  18. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/tests/_todo_refact/Bybit/test_bybit_p2p.py +0 -0
  19. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/tests/_todo_refact/Gate/test_gate.py +0 -0
  20. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/tests/_todo_refact/Htx/test_htx_p2p.py +0 -0
  21. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/tests/_todo_refact/Wallet/test_agent.py +0 -0
  22. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/tests/_todo_refact/Wallet/test_ex.py +0 -0
  23. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/tests/_todo_refact/__init__.py +0 -0
  24. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/tests/_todo_refact/_test_ex.py +0 -0
  25. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Abc/Agent.py +0 -0
  26. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Abc/Asset.py +0 -0
  27. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Abc/AuthTrait.py +0 -0
  28. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Abc/Base.py +0 -0
  29. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Abc/BaseTest.py +0 -0
  30. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Abc/InAgent.py +0 -0
  31. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Abc/Order.py +0 -0
  32. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Abc/types.py +0 -0
  33. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Binance/__init__.py +0 -0
  34. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Binance/binance_async.py +0 -0
  35. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Binance/earn_api.py +0 -0
  36. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Binance/etype/ad.py +0 -0
  37. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Binance/etype/pm.py +0 -0
  38. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Binance/ex.py +0 -0
  39. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Binance/exceptions.py +0 -0
  40. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Binance/sapi.py +0 -0
  41. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Binance/web_c2c.py +0 -0
  42. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/BingX/__init__.py +0 -0
  43. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/BingX/agent.py +0 -0
  44. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/BingX/base.py +0 -0
  45. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/BingX/etype/ad.py +0 -0
  46. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/BingX/etype/pm.py +0 -0
  47. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/BingX/ex.py +0 -0
  48. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/BingX/req.mjs +0 -0
  49. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/BingX/sign.js +0 -0
  50. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/BitGet/__init__.py +0 -0
  51. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/BitGet/agent.py +0 -0
  52. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/BitGet/etype/ad.py +0 -0
  53. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/BitGet/ex.py +0 -0
  54. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/BitGet/req.mjs +0 -0
  55. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/BitPapa/ex.py +0 -0
  56. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Bybit/InAgent.py +0 -0
  57. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Bybit/etype/ad.py +0 -0
  58. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Bybit/etype/cred.py +0 -0
  59. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Bybit/etype/order.py +0 -0
  60. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Bybit/ex.py +0 -0
  61. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Bybit/web_earn.py +0 -0
  62. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Bybit/web_p2p.py +0 -0
  63. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Bybit/ws.py +0 -0
  64. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Gate/etype/ad.py +0 -0
  65. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Gate/ex.py +0 -0
  66. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Gate/premarket.py +0 -0
  67. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Htx/agent.py +0 -0
  68. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Htx/earn.py +0 -0
  69. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Htx/etype/__init__.py +0 -0
  70. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Htx/etype/ad.py +0 -0
  71. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Htx/etype/cred.py +0 -0
  72. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Htx/etype/pm.py +0 -0
  73. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Htx/etype/test.py +0 -0
  74. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Htx/ex.py +0 -0
  75. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/KuCoin/etype/ad.py +0 -0
  76. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/KuCoin/etype/pm.py +0 -0
  77. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/KuCoin/ex.py +0 -0
  78. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/KuCoin/web.py +0 -0
  79. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Mexc/etype/ad.py +0 -0
  80. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Mexc/etype/pm.py +0 -0
  81. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Mexc/ex.py +0 -0
  82. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Okx/etype/ad.py +0 -0
  83. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Okx/etype/pm.py +0 -0
  84. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Okx/ex.py +0 -0
  85. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Pms/Volet/_todo_req/req.mjs +0 -0
  86. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Pms/Volet/_todo_req/req.py +0 -0
  87. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Pms/Volet/api.py +0 -0
  88. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/Pms/Volet/volet.py +0 -0
  89. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/TgWallet/agent.py +0 -0
  90. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/TgWallet/asset.py +0 -0
  91. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/TgWallet/auth.py +0 -0
  92. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/TgWallet/ex.py +0 -0
  93. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/TgWallet/inAgent.py +0 -0
  94. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/TgWallet/order.py +0 -0
  95. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/TgWallet/pyd.py +0 -0
  96. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/TgWallet/pyro.py +0 -0
  97. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/TgWallet/web.py +0 -0
  98. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/__init__.py +0 -0
  99. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/loader.py +0 -0
  100. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client/pm_unifier.py +0 -0
  101. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client.egg-info/SOURCES.txt +0 -0
  102. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client.egg-info/dependency_links.txt +0 -0
  103. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/xync_client.egg-info/requires.txt +0 -0
  104. {xync_client-0.0.43.dev10 → xync_client-0.0.43.dev11}/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.43.dev10
3
+ Version: 0.0.43.dev11
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
@@ -73,7 +73,9 @@ class BaseExClient(BaseClient):
73
73
  return []
74
74
 
75
75
  # Импорт Pm-ов (с Pmcur-, Pmex- и Pmcurex-ами) и валют (с Curex-ами) с биржи в бд
76
- async def set_pmcurexs(self):
76
+ async def set_pmcurexs(self, cookies: dict = None):
77
+ if cookies:
78
+ self.session.cookie_jar.update_cookies(cookies)
77
79
  # Curs
78
80
  cur_pyds: dict[str, CurEx] = await self.curs()
79
81
  curs: dict[int | str, models.Cur] = {
@@ -95,22 +95,33 @@ class AgentClient(BaseAgentClient): # Bybit client
95
95
 
96
96
  def creds(self) -> list[CredEpyd]:
97
97
  data = self.api.get_user_payment_types()
98
- return data["result"] if data["ret_code"] == 0 else data
98
+ if data["ret_code"] > 0:
99
+ return data
100
+ return [CredEpyd.model_validate(credex) for credex in data["result"]]
99
101
 
100
102
  async def cred_epyd2db(self, cred: CredEpyd) -> models.CredEx:
101
- if not (pmex := await models.Pmex.get_or_none(exid=cred.id, ex=self.ex_client.ex).prefetch_related("pm__curs")):
102
- raise HTTPException(f"No Pmex {cred.paymentMethod.code} on ex#{self.ex_client.ex.name}", 404)
103
- curs = cred.currencyBalance or [c.ticker for c in pmex.pm.curs]
104
- if not (pmcurs := await models.Pmcur.filter(cur__ticker__in=curs, pm_id=pmex.pm_id)):
105
- raise HTTPException(f"No Pmcur with cur#{cred.currency} and pm#{cred.paymentMethod.code}", 404)
106
- if not (person := await models.Person.get_or_none(actors__exid=cred.userId)):
107
- raise HTTPException(f"No Pmcur with cur#{cred.currency} and pm#{cred.paymentMethod.code}", 404)
108
- dct = {"pmcur_id": pmcur.id, "name": cred.name, "person_id": person.id}
109
- cred_in = models.Cred.validate(dct, False)
110
- cred_db, _ = await models.Cred.update_or_create(**cred_in.df_unq())
111
- credex_in = models.CredEx.validate({"exid": cred.id, "cred_id": cred_db.id, "ex_id": self.ex.id})
112
- credex_db, _ = await models.CredEx.update_or_create(**credex_in.df_unq())
113
- return credex_db
103
+ if cred.paymentType not in (416,):
104
+ if not (
105
+ pmex := await models.Pmex.get_or_none(exid=cred.paymentType, ex=self.ex_client.ex).prefetch_related(
106
+ "pm__curs"
107
+ )
108
+ ):
109
+ raise HTTPException(f"No Pmex {cred.paymentType} on ex#{self.ex_client.ex.name}", 404)
110
+ curs = cred.currencyBalance or {c.ticker for c in pmex.pm.curs}
111
+ if not (pmcurs := await models.Pmcur.filter(cur__ticker__in=curs, pm_id=pmex.pm_id)):
112
+ raise HTTPException(f"No Pmcur with cur#{cred.currencyBalance} and pm#{cred.paymentType}", 404)
113
+ if not (person := await models.Person.get_or_none(actors__exid=self.actor.exid)):
114
+ raise HTTPException(f"No Pmcur with cur#{cred.currencyBalance} and pm#{cred.paymentType}", 404)
115
+ dct = {
116
+ "pmcur_id": pmcurs[0].id,
117
+ "name": cred.paymentConfigVo.paymentName,
118
+ "person_id": person.id,
119
+ } # todo: WTD with multicur pms?
120
+ cred_in = models.Cred.validate(dct, False)
121
+ cred_db, _ = await models.Cred.update_or_create(**cred_in.df_unq())
122
+ credex_in = models.CredEx.validate({"exid": cred.paymentType, "cred_id": cred_db.id, "ex_id": self.ex.id})
123
+ credex_db, _ = await models.CredEx.update_or_create(**credex_in.df_unq())
124
+ return credex_db
114
125
 
115
126
  # 25: Список реквизитов моих платежных методов
116
127
  async def set_creds(self) -> list[models.CredEx]:
@@ -342,7 +353,8 @@ class AgentClient(BaseAgentClient): # Bybit client
342
353
  mad: Ad = ads[cur_plc]
343
354
  mad.price = str(float(ads[place].price) - 0.01 * (-1) ** int(is_sell))
344
355
  req = AdUpdateRequest.model_validate(mad.model_dump())
345
- self.ad_upd(req)
356
+ res = self.ad_upd(req)
357
+ print(res)
346
358
  await sleep(5)
347
359
 
348
360
 
@@ -359,6 +371,8 @@ async def main():
359
371
  coin = await models.Coin.get(ticker="USDT")
360
372
  cur = await models.Cur.get(ticker="RUB")
361
373
  volet = await models.Pm.get(norm="volet")
374
+ # await cl.ex_client.set_pmcurexs(cookies=actor.agent.auth["cookies"]) 607 -> 629
375
+ await cl.set_creds()
362
376
  await cl.battle(coin, cur, False, [volet], 1)
363
377
 
364
378
  bor = BaseOrderReq(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xync-client
3
- Version: 0.0.43.dev10
3
+ Version: 0.0.43.dev11
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