meshtrade 0.0.4__tar.gz → 0.0.6__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of meshtrade might be problematic. Click here for more details.

Files changed (124) hide show
  1. meshtrade-0.0.6/PKG-INFO +35 -0
  2. meshtrade-0.0.6/README.md +3 -0
  3. {meshtrade-0.0.4 → meshtrade-0.0.6}/pyproject.toml +2 -2
  4. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/service_pb2.py +7 -9
  5. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/service_pb2.pyi +0 -6
  6. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/iam/group/v1/service_pb2.py +3 -5
  7. meshtrade-0.0.6/src/meshtrade/iam/group/v1/service_pb2.pyi +10 -0
  8. meshtrade-0.0.6/src/meshtrade/issuance_hub/instrument/v1/service_pb2.py +49 -0
  9. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/issuance_hub/instrument/v1/service_pb2.pyi +0 -6
  10. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/option/v1/auth_pb2.py +5 -9
  11. meshtrade-0.0.6/src/meshtrade/option/v1/auth_pb2.pyi +28 -0
  12. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/trading/direct_order/v1/service_pb2.py +3 -5
  13. meshtrade-0.0.6/src/meshtrade/trading/direct_order/v1/service_pb2.pyi +12 -0
  14. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/trading/limit_order/v1/service_pb2.py +3 -5
  15. meshtrade-0.0.6/src/meshtrade/trading/limit_order/v1/service_pb2.pyi +12 -0
  16. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/trading/spot/v1/service_pb2.py +3 -5
  17. meshtrade-0.0.6/src/meshtrade/trading/spot/v1/service_pb2.pyi +12 -0
  18. meshtrade-0.0.6/src/meshtrade/type/v1/__init__.py +7 -0
  19. meshtrade-0.0.6/src/meshtrade/type/v1/amount.py +84 -0
  20. meshtrade-0.0.6/src/meshtrade/type/v1/decimal_built_in_conversions.py +29 -0
  21. meshtrade-0.0.6/src/meshtrade/type/v1/ledger.py +26 -0
  22. meshtrade-0.0.6/src/meshtrade/wallet/account/v1/service_pb2.py +70 -0
  23. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/wallet/account/v1/service_pb2.pyi +0 -14
  24. meshtrade-0.0.6/src/meshtrade.egg-info/PKG-INFO +35 -0
  25. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade.egg-info/SOURCES.txt +3 -6
  26. meshtrade-0.0.4/PKG-INFO +0 -196
  27. meshtrade-0.0.4/README.md +0 -164
  28. meshtrade-0.0.4/src/meshtrade/iam/group/v1/service_pb2.pyi +0 -17
  29. meshtrade-0.0.4/src/meshtrade/iam/role/v1/permission_pb2.py +0 -37
  30. meshtrade-0.0.4/src/meshtrade/iam/role/v1/permission_pb2.pyi +0 -15
  31. meshtrade-0.0.4/src/meshtrade/iam/role/v1/role_pb2.py +0 -38
  32. meshtrade-0.0.4/src/meshtrade/iam/role/v1/role_pb2.pyi +0 -16
  33. meshtrade-0.0.4/src/meshtrade/iam/role/v1/service_pb2.py +0 -42
  34. meshtrade-0.0.4/src/meshtrade/iam/role/v1/service_pb2.pyi +0 -17
  35. meshtrade-0.0.4/src/meshtrade/issuance_hub/instrument/v1/service_pb2.py +0 -51
  36. meshtrade-0.0.4/src/meshtrade/option/v1/auth_pb2.pyi +0 -40
  37. meshtrade-0.0.4/src/meshtrade/trading/direct_order/v1/service_pb2.pyi +0 -19
  38. meshtrade-0.0.4/src/meshtrade/trading/limit_order/v1/service_pb2.pyi +0 -19
  39. meshtrade-0.0.4/src/meshtrade/trading/spot/v1/service_pb2.pyi +0 -19
  40. meshtrade-0.0.4/src/meshtrade/wallet/account/v1/__init__.py +0 -0
  41. meshtrade-0.0.4/src/meshtrade/wallet/account/v1/service_pb2.py +0 -74
  42. meshtrade-0.0.4/src/meshtrade.egg-info/PKG-INFO +0 -196
  43. {meshtrade-0.0.4 → meshtrade-0.0.6}/LICENSE +0 -0
  44. {meshtrade-0.0.4 → meshtrade-0.0.6}/setup.cfg +0 -0
  45. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/__init__.py +0 -0
  46. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/__init__.py +0 -0
  47. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/__init__.py +0 -0
  48. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/__init__.py +0 -0
  49. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/client_pb2.py +0 -0
  50. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/client_pb2.pyi +0 -0
  51. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/company_pb2.py +0 -0
  52. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/company_pb2.pyi +0 -0
  53. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/company_representative_pb2.py +0 -0
  54. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/company_representative_pb2.pyi +0 -0
  55. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/company_representative_role_pb2.py +0 -0
  56. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/company_representative_role_pb2.pyi +0 -0
  57. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/fund_pb2.py +0 -0
  58. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/fund_pb2.pyi +0 -0
  59. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/identification_document_type_pb2.py +0 -0
  60. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/identification_document_type_pb2.pyi +0 -0
  61. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/industry_classification_pb2.py +0 -0
  62. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/industry_classification_pb2.pyi +0 -0
  63. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/natural_person_connection_type_pb2.py +0 -0
  64. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/natural_person_connection_type_pb2.pyi +0 -0
  65. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/natural_person_pb2.py +0 -0
  66. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/natural_person_pb2.pyi +0 -0
  67. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/pep_status_pb2.py +0 -0
  68. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/pep_status_pb2.pyi +0 -0
  69. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/source_of_income_and_wealth_pb2.py +0 -0
  70. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/source_of_income_and_wealth_pb2.pyi +0 -0
  71. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/tax_residency_pb2.py +0 -0
  72. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/tax_residency_pb2.pyi +0 -0
  73. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/trust_pb2.py +0 -0
  74. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/trust_pb2.pyi +0 -0
  75. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/verification_status_pb2.py +0 -0
  76. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/compliance/client/v1/verification_status_pb2.pyi +0 -0
  77. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/iam/__init__.py +0 -0
  78. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/iam/group/__init__.py +0 -0
  79. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/iam/group/v1/__init__.py +0 -0
  80. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/iam/group/v1/group_pb2.py +0 -0
  81. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/iam/group/v1/group_pb2.pyi +0 -0
  82. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/iam/role/__init__.py +0 -0
  83. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/iam/role/v1/__init__.py +0 -0
  84. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/issuance_hub/instrument/v1/instrument_pb2.py +0 -0
  85. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/issuance_hub/instrument/v1/instrument_pb2.pyi +0 -0
  86. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/ledger/transaction/v1/transaction_action_pb2.py +0 -0
  87. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/ledger/transaction/v1/transaction_action_pb2.pyi +0 -0
  88. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/ledger/transaction/v1/transaction_state_pb2.py +0 -0
  89. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/ledger/transaction/v1/transaction_state_pb2.pyi +0 -0
  90. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/option/v1/service_type_pb2.py +0 -0
  91. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/option/v1/service_type_pb2.pyi +0 -0
  92. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/trading/__init__.py +0 -0
  93. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/trading/direct_order/__init__.py +0 -0
  94. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/trading/direct_order/v1/__init__.py +0 -0
  95. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/trading/direct_order/v1/direct_order_pb2.py +0 -0
  96. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/trading/direct_order/v1/direct_order_pb2.pyi +0 -0
  97. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/trading/limit_order/__init__.py +0 -0
  98. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/trading/limit_order/v1/__init__.py +0 -0
  99. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/trading/limit_order/v1/limit_order_pb2.py +0 -0
  100. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/trading/limit_order/v1/limit_order_pb2.pyi +0 -0
  101. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/trading/spot/__init__.py +0 -0
  102. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/trading/spot/v1/__init__.py +0 -0
  103. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/trading/spot/v1/spot_pb2.py +0 -0
  104. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/trading/spot/v1/spot_pb2.pyi +0 -0
  105. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/type/__init__.py +0 -0
  106. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/type/v1/address_pb2.py +0 -0
  107. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/type/v1/address_pb2.pyi +0 -0
  108. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/type/v1/amount_pb2.py +0 -0
  109. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/type/v1/amount_pb2.pyi +0 -0
  110. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/type/v1/contact_details_pb2.py +0 -0
  111. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/type/v1/contact_details_pb2.pyi +0 -0
  112. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/type/v1/decimal_pb2.py +0 -0
  113. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/type/v1/decimal_pb2.pyi +0 -0
  114. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/type/v1/ledger_pb2.py +0 -0
  115. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/type/v1/ledger_pb2.pyi +0 -0
  116. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/type/v1/token_pb2.py +0 -0
  117. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/type/v1/token_pb2.pyi +0 -0
  118. {meshtrade-0.0.4/src/meshtrade/type/v1 → meshtrade-0.0.6/src/meshtrade/wallet}/__init__.py +0 -0
  119. {meshtrade-0.0.4/src/meshtrade/wallet → meshtrade-0.0.6/src/meshtrade/wallet/account/v1}/__init__.py +0 -0
  120. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/wallet/account/v1/account_pb2.py +0 -0
  121. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade/wallet/account/v1/account_pb2.pyi +0 -0
  122. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade.egg-info/dependency_links.txt +0 -0
  123. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade.egg-info/requires.txt +0 -0
  124. {meshtrade-0.0.4 → meshtrade-0.0.6}/src/meshtrade.egg-info/top_level.txt +0 -0
@@ -0,0 +1,35 @@
1
+ Metadata-Version: 2.4
2
+ Name: meshtrade
3
+ Version: 0.0.6
4
+ Summary: Integration SDK for Mesh API Services
5
+ Author-email: Bernard Bussy <bernard@meshtrade.co>
6
+ License-Expression: LicenseRef-My-Custom-License
7
+ Project-URL: Repository, https://github.com/meshtrade/api
8
+ Keywords: meshtrade,mesh,mesh-sdk,grpc,betterproto,grpclib
9
+ Classifier: Development Status :: 1 - Planning
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3.8
14
+ Classifier: Programming Language :: Python :: 3.9
15
+ Classifier: Programming Language :: Python :: 3.10
16
+ Classifier: Programming Language :: Python :: 3.11
17
+ Classifier: Programming Language :: Python :: 3.12
18
+ Requires-Python: >=3.12
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ Requires-Dist: grpcio<2.0,>=1.73.0
22
+ Requires-Dist: protobuf<7.0,>=6.31.1
23
+ Requires-Dist: googleapis-common-protos<2.0.0,>=1.70.0
24
+ Provides-Extra: dev
25
+ Requires-Dist: ruff~=0.11.13; extra == "dev"
26
+ Requires-Dist: pytest~=8.4.0; extra == "dev"
27
+ Requires-Dist: build~=1.2.2; extra == "dev"
28
+ Requires-Dist: twine~=6.1.0; extra == "dev"
29
+ Requires-Dist: tox~=4.26.0; extra == "dev"
30
+ Requires-Dist: types-protobuf~=6.30.2.20250516; extra == "dev"
31
+ Dynamic: license-file
32
+
33
+ # Python SDK
34
+
35
+ Please find the complete Python SDK documentation here: [docs/pages/python.md](../docs/pages/python.md)
@@ -0,0 +1,3 @@
1
+ # Python SDK
2
+
3
+ Please find the complete Python SDK documentation here: [docs/pages/python.md](../docs/pages/python.md)
@@ -4,12 +4,12 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "meshtrade"
7
- version = "v0.0.4"
7
+ version = "v0.0.6"
8
8
  authors = [
9
9
  { name = "Bernard Bussy", email = "bernard@meshtrade.co" },
10
10
  ]
11
11
  description = "Integration SDK for Mesh API Services"
12
- requires-python = ">=3.8"
12
+ requires-python = ">=3.12"
13
13
  keywords = ["meshtrade", "mesh", "mesh-sdk", "grpc", "betterproto", "grpclib"]
14
14
  license = "LicenseRef-My-Custom-License"
15
15
  license-files = ["LICENSE"]
@@ -25,7 +25,7 @@ _sym_db = _symbol_database.Default()
25
25
  from meshtrade.compliance.client.v1 import client_pb2 as meshtrade_dot_compliance_dot_client_dot_v1_dot_client__pb2
26
26
 
27
27
 
28
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,meshtrade/compliance/client/v1/service.proto\x12\x1emeshtrade.compliance.client.v1\x1a+meshtrade/compliance/client/v1/client.proto\"&\n\x10GetClientRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"S\n\x11GetClientResponse\x12>\n\x06\x63lient\x18\x01 \x01(\x0b\x32&.meshtrade.compliance.client.v1.ClientR\x06\x63lient\"\x14\n\x12ListClientsRequest\"W\n\x13ListClientsResponse\x12@\n\x07\x63lients\x18\x01 \x03(\x0b\x32&.meshtrade.compliance.client.v1.ClientR\x07\x63lients2\xec\x01\n\rClientService\x12j\n\x03Get\x12\x30.meshtrade.compliance.client.v1.GetClientRequest\x1a\x31.meshtrade.compliance.client.v1.GetClientResponse\x12o\n\x04List\x12\x32.meshtrade.compliance.client.v1.ListClientsRequest\x1a\x33.meshtrade.compliance.client.v1.ListClientsResponseB;Z9github.com/meshtrade/api/go/compliance/client/v1;clientv1b\x06proto3')
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n,meshtrade/compliance/client/v1/service.proto\x12\x1emeshtrade.compliance.client.v1\x1a+meshtrade/compliance/client/v1/client.proto\"&\n\x10GetClientRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"\x14\n\x12ListClientsRequest\"W\n\x13ListClientsResponse\x12@\n\x07\x63lients\x18\x01 \x03(\x0b\x32&.meshtrade.compliance.client.v1.ClientR\x07\x63lients2\xee\x01\n\rClientService\x12\x65\n\tGetClient\x12\x30.meshtrade.compliance.client.v1.GetClientRequest\x1a&.meshtrade.compliance.client.v1.Client\x12v\n\x0bListClients\x12\x32.meshtrade.compliance.client.v1.ListClientsRequest\x1a\x33.meshtrade.compliance.client.v1.ListClientsResponseB;Z9github.com/meshtrade/api/go/compliance/client/v1;clientv1b\x06proto3')
29
29
 
30
30
  _globals = globals()
31
31
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -35,12 +35,10 @@ if not _descriptor._USE_C_DESCRIPTORS:
35
35
  _globals['DESCRIPTOR']._serialized_options = b'Z9github.com/meshtrade/api/go/compliance/client/v1;clientv1'
36
36
  _globals['_GETCLIENTREQUEST']._serialized_start=125
37
37
  _globals['_GETCLIENTREQUEST']._serialized_end=163
38
- _globals['_GETCLIENTRESPONSE']._serialized_start=165
39
- _globals['_GETCLIENTRESPONSE']._serialized_end=248
40
- _globals['_LISTCLIENTSREQUEST']._serialized_start=250
41
- _globals['_LISTCLIENTSREQUEST']._serialized_end=270
42
- _globals['_LISTCLIENTSRESPONSE']._serialized_start=272
43
- _globals['_LISTCLIENTSRESPONSE']._serialized_end=359
44
- _globals['_CLIENTSERVICE']._serialized_start=362
45
- _globals['_CLIENTSERVICE']._serialized_end=598
38
+ _globals['_LISTCLIENTSREQUEST']._serialized_start=165
39
+ _globals['_LISTCLIENTSREQUEST']._serialized_end=185
40
+ _globals['_LISTCLIENTSRESPONSE']._serialized_start=187
41
+ _globals['_LISTCLIENTSRESPONSE']._serialized_end=274
42
+ _globals['_CLIENTSERVICE']._serialized_start=277
43
+ _globals['_CLIENTSERVICE']._serialized_end=515
46
44
  # @@protoc_insertion_point(module_scope)
@@ -13,12 +13,6 @@ class GetClientRequest(_message.Message):
13
13
  name: str
14
14
  def __init__(self, name: _Optional[str] = ...) -> None: ...
15
15
 
16
- class GetClientResponse(_message.Message):
17
- __slots__ = ("client",)
18
- CLIENT_FIELD_NUMBER: _ClassVar[int]
19
- client: _client_pb2.Client
20
- def __init__(self, client: _Optional[_Union[_client_pb2.Client, _Mapping]] = ...) -> None: ...
21
-
22
16
  class ListClientsRequest(_message.Message):
23
17
  __slots__ = ()
24
18
  def __init__(self) -> None: ...
@@ -25,7 +25,7 @@ _sym_db = _symbol_database.Default()
25
25
  from meshtrade.iam.group.v1 import group_pb2 as meshtrade_dot_iam_dot_group_dot_v1_dot_group__pb2
26
26
 
27
27
 
28
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$meshtrade/iam/group/v1/service.proto\x12\x16meshtrade.iam.group.v1\x1a\"meshtrade/iam/group/v1/group.proto\"\x11\n\x0fGetGroupRequest\"G\n\x10GetGroupResponse\x12\x33\n\x05group\x18\x01 \x01(\x0b\x32\x1d.meshtrade.iam.group.v1.GroupR\x05group2h\n\x0cGroupService\x12X\n\x03Get\x12\'.meshtrade.iam.group.v1.GetGroupRequest\x1a(.meshtrade.iam.group.v1.GetGroupResponseB2Z0github.com/meshtrade/api/go/iam/group/v1;groupv1b\x06proto3')
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$meshtrade/iam/group/v1/service.proto\x12\x16meshtrade.iam.group.v1\x1a\"meshtrade/iam/group/v1/group.proto\"\x11\n\x0fGetGroupRequest2b\n\x0cGroupService\x12R\n\x08GetGroup\x12\'.meshtrade.iam.group.v1.GetGroupRequest\x1a\x1d.meshtrade.iam.group.v1.GroupB2Z0github.com/meshtrade/api/go/iam/group/v1;groupv1b\x06proto3')
29
29
 
30
30
  _globals = globals()
31
31
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -35,8 +35,6 @@ if not _descriptor._USE_C_DESCRIPTORS:
35
35
  _globals['DESCRIPTOR']._serialized_options = b'Z0github.com/meshtrade/api/go/iam/group/v1;groupv1'
36
36
  _globals['_GETGROUPREQUEST']._serialized_start=100
37
37
  _globals['_GETGROUPREQUEST']._serialized_end=117
38
- _globals['_GETGROUPRESPONSE']._serialized_start=119
39
- _globals['_GETGROUPRESPONSE']._serialized_end=190
40
- _globals['_GROUPSERVICE']._serialized_start=192
41
- _globals['_GROUPSERVICE']._serialized_end=296
38
+ _globals['_GROUPSERVICE']._serialized_start=119
39
+ _globals['_GROUPSERVICE']._serialized_end=217
42
40
  # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,10 @@
1
+ from meshtrade.iam.group.v1 import group_pb2 as _group_pb2
2
+ from google.protobuf import descriptor as _descriptor
3
+ from google.protobuf import message as _message
4
+ from typing import ClassVar as _ClassVar
5
+
6
+ DESCRIPTOR: _descriptor.FileDescriptor
7
+
8
+ class GetGroupRequest(_message.Message):
9
+ __slots__ = ()
10
+ def __init__(self) -> None: ...
@@ -0,0 +1,49 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: meshtrade/issuance_hub/instrument/v1/service.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'meshtrade/issuance_hub/instrument/v1/service.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from meshtrade.issuance_hub.instrument.v1 import instrument_pb2 as meshtrade_dot_issuance__hub_dot_instrument_dot_v1_dot_instrument__pb2
26
+ from meshtrade.type.v1 import amount_pb2 as meshtrade_dot_type_dot_v1_dot_amount__pb2
27
+
28
+
29
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n2meshtrade/issuance_hub/instrument/v1/service.proto\x12$meshtrade.issuance_hub.instrument.v1\x1a\x35meshtrade/issuance_hub/instrument/v1/instrument.proto\x1a\x1emeshtrade/type/v1/amount.proto\"*\n\x14GetInstrumentRequest\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\"\x9c\x01\n\x15MintInstrumentRequest\x12\x31\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x19.meshtrade.type.v1.AmountR\x06\x61mount\x12\x1f\n\x0b\x66\x65\x65_account\x18\x02 \x01(\tR\nfeeAccount\x12/\n\x13\x64\x65stination_account\x18\x03 \x01(\tR\x12\x64\x65stinationAccount\"?\n\x16MintInstrumentResponse\x12%\n\x0etransaction_id\x18\x01 \x01(\tR\rtransactionId\"\x92\x01\n\x15\x42urnInstrumentRequest\x12\x31\n\x06\x61mount\x18\x01 \x01(\x0b\x32\x19.meshtrade.type.v1.AmountR\x06\x61mount\x12\x1f\n\x0b\x66\x65\x65_account\x18\x02 \x01(\tR\nfeeAccount\x12%\n\x0esource_account\x18\x03 \x01(\tR\rsourceAccount\"?\n\x16\x42urnInstrumentResponse\x12%\n\x0etransaction_id\x18\x01 \x01(\tR\rtransactionId2\xae\x03\n\x11InstrumentService\x12}\n\rGetInstrument\x12:.meshtrade.issuance_hub.instrument.v1.GetInstrumentRequest\x1a\x30.meshtrade.issuance_hub.instrument.v1.Instrument\x12\x8b\x01\n\x0eMintInstrument\x12;.meshtrade.issuance_hub.instrument.v1.MintInstrumentRequest\x1a<.meshtrade.issuance_hub.instrument.v1.MintInstrumentResponse\x12\x8b\x01\n\x0e\x42urnInstrument\x12;.meshtrade.issuance_hub.instrument.v1.BurnInstrumentRequest\x1a<.meshtrade.issuance_hub.instrument.v1.BurnInstrumentResponseBEZCgithub.com/meshtrade/api/go/issuance_hub/instrument/v1;instrumentv1b\x06proto3')
30
+
31
+ _globals = globals()
32
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
33
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.issuance_hub.instrument.v1.service_pb2', _globals)
34
+ if not _descriptor._USE_C_DESCRIPTORS:
35
+ _globals['DESCRIPTOR']._loaded_options = None
36
+ _globals['DESCRIPTOR']._serialized_options = b'ZCgithub.com/meshtrade/api/go/issuance_hub/instrument/v1;instrumentv1'
37
+ _globals['_GETINSTRUMENTREQUEST']._serialized_start=179
38
+ _globals['_GETINSTRUMENTREQUEST']._serialized_end=221
39
+ _globals['_MINTINSTRUMENTREQUEST']._serialized_start=224
40
+ _globals['_MINTINSTRUMENTREQUEST']._serialized_end=380
41
+ _globals['_MINTINSTRUMENTRESPONSE']._serialized_start=382
42
+ _globals['_MINTINSTRUMENTRESPONSE']._serialized_end=445
43
+ _globals['_BURNINSTRUMENTREQUEST']._serialized_start=448
44
+ _globals['_BURNINSTRUMENTREQUEST']._serialized_end=594
45
+ _globals['_BURNINSTRUMENTRESPONSE']._serialized_start=596
46
+ _globals['_BURNINSTRUMENTRESPONSE']._serialized_end=659
47
+ _globals['_INSTRUMENTSERVICE']._serialized_start=662
48
+ _globals['_INSTRUMENTSERVICE']._serialized_end=1092
49
+ # @@protoc_insertion_point(module_scope)
@@ -13,12 +13,6 @@ class GetInstrumentRequest(_message.Message):
13
13
  name: str
14
14
  def __init__(self, name: _Optional[str] = ...) -> None: ...
15
15
 
16
- class GetInstrumentResponse(_message.Message):
17
- __slots__ = ("instrument",)
18
- INSTRUMENT_FIELD_NUMBER: _ClassVar[int]
19
- instrument: _instrument_pb2.Instrument
20
- def __init__(self, instrument: _Optional[_Union[_instrument_pb2.Instrument, _Mapping]] = ...) -> None: ...
21
-
22
16
  class MintInstrumentRequest(_message.Message):
23
17
  __slots__ = ("amount", "fee_account", "destination_account")
24
18
  AMOUNT_FIELD_NUMBER: _ClassVar[int]
@@ -25,7 +25,7 @@ _sym_db = _symbol_database.Default()
25
25
  from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2
26
26
 
27
27
 
28
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1emeshtrade/option/v1/auth.proto\x12\x13meshtrade.option.v1\x1a google/protobuf/descriptor.proto\"D\n\x0cStandardRole\x12\x12\n\x04name\x18\x01 \x01(\tR\x04name\x12 \n\x0bpermissions\x18\x02 \x03(\tR\x0bpermissions\"8\n\x14PermissionStringList\x12 \n\x0bpermissions\x18\x01 \x03(\tR\x0bpermissions\",\n\x14StandardRoleNameList\x12\x14\n\x05roles\x18\x01 \x03(\tR\x05roles\"K\n\x10StandardRoleList\x12\x37\n\x05roles\x18\x01 \x03(\x0b\x32!.meshtrade.option.v1.StandardRoleR\x05roles:~\n\x14required_permissions\x12\x1e.google.protobuf.MethodOptions\x18\xd1\x86\x03 \x01(\x0b\x32).meshtrade.option.v1.PermissionStringListR\x13requiredPermissions:r\n\x0erequired_roles\x12\x1e.google.protobuf.MethodOptions\x18\xd2\x86\x03 \x01(\x0b\x32).meshtrade.option.v1.StandardRoleNameListR\rrequiredRoles:l\n\x0estandard_roles\x12\x1c.google.protobuf.FileOptions\x18\xd3\x86\x03 \x01(\x0b\x32%.meshtrade.option.v1.StandardRoleListR\rstandardRolesB0Z.github.com/meshtrade/api/go/option/v1;optionv1b\x06proto3')
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1emeshtrade/option/v1/auth.proto\x12\x13meshtrade.option.v1\x1a google/protobuf/descriptor.proto\"K\n\x10StandardRoleList\x12\x37\n\x05roles\x18\x01 \x03(\x0e\x32!.meshtrade.option.v1.StandardRoleR\x05roles*n\n\x0cStandardRole\x12\x1d\n\x19STANDARD_ROLE_UNSPECIFIED\x10\x00\x12\x1e\n\x1aSTANDARD_ROLE_WALLET_ADMIN\x10\x01\x12\x1f\n\x1bSTANDARD_ROLE_WALLET_VIEWER\x10\x02:l\n\x0estandard_roles\x12\x1c.google.protobuf.FileOptions\x18\xd3\x86\x03 \x01(\x0b\x32%.meshtrade.option.v1.StandardRoleListR\rstandardRoles:n\n\x0erequired_roles\x12\x1e.google.protobuf.MethodOptions\x18\xd5\x86\x03 \x01(\x0b\x32%.meshtrade.option.v1.StandardRoleListR\rrequiredRolesB0Z.github.com/meshtrade/api/go/option/v1;optionv1b\x06proto3')
29
29
 
30
30
  _globals = globals()
31
31
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -33,12 +33,8 @@ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.option.v1.auth_pb
33
33
  if not _descriptor._USE_C_DESCRIPTORS:
34
34
  _globals['DESCRIPTOR']._loaded_options = None
35
35
  _globals['DESCRIPTOR']._serialized_options = b'Z.github.com/meshtrade/api/go/option/v1;optionv1'
36
- _globals['_STANDARDROLE']._serialized_start=89
37
- _globals['_STANDARDROLE']._serialized_end=157
38
- _globals['_PERMISSIONSTRINGLIST']._serialized_start=159
39
- _globals['_PERMISSIONSTRINGLIST']._serialized_end=215
40
- _globals['_STANDARDROLENAMELIST']._serialized_start=217
41
- _globals['_STANDARDROLENAMELIST']._serialized_end=261
42
- _globals['_STANDARDROLELIST']._serialized_start=263
43
- _globals['_STANDARDROLELIST']._serialized_end=338
36
+ _globals['_STANDARDROLE']._serialized_start=166
37
+ _globals['_STANDARDROLE']._serialized_end=276
38
+ _globals['_STANDARDROLELIST']._serialized_start=89
39
+ _globals['_STANDARDROLELIST']._serialized_end=164
44
40
  # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,28 @@
1
+ from google.protobuf import descriptor_pb2 as _descriptor_pb2
2
+ from google.protobuf.internal import containers as _containers
3
+ from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
4
+ from google.protobuf import descriptor as _descriptor
5
+ from google.protobuf import message as _message
6
+ from collections.abc import Iterable as _Iterable
7
+ from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union
8
+
9
+ DESCRIPTOR: _descriptor.FileDescriptor
10
+
11
+ class StandardRole(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
12
+ __slots__ = ()
13
+ STANDARD_ROLE_UNSPECIFIED: _ClassVar[StandardRole]
14
+ STANDARD_ROLE_WALLET_ADMIN: _ClassVar[StandardRole]
15
+ STANDARD_ROLE_WALLET_VIEWER: _ClassVar[StandardRole]
16
+ STANDARD_ROLE_UNSPECIFIED: StandardRole
17
+ STANDARD_ROLE_WALLET_ADMIN: StandardRole
18
+ STANDARD_ROLE_WALLET_VIEWER: StandardRole
19
+ STANDARD_ROLES_FIELD_NUMBER: _ClassVar[int]
20
+ standard_roles: _descriptor.FieldDescriptor
21
+ REQUIRED_ROLES_FIELD_NUMBER: _ClassVar[int]
22
+ required_roles: _descriptor.FieldDescriptor
23
+
24
+ class StandardRoleList(_message.Message):
25
+ __slots__ = ("roles",)
26
+ ROLES_FIELD_NUMBER: _ClassVar[int]
27
+ roles: _containers.RepeatedScalarFieldContainer[StandardRole]
28
+ def __init__(self, roles: _Optional[_Iterable[_Union[StandardRole, str]]] = ...) -> None: ...
@@ -25,7 +25,7 @@ _sym_db = _symbol_database.Default()
25
25
  from meshtrade.trading.direct_order.v1 import direct_order_pb2 as meshtrade_dot_trading_dot_direct__order_dot_v1_dot_direct__order__pb2
26
26
 
27
27
 
28
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/meshtrade/trading/direct_order/v1/service.proto\x12!meshtrade.trading.direct_order.v1\x1a\x34meshtrade/trading/direct_order/v1/direct_order.proto\"/\n\x15GetDirectOrderRequest\x12\x16\n\x06number\x18\x01 \x01(\tR\x06number\"j\n\x16GetDirectOrderResponse\x12P\n\x0b\x64irectorder\x18\x01 \x01(\x0b\x32..meshtrade.trading.direct_order.v1.DirectOrderR\x0b\x64irectorder2\x90\x01\n\x12\x44irectOrderService\x12z\n\x03Get\x12\x38.meshtrade.trading.direct_order.v1.GetDirectOrderRequest\x1a\x39.meshtrade.trading.direct_order.v1.GetDirectOrderResponseBCZAgithub.com/meshtrade/api/go/trading/direct_order/v1;directorderv1b\x06proto3')
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/meshtrade/trading/direct_order/v1/service.proto\x12!meshtrade.trading.direct_order.v1\x1a\x34meshtrade/trading/direct_order/v1/direct_order.proto\"/\n\x15GetDirectOrderRequest\x12\x16\n\x06number\x18\x01 \x01(\tR\x06number2\x90\x01\n\x12\x44irectOrderService\x12z\n\x0eGetDirectOrder\x12\x38.meshtrade.trading.direct_order.v1.GetDirectOrderRequest\x1a..meshtrade.trading.direct_order.v1.DirectOrderBCZAgithub.com/meshtrade/api/go/trading/direct_order/v1;directorderv1b\x06proto3')
29
29
 
30
30
  _globals = globals()
31
31
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -35,8 +35,6 @@ if not _descriptor._USE_C_DESCRIPTORS:
35
35
  _globals['DESCRIPTOR']._serialized_options = b'ZAgithub.com/meshtrade/api/go/trading/direct_order/v1;directorderv1'
36
36
  _globals['_GETDIRECTORDERREQUEST']._serialized_start=140
37
37
  _globals['_GETDIRECTORDERREQUEST']._serialized_end=187
38
- _globals['_GETDIRECTORDERRESPONSE']._serialized_start=189
39
- _globals['_GETDIRECTORDERRESPONSE']._serialized_end=295
40
- _globals['_DIRECTORDERSERVICE']._serialized_start=298
41
- _globals['_DIRECTORDERSERVICE']._serialized_end=442
38
+ _globals['_DIRECTORDERSERVICE']._serialized_start=190
39
+ _globals['_DIRECTORDERSERVICE']._serialized_end=334
42
40
  # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,12 @@
1
+ from meshtrade.trading.direct_order.v1 import direct_order_pb2 as _direct_order_pb2
2
+ from google.protobuf import descriptor as _descriptor
3
+ from google.protobuf import message as _message
4
+ from typing import ClassVar as _ClassVar, Optional as _Optional
5
+
6
+ DESCRIPTOR: _descriptor.FileDescriptor
7
+
8
+ class GetDirectOrderRequest(_message.Message):
9
+ __slots__ = ("number",)
10
+ NUMBER_FIELD_NUMBER: _ClassVar[int]
11
+ number: str
12
+ def __init__(self, number: _Optional[str] = ...) -> None: ...
@@ -25,7 +25,7 @@ _sym_db = _symbol_database.Default()
25
25
  from meshtrade.trading.limit_order.v1 import limit_order_pb2 as meshtrade_dot_trading_dot_limit__order_dot_v1_dot_limit__order__pb2
26
26
 
27
27
 
28
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.meshtrade/trading/limit_order/v1/service.proto\x12 meshtrade.trading.limit_order.v1\x1a\x32meshtrade/trading/limit_order/v1/limit_order.proto\".\n\x14GetLimitOrderRequest\x12\x16\n\x06number\x18\x01 \x01(\tR\x06number\"e\n\x15GetLimitOrderResponse\x12L\n\nlimitorder\x18\x01 \x01(\x0b\x32,.meshtrade.trading.limit_order.v1.LimitOrderR\nlimitorder2\x8b\x01\n\x11LimitOrderService\x12v\n\x03Get\x12\x36.meshtrade.trading.limit_order.v1.GetLimitOrderRequest\x1a\x37.meshtrade.trading.limit_order.v1.GetLimitOrderResponseBAZ?github.com/meshtrade/api/go/trading/limit_order/v1;limitorderv1b\x06proto3')
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n.meshtrade/trading/limit_order/v1/service.proto\x12 meshtrade.trading.limit_order.v1\x1a\x32meshtrade/trading/limit_order/v1/limit_order.proto\".\n\x14GetLimitOrderRequest\x12\x16\n\x06number\x18\x01 \x01(\tR\x06number2\x8a\x01\n\x11LimitOrderService\x12u\n\rGetLimitOrder\x12\x36.meshtrade.trading.limit_order.v1.GetLimitOrderRequest\x1a,.meshtrade.trading.limit_order.v1.LimitOrderBAZ?github.com/meshtrade/api/go/trading/limit_order/v1;limitorderv1b\x06proto3')
29
29
 
30
30
  _globals = globals()
31
31
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -35,8 +35,6 @@ if not _descriptor._USE_C_DESCRIPTORS:
35
35
  _globals['DESCRIPTOR']._serialized_options = b'Z?github.com/meshtrade/api/go/trading/limit_order/v1;limitorderv1'
36
36
  _globals['_GETLIMITORDERREQUEST']._serialized_start=136
37
37
  _globals['_GETLIMITORDERREQUEST']._serialized_end=182
38
- _globals['_GETLIMITORDERRESPONSE']._serialized_start=184
39
- _globals['_GETLIMITORDERRESPONSE']._serialized_end=285
40
- _globals['_LIMITORDERSERVICE']._serialized_start=288
41
- _globals['_LIMITORDERSERVICE']._serialized_end=427
38
+ _globals['_LIMITORDERSERVICE']._serialized_start=185
39
+ _globals['_LIMITORDERSERVICE']._serialized_end=323
42
40
  # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,12 @@
1
+ from meshtrade.trading.limit_order.v1 import limit_order_pb2 as _limit_order_pb2
2
+ from google.protobuf import descriptor as _descriptor
3
+ from google.protobuf import message as _message
4
+ from typing import ClassVar as _ClassVar, Optional as _Optional
5
+
6
+ DESCRIPTOR: _descriptor.FileDescriptor
7
+
8
+ class GetLimitOrderRequest(_message.Message):
9
+ __slots__ = ("number",)
10
+ NUMBER_FIELD_NUMBER: _ClassVar[int]
11
+ number: str
12
+ def __init__(self, number: _Optional[str] = ...) -> None: ...
@@ -25,7 +25,7 @@ _sym_db = _symbol_database.Default()
25
25
  from meshtrade.trading.spot.v1 import spot_pb2 as meshtrade_dot_trading_dot_spot_dot_v1_dot_spot__pb2
26
26
 
27
27
 
28
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'meshtrade/trading/spot/v1/service.proto\x12\x19meshtrade.trading.spot.v1\x1a$meshtrade/trading/spot/v1/spot.proto\"(\n\x0eGetSpotRequest\x12\x16\n\x06number\x18\x01 \x01(\tR\x06number\"F\n\x0fGetSpotResponse\x12\x33\n\x04spot\x18\x01 \x01(\x0b\x32\x1f.meshtrade.trading.spot.v1.SpotR\x04spot2k\n\x0bSpotService\x12\\\n\x03Get\x12).meshtrade.trading.spot.v1.GetSpotRequest\x1a*.meshtrade.trading.spot.v1.GetSpotResponseB4Z2github.com/meshtrade/api/go/trading/spot/v1;spotv1b\x06proto3')
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'meshtrade/trading/spot/v1/service.proto\x12\x19meshtrade.trading.spot.v1\x1a$meshtrade/trading/spot/v1/spot.proto\"(\n\x0eGetSpotRequest\x12\x16\n\x06number\x18\x01 \x01(\tR\x06number2d\n\x0bSpotService\x12U\n\x07GetSpot\x12).meshtrade.trading.spot.v1.GetSpotRequest\x1a\x1f.meshtrade.trading.spot.v1.SpotB4Z2github.com/meshtrade/api/go/trading/spot/v1;spotv1b\x06proto3')
29
29
 
30
30
  _globals = globals()
31
31
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -35,8 +35,6 @@ if not _descriptor._USE_C_DESCRIPTORS:
35
35
  _globals['DESCRIPTOR']._serialized_options = b'Z2github.com/meshtrade/api/go/trading/spot/v1;spotv1'
36
36
  _globals['_GETSPOTREQUEST']._serialized_start=108
37
37
  _globals['_GETSPOTREQUEST']._serialized_end=148
38
- _globals['_GETSPOTRESPONSE']._serialized_start=150
39
- _globals['_GETSPOTRESPONSE']._serialized_end=220
40
- _globals['_SPOTSERVICE']._serialized_start=222
41
- _globals['_SPOTSERVICE']._serialized_end=329
38
+ _globals['_SPOTSERVICE']._serialized_start=150
39
+ _globals['_SPOTSERVICE']._serialized_end=250
42
40
  # @@protoc_insertion_point(module_scope)
@@ -0,0 +1,12 @@
1
+ from meshtrade.trading.spot.v1 import spot_pb2 as _spot_pb2
2
+ from google.protobuf import descriptor as _descriptor
3
+ from google.protobuf import message as _message
4
+ from typing import ClassVar as _ClassVar, Optional as _Optional
5
+
6
+ DESCRIPTOR: _descriptor.FileDescriptor
7
+
8
+ class GetSpotRequest(_message.Message):
9
+ __slots__ = ("number",)
10
+ NUMBER_FIELD_NUMBER: _ClassVar[int]
11
+ number: str
12
+ def __init__(self, number: _Optional[str] = ...) -> None: ...
@@ -0,0 +1,7 @@
1
+ from .amount import new_amount
2
+ from .decimal_built_in_conversions import built_in_to_decimal, decimal_to_built_in
3
+ from .decimal_pb2 import Decimal
4
+ from .ledger_pb2 import Ledger
5
+ from .ledger import get_ledger_no_decimal_places
6
+ from .token_pb2 import Token
7
+ from .amount_pb2 import Amount
@@ -0,0 +1,84 @@
1
+ """
2
+ This module provides a factory function for creating Amount protobuf messages.
3
+ """
4
+
5
+ from decimal import ROUND_DOWN, Decimal
6
+
7
+ from .amount_pb2 import Amount
8
+ from .decimal_built_in_conversions import built_in_to_decimal, decimal_to_built_in
9
+ from .ledger import get_ledger_no_decimal_places
10
+ from .token_pb2 import Token
11
+
12
+
13
+ def new_amount(
14
+ value: Decimal,
15
+ token: Token,
16
+ precision_loss_tolerance: Decimal = Decimal("0.00000001")
17
+ ) -> Amount:
18
+ """Creates a new Amount, ensuring the value conforms to system-wide limits.
19
+
20
+ This function is the safe constructor for creating Amount protobuf messages.
21
+ While the underlying conversion from a Python `Decimal` to the protobuf's
22
+ `string` field is lossless, this function provides critical validation
23
+ to ensure the value adheres to constraints imposed by other downstream
24
+ systems (e.g., databases, other microservices with fixed-precision types).
25
+
26
+ Its primary operations are:
27
+
28
+ 1. **Validation:** It performs a serialization round-trip
29
+ (Python Decimal -> Protobuf Decimal -> Python Decimal) to simulate
30
+ how the value is stored and retrieved across the system. It then asserts
31
+ the value remains unchanged, guaranteeing it doesn't exceed the
32
+ precision limits of any consuming service.
33
+
34
+ 2. **Truncation:** It truncates the validated value to the exact number of
35
+ decimal places defined for the token's ledger, always rounding down to
36
+ prevent any inflation of values.
37
+
38
+ 3. **Construction:** It constructs and returns the final `Amount` message.
39
+
40
+ Args:
41
+ value: The numerical value of the amount as a Python `Decimal` object.
42
+ token: The `Token` protobuf message that defines the asset type
43
+ and its associated ledger.
44
+ precision_loss_tolerance: The maximum acceptable difference after the
45
+ validation round-trip. Since the string-based conversion is
46
+ lossless, any difference indicates a failure to conform to an
47
+ external system's parsing rules. Defaults to a small tolerance
48
+ for robustness.
49
+
50
+ Returns:
51
+ An `Amount` protobuf message containing the ledger-compliant, truncated
52
+ value and the specified token.
53
+
54
+ Raises:
55
+ AssertionError: If the input `value` changes during the validation
56
+ round-trip, indicating it exceeds the system's
57
+ representational limits and would be corrupted
58
+ downstream.
59
+ """
60
+
61
+ # Perform a serialization round-trip to validate the value against
62
+ # system-wide architectural constraints. This is a lossless operation
63
+ # in isolation, so any change reveals an incompatibility.
64
+ value_after_roundtrip = decimal_to_built_in(built_in_to_decimal(value))
65
+
66
+ # Confirm the value is perfectly representable within the system's limits.
67
+ # If the original value had too much precision for a downstream service to
68
+ # parse, it would change during the round-trip, and this would fail.
69
+ assert abs(value_after_roundtrip - value) \
70
+ <= precision_loss_tolerance, \
71
+ "value exceeds system's precision limits and would be corrupted"
72
+
73
+ # Truncate the validated value to the number of decimal places specified by the
74
+ # token's ledger. ROUND_DOWN ensures the value is never inflated.
75
+ truncated_value = value_after_roundtrip.quantize(
76
+ Decimal(10) ** -get_ledger_no_decimal_places(token.ledger),
77
+ rounding=ROUND_DOWN,
78
+ )
79
+
80
+ # Construct and return the final Amount protobuf message using the sanitized value.
81
+ return Amount(
82
+ token=token,
83
+ value=built_in_to_decimal(truncated_value),
84
+ )
@@ -0,0 +1,29 @@
1
+ import decimal
2
+
3
+ from .decimal_pb2 import Decimal
4
+
5
+
6
+ def built_in_to_decimal(decimal_value: decimal.Decimal) -> Decimal:
7
+ """
8
+ Converts an instance of the built-in decimal.Decimal type to an instance of the
9
+ financial Decimal protobuf type.
10
+
11
+ :param decimal_value: The decimal.Decimal object to convert.
12
+ :return: The converted financial Decimal protobuf object.
13
+ """
14
+
15
+ # Contruct and return resultant decimal object
16
+ return Decimal(
17
+ value=str(decimal_value),
18
+ )
19
+
20
+
21
+ def decimal_to_built_in(decimal_value: Decimal) -> decimal.Decimal:
22
+ """
23
+ Converts an instance of the financial Decimal protobuf type to an instance of the
24
+ built-in decimal.Decimal type.
25
+
26
+ :param decimal_value: The decimal_pb2.Decimal object to convert.
27
+ :return: The converted decimal.Decimal object.
28
+ """
29
+ return decimal.Decimal( decimal_value.value if decimal_value.value != "" else "0" )
@@ -0,0 +1,26 @@
1
+ from typing import Dict
2
+
3
+ from .ledger_pb2 import Ledger
4
+
5
+ _ledger_decimal_places: Dict[Ledger, int] = {
6
+ Ledger.LEDGER_STELLAR: 7,
7
+ Ledger.LEDGER_SA_STOCK_BROKERS: 2,
8
+ }
9
+
10
+ class UnsupportedLedgerError(Exception):
11
+ """Exception raised for unsupported Ledger values."""
12
+
13
+ def __init__(self, ledger: Ledger):
14
+ self.financial_business_day_convention = ledger
15
+ message = f"Unsupported Ledger: {ledger}"
16
+ super().__init__(message)
17
+
18
+
19
+ def get_ledger_no_decimal_places(ledger: Ledger) -> int:
20
+ """
21
+ Returns the number of decimal places supported by the given Ledger
22
+ """
23
+ if ledger in _ledger_decimal_places:
24
+ return _ledger_decimal_places[ledger]
25
+ else:
26
+ raise UnsupportedLedgerError(ledger)
@@ -0,0 +1,70 @@
1
+ # -*- coding: utf-8 -*-
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # NO CHECKED-IN PROTOBUF GENCODE
4
+ # source: meshtrade/wallet/account/v1/service.proto
5
+ # Protobuf Python Version: 6.31.1
6
+ """Generated protocol buffer code."""
7
+ from google.protobuf import descriptor as _descriptor
8
+ from google.protobuf import descriptor_pool as _descriptor_pool
9
+ from google.protobuf import runtime_version as _runtime_version
10
+ from google.protobuf import symbol_database as _symbol_database
11
+ from google.protobuf.internal import builder as _builder
12
+ _runtime_version.ValidateProtobufRuntimeVersion(
13
+ _runtime_version.Domain.PUBLIC,
14
+ 6,
15
+ 31,
16
+ 1,
17
+ '',
18
+ 'meshtrade/wallet/account/v1/service.proto'
19
+ )
20
+ # @@protoc_insertion_point(imports)
21
+
22
+ _sym_db = _symbol_database.Default()
23
+
24
+
25
+ from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
+ from meshtrade.option.v1 import auth_pb2 as meshtrade_dot_option_dot_v1_dot_auth__pb2
27
+ from meshtrade.option.v1 import service_type_pb2 as meshtrade_dot_option_dot_v1_dot_service__type__pb2
28
+ from meshtrade.type.v1 import ledger_pb2 as meshtrade_dot_type_dot_v1_dot_ledger__pb2
29
+ from meshtrade.wallet.account.v1 import account_pb2 as meshtrade_dot_wallet_dot_account_dot_v1_dot_account__pb2
30
+
31
+
32
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n)meshtrade/wallet/account/v1/service.proto\x12\x1bmeshtrade.wallet.account.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1emeshtrade/option/v1/auth.proto\x1a&meshtrade/option/v1/service_type.proto\x1a\x1emeshtrade/type/v1/ledger.proto\x1a)meshtrade/wallet/account/v1/account.proto\"\x8b\x01\n\x14\x43reateAccountRequest\x12\"\n\x05label\x18\x01 \x01(\tB\x0c\xbaH\tr\x04\x10\x03\x18\x32\xc8\x01\x01R\x05label\x12;\n\x06ledger\x18\x02 \x01(\x0e\x32\x19.meshtrade.type.v1.LedgerB\x08\xbaH\x05\x82\x01\x02\x10\x01R\x06ledger\x12\x12\n\x04open\x18\x03 \x01(\x08R\x04open\"8\n\x11GetAccountRequest\x12#\n\x06number\x18\x01 \x01(\tB\x0b\xbaH\x08r\x03\x98\x01\x07\xc8\x01\x01R\x06number\"\x15\n\x13ListAccountsRequest\"X\n\x14ListAccountsResponse\x12@\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b\x32$.meshtrade.wallet.account.v1.AccountR\x08\x61\x63\x63ounts\";\n\x15SearchAccountsRequest\x12\"\n\x05label\x18\x01 \x01(\tB\x0c\xbaH\tr\x04\x10\x03\x18\x32\xc8\x01\x00R\x05label\"Z\n\x16SearchAccountsResponse\x12@\n\x08\x61\x63\x63ounts\x18\x01 \x03(\x0b\x32$.meshtrade.wallet.account.v1.AccountR\x08\x61\x63\x63ounts2\x87\x04\n\x0e\x41\x63\x63ountService\x12u\n\rCreateAccount\x12\x31.meshtrade.wallet.account.v1.CreateAccountRequest\x1a$.meshtrade.wallet.account.v1.Account\"\x0b\xa0\xb5\x18\x02\xaa\xb5\x18\x03\n\x01\x01\x12p\n\nGetAccount\x12..meshtrade.wallet.account.v1.GetAccountRequest\x1a$.meshtrade.wallet.account.v1.Account\"\x0c\xa0\xb5\x18\x01\xaa\xb5\x18\x04\n\x02\x01\x02\x12\x81\x01\n\x0cListAccounts\x12\x30.meshtrade.wallet.account.v1.ListAccountsRequest\x1a\x31.meshtrade.wallet.account.v1.ListAccountsResponse\"\x0c\xa0\xb5\x18\x01\xaa\xb5\x18\x04\n\x02\x01\x02\x12\x87\x01\n\x0eSearchAccounts\x12\x32.meshtrade.wallet.account.v1.SearchAccountsRequest\x1a\x33.meshtrade.wallet.account.v1.SearchAccountsResponse\"\x0c\xa0\xb5\x18\x01\xaa\xb5\x18\x04\n\x02\x01\x02\x42\x41Z7github.com/meshtrade/api/go/wallet/account/v1;accountv1\x9a\xb5\x18\x04\n\x02\x01\x02\x62\x06proto3')
33
+
34
+ _globals = globals()
35
+ _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
36
+ _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'meshtrade.wallet.account.v1.service_pb2', _globals)
37
+ if not _descriptor._USE_C_DESCRIPTORS:
38
+ _globals['DESCRIPTOR']._loaded_options = None
39
+ _globals['DESCRIPTOR']._serialized_options = b'Z7github.com/meshtrade/api/go/wallet/account/v1;accountv1\232\265\030\004\n\002\001\002'
40
+ _globals['_CREATEACCOUNTREQUEST'].fields_by_name['label']._loaded_options = None
41
+ _globals['_CREATEACCOUNTREQUEST'].fields_by_name['label']._serialized_options = b'\272H\tr\004\020\003\0302\310\001\001'
42
+ _globals['_CREATEACCOUNTREQUEST'].fields_by_name['ledger']._loaded_options = None
43
+ _globals['_CREATEACCOUNTREQUEST'].fields_by_name['ledger']._serialized_options = b'\272H\005\202\001\002\020\001'
44
+ _globals['_GETACCOUNTREQUEST'].fields_by_name['number']._loaded_options = None
45
+ _globals['_GETACCOUNTREQUEST'].fields_by_name['number']._serialized_options = b'\272H\010r\003\230\001\007\310\001\001'
46
+ _globals['_SEARCHACCOUNTSREQUEST'].fields_by_name['label']._loaded_options = None
47
+ _globals['_SEARCHACCOUNTSREQUEST'].fields_by_name['label']._serialized_options = b'\272H\tr\004\020\003\0302\310\001\000'
48
+ _globals['_ACCOUNTSERVICE'].methods_by_name['CreateAccount']._loaded_options = None
49
+ _globals['_ACCOUNTSERVICE'].methods_by_name['CreateAccount']._serialized_options = b'\240\265\030\002\252\265\030\003\n\001\001'
50
+ _globals['_ACCOUNTSERVICE'].methods_by_name['GetAccount']._loaded_options = None
51
+ _globals['_ACCOUNTSERVICE'].methods_by_name['GetAccount']._serialized_options = b'\240\265\030\001\252\265\030\004\n\002\001\002'
52
+ _globals['_ACCOUNTSERVICE'].methods_by_name['ListAccounts']._loaded_options = None
53
+ _globals['_ACCOUNTSERVICE'].methods_by_name['ListAccounts']._serialized_options = b'\240\265\030\001\252\265\030\004\n\002\001\002'
54
+ _globals['_ACCOUNTSERVICE'].methods_by_name['SearchAccounts']._loaded_options = None
55
+ _globals['_ACCOUNTSERVICE'].methods_by_name['SearchAccounts']._serialized_options = b'\240\265\030\001\252\265\030\004\n\002\001\002'
56
+ _globals['_CREATEACCOUNTREQUEST']._serialized_start=251
57
+ _globals['_CREATEACCOUNTREQUEST']._serialized_end=390
58
+ _globals['_GETACCOUNTREQUEST']._serialized_start=392
59
+ _globals['_GETACCOUNTREQUEST']._serialized_end=448
60
+ _globals['_LISTACCOUNTSREQUEST']._serialized_start=450
61
+ _globals['_LISTACCOUNTSREQUEST']._serialized_end=471
62
+ _globals['_LISTACCOUNTSRESPONSE']._serialized_start=473
63
+ _globals['_LISTACCOUNTSRESPONSE']._serialized_end=561
64
+ _globals['_SEARCHACCOUNTSREQUEST']._serialized_start=563
65
+ _globals['_SEARCHACCOUNTSREQUEST']._serialized_end=622
66
+ _globals['_SEARCHACCOUNTSRESPONSE']._serialized_start=624
67
+ _globals['_SEARCHACCOUNTSRESPONSE']._serialized_end=714
68
+ _globals['_ACCOUNTSERVICE']._serialized_start=717
69
+ _globals['_ACCOUNTSERVICE']._serialized_end=1236
70
+ # @@protoc_insertion_point(module_scope)
@@ -21,26 +21,12 @@ class CreateAccountRequest(_message.Message):
21
21
  open: bool
22
22
  def __init__(self, label: _Optional[str] = ..., ledger: _Optional[_Union[_ledger_pb2.Ledger, str]] = ..., open: bool = ...) -> None: ...
23
23
 
24
- class CreateAccountResponse(_message.Message):
25
- __slots__ = ("account", "transaction_id")
26
- ACCOUNT_FIELD_NUMBER: _ClassVar[int]
27
- TRANSACTION_ID_FIELD_NUMBER: _ClassVar[int]
28
- account: _account_pb2.Account
29
- transaction_id: str
30
- def __init__(self, account: _Optional[_Union[_account_pb2.Account, _Mapping]] = ..., transaction_id: _Optional[str] = ...) -> None: ...
31
-
32
24
  class GetAccountRequest(_message.Message):
33
25
  __slots__ = ("number",)
34
26
  NUMBER_FIELD_NUMBER: _ClassVar[int]
35
27
  number: str
36
28
  def __init__(self, number: _Optional[str] = ...) -> None: ...
37
29
 
38
- class GetAccountResponse(_message.Message):
39
- __slots__ = ("account",)
40
- ACCOUNT_FIELD_NUMBER: _ClassVar[int]
41
- account: _account_pb2.Account
42
- def __init__(self, account: _Optional[_Union[_account_pb2.Account, _Mapping]] = ...) -> None: ...
43
-
44
30
  class ListAccountsRequest(_message.Message):
45
31
  __slots__ = ()
46
32
  def __init__(self) -> None: ...