xync-client 0.0.147__py3-none-any.whl → 0.0.150__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.
- xync_client/Abc/AdLoader.py +293 -0
- xync_client/Abc/Agent.py +20 -1
- xync_client/Abc/Ex.py +11 -9
- xync_client/Bybit/agent.py +166 -400
- xync_client/Bybit/etype/ad.py +1 -1
- xync_client/Bybit/etype/cred.py +1 -0
- xync_client/Bybit/etype/order.py +6 -2
- xync_client/Mexc/agent.py +84 -0
- {xync_client-0.0.147.dist-info → xync_client-0.0.150.dist-info}/METADATA +4 -1
- {xync_client-0.0.147.dist-info → xync_client-0.0.150.dist-info}/RECORD +12 -10
- {xync_client-0.0.147.dist-info → xync_client-0.0.150.dist-info}/WHEEL +0 -0
- {xync_client-0.0.147.dist-info → xync_client-0.0.150.dist-info}/top_level.txt +0 -0
xync_client/Bybit/etype/ad.py
CHANGED
|
@@ -113,7 +113,7 @@ class Ad(BaseAd):
|
|
|
113
113
|
recommend: bool = None # for initial actualize
|
|
114
114
|
recommendTag: str = None # for initial actualize
|
|
115
115
|
remark: str = Field(serialization_alias="auto_msg")
|
|
116
|
-
side: Literal[0, 1] = None # for initial actualize
|
|
116
|
+
side: Literal[0, 1] = None # for initial actualize # 0 - покупка, 1 - продажа (для мейкера, т.е КАКАЯ объява)
|
|
117
117
|
status: Literal[10, 20, 30] # 10: online; 20: offline; 30: completed
|
|
118
118
|
symbolInfo: SymbolInfo = None # for initial actualize
|
|
119
119
|
tokenId: str = None # for initial actualize
|
xync_client/Bybit/etype/cred.py
CHANGED
xync_client/Bybit/etype/order.py
CHANGED
|
@@ -47,7 +47,11 @@ class StatusApi(IntEnum):
|
|
|
47
47
|
class TakeAdReq(BaseModel):
|
|
48
48
|
ad_id: int | str
|
|
49
49
|
amount: float
|
|
50
|
-
|
|
50
|
+
quantity: float = None
|
|
51
|
+
is_sell: bool
|
|
52
|
+
price: float
|
|
53
|
+
pm_id: int | str = None
|
|
54
|
+
cur_: str | None = None
|
|
51
55
|
|
|
52
56
|
|
|
53
57
|
class OrderRequest(BaseModel):
|
|
@@ -82,7 +86,7 @@ class PreOrderResp(BaseModel):
|
|
|
82
86
|
isOnline: bool
|
|
83
87
|
lastLogoutTime: str # timestamp(0)+0
|
|
84
88
|
payments: list[str] # list[int]
|
|
85
|
-
status: Literal[10, 20]
|
|
89
|
+
status: Literal[10, 15, 20]
|
|
86
90
|
paymentTerms: list # empty
|
|
87
91
|
paymentPeriod: Literal[15, 30, 60]
|
|
88
92
|
totalAmount: str # float .cur.scale
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
from asyncio import run
|
|
2
|
+
from uuid import uuid4
|
|
3
|
+
|
|
4
|
+
from pyro_client.client.file import FileClient
|
|
5
|
+
from xync_bot import XyncBot
|
|
6
|
+
from xync_client.Bybit.etype.order import TakeAdReq
|
|
7
|
+
|
|
8
|
+
from xync_client.loader import PAY_TOKEN, NET_TOKEN
|
|
9
|
+
from xync_schema import models
|
|
10
|
+
from xync_schema.enums import UserStatus
|
|
11
|
+
|
|
12
|
+
from xync_client.Abc.Agent import BaseAgentClient
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class AgentClient(BaseAgentClient):
|
|
16
|
+
i: int = 0
|
|
17
|
+
headers = {
|
|
18
|
+
"accept-language": "ru,en;q=0.9",
|
|
19
|
+
"language:": "ru-RU",
|
|
20
|
+
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36",
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
async def _take_ad(self, req: TakeAdReq):
|
|
24
|
+
self.i = 33 if self.i > 9998 else self.i + 2
|
|
25
|
+
hdrs = self.headers | {"trochilus-trace-id": f"{uuid4()}-{self.i:04d}"}
|
|
26
|
+
auth = {
|
|
27
|
+
"p0": "hzE/loX7MBr0j8vnx7n5qY72DCChDHOiNG/ZAXbc0BrKIiwLc7cqg0vDdK15x/qArCO1xCX2jNqmtGO0aUxa0yrspnh2xX8tJnZ1oDbvkqPjcJuKdnvehVL2rMHVXOtC0ImfcZ++zfmIXrNFchhC+u2O9LqyjiHw8F5XNtdkMVWzcgs2tNAZmZiyliHDQso3WslCuRyp0iAogxT99DdP2A5bNoqOFvcurk0+/mMFskoeGwykq7OBVAGKhHwr4jbFFURGE5DYN1tKHUtIYkDaul5b+wpLn83IEYSEhwwxfSE+cy3VvKE7xPiAOf/ptmZa9s0FyALNb8jCeTLwa8Wh4stO0qM/flL0oOHXXA+dxiQtQIDOdFqOIKoDhPrZ9nnqq0V/UyhACk4Omf7dc9ElVtbNuX4Q/bgZefAE674y+IXvBHl9ss36kVOImui2xpT0lH+sc35pR8xht5SndOTz6+oiHLIr+z850DYSVpj06i343sSjTfQxNj1bKATpRTXgOVwPTUO67hMFSFFpNLQ7Mxl5IeKEXI7dZjud1qlxIVSPJAYe6m3vomY6jm4U50C11Nh9CXC9p9TcD0e7QPfchzoSiFjzkwCxfOjAsxWzKkSpSnoaQTHO58c6RieHszMsahazVqCQ9rtLJV4kJ65lKLPegKrBY/yI4gXQs0NdvtdFjdGd5EBTC1inr3g7PeSvNZc9PzN5y/x0oC5r2KGBY4CdxqWxzAnr7Tvnl2sL8MPZ6WDcizCnK6aegfl0Kk976MOlC221ZfPutfYTuyB4d1utADE82g2X63idNtF/h6iUl9bIsAKisoNzgUz26MCzkG/K++Cm/0/Sip40znh4lmT0z6XNhA4GiXmjbkxrhUsI4M8HiVRjuNWvrdq7D2l81j5K+JYHFWOaAUQuDNx+bB4eB9KJnHX03hxkJYfhYQtxr+X1LAPITWWfb+qmFy8x4+mWP1TVTBl27j7FAqWXnCL8FeJQ4sSP7Xphj3t7Fd62RtQewiq5L/BYegJGD3c9NvQBvC2gOXMuhTIE9RcQAUdXDsKKizZ4mXpXTvcGYXwednrVwz1SaLe8WhEe54e6tSLRf5Or3pce/7epsDqrKQXDeKugo6so//SN8y7wPsd8xpGeBtUjhvrESwNcRp305pYm4f+2A4lF71a92P6PHSOQm5ruGT7qB+9uwvzXIoFY985dI8aRq7g7GbAyQ1z7LhhjJzS11xUEpekunxdAxySl6OOFcAlTjnx8FgGBl2xiP+KtTJeSVB4b07OsqoUmAS54I0Sj19Tm8WQz+FKbKZ0eReApT+gyyqFJBSRcJYIyA3dLL/fYSNfNmNUu76KGR+o3xMHTSb8V/kVHmgWs6qmE98NE1BcXWnABiHVkqZU0lU/R0b9jhuUaYXB0md0VjyY61MztgfEk6VQnWfPQT/POuic6lBf4UJ3IWolsGttYlLo9sa9mAUqLXuDeSo+mTs7nDECVyYGZK/E+BCG+eEnhmwKB8dvY500kE/0Megf4i4Ymi0GG0jjy3z8VLsjP2cnUGrQHfe8d/etqgPN0CFI7crxEFoAeo8fl9VfEyr+ug61MWt+jcFtU2wfK66A75iPHobQpZVxW1tOv72PhiKTDWjgsLifJlYmFG1Eoadq8kiSEgkldsSCEYPTSjj4anXGSVBicRiaNliyQTuDT8DOjKmv3jGgu7opv/wKQ8Lz1FZDwL6i9WJExFzebdgJn+RNRZjpjWWKH0A9c0ZTd0Xa9q9WZyxEe8bycEkf4e4jnoalL4w==",
|
|
28
|
+
"k0": "Dt/l/MGcXIAOoCeR1L1VW5vTgqRcc4qqXzXrb6O+/a/2c9pHywRAVhPZZm46Us91VyNi2zg3S6Dzpe3FiwnC/NC1zwFAfKLIcKYgnDxTHesv5jUEYghDFlDsZFzCeY6b0TJ6ZlNr7+/NOQ4Hx1gbCsOlO0BrcMJ+DlqJlR7KM0od2SBWmbmJO1Dh25H/PzKnPhzq4NDuzHGcsDMrlkqmsKFHvkF01IiPVOCMFMdOWfCy3O4HGsSu3r9b/JvhxsC8hdfOZg1JKKDtKOGaHo8Fmajqozp39akG8EKk4C27hf2qDT2zh0LLrb3ZL0Gnd0y33LJTvUbYBSfFK1b7xv0i0A==",
|
|
29
|
+
"chash": "ccef0ebde038ce0e7cb086851c51781c498a429be65ab70bf4f46671c637516e",
|
|
30
|
+
"mtoken": "9482d04a3235e3090e954d3b6a8871e1",
|
|
31
|
+
"mhash": "06cabb6939e0262495aa5d55e44dfc27",
|
|
32
|
+
}
|
|
33
|
+
data = {
|
|
34
|
+
"scene": "TRADE_BUY",
|
|
35
|
+
"quantity": req.quantity,
|
|
36
|
+
"amount": req.amount,
|
|
37
|
+
"orderId": req.ad_id,
|
|
38
|
+
"authVersion": "v2",
|
|
39
|
+
"deviceId": auth["mtoken"],
|
|
40
|
+
}
|
|
41
|
+
res = await self._post("/api/verify/second_auth/risk/scene", json=data, hdrs=hdrs)
|
|
42
|
+
data = {
|
|
43
|
+
"amount": req.amount,
|
|
44
|
+
"authVersion": "v2",
|
|
45
|
+
"orderId": req.ad_id,
|
|
46
|
+
"price": req.price,
|
|
47
|
+
"ts": int(1761155700.8372989 * 1000),
|
|
48
|
+
"userConfirmPaymentId" if req.is_sell else "userConfirmPayMethodId": req.pm_id,
|
|
49
|
+
}
|
|
50
|
+
self.i = 33 if self.i > 9999 else self.i + 1
|
|
51
|
+
hdrs = self.headers | {"trochilus-trace-id": f"{uuid4()}-{self.i:04d}"}
|
|
52
|
+
res = await self._post("/api/order/deal?mhash=" + auth["mhash"], data=auth | data, hdrs=hdrs)
|
|
53
|
+
return res["data"]
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
async def main():
|
|
57
|
+
from x_model import init_db
|
|
58
|
+
from xync_client.loader import TORM
|
|
59
|
+
|
|
60
|
+
cn = await init_db(TORM, True)
|
|
61
|
+
|
|
62
|
+
agent = (
|
|
63
|
+
await models.Agent.filter(
|
|
64
|
+
actor__ex_id=12,
|
|
65
|
+
active=True,
|
|
66
|
+
auth__isnull=False,
|
|
67
|
+
actor__person__user__status=UserStatus.ACTIVE,
|
|
68
|
+
actor__person__user__pm_agents__isnull=False,
|
|
69
|
+
)
|
|
70
|
+
.prefetch_related("actor__ex", "actor__person__user__gmail")
|
|
71
|
+
.first()
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
bbot = XyncBot(PAY_TOKEN, cn)
|
|
75
|
+
fbot = FileClient(NET_TOKEN)
|
|
76
|
+
|
|
77
|
+
cl = agent.client(fbot, bbot)
|
|
78
|
+
req = TakeAdReq(ad_id="a1574088909645125632", amount=500, pm_id=366, cur_="RUB", price=85.8, is_sell=True)
|
|
79
|
+
res = await cl.take_ad(req)
|
|
80
|
+
print(res)
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
if __name__ == "__main__":
|
|
84
|
+
run(main())
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: xync-client
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.150
|
|
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
|
|
@@ -8,6 +8,9 @@ Requires-Python: >=3.11
|
|
|
8
8
|
Requires-Dist: asynchuobi
|
|
9
9
|
Requires-Dist: bs4
|
|
10
10
|
Requires-Dist: bybit-p2p
|
|
11
|
+
Requires-Dist: google-api-python-client
|
|
12
|
+
Requires-Dist: google-auth-httplib2
|
|
13
|
+
Requires-Dist: google-auth-oauthlib
|
|
11
14
|
Requires-Dist: requests-toolbelt
|
|
12
15
|
Requires-Dist: msgspec
|
|
13
16
|
Requires-Dist: python-binance
|
|
@@ -2,11 +2,12 @@ xync_client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
|
2
2
|
xync_client/details.py,sha256=21itVPCgAtaYRR1H9J9oYudj95gafcFjExUN6QL17OI,1330
|
|
3
3
|
xync_client/loader.py,sha256=hxf8ob50DO7r_qjr2qBoO7IyjkXeHHzVQ63YjXerjoU,600
|
|
4
4
|
xync_client/pm_unifier.py,sha256=T2Xh-tvcu114P2YBI6RK_XDiaIhyq6ABMrXDuXPlx7A,6541
|
|
5
|
-
xync_client/Abc/
|
|
5
|
+
xync_client/Abc/AdLoader.py,sha256=VgT6y1b2icFSm4-pjpA2H5WUXjlRf7acBxBR9t9Tips,13701
|
|
6
|
+
xync_client/Abc/Agent.py,sha256=IiDjtm5UckYIr6HTPEvSq9b_hbWjR8GCsfYlwthgJ9s,6591
|
|
6
7
|
xync_client/Abc/Asset.py,sha256=hlgyFaU9byr2N2r8Heh-_ICx49SKuKxfRTUA4yQWmEw,454
|
|
7
8
|
xync_client/Abc/Auth.py,sha256=OPQXN7_XYQZP9431ylFksd6JDusbKG8N_1g6CXTZ6yY,1495
|
|
8
9
|
xync_client/Abc/BaseTest.py,sha256=vaAs5Z4HYV7k_C3zQz6JKO75s2hXtVbBI3-0Srkzv5Q,2388
|
|
9
|
-
xync_client/Abc/Ex.py,sha256=
|
|
10
|
+
xync_client/Abc/Ex.py,sha256=6i78hduLVULyaTYlKbu7hsSrCIWVGrFB0HMll0TeSxM,13091
|
|
10
11
|
xync_client/Abc/Exception.py,sha256=Sts7RpP370NBdjaH_cyXDdHtjge8zXNUGWCrKw49Zyk,482
|
|
11
12
|
xync_client/Abc/HasAbotUid.py,sha256=LsTHHjMHBauCwJoqgDa9Lx4R6xsDOHfsN4jM539Bpqg,279
|
|
12
13
|
xync_client/Abc/InAgent.py,sha256=XLf5czbxxEimsIIe653buoP7OsWZD6mc2w37q4TkNd0,703
|
|
@@ -36,15 +37,15 @@ xync_client/BitGet/ex.py,sha256=uEvvXuLaJv8o8BFi0bMA3XyBuTfVDWagAjLOHZl-xlE,3765
|
|
|
36
37
|
xync_client/BitGet/etype/ad.py,sha256=fysSW47wGYjSOPUqY864z857AJz4gjN-nOkI1Jxd27U,1838
|
|
37
38
|
xync_client/BitPapa/ex.py,sha256=U-RRB_RSOtErfRgxOZYWegZ_td_uZO37YKo3Jxchf_w,912
|
|
38
39
|
xync_client/Bybit/InAgent.py,sha256=1Y4ZyxqAY8xbAflku48fJjjlSs4pOz2mFFJSO9iWg8w,26405
|
|
39
|
-
xync_client/Bybit/agent.py,sha256=
|
|
40
|
+
xync_client/Bybit/agent.py,sha256=gejZk59WhhBOPPdzmGk2UIoNyKj-bfsJnz18jCa2Pto,53407
|
|
40
41
|
xync_client/Bybit/ex.py,sha256=3oARvReBoDs90FzQY31-L-q_YU-TIRbvWB7z4lwESsA,4715
|
|
41
42
|
xync_client/Bybit/order.py,sha256=H4UIb8hxFGnw1hZuSbr0yZ4qeaCOIZOMc6jEst0ycBs,1713
|
|
42
43
|
xync_client/Bybit/web_earn.py,sha256=qjqS10xlFc8r40IhDdPZ0LxA2dFEGbvBGXdsrUUJCMo,3019
|
|
43
44
|
xync_client/Bybit/web_p2p.py,sha256=sAXzK03t6jwDnz4rrvP2IzI0KxfKa7C_5GuzH1HwLuA,11768
|
|
44
45
|
xync_client/Bybit/ws.py,sha256=OQjZHo_MiAH1dlOs3c-aUZBKyqToNTmH560udh6RYDE,1431
|
|
45
|
-
xync_client/Bybit/etype/ad.py,sha256=
|
|
46
|
-
xync_client/Bybit/etype/cred.py,sha256=
|
|
47
|
-
xync_client/Bybit/etype/order.py,sha256=
|
|
46
|
+
xync_client/Bybit/etype/ad.py,sha256=pCD0I9SL4Paaegs85fHGtvZ-7Cm917AQXYel0k1MbY0,8065
|
|
47
|
+
xync_client/Bybit/etype/cred.py,sha256=qDQUsMqLV4XtXKYWZV4f805kLDf7AdcPYscHRA-IMBo,1386
|
|
48
|
+
xync_client/Bybit/etype/order.py,sha256=EuBZPS_mkGgoEF9kSne3g-BpopBD6io8XPs5Uxbyx_U,8970
|
|
48
49
|
xync_client/Gate/ex.py,sha256=QbhB3u7TWnvVGD-AknB2nay6KZjEXQ-1JT9UacX4sWI,3735
|
|
49
50
|
xync_client/Gate/premarket.py,sha256=IW-CgkmNJePJR2j_NRfULNKTePMX35XlhldqdiO76zY,2138
|
|
50
51
|
xync_client/Gate/etype/ad.py,sha256=-EwtFcOWWvtE6UjaOdsuXWDTCVjAIRK0kSEsqPP4Yls,1296
|
|
@@ -61,6 +62,7 @@ xync_client/KuCoin/ex.py,sha256=w-6-aedlC1mYf8LShMv6pOrQzqMR9E6yIyXGUHQP888,3237
|
|
|
61
62
|
xync_client/KuCoin/web.py,sha256=--OHS0Z29xjfNUjdTL7K0EDmU4dwej95OJ8Sv4PsxLI,920
|
|
62
63
|
xync_client/KuCoin/etype/ad.py,sha256=MTx90Qo2xFKvfgIr4_qMowjwO23HVpFCD6J7INNFDuQ,1223
|
|
63
64
|
xync_client/KuCoin/etype/pm.py,sha256=S50S5fyY5YeWlcPwO66o-GsPcdqgoeXuxvmEIy6Zqvs,130
|
|
65
|
+
xync_client/Mexc/agent.py,sha256=htJm-FSrKGJ0i3E169Ji901yxUItI6QtjalgRqHR3rA,4905
|
|
64
66
|
xync_client/Mexc/ex.py,sha256=jpITGa2GTeYayMVStQOomBW-P0YQoXjKExKZi_kS-2A,4295
|
|
65
67
|
xync_client/Mexc/etype/ad.py,sha256=GUgvylx_z64CXNcw0YejUQJHg9F59eRo5v0zU7DRrAM,1434
|
|
66
68
|
xync_client/Mexc/etype/pm.py,sha256=m5kCoMx9IEKUPB-z7YwwymQhASkv2npC4-Z_ePYeeRY,453
|
|
@@ -96,7 +98,7 @@ xync_client/TgWallet/order.py,sha256=BOmBx5WWfJv0-_-A8DcR-Xd8utqO_VTmSqSegm0cteQ
|
|
|
96
98
|
xync_client/TgWallet/pyd.py,sha256=Ys3E8b3RLuyQ26frWT0F0BorkNxVpxnd18tY4Gp9dik,5636
|
|
97
99
|
xync_client/TgWallet/pyro.py,sha256=2K7QWdo48k4MbbgQt90gdz_HiPck69Njm4xaMjIVgoo,1440
|
|
98
100
|
xync_client/TgWallet/web.py,sha256=kDcv9SKKQPe91mw1qJBpbuyKYCAmZdfdHJylHumLBVU,1608
|
|
99
|
-
xync_client-0.0.
|
|
100
|
-
xync_client-0.0.
|
|
101
|
-
xync_client-0.0.
|
|
102
|
-
xync_client-0.0.
|
|
101
|
+
xync_client-0.0.150.dist-info/METADATA,sha256=MYF6WFaa4ISVIDcRTVfwr4fLGEWSmFz-ZnqLbGOH6DI,1149
|
|
102
|
+
xync_client-0.0.150.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
103
|
+
xync_client-0.0.150.dist-info/top_level.txt,sha256=bmYEVIIrD3v7yFwH-X15pEfRvzhuAdfsAZ2igvNI4O8,12
|
|
104
|
+
xync_client-0.0.150.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|