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

@@ -11,7 +11,6 @@ from decimal import Decimal
11
11
  from playwright.async_api import async_playwright
12
12
  from pyro_client.client.file import FileClient
13
13
  from tortoise.transactions import in_transaction
14
- from xync_schema.models import CredEx
15
14
 
16
15
  from xync_client.Abc.PmAgent import PmAgentClient
17
16
  from xync_schema import models
@@ -121,12 +120,18 @@ class InAgentClient(BaseInAgentClient):
121
120
  continue
122
121
  await order_db.fetch_related("ad__pair_side__pair")
123
122
  async with in_transaction():
124
- # добавляем остаток монеты
123
+ # уменьшаем остаток монеты
125
124
  ass = await models.Asset.get(
126
125
  addr__coin_id=order_db.ad.pair_side.pair.coin_id,
127
126
  addr__actor=self.agent_client.actor,
128
127
  )
129
- ass.free -= int(order_db.amount / order_db.ad.price)
128
+ coinex = await models.CoinEx.get(
129
+ coin_id=order_db.ad.pair_side.pair.coin_id,
130
+ ex=self.agent_client.ex_client.ex,
131
+ )
132
+ ass.free -= (
133
+ int(order_db.amount / order_db.ad.price) * 10**coinex.scale
134
+ )
130
135
  await ass.save(update_fields=["free"])
131
136
  # обновляем остаток валюты
132
137
  fiat = await models.Fiat.get(cred_id=order_db.cred_id)
@@ -159,6 +164,15 @@ class InAgentClient(BaseInAgentClient):
159
164
  await order_db.update_from_dict({"status": OrderStatus.canceled}).save()
160
165
  logging.info(f"Order {order.id} canceled at {datetime.now()}")
161
166
  case StatusApi.completed:
167
+ if upd.side: # я покупатель, продавец подтвердил получение
168
+ # добавляем остаток монеты
169
+ await order_db.fetch_related("ad__pair_side__pair") # todo: refact
170
+ ass = await models.Asset.get(
171
+ addr__coin_id=order_db.ad.pair_side.pair.coin_id,
172
+ addr__actor=self.agent_client.actor,
173
+ )
174
+ ass.free += order_db.quantity
175
+ await ass.save(update_fields=["free"])
162
176
  await order_db.update_from_dict(
163
177
  {
164
178
  "status": OrderStatus.completed,
@@ -267,12 +281,6 @@ class InAgentClient(BaseInAgentClient):
267
281
  order_db.status = OrderStatus.paid
268
282
  order_db.payed_at = datetime.now(timezone.utc)
269
283
  await order_db.save()
270
- # добавляем остаток монеты
271
- ass = await models.Asset.get(
272
- addr__coin_id=order_db.ad.pair_side.pair.coin_id, addr__actor=self.agent_client.actor
273
- )
274
- ass.free += int(order_db.amount / order_db.ad.price)
275
- await ass.save(update_fields=["free"])
276
284
  # отправляем деньги
277
285
  tid, img, rest_amount = await pma.send(dest=dest, amount=fmt_am, cur=cur)
278
286
  # создаем перевод в бд
@@ -299,7 +307,7 @@ class InAgentClient(BaseInAgentClient):
299
307
  )
300
308
  logging.info(f"Order {order_db.exid} PAID at {datetime.now()}: {fmt_am}!")
301
309
 
302
- async def get_pma_by_cdex(self, order: OrderFull) -> tuple[PmAgentClient | None, CredEx] | None:
310
+ async def get_pma_by_cdex(self, order: OrderFull) -> tuple[PmAgentClient | None, models.CredEx] | None:
303
311
  cdxs = await models.CredEx.filter(
304
312
  ex=self.agent_client.ex_client.ex,
305
313
  exid__in=[ptl.id for ptl in order.paymentTermList],
@@ -1141,7 +1141,7 @@ def clean(s) -> str:
1141
1141
 
1142
1142
  def step_is_need(mad, cad) -> bool:
1143
1143
  # todo: пока не решен непонятный кейс, почему то конкурент по всем параметрам слабже, но в списке ранжируется выше.
1144
- # текущая версия: recentExecuteRate округляется до целого, но на бэке его дробная часть больше
1144
+ # текущая версия: recentExecuteRate округляется до целого, но на бэке байбита его дробная часть больше
1145
1145
  return (
1146
1146
  bool(set(cad.authTag) & {"VA2", "BA"})
1147
1147
  or cad.recentExecuteRate > mad.recentExecuteRate
@@ -37,6 +37,9 @@ class StatusApi(IntEnum):
37
37
  appealed = 30
38
38
  canceled = 40
39
39
  completed = 50
40
+ hotswap_cancelled = 80
41
+ objectioning = 100
42
+ waiting_for_objection = 110
40
43
 
41
44
 
42
45
  class OrderRequest(BaseModel):
@@ -51,15 +51,11 @@ class Client(PmAgentClient):
51
51
  await page.context.add_cookies([cookie])
52
52
  sleep(0.5)
53
53
  await page.goto("https://payeer.com/en/account/send/")
54
- fiat_accounts = await page.locator(
55
- f".balance-item.balance-item--green.balance-item--{cur.lower()}"
56
- ).all_text_contents()
57
- has_amount = float(fiat_accounts[0].replace(",", "").strip())
54
+ has_amount = float(self.api.get_balance()[cur]["DOSTUPNO"])
58
55
  if float(amount) <= has_amount:
59
- sleep(0.1)
60
56
  await page.locator('input[name="param_ACCOUNT_NUMBER"]').fill(dest)
61
57
  await page.locator("select[name=curr_receive]").select_option(value=cur)
62
- sleep(0.9)
58
+ sleep(0.8)
63
59
  await page.locator('input[name="sum_receive"]').fill(str(amount))
64
60
  sleep(0.1)
65
61
  # await page.locator("div.n-form--title").first.click()
@@ -67,7 +63,7 @@ class Client(PmAgentClient):
67
63
  await page.click(".btn.n-form--btn.n-form--btn-mod")
68
64
  sleep(0.5)
69
65
  await page.click(".btn.n-form--btn.n-form--btn-mod")
70
- sleep(1.2)
66
+ sleep(1.1)
71
67
  if await page.locator(".input4").count():
72
68
  await page.locator(".input4").fill(self.agent.auth.get("master_key"))
73
69
  await page.click(".ok.button_green2")
@@ -8,7 +8,7 @@ import time
8
8
 
9
9
 
10
10
  async def login(agent: PmAgent):
11
- driver = uc.Chrome(no_sandbox=False, headless=True)
11
+ driver = uc.Chrome(no_sandbox=False, headless=False)
12
12
  wait = WebDriverWait(driver, timeout=10)
13
13
  try:
14
14
  driver.get("https://payeer.com/en/auth")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xync-client
3
- Version: 0.0.115
3
+ Version: 0.0.117
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
@@ -33,8 +33,8 @@ xync_client/BitGet/agent.py,sha256=YVs3bDY0OcEJGU7m2A8chzO6PFhWDnQQrA-E6MVkBBg,3
33
33
  xync_client/BitGet/ex.py,sha256=nAexKRkguIhq4fYP1tkIaou6oBFjjV2xwlajlJ-9DAE,3757
34
34
  xync_client/BitGet/etype/ad.py,sha256=fysSW47wGYjSOPUqY864z857AJz4gjN-nOkI1Jxd27U,1838
35
35
  xync_client/BitPapa/ex.py,sha256=U-RRB_RSOtErfRgxOZYWegZ_td_uZO37YKo3Jxchf_w,912
36
- xync_client/Bybit/InAgent.py,sha256=XmrMMNlP7VriNFllF1VvLOwdYTn8rFE0CFUCIK2leYk,21154
37
- xync_client/Bybit/agent.py,sha256=ypo2MXLP5IAjJto1r0WXu1bLYgyON7mXE0XBL95LeDg,58801
36
+ xync_client/Bybit/InAgent.py,sha256=EiP3dMN9rhDfCUSEeXPTkOKRZlhpPeMUheL14vQjG1c,22089
37
+ xync_client/Bybit/agent.py,sha256=7BOxzqTVAtzPOabwXMaUOPRF_Zi9kV6CO99lHNbWCjE,58816
38
38
  xync_client/Bybit/ex.py,sha256=DgPOmnjphcSCSsO4ZQjnIlWICNzdtKhNIpVsU93s99k,4707
39
39
  xync_client/Bybit/order.py,sha256=H4UIb8hxFGnw1hZuSbr0yZ4qeaCOIZOMc6jEst0ycBs,1713
40
40
  xync_client/Bybit/web_earn.py,sha256=qjqS10xlFc8r40IhDdPZ0LxA2dFEGbvBGXdsrUUJCMo,3019
@@ -42,7 +42,7 @@ xync_client/Bybit/web_p2p.py,sha256=sAXzK03t6jwDnz4rrvP2IzI0KxfKa7C_5GuzH1HwLuA,
42
42
  xync_client/Bybit/ws.py,sha256=OQjZHo_MiAH1dlOs3c-aUZBKyqToNTmH560udh6RYDE,1431
43
43
  xync_client/Bybit/etype/ad.py,sha256=HJOHi9KrbLQMpwEyd4oA8436QTNRqrd2HWFF-JNZGDo,8066
44
44
  xync_client/Bybit/etype/cred.py,sha256=dgFExLB4e5Wf6SqfU9SOdeooHQa84DRbTGm_OJhNw_o,1354
45
- xync_client/Bybit/etype/order.py,sha256=M9hxHCELTb2llz2c8q0QrfG-lCxuUb-Zwmag82ggXn0,8073
45
+ xync_client/Bybit/etype/order.py,sha256=ujPNZdWilPapJlu5j33j8vloSIWezAlvhJXKqddQLqE,8155
46
46
  xync_client/Gate/ex.py,sha256=1vSXctCOyZfYDojkHU6u4YSXwYTLg-e7BfAdGKvZ_UM,3727
47
47
  xync_client/Gate/premarket.py,sha256=IW-CgkmNJePJR2j_NRfULNKTePMX35XlhldqdiO76zY,2138
48
48
  xync_client/Gate/etype/ad.py,sha256=-EwtFcOWWvtE6UjaOdsuXWDTCVjAIRK0kSEsqPP4Yls,1296
@@ -71,9 +71,9 @@ xync_client/Pms/Alfa/state.json,sha256=MKE6vl-JsJO9PNCVqoQgBgYZTgYkHCas7USwl8QFt
71
71
  xync_client/Pms/MTS/__init__.py,sha256=P_E7W46IZEk8RsEgl7H1xV3JplMT5l9vYQYTYyNbyQ8,2101
72
72
  xync_client/Pms/Ozon/__init__.py,sha256=EvQZDSPv0fOT2hNCTP44nXHOIEQvP5bQf_7HVLiZc2I,4123
73
73
  xync_client/Pms/Payeer/.gitignore,sha256=sWORdRp8ROppV2CsMEDJ3M_SokrNWCf8b1hlaNs64hg,12
74
- xync_client/Pms/Payeer/__init__.py,sha256=ztnwyUStySTla3AtGNYh3TNf1cMQDiHmgjzRHaL_Z0I,6244
74
+ xync_client/Pms/Payeer/__init__.py,sha256=oW_ePLkZyplrUCJaAJuQ2Jp-oZmylw99pwVcha3LZUs,6068
75
75
  xync_client/Pms/Payeer/api.py,sha256=bb8qrlPYyWafel1VR-2nate6xBeRZAVciFJblHygfAs,549
76
- xync_client/Pms/Payeer/login.py,sha256=FQ5JoeIKE6vu75H2HAq1hFvO6-wn_quc8Op_qta60cQ,1796
76
+ xync_client/Pms/Payeer/login.py,sha256=USn7x9b8rNZiMH3rKttGEMHv1DEvbLYrQM6GNvODvUE,1797
77
77
  xync_client/Pms/Sber/__init__.py,sha256=dxQfd9ZPhFTc_C4xrwaxrV6p0SijDCLNzBeUv3oQG38,4926
78
78
  xync_client/Pms/Sber/utils.py,sha256=gIeJspwvoBbOBt-fjxwW4WDHPoL2Evs8LVufsjrFOfo,1870
79
79
  xync_client/Pms/Tinkoff/__init__.py,sha256=ZyLvBEUn-vh-85oPUUDS586AHgvx3c-mkQE3yBQtbw8,5580
@@ -94,7 +94,7 @@ xync_client/TgWallet/order.py,sha256=BOmBx5WWfJv0-_-A8DcR-Xd8utqO_VTmSqSegm0cteQ
94
94
  xync_client/TgWallet/pyd.py,sha256=Ys3E8b3RLuyQ26frWT0F0BorkNxVpxnd18tY4Gp9dik,5636
95
95
  xync_client/TgWallet/pyro.py,sha256=2K7QWdo48k4MbbgQt90gdz_HiPck69Njm4xaMjIVgoo,1440
96
96
  xync_client/TgWallet/web.py,sha256=kDcv9SKKQPe91mw1qJBpbuyKYCAmZdfdHJylHumLBVU,1608
97
- xync_client-0.0.115.dist-info/METADATA,sha256=bBr1dSe5cyvvjTisa4_SPIh6arG4lwuZXLlOR3sLUEY,990
98
- xync_client-0.0.115.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
99
- xync_client-0.0.115.dist-info/top_level.txt,sha256=bmYEVIIrD3v7yFwH-X15pEfRvzhuAdfsAZ2igvNI4O8,12
100
- xync_client-0.0.115.dist-info/RECORD,,
97
+ xync_client-0.0.117.dist-info/METADATA,sha256=dHXPl-GkgdlOhwrKfbZb3o46zCTWxS5PL2iXhqZPk3A,990
98
+ xync_client-0.0.117.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
99
+ xync_client-0.0.117.dist-info/top_level.txt,sha256=bmYEVIIrD3v7yFwH-X15pEfRvzhuAdfsAZ2igvNI4O8,12
100
+ xync_client-0.0.117.dist-info/RECORD,,