antchain-ak-d3c4f09125a14cd587057c405561809a 1.0.0__py3-none-any.whl

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.
@@ -0,0 +1,1807 @@
1
+ # -*- coding: utf-8 -*-
2
+ # This file is auto-generated, don't edit it. Thanks.
3
+ from Tea.model import TeaModel
4
+ from typing import List
5
+
6
+
7
+ class Config(TeaModel):
8
+ """
9
+ Model for initing client
10
+ """
11
+ def __init__(
12
+ self,
13
+ access_key_id: str = None,
14
+ access_key_secret: str = None,
15
+ security_token: str = None,
16
+ protocol: str = None,
17
+ read_timeout: int = None,
18
+ connect_timeout: int = None,
19
+ http_proxy: str = None,
20
+ https_proxy: str = None,
21
+ endpoint: str = None,
22
+ no_proxy: str = None,
23
+ max_idle_conns: int = None,
24
+ user_agent: str = None,
25
+ socks_5proxy: str = None,
26
+ socks_5net_work: str = None,
27
+ max_idle_time_millis: int = None,
28
+ keep_alive_duration_millis: int = None,
29
+ max_requests: int = None,
30
+ max_requests_per_host: int = None,
31
+ ):
32
+ # accesskey id
33
+ self.access_key_id = access_key_id
34
+ # accesskey secret
35
+ self.access_key_secret = access_key_secret
36
+ # security token
37
+ self.security_token = security_token
38
+ # http protocol
39
+ self.protocol = protocol
40
+ # read timeout
41
+ self.read_timeout = read_timeout
42
+ # connect timeout
43
+ self.connect_timeout = connect_timeout
44
+ # http proxy
45
+ self.http_proxy = http_proxy
46
+ # https proxy
47
+ self.https_proxy = https_proxy
48
+ # endpoint
49
+ self.endpoint = endpoint
50
+ # proxy white list
51
+ self.no_proxy = no_proxy
52
+ # max idle conns
53
+ self.max_idle_conns = max_idle_conns
54
+ # user agent
55
+ self.user_agent = user_agent
56
+ # socks5 proxy
57
+ self.socks_5proxy = socks_5proxy
58
+ # socks5 network
59
+ self.socks_5net_work = socks_5net_work
60
+ # 长链接最大空闲时长
61
+ self.max_idle_time_millis = max_idle_time_millis
62
+ # 长链接最大连接时长
63
+ self.keep_alive_duration_millis = keep_alive_duration_millis
64
+ # 最大连接数(长链接最大总数)
65
+ self.max_requests = max_requests
66
+ # 每个目标主机的最大连接数(分主机域名的长链接最大总数
67
+ self.max_requests_per_host = max_requests_per_host
68
+
69
+ def validate(self):
70
+ pass
71
+
72
+ def to_map(self):
73
+ _map = super().to_map()
74
+ if _map is not None:
75
+ return _map
76
+
77
+ result = dict()
78
+ if self.access_key_id is not None:
79
+ result['accessKeyId'] = self.access_key_id
80
+ if self.access_key_secret is not None:
81
+ result['accessKeySecret'] = self.access_key_secret
82
+ if self.security_token is not None:
83
+ result['securityToken'] = self.security_token
84
+ if self.protocol is not None:
85
+ result['protocol'] = self.protocol
86
+ if self.read_timeout is not None:
87
+ result['readTimeout'] = self.read_timeout
88
+ if self.connect_timeout is not None:
89
+ result['connectTimeout'] = self.connect_timeout
90
+ if self.http_proxy is not None:
91
+ result['httpProxy'] = self.http_proxy
92
+ if self.https_proxy is not None:
93
+ result['httpsProxy'] = self.https_proxy
94
+ if self.endpoint is not None:
95
+ result['endpoint'] = self.endpoint
96
+ if self.no_proxy is not None:
97
+ result['noProxy'] = self.no_proxy
98
+ if self.max_idle_conns is not None:
99
+ result['maxIdleConns'] = self.max_idle_conns
100
+ if self.user_agent is not None:
101
+ result['userAgent'] = self.user_agent
102
+ if self.socks_5proxy is not None:
103
+ result['socks5Proxy'] = self.socks_5proxy
104
+ if self.socks_5net_work is not None:
105
+ result['socks5NetWork'] = self.socks_5net_work
106
+ if self.max_idle_time_millis is not None:
107
+ result['maxIdleTimeMillis'] = self.max_idle_time_millis
108
+ if self.keep_alive_duration_millis is not None:
109
+ result['keepAliveDurationMillis'] = self.keep_alive_duration_millis
110
+ if self.max_requests is not None:
111
+ result['maxRequests'] = self.max_requests
112
+ if self.max_requests_per_host is not None:
113
+ result['maxRequestsPerHost'] = self.max_requests_per_host
114
+ return result
115
+
116
+ def from_map(self, m: dict = None):
117
+ m = m or dict()
118
+ if m.get('accessKeyId') is not None:
119
+ self.access_key_id = m.get('accessKeyId')
120
+ if m.get('accessKeySecret') is not None:
121
+ self.access_key_secret = m.get('accessKeySecret')
122
+ if m.get('securityToken') is not None:
123
+ self.security_token = m.get('securityToken')
124
+ if m.get('protocol') is not None:
125
+ self.protocol = m.get('protocol')
126
+ if m.get('readTimeout') is not None:
127
+ self.read_timeout = m.get('readTimeout')
128
+ if m.get('connectTimeout') is not None:
129
+ self.connect_timeout = m.get('connectTimeout')
130
+ if m.get('httpProxy') is not None:
131
+ self.http_proxy = m.get('httpProxy')
132
+ if m.get('httpsProxy') is not None:
133
+ self.https_proxy = m.get('httpsProxy')
134
+ if m.get('endpoint') is not None:
135
+ self.endpoint = m.get('endpoint')
136
+ if m.get('noProxy') is not None:
137
+ self.no_proxy = m.get('noProxy')
138
+ if m.get('maxIdleConns') is not None:
139
+ self.max_idle_conns = m.get('maxIdleConns')
140
+ if m.get('userAgent') is not None:
141
+ self.user_agent = m.get('userAgent')
142
+ if m.get('socks5Proxy') is not None:
143
+ self.socks_5proxy = m.get('socks5Proxy')
144
+ if m.get('socks5NetWork') is not None:
145
+ self.socks_5net_work = m.get('socks5NetWork')
146
+ if m.get('maxIdleTimeMillis') is not None:
147
+ self.max_idle_time_millis = m.get('maxIdleTimeMillis')
148
+ if m.get('keepAliveDurationMillis') is not None:
149
+ self.keep_alive_duration_millis = m.get('keepAliveDurationMillis')
150
+ if m.get('maxRequests') is not None:
151
+ self.max_requests = m.get('maxRequests')
152
+ if m.get('maxRequestsPerHost') is not None:
153
+ self.max_requests_per_host = m.get('maxRequestsPerHost')
154
+ return self
155
+
156
+
157
+ class LoginAccountTypeBO(TeaModel):
158
+ def __init__(
159
+ self,
160
+ user_login_type: str = None,
161
+ login_name: str = None,
162
+ ):
163
+ # 登录类型
164
+ self.user_login_type = user_login_type
165
+ # 登录名称
166
+ self.login_name = login_name
167
+
168
+ def validate(self):
169
+ pass
170
+
171
+ def to_map(self):
172
+ _map = super().to_map()
173
+ if _map is not None:
174
+ return _map
175
+
176
+ result = dict()
177
+ if self.user_login_type is not None:
178
+ result['user_login_type'] = self.user_login_type
179
+ if self.login_name is not None:
180
+ result['login_name'] = self.login_name
181
+ return result
182
+
183
+ def from_map(self, m: dict = None):
184
+ m = m or dict()
185
+ if m.get('user_login_type') is not None:
186
+ self.user_login_type = m.get('user_login_type')
187
+ if m.get('login_name') is not None:
188
+ self.login_name = m.get('login_name')
189
+ return self
190
+
191
+
192
+ class CrossChainBonusAccountsDetailVO(TeaModel):
193
+ def __init__(
194
+ self,
195
+ id: str = None,
196
+ transaction_hash: str = None,
197
+ pre_balance: str = None,
198
+ transaction_amount: str = None,
199
+ post_balance: str = None,
200
+ transaction_type: str = None,
201
+ counter_address: str = None,
202
+ gmt_created: int = None,
203
+ gmt_modified: int = None,
204
+ ):
205
+ # 明细ID
206
+ self.id = id
207
+ # 交易链上Hash
208
+ self.transaction_hash = transaction_hash
209
+ # 交易前余额
210
+ self.pre_balance = pre_balance
211
+ # 交易数量
212
+ self.transaction_amount = transaction_amount
213
+ # 交易后余额
214
+ self.post_balance = post_balance
215
+ # 交易类型
216
+ self.transaction_type = transaction_type
217
+ # 对手地址
218
+ self.counter_address = counter_address
219
+ # 创建时间
220
+ self.gmt_created = gmt_created
221
+ # 更新时间
222
+ self.gmt_modified = gmt_modified
223
+
224
+ def validate(self):
225
+ pass
226
+
227
+ def to_map(self):
228
+ _map = super().to_map()
229
+ if _map is not None:
230
+ return _map
231
+
232
+ result = dict()
233
+ if self.id is not None:
234
+ result['id'] = self.id
235
+ if self.transaction_hash is not None:
236
+ result['transaction_hash'] = self.transaction_hash
237
+ if self.pre_balance is not None:
238
+ result['pre_balance'] = self.pre_balance
239
+ if self.transaction_amount is not None:
240
+ result['transaction_amount'] = self.transaction_amount
241
+ if self.post_balance is not None:
242
+ result['post_balance'] = self.post_balance
243
+ if self.transaction_type is not None:
244
+ result['transaction_type'] = self.transaction_type
245
+ if self.counter_address is not None:
246
+ result['counter_address'] = self.counter_address
247
+ if self.gmt_created is not None:
248
+ result['gmt_created'] = self.gmt_created
249
+ if self.gmt_modified is not None:
250
+ result['gmt_modified'] = self.gmt_modified
251
+ return result
252
+
253
+ def from_map(self, m: dict = None):
254
+ m = m or dict()
255
+ if m.get('id') is not None:
256
+ self.id = m.get('id')
257
+ if m.get('transaction_hash') is not None:
258
+ self.transaction_hash = m.get('transaction_hash')
259
+ if m.get('pre_balance') is not None:
260
+ self.pre_balance = m.get('pre_balance')
261
+ if m.get('transaction_amount') is not None:
262
+ self.transaction_amount = m.get('transaction_amount')
263
+ if m.get('post_balance') is not None:
264
+ self.post_balance = m.get('post_balance')
265
+ if m.get('transaction_type') is not None:
266
+ self.transaction_type = m.get('transaction_type')
267
+ if m.get('counter_address') is not None:
268
+ self.counter_address = m.get('counter_address')
269
+ if m.get('gmt_created') is not None:
270
+ self.gmt_created = m.get('gmt_created')
271
+ if m.get('gmt_modified') is not None:
272
+ self.gmt_modified = m.get('gmt_modified')
273
+ return self
274
+
275
+
276
+ class CrossChainAccountsDetailVO(TeaModel):
277
+ def __init__(
278
+ self,
279
+ id: str = None,
280
+ transaction_hash: str = None,
281
+ pre_balance: str = None,
282
+ transaction_amount: str = None,
283
+ post_balance: str = None,
284
+ transaction_type: str = None,
285
+ counter_address: str = None,
286
+ gmt_created: int = None,
287
+ gmt_modified: int = None,
288
+ ):
289
+ # 明细ID
290
+ self.id = id
291
+ # 交易链上Hash
292
+ self.transaction_hash = transaction_hash
293
+ # 交易前余额
294
+ self.pre_balance = pre_balance
295
+ # 交易数量
296
+ self.transaction_amount = transaction_amount
297
+ # 交易后余额
298
+ self.post_balance = post_balance
299
+ # 交易类别
300
+ self.transaction_type = transaction_type
301
+ # 对手地址
302
+ self.counter_address = counter_address
303
+ # 创建时间
304
+ self.gmt_created = gmt_created
305
+ # 更新时间
306
+ self.gmt_modified = gmt_modified
307
+
308
+ def validate(self):
309
+ pass
310
+
311
+ def to_map(self):
312
+ _map = super().to_map()
313
+ if _map is not None:
314
+ return _map
315
+
316
+ result = dict()
317
+ if self.id is not None:
318
+ result['id'] = self.id
319
+ if self.transaction_hash is not None:
320
+ result['transaction_hash'] = self.transaction_hash
321
+ if self.pre_balance is not None:
322
+ result['pre_balance'] = self.pre_balance
323
+ if self.transaction_amount is not None:
324
+ result['transaction_amount'] = self.transaction_amount
325
+ if self.post_balance is not None:
326
+ result['post_balance'] = self.post_balance
327
+ if self.transaction_type is not None:
328
+ result['transaction_type'] = self.transaction_type
329
+ if self.counter_address is not None:
330
+ result['counter_address'] = self.counter_address
331
+ if self.gmt_created is not None:
332
+ result['gmt_created'] = self.gmt_created
333
+ if self.gmt_modified is not None:
334
+ result['gmt_modified'] = self.gmt_modified
335
+ return result
336
+
337
+ def from_map(self, m: dict = None):
338
+ m = m or dict()
339
+ if m.get('id') is not None:
340
+ self.id = m.get('id')
341
+ if m.get('transaction_hash') is not None:
342
+ self.transaction_hash = m.get('transaction_hash')
343
+ if m.get('pre_balance') is not None:
344
+ self.pre_balance = m.get('pre_balance')
345
+ if m.get('transaction_amount') is not None:
346
+ self.transaction_amount = m.get('transaction_amount')
347
+ if m.get('post_balance') is not None:
348
+ self.post_balance = m.get('post_balance')
349
+ if m.get('transaction_type') is not None:
350
+ self.transaction_type = m.get('transaction_type')
351
+ if m.get('counter_address') is not None:
352
+ self.counter_address = m.get('counter_address')
353
+ if m.get('gmt_created') is not None:
354
+ self.gmt_created = m.get('gmt_created')
355
+ if m.get('gmt_modified') is not None:
356
+ self.gmt_modified = m.get('gmt_modified')
357
+ return self
358
+
359
+
360
+ class CrossChainAccountsVO(TeaModel):
361
+ def __init__(
362
+ self,
363
+ cross_chain_user_address: str = None,
364
+ cross_chain_user_account_id: str = None,
365
+ cross_chain_user_bonus_account_id: str = None,
366
+ cross_chain_user_accounts_details: List[CrossChainAccountsDetailVO] = None,
367
+ cross_chain_bonus_accounts_details: List[CrossChainBonusAccountsDetailVO] = None,
368
+ ):
369
+ # 对侧链用户地址
370
+ self.cross_chain_user_address = cross_chain_user_address
371
+ # 对侧链账户ID
372
+ self.cross_chain_user_account_id = cross_chain_user_account_id
373
+ # 对侧链红利账户ID
374
+ self.cross_chain_user_bonus_account_id = cross_chain_user_bonus_account_id
375
+ # 对侧链资产账户明细
376
+ self.cross_chain_user_accounts_details = cross_chain_user_accounts_details
377
+ # 对侧链账户信息
378
+ self.cross_chain_bonus_accounts_details = cross_chain_bonus_accounts_details
379
+
380
+ def validate(self):
381
+ if self.cross_chain_user_accounts_details:
382
+ for k in self.cross_chain_user_accounts_details:
383
+ if k:
384
+ k.validate()
385
+ if self.cross_chain_bonus_accounts_details:
386
+ for k in self.cross_chain_bonus_accounts_details:
387
+ if k:
388
+ k.validate()
389
+
390
+ def to_map(self):
391
+ _map = super().to_map()
392
+ if _map is not None:
393
+ return _map
394
+
395
+ result = dict()
396
+ if self.cross_chain_user_address is not None:
397
+ result['cross_chain_user_address'] = self.cross_chain_user_address
398
+ if self.cross_chain_user_account_id is not None:
399
+ result['cross_chain_user_account_id'] = self.cross_chain_user_account_id
400
+ if self.cross_chain_user_bonus_account_id is not None:
401
+ result['cross_chain_user_bonus_account_id'] = self.cross_chain_user_bonus_account_id
402
+ result['cross_chain_user_accounts_details'] = []
403
+ if self.cross_chain_user_accounts_details is not None:
404
+ for k in self.cross_chain_user_accounts_details:
405
+ result['cross_chain_user_accounts_details'].append(k.to_map() if k else None)
406
+ result['cross_chain_bonus_accounts_details'] = []
407
+ if self.cross_chain_bonus_accounts_details is not None:
408
+ for k in self.cross_chain_bonus_accounts_details:
409
+ result['cross_chain_bonus_accounts_details'].append(k.to_map() if k else None)
410
+ return result
411
+
412
+ def from_map(self, m: dict = None):
413
+ m = m or dict()
414
+ if m.get('cross_chain_user_address') is not None:
415
+ self.cross_chain_user_address = m.get('cross_chain_user_address')
416
+ if m.get('cross_chain_user_account_id') is not None:
417
+ self.cross_chain_user_account_id = m.get('cross_chain_user_account_id')
418
+ if m.get('cross_chain_user_bonus_account_id') is not None:
419
+ self.cross_chain_user_bonus_account_id = m.get('cross_chain_user_bonus_account_id')
420
+ self.cross_chain_user_accounts_details = []
421
+ if m.get('cross_chain_user_accounts_details') is not None:
422
+ for k in m.get('cross_chain_user_accounts_details'):
423
+ temp_model = CrossChainAccountsDetailVO()
424
+ self.cross_chain_user_accounts_details.append(temp_model.from_map(k))
425
+ self.cross_chain_bonus_accounts_details = []
426
+ if m.get('cross_chain_bonus_accounts_details') is not None:
427
+ for k in m.get('cross_chain_bonus_accounts_details'):
428
+ temp_model = CrossChainBonusAccountsDetailVO()
429
+ self.cross_chain_bonus_accounts_details.append(temp_model.from_map(k))
430
+ return self
431
+
432
+
433
+ class UserOperatorInfoBO(TeaModel):
434
+ def __init__(
435
+ self,
436
+ user_id: str = None,
437
+ alias: str = None,
438
+ address: str = None,
439
+ user_login_account_list: List[LoginAccountTypeBO] = None,
440
+ user_institution_type_list: List[str] = None,
441
+ ):
442
+ # userId
443
+ self.user_id = user_id
444
+ # 别名
445
+ self.alias = alias
446
+ # 钱包地址
447
+ self.address = address
448
+ # 登录账号类型列表
449
+ self.user_login_account_list = user_login_account_list
450
+ # 机构类型列表
451
+ self.user_institution_type_list = user_institution_type_list
452
+
453
+ def validate(self):
454
+ if self.user_login_account_list:
455
+ for k in self.user_login_account_list:
456
+ if k:
457
+ k.validate()
458
+
459
+ def to_map(self):
460
+ _map = super().to_map()
461
+ if _map is not None:
462
+ return _map
463
+
464
+ result = dict()
465
+ if self.user_id is not None:
466
+ result['user_id'] = self.user_id
467
+ if self.alias is not None:
468
+ result['alias'] = self.alias
469
+ if self.address is not None:
470
+ result['address'] = self.address
471
+ result['user_login_account_list'] = []
472
+ if self.user_login_account_list is not None:
473
+ for k in self.user_login_account_list:
474
+ result['user_login_account_list'].append(k.to_map() if k else None)
475
+ if self.user_institution_type_list is not None:
476
+ result['user_institution_type_list'] = self.user_institution_type_list
477
+ return result
478
+
479
+ def from_map(self, m: dict = None):
480
+ m = m or dict()
481
+ if m.get('user_id') is not None:
482
+ self.user_id = m.get('user_id')
483
+ if m.get('alias') is not None:
484
+ self.alias = m.get('alias')
485
+ if m.get('address') is not None:
486
+ self.address = m.get('address')
487
+ self.user_login_account_list = []
488
+ if m.get('user_login_account_list') is not None:
489
+ for k in m.get('user_login_account_list'):
490
+ temp_model = LoginAccountTypeBO()
491
+ self.user_login_account_list.append(temp_model.from_map(k))
492
+ if m.get('user_institution_type_list') is not None:
493
+ self.user_institution_type_list = m.get('user_institution_type_list')
494
+ return self
495
+
496
+
497
+ class ParticipantInfo(TeaModel):
498
+ def __init__(
499
+ self,
500
+ id: str = None,
501
+ type: str = None,
502
+ name: str = None,
503
+ ):
504
+ # 机构id
505
+ self.id = id
506
+ # 二级机构类型
507
+ self.type = type
508
+ # 机构名称
509
+ self.name = name
510
+
511
+ def validate(self):
512
+ self.validate_required(self.id, 'id')
513
+ self.validate_required(self.type, 'type')
514
+
515
+ def to_map(self):
516
+ _map = super().to_map()
517
+ if _map is not None:
518
+ return _map
519
+
520
+ result = dict()
521
+ if self.id is not None:
522
+ result['id'] = self.id
523
+ if self.type is not None:
524
+ result['type'] = self.type
525
+ if self.name is not None:
526
+ result['name'] = self.name
527
+ return result
528
+
529
+ def from_map(self, m: dict = None):
530
+ m = m or dict()
531
+ if m.get('id') is not None:
532
+ self.id = m.get('id')
533
+ if m.get('type') is not None:
534
+ self.type = m.get('type')
535
+ if m.get('name') is not None:
536
+ self.name = m.get('name')
537
+ return self
538
+
539
+
540
+ class ProjectWithRole(TeaModel):
541
+ def __init__(
542
+ self,
543
+ project_id: str = None,
544
+ projcet_name: str = None,
545
+ description: str = None,
546
+ token_name: str = None,
547
+ capacity: str = None,
548
+ net_value: str = None,
549
+ price_type: str = None,
550
+ project_net_value: str = None,
551
+ max_subscription_amount: str = None,
552
+ deployment_type: str = None,
553
+ chain_type: str = None,
554
+ user_operator_list: List[UserOperatorInfoBO] = None,
555
+ participant_infos: List[ParticipantInfo] = None,
556
+ ):
557
+ # 项目id
558
+ self.project_id = project_id
559
+ # 项目名称
560
+ self.projcet_name = projcet_name
561
+ # 描述
562
+ self.description = description
563
+ # token名称
564
+ self.token_name = token_name
565
+ # 最大供应量
566
+ self.capacity = capacity
567
+ # 净值
568
+ self.net_value = net_value
569
+ # 价格类型
570
+ self.price_type = price_type
571
+ # 项目净值
572
+ self.project_net_value = project_net_value
573
+ # 最大限额
574
+ self.max_subscription_amount = max_subscription_amount
575
+ # 部署类型 DIRECT_PUBLIC_CHAIN 直发公链,NORMAL 普通模式
576
+ self.deployment_type = deployment_type
577
+ # 项目所在链
578
+ self.chain_type = chain_type
579
+ # 操作角色列表
580
+ self.user_operator_list = user_operator_list
581
+ # 代销者机构集合
582
+ self.participant_infos = participant_infos
583
+
584
+ def validate(self):
585
+ if self.user_operator_list:
586
+ for k in self.user_operator_list:
587
+ if k:
588
+ k.validate()
589
+ if self.participant_infos:
590
+ for k in self.participant_infos:
591
+ if k:
592
+ k.validate()
593
+
594
+ def to_map(self):
595
+ _map = super().to_map()
596
+ if _map is not None:
597
+ return _map
598
+
599
+ result = dict()
600
+ if self.project_id is not None:
601
+ result['project_id'] = self.project_id
602
+ if self.projcet_name is not None:
603
+ result['projcet_name'] = self.projcet_name
604
+ if self.description is not None:
605
+ result['description'] = self.description
606
+ if self.token_name is not None:
607
+ result['token_name'] = self.token_name
608
+ if self.capacity is not None:
609
+ result['capacity'] = self.capacity
610
+ if self.net_value is not None:
611
+ result['net_value'] = self.net_value
612
+ if self.price_type is not None:
613
+ result['price_type'] = self.price_type
614
+ if self.project_net_value is not None:
615
+ result['project_net_value'] = self.project_net_value
616
+ if self.max_subscription_amount is not None:
617
+ result['max_subscription_amount'] = self.max_subscription_amount
618
+ if self.deployment_type is not None:
619
+ result['deployment_type'] = self.deployment_type
620
+ if self.chain_type is not None:
621
+ result['chain_type'] = self.chain_type
622
+ result['user_operator_list'] = []
623
+ if self.user_operator_list is not None:
624
+ for k in self.user_operator_list:
625
+ result['user_operator_list'].append(k.to_map() if k else None)
626
+ result['participant_infos'] = []
627
+ if self.participant_infos is not None:
628
+ for k in self.participant_infos:
629
+ result['participant_infos'].append(k.to_map() if k else None)
630
+ return result
631
+
632
+ def from_map(self, m: dict = None):
633
+ m = m or dict()
634
+ if m.get('project_id') is not None:
635
+ self.project_id = m.get('project_id')
636
+ if m.get('projcet_name') is not None:
637
+ self.projcet_name = m.get('projcet_name')
638
+ if m.get('description') is not None:
639
+ self.description = m.get('description')
640
+ if m.get('token_name') is not None:
641
+ self.token_name = m.get('token_name')
642
+ if m.get('capacity') is not None:
643
+ self.capacity = m.get('capacity')
644
+ if m.get('net_value') is not None:
645
+ self.net_value = m.get('net_value')
646
+ if m.get('price_type') is not None:
647
+ self.price_type = m.get('price_type')
648
+ if m.get('project_net_value') is not None:
649
+ self.project_net_value = m.get('project_net_value')
650
+ if m.get('max_subscription_amount') is not None:
651
+ self.max_subscription_amount = m.get('max_subscription_amount')
652
+ if m.get('deployment_type') is not None:
653
+ self.deployment_type = m.get('deployment_type')
654
+ if m.get('chain_type') is not None:
655
+ self.chain_type = m.get('chain_type')
656
+ self.user_operator_list = []
657
+ if m.get('user_operator_list') is not None:
658
+ for k in m.get('user_operator_list'):
659
+ temp_model = UserOperatorInfoBO()
660
+ self.user_operator_list.append(temp_model.from_map(k))
661
+ self.participant_infos = []
662
+ if m.get('participant_infos') is not None:
663
+ for k in m.get('participant_infos'):
664
+ temp_model = ParticipantInfo()
665
+ self.participant_infos.append(temp_model.from_map(k))
666
+ return self
667
+
668
+
669
+ class CrossAccountListVO(TeaModel):
670
+ def __init__(
671
+ self,
672
+ project_id: str = None,
673
+ asset_project_address: str = None,
674
+ bonus_address: str = None,
675
+ user_id: str = None,
676
+ distributor_institution_id: str = None,
677
+ chain_name: str = None,
678
+ sub_user_account_id: str = None,
679
+ sub_user_bonus_account_id: str = None,
680
+ target_chain_name: str = None,
681
+ target_chain_asset_token_address: str = None,
682
+ target_chain_bonus_address: str = None,
683
+ cross_chain_accounts_info: List[CrossChainAccountsVO] = None,
684
+ ):
685
+ # 项目ID
686
+ self.project_id = project_id
687
+ # 资产项目合约地址
688
+ self.asset_project_address = asset_project_address
689
+ # 红利合约地址
690
+ self.bonus_address = bonus_address
691
+ # 用户ID
692
+ self.user_id = user_id
693
+ # 代销机构ID
694
+ self.distributor_institution_id = distributor_institution_id
695
+ # 发行链名称
696
+ self.chain_name = chain_name
697
+ # 投资者用户账户ID
698
+ self.sub_user_account_id = sub_user_account_id
699
+ # 投资者用户红利账户ID
700
+ self.sub_user_bonus_account_id = sub_user_bonus_account_id
701
+ # 目标链名称
702
+ self.target_chain_name = target_chain_name
703
+ # 目标链资产合约地址
704
+ self.target_chain_asset_token_address = target_chain_asset_token_address
705
+ # 目标链红利合约地址
706
+ self.target_chain_bonus_address = target_chain_bonus_address
707
+ # 对侧链账户信息
708
+ self.cross_chain_accounts_info = cross_chain_accounts_info
709
+
710
+ def validate(self):
711
+ if self.cross_chain_accounts_info:
712
+ for k in self.cross_chain_accounts_info:
713
+ if k:
714
+ k.validate()
715
+
716
+ def to_map(self):
717
+ _map = super().to_map()
718
+ if _map is not None:
719
+ return _map
720
+
721
+ result = dict()
722
+ if self.project_id is not None:
723
+ result['project_id'] = self.project_id
724
+ if self.asset_project_address is not None:
725
+ result['asset_project_address'] = self.asset_project_address
726
+ if self.bonus_address is not None:
727
+ result['bonus_address'] = self.bonus_address
728
+ if self.user_id is not None:
729
+ result['user_id'] = self.user_id
730
+ if self.distributor_institution_id is not None:
731
+ result['distributor_institution_id'] = self.distributor_institution_id
732
+ if self.chain_name is not None:
733
+ result['chain_name'] = self.chain_name
734
+ if self.sub_user_account_id is not None:
735
+ result['sub_user_account_id'] = self.sub_user_account_id
736
+ if self.sub_user_bonus_account_id is not None:
737
+ result['sub_user_bonus_account_id'] = self.sub_user_bonus_account_id
738
+ if self.target_chain_name is not None:
739
+ result['target_chain_name'] = self.target_chain_name
740
+ if self.target_chain_asset_token_address is not None:
741
+ result['target_chain_asset_token_address'] = self.target_chain_asset_token_address
742
+ if self.target_chain_bonus_address is not None:
743
+ result['target_chain_bonus_address'] = self.target_chain_bonus_address
744
+ result['cross_chain_accounts_info'] = []
745
+ if self.cross_chain_accounts_info is not None:
746
+ for k in self.cross_chain_accounts_info:
747
+ result['cross_chain_accounts_info'].append(k.to_map() if k else None)
748
+ return result
749
+
750
+ def from_map(self, m: dict = None):
751
+ m = m or dict()
752
+ if m.get('project_id') is not None:
753
+ self.project_id = m.get('project_id')
754
+ if m.get('asset_project_address') is not None:
755
+ self.asset_project_address = m.get('asset_project_address')
756
+ if m.get('bonus_address') is not None:
757
+ self.bonus_address = m.get('bonus_address')
758
+ if m.get('user_id') is not None:
759
+ self.user_id = m.get('user_id')
760
+ if m.get('distributor_institution_id') is not None:
761
+ self.distributor_institution_id = m.get('distributor_institution_id')
762
+ if m.get('chain_name') is not None:
763
+ self.chain_name = m.get('chain_name')
764
+ if m.get('sub_user_account_id') is not None:
765
+ self.sub_user_account_id = m.get('sub_user_account_id')
766
+ if m.get('sub_user_bonus_account_id') is not None:
767
+ self.sub_user_bonus_account_id = m.get('sub_user_bonus_account_id')
768
+ if m.get('target_chain_name') is not None:
769
+ self.target_chain_name = m.get('target_chain_name')
770
+ if m.get('target_chain_asset_token_address') is not None:
771
+ self.target_chain_asset_token_address = m.get('target_chain_asset_token_address')
772
+ if m.get('target_chain_bonus_address') is not None:
773
+ self.target_chain_bonus_address = m.get('target_chain_bonus_address')
774
+ self.cross_chain_accounts_info = []
775
+ if m.get('cross_chain_accounts_info') is not None:
776
+ for k in m.get('cross_chain_accounts_info'):
777
+ temp_model = CrossChainAccountsVO()
778
+ self.cross_chain_accounts_info.append(temp_model.from_map(k))
779
+ return self
780
+
781
+
782
+ class SubUserAccountVO(TeaModel):
783
+ def __init__(
784
+ self,
785
+ user_account_id: str = None,
786
+ user_id: str = None,
787
+ user_address: str = None,
788
+ user_target: str = None,
789
+ user_balance: str = None,
790
+ asset_project_id: str = None,
791
+ asset_project_name: str = None,
792
+ institution_id: str = None,
793
+ institution_name: str = None,
794
+ ):
795
+ # 用户账户id
796
+ self.user_account_id = user_account_id
797
+ # 用户id
798
+ self.user_id = user_id
799
+ # 用户地址
800
+ self.user_address = user_address
801
+ # 用户资产配额
802
+ self.user_target = user_target
803
+ # 用户资产
804
+ self.user_balance = user_balance
805
+ # 项目id
806
+ self.asset_project_id = asset_project_id
807
+ # 项目名称
808
+ self.asset_project_name = asset_project_name
809
+ # 用户所属机构id
810
+ self.institution_id = institution_id
811
+ # 用户所属机构名称
812
+ self.institution_name = institution_name
813
+
814
+ def validate(self):
815
+ self.validate_required(self.user_account_id, 'user_account_id')
816
+ self.validate_required(self.user_id, 'user_id')
817
+ self.validate_required(self.user_address, 'user_address')
818
+ self.validate_required(self.user_target, 'user_target')
819
+ self.validate_required(self.user_balance, 'user_balance')
820
+ self.validate_required(self.asset_project_id, 'asset_project_id')
821
+ self.validate_required(self.asset_project_name, 'asset_project_name')
822
+ self.validate_required(self.institution_id, 'institution_id')
823
+ self.validate_required(self.institution_name, 'institution_name')
824
+
825
+ def to_map(self):
826
+ _map = super().to_map()
827
+ if _map is not None:
828
+ return _map
829
+
830
+ result = dict()
831
+ if self.user_account_id is not None:
832
+ result['user_account_id'] = self.user_account_id
833
+ if self.user_id is not None:
834
+ result['user_id'] = self.user_id
835
+ if self.user_address is not None:
836
+ result['user_address'] = self.user_address
837
+ if self.user_target is not None:
838
+ result['user_target'] = self.user_target
839
+ if self.user_balance is not None:
840
+ result['user_balance'] = self.user_balance
841
+ if self.asset_project_id is not None:
842
+ result['asset_project_id'] = self.asset_project_id
843
+ if self.asset_project_name is not None:
844
+ result['asset_project_name'] = self.asset_project_name
845
+ if self.institution_id is not None:
846
+ result['institution_id'] = self.institution_id
847
+ if self.institution_name is not None:
848
+ result['institution_name'] = self.institution_name
849
+ return result
850
+
851
+ def from_map(self, m: dict = None):
852
+ m = m or dict()
853
+ if m.get('user_account_id') is not None:
854
+ self.user_account_id = m.get('user_account_id')
855
+ if m.get('user_id') is not None:
856
+ self.user_id = m.get('user_id')
857
+ if m.get('user_address') is not None:
858
+ self.user_address = m.get('user_address')
859
+ if m.get('user_target') is not None:
860
+ self.user_target = m.get('user_target')
861
+ if m.get('user_balance') is not None:
862
+ self.user_balance = m.get('user_balance')
863
+ if m.get('asset_project_id') is not None:
864
+ self.asset_project_id = m.get('asset_project_id')
865
+ if m.get('asset_project_name') is not None:
866
+ self.asset_project_name = m.get('asset_project_name')
867
+ if m.get('institution_id') is not None:
868
+ self.institution_id = m.get('institution_id')
869
+ if m.get('institution_name') is not None:
870
+ self.institution_name = m.get('institution_name')
871
+ return self
872
+
873
+
874
+ class LoginOperationLogVO(TeaModel):
875
+ def __init__(
876
+ self,
877
+ user_id: str = None,
878
+ user_address: str = None,
879
+ login_name: str = None,
880
+ login_account_type: str = None,
881
+ request_url: str = None,
882
+ success: bool = None,
883
+ gmt_created: int = None,
884
+ ):
885
+ # 用户ID
886
+ self.user_id = user_id
887
+ # 用户地址
888
+ self.user_address = user_address
889
+ # 登录名
890
+ self.login_name = login_name
891
+ # 登录类型
892
+ self.login_account_type = login_account_type
893
+ # 请求URL
894
+ self.request_url = request_url
895
+ # 是否成功
896
+ self.success = success
897
+ # 创建时间
898
+ self.gmt_created = gmt_created
899
+
900
+ def validate(self):
901
+ self.validate_required(self.user_id, 'user_id')
902
+ self.validate_required(self.request_url, 'request_url')
903
+ self.validate_required(self.success, 'success')
904
+ self.validate_required(self.gmt_created, 'gmt_created')
905
+
906
+ def to_map(self):
907
+ _map = super().to_map()
908
+ if _map is not None:
909
+ return _map
910
+
911
+ result = dict()
912
+ if self.user_id is not None:
913
+ result['user_id'] = self.user_id
914
+ if self.user_address is not None:
915
+ result['user_address'] = self.user_address
916
+ if self.login_name is not None:
917
+ result['login_name'] = self.login_name
918
+ if self.login_account_type is not None:
919
+ result['login_account_type'] = self.login_account_type
920
+ if self.request_url is not None:
921
+ result['request_u_r_l'] = self.request_url
922
+ if self.success is not None:
923
+ result['success'] = self.success
924
+ if self.gmt_created is not None:
925
+ result['gmt_created'] = self.gmt_created
926
+ return result
927
+
928
+ def from_map(self, m: dict = None):
929
+ m = m or dict()
930
+ if m.get('user_id') is not None:
931
+ self.user_id = m.get('user_id')
932
+ if m.get('user_address') is not None:
933
+ self.user_address = m.get('user_address')
934
+ if m.get('login_name') is not None:
935
+ self.login_name = m.get('login_name')
936
+ if m.get('login_account_type') is not None:
937
+ self.login_account_type = m.get('login_account_type')
938
+ if m.get('request_u_r_l') is not None:
939
+ self.request_url = m.get('request_u_r_l')
940
+ if m.get('success') is not None:
941
+ self.success = m.get('success')
942
+ if m.get('gmt_created') is not None:
943
+ self.gmt_created = m.get('gmt_created')
944
+ return self
945
+
946
+
947
+ class QueryAntdigitalWebtrwatradeIssuerSubuserRequest(TeaModel):
948
+ def __init__(
949
+ self,
950
+ auth_token: str = None,
951
+ product_instance_id: str = None,
952
+ user_id: str = None,
953
+ project_id: str = None,
954
+ institution_id: str = None,
955
+ ):
956
+ # OAuth模式下的授权token
957
+ self.auth_token = auth_token
958
+ self.product_instance_id = product_instance_id
959
+ # 用户id
960
+ self.user_id = user_id
961
+ # 项目id
962
+ self.project_id = project_id
963
+ # 机构id
964
+ self.institution_id = institution_id
965
+
966
+ def validate(self):
967
+ self.validate_required(self.user_id, 'user_id')
968
+ self.validate_required(self.project_id, 'project_id')
969
+ self.validate_required(self.institution_id, 'institution_id')
970
+
971
+ def to_map(self):
972
+ _map = super().to_map()
973
+ if _map is not None:
974
+ return _map
975
+
976
+ result = dict()
977
+ if self.auth_token is not None:
978
+ result['auth_token'] = self.auth_token
979
+ if self.product_instance_id is not None:
980
+ result['product_instance_id'] = self.product_instance_id
981
+ if self.user_id is not None:
982
+ result['user_id'] = self.user_id
983
+ if self.project_id is not None:
984
+ result['project_id'] = self.project_id
985
+ if self.institution_id is not None:
986
+ result['institution_id'] = self.institution_id
987
+ return result
988
+
989
+ def from_map(self, m: dict = None):
990
+ m = m or dict()
991
+ if m.get('auth_token') is not None:
992
+ self.auth_token = m.get('auth_token')
993
+ if m.get('product_instance_id') is not None:
994
+ self.product_instance_id = m.get('product_instance_id')
995
+ if m.get('user_id') is not None:
996
+ self.user_id = m.get('user_id')
997
+ if m.get('project_id') is not None:
998
+ self.project_id = m.get('project_id')
999
+ if m.get('institution_id') is not None:
1000
+ self.institution_id = m.get('institution_id')
1001
+ return self
1002
+
1003
+
1004
+ class QueryAntdigitalWebtrwatradeIssuerSubuserResponse(TeaModel):
1005
+ def __init__(
1006
+ self,
1007
+ req_msg_id: str = None,
1008
+ result_code: str = None,
1009
+ result_msg: str = None,
1010
+ data: SubUserAccountVO = None,
1011
+ ):
1012
+ # 请求唯一ID,用于链路跟踪和问题排查
1013
+ self.req_msg_id = req_msg_id
1014
+ # 结果码,一般OK表示调用成功
1015
+ self.result_code = result_code
1016
+ # 异常信息的文本描述
1017
+ self.result_msg = result_msg
1018
+ # 二级用户信息
1019
+ self.data = data
1020
+
1021
+ def validate(self):
1022
+ if self.data:
1023
+ self.data.validate()
1024
+
1025
+ def to_map(self):
1026
+ _map = super().to_map()
1027
+ if _map is not None:
1028
+ return _map
1029
+
1030
+ result = dict()
1031
+ if self.req_msg_id is not None:
1032
+ result['req_msg_id'] = self.req_msg_id
1033
+ if self.result_code is not None:
1034
+ result['result_code'] = self.result_code
1035
+ if self.result_msg is not None:
1036
+ result['result_msg'] = self.result_msg
1037
+ if self.data is not None:
1038
+ result['data'] = self.data.to_map()
1039
+ return result
1040
+
1041
+ def from_map(self, m: dict = None):
1042
+ m = m or dict()
1043
+ if m.get('req_msg_id') is not None:
1044
+ self.req_msg_id = m.get('req_msg_id')
1045
+ if m.get('result_code') is not None:
1046
+ self.result_code = m.get('result_code')
1047
+ if m.get('result_msg') is not None:
1048
+ self.result_msg = m.get('result_msg')
1049
+ if m.get('data') is not None:
1050
+ temp_model = SubUserAccountVO()
1051
+ self.data = temp_model.from_map(m['data'])
1052
+ return self
1053
+
1054
+
1055
+ class QueryAntdigitalWebtrwatradeDistributorSubuserRequest(TeaModel):
1056
+ def __init__(
1057
+ self,
1058
+ auth_token: str = None,
1059
+ product_instance_id: str = None,
1060
+ user_id: str = None,
1061
+ institution_id: str = None,
1062
+ project_id: str = None,
1063
+ ):
1064
+ # OAuth模式下的授权token
1065
+ self.auth_token = auth_token
1066
+ self.product_instance_id = product_instance_id
1067
+ # 用户id
1068
+ self.user_id = user_id
1069
+ # 机构id
1070
+ self.institution_id = institution_id
1071
+ # 项目id
1072
+ self.project_id = project_id
1073
+
1074
+ def validate(self):
1075
+ self.validate_required(self.user_id, 'user_id')
1076
+ self.validate_required(self.institution_id, 'institution_id')
1077
+ self.validate_required(self.project_id, 'project_id')
1078
+
1079
+ def to_map(self):
1080
+ _map = super().to_map()
1081
+ if _map is not None:
1082
+ return _map
1083
+
1084
+ result = dict()
1085
+ if self.auth_token is not None:
1086
+ result['auth_token'] = self.auth_token
1087
+ if self.product_instance_id is not None:
1088
+ result['product_instance_id'] = self.product_instance_id
1089
+ if self.user_id is not None:
1090
+ result['user_id'] = self.user_id
1091
+ if self.institution_id is not None:
1092
+ result['institution_id'] = self.institution_id
1093
+ if self.project_id is not None:
1094
+ result['project_id'] = self.project_id
1095
+ return result
1096
+
1097
+ def from_map(self, m: dict = None):
1098
+ m = m or dict()
1099
+ if m.get('auth_token') is not None:
1100
+ self.auth_token = m.get('auth_token')
1101
+ if m.get('product_instance_id') is not None:
1102
+ self.product_instance_id = m.get('product_instance_id')
1103
+ if m.get('user_id') is not None:
1104
+ self.user_id = m.get('user_id')
1105
+ if m.get('institution_id') is not None:
1106
+ self.institution_id = m.get('institution_id')
1107
+ if m.get('project_id') is not None:
1108
+ self.project_id = m.get('project_id')
1109
+ return self
1110
+
1111
+
1112
+ class QueryAntdigitalWebtrwatradeDistributorSubuserResponse(TeaModel):
1113
+ def __init__(
1114
+ self,
1115
+ req_msg_id: str = None,
1116
+ result_code: str = None,
1117
+ result_msg: str = None,
1118
+ data: SubUserAccountVO = None,
1119
+ ):
1120
+ # 请求唯一ID,用于链路跟踪和问题排查
1121
+ self.req_msg_id = req_msg_id
1122
+ # 结果码,一般OK表示调用成功
1123
+ self.result_code = result_code
1124
+ # 异常信息的文本描述
1125
+ self.result_msg = result_msg
1126
+ # 二级用户信息
1127
+ self.data = data
1128
+
1129
+ def validate(self):
1130
+ if self.data:
1131
+ self.data.validate()
1132
+
1133
+ def to_map(self):
1134
+ _map = super().to_map()
1135
+ if _map is not None:
1136
+ return _map
1137
+
1138
+ result = dict()
1139
+ if self.req_msg_id is not None:
1140
+ result['req_msg_id'] = self.req_msg_id
1141
+ if self.result_code is not None:
1142
+ result['result_code'] = self.result_code
1143
+ if self.result_msg is not None:
1144
+ result['result_msg'] = self.result_msg
1145
+ if self.data is not None:
1146
+ result['data'] = self.data.to_map()
1147
+ return result
1148
+
1149
+ def from_map(self, m: dict = None):
1150
+ m = m or dict()
1151
+ if m.get('req_msg_id') is not None:
1152
+ self.req_msg_id = m.get('req_msg_id')
1153
+ if m.get('result_code') is not None:
1154
+ self.result_code = m.get('result_code')
1155
+ if m.get('result_msg') is not None:
1156
+ self.result_msg = m.get('result_msg')
1157
+ if m.get('data') is not None:
1158
+ temp_model = SubUserAccountVO()
1159
+ self.data = temp_model.from_map(m['data'])
1160
+ return self
1161
+
1162
+
1163
+ class ListAntdigitalWebtrwatradeIssuerOperationlogRequest(TeaModel):
1164
+ def __init__(
1165
+ self,
1166
+ auth_token: str = None,
1167
+ product_instance_id: str = None,
1168
+ start_time_mills: int = None,
1169
+ end_time_mills: int = None,
1170
+ ):
1171
+ # OAuth模式下的授权token
1172
+ self.auth_token = auth_token
1173
+ self.product_instance_id = product_instance_id
1174
+ # 开始时间 (时间戳)
1175
+ self.start_time_mills = start_time_mills
1176
+ # 结束时间 (时间戳)
1177
+ self.end_time_mills = end_time_mills
1178
+
1179
+ def validate(self):
1180
+ self.validate_required(self.start_time_mills, 'start_time_mills')
1181
+ self.validate_required(self.end_time_mills, 'end_time_mills')
1182
+
1183
+ def to_map(self):
1184
+ _map = super().to_map()
1185
+ if _map is not None:
1186
+ return _map
1187
+
1188
+ result = dict()
1189
+ if self.auth_token is not None:
1190
+ result['auth_token'] = self.auth_token
1191
+ if self.product_instance_id is not None:
1192
+ result['product_instance_id'] = self.product_instance_id
1193
+ if self.start_time_mills is not None:
1194
+ result['start_time_mills'] = self.start_time_mills
1195
+ if self.end_time_mills is not None:
1196
+ result['end_time_mills'] = self.end_time_mills
1197
+ return result
1198
+
1199
+ def from_map(self, m: dict = None):
1200
+ m = m or dict()
1201
+ if m.get('auth_token') is not None:
1202
+ self.auth_token = m.get('auth_token')
1203
+ if m.get('product_instance_id') is not None:
1204
+ self.product_instance_id = m.get('product_instance_id')
1205
+ if m.get('start_time_mills') is not None:
1206
+ self.start_time_mills = m.get('start_time_mills')
1207
+ if m.get('end_time_mills') is not None:
1208
+ self.end_time_mills = m.get('end_time_mills')
1209
+ return self
1210
+
1211
+
1212
+ class ListAntdigitalWebtrwatradeIssuerOperationlogResponse(TeaModel):
1213
+ def __init__(
1214
+ self,
1215
+ req_msg_id: str = None,
1216
+ result_code: str = None,
1217
+ result_msg: str = None,
1218
+ data: List[LoginOperationLogVO] = None,
1219
+ ):
1220
+ # 请求唯一ID,用于链路跟踪和问题排查
1221
+ self.req_msg_id = req_msg_id
1222
+ # 结果码,一般OK表示调用成功
1223
+ self.result_code = result_code
1224
+ # 异常信息的文本描述
1225
+ self.result_msg = result_msg
1226
+ # 回参
1227
+ self.data = data
1228
+
1229
+ def validate(self):
1230
+ if self.data:
1231
+ for k in self.data:
1232
+ if k:
1233
+ k.validate()
1234
+
1235
+ def to_map(self):
1236
+ _map = super().to_map()
1237
+ if _map is not None:
1238
+ return _map
1239
+
1240
+ result = dict()
1241
+ if self.req_msg_id is not None:
1242
+ result['req_msg_id'] = self.req_msg_id
1243
+ if self.result_code is not None:
1244
+ result['result_code'] = self.result_code
1245
+ if self.result_msg is not None:
1246
+ result['result_msg'] = self.result_msg
1247
+ result['data'] = []
1248
+ if self.data is not None:
1249
+ for k in self.data:
1250
+ result['data'].append(k.to_map() if k else None)
1251
+ return result
1252
+
1253
+ def from_map(self, m: dict = None):
1254
+ m = m or dict()
1255
+ if m.get('req_msg_id') is not None:
1256
+ self.req_msg_id = m.get('req_msg_id')
1257
+ if m.get('result_code') is not None:
1258
+ self.result_code = m.get('result_code')
1259
+ if m.get('result_msg') is not None:
1260
+ self.result_msg = m.get('result_msg')
1261
+ self.data = []
1262
+ if m.get('data') is not None:
1263
+ for k in m.get('data'):
1264
+ temp_model = LoginOperationLogVO()
1265
+ self.data.append(temp_model.from_map(k))
1266
+ return self
1267
+
1268
+
1269
+ class ListAntdigitalWebtrwatradeDistributorOperationlogRequest(TeaModel):
1270
+ def __init__(
1271
+ self,
1272
+ auth_token: str = None,
1273
+ product_instance_id: str = None,
1274
+ start_time_mills: int = None,
1275
+ end_time_mills: int = None,
1276
+ ):
1277
+ # OAuth模式下的授权token
1278
+ self.auth_token = auth_token
1279
+ self.product_instance_id = product_instance_id
1280
+ # 开始时间 (时间戳)
1281
+ self.start_time_mills = start_time_mills
1282
+ # 结束时间 (时间戳)
1283
+ self.end_time_mills = end_time_mills
1284
+
1285
+ def validate(self):
1286
+ self.validate_required(self.start_time_mills, 'start_time_mills')
1287
+ self.validate_required(self.end_time_mills, 'end_time_mills')
1288
+
1289
+ def to_map(self):
1290
+ _map = super().to_map()
1291
+ if _map is not None:
1292
+ return _map
1293
+
1294
+ result = dict()
1295
+ if self.auth_token is not None:
1296
+ result['auth_token'] = self.auth_token
1297
+ if self.product_instance_id is not None:
1298
+ result['product_instance_id'] = self.product_instance_id
1299
+ if self.start_time_mills is not None:
1300
+ result['start_time_mills'] = self.start_time_mills
1301
+ if self.end_time_mills is not None:
1302
+ result['end_time_mills'] = self.end_time_mills
1303
+ return result
1304
+
1305
+ def from_map(self, m: dict = None):
1306
+ m = m or dict()
1307
+ if m.get('auth_token') is not None:
1308
+ self.auth_token = m.get('auth_token')
1309
+ if m.get('product_instance_id') is not None:
1310
+ self.product_instance_id = m.get('product_instance_id')
1311
+ if m.get('start_time_mills') is not None:
1312
+ self.start_time_mills = m.get('start_time_mills')
1313
+ if m.get('end_time_mills') is not None:
1314
+ self.end_time_mills = m.get('end_time_mills')
1315
+ return self
1316
+
1317
+
1318
+ class ListAntdigitalWebtrwatradeDistributorOperationlogResponse(TeaModel):
1319
+ def __init__(
1320
+ self,
1321
+ req_msg_id: str = None,
1322
+ result_code: str = None,
1323
+ result_msg: str = None,
1324
+ data: List[LoginOperationLogVO] = None,
1325
+ ):
1326
+ # 请求唯一ID,用于链路跟踪和问题排查
1327
+ self.req_msg_id = req_msg_id
1328
+ # 结果码,一般OK表示调用成功
1329
+ self.result_code = result_code
1330
+ # 异常信息的文本描述
1331
+ self.result_msg = result_msg
1332
+ # 回参
1333
+ self.data = data
1334
+
1335
+ def validate(self):
1336
+ if self.data:
1337
+ for k in self.data:
1338
+ if k:
1339
+ k.validate()
1340
+
1341
+ def to_map(self):
1342
+ _map = super().to_map()
1343
+ if _map is not None:
1344
+ return _map
1345
+
1346
+ result = dict()
1347
+ if self.req_msg_id is not None:
1348
+ result['req_msg_id'] = self.req_msg_id
1349
+ if self.result_code is not None:
1350
+ result['result_code'] = self.result_code
1351
+ if self.result_msg is not None:
1352
+ result['result_msg'] = self.result_msg
1353
+ result['data'] = []
1354
+ if self.data is not None:
1355
+ for k in self.data:
1356
+ result['data'].append(k.to_map() if k else None)
1357
+ return result
1358
+
1359
+ def from_map(self, m: dict = None):
1360
+ m = m or dict()
1361
+ if m.get('req_msg_id') is not None:
1362
+ self.req_msg_id = m.get('req_msg_id')
1363
+ if m.get('result_code') is not None:
1364
+ self.result_code = m.get('result_code')
1365
+ if m.get('result_msg') is not None:
1366
+ self.result_msg = m.get('result_msg')
1367
+ self.data = []
1368
+ if m.get('data') is not None:
1369
+ for k in m.get('data'):
1370
+ temp_model = LoginOperationLogVO()
1371
+ self.data.append(temp_model.from_map(k))
1372
+ return self
1373
+
1374
+
1375
+ class ListAntdigitalWebtrwatradeIssuerCrossaccountRequest(TeaModel):
1376
+ def __init__(
1377
+ self,
1378
+ auth_token: str = None,
1379
+ product_instance_id: str = None,
1380
+ asset_project_id: str = None,
1381
+ asset_project_address: str = None,
1382
+ chain_name: str = None,
1383
+ user_id: str = None,
1384
+ user_address: str = None,
1385
+ login_name: str = None,
1386
+ login_account_type: str = None,
1387
+ cross_chain_user_address: str = None,
1388
+ start_time_mills: int = None,
1389
+ end_time_mills: int = None,
1390
+ ):
1391
+ # OAuth模式下的授权token
1392
+ self.auth_token = auth_token
1393
+ self.product_instance_id = product_instance_id
1394
+ # 资产项目ID
1395
+ self.asset_project_id = asset_project_id
1396
+ # 资产项目合约地址
1397
+ self.asset_project_address = asset_project_address
1398
+ # 项目所在链
1399
+ self.chain_name = chain_name
1400
+ # 用户ID
1401
+ self.user_id = user_id
1402
+ # 本侧链用户地址
1403
+ self.user_address = user_address
1404
+ # 登录名
1405
+ self.login_name = login_name
1406
+ # 登录名类型(EMAIL)
1407
+ self.login_account_type = login_account_type
1408
+ # 对侧链用户地址
1409
+ self.cross_chain_user_address = cross_chain_user_address
1410
+ # 开始时间 (时间戳)
1411
+ self.start_time_mills = start_time_mills
1412
+ # 结束时间 (时间戳)
1413
+ self.end_time_mills = end_time_mills
1414
+
1415
+ def validate(self):
1416
+ self.validate_required(self.start_time_mills, 'start_time_mills')
1417
+ self.validate_required(self.end_time_mills, 'end_time_mills')
1418
+
1419
+ def to_map(self):
1420
+ _map = super().to_map()
1421
+ if _map is not None:
1422
+ return _map
1423
+
1424
+ result = dict()
1425
+ if self.auth_token is not None:
1426
+ result['auth_token'] = self.auth_token
1427
+ if self.product_instance_id is not None:
1428
+ result['product_instance_id'] = self.product_instance_id
1429
+ if self.asset_project_id is not None:
1430
+ result['asset_project_id'] = self.asset_project_id
1431
+ if self.asset_project_address is not None:
1432
+ result['asset_project_address'] = self.asset_project_address
1433
+ if self.chain_name is not None:
1434
+ result['chain_name'] = self.chain_name
1435
+ if self.user_id is not None:
1436
+ result['user_id'] = self.user_id
1437
+ if self.user_address is not None:
1438
+ result['user_address'] = self.user_address
1439
+ if self.login_name is not None:
1440
+ result['login_name'] = self.login_name
1441
+ if self.login_account_type is not None:
1442
+ result['login_account_type'] = self.login_account_type
1443
+ if self.cross_chain_user_address is not None:
1444
+ result['cross_chain_user_address'] = self.cross_chain_user_address
1445
+ if self.start_time_mills is not None:
1446
+ result['start_time_mills'] = self.start_time_mills
1447
+ if self.end_time_mills is not None:
1448
+ result['end_time_mills'] = self.end_time_mills
1449
+ return result
1450
+
1451
+ def from_map(self, m: dict = None):
1452
+ m = m or dict()
1453
+ if m.get('auth_token') is not None:
1454
+ self.auth_token = m.get('auth_token')
1455
+ if m.get('product_instance_id') is not None:
1456
+ self.product_instance_id = m.get('product_instance_id')
1457
+ if m.get('asset_project_id') is not None:
1458
+ self.asset_project_id = m.get('asset_project_id')
1459
+ if m.get('asset_project_address') is not None:
1460
+ self.asset_project_address = m.get('asset_project_address')
1461
+ if m.get('chain_name') is not None:
1462
+ self.chain_name = m.get('chain_name')
1463
+ if m.get('user_id') is not None:
1464
+ self.user_id = m.get('user_id')
1465
+ if m.get('user_address') is not None:
1466
+ self.user_address = m.get('user_address')
1467
+ if m.get('login_name') is not None:
1468
+ self.login_name = m.get('login_name')
1469
+ if m.get('login_account_type') is not None:
1470
+ self.login_account_type = m.get('login_account_type')
1471
+ if m.get('cross_chain_user_address') is not None:
1472
+ self.cross_chain_user_address = m.get('cross_chain_user_address')
1473
+ if m.get('start_time_mills') is not None:
1474
+ self.start_time_mills = m.get('start_time_mills')
1475
+ if m.get('end_time_mills') is not None:
1476
+ self.end_time_mills = m.get('end_time_mills')
1477
+ return self
1478
+
1479
+
1480
+ class ListAntdigitalWebtrwatradeIssuerCrossaccountResponse(TeaModel):
1481
+ def __init__(
1482
+ self,
1483
+ req_msg_id: str = None,
1484
+ result_code: str = None,
1485
+ result_msg: str = None,
1486
+ data: List[CrossAccountListVO] = None,
1487
+ ):
1488
+ # 请求唯一ID,用于链路跟踪和问题排查
1489
+ self.req_msg_id = req_msg_id
1490
+ # 结果码,一般OK表示调用成功
1491
+ self.result_code = result_code
1492
+ # 异常信息的文本描述
1493
+ self.result_msg = result_msg
1494
+ # 跨链账号明细
1495
+ self.data = data
1496
+
1497
+ def validate(self):
1498
+ if self.data:
1499
+ for k in self.data:
1500
+ if k:
1501
+ k.validate()
1502
+
1503
+ def to_map(self):
1504
+ _map = super().to_map()
1505
+ if _map is not None:
1506
+ return _map
1507
+
1508
+ result = dict()
1509
+ if self.req_msg_id is not None:
1510
+ result['req_msg_id'] = self.req_msg_id
1511
+ if self.result_code is not None:
1512
+ result['result_code'] = self.result_code
1513
+ if self.result_msg is not None:
1514
+ result['result_msg'] = self.result_msg
1515
+ result['data'] = []
1516
+ if self.data is not None:
1517
+ for k in self.data:
1518
+ result['data'].append(k.to_map() if k else None)
1519
+ return result
1520
+
1521
+ def from_map(self, m: dict = None):
1522
+ m = m or dict()
1523
+ if m.get('req_msg_id') is not None:
1524
+ self.req_msg_id = m.get('req_msg_id')
1525
+ if m.get('result_code') is not None:
1526
+ self.result_code = m.get('result_code')
1527
+ if m.get('result_msg') is not None:
1528
+ self.result_msg = m.get('result_msg')
1529
+ self.data = []
1530
+ if m.get('data') is not None:
1531
+ for k in m.get('data'):
1532
+ temp_model = CrossAccountListVO()
1533
+ self.data.append(temp_model.from_map(k))
1534
+ return self
1535
+
1536
+
1537
+ class ListAntdigitalWebtrwatradeDistributorCrossaccountRequest(TeaModel):
1538
+ def __init__(
1539
+ self,
1540
+ auth_token: str = None,
1541
+ product_instance_id: str = None,
1542
+ asset_project_id: str = None,
1543
+ asset_project_address: str = None,
1544
+ chain_name: str = None,
1545
+ user_id: str = None,
1546
+ user_address: str = None,
1547
+ login_name: str = None,
1548
+ login_account_type: str = None,
1549
+ cross_chain_user_address: str = None,
1550
+ start_time_mills: int = None,
1551
+ end_time_mills: int = None,
1552
+ ):
1553
+ # OAuth模式下的授权token
1554
+ self.auth_token = auth_token
1555
+ self.product_instance_id = product_instance_id
1556
+ # 资产项目ID
1557
+ self.asset_project_id = asset_project_id
1558
+ # 资产项目合约地址
1559
+ self.asset_project_address = asset_project_address
1560
+ # 项目所在链
1561
+ self.chain_name = chain_name
1562
+ # 用户ID
1563
+ self.user_id = user_id
1564
+ # 本侧链用户地址
1565
+ self.user_address = user_address
1566
+ # 登录名
1567
+ self.login_name = login_name
1568
+ # 登录名类型(EMAIL)
1569
+ self.login_account_type = login_account_type
1570
+ # 对侧链用户地址
1571
+ self.cross_chain_user_address = cross_chain_user_address
1572
+ # 开始时间 (时间戳)
1573
+ self.start_time_mills = start_time_mills
1574
+ # 结束时间 (时间戳)
1575
+ self.end_time_mills = end_time_mills
1576
+
1577
+ def validate(self):
1578
+ self.validate_required(self.start_time_mills, 'start_time_mills')
1579
+ self.validate_required(self.end_time_mills, 'end_time_mills')
1580
+
1581
+ def to_map(self):
1582
+ _map = super().to_map()
1583
+ if _map is not None:
1584
+ return _map
1585
+
1586
+ result = dict()
1587
+ if self.auth_token is not None:
1588
+ result['auth_token'] = self.auth_token
1589
+ if self.product_instance_id is not None:
1590
+ result['product_instance_id'] = self.product_instance_id
1591
+ if self.asset_project_id is not None:
1592
+ result['asset_project_id'] = self.asset_project_id
1593
+ if self.asset_project_address is not None:
1594
+ result['asset_project_address'] = self.asset_project_address
1595
+ if self.chain_name is not None:
1596
+ result['chain_name'] = self.chain_name
1597
+ if self.user_id is not None:
1598
+ result['user_id'] = self.user_id
1599
+ if self.user_address is not None:
1600
+ result['user_address'] = self.user_address
1601
+ if self.login_name is not None:
1602
+ result['login_name'] = self.login_name
1603
+ if self.login_account_type is not None:
1604
+ result['login_account_type'] = self.login_account_type
1605
+ if self.cross_chain_user_address is not None:
1606
+ result['cross_chain_user_address'] = self.cross_chain_user_address
1607
+ if self.start_time_mills is not None:
1608
+ result['start_time_mills'] = self.start_time_mills
1609
+ if self.end_time_mills is not None:
1610
+ result['end_time_mills'] = self.end_time_mills
1611
+ return result
1612
+
1613
+ def from_map(self, m: dict = None):
1614
+ m = m or dict()
1615
+ if m.get('auth_token') is not None:
1616
+ self.auth_token = m.get('auth_token')
1617
+ if m.get('product_instance_id') is not None:
1618
+ self.product_instance_id = m.get('product_instance_id')
1619
+ if m.get('asset_project_id') is not None:
1620
+ self.asset_project_id = m.get('asset_project_id')
1621
+ if m.get('asset_project_address') is not None:
1622
+ self.asset_project_address = m.get('asset_project_address')
1623
+ if m.get('chain_name') is not None:
1624
+ self.chain_name = m.get('chain_name')
1625
+ if m.get('user_id') is not None:
1626
+ self.user_id = m.get('user_id')
1627
+ if m.get('user_address') is not None:
1628
+ self.user_address = m.get('user_address')
1629
+ if m.get('login_name') is not None:
1630
+ self.login_name = m.get('login_name')
1631
+ if m.get('login_account_type') is not None:
1632
+ self.login_account_type = m.get('login_account_type')
1633
+ if m.get('cross_chain_user_address') is not None:
1634
+ self.cross_chain_user_address = m.get('cross_chain_user_address')
1635
+ if m.get('start_time_mills') is not None:
1636
+ self.start_time_mills = m.get('start_time_mills')
1637
+ if m.get('end_time_mills') is not None:
1638
+ self.end_time_mills = m.get('end_time_mills')
1639
+ return self
1640
+
1641
+
1642
+ class ListAntdigitalWebtrwatradeDistributorCrossaccountResponse(TeaModel):
1643
+ def __init__(
1644
+ self,
1645
+ req_msg_id: str = None,
1646
+ result_code: str = None,
1647
+ result_msg: str = None,
1648
+ data: List[CrossAccountListVO] = None,
1649
+ ):
1650
+ # 请求唯一ID,用于链路跟踪和问题排查
1651
+ self.req_msg_id = req_msg_id
1652
+ # 结果码,一般OK表示调用成功
1653
+ self.result_code = result_code
1654
+ # 异常信息的文本描述
1655
+ self.result_msg = result_msg
1656
+ # 跨链账号明细
1657
+ self.data = data
1658
+
1659
+ def validate(self):
1660
+ if self.data:
1661
+ for k in self.data:
1662
+ if k:
1663
+ k.validate()
1664
+
1665
+ def to_map(self):
1666
+ _map = super().to_map()
1667
+ if _map is not None:
1668
+ return _map
1669
+
1670
+ result = dict()
1671
+ if self.req_msg_id is not None:
1672
+ result['req_msg_id'] = self.req_msg_id
1673
+ if self.result_code is not None:
1674
+ result['result_code'] = self.result_code
1675
+ if self.result_msg is not None:
1676
+ result['result_msg'] = self.result_msg
1677
+ result['data'] = []
1678
+ if self.data is not None:
1679
+ for k in self.data:
1680
+ result['data'].append(k.to_map() if k else None)
1681
+ return result
1682
+
1683
+ def from_map(self, m: dict = None):
1684
+ m = m or dict()
1685
+ if m.get('req_msg_id') is not None:
1686
+ self.req_msg_id = m.get('req_msg_id')
1687
+ if m.get('result_code') is not None:
1688
+ self.result_code = m.get('result_code')
1689
+ if m.get('result_msg') is not None:
1690
+ self.result_msg = m.get('result_msg')
1691
+ self.data = []
1692
+ if m.get('data') is not None:
1693
+ for k in m.get('data'):
1694
+ temp_model = CrossAccountListVO()
1695
+ self.data.append(temp_model.from_map(k))
1696
+ return self
1697
+
1698
+
1699
+ class DetailAntdigitalWebtrwatradeIssuerProjectwithroleRequest(TeaModel):
1700
+ def __init__(
1701
+ self,
1702
+ auth_token: str = None,
1703
+ product_instance_id: str = None,
1704
+ asset_project_id: str = None,
1705
+ asset_project_address: str = None,
1706
+ chain_name: str = None,
1707
+ ):
1708
+ # OAuth模式下的授权token
1709
+ self.auth_token = auth_token
1710
+ self.product_instance_id = product_instance_id
1711
+ # 项目id,项目资产ID和
1712
+ # 项目合约地址+所在链组合 二选一
1713
+ self.asset_project_id = asset_project_id
1714
+ # 资产项目合约地址,项目资产ID和
1715
+ # 项目合约地址+所在链组合 二选一
1716
+ self.asset_project_address = asset_project_address
1717
+ # 所在链,项目资产ID和
1718
+ # 项目合约地址+所在链组合 二选一
1719
+ self.chain_name = chain_name
1720
+
1721
+ def validate(self):
1722
+ pass
1723
+
1724
+ def to_map(self):
1725
+ _map = super().to_map()
1726
+ if _map is not None:
1727
+ return _map
1728
+
1729
+ result = dict()
1730
+ if self.auth_token is not None:
1731
+ result['auth_token'] = self.auth_token
1732
+ if self.product_instance_id is not None:
1733
+ result['product_instance_id'] = self.product_instance_id
1734
+ if self.asset_project_id is not None:
1735
+ result['asset_project_id'] = self.asset_project_id
1736
+ if self.asset_project_address is not None:
1737
+ result['asset_project_address'] = self.asset_project_address
1738
+ if self.chain_name is not None:
1739
+ result['chain_name'] = self.chain_name
1740
+ return result
1741
+
1742
+ def from_map(self, m: dict = None):
1743
+ m = m or dict()
1744
+ if m.get('auth_token') is not None:
1745
+ self.auth_token = m.get('auth_token')
1746
+ if m.get('product_instance_id') is not None:
1747
+ self.product_instance_id = m.get('product_instance_id')
1748
+ if m.get('asset_project_id') is not None:
1749
+ self.asset_project_id = m.get('asset_project_id')
1750
+ if m.get('asset_project_address') is not None:
1751
+ self.asset_project_address = m.get('asset_project_address')
1752
+ if m.get('chain_name') is not None:
1753
+ self.chain_name = m.get('chain_name')
1754
+ return self
1755
+
1756
+
1757
+ class DetailAntdigitalWebtrwatradeIssuerProjectwithroleResponse(TeaModel):
1758
+ def __init__(
1759
+ self,
1760
+ req_msg_id: str = None,
1761
+ result_code: str = None,
1762
+ result_msg: str = None,
1763
+ data: ProjectWithRole = None,
1764
+ ):
1765
+ # 请求唯一ID,用于链路跟踪和问题排查
1766
+ self.req_msg_id = req_msg_id
1767
+ # 结果码,一般OK表示调用成功
1768
+ self.result_code = result_code
1769
+ # 异常信息的文本描述
1770
+ self.result_msg = result_msg
1771
+ # 项目角色信息
1772
+ self.data = data
1773
+
1774
+ def validate(self):
1775
+ if self.data:
1776
+ self.data.validate()
1777
+
1778
+ def to_map(self):
1779
+ _map = super().to_map()
1780
+ if _map is not None:
1781
+ return _map
1782
+
1783
+ result = dict()
1784
+ if self.req_msg_id is not None:
1785
+ result['req_msg_id'] = self.req_msg_id
1786
+ if self.result_code is not None:
1787
+ result['result_code'] = self.result_code
1788
+ if self.result_msg is not None:
1789
+ result['result_msg'] = self.result_msg
1790
+ if self.data is not None:
1791
+ result['data'] = self.data.to_map()
1792
+ return result
1793
+
1794
+ def from_map(self, m: dict = None):
1795
+ m = m or dict()
1796
+ if m.get('req_msg_id') is not None:
1797
+ self.req_msg_id = m.get('req_msg_id')
1798
+ if m.get('result_code') is not None:
1799
+ self.result_code = m.get('result_code')
1800
+ if m.get('result_msg') is not None:
1801
+ self.result_msg = m.get('result_msg')
1802
+ if m.get('data') is not None:
1803
+ temp_model = ProjectWithRole()
1804
+ self.data = temp_model.from_map(m['data'])
1805
+ return self
1806
+
1807
+