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.
Files changed (88) hide show
  1. {xync_client-0.0.25.dev71/xync_client.egg-info → xync_client-0.0.25.dev74}/PKG-INFO +1 -1
  2. xync_client-0.0.25.dev74/xync_client/BitGet/etype/ad.py +79 -0
  3. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BitGet/ex.py +17 -3
  4. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Gate/ex.py +3 -3
  5. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74/xync_client.egg-info}/PKG-INFO +1 -1
  6. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client.egg-info/SOURCES.txt +1 -0
  7. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/.env.sample +0 -0
  8. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/.gitignore +0 -0
  9. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/.pre-commit-config.yaml +0 -0
  10. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/README.md +0 -0
  11. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/makefile +0 -0
  12. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/pyproject.toml +0 -0
  13. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/setup.cfg +0 -0
  14. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/TestAgent.py +0 -0
  15. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/TestAsset.py +0 -0
  16. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/TestEx.py +0 -0
  17. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/TestOrder.py +0 -0
  18. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/Binance/test_binance.py +0 -0
  19. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/Bybit/test_bybit.py +0 -0
  20. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/Bybit/test_bybit_p2p.py +0 -0
  21. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/Gate/test_gate.py +0 -0
  22. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/Htx/test_htx_p2p.py +0 -0
  23. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/Wallet/test_agent.py +0 -0
  24. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/Wallet/test_ex.py +0 -0
  25. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/__init__.py +0 -0
  26. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/tests/_todo_refact/_test_ex.py +0 -0
  27. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Abc/Agent.py +0 -0
  28. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Abc/Asset.py +0 -0
  29. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Abc/AuthTrait.py +0 -0
  30. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Abc/Base.py +0 -0
  31. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Abc/BaseTest.py +0 -0
  32. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Abc/Ex.py +0 -0
  33. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Abc/InAgent.py +0 -0
  34. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Abc/Order.py +0 -0
  35. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Abc/types.py +0 -0
  36. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Binance/__init__.py +0 -0
  37. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Binance/binance_async.py +0 -0
  38. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Binance/earn_api.py +0 -0
  39. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Binance/ex.py +0 -0
  40. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Binance/exceptions.py +0 -0
  41. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Binance/sapi.py +0 -0
  42. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Binance/web_c2c.py +0 -0
  43. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BingX/__init__.py +0 -0
  44. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BingX/agent.py +0 -0
  45. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BingX/base.py +0 -0
  46. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BingX/etype/ad.py +0 -0
  47. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BingX/etype/pm.py +0 -0
  48. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BingX/ex.py +0 -0
  49. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BingX/req.mjs +0 -0
  50. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BingX/sign.js +0 -0
  51. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BitGet/__init__.py +0 -0
  52. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BitGet/agent.py +0 -0
  53. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/BitGet/req.mjs +0 -0
  54. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Bybit/agent.py +0 -0
  55. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Bybit/ex.py +0 -0
  56. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Bybit/web_earn.py +0 -0
  57. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Bybit/web_p2p.py +0 -0
  58. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Gate/premarket.py +0 -0
  59. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Htx/agent.py +0 -0
  60. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Htx/earn.py +0 -0
  61. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Htx/etype/__init__.py +0 -0
  62. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Htx/etype/ad.py +0 -0
  63. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Htx/etype/cred.py +0 -0
  64. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Htx/etype/pm.py +0 -0
  65. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Htx/ex.py +0 -0
  66. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/KuCoin/etype/ad.py +0 -0
  67. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/KuCoin/etype/pm.py +0 -0
  68. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/KuCoin/ex.py +0 -0
  69. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/KuCoin/web.py +0 -0
  70. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Okx/etype/ad.py +0 -0
  71. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Okx/etype/pm.py +0 -0
  72. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/Okx/ex.py +0 -0
  73. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/TgWallet/agent.py +0 -0
  74. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/TgWallet/asset.py +0 -0
  75. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/TgWallet/auth.py +0 -0
  76. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/TgWallet/ex.py +0 -0
  77. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/TgWallet/inAgent.py +0 -0
  78. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/TgWallet/order.py +0 -0
  79. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/TgWallet/pyd.py +0 -0
  80. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/TgWallet/pyro.py +0 -0
  81. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/TgWallet/web.py +0 -0
  82. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/__init__.py +0 -0
  83. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/loader.py +0 -0
  84. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/pm_unifier.py +0 -0
  85. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client/pyro.py +0 -0
  86. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client.egg-info/dependency_links.txt +0 -0
  87. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client.egg-info/requires.txt +0 -0
  88. {xync_client-0.0.25.dev71 → xync_client-0.0.25.dev74}/xync_client.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xync-client
3
- Version: 0.0.25.dev71
3
+ Version: 0.0.25.dev74
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
@@ -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(self, coin_exid: str, cur_exid: str, is_sell: bool, pm_exids: list[int] = None) -> list[dict]:
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
- "{'side': 1, 'pageNo': 1,'pageSize': 10,'coinCode': 'USDT','fiatCode': 'AMD','languageType': 6}",
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
- return json.loads(out)
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
- p = subprocess.Popen(
31
- ["node", "-e", f"const lang_string = a => a;console.log(JSON.stringify({res}))"], stdout=subprocess.PIPE
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
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xync-client
3
- Version: 0.0.25.dev71
3
+ Version: 0.0.25.dev74
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
@@ -54,6 +54,7 @@ xync_client/BitGet/__init__.py
54
54
  xync_client/BitGet/agent.py
55
55
  xync_client/BitGet/ex.py
56
56
  xync_client/BitGet/req.mjs
57
+ xync_client/BitGet/etype/ad.py
57
58
  xync_client/Bybit/agent.py
58
59
  xync_client/Bybit/ex.py
59
60
  xync_client/Bybit/web_earn.py