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.
Files changed (87) hide show
  1. {xync_client-0.0.25.dev57/xync_client.egg-info → xync_client-0.0.25.dev59}/PKG-INFO +1 -1
  2. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BingX/etype/ad.py +1 -1
  3. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BingX/ex.py +2 -2
  4. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/KuCoin/ex.py +16 -24
  5. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Okx/ex.py +12 -10
  6. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59/xync_client.egg-info}/PKG-INFO +1 -1
  7. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/.env.sample +0 -0
  8. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/.gitignore +0 -0
  9. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/.pre-commit-config.yaml +0 -0
  10. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/README.md +0 -0
  11. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/makefile +0 -0
  12. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/pyproject.toml +0 -0
  13. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/setup.cfg +0 -0
  14. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/TestAgent.py +0 -0
  15. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/TestAsset.py +0 -0
  16. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/TestEx.py +0 -0
  17. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/TestOrder.py +0 -0
  18. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/Binance/test_binance.py +0 -0
  19. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/Bybit/test_bybit.py +0 -0
  20. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/Bybit/test_bybit_p2p.py +0 -0
  21. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/Gate/test_gate.py +0 -0
  22. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/Htx/test_htx_p2p.py +0 -0
  23. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/Wallet/test_agent.py +0 -0
  24. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/Wallet/test_ex.py +0 -0
  25. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/__init__.py +0 -0
  26. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/tests/_todo_refact/_test_ex.py +0 -0
  27. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Abc/Agent.py +0 -0
  28. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Abc/Asset.py +0 -0
  29. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Abc/AuthTrait.py +0 -0
  30. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Abc/Base.py +0 -0
  31. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Abc/BaseTest.py +0 -0
  32. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Abc/Ex.py +0 -0
  33. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Abc/InAgent.py +0 -0
  34. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Abc/Order.py +0 -0
  35. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Abc/types.py +0 -0
  36. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Binance/__init__.py +0 -0
  37. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Binance/binance_async.py +0 -0
  38. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Binance/earn_api.py +0 -0
  39. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Binance/ex.py +0 -0
  40. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Binance/exceptions.py +0 -0
  41. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Binance/sapi.py +0 -0
  42. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Binance/web_c2c.py +0 -0
  43. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BingX/__init__.py +0 -0
  44. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BingX/agent.py +0 -0
  45. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BingX/base.py +0 -0
  46. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BingX/etype/pm.py +0 -0
  47. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BingX/req.mjs +0 -0
  48. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BingX/sign.js +0 -0
  49. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BitGet/__init__.py +0 -0
  50. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BitGet/agent.py +0 -0
  51. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BitGet/ex.py +0 -0
  52. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/BitGet/req.mjs +0 -0
  53. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Bybit/agent.py +0 -0
  54. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Bybit/ex.py +0 -0
  55. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Bybit/web_earn.py +0 -0
  56. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Bybit/web_p2p.py +0 -0
  57. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Gate/ex.py +0 -0
  58. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Gate/premarket.py +0 -0
  59. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Htx/agent.py +0 -0
  60. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Htx/earn.py +0 -0
  61. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Htx/etype/__init__.py +0 -0
  62. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Htx/etype/ad.py +0 -0
  63. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Htx/etype/cred.py +0 -0
  64. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Htx/etype/pm.py +0 -0
  65. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Htx/ex.py +0 -0
  66. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/KuCoin/etype/ad.py +0 -0
  67. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/KuCoin/etype/pm.py +0 -0
  68. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/KuCoin/web.py +0 -0
  69. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Okx/etype/ad.py +0 -0
  70. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/Okx/etype/pm.py +0 -0
  71. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/TgWallet/agent.py +0 -0
  72. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/TgWallet/asset.py +0 -0
  73. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/TgWallet/auth.py +0 -0
  74. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/TgWallet/ex.py +0 -0
  75. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/TgWallet/inAgent.py +0 -0
  76. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/TgWallet/order.py +0 -0
  77. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/TgWallet/pyd.py +0 -0
  78. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/TgWallet/pyro.py +0 -0
  79. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/TgWallet/web.py +0 -0
  80. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/__init__.py +0 -0
  81. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/loader.py +0 -0
  82. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/pm_unifier.py +0 -0
  83. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client/pyro.py +0 -0
  84. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client.egg-info/SOURCES.txt +0 -0
  85. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client.egg-info/dependency_links.txt +0 -0
  86. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client.egg-info/requires.txt +0 -0
  87. {xync_client-0.0.25.dev57 → xync_client-0.0.25.dev59}/xync_client.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: xync-client
3
- Version: 0.0.25.dev57
3
+ Version: 0.0.25.dev59
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
@@ -60,4 +60,4 @@ class Ad(BaseAd):
60
60
  merchantKycType: int
61
61
  merchantVerificationType: int
62
62
  isUserMatchCondition: bool
63
- notMatchConditionReason: str
63
+ notMatchConditionReason: str
@@ -74,7 +74,7 @@ class ExClient(BaseExClient, BaseBingXClient):
74
74
 
75
75
  # 24: ads
76
76
  async def ads(
77
- self, coin_exid: str, cur_exid: str, is_sell: bool, pm_exids: list[str | int] = None, amount: int = None
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
- "legal": cur,
18
- "lang": "ru_RU",
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 {cur["typeCode"]: types.CurEx(exid=cur["typeCode"], ticker=cur["typeCode"]) for cur in curs}
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 p in pms:
32
- all_pms[p.payTypeCode] = PmEx(exid=p.payTypeCode, name=p.payTypeName)
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
- "legal": cur,
45
- "lang": "ru_RU",
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
- self, coin_exid: str, cur_exid: str, is_sell: bool, pm_exids: list[str | int] = None, amount: int = None
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 models.Ex.get(name="KuCoin")
66
+ bg = await Ex.get(name="KuCoin")
69
67
  cl = ExClient(bg)
70
- await cl.curs()
71
- await cl.coins()
72
- await cl.cur_pms_map()
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": f"{cur}",
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"] if _pm["paymentMethod"]]
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["currencyId"], ticker=cur["displayName"], scale=cur["precision"])
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(exid=coin["baseCurrencyId"], ticker=coin["baseCurrency"])
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(**ad) for ad in ads["data"]["sell"]]
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
- # await cl.pms()
98
- # await cl.cur_pms_map()
99
- # await cl.pairs()
100
- # await cl.set_coinexs()
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
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: xync-client
3
- Version: 0.0.25.dev57
3
+ Version: 0.0.25.dev59
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