xync-client 0.0.115__tar.gz → 0.0.117__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.
Potentially problematic release.
This version of xync-client might be problematic. Click here for more details.
- {xync_client-0.0.115/xync_client.egg-info → xync_client-0.0.117}/PKG-INFO +1 -1
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Bybit/InAgent.py +18 -10
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Bybit/agent.py +1 -1
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Bybit/etype/order.py +3 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/Payeer/__init__.py +3 -7
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/Payeer/login.py +1 -1
- {xync_client-0.0.115 → xync_client-0.0.117/xync_client.egg-info}/PKG-INFO +1 -1
- {xync_client-0.0.115 → xync_client-0.0.117}/.env.sample +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/.gitignore +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/.pre-commit-config.yaml +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/README.md +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/__init__.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/makefile +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/pyproject.toml +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/setup.cfg +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/tests/TestAgent.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/tests/TestAsset.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/tests/TestEx.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/tests/TestOrder.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/tests/_todo_refact/Binance/test_binance.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/tests/_todo_refact/Bybit/test_bybit.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/tests/_todo_refact/Bybit/test_bybit_p2p.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/tests/_todo_refact/Gate/test_gate.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/tests/_todo_refact/Wallet/test_agent.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/tests/_todo_refact/Wallet/test_ex.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/tests/_todo_refact/__init__.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/tests/_todo_refact/_test_ex.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Abc/Agent.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Abc/Asset.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Abc/Auth.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Abc/BaseTest.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Abc/Ex.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Abc/Exception.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Abc/InAgent.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Abc/Order.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Abc/PmAgent.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Abc/xtype.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Binance/__init__.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Binance/binance_async.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Binance/earn_api.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Binance/etype/ad.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Binance/etype/pm.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Binance/ex.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Binance/exceptions.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Binance/sapi.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Binance/web_c2c.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/BingX/__init__.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/BingX/agent.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/BingX/base.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/BingX/etype/ad.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/BingX/etype/pm.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/BingX/ex.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/BingX/req.mjs +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/BingX/sign.js +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/BitGet/__init__.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/BitGet/agent.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/BitGet/etype/ad.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/BitGet/ex.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/BitPapa/ex.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Bybit/etype/ad.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Bybit/etype/cred.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Bybit/ex.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Bybit/order.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Bybit/web_earn.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Bybit/web_p2p.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Bybit/ws.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Gate/etype/ad.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Gate/ex.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Gate/premarket.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Gmail/__init__.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Htx/agent.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Htx/earn.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Htx/etype/__init__.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Htx/etype/ad.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Htx/etype/cred.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Htx/etype/pm.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Htx/etype/test.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Htx/ex.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/KuCoin/etype/ad.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/KuCoin/etype/pm.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/KuCoin/ex.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/KuCoin/web.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Mexc/etype/ad.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Mexc/etype/pm.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Mexc/ex.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Okx/etype/ad.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Okx/etype/pm.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Okx/ex.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/.gitignore +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/Alfa/__init__.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/Alfa/state.json +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/MTS/__init__.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/Ozon/__init__.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/Payeer/.gitignore +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/Payeer/api.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/Sber/__init__.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/Sber/utils.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/Tinkoff/__init__.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/Volet/__init__.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/Volet/_todo_req/req.mjs +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/Volet/_todo_req/req.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/Volet/api.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/Volet/pl.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/Xync/__main__.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/Xync/ed.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/Pms/Yandex/__init__.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/TgWallet/agent.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/TgWallet/asset.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/TgWallet/auth.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/TgWallet/ex.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/TgWallet/inAgent.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/TgWallet/order.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/TgWallet/pyd.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/TgWallet/pyro.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/TgWallet/web.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/__init__.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/loader.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client/pm_unifier.py +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client.egg-info/SOURCES.txt +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client.egg-info/dependency_links.txt +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client.egg-info/requires.txt +0 -0
- {xync_client-0.0.115 → xync_client-0.0.117}/xync_client.egg-info/top_level.txt +0 -0
|
@@ -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
|
-
|
|
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
|
|
@@ -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
|
-
|
|
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.
|
|
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.
|
|
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")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|