xync-client 0.0.16.dev10__tar.gz → 0.0.16.dev11__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.16.dev10/xync_client.egg-info → xync_client-0.0.16.dev11}/PKG-INFO +1 -1
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/BingX/ex.py +32 -23
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11/xync_client.egg-info}/PKG-INFO +1 -1
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/.env.sample +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/.gitignore +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/.pre-commit-config.yaml +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/README.md +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/makefile +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/pyproject.toml +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/setup.cfg +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/tests/TestAgent.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/tests/TestEx.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/tests/TestOrder.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/tests/_todo_refact/Binance/test_binance.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/tests/_todo_refact/Bybit/test_bybit.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/tests/_todo_refact/Bybit/test_bybit_p2p.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/tests/_todo_refact/Gate/test_gate.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/tests/_todo_refact/Htx/test_htx_p2p.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/tests/_todo_refact/Wallet/test_agent.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/tests/_todo_refact/Wallet/test_ex.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/tests/_todo_refact/__init__.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/tests/_todo_refact/_test_ex.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Abc/Agent.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Abc/Auth.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Abc/Base.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Abc/BaseTest.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Abc/Ex.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Abc/Order.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Binance/__init__.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Binance/binance_async.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Binance/earn_api.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Binance/ex.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Binance/exceptions.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Binance/sapi.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Binance/web_c2c.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/BingX/__init__.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/BingX/base.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/BingX/req.mjs +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/BingX/sign.js +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/BitGet/__init__.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/BitGet/agent.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/BitGet/ex.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/BitGet/req.mjs +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Bybit/agent.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Bybit/ex.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Bybit/web_earn.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Bybit/web_p2p.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Gate/ex.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Gate/premarket.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Htx/agent.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Htx/earn.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Htx/ex.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/KuCoin/pub.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/KuCoin/web.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/Okx/ex.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/TgWallet/agent.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/TgWallet/auth.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/TgWallet/ex.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/TgWallet/order.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/TgWallet/pyro.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/TgWallet/web.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/__init__.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client/loader.py +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client.egg-info/SOURCES.txt +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client.egg-info/dependency_links.txt +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client.egg-info/requires.txt +0 -0
- {xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client.egg-info/top_level.txt +0 -0
|
@@ -12,19 +12,29 @@ from xync_client.loader import PG_DSN
|
|
|
12
12
|
|
|
13
13
|
class ExClient(BaseExClient, BaseBingXClient):
|
|
14
14
|
headers: dict[str, str] = {
|
|
15
|
+
'accept': 'application/json, text/plain, */*',
|
|
16
|
+
'accept-language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7',
|
|
15
17
|
"app_version": "9.0.5",
|
|
16
18
|
"device_id": "ccfb6d50-b63b-11ef-b31f-ef1f76f67c4e",
|
|
17
19
|
"lang": "ru-RU",
|
|
18
20
|
"platformid": "30",
|
|
21
|
+
'device_brand': 'Linux_Chrome_131.0.0.0',
|
|
22
|
+
'sec-ch-ua': '"Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24"',
|
|
23
|
+
'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36',
|
|
24
|
+
'x-requested-with': 'XMLHttpRequest',
|
|
19
25
|
}
|
|
20
26
|
|
|
27
|
+
async def _pms(self, cur):
|
|
28
|
+
pms = await self._get("/api/c2c/v1/advert/payment/list", params={"fiat": cur})
|
|
29
|
+
return pms["data"]
|
|
30
|
+
|
|
21
31
|
# 19: Список всех платежных методов на бирже
|
|
22
32
|
async def pms(self) -> DictOfDicts: # {pm.exid: pm}
|
|
23
33
|
curs = await self.curs()
|
|
24
34
|
pp = {}
|
|
25
35
|
for _id, cur in curs.items():
|
|
26
|
-
pms = await self.
|
|
27
|
-
[pp.update({p["id"]: {"name": p["name"], "logo": p["icon"]}}) for p in pms["
|
|
36
|
+
pms = await self._pms(cur)
|
|
37
|
+
[pp.update({p["id"]: {"name": p["name"], "logo": p["icon"]}}) for p in pms["paymentMethodList"]]
|
|
28
38
|
return pp
|
|
29
39
|
|
|
30
40
|
# 20: Список поддерживаемых валют на BingX
|
|
@@ -36,42 +46,41 @@ class ExClient(BaseExClient, BaseBingXClient):
|
|
|
36
46
|
}
|
|
37
47
|
curs = await self._get("/api/c2c/v1/common/supportCoins", params=params)
|
|
38
48
|
return {cur["id"]: cur["name"] for cur in curs["data"]["coins"]}
|
|
39
|
-
|
|
49
|
+
|
|
40
50
|
# 21: cur_pms_map на BingX
|
|
41
51
|
async def cur_pms_map(self):
|
|
42
|
-
|
|
52
|
+
|
|
43
53
|
curs = await self.curs()
|
|
44
|
-
|
|
54
|
+
pp = {}
|
|
55
|
+
for cur in curs.values():
|
|
56
|
+
pms = await self._pms(cur)
|
|
57
|
+
pp.update({cur : [p["id"] for p in pms["paymentMethodList"]]})
|
|
58
|
+
return pp
|
|
45
59
|
|
|
46
60
|
# 22: Монеты на BingX
|
|
47
61
|
async def coins(self) -> FlatDict:
|
|
48
|
-
return {1
|
|
62
|
+
return {1: "USDT"}
|
|
49
63
|
|
|
50
64
|
# 23: Список пар валюта/монет
|
|
51
|
-
async def pairs(self)
|
|
65
|
+
async def pairs(self):
|
|
52
66
|
coins = await self.coins()
|
|
53
67
|
curs = await self.curs()
|
|
54
|
-
|
|
55
|
-
return result
|
|
68
|
+
return {cur: set(coins) for cur in curs.values()}
|
|
56
69
|
|
|
57
70
|
# 24: ads
|
|
58
|
-
async def ads(self, coin_exid: str, cur_exid: str, is_sell: bool, pm_exids: list[str | int] = None)
|
|
71
|
+
async def ads(self, coin_exid: str, cur_exid: str, is_sell: bool, pm_exids: list[str | int] = None):
|
|
59
72
|
params = {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
73
|
+
'type': 1,
|
|
74
|
+
'fiat': cur_exid,
|
|
75
|
+
'asset': coin_exid,
|
|
76
|
+
'amount': '',
|
|
77
|
+
'hidePaymentInfo': '',
|
|
78
|
+
'payMethodId': pm_exids if pm_exids else '',
|
|
79
|
+
'isUserMatchCondition': 'true' if is_sell else 'false'
|
|
67
80
|
}
|
|
68
81
|
|
|
69
|
-
ads = await self._get(
|
|
70
|
-
|
|
71
|
-
params=params,
|
|
72
|
-
)
|
|
73
|
-
|
|
74
|
-
return ads
|
|
82
|
+
ads = await self._get("/api/c2c/v1/advert/list", params=params)
|
|
83
|
+
return ads['data']['dataList']
|
|
75
84
|
|
|
76
85
|
|
|
77
86
|
async def main():
|
|
File without changes
|
|
File without changes
|
|
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.16.dev10 → xync_client-0.0.16.dev11}/tests/_todo_refact/Binance/test_binance.py
RENAMED
|
File without changes
|
{xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/tests/_todo_refact/Bybit/test_bybit.py
RENAMED
|
File without changes
|
{xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/tests/_todo_refact/Bybit/test_bybit_p2p.py
RENAMED
|
File without changes
|
|
File without changes
|
{xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/tests/_todo_refact/Htx/test_htx_p2p.py
RENAMED
|
File without changes
|
{xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/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
|
{xync_client-0.0.16.dev10 → xync_client-0.0.16.dev11}/xync_client.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|