xync-client 0.0.25.dev50__tar.gz → 0.0.25.dev51__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.dev50/xync_client.egg-info → xync_client-0.0.25.dev51}/PKG-INFO +1 -1
  2. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Abc/Ex.py +1 -1
  3. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Okx/etype/pm.py +1 -1
  4. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Okx/ex.py +23 -19
  5. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51/xync_client.egg-info}/PKG-INFO +1 -1
  6. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/.env.sample +0 -0
  7. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/.gitignore +0 -0
  8. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/.pre-commit-config.yaml +0 -0
  9. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/README.md +0 -0
  10. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/makefile +0 -0
  11. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/pyproject.toml +0 -0
  12. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/setup.cfg +0 -0
  13. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/tests/TestAgent.py +0 -0
  14. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/tests/TestAsset.py +0 -0
  15. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/tests/TestEx.py +0 -0
  16. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/tests/TestOrder.py +0 -0
  17. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/tests/_todo_refact/Binance/test_binance.py +0 -0
  18. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/tests/_todo_refact/Bybit/test_bybit.py +0 -0
  19. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/tests/_todo_refact/Bybit/test_bybit_p2p.py +0 -0
  20. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/tests/_todo_refact/Gate/test_gate.py +0 -0
  21. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/tests/_todo_refact/Htx/test_htx_p2p.py +0 -0
  22. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/tests/_todo_refact/Wallet/test_agent.py +0 -0
  23. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/tests/_todo_refact/Wallet/test_ex.py +0 -0
  24. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/tests/_todo_refact/__init__.py +0 -0
  25. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/tests/_todo_refact/_test_ex.py +0 -0
  26. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Abc/Agent.py +0 -0
  27. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Abc/Asset.py +0 -0
  28. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Abc/AuthTrait.py +0 -0
  29. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Abc/Base.py +0 -0
  30. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Abc/BaseTest.py +0 -0
  31. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Abc/InAgent.py +0 -0
  32. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Abc/Order.py +0 -0
  33. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Abc/types.py +0 -0
  34. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Binance/__init__.py +0 -0
  35. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Binance/binance_async.py +0 -0
  36. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Binance/earn_api.py +0 -0
  37. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Binance/ex.py +0 -0
  38. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Binance/exceptions.py +0 -0
  39. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Binance/sapi.py +0 -0
  40. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Binance/web_c2c.py +0 -0
  41. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/BingX/__init__.py +0 -0
  42. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/BingX/agent.py +0 -0
  43. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/BingX/base.py +0 -0
  44. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/BingX/etype/ad.py +0 -0
  45. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/BingX/etype/pm.py +0 -0
  46. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/BingX/ex.py +0 -0
  47. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/BingX/req.mjs +0 -0
  48. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/BingX/sign.js +0 -0
  49. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/BitGet/__init__.py +0 -0
  50. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/BitGet/agent.py +0 -0
  51. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/BitGet/ex.py +0 -0
  52. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/BitGet/req.mjs +0 -0
  53. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Bybit/agent.py +0 -0
  54. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Bybit/ex.py +0 -0
  55. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Bybit/web_earn.py +0 -0
  56. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Bybit/web_p2p.py +0 -0
  57. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Gate/ex.py +0 -0
  58. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Gate/premarket.py +0 -0
  59. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Htx/agent.py +0 -0
  60. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Htx/earn.py +0 -0
  61. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Htx/etype/__init__.py +0 -0
  62. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Htx/etype/ad.py +0 -0
  63. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Htx/etype/cred.py +0 -0
  64. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Htx/etype/pm.py +0 -0
  65. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Htx/ex.py +0 -0
  66. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/KuCoin/etype/ad.py +0 -0
  67. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/KuCoin/etype/pm.py +0 -0
  68. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/KuCoin/ex.py +0 -0
  69. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/KuCoin/web.py +0 -0
  70. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/Okx/etype/ad.py +0 -0
  71. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/TgWallet/agent.py +0 -0
  72. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/TgWallet/asset.py +0 -0
  73. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/TgWallet/auth.py +0 -0
  74. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/TgWallet/ex.py +0 -0
  75. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/TgWallet/inAgent.py +0 -0
  76. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/TgWallet/order.py +0 -0
  77. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/TgWallet/pyd.py +0 -0
  78. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/TgWallet/pyro.py +0 -0
  79. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/TgWallet/web.py +0 -0
  80. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/__init__.py +0 -0
  81. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/loader.py +0 -0
  82. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/pm_unifier.py +0 -0
  83. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client/pyro.py +0 -0
  84. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client.egg-info/SOURCES.txt +0 -0
  85. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client.egg-info/dependency_links.txt +0 -0
  86. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/xync_client.egg-info/requires.txt +0 -0
  87. {xync_client-0.0.25.dev50 → xync_client-0.0.25.dev51}/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.dev50
3
+ Version: 0.0.25.dev51
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
@@ -125,7 +125,7 @@ class BaseExClient(BaseClient):
125
125
  k: v for k, v in sorted((await self.pms()).items(), key=lambda x: x[1].name)
126
126
  } # sort by name
127
127
  pms: dict[int | str, models.Pm] = dict({})
128
- prev = 0, "", "" # id, normd-name, orig-name
128
+ prev = 0, "", "", None # id, normd-name, orig-name
129
129
  cntrs = [c.lower() for c in await models.Country.all().values_list("name", flat=True)]
130
130
  uni = self.unifier_class(cntrs)
131
131
  for k, pm in pms_epyds.items():
@@ -9,4 +9,4 @@ class PmE(BaseModel):
9
9
  needVerification: bool
10
10
  paymentMethod: str
11
11
  paymentMethodDescription: str
12
- transferSpeed: int
12
+ transferSpeed: int
@@ -10,6 +10,7 @@ from xync_client.loader import PG_DSN
10
10
  from xync_client.Okx.etype import ad, pm
11
11
  from xync_client.Abc.types import PmEx
12
12
 
13
+
13
14
  class ExClient(BaseExClient):
14
15
  async def _pms(self, cur) -> list[pm.PmE]:
15
16
  params = {
@@ -20,11 +21,10 @@ class ExClient(BaseExClient):
20
21
  return [pm.PmE(**_pm) for _pm in pms["data"]]
21
22
 
22
23
  # 19: Список поддерживаемых валют тейкера
23
- async def curs(self) -> list[types.CurEx]: # {cur.exid: cur.ticker}
24
+ async def curs(self) -> dict[int, types.CurEx]: # {cur.exid: cur.ticker}
24
25
  curs = await self._get("/v3/users/common/list/currencies")
25
26
  return {
26
- cur["displayName"]: types.CurEx(exid=cur["currencyId"],ticker=cur["displayName"])
27
- for cur in curs["data"]
27
+ cur["displayName"]: types.CurEx(exid=cur["currencyId"], ticker=cur["displayName"]) for cur in curs["data"]
28
28
  }
29
29
 
30
30
  # 20: Список платежных методов
@@ -32,32 +32,31 @@ class ExClient(BaseExClient):
32
32
  all_pms = {}
33
33
  for cur_obj in (await self.curs()).values():
34
34
  pms = await self._pms(cur_obj.ticker)
35
- for pm in pms:
36
- all_pms[pm.transferSpeed] = PmEx(exid=pm.transferSpeed, name=pm.paymentMethod)
35
+ for p in pms:
36
+ all_pms[p.paymentMethod] = PmEx(exid=p.paymentMethod, name=p.paymentMethod)
37
37
  return all_pms
38
38
 
39
39
  # 21: Список платежных методов по каждой валюте
40
40
  async def cur_pms_map(self) -> MapOfIdsList: # {cur.exid: [pm.exid]}
41
- return {cur.exid: [pm.paymentMethod for pm in await self._pms(cur.ticker)] for cur in (await self.curs()).values()}
41
+ return {
42
+ cur.exid: [pm.paymentMethod for pm in await self._pms(cur.ticker)] for cur in (await self.curs()).values()
43
+ }
42
44
 
43
45
  # 22: Список торгуемых монет (с ограничениям по валютам, если есть)
44
- async def coins(self) -> list[types.CoinEx]: # {coin.exid: coin.ticker}
46
+ async def coins(self) -> dict[int, types.CoinEx]: # {coin.exid: coin.ticker}
45
47
  for cur in (await self.curs()).keys():
46
- params = {
47
- 'type': '1',
48
- 'quote': cur,
49
- 'side': 'buy'
48
+ coins = await self._get("/v3/c2c/currency/pairs", {"type": 2, "quote": cur})
49
+ return {
50
+ coin["baseCurrency"]: types.CoinEx(exid=coin["baseCurrencyId"], ticker=coin["baseCurrency"])
51
+ for coin in coins["data"]
50
52
  }
51
- coins = await self._get("/v3/c2c/currency/pairs", params=params)
52
- return {coin["baseCurrency"]: types.CoinEx(exid=coin["baseCurrencyId"], ticker=coin["baseCurrency"]) for coin in coins["data"]}
53
53
 
54
54
  # 23: Список пар валюта/монет
55
55
  async def pairs(self) -> MapOfIdsList:
56
56
  coins = (await self.coins()).keys()
57
57
  curs = (await self.curs()).keys()
58
- b = {cur: {c for c in coins} for cur in curs}
59
- s = {cur: {c for c in coins} for cur in curs}
60
- return s, b
58
+ p = {cur: {c for c in coins} for cur in curs}
59
+ return p, p
61
60
 
62
61
  # 24: Список объяв по (buy/sell, cur, coin, pm)
63
62
  async def ads(
@@ -92,9 +91,14 @@ async def main():
92
91
  _ = await init_db(PG_DSN, models, True)
93
92
  bg = await models.Ex.get(name="Okx")
94
93
  cl = ExClient(bg)
95
- await cl.curs()
96
- # await cl.coins()
97
- # await cl.pms()
94
+ # curs = await cl.curs()
95
+ # coins = await cl.coins()
96
+ await cl.pms()
97
+ await cl.cur_pms_map()
98
+ await cl.pairs()
99
+ await cl.set_coinexs()
100
+ await cl.set_pmcurexs()
101
+ await cl.ads("USDT", "THB", False)
98
102
  await cl.close()
99
103
 
100
104
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: xync-client
3
- Version: 0.0.25.dev50
3
+ Version: 0.0.25.dev51
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