xync-client 0.0.25.dev88__tar.gz → 0.0.25.dev90__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.dev88/xync_client.egg-info → xync_client-0.0.25.dev90}/PKG-INFO +1 -1
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Abc/Ex.py +7 -9
- xync_client-0.0.25.dev90/xync_client/Bybit/etype/ad.py +108 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Bybit/ex.py +42 -20
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90/xync_client.egg-info}/PKG-INFO +1 -1
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client.egg-info/SOURCES.txt +1 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/.env.sample +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/.gitignore +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/.pre-commit-config.yaml +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/README.md +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/makefile +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/pyproject.toml +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/setup.cfg +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/tests/TestAgent.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/tests/TestAsset.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/tests/TestEx.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/tests/TestOrder.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/tests/_todo_refact/Binance/test_binance.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/tests/_todo_refact/Bybit/test_bybit.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/tests/_todo_refact/Bybit/test_bybit_p2p.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/tests/_todo_refact/Gate/test_gate.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/tests/_todo_refact/Htx/test_htx_p2p.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/tests/_todo_refact/Wallet/test_agent.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/tests/_todo_refact/Wallet/test_ex.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/tests/_todo_refact/__init__.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/tests/_todo_refact/_test_ex.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/tests/res.js +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Abc/Agent.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Abc/Asset.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Abc/AuthTrait.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Abc/Base.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Abc/BaseTest.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Abc/InAgent.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Abc/Order.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Abc/types.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Binance/__init__.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Binance/binance_async.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Binance/earn_api.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Binance/ex.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Binance/exceptions.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Binance/sapi.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Binance/web_c2c.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/BingX/__init__.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/BingX/agent.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/BingX/base.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/BingX/etype/ad.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/BingX/etype/pm.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/BingX/ex.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/BingX/req.mjs +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/BingX/sign.js +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/BitGet/__init__.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/BitGet/agent.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/BitGet/etype/ad.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/BitGet/ex.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/BitGet/req.mjs +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/BitPapa/ex.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Bybit/agent.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Bybit/web_earn.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Bybit/web_p2p.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Gate/etype/ad.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Gate/ex.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Gate/premarket.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Htx/agent.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Htx/earn.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Htx/etype/__init__.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Htx/etype/ad.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Htx/etype/cred.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Htx/etype/pm.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Htx/ex.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/KuCoin/etype/ad.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/KuCoin/etype/pm.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/KuCoin/ex.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/KuCoin/web.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Mexc/etype/ad.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Mexc/etype/pm.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Mexc/ex.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Okx/etype/ad.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Okx/etype/pm.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/Okx/ex.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/TgWallet/agent.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/TgWallet/asset.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/TgWallet/auth.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/TgWallet/ex.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/TgWallet/inAgent.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/TgWallet/order.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/TgWallet/pyd.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/TgWallet/pyro.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/TgWallet/web.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/__init__.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/loader.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client/pm_unifier.py +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client.egg-info/dependency_links.txt +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client.egg-info/requires.txt +0 -0
- {xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client.egg-info/top_level.txt +0 -0
|
@@ -167,15 +167,13 @@ class BaseExClient(BaseClient):
|
|
|
167
167
|
pmcurs = set()
|
|
168
168
|
for cur_id, exids in cur2pms.items():
|
|
169
169
|
for exid in exids:
|
|
170
|
-
|
|
171
|
-
(
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
)[0]
|
|
178
|
-
)
|
|
170
|
+
if not (pm_id := pms.get(exid) and pms[exid].id):
|
|
171
|
+
if pmex := await models.Pmex.get_or_none(ex=self.ex, exid=exid):
|
|
172
|
+
pm_id = pmex.pm_id
|
|
173
|
+
else:
|
|
174
|
+
logging.critical(f"For cur {cur_id} not found pm#{exid}")
|
|
175
|
+
continue
|
|
176
|
+
pmcurs.add((await models.Pmcur.update_or_create(cur=curs[cur_id], pm_id=pm_id))[0])
|
|
179
177
|
# pmcurexs = [Pmcurex(pmcur=pmcur, ex=self.ex) for pmcur in pmcurs]
|
|
180
178
|
# await Pmcurex.bulk_create(pmcurexs)
|
|
181
179
|
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
from typing import List, Optional, Dict, Any
|
|
2
|
+
from pydantic import BaseModel
|
|
3
|
+
from xync_schema.types import BaseAd
|
|
4
|
+
|
|
5
|
+
class Currency(BaseModel):
|
|
6
|
+
currencyId: str
|
|
7
|
+
exchangeId: str
|
|
8
|
+
id: str
|
|
9
|
+
orgId: str
|
|
10
|
+
scale: int
|
|
11
|
+
|
|
12
|
+
class Token(BaseModel):
|
|
13
|
+
exchangeId: str
|
|
14
|
+
id: str
|
|
15
|
+
orgId: str
|
|
16
|
+
scale: int
|
|
17
|
+
sequence: int
|
|
18
|
+
tokenId: str
|
|
19
|
+
|
|
20
|
+
class SymbolInfo(BaseModel):
|
|
21
|
+
buyAd: Optional[Any]
|
|
22
|
+
buyFeeRate: str
|
|
23
|
+
currency: Currency
|
|
24
|
+
currencyId: str
|
|
25
|
+
currencyLowerMaxQuote: str
|
|
26
|
+
currencyMaxQuote: str
|
|
27
|
+
currencyMinQuote: str
|
|
28
|
+
exchangeId: str
|
|
29
|
+
id: str
|
|
30
|
+
itemDownRange: str
|
|
31
|
+
itemSideLimit: int
|
|
32
|
+
itemUpRange: str
|
|
33
|
+
kycCurrencyLimit: str
|
|
34
|
+
lowerLimitAlarm: int
|
|
35
|
+
orderAutoCancelMinute: int
|
|
36
|
+
orderFinishMinute: int
|
|
37
|
+
orgId: str
|
|
38
|
+
sellAd: Optional[Any]
|
|
39
|
+
sellFeeRate: str
|
|
40
|
+
status: int
|
|
41
|
+
token: Token
|
|
42
|
+
tokenId: str
|
|
43
|
+
tokenMaxQuote: str
|
|
44
|
+
tokenMinQuote: str
|
|
45
|
+
tradeSide: int
|
|
46
|
+
upperLimitAlarm: int
|
|
47
|
+
|
|
48
|
+
class TradingPreferenceSet(BaseModel):
|
|
49
|
+
completeRateDay30: str
|
|
50
|
+
hasCompleteRateDay30: int
|
|
51
|
+
hasNationalLimit: int
|
|
52
|
+
hasOrderFinishNumberDay30: int
|
|
53
|
+
hasRegisterTime: int
|
|
54
|
+
hasUnPostAd: int
|
|
55
|
+
isEmail: int
|
|
56
|
+
isKyc: int
|
|
57
|
+
isMobile: int
|
|
58
|
+
nationalLimit: str
|
|
59
|
+
orderFinishNumberDay30: int
|
|
60
|
+
registerTimeThreshold: int
|
|
61
|
+
|
|
62
|
+
class Ad(BaseAd):
|
|
63
|
+
accountId: str
|
|
64
|
+
authStatus: int
|
|
65
|
+
authTag: List[str]
|
|
66
|
+
ban: bool
|
|
67
|
+
baned: bool
|
|
68
|
+
blocked: str
|
|
69
|
+
createDate: str
|
|
70
|
+
currencyId: str
|
|
71
|
+
executedQuantity: str
|
|
72
|
+
fee: str
|
|
73
|
+
finishNum: int
|
|
74
|
+
frozenQuantity: str
|
|
75
|
+
id: str
|
|
76
|
+
isOnline: bool
|
|
77
|
+
itemType: str
|
|
78
|
+
lastLogoutTime: str
|
|
79
|
+
lastQuantity: str
|
|
80
|
+
makerContact: bool
|
|
81
|
+
maxAmount: str
|
|
82
|
+
minAmount: str
|
|
83
|
+
nickName: str
|
|
84
|
+
orderNum: int
|
|
85
|
+
paymentPeriod: int
|
|
86
|
+
payments: List[str]
|
|
87
|
+
premium: str
|
|
88
|
+
price: str
|
|
89
|
+
priceType: int
|
|
90
|
+
quantity: str
|
|
91
|
+
recentExecuteRate: int
|
|
92
|
+
recentOrderNum: int
|
|
93
|
+
recommend: bool
|
|
94
|
+
recommendTag: str
|
|
95
|
+
remark: str
|
|
96
|
+
side: int
|
|
97
|
+
status: int
|
|
98
|
+
symbolInfo: SymbolInfo
|
|
99
|
+
tokenId: str
|
|
100
|
+
tokenName: str
|
|
101
|
+
tradingPreferenceSet: TradingPreferenceSet
|
|
102
|
+
userId: str
|
|
103
|
+
userMaskId: str
|
|
104
|
+
userType: str
|
|
105
|
+
verificationOrderAmount: str
|
|
106
|
+
verificationOrderLabels: List[Any]
|
|
107
|
+
verificationOrderSwitch: bool
|
|
108
|
+
version: int
|
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import json
|
|
2
|
-
from
|
|
3
|
-
from
|
|
2
|
+
from asyncio import run
|
|
3
|
+
from x_model import init_db
|
|
4
|
+
from xync_schema import types
|
|
5
|
+
from xync_schema import models
|
|
6
|
+
from xync_schema.models import Ex
|
|
4
7
|
|
|
5
|
-
from xync_client.Abc.Base import
|
|
8
|
+
from xync_client.Abc.Base import MapOfIdsList
|
|
6
9
|
from xync_client.Abc.Ex import BaseExClient
|
|
7
10
|
from xync_client.pm_unifier import PmUnifier
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
REST = 0
|
|
12
|
-
WORKING = 1
|
|
11
|
+
from xync_client.loader import PG_DSN
|
|
12
|
+
from xync_client.Bybit.etype import ad
|
|
13
|
+
from xync_client.Abc.types import PmEx
|
|
13
14
|
|
|
14
15
|
|
|
15
16
|
class ExClient(BaseExClient): # Bybit client
|
|
@@ -22,6 +23,7 @@ class ExClient(BaseExClient): # Bybit client
|
|
|
22
23
|
"Local Card M-redTS": "MTS-bank",
|
|
23
24
|
"Local Card-Green": "Sberbank",
|
|
24
25
|
"Local Card-Yellow": "T-Bank",
|
|
26
|
+
"Banque de développement local (BDL)": "Banque de développement local (BDL)",
|
|
25
27
|
}
|
|
26
28
|
|
|
27
29
|
host = "api2.bybit.com"
|
|
@@ -33,15 +35,17 @@ class ExClient(BaseExClient): # Bybit client
|
|
|
33
35
|
return resp["result"] # todo: tokens, pairs, ...
|
|
34
36
|
|
|
35
37
|
# 19: Список поддерживаемых валют тейкера
|
|
36
|
-
async def curs(self) ->
|
|
38
|
+
async def curs(self) -> dict[types.CurEx]:
|
|
37
39
|
config = await self._get_config()
|
|
38
|
-
return {
|
|
40
|
+
return {
|
|
41
|
+
c["currencyId"]: types.CurEx(exid=c["currencyId"], ticker=c["currencyId"]) for c in config["currencies"]
|
|
42
|
+
}
|
|
39
43
|
|
|
40
44
|
# 20: Список платежных методов
|
|
41
|
-
async def pms(self,
|
|
45
|
+
async def pms(self, cur: models.Cur = None) -> dict[int | str, PmEx]:
|
|
42
46
|
pms = await self._post("/fiat/otc/configuration/queryAllPaymentList/")
|
|
43
47
|
pms = pms["result"]["paymentConfigVo"]
|
|
44
|
-
return {pm["paymentType"]:
|
|
48
|
+
return {pm["paymentType"]: PmEx(exid=pm["paymentType"], name=pm["paymentName"]) for pm in pms}
|
|
45
49
|
|
|
46
50
|
# 21: Список платежных методов по каждой валюте
|
|
47
51
|
async def cur_pms_map(self) -> MapOfIdsList:
|
|
@@ -49,25 +53,25 @@ class ExClient(BaseExClient): # Bybit client
|
|
|
49
53
|
return json.loads(pms["result"]["currencyPaymentIdMap"])
|
|
50
54
|
|
|
51
55
|
# 22: Список торгуемых монет (с ограничениям по валютам, если есть)
|
|
52
|
-
async def coins(self) ->
|
|
56
|
+
async def coins(self) -> dict[types.CoinEx]:
|
|
53
57
|
config = await self._get_config()
|
|
54
|
-
|
|
58
|
+
all_pms = {} # c["tokenId"]
|
|
55
59
|
for c in config["symbols"]:
|
|
56
|
-
|
|
57
|
-
return
|
|
60
|
+
all_pms[c["tokenId"]] = types.CoinEx(exid=c["tokenId"], ticker=c["tokenId"])
|
|
61
|
+
return all_pms
|
|
58
62
|
|
|
59
63
|
# 23: Список пар валюта/монет
|
|
60
|
-
async def pairs(self) -> MapOfIdsList:
|
|
64
|
+
async def pairs(self) -> tuple[MapOfIdsList, MapOfIdsList]:
|
|
61
65
|
config = await self._get_config()
|
|
62
66
|
cc: dict[str, set[str]] = {}
|
|
63
67
|
for c in config["symbols"]:
|
|
64
68
|
cc[c["currencyId"]] = cc.get(c["currencyId"], set()) | {c["tokenId"]}
|
|
65
|
-
return cc
|
|
69
|
+
return cc, cc
|
|
66
70
|
|
|
67
71
|
# 24: Список объяв по (buy/sell, cur, coin, pm)
|
|
68
72
|
async def ads(
|
|
69
73
|
self, coin_exid: str, cur_exid: str, is_sell: bool, pm_exids: list[str | int] = None, amount: int = None
|
|
70
|
-
) ->
|
|
74
|
+
) -> list[ad.Ad]:
|
|
71
75
|
data = {
|
|
72
76
|
"userId": "",
|
|
73
77
|
"tokenId": coin_exid,
|
|
@@ -81,4 +85,22 @@ class ExClient(BaseExClient): # Bybit client
|
|
|
81
85
|
"canTrade": False,
|
|
82
86
|
}
|
|
83
87
|
ads = await self._post("/fiat/otc/item/online/", data)
|
|
84
|
-
return ads["result"]["items"]
|
|
88
|
+
return [ad.Ad(**_ad) for _ad in ads["result"]["items"]]
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
async def main():
|
|
92
|
+
_ = await init_db(PG_DSN, models, True)
|
|
93
|
+
ex = await Ex.get(name="Bybit")
|
|
94
|
+
cl = ExClient(ex)
|
|
95
|
+
_ads = await cl.ads("USDT", "GEL", False)
|
|
96
|
+
await cl.set_pmcurexs()
|
|
97
|
+
await cl.set_coinexs()
|
|
98
|
+
_cr = await cl.curs()
|
|
99
|
+
_cn = await cl.coins()
|
|
100
|
+
await cl.set_pairs()
|
|
101
|
+
_pms = await cl.pms()
|
|
102
|
+
await cl.close()
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
if __name__ == "__main__":
|
|
106
|
+
run(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
|
|
File without changes
|
{xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/tests/_todo_refact/Binance/test_binance.py
RENAMED
|
File without changes
|
{xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/tests/_todo_refact/Bybit/test_bybit.py
RENAMED
|
File without changes
|
{xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/tests/_todo_refact/Bybit/test_bybit_p2p.py
RENAMED
|
File without changes
|
|
File without changes
|
{xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/tests/_todo_refact/Htx/test_htx_p2p.py
RENAMED
|
File without changes
|
{xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{xync_client-0.0.25.dev88 → xync_client-0.0.25.dev90}/xync_client.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|