xync-client 0.0.93.dev17__tar.gz → 0.0.93.dev23__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.
- {xync_client-0.0.93.dev17/xync_client.egg-info → xync_client-0.0.93.dev23}/PKG-INFO +1 -1
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/tests/TestEx.py +26 -15
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Bybit/InAgent.py +16 -13
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23/xync_client.egg-info}/PKG-INFO +1 -1
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/.env.sample +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/.gitignore +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/.pre-commit-config.yaml +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/README.md +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/__init__.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/index.html +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/makefile +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/pyproject.toml +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/setup.cfg +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/tests/TestAgent.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/tests/TestAsset.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/tests/TestOrder.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/tests/_todo_refact/Binance/test_binance.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/tests/_todo_refact/Bybit/test_bybit.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/tests/_todo_refact/Bybit/test_bybit_p2p.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/tests/_todo_refact/Gate/test_gate.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/tests/_todo_refact/Wallet/test_agent.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/tests/_todo_refact/Wallet/test_ex.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/tests/_todo_refact/__init__.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/tests/_todo_refact/_test_ex.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Abc/Agent.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Abc/Asset.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Abc/Auth.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Abc/BaseTest.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Abc/Ex.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Abc/Exception.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Abc/InAgent.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Abc/Order.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Abc/PmAgent.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Abc/xtype.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Binance/__init__.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Binance/binance_async.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Binance/earn_api.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Binance/etype/ad.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Binance/etype/pm.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Binance/ex.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Binance/exceptions.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Binance/sapi.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Binance/web_c2c.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/BingX/__init__.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/BingX/agent.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/BingX/base.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/BingX/etype/ad.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/BingX/etype/pm.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/BingX/ex.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/BingX/req.mjs +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/BingX/sign.js +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/BitGet/__init__.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/BitGet/agent.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/BitGet/etype/ad.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/BitGet/ex.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/BitPapa/ex.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Bybit/agent.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Bybit/etype/ad.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Bybit/etype/cred.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Bybit/etype/order.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Bybit/ex.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Bybit/order.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Bybit/web_earn.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Bybit/web_p2p.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Bybit/ws.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Gate/etype/ad.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Gate/ex.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Gate/premarket.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Gmail/__init__.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Htx/agent.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Htx/earn.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Htx/etype/__init__.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Htx/etype/ad.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Htx/etype/cred.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Htx/etype/pm.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Htx/etype/test.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Htx/ex.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/KuCoin/etype/ad.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/KuCoin/etype/pm.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/KuCoin/ex.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/KuCoin/web.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Mexc/etype/ad.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Mexc/etype/pm.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Mexc/ex.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Okx/etype/ad.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Okx/etype/pm.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Okx/ex.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/.gitignore +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Alfa/__init__.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Alfa/state.json +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/MTS/__init__.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Ozon/__init__.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Payeer/.gitignore +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Payeer/__init__.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Payeer/api.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Payeer/login.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Sber/__init__.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Sber/utils.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Tinkoff/__init__.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Volet/__init__.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Volet/_todo_req/req.mjs +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Volet/_todo_req/req.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Volet/api.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Volet/pl.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Xync/__main__.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Xync/ed.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Yandex/__init__.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/TgWallet/agent.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/TgWallet/asset.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/TgWallet/auth.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/TgWallet/ex.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/TgWallet/inAgent.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/TgWallet/order.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/TgWallet/pyd.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/TgWallet/pyro.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/TgWallet/web.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/__init__.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/loader.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/pm_unifier.py +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client.egg-info/SOURCES.txt +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client.egg-info/dependency_links.txt +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client.egg-info/requires.txt +0 -0
- {xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client.egg-info/top_level.txt +0 -0
|
@@ -7,7 +7,6 @@ from xync_schema.xtype import BaseAd
|
|
|
7
7
|
|
|
8
8
|
from xync_client.Abc.BaseTest import BaseTest
|
|
9
9
|
from xync_schema.enums import ExStatus, ExType, ExAction
|
|
10
|
-
# from xync_schema.models import Ex, ExStat, Curex, Coinex, Race, Ad
|
|
11
10
|
from xync_schema import models
|
|
12
11
|
from xync_client.Abc.Ex import BaseExClient
|
|
13
12
|
from xync_client.loader import TOKEN
|
|
@@ -17,7 +16,7 @@ from xync_client.loader import TOKEN
|
|
|
17
16
|
class TestEx(BaseTest):
|
|
18
17
|
@pytest.fixture
|
|
19
18
|
async def clients(self) -> list[HttpClient]:
|
|
20
|
-
exs = await Ex.filter(status__gt=ExStatus.plan).prefetch_related("pm_reps")
|
|
19
|
+
exs = await models.Ex.filter(status__gt=ExStatus.plan).prefetch_related("pm_reps")
|
|
21
20
|
[await ex for ex in exs if ex.type_ == ExType.tg]
|
|
22
21
|
async with FileClient(TOKEN) as b:
|
|
23
22
|
b: FileClient
|
|
@@ -113,16 +112,28 @@ class TestEx(BaseTest):
|
|
|
113
112
|
assert t.ok, "No ads"
|
|
114
113
|
logging.info(f"{client.ex.name}: {ExAction.ads.name} - ok")
|
|
115
114
|
|
|
116
|
-
async def test_race(self):
|
|
117
|
-
races = await models.Race.
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
115
|
+
async def test_race(self, clients: list[BaseExClient]):
|
|
116
|
+
races: list[models.Race] = await models.Race.filter(started=True).prefetch_related(
|
|
117
|
+
"road__ad__pair_side__pair", "road__ad__maker", "road__ad__pms"
|
|
118
|
+
)
|
|
119
|
+
ex_ids: set = {race.road.ad.maker.ex_id for race in races}
|
|
120
|
+
errors: dict[int, int] = {}
|
|
121
|
+
for client in clients:
|
|
122
|
+
if client.ex.id not in ex_ids:
|
|
123
|
+
continue
|
|
124
|
+
for race in races:
|
|
125
|
+
# получаем данные направления текущей гонки
|
|
126
|
+
coinex = await models.Coinex.get(ex=client.ex, coin_id=race.road.ad.pair_side.pair.coin_id)
|
|
127
|
+
curex = await models.Curex.get(ex=client.ex, cur_id=race.road.ad.pair_side.pair.cur_id)
|
|
128
|
+
pm_ids = [pm.id for pm in race.road.ad.pms]
|
|
129
|
+
pmex_exids = await models.Pmex.filter(ex=client.ex, pm_id__in=pm_ids).values_list("exid", flat=True)
|
|
130
|
+
# получаем объявления по этому направлению
|
|
131
|
+
ads = await client.ads(coinex.exid, curex.exid, race.road.ad.pair_side.is_sell, pmex_exids)
|
|
132
|
+
# определяем место нашего объявления в списке
|
|
133
|
+
place = [i for i, ad in enumerate(ads) if int(ad.userId) == race.road.ad.maker.exid][0]
|
|
134
|
+
if place != race.target_place:
|
|
135
|
+
errors[race.id] = place
|
|
136
|
+
if errors:
|
|
137
|
+
assert False, "Гонка " + ", ".join(f"#{rid} на {plc} месте" for rid, plc in errors.items())
|
|
138
|
+
else:
|
|
139
|
+
print("Успешно")
|
|
@@ -72,7 +72,7 @@ class InAgentClient(BaseInAgentClient):
|
|
|
72
72
|
while resp := await websocket.recv():
|
|
73
73
|
if data := json.loads(resp):
|
|
74
74
|
upd, order_db = None, None
|
|
75
|
-
logging.info("New update:")
|
|
75
|
+
logging.info(f"{datetime.now()} New update: {data.get('topic')}:{data.get('type')}")
|
|
76
76
|
match data.get("topic"):
|
|
77
77
|
case "OTC_ORDER_STATUS":
|
|
78
78
|
match data["type"]:
|
|
@@ -89,7 +89,9 @@ class InAgentClient(BaseInAgentClient):
|
|
|
89
89
|
logging.info(f"Order {order.id} created at {order.createDate}")
|
|
90
90
|
case StatusApi.wait_for_buyer:
|
|
91
91
|
if upd.side == 0: # ждем когда покупатель оплатит
|
|
92
|
-
|
|
92
|
+
if not (pmacdx := await self.get_pma_by_cdex(order)):
|
|
93
|
+
continue
|
|
94
|
+
pma, cdx = pmacdx
|
|
93
95
|
am, tid = pma.check_in(Decimal(order.amount), cdx.cred.pmcur.cur.ticker)
|
|
94
96
|
if tid and tid not in done:
|
|
95
97
|
done.add(tid)
|
|
@@ -113,14 +115,14 @@ class InAgentClient(BaseInAgentClient):
|
|
|
113
115
|
else:
|
|
114
116
|
...
|
|
115
117
|
# todo: check is always canceling
|
|
116
|
-
await order_db.update_from_dict({"status": OrderStatus.canceled}).save()
|
|
117
|
-
logging.info(f"Order {order.id} canceled at {datetime.now()}")
|
|
118
|
+
# await order_db.update_from_dict({"status": OrderStatus.canceled}).save()
|
|
119
|
+
# logging.info(f"Order {order.id} canceled at {datetime.now()}")
|
|
118
120
|
case StatusApi.appealed:
|
|
119
121
|
# todo: appealed by WHO? щас наугад стоит by_seller
|
|
120
122
|
await order_db.update_from_dict(
|
|
121
123
|
{
|
|
122
124
|
"status": OrderStatus.appealed_by_seller,
|
|
123
|
-
"appealed_at":
|
|
125
|
+
"appealed_at": int(float(order.updateDate) / 1000),
|
|
124
126
|
}
|
|
125
127
|
).save()
|
|
126
128
|
logging.info(f"Order {order.id} appealed at {order_db.appealed_at}")
|
|
@@ -131,7 +133,7 @@ class InAgentClient(BaseInAgentClient):
|
|
|
131
133
|
await order_db.update_from_dict(
|
|
132
134
|
{
|
|
133
135
|
"status": OrderStatus.completed,
|
|
134
|
-
"confirmed_at":
|
|
136
|
+
"confirmed_at": int(float(order.updateDate) / 1000),
|
|
135
137
|
}
|
|
136
138
|
).save()
|
|
137
139
|
logging.info(f"Order {order.id} completed at {order_db.confirmed_at}")
|
|
@@ -139,7 +141,7 @@ class InAgentClient(BaseInAgentClient):
|
|
|
139
141
|
await order_db.update_from_dict(
|
|
140
142
|
{
|
|
141
143
|
"status": OrderStatus.paid,
|
|
142
|
-
"payed_at":
|
|
144
|
+
"payed_at": int(float(order.transferDate) / 1000),
|
|
143
145
|
}
|
|
144
146
|
).save()
|
|
145
147
|
logging.info(f"Order {order.id} payed at {order_db.payed_at}")
|
|
@@ -158,7 +160,7 @@ class InAgentClient(BaseInAgentClient):
|
|
|
158
160
|
upd = Read.model_validate(data["data"])
|
|
159
161
|
# if upd.status not in (StatusWs.created, StatusWs.canceled, 10, StatusWs.completed):
|
|
160
162
|
if upd.orderStatus in (
|
|
161
|
-
StatusApi.
|
|
163
|
+
StatusApi.wait_for_buyer,
|
|
162
164
|
): # todo: тут приходит ордер.статус=10, хотя покупатель еще не нажал оплачено
|
|
163
165
|
order = self.agent_client.api.get_order_details(orderId=upd.orderId)["result"]
|
|
164
166
|
order = OrderFull.model_validate(order)
|
|
@@ -188,7 +190,7 @@ class InAgentClient(BaseInAgentClient):
|
|
|
188
190
|
case _:
|
|
189
191
|
logging.warning(data, "UNKNOWN TOPIC")
|
|
190
192
|
if not upd:
|
|
191
|
-
logging.
|
|
193
|
+
logging.warning(data, "NOT PROCESSED UPDATE")
|
|
192
194
|
|
|
193
195
|
async def get_pma_by_cdex(self, order: OrderFull) -> tuple[PmAgentClient, models.CredEx]:
|
|
194
196
|
cdxs = await models.CredEx.filter(
|
|
@@ -198,10 +200,11 @@ class InAgentClient(BaseInAgentClient):
|
|
|
198
200
|
).prefetch_related("cred__pmcur__cur")
|
|
199
201
|
pmas = [pma for cdx in cdxs if (pma := self.pmacs.get(cdx.cred.pmcur.pm_id))]
|
|
200
202
|
if not len(pmas):
|
|
201
|
-
logging.error(order.paymentTermList, "No pm_agents")
|
|
202
|
-
|
|
203
|
-
logging.error(order.paymentTermList, ">1 pm_agents")
|
|
204
|
-
|
|
203
|
+
logging.error(order.paymentTermList, f"No pm_agents for {order.paymentTermList[0].paymentType}")
|
|
204
|
+
elif len(pmas) > 1:
|
|
205
|
+
logging.error(order.paymentTermList, f">1 pm_agents for {cdxs[0].cred.pmcur.pm_id}")
|
|
206
|
+
else:
|
|
207
|
+
return pmas[0], cdxs[0]
|
|
205
208
|
|
|
206
209
|
@staticmethod
|
|
207
210
|
def listen(data: dict | None):
|
|
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
|
{xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/tests/_todo_refact/Binance/test_binance.py
RENAMED
|
File without changes
|
{xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/tests/_todo_refact/Bybit/test_bybit.py
RENAMED
|
File without changes
|
{xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/tests/_todo_refact/Bybit/test_bybit_p2p.py
RENAMED
|
File without changes
|
|
File without changes
|
{xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/tests/_todo_refact/Wallet/test_agent.py
RENAMED
|
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
|
{xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Volet/_todo_req/req.mjs
RENAMED
|
File without changes
|
{xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client/Pms/Volet/_todo_req/req.py
RENAMED
|
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
|
{xync_client-0.0.93.dev17 → xync_client-0.0.93.dev23}/xync_client.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|