xync-client 0.0.57.dev16__tar.gz → 0.0.57.dev19__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 (112) hide show
  1. {xync_client-0.0.57.dev16/xync_client.egg-info → xync_client-0.0.57.dev19}/PKG-INFO +1 -1
  2. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/pyproject.toml +1 -1
  3. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Bybit/agent.py +32 -23
  4. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Bybit/etype/order.py +2 -2
  5. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19/xync_client.egg-info}/PKG-INFO +1 -1
  6. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/.env.sample +0 -0
  7. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/.gitignore +0 -0
  8. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/.pre-commit-config.yaml +0 -0
  9. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/README.md +0 -0
  10. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/makefile +0 -0
  11. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/setup.cfg +0 -0
  12. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/tests/TestAgent.py +0 -0
  13. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/tests/TestAsset.py +0 -0
  14. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/tests/TestEx.py +0 -0
  15. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/tests/TestOrder.py +0 -0
  16. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/tests/_todo_refact/Binance/test_binance.py +0 -0
  17. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/tests/_todo_refact/Bybit/test_bybit.py +0 -0
  18. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/tests/_todo_refact/Bybit/test_bybit_p2p.py +0 -0
  19. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/tests/_todo_refact/Gate/test_gate.py +0 -0
  20. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/tests/_todo_refact/Htx/test_htx_p2p.py +0 -0
  21. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/tests/_todo_refact/Wallet/test_agent.py +0 -0
  22. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/tests/_todo_refact/Wallet/test_ex.py +0 -0
  23. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/tests/_todo_refact/__init__.py +0 -0
  24. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/tests/_todo_refact/_test_ex.py +0 -0
  25. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Abc/Agent.py +0 -0
  26. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Abc/Asset.py +0 -0
  27. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Abc/Auth.py +0 -0
  28. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Abc/BaseTest.py +0 -0
  29. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Abc/Ex.py +0 -0
  30. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Abc/InAgent.py +0 -0
  31. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Abc/Order.py +0 -0
  32. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Abc/xtype.py +0 -0
  33. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Binance/__init__.py +0 -0
  34. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Binance/binance_async.py +0 -0
  35. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Binance/earn_api.py +0 -0
  36. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Binance/etype/ad.py +0 -0
  37. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Binance/etype/pm.py +0 -0
  38. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Binance/ex.py +0 -0
  39. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Binance/exceptions.py +0 -0
  40. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Binance/sapi.py +0 -0
  41. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Binance/web_c2c.py +0 -0
  42. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/BingX/__init__.py +0 -0
  43. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/BingX/agent.py +0 -0
  44. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/BingX/base.py +0 -0
  45. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/BingX/etype/ad.py +0 -0
  46. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/BingX/etype/pm.py +0 -0
  47. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/BingX/ex.py +0 -0
  48. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/BingX/req.mjs +0 -0
  49. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/BingX/sign.js +0 -0
  50. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/BitGet/__init__.py +0 -0
  51. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/BitGet/agent.py +0 -0
  52. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/BitGet/etype/ad.py +0 -0
  53. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/BitGet/ex.py +0 -0
  54. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/BitPapa/ex.py +0 -0
  55. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Bybit/InAgent.py +0 -0
  56. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Bybit/etype/ad.py +0 -0
  57. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Bybit/etype/cred.py +0 -0
  58. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Bybit/ex.py +0 -0
  59. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Bybit/order.py +0 -0
  60. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Bybit/web_earn.py +0 -0
  61. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Bybit/web_p2p.py +0 -0
  62. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Bybit/ws.py +0 -0
  63. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Gate/etype/ad.py +0 -0
  64. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Gate/ex.py +0 -0
  65. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Gate/premarket.py +0 -0
  66. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Gmail/__init__.py +0 -0
  67. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Htx/agent.py +0 -0
  68. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Htx/earn.py +0 -0
  69. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Htx/etype/__init__.py +0 -0
  70. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Htx/etype/ad.py +0 -0
  71. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Htx/etype/cred.py +0 -0
  72. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Htx/etype/pm.py +0 -0
  73. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Htx/etype/test.py +0 -0
  74. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Htx/ex.py +0 -0
  75. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/KuCoin/etype/ad.py +0 -0
  76. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/KuCoin/etype/pm.py +0 -0
  77. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/KuCoin/ex.py +0 -0
  78. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/KuCoin/web.py +0 -0
  79. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Mexc/etype/ad.py +0 -0
  80. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Mexc/etype/pm.py +0 -0
  81. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Mexc/ex.py +0 -0
  82. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Okx/etype/ad.py +0 -0
  83. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Okx/etype/pm.py +0 -0
  84. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Okx/ex.py +0 -0
  85. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Pms/.gitignore +0 -0
  86. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Pms/Alfa/__init__.py +0 -0
  87. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Pms/Alfa/state.json +0 -0
  88. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Pms/Ozon/__init__.py +0 -0
  89. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Pms/Sber/__init__.py +0 -0
  90. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Pms/Tinkoff/__init__.py +0 -0
  91. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Pms/Tinkoff/state.json +0 -0
  92. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Pms/Volet/__init__.py +0 -0
  93. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Pms/Volet/_todo_req/req.mjs +0 -0
  94. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Pms/Volet/_todo_req/req.py +0 -0
  95. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Pms/Volet/api.py +0 -0
  96. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/Pms/Volet/pl.py +0 -0
  97. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/TgWallet/agent.py +0 -0
  98. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/TgWallet/asset.py +0 -0
  99. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/TgWallet/auth.py +0 -0
  100. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/TgWallet/ex.py +0 -0
  101. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/TgWallet/inAgent.py +0 -0
  102. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/TgWallet/order.py +0 -0
  103. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/TgWallet/pyd.py +0 -0
  104. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/TgWallet/pyro.py +0 -0
  105. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/TgWallet/web.py +0 -0
  106. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/__init__.py +0 -0
  107. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/loader.py +0 -0
  108. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client/pm_unifier.py +0 -0
  109. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client.egg-info/SOURCES.txt +0 -0
  110. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client.egg-info/dependency_links.txt +0 -0
  111. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/xync_client.egg-info/requires.txt +0 -0
  112. {xync_client-0.0.57.dev16 → xync_client-0.0.57.dev19}/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.57.dev16
3
+ Version: 0.0.57.dev19
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
@@ -43,7 +43,7 @@ Repository = "https://gitlab.com/XyncNet/client"
43
43
  packages = ["xync_client"]
44
44
 
45
45
  [build-system]
46
- requires = ["setuptools>=72", "setuptools-scm[toml]>=8"]
46
+ requires = ["setuptools<81", "setuptools-scm[toml]>=8"]
47
47
  build-backend = "setuptools.build_meta"
48
48
  [tool.setuptools_scm]
49
49
  version_scheme = "python-simplified-semver" # if "feature" in `branch_name` SEMVER_MINOR++ else SEMVER_PATCH++
@@ -19,7 +19,7 @@ from x_model import init_db
19
19
  from xync_schema import models
20
20
  from xync_schema.enums import OrderStatus
21
21
 
22
- from xync_schema.models import Cur, Actor, Cond, Direction, CondSim, Person, Pmcur
22
+ from xync_schema.models import Actor, Cond, Direction, CondSim, Pmcur
23
23
 
24
24
  from xync_client.Abc.Agent import BaseAgentClient
25
25
  from xync_client.Abc.xtype import BaseOrderReq, FlatDict
@@ -89,14 +89,14 @@ class AgentClient(BaseAgentClient): # Bybit client
89
89
 
90
90
  """ Private METHs"""
91
91
 
92
- def fiat_new(self, payment_type: int, real_name: str, account_number: str) -> FlatDict:
93
- method1 = self._post(
92
+ async def fiat_new(self, payment_type: int, real_name: str, account_number: str) -> FlatDict | None:
93
+ method1 = await self._post(
94
94
  "/fiat/otc/user/payment/new_create",
95
95
  {"paymentType": payment_type, "realName": real_name, "accountNo": account_number, "securityRiskToken": ""},
96
96
  )
97
97
  if srt := method1["result"]["securityRiskToken"]:
98
- self._check_2fa(srt)
99
- method2 = self._post(
98
+ await self._check_2fa(srt)
99
+ method2 = await self._post(
100
100
  "/fiat/otc/user/payment/new_create",
101
101
  {
102
102
  "paymentType": payment_type,
@@ -107,20 +107,20 @@ class AgentClient(BaseAgentClient): # Bybit client
107
107
  )
108
108
  return method2
109
109
  else:
110
- print(method1)
110
+ return logging.exception(method1)
111
111
 
112
- def get_payment_method(self, fiat_id: int = None) -> dict:
113
- list_methods = self.get_user_pay_methods()
112
+ async def get_payment_method(self, fiat_id: int = None) -> dict:
113
+ list_methods = self.creds()
114
114
  if fiat_id:
115
115
  fiat = [m for m in list_methods if m["id"] == fiat_id][0]
116
116
  return fiat
117
117
  return list_methods[1]
118
118
 
119
- def creds(self) -> list[CredEpyd]:
119
+ def creds(self) -> dict[int, CredEpyd]:
120
120
  data = self.api.get_user_payment_types()
121
121
  if data["ret_code"] > 0:
122
122
  return data
123
- return [CredEpyd.model_validate(credex) for credex in data["result"]]
123
+ return {credex.id: CredEpyd.model_validate(credex) for credex in data["result"]}
124
124
 
125
125
  async def cred_epyd2db(self, ecdx: CredEpyd, pers_id: int = None, cur_id: int = None) -> models.CredEx | None:
126
126
  if ecdx.paymentType in (416,):
@@ -216,10 +216,6 @@ class AgentClient(BaseAgentClient): # Bybit client
216
216
  ads = [ad for ad in list_ads if set(ad["payments"]) - {"5", "51"}]
217
217
  return float(ads[0]["price"])
218
218
 
219
- async def my_fiats(self, cur: Cur = None):
220
- upm = await self._post("/fiat/otc/user/payment/list")
221
- return upm["result"]
222
-
223
219
  def get_user_ads(self, active: bool = True) -> list:
224
220
  uo = self._post("/fiat/otc/item/personal/list", {"page": "1", "size": "10", "status": "2" if active else "0"})
225
221
  return uo["result"]["items"]
@@ -415,10 +411,16 @@ class AgentClient(BaseAgentClient): # Bybit client
415
411
  ad = Ad(**self.api.get_ad_details(itemId=order.itemId)["result"])
416
412
  await sleep(1)
417
413
  maker_name = o.buyerRealName, o.sellerRealName
418
- seller_person, _ = await Person.get_or_create(name=o.sellerRealName)
419
- im_maker = order.makerUserId == o.userId
420
- taker_id = (o.userId, o.targetUserId)[int(im_maker)]
421
- taker_nick = (self.actor.name, o.targetNickName)[int(im_maker)]
414
+ im_maker = int(order.makerUserId == o.userId)
415
+ taker_id = (o.userId, o.targetUserId)[im_maker]
416
+ taker_person = await self.person_upsert(maker_name[::-1][ad.side], taker_id)
417
+ im_seller = o.side == im_maker
418
+ if not im_maker:
419
+ ...
420
+ seller_person = (
421
+ self.actor.person if im_seller else await self.person_upsert(o.sellerRealName, int(o.targetUserId))
422
+ )
423
+ taker_nick = (self.actor.name, o.targetNickName)[im_maker] # todo: check
422
424
  ad_db, cond_isnew = await self.cond_upsert(ad, maker_name[ad.side], force=True)
423
425
  if not ad_db:
424
426
  ...
@@ -459,7 +461,6 @@ class AgentClient(BaseAgentClient): # Bybit client
459
461
  extra=extr,
460
462
  )
461
463
  credex = await models.CredEx.create(exid=ecredex.id, ex=self.ex_client.ex, cred=crd)
462
- taker_person, _ = await Person.get_or_create(name=maker_name[::-1][ad.side])
463
464
  try:
464
465
  taker, _ = await Actor.get_or_create(
465
466
  {"name": taker_nick, "person": taker_person}, ex=self.ex_client.ex, exid=taker_id
@@ -482,8 +483,8 @@ class AgentClient(BaseAgentClient): # Bybit client
482
483
  )
483
484
  dmsgs = self.api.get_chat_messages(orderId=oid, size=200)["result"]["result"][::-1]
484
485
  msgs = [Message.model_validate(m) for m in dmsgs if m["msgType"] in (1, 2, 7, 8)]
485
- if ad.remark and ad.remark != (remark := msgs.pop(0).message):
486
- logging.warning(f"Order{oid} Ad#{ad.id} Remark changed:\n{remark}\n|\nV\n{ad.remark}")
486
+ if ad.remark:
487
+ msgs.pop(0)
487
488
  msgs_db = [
488
489
  models.Msg(
489
490
  order=order_db,
@@ -762,12 +763,20 @@ class AgentClient(BaseAgentClient): # Bybit client
762
763
 
763
764
  return await self.ad_create(ad, new_cond.id), True
764
765
 
766
+ async def person_upsert(self, name: str, exid: int) -> models.Person:
767
+ if actor := await models.Actor.get_or_none(exid=exid, ex=self.ex_client.ex).prefetch_related("person"):
768
+ if not actor.person:
769
+ actor.person = await models.Person.create(name=name)
770
+ await actor.save()
771
+ return actor.person
772
+ return await models.Person.create(name=name)
773
+
765
774
  async def ad_create(self, ad: Ad, cid: int, rname: str = None, dr: Direction = None) -> models.Ad:
766
775
  act_df = {}
767
776
  if int(ad.userId) != self.actor.exid:
768
777
  act_df |= {"name": ad.nickName}
769
778
  if rname:
770
- act_df |= {"person": (await Person.get_or_create(name=rname))[0]}
779
+ act_df |= {"person": await self.person_upsert(rname, int(ad.userId))}
771
780
  actor, _ = await Actor.update_or_create(act_df, exid=ad.userId, ex=self.ex_client.ex)
772
781
  ad_db = await models.Ad.create(
773
782
  price=ad.price,
@@ -920,7 +929,7 @@ async def main():
920
929
  cl.battle(usdc, rub, True, ["volet"], 79),
921
930
  cl.take(usdt, rub, False, ceil=80.5, volume=360),
922
931
  cl.take(usdt, rub, True, ceil=80.5, volume=360),
923
- cl.get_api_orders(14),
932
+ cl.get_api_orders(48),
924
933
  )
925
934
 
926
935
  bor = BaseOrderReq(
@@ -154,7 +154,7 @@ class OrderItem(BaseModel):
154
154
  notifyTokenId: str
155
155
  fee: str
156
156
  targetNickName: str
157
- targetUserId: str
157
+ targetUserId: str # не я
158
158
  status: Literal[
159
159
  5, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110
160
160
  ] # 5: waiting for chain (only web3), 10: waiting for buyer to pay, 20: waiting for seller to release, 30: appealing, 40: order cancelled, 50: order finished, 60: paying (only when paying online), 70: pay fail (only when paying online), 80: exception cancelled (the coin convert to other coin, only hotswap), 90: waiting for buyer to select tokenId, 100: objectioning, 110: waiting for the user to raise an objection
@@ -162,7 +162,7 @@ class OrderItem(BaseModel):
162
162
  createDate: str
163
163
  transferLastSeconds: str
164
164
  appealLastSeconds: str
165
- userId: str
165
+ userId: str # я
166
166
  sellerRealName: str
167
167
  buyerRealName: str
168
168
  judgeInfo: JudgeInfo
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xync-client
3
- Version: 0.0.57.dev16
3
+ Version: 0.0.57.dev19
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