xync-client 0.0.11.dev10__tar.gz → 0.0.11.dev12__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.11.dev10/xync_client.egg-info → xync_client-0.0.11.dev12}/PKG-INFO +2 -2
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/pyproject.toml +1 -1
- xync_client-0.0.11.dev12/xync_client/BingX/base.py +20 -0
- xync_client-0.0.11.dev12/xync_client/BingX/ex.py +61 -0
- xync_client-0.0.11.dev12/xync_client/BingX/req.mjs +14 -0
- xync_client-0.0.11.dev12/xync_client/BingX/sign.js +3368 -0
- xync_client-0.0.11.dev12/xync_client/BingX/test/main.py +39 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/BitGet/ex.py +2 -1
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12/xync_client.egg-info}/PKG-INFO +2 -2
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client.egg-info/SOURCES.txt +3 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client.egg-info/requires.txt +1 -1
- xync_client-0.0.11.dev10/xync_client/BingX/ex.py +0 -66
- xync_client-0.0.11.dev10/xync_client/BingX/test/main.py +0 -22
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/.env.sample +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/.gitignore +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/.pre-commit-config.yaml +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/README.md +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/makefile +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/setup.cfg +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/tests/Binance/test_binance.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/tests/Bybit/test_bybit.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/tests/Bybit/test_bybit_p2p.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/tests/Gate/test_gate.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/tests/Htx/test_htx_p2p.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/tests/__init__.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/tests/test_ex.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Abc/Agent.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Abc/Auth.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Abc/Base.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Abc/Ex.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Abc/Order.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/AbcTest/AgentTest.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/AbcTest/BaseTest.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/AbcTest/ExTest.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/AbcTest/OrderTest.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Binance/__init__.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Binance/binance_async.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Binance/earn_api.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Binance/ex.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Binance/exceptions.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Binance/sapi.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Binance/web_c2c.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/BitGet/__init__.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/BitGet/agent.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/BitGet/req.mjs +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Bybit/ex.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Bybit/web_earn.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Bybit/web_p2p.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Gate/premarket.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Gate/pub.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Htx/agent.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Htx/earn.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Htx/ex.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/KuCoin/pub.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/KuCoin/web.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/Okx/ex.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/TgWallet/agent.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/TgWallet/auth.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/TgWallet/ex.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/TgWallet/order.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/TgWallet/pyro.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/TgWallet/web.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/__init__.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client/loader.py +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client.egg-info/dependency_links.txt +0 -0
- {xync_client-0.0.11.dev10 → xync_client-0.0.11.dev12}/xync_client.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: xync-client
|
|
3
|
-
Version: 0.0.11.
|
|
3
|
+
Version: 0.0.11.dev12
|
|
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
|
|
@@ -11,7 +11,7 @@ Requires-Dist: pybit
|
|
|
11
11
|
Requires-Dist: pyotp
|
|
12
12
|
Requires-Dist: pyrogram
|
|
13
13
|
Requires-Dist: python-okx
|
|
14
|
-
Requires-Dist: xn-client>=0.0.
|
|
14
|
+
Requires-Dist: xn-client>=0.0.3dev3
|
|
15
15
|
Requires-Dist: xync-schema
|
|
16
16
|
Provides-Extra: dev
|
|
17
17
|
Requires-Dist: build; extra == "dev"
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import subprocess
|
|
2
|
+
from datetime import datetime
|
|
3
|
+
from json import dumps
|
|
4
|
+
from uuid import uuid4
|
|
5
|
+
|
|
6
|
+
from xync_client.Abc.Base import BaseClient
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class BaseBingXClient(BaseClient):
|
|
10
|
+
def _prehook(self, _payload: dict = None):
|
|
11
|
+
traceid = str(uuid4()).replace("-", "")
|
|
12
|
+
now = str(int(datetime.now().timestamp() * 1000))
|
|
13
|
+
payload = dumps(_payload, separators=(",", ":"), sort_keys=True) if _payload else "{}"
|
|
14
|
+
p = subprocess.Popen(["node", "req.mjs", now, traceid, payload], stdout=subprocess.PIPE)
|
|
15
|
+
sign = p.stdout.read().decode().strip()
|
|
16
|
+
return {
|
|
17
|
+
"sign": sign,
|
|
18
|
+
"timestamp": now,
|
|
19
|
+
"traceid": traceid,
|
|
20
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
from asyncio import run
|
|
2
|
+
|
|
3
|
+
from x_model import init_db
|
|
4
|
+
from xync_client.Abc.Base import DictOfDicts, FlatDict
|
|
5
|
+
from xync_schema import models
|
|
6
|
+
from xync_schema.models import Ex
|
|
7
|
+
|
|
8
|
+
from xync_client.Abc.Ex import BaseExClient
|
|
9
|
+
from xync_client.BingX.base import BaseBingXClient
|
|
10
|
+
from xync_client.loader import PG_DSN
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class Client(BaseExClient, BaseBingXClient):
|
|
14
|
+
headers: dict[str, str] = {
|
|
15
|
+
"app_version": "9.0.5",
|
|
16
|
+
"device_id": "ccfb6d50-b63b-11ef-b31f-ef1f76f67c4e",
|
|
17
|
+
"lang": "ru-RU",
|
|
18
|
+
"platformid": "30",
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
# 20: Список всех платежных методов на бирже
|
|
22
|
+
async def pms(self) -> DictOfDicts: # {pm.exid: pm}
|
|
23
|
+
curs = await self.curs()
|
|
24
|
+
pp = {}
|
|
25
|
+
for _id, cur in curs.items():
|
|
26
|
+
pms = await self._get("/api/c2c/v1/advert/payment/list", params={"fiat": cur})
|
|
27
|
+
[pp.update({p["id"]: {"name": p["name"], "logo": p["icon"]}}) for p in pms["data"]["paymentMethodList"]]
|
|
28
|
+
return pp
|
|
29
|
+
|
|
30
|
+
# 21: Список поддерживаемых валют
|
|
31
|
+
async def curs(self) -> FlatDict: # {cur.exid: cur.ticker}
|
|
32
|
+
params = {
|
|
33
|
+
"type": "1",
|
|
34
|
+
"asset": "USDT",
|
|
35
|
+
"coinType": "2",
|
|
36
|
+
}
|
|
37
|
+
curs = await self._get("/api/c2c/v1/common/supportCoins", params=params)
|
|
38
|
+
return {cur["id"]: cur["name"] for cur in curs["data"]["coins"]}
|
|
39
|
+
|
|
40
|
+
# 22: cur_pms_map
|
|
41
|
+
async def cur_pms_map(self):
|
|
42
|
+
pass
|
|
43
|
+
|
|
44
|
+
# 23: coins
|
|
45
|
+
async def coins(self):
|
|
46
|
+
pass
|
|
47
|
+
|
|
48
|
+
# 24: ads
|
|
49
|
+
async def ads(self, coin_exid: str, cur_exid: str, is_sell: bool, pm_exids: list[str | int] = None):
|
|
50
|
+
pass
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
async def main():
|
|
54
|
+
_ = await init_db(PG_DSN, models, True)
|
|
55
|
+
bg = await Ex.get(name="BingX")
|
|
56
|
+
cl = Client(bg)
|
|
57
|
+
await cl.pms()
|
|
58
|
+
await cl.close()
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
run(main())
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import cC from './sign.js'
|
|
2
|
+
|
|
3
|
+
const [_, __, now, trace, payload] = process.argv
|
|
4
|
+
const e = {
|
|
5
|
+
timestamp: now,
|
|
6
|
+
traceId: trace,
|
|
7
|
+
deviceId: "ccfb6d50-b63b-11ef-b31f-ef1f76f67c4e",
|
|
8
|
+
platformId: "30",
|
|
9
|
+
appVersion: "9.0.5",
|
|
10
|
+
requestPayload: JSON.parse(payload)
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const sgn = cC(e).sign;
|
|
14
|
+
console.log(sgn);
|