meshtrade 1.0.1__py3-none-any.whl → 1.29.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.
- meshtrade/common/__init__.py +2 -4
- meshtrade/common/config.py +3 -4
- meshtrade/common/grpc_client.py +140 -0
- meshtrade/common/service_options.py +46 -0
- meshtrade/compliance/client/v1/__init__.py +0 -2
- meshtrade/compliance/client/v1/client_pb2.py +15 -4
- meshtrade/compliance/client/v1/client_pb2.pyi +1 -0
- meshtrade/compliance/client/v1/company_pb2.py +25 -8
- meshtrade/compliance/client/v1/company_pb2.pyi +1 -0
- meshtrade/compliance/client/v1/company_representative_pb2.py +9 -4
- meshtrade/compliance/client/v1/company_representative_pb2.pyi +1 -0
- meshtrade/compliance/client/v1/company_representative_role_pb2.py +2 -2
- meshtrade/compliance/client/v1/fund_pb2.py +13 -4
- meshtrade/compliance/client/v1/fund_pb2.pyi +1 -0
- meshtrade/compliance/client/v1/identification_document_type_pb2.py +2 -2
- meshtrade/compliance/client/v1/industry_classification_pb2.py +2 -2
- meshtrade/compliance/client/v1/natural_person_connection_type_pb2.py +2 -2
- meshtrade/compliance/client/v1/natural_person_pb2.py +19 -4
- meshtrade/compliance/client/v1/natural_person_pb2.pyi +1 -0
- meshtrade/compliance/client/v1/pep_status_pb2.py +2 -2
- meshtrade/compliance/client/v1/service_meshpy.py +2 -1
- meshtrade/compliance/client/v1/service_pb2.py +21 -17
- meshtrade/compliance/client/v1/service_pb2.pyi +2 -2
- meshtrade/compliance/client/v1/source_of_income_and_wealth_pb2.py +2 -2
- meshtrade/compliance/client/v1/tax_residency_pb2.py +9 -4
- meshtrade/compliance/client/v1/tax_residency_pb2.pyi +1 -0
- meshtrade/compliance/client/v1/trust_pb2.py +13 -4
- meshtrade/compliance/client/v1/trust_pb2.pyi +1 -0
- meshtrade/compliance/client/v1/verification_status_pb2.py +2 -2
- meshtrade/iam/api_user/v1/__init__.py +34 -26
- meshtrade/iam/api_user/v1/api_credentials_pb2.py +5 -5
- meshtrade/iam/api_user/v1/api_user_pb2.py +13 -9
- meshtrade/iam/api_user/v1/api_user_pb2.pyi +2 -4
- meshtrade/iam/api_user/v1/api_user_state_machine.py +104 -0
- meshtrade/iam/api_user/v1/service_meshpy.py +96 -61
- meshtrade/iam/api_user/v1/service_pb2.py +61 -40
- meshtrade/iam/api_user/v1/service_pb2.pyi +26 -11
- meshtrade/iam/api_user/v1/service_pb2_grpc.py +179 -135
- meshtrade/iam/group/v1/__init__.py +4 -2
- meshtrade/iam/group/v1/group_pb2.py +13 -4
- meshtrade/iam/group/v1/group_pb2.pyi +9 -2
- meshtrade/iam/group/v1/service_meshpy.py +41 -6
- meshtrade/iam/group/v1/service_pb2.py +47 -20
- meshtrade/iam/group/v1/service_pb2.pyi +46 -13
- meshtrade/iam/group/v1/service_pb2_grpc.py +151 -16
- meshtrade/iam/role/v1/__init__.py +17 -4
- meshtrade/iam/role/v1/role.py +162 -11
- meshtrade/iam/role/v1/role_pb2.py +4 -7
- meshtrade/iam/role/v1/role_pb2.pyi +53 -23
- meshtrade/iam/user/v1/__init__.py +22 -4
- meshtrade/iam/user/v1/service_meshpy.py +129 -7
- meshtrade/iam/user/v1/service_pb2.py +66 -16
- meshtrade/iam/user/v1/service_pb2.pyi +81 -9
- meshtrade/iam/user/v1/service_pb2_grpc.py +385 -14
- meshtrade/iam/user/v1/user_pb2.py +13 -4
- meshtrade/iam/user/v1/user_pb2.pyi +7 -2
- meshtrade/ledger/transaction/v1/__init__.py +25 -1
- meshtrade/ledger/transaction/v1/service_meshpy.py +176 -0
- meshtrade/ledger/transaction/v1/service_pb2.py +56 -0
- meshtrade/ledger/transaction/v1/service_pb2.pyi +32 -0
- meshtrade/ledger/transaction/v1/service_pb2_grpc.py +131 -0
- meshtrade/ledger/transaction/v1/transaction_action_pb2.py +2 -2
- meshtrade/ledger/transaction/v1/transaction_state_machine.py +75 -0
- meshtrade/ledger/transaction/v1/transaction_state_pb2.py +2 -2
- meshtrade/{reporting/income_report → market_data/price}/v1/__init__.py +11 -20
- meshtrade/market_data/price/v1/price_pb2.py +40 -0
- meshtrade/market_data/price/v1/price_pb2.pyi +23 -0
- meshtrade/market_data/price/v1/service_meshpy.py +152 -0
- meshtrade/market_data/price/v1/service_pb2.py +49 -0
- meshtrade/market_data/price/v1/service_pb2.pyi +18 -0
- meshtrade/market_data/price/v1/service_pb2_grpc.py +84 -0
- meshtrade/option/method_options/v1/__init__.py +41 -0
- meshtrade/option/method_options/v1/method_options_pb2.py +43 -0
- meshtrade/option/method_options/v1/method_options_pb2.pyi +40 -0
- meshtrade/reporting/account_report/v1/__init__.py +66 -0
- meshtrade/reporting/account_report/v1/account_report_pb2.py +46 -0
- meshtrade/reporting/account_report/v1/account_report_pb2.pyi +49 -0
- meshtrade/reporting/{income_report → account_report}/v1/disclaimer_pb2.py +7 -7
- meshtrade/reporting/account_report/v1/fee_entry_pb2.py +39 -0
- meshtrade/reporting/account_report/v1/fee_entry_pb2.pyi +26 -0
- meshtrade/reporting/account_report/v1/fee_entry_pb2_grpc.py +4 -0
- meshtrade/reporting/account_report/v1/income_entry.py +35 -0
- meshtrade/reporting/account_report/v1/income_entry_pb2.py +42 -0
- meshtrade/reporting/{income_report/v1/entry_pb2.pyi → account_report/v1/income_entry_pb2.pyi} +18 -10
- meshtrade/reporting/account_report/v1/income_entry_pb2_grpc.py +4 -0
- meshtrade/reporting/{income_report → account_report}/v1/service_meshpy.py +37 -36
- meshtrade/reporting/account_report/v1/service_pb2.py +72 -0
- meshtrade/reporting/account_report/v1/service_pb2.pyi +43 -0
- meshtrade/reporting/account_report/v1/service_pb2_grpc.py +161 -0
- meshtrade/reporting/account_report/v1/trading_statement_entry_pb2.py +39 -0
- meshtrade/reporting/account_report/v1/trading_statement_entry_pb2.pyi +30 -0
- meshtrade/reporting/account_report/v1/trading_statement_entry_pb2_grpc.py +4 -0
- meshtrade/studio/instrument/v1/__init__.py +43 -0
- meshtrade/studio/instrument/v1/instrument_pb2.py +45 -0
- meshtrade/studio/instrument/v1/instrument_pb2.pyi +20 -0
- meshtrade/studio/instrument/v1/instrument_pb2_grpc.py +4 -0
- meshtrade/studio/instrument/v1/instrument_type_pb2.py +37 -0
- meshtrade/studio/instrument/v1/instrument_type_pb2.pyi +64 -0
- meshtrade/studio/instrument/v1/instrument_type_pb2_grpc.py +4 -0
- meshtrade/studio/instrument/v1/unit_pb2.py +37 -0
- meshtrade/studio/instrument/v1/unit_pb2.pyi +46 -0
- meshtrade/studio/instrument/v1/unit_pb2_grpc.py +4 -0
- meshtrade/trading/limit_order/v1/__init__.py +22 -4
- meshtrade/trading/limit_order/v1/limit_order_pb2.py +24 -4
- meshtrade/trading/limit_order/v1/limit_order_pb2.pyi +55 -5
- meshtrade/trading/limit_order/v1/service_meshpy.py +113 -2
- meshtrade/trading/limit_order/v1/service_pb2.py +49 -9
- meshtrade/trading/limit_order/v1/service_pb2.pyi +67 -7
- meshtrade/trading/limit_order/v1/service_pb2_grpc.py +321 -4
- meshtrade/trading/market_order/v1/__init__.py +0 -2
- meshtrade/trading/market_order/v1/market_order_pb2.py +2 -2
- meshtrade/trading/market_order/v1/service_meshpy.py +3 -2
- meshtrade/trading/market_order/v1/service_pb2.py +8 -9
- meshtrade/trading/market_order/v1/service_pb2.pyi +1 -2
- meshtrade/type/v1/__init__.py +82 -12
- meshtrade/type/v1/address_pb2.py +2 -2
- meshtrade/type/v1/amount.py +429 -5
- meshtrade/type/v1/amount_pb2.py +2 -2
- meshtrade/type/v1/contact_details_pb2.py +2 -2
- meshtrade/type/v1/date_pb2.py +2 -2
- meshtrade/type/v1/decimal_built_in_conversions.py +8 -3
- meshtrade/type/v1/decimal_operations.py +354 -0
- meshtrade/type/v1/decimal_pb2.py +2 -2
- meshtrade/type/v1/ledger.py +76 -1
- meshtrade/type/v1/ledger_pb2.py +2 -2
- meshtrade/type/v1/sorting_pb2.py +2 -2
- meshtrade/type/v1/time_of_day_pb2.py +2 -2
- meshtrade/type/v1/token.py +144 -0
- meshtrade/type/v1/token_pb2.py +2 -2
- meshtrade/wallet/account/v1/__init__.py +21 -3
- meshtrade/wallet/account/v1/account_pb2.py +28 -4
- meshtrade/wallet/account/v1/account_pb2.pyi +57 -3
- meshtrade/wallet/account/v1/service_meshpy.py +72 -1
- meshtrade/wallet/account/v1/service_pb2.py +67 -23
- meshtrade/wallet/account/v1/service_pb2.pyi +81 -21
- meshtrade/wallet/account/v1/service_pb2_grpc.py +242 -8
- {meshtrade-1.0.1.dist-info → meshtrade-1.29.0.dist-info}/METADATA +1 -1
- meshtrade-1.29.0.dist-info/RECORD +217 -0
- meshtrade/compliance/client/v1/service_options_meshpy.py +0 -65
- meshtrade/iam/api_user/v1/service.py +0 -58
- meshtrade/iam/api_user/v1/service_options_meshpy.py +0 -65
- meshtrade/iam/group/v1/service_options_meshpy.py +0 -65
- meshtrade/iam/user/v1/service_options_meshpy.py +0 -65
- meshtrade/option/v1/method_type_pb2.py +0 -38
- meshtrade/option/v1/method_type_pb2.pyi +0 -17
- meshtrade/reporting/income_report/v1/entry_pb2.py +0 -42
- meshtrade/reporting/income_report/v1/income_report_pb2.py +0 -44
- meshtrade/reporting/income_report/v1/income_report_pb2.pyi +0 -42
- meshtrade/reporting/income_report/v1/service_options_meshpy.py +0 -65
- meshtrade/reporting/income_report/v1/service_pb2.py +0 -58
- meshtrade/reporting/income_report/v1/service_pb2.pyi +0 -37
- meshtrade/reporting/income_report/v1/service_pb2_grpc.py +0 -170
- meshtrade/trading/limit_order/v1/service_options_meshpy.py +0 -65
- meshtrade/trading/market_order/v1/service_options_meshpy.py +0 -65
- meshtrade/wallet/account/v1/service_options_meshpy.py +0 -65
- meshtrade-1.0.1.dist-info/RECORD +0 -191
- /meshtrade/{option/v1/method_type_pb2_grpc.py → market_data/price/v1/price_pb2_grpc.py} +0 -0
- /meshtrade/{reporting/income_report/v1/disclaimer_pb2_grpc.py → option/method_options/v1/method_options_pb2_grpc.py} +0 -0
- /meshtrade/reporting/{income_report/v1/entry_pb2_grpc.py → account_report/v1/account_report_pb2_grpc.py} +0 -0
- /meshtrade/reporting/{income_report → account_report}/v1/disclaimer_pb2.pyi +0 -0
- /meshtrade/reporting/{income_report/v1/income_report_pb2_grpc.py → account_report/v1/disclaimer_pb2_grpc.py} +0 -0
- {meshtrade-1.0.1.dist-info → meshtrade-1.29.0.dist-info}/WHEEL +0 -0
- {meshtrade-1.0.1.dist-info → meshtrade-1.29.0.dist-info}/top_level.txt +0 -0
meshtrade/common/__init__.py
CHANGED
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
from .config import (
|
|
4
4
|
ACCESS_TOKEN_PREFIX,
|
|
5
|
-
|
|
6
|
-
BEARER_PREFIX,
|
|
5
|
+
API_KEY_HEADER,
|
|
7
6
|
COOKIE_HEADER_KEY,
|
|
8
7
|
DEFAULT_GRPC_PORT,
|
|
9
8
|
DEFAULT_GRPC_URL,
|
|
@@ -17,10 +16,9 @@ __all__ = [
|
|
|
17
16
|
"DEFAULT_GRPC_URL",
|
|
18
17
|
"DEFAULT_GRPC_PORT",
|
|
19
18
|
"DEFAULT_TLS",
|
|
20
|
-
"
|
|
19
|
+
"API_KEY_HEADER",
|
|
21
20
|
"COOKIE_HEADER_KEY",
|
|
22
21
|
"GROUP_HEADER_KEY",
|
|
23
|
-
"BEARER_PREFIX",
|
|
24
22
|
"ACCESS_TOKEN_PREFIX",
|
|
25
23
|
"create_auth_metadata",
|
|
26
24
|
"GRPCClient",
|
meshtrade/common/config.py
CHANGED
|
@@ -7,10 +7,9 @@ DEFAULT_GRPC_PORT = 443
|
|
|
7
7
|
DEFAULT_TLS = True
|
|
8
8
|
|
|
9
9
|
# gRPC metadata constants
|
|
10
|
-
|
|
10
|
+
API_KEY_HEADER = "x-api-key"
|
|
11
11
|
COOKIE_HEADER_KEY = "cookie"
|
|
12
12
|
GROUP_HEADER_KEY = "x-group"
|
|
13
|
-
BEARER_PREFIX = "Bearer "
|
|
14
13
|
ACCESS_TOKEN_PREFIX = "AccessToken="
|
|
15
14
|
|
|
16
15
|
|
|
@@ -18,13 +17,13 @@ def create_auth_metadata(api_key: str, group: str) -> list[tuple[str, str]]:
|
|
|
18
17
|
"""Create authentication metadata for gRPC requests.
|
|
19
18
|
|
|
20
19
|
Args:
|
|
21
|
-
api_key: The API key
|
|
20
|
+
api_key: The API key
|
|
22
21
|
group: The group resource name in format groups/{group_id}
|
|
23
22
|
|
|
24
23
|
Returns:
|
|
25
24
|
List of metadata header tuples for authentication
|
|
26
25
|
"""
|
|
27
26
|
return [
|
|
28
|
-
(
|
|
27
|
+
(API_KEY_HEADER, api_key),
|
|
29
28
|
(GROUP_HEADER_KEY, group), # Send full groups/uuid format in header
|
|
30
29
|
]
|
meshtrade/common/grpc_client.py
CHANGED
|
@@ -146,6 +146,99 @@ class BaseGRPCClient(GRPCClient):
|
|
|
146
146
|
raise ValueError("Group not configured. Provide via constructor or set MESH_API_CREDENTIALS environment variable.")
|
|
147
147
|
return self._group
|
|
148
148
|
|
|
149
|
+
@property
|
|
150
|
+
def url(self) -> str:
|
|
151
|
+
"""Get the gRPC server URL.
|
|
152
|
+
|
|
153
|
+
Returns:
|
|
154
|
+
The gRPC server URL
|
|
155
|
+
"""
|
|
156
|
+
return self._url
|
|
157
|
+
|
|
158
|
+
@property
|
|
159
|
+
def port(self) -> int:
|
|
160
|
+
"""Get the gRPC server port.
|
|
161
|
+
|
|
162
|
+
Returns:
|
|
163
|
+
The gRPC server port
|
|
164
|
+
"""
|
|
165
|
+
return self._port
|
|
166
|
+
|
|
167
|
+
@property
|
|
168
|
+
def api_key(self) -> str | None:
|
|
169
|
+
"""Get the API key used for authentication.
|
|
170
|
+
|
|
171
|
+
Returns:
|
|
172
|
+
The API key, or None if not configured
|
|
173
|
+
"""
|
|
174
|
+
return self._api_key
|
|
175
|
+
|
|
176
|
+
@property
|
|
177
|
+
def timeout(self) -> timedelta:
|
|
178
|
+
"""Get the request timeout.
|
|
179
|
+
|
|
180
|
+
Returns:
|
|
181
|
+
The request timeout
|
|
182
|
+
"""
|
|
183
|
+
return self._timeout
|
|
184
|
+
|
|
185
|
+
@property
|
|
186
|
+
def tls(self) -> bool:
|
|
187
|
+
"""Get the TLS setting.
|
|
188
|
+
|
|
189
|
+
Returns:
|
|
190
|
+
True if TLS is enabled, False otherwise
|
|
191
|
+
"""
|
|
192
|
+
return self._tls
|
|
193
|
+
|
|
194
|
+
def with_group(self, group: str):
|
|
195
|
+
"""Return a new client instance configured with a different group context.
|
|
196
|
+
|
|
197
|
+
This enables convenient group context switching without reconstructing the entire client.
|
|
198
|
+
All other configuration (URL, port, timeout, API key, TLS) is preserved.
|
|
199
|
+
|
|
200
|
+
The group parameter must be in the format 'groups/{group_id}' where group_id is a valid
|
|
201
|
+
group identifier (typically a ULID). The new client instance shares no state with the
|
|
202
|
+
original client, allowing safe concurrent usage.
|
|
203
|
+
|
|
204
|
+
Args:
|
|
205
|
+
group: The group resource name in format 'groups/{group_id}'
|
|
206
|
+
|
|
207
|
+
Returns:
|
|
208
|
+
A new client instance of the same service type with updated group context.
|
|
209
|
+
|
|
210
|
+
Raises:
|
|
211
|
+
ValueError: If group is empty or not in correct format
|
|
212
|
+
|
|
213
|
+
Example:
|
|
214
|
+
>>> service = GroupService()
|
|
215
|
+
>>> alt_service = service.with_group("groups/01ARZ3NDEKTSV4RRFFQ69G5FAV")
|
|
216
|
+
>>> resp1 = service.some_method(request) # Uses original group
|
|
217
|
+
>>> resp2 = alt_service.some_method(request) # Uses alternative group
|
|
218
|
+
"""
|
|
219
|
+
# Validation
|
|
220
|
+
if not group:
|
|
221
|
+
raise ValueError("Group parameter cannot be empty")
|
|
222
|
+
if not group.startswith("groups/"):
|
|
223
|
+
raise ValueError("Group must be in format 'groups/{group_id}'")
|
|
224
|
+
|
|
225
|
+
# Import ServiceOptions from common module
|
|
226
|
+
from meshtrade.common.service_options import ServiceOptions
|
|
227
|
+
|
|
228
|
+
# Create new options with all config preserved except group
|
|
229
|
+
options = ServiceOptions(
|
|
230
|
+
url=self._url,
|
|
231
|
+
port=self._port,
|
|
232
|
+
api_key=self._api_key,
|
|
233
|
+
group=group,
|
|
234
|
+
timeout=self._timeout,
|
|
235
|
+
tls=self._tls,
|
|
236
|
+
)
|
|
237
|
+
|
|
238
|
+
# Create new instance of actual runtime class (GroupService, AccountService, etc.)
|
|
239
|
+
# type(self) returns the actual class, and all services accept ServiceOptions
|
|
240
|
+
return type(self)(options)
|
|
241
|
+
|
|
149
242
|
def validator(self) -> Validator:
|
|
150
243
|
"""Get the protovalidate validator for request validation.
|
|
151
244
|
|
|
@@ -200,3 +293,50 @@ class BaseGRPCClient(GRPCClient):
|
|
|
200
293
|
|
|
201
294
|
# Make the authenticated call
|
|
202
295
|
return method(request, metadata=metadata, timeout=timeout_seconds)
|
|
296
|
+
|
|
297
|
+
def _execute_streaming_method(self, method_name: str, request: Any, timeout: timedelta | None = None) -> Any:
|
|
298
|
+
"""Execute a server-side streaming gRPC method with authentication and error handling.
|
|
299
|
+
|
|
300
|
+
This is the streaming equivalent of _execute_method() - it handles validation,
|
|
301
|
+
authentication metadata injection, and timeout handling for server-side streaming calls.
|
|
302
|
+
|
|
303
|
+
Args:
|
|
304
|
+
method_name: The name of the gRPC stub streaming method to call
|
|
305
|
+
request: The request message
|
|
306
|
+
timeout: Optional timeout override
|
|
307
|
+
|
|
308
|
+
Returns:
|
|
309
|
+
Iterator yielding response messages from the stream
|
|
310
|
+
|
|
311
|
+
Raises:
|
|
312
|
+
grpc.RpcError: If the gRPC call fails
|
|
313
|
+
ValueError: If authentication credentials are missing or request validation fails
|
|
314
|
+
"""
|
|
315
|
+
# Validate request using protovalidate BEFORE initiating stream
|
|
316
|
+
try:
|
|
317
|
+
self._validator.validate(request)
|
|
318
|
+
except Exception as e:
|
|
319
|
+
raise ValueError(f"Request validation failed: {e}") from e
|
|
320
|
+
|
|
321
|
+
self._ensure_connected()
|
|
322
|
+
|
|
323
|
+
if not self._api_key or not self._group:
|
|
324
|
+
raise ValueError(
|
|
325
|
+
"API key and group are required for authentication. Provide them via constructor or set MESH_API_CREDENTIALS environment variable."
|
|
326
|
+
)
|
|
327
|
+
|
|
328
|
+
if self._stub is None:
|
|
329
|
+
raise RuntimeError("gRPC stub not initialized. Call _ensure_connected() first.")
|
|
330
|
+
|
|
331
|
+
# Get the streaming method from the stub
|
|
332
|
+
method = getattr(self._stub, method_name)
|
|
333
|
+
|
|
334
|
+
# Create authentication metadata (x-api-key, x-group headers)
|
|
335
|
+
metadata = create_auth_metadata(self._api_key, self._group)
|
|
336
|
+
|
|
337
|
+
# Use provided timeout or default
|
|
338
|
+
call_timeout = timeout or self._timeout
|
|
339
|
+
timeout_seconds = call_timeout.total_seconds()
|
|
340
|
+
|
|
341
|
+
# Make the authenticated streaming call with metadata
|
|
342
|
+
return method(request, metadata=metadata, timeout=timeout_seconds)
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Shared configuration options for all gRPC services.
|
|
3
|
+
|
|
4
|
+
This module provides a clean, extensible way to configure services with optional
|
|
5
|
+
parameters while maintaining backward compatibility and readability.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
from datetime import timedelta
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class ServiceOptions:
|
|
12
|
+
"""Configuration options for gRPC services.
|
|
13
|
+
|
|
14
|
+
This class provides a clean, extensible way to configure services with optional
|
|
15
|
+
parameters while maintaining backward compatibility and readability.
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
def __init__(
|
|
19
|
+
self,
|
|
20
|
+
tls: bool = True,
|
|
21
|
+
url: str | None = None,
|
|
22
|
+
port: int | None = None,
|
|
23
|
+
api_key: str | None = None,
|
|
24
|
+
group: str | None = None,
|
|
25
|
+
timeout: timedelta = timedelta(seconds=30),
|
|
26
|
+
):
|
|
27
|
+
"""Initialize service options.
|
|
28
|
+
|
|
29
|
+
Args:
|
|
30
|
+
tls: Whether to use TLS encryption for the gRPC connection.
|
|
31
|
+
url: The server hostname or IP address.
|
|
32
|
+
port: The server port number.
|
|
33
|
+
api_key: The API key for authentication.
|
|
34
|
+
group: The group resource name in format groups/{group_id}.
|
|
35
|
+
timeout: The default timeout for all gRPC method calls.
|
|
36
|
+
"""
|
|
37
|
+
self.tls = tls
|
|
38
|
+
self.url = url
|
|
39
|
+
self.port = port
|
|
40
|
+
self.api_key = api_key
|
|
41
|
+
self.group = group
|
|
42
|
+
self.timeout = timeout
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
# Create alias to match expected exports
|
|
46
|
+
ClientOptions = ServiceOptions
|
|
@@ -40,7 +40,6 @@ from .service_meshpy import (
|
|
|
40
40
|
ClientServiceGRPCClient,
|
|
41
41
|
ClientServiceGRPCClientInterface,
|
|
42
42
|
)
|
|
43
|
-
from .service_options_meshpy import ClientOptions
|
|
44
43
|
|
|
45
44
|
# ===================================================================
|
|
46
45
|
# END OF AUTO-GENERATED SECTION
|
|
@@ -63,7 +62,6 @@ from .service_options_meshpy import ClientOptions
|
|
|
63
62
|
__all__ = [
|
|
64
63
|
# Generated exports
|
|
65
64
|
"Client",
|
|
66
|
-
"ClientOptions",
|
|
67
65
|
"ClientService",
|
|
68
66
|
"ClientServiceGRPCClient",
|
|
69
67
|
"ClientServiceGRPCClientInterface",
|
|
@@ -22,6 +22,7 @@ _runtime_version.ValidateProtobufRuntimeVersion(
|
|
|
22
22
|
_sym_db = _symbol_database.Default()
|
|
23
23
|
|
|
24
24
|
|
|
25
|
+
from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
|
|
25
26
|
from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
|
|
26
27
|
from meshtrade.compliance.client.v1 import company_pb2 as meshtrade_dot_compliance_dot_client_dot_v1_dot_company__pb2
|
|
27
28
|
from meshtrade.compliance.client.v1 import fund_pb2 as meshtrade_dot_compliance_dot_client_dot_v1_dot_fund__pb2
|
|
@@ -30,14 +31,24 @@ from meshtrade.compliance.client.v1 import trust_pb2 as meshtrade_dot_compliance
|
|
|
30
31
|
from meshtrade.compliance.client.v1 import verification_status_pb2 as meshtrade_dot_compliance_dot_client_dot_v1_dot_verification__status__pb2
|
|
31
32
|
|
|
32
33
|
|
|
33
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+meshtrade/compliance/client/v1/client.proto\x12\x1emeshtrade.compliance.client.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a,meshtrade/compliance/client/v1/company.proto\x1a)meshtrade/compliance/client/v1/fund.proto\x1a\x33meshtrade/compliance/client/v1/natural_person.proto\x1a*meshtrade/compliance/client/v1/trust.proto\x1a\x38meshtrade/compliance/client/v1/verification_status.proto\"\
|
|
34
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+meshtrade/compliance/client/v1/client.proto\x12\x1emeshtrade.compliance.client.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a,meshtrade/compliance/client/v1/company.proto\x1a)meshtrade/compliance/client/v1/fund.proto\x1a\x33meshtrade/compliance/client/v1/natural_person.proto\x1a*meshtrade/compliance/client/v1/trust.proto\x1a\x38meshtrade/compliance/client/v1/verification_status.proto\"\x8c\t\n\x06\x43lient\x12\xbe\x01\n\x04name\x18\x01 \x01(\tB\xa9\x01\xbaH\xa5\x01\xba\x01\xa1\x01\n\x14name.format.optional\x12\x34name must be empty or in the format clients/{ULIDv2}\x1aSsize(this) == 0 || this.matches(\'^clients/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')R\x04name\x12R\n\x05owner\x18\x02 \x01(\tB<\xbaH9r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01!\xc8\x01\x01R\x05owner\x12\x30\n\x0c\x64isplay_name\x18\x03 \x01(\tB\r\xbaH\nr\x05\x10\x01\x18\xff\x01\xc8\x01\x01R\x0b\x64isplayName\x12V\n\x0enatural_person\x18\x04 \x01(\x0b\x32-.meshtrade.compliance.client.v1.NaturalPersonH\x00R\rnaturalPerson\x12\x43\n\x07\x63ompany\x18\x05 \x01(\x0b\x32\'.meshtrade.compliance.client.v1.CompanyH\x00R\x07\x63ompany\x12:\n\x04\x66und\x18\x06 \x01(\x0b\x32$.meshtrade.compliance.client.v1.FundH\x00R\x04\x66und\x12=\n\x05trust\x18\x07 \x01(\x0b\x32%.meshtrade.compliance.client.v1.TrustH\x00R\x05trust\x12p\n\x13verification_status\x18\x08 \x01(\x0e\x32\x32.meshtrade.compliance.client.v1.VerificationStatusB\x0b\xbaH\x08\x82\x01\x02\x10\x01\xc8\x01\x01R\x12verificationStatus\x12\x85\x02\n\x16verification_authority\x18\t \x01(\tB\xcd\x01\xbaH\xc9\x01\xba\x01\xc5\x01\n&verification_authority.format.optional\x12\x46verification_authority must be empty or in the format clients/{ULIDv2}\x1aSsize(this) == 0 || this.matches(\'^clients/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')R\x15verificationAuthority\x12G\n\x11verification_date\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x10verificationDate\x12P\n\x16next_verification_date\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x14nextVerificationDateB\x0e\n\x0clegal_personBc\n%co.meshtrade.api.compliance.client.v1Z:github.com/meshtrade/api/go/compliance/client/v1;client_v1b\x06proto3')
|
|
34
35
|
|
|
35
36
|
_globals = globals()
|
|
36
37
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
37
38
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.compliance.client.v1.client_pb2', _globals)
|
|
38
39
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
39
40
|
_globals['DESCRIPTOR']._loaded_options = None
|
|
40
|
-
_globals['DESCRIPTOR']._serialized_options = b'\n%co.meshtrade.api.compliance.client.
|
|
41
|
-
_globals['_CLIENT'].
|
|
42
|
-
_globals['_CLIENT'].
|
|
41
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n%co.meshtrade.api.compliance.client.v1Z:github.com/meshtrade/api/go/compliance/client/v1;client_v1'
|
|
42
|
+
_globals['_CLIENT'].fields_by_name['name']._loaded_options = None
|
|
43
|
+
_globals['_CLIENT'].fields_by_name['name']._serialized_options = b'\272H\245\001\272\001\241\001\n\024name.format.optional\0224name must be empty or in the format clients/{ULIDv2}\032Ssize(this) == 0 || this.matches(\'^clients/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')'
|
|
44
|
+
_globals['_CLIENT'].fields_by_name['owner']._loaded_options = None
|
|
45
|
+
_globals['_CLIENT'].fields_by_name['owner']._serialized_options = b'\272H9r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001!\310\001\001'
|
|
46
|
+
_globals['_CLIENT'].fields_by_name['display_name']._loaded_options = None
|
|
47
|
+
_globals['_CLIENT'].fields_by_name['display_name']._serialized_options = b'\272H\nr\005\020\001\030\377\001\310\001\001'
|
|
48
|
+
_globals['_CLIENT'].fields_by_name['verification_status']._loaded_options = None
|
|
49
|
+
_globals['_CLIENT'].fields_by_name['verification_status']._serialized_options = b'\272H\010\202\001\002\020\001\310\001\001'
|
|
50
|
+
_globals['_CLIENT'].fields_by_name['verification_authority']._loaded_options = None
|
|
51
|
+
_globals['_CLIENT'].fields_by_name['verification_authority']._serialized_options = b'\272H\311\001\272\001\305\001\n&verification_authority.format.optional\022Fverification_authority must be empty or in the format clients/{ULIDv2}\032Ssize(this) == 0 || this.matches(\'^clients/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')'
|
|
52
|
+
_globals['_CLIENT']._serialized_start=386
|
|
53
|
+
_globals['_CLIENT']._serialized_end=1550
|
|
43
54
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import datetime
|
|
2
2
|
|
|
3
|
+
from buf.validate import validate_pb2 as _validate_pb2
|
|
3
4
|
from google.protobuf import timestamp_pb2 as _timestamp_pb2
|
|
4
5
|
from meshtrade.compliance.client.v1 import company_pb2 as _company_pb2
|
|
5
6
|
from meshtrade.compliance.client.v1 import fund_pb2 as _fund_pb2
|
|
@@ -22,6 +22,7 @@ _runtime_version.ValidateProtobufRuntimeVersion(
|
|
|
22
22
|
_sym_db = _symbol_database.Default()
|
|
23
23
|
|
|
24
24
|
|
|
25
|
+
from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
|
|
25
26
|
from google.type import date_pb2 as google_dot_type_dot_date__pb2
|
|
26
27
|
from meshtrade.compliance.client.v1 import company_representative_pb2 as meshtrade_dot_compliance_dot_client_dot_v1_dot_company__representative__pb2
|
|
27
28
|
from meshtrade.compliance.client.v1 import fund_pb2 as meshtrade_dot_compliance_dot_client_dot_v1_dot_fund__pb2
|
|
@@ -32,18 +33,34 @@ from meshtrade.type.v1 import address_pb2 as meshtrade_dot_type_dot_v1_dot_addre
|
|
|
32
33
|
from meshtrade.type.v1 import decimal_pb2 as meshtrade_dot_type_dot_v1_dot_decimal__pb2
|
|
33
34
|
|
|
34
35
|
|
|
35
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,meshtrade/compliance/client/v1/company.proto\x12\x1emeshtrade.compliance.client.v1\x1a\x16google/type/date.proto\x1a;meshtrade/compliance/client/v1/company_representative.proto\x1a)meshtrade/compliance/client/v1/fund.proto\x1a<meshtrade/compliance/client/v1/industry_classification.proto\x1a\x33meshtrade/compliance/client/v1/natural_person.proto\x1a*meshtrade/compliance/client/v1/trust.proto\x1a\x1fmeshtrade/type/v1/address.proto\x1a\x1fmeshtrade/type/v1/decimal.proto\"\
|
|
36
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,meshtrade/compliance/client/v1/company.proto\x12\x1emeshtrade.compliance.client.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x16google/type/date.proto\x1a;meshtrade/compliance/client/v1/company_representative.proto\x1a)meshtrade/compliance/client/v1/fund.proto\x1a<meshtrade/compliance/client/v1/industry_classification.proto\x1a\x33meshtrade/compliance/client/v1/natural_person.proto\x1a*meshtrade/compliance/client/v1/trust.proto\x1a\x1fmeshtrade/type/v1/address.proto\x1a\x1fmeshtrade/type/v1/decimal.proto\"\xc7\t\n\x07\x43ompany\x12\x31\n\x0fregistered_name\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\xff\x01R\x0eregisteredName\x12\x38\n\x13registration_number\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x18\x64R\x12registrationNumber\x12.\n\x0etax_identifier\x18\x04 \x01(\tB\x07\xbaH\x04r\x02\x18\x32R\rtaxIdentifier\x12\xe3\x01\n\x18\x63ountry_of_incorporation\x18\x05 \x01(\tB\xa8\x01\xbaH\xa4\x01\xba\x01\xa0\x01\n\x1c\x63ountry_code.format.optional\x12Qcountry_of_incorporation must be empty or a valid ISO 3166-1 alpha-2 country code\x1a-size(this) == 0 || this.matches(\'^[A-Z]{2}$\')R\x16\x63ountryOfIncorporation\x12\x45\n\x15\x64\x61te_of_incorporation\x18\x06 \x01(\x0b\x32\x11.google.type.DateR\x13\x64\x61teOfIncorporation\x12I\n\x12registered_address\x18\x07 \x01(\x0b\x32\x1a.meshtrade.type.v1.AddressR\x11registeredAddress\x12X\n\x1aprincipal_physical_address\x18\x08 \x01(\x0b\x32\x1a.meshtrade.type.v1.AddressR\x18principalPhysicalAddress\x12\x41\n\x0epostal_address\x18\t \x01(\x0b\x32\x1a.meshtrade.type.v1.AddressR\rpostalAddress\x12J\n\x13head_office_address\x18\n \x01(\x0b\x32\x1a.meshtrade.type.v1.AddressR\x11headOfficeAddress\x12n\n\x17\x63ompany_representatives\x18\x0b \x03(\x0b\x32\x35.meshtrade.compliance.client.v1.CompanyRepresentativeR\x16\x63ompanyRepresentatives\x12l\n\x17\x63onnected_legal_persons\x18\x0c \x03(\x0b\x32\x34.meshtrade.compliance.client.v1.ConnectedLegalPersonR\x15\x63onnectedLegalPersons\x12o\n\x17industry_classification\x18\r \x01(\x0b\x32\x36.meshtrade.compliance.client.v1.IndustryClassificationR\x16industryClassification\x12\x39\n\x14listed_exchange_code\x18\x0e \x01(\tB\x07\xbaH\x04r\x02\x18\x14R\x12listedExchangeCode\x12\x34\n\x11listing_reference\x18\x0f \x01(\tB\x07\xbaH\x04r\x02\x18\x14R\x10listingReference\"\x99\x05\n\x14\x43onnectedLegalPerson\x12V\n\x0enatural_person\x18\x01 \x01(\x0b\x32-.meshtrade.compliance.client.v1.NaturalPersonH\x00R\rnaturalPerson\x12\x43\n\x07\x63ompany\x18\x02 \x01(\x0b\x32\'.meshtrade.compliance.client.v1.CompanyH\x00R\x07\x63ompany\x12:\n\x04\x66und\x18\x03 \x01(\x0b\x32$.meshtrade.compliance.client.v1.FundH\x00R\x04\x66und\x12=\n\x05trust\x18\x04 \x01(\x0b\x32%.meshtrade.compliance.client.v1.TrustH\x00R\x05trust\x12s\n\x10\x63onnection_types\x18\x05 \x03(\x0e\x32\x39.meshtrade.compliance.client.v1.LegalPersonConnectionTypeB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x10\x01R\x0f\x63onnectionTypes\x12M\n\x14ownership_percentage\x18\x06 \x01(\x0b\x32\x1a.meshtrade.type.v1.DecimalR\x13ownershipPercentage\x12T\n\x18voting_rights_percentage\x18\x07 \x01(\x0b\x32\x1a.meshtrade.type.v1.DecimalR\x16votingRightsPercentage\x12?\n\x16\x63onnection_description\x18\x08 \x01(\tB\x08\xbaH\x05r\x03\x18\xf4\x03R\x15\x63onnectionDescriptionB\x0e\n\x0clegal_person*\xe3\x02\n\x19LegalPersonConnectionType\x12,\n(LEGAL_PERSON_CONNECTION_TYPE_UNSPECIFIED\x10\x00\x12,\n(LEGAL_PERSON_CONNECTION_TYPE_SHAREHOLDER\x10\x01\x12/\n+LEGAL_PERSON_CONNECTION_TYPE_PARENT_COMPANY\x10\x02\x12\x33\n/LEGAL_PERSON_CONNECTION_TYPE_CORPORATE_DIRECTOR\x10\x03\x12&\n\"LEGAL_PERSON_CONNECTION_TYPE_TRUST\x10\x04\x12\x30\n,LEGAL_PERSON_CONNECTION_TYPE_GENERAL_PARTNER\x10\x05\x12*\n&LEGAL_PERSON_CONNECTION_TYPE_GUARANTOR\x10\x06\x42\x63\n%co.meshtrade.api.compliance.client.v1Z:github.com/meshtrade/api/go/compliance/client/v1;client_v1b\x06proto3')
|
|
36
37
|
|
|
37
38
|
_globals = globals()
|
|
38
39
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
39
40
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.compliance.client.v1.company_pb2', _globals)
|
|
40
41
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
41
42
|
_globals['DESCRIPTOR']._loaded_options = None
|
|
42
|
-
_globals['DESCRIPTOR']._serialized_options = b'\n%co.meshtrade.api.compliance.client.
|
|
43
|
-
_globals['
|
|
44
|
-
_globals['
|
|
45
|
-
_globals['_COMPANY'].
|
|
46
|
-
_globals['_COMPANY'].
|
|
47
|
-
_globals['
|
|
48
|
-
_globals['
|
|
43
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n%co.meshtrade.api.compliance.client.v1Z:github.com/meshtrade/api/go/compliance/client/v1;client_v1'
|
|
44
|
+
_globals['_COMPANY'].fields_by_name['registered_name']._loaded_options = None
|
|
45
|
+
_globals['_COMPANY'].fields_by_name['registered_name']._serialized_options = b'\272H\005r\003\030\377\001'
|
|
46
|
+
_globals['_COMPANY'].fields_by_name['registration_number']._loaded_options = None
|
|
47
|
+
_globals['_COMPANY'].fields_by_name['registration_number']._serialized_options = b'\272H\004r\002\030d'
|
|
48
|
+
_globals['_COMPANY'].fields_by_name['tax_identifier']._loaded_options = None
|
|
49
|
+
_globals['_COMPANY'].fields_by_name['tax_identifier']._serialized_options = b'\272H\004r\002\0302'
|
|
50
|
+
_globals['_COMPANY'].fields_by_name['country_of_incorporation']._loaded_options = None
|
|
51
|
+
_globals['_COMPANY'].fields_by_name['country_of_incorporation']._serialized_options = b'\272H\244\001\272\001\240\001\n\034country_code.format.optional\022Qcountry_of_incorporation must be empty or a valid ISO 3166-1 alpha-2 country code\032-size(this) == 0 || this.matches(\'^[A-Z]{2}$\')'
|
|
52
|
+
_globals['_COMPANY'].fields_by_name['listed_exchange_code']._loaded_options = None
|
|
53
|
+
_globals['_COMPANY'].fields_by_name['listed_exchange_code']._serialized_options = b'\272H\004r\002\030\024'
|
|
54
|
+
_globals['_COMPANY'].fields_by_name['listing_reference']._loaded_options = None
|
|
55
|
+
_globals['_COMPANY'].fields_by_name['listing_reference']._serialized_options = b'\272H\004r\002\030\024'
|
|
56
|
+
_globals['_CONNECTEDLEGALPERSON'].fields_by_name['connection_types']._loaded_options = None
|
|
57
|
+
_globals['_CONNECTEDLEGALPERSON'].fields_by_name['connection_types']._serialized_options = b'\272H\n\222\001\007\"\005\202\001\002\020\001'
|
|
58
|
+
_globals['_CONNECTEDLEGALPERSON'].fields_by_name['connection_description']._loaded_options = None
|
|
59
|
+
_globals['_CONNECTEDLEGALPERSON'].fields_by_name['connection_description']._serialized_options = b'\272H\005r\003\030\364\003'
|
|
60
|
+
_globals['_LEGALPERSONCONNECTIONTYPE']._serialized_start=2357
|
|
61
|
+
_globals['_LEGALPERSONCONNECTIONTYPE']._serialized_end=2712
|
|
62
|
+
_globals['_COMPANY']._serialized_start=463
|
|
63
|
+
_globals['_COMPANY']._serialized_end=1686
|
|
64
|
+
_globals['_CONNECTEDLEGALPERSON']._serialized_start=1689
|
|
65
|
+
_globals['_CONNECTEDLEGALPERSON']._serialized_end=2354
|
|
49
66
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -22,6 +22,7 @@ _runtime_version.ValidateProtobufRuntimeVersion(
|
|
|
22
22
|
_sym_db = _symbol_database.Default()
|
|
23
23
|
|
|
24
24
|
|
|
25
|
+
from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
|
|
25
26
|
from google.type import date_pb2 as google_dot_type_dot_date__pb2
|
|
26
27
|
from meshtrade.compliance.client.v1 import company_representative_role_pb2 as meshtrade_dot_compliance_dot_client_dot_v1_dot_company__representative__role__pb2
|
|
27
28
|
from meshtrade.compliance.client.v1 import natural_person_pb2 as meshtrade_dot_compliance_dot_client_dot_v1_dot_natural__person__pb2
|
|
@@ -29,14 +30,18 @@ from meshtrade.type.v1 import contact_details_pb2 as meshtrade_dot_type_dot_v1_d
|
|
|
29
30
|
from meshtrade.type.v1 import decimal_pb2 as meshtrade_dot_type_dot_v1_dot_decimal__pb2
|
|
30
31
|
|
|
31
32
|
|
|
32
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n;meshtrade/compliance/client/v1/company_representative.proto\x12\x1emeshtrade.compliance.client.v1\x1a\x16google/type/date.proto\x1a@meshtrade/compliance/client/v1/company_representative_role.proto\x1a\x33meshtrade/compliance/client/v1/natural_person.proto\x1a\'meshtrade/type/v1/contact_details.proto\x1a\x1fmeshtrade/type/v1/decimal.proto\"\
|
|
33
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n;meshtrade/compliance/client/v1/company_representative.proto\x12\x1emeshtrade.compliance.client.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x16google/type/date.proto\x1a@meshtrade/compliance/client/v1/company_representative_role.proto\x1a\x33meshtrade/compliance/client/v1/natural_person.proto\x1a\'meshtrade/type/v1/contact_details.proto\x1a\x1fmeshtrade/type/v1/decimal.proto\"\xe3\x03\n\x15\x43ompanyRepresentative\x12T\n\x0enatural_person\x18\x01 \x01(\x0b\x32-.meshtrade.compliance.client.v1.NaturalPersonR\rnaturalPerson\x12W\n\x04role\x18\x02 \x01(\x0e\x32\x39.meshtrade.compliance.client.v1.CompanyRepresentativeRoleB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x04role\x12$\n\x08position\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\x18\xf4\x03R\x08position\x12M\n\x14ownership_percentage\x18\x04 \x01(\x0b\x32\x1a.meshtrade.type.v1.DecimalR\x13ownershipPercentage\x12\x63\n\x1cprofessional_contact_details\x18\x05 \x01(\x0b\x32!.meshtrade.type.v1.ContactDetailsR\x1aprofessionalContactDetails\x12\x41\n\x13\x64\x61te_of_appointment\x18\x06 \x01(\x0b\x32\x11.google.type.DateR\x11\x64\x61teOfAppointmentBc\n%co.meshtrade.api.compliance.client.v1Z:github.com/meshtrade/api/go/compliance/client/v1;client_v1b\x06proto3')
|
|
33
34
|
|
|
34
35
|
_globals = globals()
|
|
35
36
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
36
37
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.compliance.client.v1.company_representative_pb2', _globals)
|
|
37
38
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
38
39
|
_globals['DESCRIPTOR']._loaded_options = None
|
|
39
|
-
_globals['DESCRIPTOR']._serialized_options = b'\n%co.meshtrade.api.compliance.client.
|
|
40
|
-
_globals['_COMPANYREPRESENTATIVE'].
|
|
41
|
-
_globals['_COMPANYREPRESENTATIVE'].
|
|
40
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n%co.meshtrade.api.compliance.client.v1Z:github.com/meshtrade/api/go/compliance/client/v1;client_v1'
|
|
41
|
+
_globals['_COMPANYREPRESENTATIVE'].fields_by_name['role']._loaded_options = None
|
|
42
|
+
_globals['_COMPANYREPRESENTATIVE'].fields_by_name['role']._serialized_options = b'\272H\005\202\001\002\020\001'
|
|
43
|
+
_globals['_COMPANYREPRESENTATIVE'].fields_by_name['position']._loaded_options = None
|
|
44
|
+
_globals['_COMPANYREPRESENTATIVE'].fields_by_name['position']._serialized_options = b'\272H\005r\003\030\364\003'
|
|
45
|
+
_globals['_COMPANYREPRESENTATIVE']._serialized_start=342
|
|
46
|
+
_globals['_COMPANYREPRESENTATIVE']._serialized_end=825
|
|
42
47
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from buf.validate import validate_pb2 as _validate_pb2
|
|
1
2
|
from google.type import date_pb2 as _date_pb2
|
|
2
3
|
from meshtrade.compliance.client.v1 import company_representative_role_pb2 as _company_representative_role_pb2
|
|
3
4
|
from meshtrade.compliance.client.v1 import natural_person_pb2 as _natural_person_pb2
|
|
@@ -24,14 +24,14 @@ _sym_db = _symbol_database.Default()
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n@meshtrade/compliance/client/v1/company_representative_role.proto\x12\x1emeshtrade.compliance.client.v1*\xc4\x03\n\x19\x43ompanyRepresentativeRole\x12+\n\'COMPANY_REPRESENTATIVE_ROLE_UNSPECIFIED\x10\x00\x12\x39\n5COMPANY_REPRESENTATIVE_ROLE_ULTIMATE_BENEFICIAL_OWNER\x10\x01\x12+\n\'COMPANY_REPRESENTATIVE_ROLE_SHAREHOLDER\x10\x02\x12/\n+COMPANY_REPRESENTATIVE_ROLE_SOLE_PROPRIETOR\x10\x03\x12\'\n#COMPANY_REPRESENTATIVE_ROLE_PARTNER\x10\x04\x12(\n$COMPANY_REPRESENTATIVE_ROLE_DIRECTOR\x10\x05\x12\'\n#COMPANY_REPRESENTATIVE_ROLE_MANAGER\x10\x06\x12\x34\n0COMPANY_REPRESENTATIVE_ROLE_AUTHORIZED_SIGNATORY\x10\x07\x12/\n+COMPANY_REPRESENTATIVE_ROLE_PRIMARY_CONTACT\x10\x08\x42\
|
|
27
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n@meshtrade/compliance/client/v1/company_representative_role.proto\x12\x1emeshtrade.compliance.client.v1*\xc4\x03\n\x19\x43ompanyRepresentativeRole\x12+\n\'COMPANY_REPRESENTATIVE_ROLE_UNSPECIFIED\x10\x00\x12\x39\n5COMPANY_REPRESENTATIVE_ROLE_ULTIMATE_BENEFICIAL_OWNER\x10\x01\x12+\n\'COMPANY_REPRESENTATIVE_ROLE_SHAREHOLDER\x10\x02\x12/\n+COMPANY_REPRESENTATIVE_ROLE_SOLE_PROPRIETOR\x10\x03\x12\'\n#COMPANY_REPRESENTATIVE_ROLE_PARTNER\x10\x04\x12(\n$COMPANY_REPRESENTATIVE_ROLE_DIRECTOR\x10\x05\x12\'\n#COMPANY_REPRESENTATIVE_ROLE_MANAGER\x10\x06\x12\x34\n0COMPANY_REPRESENTATIVE_ROLE_AUTHORIZED_SIGNATORY\x10\x07\x12/\n+COMPANY_REPRESENTATIVE_ROLE_PRIMARY_CONTACT\x10\x08\x42\x63\n%co.meshtrade.api.compliance.client.v1Z:github.com/meshtrade/api/go/compliance/client/v1;client_v1b\x06proto3')
|
|
28
28
|
|
|
29
29
|
_globals = globals()
|
|
30
30
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
31
31
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.compliance.client.v1.company_representative_role_pb2', _globals)
|
|
32
32
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
33
33
|
_globals['DESCRIPTOR']._loaded_options = None
|
|
34
|
-
_globals['DESCRIPTOR']._serialized_options = b'\n%co.meshtrade.api.compliance.client.
|
|
34
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n%co.meshtrade.api.compliance.client.v1Z:github.com/meshtrade/api/go/compliance/client/v1;client_v1'
|
|
35
35
|
_globals['_COMPANYREPRESENTATIVEROLE']._serialized_start=101
|
|
36
36
|
_globals['_COMPANYREPRESENTATIVEROLE']._serialized_end=553
|
|
37
37
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -22,17 +22,26 @@ _runtime_version.ValidateProtobufRuntimeVersion(
|
|
|
22
22
|
_sym_db = _symbol_database.Default()
|
|
23
23
|
|
|
24
24
|
|
|
25
|
+
from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
|
|
25
26
|
from google.type import date_pb2 as google_dot_type_dot_date__pb2
|
|
26
27
|
|
|
27
28
|
|
|
28
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)meshtrade/compliance/client/v1/fund.proto\x12\x1emeshtrade.compliance.client.v1\x1a\x16google/type/date.proto\"\
|
|
29
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)meshtrade/compliance/client/v1/fund.proto\x12\x1emeshtrade.compliance.client.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x16google/type/date.proto\"\xb9\x03\n\x04\x46und\x12\x31\n\x0fregistered_name\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\xff\x01R\x0eregisteredName\x12\x38\n\x13registration_number\x18\x02 \x01(\tB\x07\xbaH\x04r\x02\x18\x64R\x12registrationNumber\x12.\n\x0etax_identifier\x18\x03 \x01(\tB\x07\xbaH\x04r\x02\x18\x32R\rtaxIdentifier\x12\xd4\x01\n\x13\x63ountry_of_domicile\x18\x04 \x01(\tB\xa3\x01\xbaH\x9f\x01\xba\x01\x9b\x01\n\x1c\x63ountry_code.format.optional\x12Lcountry_of_domicile must be empty or a valid ISO 3166-1 alpha-2 country code\x1a-size(this) == 0 || this.matches(\'^[A-Z]{2}$\')R\x11\x63ountryOfDomicile\x12=\n\x11\x64\x61te_of_inception\x18\x05 \x01(\x0b\x32\x11.google.type.DateR\x0f\x64\x61teOfInceptionBc\n%co.meshtrade.api.compliance.client.v1Z:github.com/meshtrade/api/go/compliance/client/v1;client_v1b\x06proto3')
|
|
29
30
|
|
|
30
31
|
_globals = globals()
|
|
31
32
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
32
33
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.compliance.client.v1.fund_pb2', _globals)
|
|
33
34
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
34
35
|
_globals['DESCRIPTOR']._loaded_options = None
|
|
35
|
-
_globals['DESCRIPTOR']._serialized_options = b'\n%co.meshtrade.api.compliance.client.
|
|
36
|
-
_globals['_FUND'].
|
|
37
|
-
_globals['_FUND'].
|
|
36
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n%co.meshtrade.api.compliance.client.v1Z:github.com/meshtrade/api/go/compliance/client/v1;client_v1'
|
|
37
|
+
_globals['_FUND'].fields_by_name['registered_name']._loaded_options = None
|
|
38
|
+
_globals['_FUND'].fields_by_name['registered_name']._serialized_options = b'\272H\005r\003\030\377\001'
|
|
39
|
+
_globals['_FUND'].fields_by_name['registration_number']._loaded_options = None
|
|
40
|
+
_globals['_FUND'].fields_by_name['registration_number']._serialized_options = b'\272H\004r\002\030d'
|
|
41
|
+
_globals['_FUND'].fields_by_name['tax_identifier']._loaded_options = None
|
|
42
|
+
_globals['_FUND'].fields_by_name['tax_identifier']._serialized_options = b'\272H\004r\002\0302'
|
|
43
|
+
_globals['_FUND'].fields_by_name['country_of_domicile']._loaded_options = None
|
|
44
|
+
_globals['_FUND'].fields_by_name['country_of_domicile']._serialized_options = b'\272H\237\001\272\001\233\001\n\034country_code.format.optional\022Lcountry_of_domicile must be empty or a valid ISO 3166-1 alpha-2 country code\032-size(this) == 0 || this.matches(\'^[A-Z]{2}$\')'
|
|
45
|
+
_globals['_FUND']._serialized_start=131
|
|
46
|
+
_globals['_FUND']._serialized_end=572
|
|
38
47
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -24,14 +24,14 @@ _sym_db = _symbol_database.Default()
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nAmeshtrade/compliance/client/v1/identification_document_type.proto\x12\x1emeshtrade.compliance.client.v1*\x88\x02\n\x1aIdentificationDocumentType\x12,\n(IDENTIFICATION_DOCUMENT_TYPE_UNSPECIFIED\x10\x00\x12)\n%IDENTIFICATION_DOCUMENT_TYPE_PASSPORT\x10\x01\x12,\n(IDENTIFICATION_DOCUMENT_TYPE_NATIONAL_ID\x10\x02\x12\x30\n,IDENTIFICATION_DOCUMENT_TYPE_DRIVERS_LICENSE\x10\x03\x12\x31\n-IDENTIFICATION_DOCUMENT_TYPE_RESIDENCE_PERMIT\x10\x04\x42\
|
|
27
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nAmeshtrade/compliance/client/v1/identification_document_type.proto\x12\x1emeshtrade.compliance.client.v1*\x88\x02\n\x1aIdentificationDocumentType\x12,\n(IDENTIFICATION_DOCUMENT_TYPE_UNSPECIFIED\x10\x00\x12)\n%IDENTIFICATION_DOCUMENT_TYPE_PASSPORT\x10\x01\x12,\n(IDENTIFICATION_DOCUMENT_TYPE_NATIONAL_ID\x10\x02\x12\x30\n,IDENTIFICATION_DOCUMENT_TYPE_DRIVERS_LICENSE\x10\x03\x12\x31\n-IDENTIFICATION_DOCUMENT_TYPE_RESIDENCE_PERMIT\x10\x04\x42\x63\n%co.meshtrade.api.compliance.client.v1Z:github.com/meshtrade/api/go/compliance/client/v1;client_v1b\x06proto3')
|
|
28
28
|
|
|
29
29
|
_globals = globals()
|
|
30
30
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
31
31
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.compliance.client.v1.identification_document_type_pb2', _globals)
|
|
32
32
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
33
33
|
_globals['DESCRIPTOR']._loaded_options = None
|
|
34
|
-
_globals['DESCRIPTOR']._serialized_options = b'\n%co.meshtrade.api.compliance.client.
|
|
34
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n%co.meshtrade.api.compliance.client.v1Z:github.com/meshtrade/api/go/compliance/client/v1;client_v1'
|
|
35
35
|
_globals['_IDENTIFICATIONDOCUMENTTYPE']._serialized_start=102
|
|
36
36
|
_globals['_IDENTIFICATIONDOCUMENTTYPE']._serialized_end=366
|
|
37
37
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -24,14 +24,14 @@ _sym_db = _symbol_database.Default()
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n<meshtrade/compliance/client/v1/industry_classification.proto\x12\x1emeshtrade.compliance.client.v1\"\xdc\x02\n\x16IndustryClassification\x12\x1f\n\x0bsector_code\x18\x01 \x01(\tR\nsectorCode\x12\x1f\n\x0bsector_name\x18\x02 \x01(\tR\nsectorName\x12.\n\x13industry_group_code\x18\x03 \x01(\tR\x11industryGroupCode\x12.\n\x13industry_group_name\x18\x04 \x01(\tR\x11industryGroupName\x12#\n\rindustry_code\x18\x05 \x01(\tR\x0cindustryCode\x12#\n\rindustry_name\x18\x06 \x01(\tR\x0cindustryName\x12*\n\x11sub_industry_code\x18\x07 \x01(\tR\x0fsubIndustryCode\x12*\n\x11sub_industry_name\x18\x08 \x01(\tR\
|
|
27
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n<meshtrade/compliance/client/v1/industry_classification.proto\x12\x1emeshtrade.compliance.client.v1\"\xdc\x02\n\x16IndustryClassification\x12\x1f\n\x0bsector_code\x18\x01 \x01(\tR\nsectorCode\x12\x1f\n\x0bsector_name\x18\x02 \x01(\tR\nsectorName\x12.\n\x13industry_group_code\x18\x03 \x01(\tR\x11industryGroupCode\x12.\n\x13industry_group_name\x18\x04 \x01(\tR\x11industryGroupName\x12#\n\rindustry_code\x18\x05 \x01(\tR\x0cindustryCode\x12#\n\rindustry_name\x18\x06 \x01(\tR\x0cindustryName\x12*\n\x11sub_industry_code\x18\x07 \x01(\tR\x0fsubIndustryCode\x12*\n\x11sub_industry_name\x18\x08 \x01(\tR\x0fsubIndustryNameBc\n%co.meshtrade.api.compliance.client.v1Z:github.com/meshtrade/api/go/compliance/client/v1;client_v1b\x06proto3')
|
|
28
28
|
|
|
29
29
|
_globals = globals()
|
|
30
30
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
31
31
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.compliance.client.v1.industry_classification_pb2', _globals)
|
|
32
32
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
33
33
|
_globals['DESCRIPTOR']._loaded_options = None
|
|
34
|
-
_globals['DESCRIPTOR']._serialized_options = b'\n%co.meshtrade.api.compliance.client.
|
|
34
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n%co.meshtrade.api.compliance.client.v1Z:github.com/meshtrade/api/go/compliance/client/v1;client_v1'
|
|
35
35
|
_globals['_INDUSTRYCLASSIFICATION']._serialized_start=97
|
|
36
36
|
_globals['_INDUSTRYCLASSIFICATION']._serialized_end=445
|
|
37
37
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -24,14 +24,14 @@ _sym_db = _symbol_database.Default()
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nCmeshtrade/compliance/client/v1/natural_person_connection_type.proto\x12\x1emeshtrade.compliance.client.v1*\xb4\x06\n\x1bNaturalPersonConnectionType\x12.\n*NATURAL_PERSON_CONNECTION_TYPE_UNSPECIFIED\x10\x00\x12<\n8NATURAL_PERSON_CONNECTION_TYPE_ULTIMATE_BENEFICIAL_OWNER\x10\x01\x12.\n*NATURAL_PERSON_CONNECTION_TYPE_SHAREHOLDER\x10\x02\x12+\n\'NATURAL_PERSON_CONNECTION_TYPE_DIRECTOR\x10\x03\x12\x34\n0NATURAL_PERSON_CONNECTION_TYPE_SENIOR_MANAGEMENT\x10\x04\x12\x37\n3NATURAL_PERSON_CONNECTION_TYPE_AUTHORIZED_SIGNATORY\x10\x05\x12*\n&NATURAL_PERSON_CONNECTION_TYPE_FOUNDER\x10\x06\x12)\n%NATURAL_PERSON_CONNECTION_TYPE_SPOUSE\x10\x14\x12\x33\n/NATURAL_PERSON_CONNECTION_TYPE_DOMESTIC_PARTNER\x10\x15\x12)\n%NATURAL_PERSON_CONNECTION_TYPE_PARENT\x10\x16\x12(\n$NATURAL_PERSON_CONNECTION_TYPE_CHILD\x10\x17\x12*\n&NATURAL_PERSON_CONNECTION_TYPE_SIBLING\x10\x18\x12\x33\n/NATURAL_PERSON_CONNECTION_TYPE_BUSINESS_PARTNER\x10\x1e\x12\x32\n.NATURAL_PERSON_CONNECTION_TYPE_CLOSE_ASSOCIATE\x10\x1f\x12,\n(NATURAL_PERSON_CONNECTION_TYPE_GUARANTOR\x10 \x12\x37\n3NATURAL_PERSON_CONNECTION_TYPE_BENEFICIARY_OF_TRUST\x10!
|
|
27
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\nCmeshtrade/compliance/client/v1/natural_person_connection_type.proto\x12\x1emeshtrade.compliance.client.v1*\xb4\x06\n\x1bNaturalPersonConnectionType\x12.\n*NATURAL_PERSON_CONNECTION_TYPE_UNSPECIFIED\x10\x00\x12<\n8NATURAL_PERSON_CONNECTION_TYPE_ULTIMATE_BENEFICIAL_OWNER\x10\x01\x12.\n*NATURAL_PERSON_CONNECTION_TYPE_SHAREHOLDER\x10\x02\x12+\n\'NATURAL_PERSON_CONNECTION_TYPE_DIRECTOR\x10\x03\x12\x34\n0NATURAL_PERSON_CONNECTION_TYPE_SENIOR_MANAGEMENT\x10\x04\x12\x37\n3NATURAL_PERSON_CONNECTION_TYPE_AUTHORIZED_SIGNATORY\x10\x05\x12*\n&NATURAL_PERSON_CONNECTION_TYPE_FOUNDER\x10\x06\x12)\n%NATURAL_PERSON_CONNECTION_TYPE_SPOUSE\x10\x14\x12\x33\n/NATURAL_PERSON_CONNECTION_TYPE_DOMESTIC_PARTNER\x10\x15\x12)\n%NATURAL_PERSON_CONNECTION_TYPE_PARENT\x10\x16\x12(\n$NATURAL_PERSON_CONNECTION_TYPE_CHILD\x10\x17\x12*\n&NATURAL_PERSON_CONNECTION_TYPE_SIBLING\x10\x18\x12\x33\n/NATURAL_PERSON_CONNECTION_TYPE_BUSINESS_PARTNER\x10\x1e\x12\x32\n.NATURAL_PERSON_CONNECTION_TYPE_CLOSE_ASSOCIATE\x10\x1f\x12,\n(NATURAL_PERSON_CONNECTION_TYPE_GUARANTOR\x10 \x12\x37\n3NATURAL_PERSON_CONNECTION_TYPE_BENEFICIARY_OF_TRUST\x10!Bc\n%co.meshtrade.api.compliance.client.v1Z:github.com/meshtrade/api/go/compliance/client/v1;client_v1b\x06proto3')
|
|
28
28
|
|
|
29
29
|
_globals = globals()
|
|
30
30
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
31
31
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.compliance.client.v1.natural_person_connection_type_pb2', _globals)
|
|
32
32
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
33
33
|
_globals['DESCRIPTOR']._loaded_options = None
|
|
34
|
-
_globals['DESCRIPTOR']._serialized_options = b'\n%co.meshtrade.api.compliance.client.
|
|
34
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n%co.meshtrade.api.compliance.client.v1Z:github.com/meshtrade/api/go/compliance/client/v1;client_v1'
|
|
35
35
|
_globals['_NATURALPERSONCONNECTIONTYPE']._serialized_start=104
|
|
36
36
|
_globals['_NATURALPERSONCONNECTIONTYPE']._serialized_end=924
|
|
37
37
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -22,6 +22,7 @@ _runtime_version.ValidateProtobufRuntimeVersion(
|
|
|
22
22
|
_sym_db = _symbol_database.Default()
|
|
23
23
|
|
|
24
24
|
|
|
25
|
+
from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
|
|
25
26
|
from google.type import date_pb2 as google_dot_type_dot_date__pb2
|
|
26
27
|
from meshtrade.compliance.client.v1 import identification_document_type_pb2 as meshtrade_dot_compliance_dot_client_dot_v1_dot_identification__document__type__pb2
|
|
27
28
|
from meshtrade.compliance.client.v1 import pep_status_pb2 as meshtrade_dot_compliance_dot_client_dot_v1_dot_pep__status__pb2
|
|
@@ -31,14 +32,28 @@ from meshtrade.type.v1 import address_pb2 as meshtrade_dot_type_dot_v1_dot_addre
|
|
|
31
32
|
from meshtrade.type.v1 import contact_details_pb2 as meshtrade_dot_type_dot_v1_dot_contact__details__pb2
|
|
32
33
|
|
|
33
34
|
|
|
34
|
-
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3meshtrade/compliance/client/v1/natural_person.proto\x12\x1emeshtrade.compliance.client.v1\x1a\x16google/type/date.proto\x1a\x41meshtrade/compliance/client/v1/identification_document_type.proto\x1a/meshtrade/compliance/client/v1/pep_status.proto\x1a@meshtrade/compliance/client/v1/source_of_income_and_wealth.proto\x1a\x32meshtrade/compliance/client/v1/tax_residency.proto\x1a\x1fmeshtrade/type/v1/address.proto\x1a\'meshtrade/type/v1/contact_details.proto\"\
|
|
35
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3meshtrade/compliance/client/v1/natural_person.proto\x12\x1emeshtrade.compliance.client.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x16google/type/date.proto\x1a\x41meshtrade/compliance/client/v1/identification_document_type.proto\x1a/meshtrade/compliance/client/v1/pep_status.proto\x1a@meshtrade/compliance/client/v1/source_of_income_and_wealth.proto\x1a\x32meshtrade/compliance/client/v1/tax_residency.proto\x1a\x1fmeshtrade/type/v1/address.proto\x1a\'meshtrade/type/v1/contact_details.proto\"\xdf\t\n\rNaturalPerson\x12%\n\tfull_name\x18\x01 \x01(\tB\x08\xbaH\x05r\x03\x18\xff\x01R\x08\x66ullName\x12\x35\n\rdate_of_birth\x18\x02 \x01(\x0b\x32\x11.google.type.DateR\x0b\x64\x61teOfBirth\x12\xdd\x01\n\x16\x63ountry_of_citizenship\x18\x03 \x01(\tB\xa6\x01\xbaH\xa2\x01\xba\x01\x9e\x01\n\x1c\x63ountry_code.format.optional\x12Ocountry_of_citizenship must be empty or a valid ISO 3166-1 alpha-2 country code\x1a-size(this) == 0 || this.matches(\'^[A-Z]{2}$\')R\x14\x63ountryOfCitizenship\x12<\n\x15identification_number\x18\x04 \x01(\tB\x07\xbaH\x04r\x02\x18\x64R\x14identificationNumber\x12\x86\x01\n\x1cidentification_document_type\x18\x05 \x01(\x0e\x32:.meshtrade.compliance.client.v1.IdentificationDocumentTypeB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x1aidentificationDocumentType\x12`\n#identification_document_expiry_date\x18\x06 \x01(\x0b\x32\x11.google.type.DateR identificationDocumentExpiryDate\x12\x45\n\x10physical_address\x18\x07 \x01(\x0b\x32\x1a.meshtrade.type.v1.AddressR\x0fphysicalAddress\x12\x41\n\x0epostal_address\x18\x08 \x01(\x0b\x32\x1a.meshtrade.type.v1.AddressR\rpostalAddress\x12R\n\npep_status\x18\t \x01(\x0e\x32).meshtrade.compliance.client.v1.PepStatusB\x08\xbaH\x05\x82\x01\x02\x10\x01R\tpepStatus\x12J\n\x0f\x63ontact_details\x18\n \x01(\x0b\x32!.meshtrade.type.v1.ContactDetailsR\x0e\x63ontactDetails\x12r\n\x11sources_of_income\x18\x0b \x03(\x0e\x32\x37.meshtrade.compliance.client.v1.SourceOfIncomeAndWealthB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x10\x01R\x0fsourcesOfIncome\x12r\n\x11sources_of_wealth\x18\x0c \x03(\x0e\x32\x37.meshtrade.compliance.client.v1.SourceOfIncomeAndWealthB\r\xbaH\n\x92\x01\x07\"\x05\x82\x01\x02\x10\x01R\x0fsourcesOfWealth\x12U\n\x0ftax_residencies\x18\r \x03(\x0b\x32,.meshtrade.compliance.client.v1.TaxResidencyR\x0etaxResidenciesBc\n%co.meshtrade.api.compliance.client.v1Z:github.com/meshtrade/api/go/compliance/client/v1;client_v1b\x06proto3')
|
|
35
36
|
|
|
36
37
|
_globals = globals()
|
|
37
38
|
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
38
39
|
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.compliance.client.v1.natural_person_pb2', _globals)
|
|
39
40
|
if not _descriptor._USE_C_DESCRIPTORS:
|
|
40
41
|
_globals['DESCRIPTOR']._loaded_options = None
|
|
41
|
-
_globals['DESCRIPTOR']._serialized_options = b'\n%co.meshtrade.api.compliance.client.
|
|
42
|
-
_globals['_NATURALPERSON'].
|
|
43
|
-
_globals['_NATURALPERSON'].
|
|
42
|
+
_globals['DESCRIPTOR']._serialized_options = b'\n%co.meshtrade.api.compliance.client.v1Z:github.com/meshtrade/api/go/compliance/client/v1;client_v1'
|
|
43
|
+
_globals['_NATURALPERSON'].fields_by_name['full_name']._loaded_options = None
|
|
44
|
+
_globals['_NATURALPERSON'].fields_by_name['full_name']._serialized_options = b'\272H\005r\003\030\377\001'
|
|
45
|
+
_globals['_NATURALPERSON'].fields_by_name['country_of_citizenship']._loaded_options = None
|
|
46
|
+
_globals['_NATURALPERSON'].fields_by_name['country_of_citizenship']._serialized_options = b'\272H\242\001\272\001\236\001\n\034country_code.format.optional\022Ocountry_of_citizenship must be empty or a valid ISO 3166-1 alpha-2 country code\032-size(this) == 0 || this.matches(\'^[A-Z]{2}$\')'
|
|
47
|
+
_globals['_NATURALPERSON'].fields_by_name['identification_number']._loaded_options = None
|
|
48
|
+
_globals['_NATURALPERSON'].fields_by_name['identification_number']._serialized_options = b'\272H\004r\002\030d'
|
|
49
|
+
_globals['_NATURALPERSON'].fields_by_name['identification_document_type']._loaded_options = None
|
|
50
|
+
_globals['_NATURALPERSON'].fields_by_name['identification_document_type']._serialized_options = b'\272H\005\202\001\002\020\001'
|
|
51
|
+
_globals['_NATURALPERSON'].fields_by_name['pep_status']._loaded_options = None
|
|
52
|
+
_globals['_NATURALPERSON'].fields_by_name['pep_status']._serialized_options = b'\272H\005\202\001\002\020\001'
|
|
53
|
+
_globals['_NATURALPERSON'].fields_by_name['sources_of_income']._loaded_options = None
|
|
54
|
+
_globals['_NATURALPERSON'].fields_by_name['sources_of_income']._serialized_options = b'\272H\n\222\001\007\"\005\202\001\002\020\001'
|
|
55
|
+
_globals['_NATURALPERSON'].fields_by_name['sources_of_wealth']._loaded_options = None
|
|
56
|
+
_globals['_NATURALPERSON'].fields_by_name['sources_of_wealth']._serialized_options = b'\272H\n\222\001\007\"\005\202\001\002\020\001'
|
|
57
|
+
_globals['_NATURALPERSON']._serialized_start=449
|
|
58
|
+
_globals['_NATURALPERSON']._serialized_end=1696
|
|
44
59
|
# @@protoc_insertion_point(module_scope)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from buf.validate import validate_pb2 as _validate_pb2
|
|
1
2
|
from google.type import date_pb2 as _date_pb2
|
|
2
3
|
from meshtrade.compliance.client.v1 import identification_document_type_pb2 as _identification_document_type_pb2
|
|
3
4
|
from meshtrade.compliance.client.v1 import pep_status_pb2 as _pep_status_pb2
|