xync-client 0.0.57.dev21__tar.gz → 0.0.57.dev22__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.57.dev21/xync_client.egg-info → xync_client-0.0.57.dev22}/PKG-INFO +1 -1
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Abc/Ex.py +4 -4
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Bybit/agent.py +24 -39
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22/xync_client.egg-info}/PKG-INFO +1 -1
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/.env.sample +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/.gitignore +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/.pre-commit-config.yaml +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/README.md +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/makefile +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/pyproject.toml +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/setup.cfg +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/tests/TestAgent.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/tests/TestAsset.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/tests/TestEx.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/tests/TestOrder.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/tests/_todo_refact/Binance/test_binance.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/tests/_todo_refact/Bybit/test_bybit.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/tests/_todo_refact/Bybit/test_bybit_p2p.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/tests/_todo_refact/Gate/test_gate.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/tests/_todo_refact/Htx/test_htx_p2p.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/tests/_todo_refact/Wallet/test_agent.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/tests/_todo_refact/Wallet/test_ex.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/tests/_todo_refact/__init__.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/tests/_todo_refact/_test_ex.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Abc/Agent.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Abc/Asset.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Abc/Auth.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Abc/BaseTest.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Abc/InAgent.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Abc/Order.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Abc/xtype.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Binance/__init__.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Binance/binance_async.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Binance/earn_api.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Binance/etype/ad.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Binance/etype/pm.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Binance/ex.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Binance/exceptions.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Binance/sapi.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Binance/web_c2c.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/BingX/__init__.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/BingX/agent.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/BingX/base.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/BingX/etype/ad.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/BingX/etype/pm.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/BingX/ex.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/BingX/req.mjs +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/BingX/sign.js +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/BitGet/__init__.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/BitGet/agent.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/BitGet/etype/ad.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/BitGet/ex.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/BitPapa/ex.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Bybit/InAgent.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Bybit/etype/ad.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Bybit/etype/cred.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Bybit/etype/order.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Bybit/ex.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Bybit/order.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Bybit/web_earn.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Bybit/web_p2p.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Bybit/ws.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Gate/etype/ad.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Gate/ex.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Gate/premarket.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Gmail/__init__.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Htx/agent.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Htx/earn.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Htx/etype/__init__.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Htx/etype/ad.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Htx/etype/cred.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Htx/etype/pm.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Htx/etype/test.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Htx/ex.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/KuCoin/etype/ad.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/KuCoin/etype/pm.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/KuCoin/ex.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/KuCoin/web.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Mexc/etype/ad.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Mexc/etype/pm.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Mexc/ex.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Okx/etype/ad.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Okx/etype/pm.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Okx/ex.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Pms/.gitignore +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Pms/Alfa/__init__.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Pms/Alfa/state.json +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Pms/Ozon/__init__.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Pms/Sber/__init__.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Pms/Tinkoff/__init__.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Pms/Tinkoff/state.json +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Pms/Volet/__init__.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Pms/Volet/_todo_req/req.mjs +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Pms/Volet/_todo_req/req.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Pms/Volet/api.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Pms/Volet/pl.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/TgWallet/agent.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/TgWallet/asset.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/TgWallet/auth.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/TgWallet/ex.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/TgWallet/inAgent.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/TgWallet/order.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/TgWallet/pyd.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/TgWallet/pyro.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/TgWallet/web.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/__init__.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/loader.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/pm_unifier.py +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client.egg-info/SOURCES.txt +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client.egg-info/dependency_links.txt +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client.egg-info/requires.txt +0 -0
- {xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client.egg-info/top_level.txt +0 -0
|
@@ -261,13 +261,13 @@ class BaseExClient(HttpClient):
|
|
|
261
261
|
}
|
|
262
262
|
prs: tuple[dict, dict] = await self.pairs()
|
|
263
263
|
for is_sell in (0, 1):
|
|
264
|
-
|
|
264
|
+
pss: list[models.PairSide] = []
|
|
265
265
|
for cur, coinz in prs[is_sell].items():
|
|
266
266
|
for coin in coinz:
|
|
267
267
|
pair, _ = await models.Pair.get_or_create(coin=coins[coin], cur=curs[cur])
|
|
268
|
-
pairex, _ = await models.PairEx.get_or_create(pair=pair, ex=self.ex)
|
|
269
|
-
|
|
270
|
-
await models.
|
|
268
|
+
# pairex, _ = await models.PairEx.get_or_create(pair=pair, ex=self.ex) # todo: разные ли комишки на покупку и продажу?
|
|
269
|
+
pss += [models.PairSide(is_sell=is_sell, pair=pair)]
|
|
270
|
+
await models.PairSide.bulk_create(pss, ignore_conflicts=True)
|
|
271
271
|
|
|
272
272
|
# Сохранение чужого объявления (с Pm-ами) в бд
|
|
273
273
|
async def ad_pydin2db(self, ad_pydin: BaseAdIn) -> models.Ad:
|
|
@@ -19,7 +19,7 @@ from x_model import init_db
|
|
|
19
19
|
from xync_schema import models
|
|
20
20
|
from xync_schema.enums import OrderStatus
|
|
21
21
|
|
|
22
|
-
from xync_schema.models import Actor, Cond,
|
|
22
|
+
from xync_schema.models import Actor, Cond, CondSim, Pmcur, PairSide
|
|
23
23
|
|
|
24
24
|
from xync_client.Abc.Agent import BaseAgentClient
|
|
25
25
|
from xync_client.Abc.xtype import BaseOrderReq, FlatDict
|
|
@@ -653,11 +653,10 @@ class AgentClient(BaseAgentClient): # Bybit client
|
|
|
653
653
|
asset = await models.Asset.get(addr__actor=self.actor, addr__coin_id=coinex.coin_id)
|
|
654
654
|
volume = min(volume, asset.free - (asset.freeze or 0) - (asset.lock or 0))
|
|
655
655
|
volume = str(round(volume, coinex.coin.scale))
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
sell=taker_side,
|
|
656
|
+
ps = await PairSide.get(
|
|
657
|
+
is_sell=taker_side,
|
|
658
|
+
pair__coin_id=coinex.coin_id,
|
|
659
|
+
pair__cur_id=curex.cur_id,
|
|
661
660
|
)
|
|
662
661
|
while self.actor.person.user.status > 0: # todo: depends on rest asset/fiat
|
|
663
662
|
ads: list[Ad] = await self.ads(coinex, curex, taker_side, pms and list(creds.keys()))
|
|
@@ -673,7 +672,7 @@ class AgentClient(BaseAgentClient): # Bybit client
|
|
|
673
672
|
if int(ad.userId) == self.actor.exid:
|
|
674
673
|
logging.info(f"My ad {'-' if taker_side else '+'}{coinex.exid}/{curex.exid} on place#{i}")
|
|
675
674
|
continue
|
|
676
|
-
ad_db, isnew = await self.cond_upsert(ad,
|
|
675
|
+
ad_db, isnew = await self.cond_upsert(ad, ps=ps)
|
|
677
676
|
if isnew:
|
|
678
677
|
s = f"{'-' if taker_side else '+'}{ad.price}[{ad.minAmount}-{ad.maxAmount}]{coinex.exid}/{curex.exid}"
|
|
679
678
|
print(s, end=" | ", flush=True)
|
|
@@ -696,20 +695,16 @@ class AgentClient(BaseAgentClient): # Bybit client
|
|
|
696
695
|
await sleep(6)
|
|
697
696
|
|
|
698
697
|
async def cond_upsert(
|
|
699
|
-
self, ad: Ad, rname: str = None,
|
|
698
|
+
self, ad: Ad, rname: str = None, ps: PairSide = None, force: bool = False
|
|
700
699
|
) -> tuple[models.Ad, bool]:
|
|
701
700
|
sim, cid = None, None
|
|
701
|
+
ad_db = await models.Ad.get_or_none(exid=ad.id, ex=self.ex_client.ex).prefetch_related("cond")
|
|
702
702
|
# если точно такое условие уже есть в бд, ниче делать не надо
|
|
703
703
|
if not (cleaned := clean(ad.remark)) or (cid := {oc[0]: ci for ci, oc in self.all_conds.items()}.get(cleaned)):
|
|
704
|
-
|
|
705
|
-
return (
|
|
706
|
-
await models.Ad.get_or_none(exid=ad.id).prefetch_related("maker__person")
|
|
707
|
-
or await self.ad_create(ad, cid, rname, dr),
|
|
708
|
-
False,
|
|
709
|
-
)
|
|
710
|
-
return None, False
|
|
704
|
+
return (ad_db or force and await self.ad_create(ad, cid, rname, ps)), False
|
|
711
705
|
# если эта объява уже есть в бд
|
|
712
|
-
if ad_db
|
|
706
|
+
if ad_db:
|
|
707
|
+
await ad_db.fetch_related("cond__ads", "maker")
|
|
713
708
|
# у измененного условия этой объявы есть другие объявы?
|
|
714
709
|
if rest_ads := set(ad_db.cond.ads) - {ad_db}:
|
|
715
710
|
# другие объявы этого условия принадлежат другим юзерам
|
|
@@ -770,7 +765,7 @@ class AgentClient(BaseAgentClient): # Bybit client
|
|
|
770
765
|
return actor.person
|
|
771
766
|
return await models.Person.create(name=name)
|
|
772
767
|
|
|
773
|
-
async def ad_create(self, ad: Ad, cid: int, rname: str = None,
|
|
768
|
+
async def ad_create(self, ad: Ad, cid: int, rname: str = None, ps: PairSide = None) -> models.Ad:
|
|
774
769
|
act_df = {}
|
|
775
770
|
if int(ad.userId) != self.actor.exid:
|
|
776
771
|
act_df |= {"name": ad.nickName}
|
|
@@ -784,16 +779,16 @@ class AgentClient(BaseAgentClient): # Bybit client
|
|
|
784
779
|
max_fiat=ad.maxAmount,
|
|
785
780
|
cond_id=cid,
|
|
786
781
|
exid=int(ad.id),
|
|
787
|
-
|
|
788
|
-
or await
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
pairex__pair__cur__ticker=ad.currencyId,
|
|
782
|
+
pair_side=ps
|
|
783
|
+
or await PairSide.get(
|
|
784
|
+
is_sell=ad.side,
|
|
785
|
+
pair__coin__ticker=ad.tokenId,
|
|
786
|
+
pair__cur__ticker=ad.currencyId,
|
|
793
787
|
),
|
|
788
|
+
ex=self.ex_client.ex,
|
|
794
789
|
maker=actor,
|
|
795
790
|
)
|
|
796
|
-
await ad_db.
|
|
791
|
+
await ad_db.pms.add(*(await models.Pm.filter(pmexs__ex=self.ex_client.ex, pmexs__exid__in=ad.payments)))
|
|
797
792
|
return ad_db
|
|
798
793
|
|
|
799
794
|
async def sim_new(self, new_cid: int, sim: int, old_cid: int):
|
|
@@ -816,15 +811,9 @@ class AgentClient(BaseAgentClient): # Bybit client
|
|
|
816
811
|
self.cond_sims = {cs.cond_id: (cs.cond_rel_id, cs.similarity) for cs in await CondSim.all()}
|
|
817
812
|
for c, (o, s) in self.cond_sims.items():
|
|
818
813
|
self.sim_conds[o].add(c)
|
|
819
|
-
dr = await Direction.get(
|
|
820
|
-
sell=1,
|
|
821
|
-
pairex__ex=self.ex_client.ex,
|
|
822
|
-
pairex__pair__coin__ticker="USDT",
|
|
823
|
-
pairex__pair__cur__ticker="RUB",
|
|
824
|
-
)
|
|
825
814
|
for ad_db in await models.Ad.filter(direction__pairex__ex=self.ex_client.ex).prefetch_related("cond", "maker"):
|
|
826
815
|
ad = Ad(id=str(ad_db.exid), userId=str(ad_db.maker.exid), remark=ad_db.cond.raw_txt)
|
|
827
|
-
await self.cond_upsert(ad,
|
|
816
|
+
await self.cond_upsert(ad, force=True)
|
|
828
817
|
|
|
829
818
|
async def get_credexs_by_norms(self, norms: list[str], cur_id: int) -> dict[models.Pmex, models.CredEx] | None:
|
|
830
819
|
try:
|
|
@@ -909,26 +898,22 @@ async def main():
|
|
|
909
898
|
eth = await models.Coinex.get(coin__ticker="ETH", ex=cl.actor.ex).prefetch_related("coin")
|
|
910
899
|
usdc = await models.Coinex.get(coin__ticker="USDC", ex=cl.actor.ex).prefetch_related("coin")
|
|
911
900
|
rub = await models.Curex.get(cur__ticker="RUB", ex=cl.actor.ex).prefetch_related("cur")
|
|
912
|
-
# await models.Direction.get(
|
|
913
|
-
# pairex__ex=cl.actor.ex, pairex__pair__coin__ticker="USDT", pairex__pair__cur__ticker="RUB", sell=True
|
|
914
|
-
# )
|
|
915
901
|
cl.all_conds = {
|
|
916
902
|
c.id: (c.raw_txt, {str(a.maker.exid) for a in c.ads})
|
|
917
903
|
for c in await Cond.all().prefetch_related("ads__maker")
|
|
918
904
|
}
|
|
919
|
-
# await cl.set_creds()
|
|
920
905
|
# await cl.actual_cond()
|
|
921
906
|
await gather(
|
|
922
|
-
cl.battle(usdt, rub, False, ["volet"], 79.
|
|
923
|
-
cl.battle(usdt, rub, True, ["volet"], 79.
|
|
907
|
+
cl.battle(usdt, rub, False, ["volet"], 79.8), # гонка в стакане покупки - мы продаем
|
|
908
|
+
cl.battle(usdt, rub, True, ["volet"], 79.8), # гонка в стакане продажи - мы покупаем
|
|
924
909
|
cl.battle(eth, rub, False, ["volet"], 206_000),
|
|
925
910
|
cl.battle(eth, rub, True, ["volet"], 200_000),
|
|
926
911
|
cl.battle(btc, rub, False, ["volet"], 8_500_000),
|
|
927
912
|
cl.battle(btc, rub, True, ["volet"], 8_400_000),
|
|
928
913
|
cl.battle(usdc, rub, False, ["volet"], 80.5),
|
|
929
914
|
cl.battle(usdc, rub, True, ["volet"], 79),
|
|
930
|
-
cl.take(usdt, rub, False, ceil=80
|
|
931
|
-
cl.take(usdt, rub, True, ceil=80
|
|
915
|
+
cl.take(usdt, rub, False, ceil=80, volume=360),
|
|
916
|
+
cl.take(usdt, rub, True, ceil=80, volume=360),
|
|
932
917
|
# cl.get_api_orders(), # 10, 1738357200000, 1742504399999
|
|
933
918
|
)
|
|
934
919
|
|
|
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.57.dev21 → xync_client-0.0.57.dev22}/tests/_todo_refact/Binance/test_binance.py
RENAMED
|
File without changes
|
{xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/tests/_todo_refact/Bybit/test_bybit.py
RENAMED
|
File without changes
|
{xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/tests/_todo_refact/Bybit/test_bybit_p2p.py
RENAMED
|
File without changes
|
|
File without changes
|
{xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/tests/_todo_refact/Htx/test_htx_p2p.py
RENAMED
|
File without changes
|
{xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/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
|
{xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client/Pms/Volet/_todo_req/req.mjs
RENAMED
|
File without changes
|
{xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/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
|
{xync_client-0.0.57.dev21 → xync_client-0.0.57.dev22}/xync_client.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|