xync-client 0.0.25.dev71__tar.gz → 0.0.25.dev74__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.dev71/xync_client.egg-info → xync_client-0.0.25.dev74}/PKG-INFO +1 -1
- xync_client-0.0.25.dev74/xync_client/BitGet/etype/ad.py +79 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BitGet/ex.py +17 -3
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Gate/ex.py +3 -3
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74/xync_client.egg-info}/PKG-INFO +1 -1
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client.egg-info/SOURCES.txt +1 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/.env.sample +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/.gitignore +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/.pre-commit-config.yaml +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/README.md +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/makefile +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/pyproject.toml +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/setup.cfg +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/TestAgent.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/TestAsset.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/TestEx.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/TestOrder.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/Binance/test_binance.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/Bybit/test_bybit.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/Bybit/test_bybit_p2p.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/Gate/test_gate.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/Htx/test_htx_p2p.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/Wallet/test_agent.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/Wallet/test_ex.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/__init__.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/_test_ex.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Abc/Agent.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Abc/Asset.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Abc/AuthTrait.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Abc/Base.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Abc/BaseTest.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Abc/Ex.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Abc/InAgent.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Abc/Order.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Abc/types.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Binance/__init__.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Binance/binance_async.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Binance/earn_api.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Binance/ex.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Binance/exceptions.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Binance/sapi.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Binance/web_c2c.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BingX/__init__.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BingX/agent.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BingX/base.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BingX/etype/ad.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BingX/etype/pm.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BingX/ex.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BingX/req.mjs +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BingX/sign.js +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BitGet/__init__.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BitGet/agent.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BitGet/req.mjs +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Bybit/agent.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Bybit/ex.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Bybit/web_earn.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Bybit/web_p2p.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Gate/premarket.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Htx/agent.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Htx/earn.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Htx/etype/__init__.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Htx/etype/ad.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Htx/etype/cred.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Htx/etype/pm.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Htx/ex.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/KuCoin/etype/ad.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/KuCoin/etype/pm.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/KuCoin/ex.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/KuCoin/web.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Okx/etype/ad.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Okx/etype/pm.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Okx/ex.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/TgWallet/agent.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/TgWallet/asset.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/TgWallet/auth.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/TgWallet/ex.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/TgWallet/inAgent.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/TgWallet/order.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/TgWallet/pyd.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/TgWallet/pyro.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/TgWallet/web.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/__init__.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/loader.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/pm_unifier.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/pyro.py +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client.egg-info/dependency_links.txt +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client.egg-info/requires.txt +0 -0
- {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
from typing import List, Optional
|
|
2
|
+
from pydantic import BaseModel, Field
|
|
3
|
+
from xync_schema.types import BaseAd
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class PaymethodDetail(BaseModel):
|
|
7
|
+
name: str
|
|
8
|
+
required: int
|
|
9
|
+
type: str
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
class PaymethodInfo(BaseModel):
|
|
13
|
+
colorValue: str
|
|
14
|
+
iconUrl: str
|
|
15
|
+
isModifyKyc: int
|
|
16
|
+
paymethodId: str
|
|
17
|
+
paymethodInfo: List[PaymethodDetail]
|
|
18
|
+
paymethodName: str
|
|
19
|
+
paymethodNameHandle: bool
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
class Ad(BaseAd):
|
|
23
|
+
exid: int | str | None = Field(alias="id")
|
|
24
|
+
adEditorTime: str
|
|
25
|
+
adNo: str
|
|
26
|
+
adType: int
|
|
27
|
+
advImages: List[str]
|
|
28
|
+
advertiseIsEvent: int
|
|
29
|
+
allowMerchantPlace: int
|
|
30
|
+
allowPlace: int
|
|
31
|
+
amount: str
|
|
32
|
+
avgTime: int
|
|
33
|
+
businessCertifiedList: List
|
|
34
|
+
businessCertifiedResp: Optional[None]
|
|
35
|
+
cancellPlaceOrderTime: int
|
|
36
|
+
certifiedMerchant: int
|
|
37
|
+
coinCode: str
|
|
38
|
+
coinPrecision: int
|
|
39
|
+
countryList: List
|
|
40
|
+
createTime: str
|
|
41
|
+
customizeState: int
|
|
42
|
+
delAdv: int
|
|
43
|
+
editAmount: str
|
|
44
|
+
encryptUserId: str
|
|
45
|
+
fiatCode: str
|
|
46
|
+
fiatPrecision: int
|
|
47
|
+
fiatSymbol: str
|
|
48
|
+
floatValue: str
|
|
49
|
+
fundState: bool
|
|
50
|
+
goodEvaluationRate: str
|
|
51
|
+
headColor: str
|
|
52
|
+
hideFlag: int
|
|
53
|
+
iconUrl: str
|
|
54
|
+
lastAmount: str
|
|
55
|
+
limitPrice: str
|
|
56
|
+
maxAmount: str
|
|
57
|
+
maxCompleteDefault: int
|
|
58
|
+
minAmount: str
|
|
59
|
+
minCompleteDefault: int
|
|
60
|
+
nickName: str
|
|
61
|
+
orderMode: str
|
|
62
|
+
payDuration: int
|
|
63
|
+
paymethodInfo: List[PaymethodInfo]
|
|
64
|
+
positionNum: str
|
|
65
|
+
price: str
|
|
66
|
+
priceType: int
|
|
67
|
+
priceValue: float
|
|
68
|
+
recentOnlineText: str
|
|
69
|
+
showOnline: bool
|
|
70
|
+
soldAmount: str
|
|
71
|
+
state: int
|
|
72
|
+
taxAmount: str
|
|
73
|
+
thirtyCompletionRate: str
|
|
74
|
+
thirtyTunoverNum: str
|
|
75
|
+
transactionTermsRespList: List
|
|
76
|
+
turnoverNum: str
|
|
77
|
+
turnoverRate: str
|
|
78
|
+
turnoverRateNum: float # Changed from int to float
|
|
79
|
+
userId: str
|
|
@@ -12,6 +12,7 @@ from xync_client.Abc.Ex import BaseExClient
|
|
|
12
12
|
from xync_client.loader import PG_DSN
|
|
13
13
|
from xync_client.Abc.Base import MapOfIdsList
|
|
14
14
|
from xync_client.Abc.types import PmEx
|
|
15
|
+
from xync_client.BitGet.etype import ad
|
|
15
16
|
|
|
16
17
|
|
|
17
18
|
class ExClient(BaseExClient):
|
|
@@ -64,19 +65,32 @@ class ExClient(BaseExClient):
|
|
|
64
65
|
pp[p["paymethodId"]] = PmEx(exid=p["paymethodId"], name=p["paymethodName"])
|
|
65
66
|
return pp
|
|
66
67
|
|
|
67
|
-
async def ads(
|
|
68
|
+
async def ads(
|
|
69
|
+
self, coin_exid: str, cur_exid: str, is_sell: bool, pm_exids: list[str | int] = None, amount: int = None
|
|
70
|
+
) -> list[ad.Ad]:
|
|
71
|
+
request_data = {
|
|
72
|
+
"side": 1 if is_sell else 2,
|
|
73
|
+
"pageNo": 1,
|
|
74
|
+
"pageSize": 10,
|
|
75
|
+
"coinCode": coin_exid,
|
|
76
|
+
"fiatCode": cur_exid,
|
|
77
|
+
"paymethodId": pm_exids or "",
|
|
78
|
+
"languageType": 6,
|
|
79
|
+
}
|
|
80
|
+
request_json = json.dumps(request_data, separators=(",", ":"))
|
|
68
81
|
p = subprocess.Popen(
|
|
69
82
|
[
|
|
70
83
|
"node",
|
|
71
84
|
dirname(__file__) + "/req.mjs",
|
|
72
85
|
"pub/adv/queryAdvList",
|
|
73
|
-
|
|
86
|
+
request_json,
|
|
74
87
|
json.dumps(self.headers, separators=(",", ":")),
|
|
75
88
|
],
|
|
76
89
|
stdout=subprocess.PIPE,
|
|
77
90
|
)
|
|
78
91
|
out = p.stdout.read().decode()
|
|
79
|
-
|
|
92
|
+
ads = json.loads(out)
|
|
93
|
+
return [ad.Ad(id=_ad["encryptUserId"], **_ad) for _ad in ads["dataList"]]
|
|
80
94
|
|
|
81
95
|
async def cur_pms_map(self) -> dict[str, list[int]]:
|
|
82
96
|
cur_pms_map: list[dict] = (await self._coin_cur_pms())["fiatInfoRespList"]
|
|
@@ -27,9 +27,9 @@ class ExClient(BaseExClient):
|
|
|
27
27
|
pattern = r"var c2cData = (\{.*?\})\s+var transLang"
|
|
28
28
|
match = re.search(pattern, strng.replace(",}", "}").replace(",]", "]"), re.DOTALL)
|
|
29
29
|
res = match.group(1)
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
)
|
|
30
|
+
with open("res.js", "w") as file:
|
|
31
|
+
file.write(f"const lang_string = a => a;console.log(JSON.stringify({res}))")
|
|
32
|
+
p = subprocess.Popen(["node", "res.js"], stdout=subprocess.PIPE)
|
|
33
33
|
out = p.stdout.read().decode()
|
|
34
34
|
return loads(out)
|
|
35
35
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/Binance/test_binance.py
RENAMED
|
File without changes
|
{xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/Bybit/test_bybit.py
RENAMED
|
File without changes
|
{xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/Bybit/test_bybit_p2p.py
RENAMED
|
File without changes
|
|
File without changes
|
{xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/Htx/test_htx_p2p.py
RENAMED
|
File without changes
|
{xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/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
|
{xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|