xync-client 0.0.25.dev57__tar.gz → 0.0.25.dev59__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.25.dev57/xync_client.egg-info → xync_client-0.0.25.dev59}/PKG-INFO +1 -1
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BingX/etype/ad.py +1 -1
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BingX/ex.py +2 -2
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/KuCoin/ex.py +16 -24
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Okx/ex.py +12 -10
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59/xync_client.egg-info}/PKG-INFO +1 -1
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/.env.sample +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/.gitignore +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/.pre-commit-config.yaml +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/README.md +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/makefile +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/pyproject.toml +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/setup.cfg +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/TestAgent.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/TestAsset.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/TestEx.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/TestOrder.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/Binance/test_binance.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/Bybit/test_bybit.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/Bybit/test_bybit_p2p.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/Gate/test_gate.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/Htx/test_htx_p2p.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/Wallet/test_agent.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/Wallet/test_ex.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/__init__.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/_test_ex.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Abc/Agent.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Abc/Asset.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Abc/AuthTrait.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Abc/Base.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Abc/BaseTest.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Abc/Ex.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Abc/InAgent.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Abc/Order.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Abc/types.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Binance/__init__.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Binance/binance_async.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Binance/earn_api.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Binance/ex.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Binance/exceptions.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Binance/sapi.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Binance/web_c2c.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BingX/__init__.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BingX/agent.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BingX/base.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BingX/etype/pm.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BingX/req.mjs +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BingX/sign.js +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BitGet/__init__.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BitGet/agent.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BitGet/ex.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BitGet/req.mjs +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Bybit/agent.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Bybit/ex.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Bybit/web_earn.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Bybit/web_p2p.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Gate/ex.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Gate/premarket.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Htx/agent.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Htx/earn.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Htx/etype/__init__.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Htx/etype/ad.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Htx/etype/cred.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Htx/etype/pm.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Htx/ex.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/KuCoin/etype/ad.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/KuCoin/etype/pm.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/KuCoin/web.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Okx/etype/ad.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Okx/etype/pm.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/TgWallet/agent.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/TgWallet/asset.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/TgWallet/auth.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/TgWallet/ex.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/TgWallet/inAgent.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/TgWallet/order.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/TgWallet/pyd.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/TgWallet/pyro.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/TgWallet/web.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/__init__.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/loader.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/pm_unifier.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/pyro.py +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client.egg-info/SOURCES.txt +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client.egg-info/dependency_links.txt +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client.egg-info/requires.txt +0 -0
- {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client.egg-info/top_level.txt +0 -0
|
@@ -74,7 +74,7 @@ class ExClient(BaseExClient, BaseBingXClient):
|
|
|
74
74
|
|
|
75
75
|
# 24: ads
|
|
76
76
|
async def ads(
|
|
77
|
-
|
|
77
|
+
self, coin_exid: str, cur_exid: str, is_sell: bool, pm_exids: list[str | int] = None, amount: int = None
|
|
78
78
|
) -> list[ad.Ad]:
|
|
79
79
|
params = {
|
|
80
80
|
"type": 1,
|
|
@@ -87,7 +87,7 @@ class ExClient(BaseExClient, BaseBingXClient):
|
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
ads = await self._get("/api/c2c/v1/advert/list", params=params)
|
|
90
|
-
return [ad.Ad(**_ad) for _ad in ads["data"]["dataList"]]
|
|
90
|
+
return [ad.Ad(id=_ad["orderNo"], **_ad) for _ad in ads["data"]["dataList"]]
|
|
91
91
|
|
|
92
92
|
|
|
93
93
|
async def main():
|
|
@@ -14,41 +14,39 @@ from xync_client.Abc.types import PmEx
|
|
|
14
14
|
class ExClient(BaseExClient):
|
|
15
15
|
async def _pms(self, cur) -> list[pm.PmE]:
|
|
16
16
|
params = {
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
'legal': cur,
|
|
18
|
+
'lang': 'ru_RU',
|
|
19
19
|
}
|
|
20
20
|
pms = await self._get("/_api/otc/legal/payTypes", params=params)
|
|
21
21
|
return [pm.PmE(**_pm) for _pm in pms["data"]]
|
|
22
22
|
|
|
23
23
|
async def curs(self) -> list[types.CurEx]:
|
|
24
24
|
curs = (await self._get("/_api/otc/dictionary/getData", {"type": "LEGAL"}))["data"]
|
|
25
|
-
return {
|
|
25
|
+
return {
|
|
26
|
+
cur["typeCode"]:types.CurEx(exid=cur["typeCode"], ticker=cur["typeCode"]) for cur in curs
|
|
27
|
+
}
|
|
26
28
|
|
|
27
29
|
async def pms(self, cur: models.Cur = None) -> dict[int | str, PmEx]:
|
|
28
30
|
all_pms = {}
|
|
29
31
|
for cur_obj in (await self.curs()).values():
|
|
30
32
|
pms = await self._pms(cur_obj.ticker)
|
|
31
|
-
for
|
|
32
|
-
all_pms[
|
|
33
|
+
for pm in pms:
|
|
34
|
+
all_pms[pm.payTypeCode] = PmEx(exid=pm.payTypeCode, name=pm.payTypeName)
|
|
33
35
|
return all_pms
|
|
34
36
|
|
|
35
37
|
async def cur_pms_map(self) -> MapOfIdsList:
|
|
36
|
-
return {
|
|
37
|
-
cur.exid: [pm.payTypeCode for pm in await self._pms(cur.ticker)] for cur in (await self.curs()).values()
|
|
38
|
-
}
|
|
38
|
+
return {cur.exid: [pm.payTypeCode for pm in await self._pms(cur.ticker)] for cur in (await self.curs()).values()}
|
|
39
39
|
|
|
40
40
|
async def coins(self) -> list[types.CoinEx]:
|
|
41
41
|
all_coins = {}
|
|
42
42
|
for cur in (await self.curs()).keys():
|
|
43
43
|
params = {
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
'legal': cur,
|
|
45
|
+
'lang': 'ru_RU',
|
|
46
46
|
}
|
|
47
47
|
coins = await self._get("/_api/otc/symbol/support", params=params)
|
|
48
48
|
for coin in coins["data"]:
|
|
49
|
-
all_coins[coin["currency"]] = types.CoinEx(
|
|
50
|
-
exid=coin["currency"], ticker=coin["currency"], scale=coin["currencyPrecision"]
|
|
51
|
-
)
|
|
49
|
+
all_coins[coin["currency"]] = types.CoinEx(exid=coin["currency"] ,ticker=coin["currency"], scale=coin["currencyPrecision"])
|
|
52
50
|
return all_coins
|
|
53
51
|
|
|
54
52
|
async def pairs(self) -> MapOfIdsList:
|
|
@@ -58,24 +56,18 @@ class ExClient(BaseExClient):
|
|
|
58
56
|
return s, s
|
|
59
57
|
|
|
60
58
|
async def ads(
|
|
61
|
-
|
|
59
|
+
self, coin_exid: str, cur_exid: str, is_sell: bool, pm_exids: list[str | int] = None, amount: int = None
|
|
62
60
|
) -> list[ad.Ad]:
|
|
63
61
|
pass
|
|
64
62
|
|
|
65
63
|
|
|
66
64
|
async def main():
|
|
67
65
|
_ = await init_db(PG_DSN, models, True)
|
|
68
|
-
bg = await
|
|
66
|
+
bg = await Ex.get(name="KuCoin")
|
|
69
67
|
cl = ExClient(bg)
|
|
70
|
-
await cl.curs()
|
|
71
|
-
await cl.coins()
|
|
72
|
-
await cl.
|
|
73
|
-
await cl.pairs()
|
|
74
|
-
await cl.set_coinexs()
|
|
75
|
-
await cl.set_pmcurexs()
|
|
76
|
-
await cl.ads("USDT", "THB", False)
|
|
77
|
-
# pms = await cl.pms()
|
|
78
|
-
await cl.close()
|
|
68
|
+
# await cl.curs()
|
|
69
|
+
# await cl.coins()
|
|
70
|
+
await cl.pms()
|
|
79
71
|
|
|
80
72
|
|
|
81
73
|
if __name__ == "__main__":
|
|
@@ -14,17 +14,17 @@ from xync_client.Abc.types import PmEx
|
|
|
14
14
|
class ExClient(BaseExClient):
|
|
15
15
|
async def _pms(self, cur) -> list[pm.PmE]:
|
|
16
16
|
params = {
|
|
17
|
-
"quoteCurrency":
|
|
17
|
+
"quoteCurrency": cur,
|
|
18
18
|
"needField": "false",
|
|
19
19
|
}
|
|
20
20
|
pms = await self._get("/v3/c2c/configs/receipt/templates", params=params)
|
|
21
|
-
return [pm.PmE(**_pm) for _pm in pms["data"]
|
|
21
|
+
return [pm.PmE(**_pm) for _pm in pms["data"]]
|
|
22
22
|
|
|
23
23
|
# 19: Список поддерживаемых валют тейкера
|
|
24
24
|
async def curs(self) -> dict[int, types.CurEx]: # {cur.exid: cur.ticker}
|
|
25
25
|
curs = await self._get("/v3/users/common/list/currencies")
|
|
26
26
|
return {
|
|
27
|
-
cur["displayName"]: types.CurEx(exid=cur["
|
|
27
|
+
cur["displayName"]: types.CurEx(exid=cur["displayName"], ticker=cur["displayName"], scale=cur["precision"])
|
|
28
28
|
for cur in curs["data"]
|
|
29
29
|
}
|
|
30
30
|
|
|
@@ -48,7 +48,9 @@ class ExClient(BaseExClient):
|
|
|
48
48
|
for cur in (await self.curs()).keys():
|
|
49
49
|
coins = await self._get("/v3/c2c/currency/pairs", {"type": 2, "quote": cur})
|
|
50
50
|
return {
|
|
51
|
-
coin["baseCurrency"]: types.CoinEx(
|
|
51
|
+
coin["baseCurrency"]: types.CoinEx(
|
|
52
|
+
exid=coin["baseCurrency"], ticker=coin["baseCurrency"], scale=coin["baseScale"]
|
|
53
|
+
)
|
|
52
54
|
for coin in coins["data"]
|
|
53
55
|
}
|
|
54
56
|
|
|
@@ -76,7 +78,7 @@ class ExClient(BaseExClient):
|
|
|
76
78
|
"numberPerPage": "5",
|
|
77
79
|
}
|
|
78
80
|
ads = await self._get("/v3/c2c/tradingOrders/getMarketplaceAdsPrelogin", params=params)
|
|
79
|
-
return [ad.Ads(**
|
|
81
|
+
return [ad.Ads(**a) for a in ads["data"]["sell"]]
|
|
80
82
|
|
|
81
83
|
# 42: Чужая объява по id
|
|
82
84
|
async def ad(self, ad_id: int) -> ad.Ad:
|
|
@@ -92,14 +94,14 @@ async def main():
|
|
|
92
94
|
_ = await init_db(PG_DSN, models, True)
|
|
93
95
|
bg = await models.Ex.get(name="Okx")
|
|
94
96
|
cl = ExClient(bg)
|
|
97
|
+
await cl.ads("USDT", "THB", False)
|
|
95
98
|
# curs = await cl.curs()
|
|
96
99
|
# coins = await cl.coins()
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
100
|
+
await cl.pms()
|
|
101
|
+
await cl.cur_pms_map()
|
|
102
|
+
await cl.pairs()
|
|
103
|
+
await cl.set_coinexs()
|
|
101
104
|
await cl.set_pmcurexs()
|
|
102
|
-
await cl.ads("USDT", "THB", False)
|
|
103
105
|
await cl.close()
|
|
104
106
|
|
|
105
107
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/Binance/test_binance.py
RENAMED
|
File without changes
|
{xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/Bybit/test_bybit.py
RENAMED
|
File without changes
|
{xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/Bybit/test_bybit_p2p.py
RENAMED
|
File without changes
|
|
File without changes
|
{xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/Htx/test_htx_p2p.py
RENAMED
|
File without changes
|
{xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/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
|
{xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|