meshtrade 1.16.0__tar.gz → 1.19.0__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 (218) hide show
  1. {meshtrade-1.16.0 → meshtrade-1.19.0}/PKG-INFO +1 -1
  2. {meshtrade-1.16.0 → meshtrade-1.19.0}/pyproject.toml +1 -1
  3. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/common/grpc_client.py +47 -0
  4. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/api_user/v1/api_user_pb2.py +7 -7
  5. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/api_user/v1/service_pb2.py +20 -20
  6. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/role/v1/role_pb2.py +2 -2
  7. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/role/v1/role_pb2.pyi +8 -0
  8. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/user/v1/service_pb2.py +23 -23
  9. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/user/v1/user_pb2.py +3 -3
  10. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/ledger/transaction/v1/__init__.py +23 -1
  11. meshtrade-1.19.0/python/src/meshtrade/ledger/transaction/v1/service_meshpy.py +175 -0
  12. meshtrade-1.19.0/python/src/meshtrade/ledger/transaction/v1/service_options_meshpy.py +65 -0
  13. meshtrade-1.19.0/python/src/meshtrade/ledger/transaction/v1/service_pb2.py +57 -0
  14. meshtrade-1.19.0/python/src/meshtrade/ledger/transaction/v1/service_pb2.pyi +33 -0
  15. meshtrade-1.19.0/python/src/meshtrade/ledger/transaction/v1/service_pb2_grpc.py +131 -0
  16. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/studio/instrument/v1/__init__.py +1 -1
  17. meshtrade-1.19.0/python/src/meshtrade/studio/instrument/v1/instrument_type_pb2.py +37 -0
  18. meshtrade-1.16.0/python/src/meshtrade/studio/instrument/v1/type_pb2.pyi → meshtrade-1.19.0/python/src/meshtrade/studio/instrument/v1/instrument_type_pb2.pyi +6 -0
  19. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/wallet/account/v1/__init__.py +0 -4
  20. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/wallet/account/v1/account_pb2.py +10 -10
  21. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/wallet/account/v1/account_pb2.pyi +3 -3
  22. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/wallet/account/v1/service_meshpy.py +0 -18
  23. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/wallet/account/v1/service_pb2.py +19 -27
  24. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/wallet/account/v1/service_pb2.pyi +0 -14
  25. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/wallet/account/v1/service_pb2_grpc.py +0 -49
  26. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade.egg-info/PKG-INFO +1 -1
  27. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade.egg-info/SOURCES.txt +8 -3
  28. meshtrade-1.16.0/python/src/meshtrade/studio/instrument/v1/type_pb2.py +0 -37
  29. {meshtrade-1.16.0 → meshtrade-1.19.0}/README.md +0 -0
  30. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/buf/validate/validate_pb2.py +0 -0
  31. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/buf/validate/validate_pb2.pyi +0 -0
  32. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/__init__.py +0 -0
  33. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/common/__init__.py +0 -0
  34. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/common/config.py +0 -0
  35. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/__init__.py +0 -0
  36. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/__init__.py +0 -0
  37. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/__init__.py +0 -0
  38. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/client_pb2.py +0 -0
  39. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/client_pb2.pyi +0 -0
  40. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/client_pb2_grpc.py +0 -0
  41. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/company_pb2.py +0 -0
  42. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/company_pb2.pyi +0 -0
  43. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/company_pb2_grpc.py +0 -0
  44. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/company_representative_pb2.py +0 -0
  45. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/company_representative_pb2.pyi +0 -0
  46. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/company_representative_pb2_grpc.py +0 -0
  47. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/company_representative_role_pb2.py +0 -0
  48. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/company_representative_role_pb2.pyi +0 -0
  49. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/company_representative_role_pb2_grpc.py +0 -0
  50. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/fund_pb2.py +0 -0
  51. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/fund_pb2.pyi +0 -0
  52. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/fund_pb2_grpc.py +0 -0
  53. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/identification_document_type_pb2.py +0 -0
  54. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/identification_document_type_pb2.pyi +0 -0
  55. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/identification_document_type_pb2_grpc.py +0 -0
  56. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/industry_classification_pb2.py +0 -0
  57. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/industry_classification_pb2.pyi +0 -0
  58. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/industry_classification_pb2_grpc.py +0 -0
  59. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/natural_person_connection_type_pb2.py +0 -0
  60. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/natural_person_connection_type_pb2.pyi +0 -0
  61. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/natural_person_connection_type_pb2_grpc.py +0 -0
  62. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/natural_person_pb2.py +0 -0
  63. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/natural_person_pb2.pyi +0 -0
  64. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/natural_person_pb2_grpc.py +0 -0
  65. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/pep_status_pb2.py +0 -0
  66. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/pep_status_pb2.pyi +0 -0
  67. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/pep_status_pb2_grpc.py +0 -0
  68. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/service_meshpy.py +0 -0
  69. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/service_options_meshpy.py +0 -0
  70. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/service_pb2.py +0 -0
  71. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/service_pb2.pyi +0 -0
  72. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/service_pb2_grpc.py +0 -0
  73. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/source_of_income_and_wealth_pb2.py +0 -0
  74. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/source_of_income_and_wealth_pb2.pyi +0 -0
  75. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/source_of_income_and_wealth_pb2_grpc.py +0 -0
  76. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/tax_residency_pb2.py +0 -0
  77. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/tax_residency_pb2.pyi +0 -0
  78. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/tax_residency_pb2_grpc.py +0 -0
  79. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/trust_pb2.py +0 -0
  80. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/trust_pb2.pyi +0 -0
  81. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/trust_pb2_grpc.py +0 -0
  82. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/verification_status_pb2.py +0 -0
  83. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/verification_status_pb2.pyi +0 -0
  84. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/compliance/client/v1/verification_status_pb2_grpc.py +0 -0
  85. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/__init__.py +0 -0
  86. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/api_user/v1/__init__.py +0 -0
  87. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/api_user/v1/api_credentials.py +0 -0
  88. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/api_user/v1/api_credentials_pb2.py +0 -0
  89. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/api_user/v1/api_credentials_pb2.pyi +0 -0
  90. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/api_user/v1/api_credentials_pb2_grpc.py +0 -0
  91. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/api_user/v1/api_user_pb2.pyi +0 -0
  92. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/api_user/v1/api_user_pb2_grpc.py +0 -0
  93. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/api_user/v1/service.py +0 -0
  94. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/api_user/v1/service_meshpy.py +0 -0
  95. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/api_user/v1/service_options_meshpy.py +0 -0
  96. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/api_user/v1/service_pb2.pyi +0 -0
  97. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/api_user/v1/service_pb2_grpc.py +0 -0
  98. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/group/__init__.py +0 -0
  99. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/group/v1/__init__.py +0 -0
  100. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/group/v1/group_pb2.py +0 -0
  101. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/group/v1/group_pb2.pyi +0 -0
  102. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/group/v1/group_pb2_grpc.py +0 -0
  103. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/group/v1/service_meshpy.py +0 -0
  104. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/group/v1/service_options_meshpy.py +0 -0
  105. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/group/v1/service_pb2.py +0 -0
  106. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/group/v1/service_pb2.pyi +0 -0
  107. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/group/v1/service_pb2_grpc.py +0 -0
  108. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/role/v1/__init__.py +0 -0
  109. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/role/v1/role.py +0 -0
  110. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/role/v1/role_pb2_grpc.py +0 -0
  111. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/user/v1/__init__.py +0 -0
  112. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/user/v1/service_meshpy.py +0 -0
  113. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/user/v1/service_options_meshpy.py +0 -0
  114. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/user/v1/service_pb2.pyi +0 -0
  115. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/user/v1/service_pb2_grpc.py +0 -0
  116. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/user/v1/user_pb2.pyi +0 -0
  117. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/iam/user/v1/user_pb2_grpc.py +0 -0
  118. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/ledger/__init__.py +0 -0
  119. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/ledger/transaction/__init__.py +0 -0
  120. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/ledger/transaction/v1/transaction_action_pb2.py +0 -0
  121. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/ledger/transaction/v1/transaction_action_pb2.pyi +0 -0
  122. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/ledger/transaction/v1/transaction_action_pb2_grpc.py +0 -0
  123. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/ledger/transaction/v1/transaction_state_pb2.py +0 -0
  124. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/ledger/transaction/v1/transaction_state_pb2.pyi +0 -0
  125. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/ledger/transaction/v1/transaction_state_pb2_grpc.py +0 -0
  126. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/option/v1/__init__.py +0 -0
  127. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/option/v1/method_type_pb2.py +0 -0
  128. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/option/v1/method_type_pb2.pyi +0 -0
  129. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/option/v1/method_type_pb2_grpc.py +0 -0
  130. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/__init__.py +0 -0
  131. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/account_report_pb2.py +0 -0
  132. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/account_report_pb2.pyi +0 -0
  133. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/account_report_pb2_grpc.py +0 -0
  134. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/disclaimer_pb2.py +0 -0
  135. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/disclaimer_pb2.pyi +0 -0
  136. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/disclaimer_pb2_grpc.py +0 -0
  137. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/fee_entry_pb2.py +0 -0
  138. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/fee_entry_pb2.pyi +0 -0
  139. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/fee_entry_pb2_grpc.py +0 -0
  140. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/income_entry_pb2.py +0 -0
  141. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/income_entry_pb2.pyi +0 -0
  142. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/income_entry_pb2_grpc.py +0 -0
  143. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/service_meshpy.py +0 -0
  144. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/service_options_meshpy.py +0 -0
  145. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/service_pb2.py +0 -0
  146. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/service_pb2.pyi +0 -0
  147. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/service_pb2_grpc.py +0 -0
  148. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/trading_statement_entry_pb2.py +0 -0
  149. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/trading_statement_entry_pb2.pyi +0 -0
  150. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/reporting/account_report/v1/trading_statement_entry_pb2_grpc.py +0 -0
  151. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/studio/instrument/v1/instrument_pb2.py +0 -0
  152. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/studio/instrument/v1/instrument_pb2.pyi +0 -0
  153. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/studio/instrument/v1/instrument_pb2_grpc.py +0 -0
  154. /meshtrade-1.16.0/python/src/meshtrade/studio/instrument/v1/type_pb2_grpc.py → /meshtrade-1.19.0/python/src/meshtrade/studio/instrument/v1/instrument_type_pb2_grpc.py +0 -0
  155. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/studio/instrument/v1/unit_pb2.py +0 -0
  156. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/studio/instrument/v1/unit_pb2.pyi +0 -0
  157. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/studio/instrument/v1/unit_pb2_grpc.py +0 -0
  158. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/__init__.py +0 -0
  159. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/limit_order/__init__.py +0 -0
  160. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/limit_order/v1/__init__.py +0 -0
  161. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/limit_order/v1/limit_order_pb2.py +0 -0
  162. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/limit_order/v1/limit_order_pb2.pyi +0 -0
  163. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/limit_order/v1/limit_order_pb2_grpc.py +0 -0
  164. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/limit_order/v1/service_meshpy.py +0 -0
  165. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/limit_order/v1/service_options_meshpy.py +0 -0
  166. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/limit_order/v1/service_pb2.py +0 -0
  167. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/limit_order/v1/service_pb2.pyi +0 -0
  168. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/limit_order/v1/service_pb2_grpc.py +0 -0
  169. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/market_order/v1/__init__.py +0 -0
  170. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/market_order/v1/market_order_pb2.py +0 -0
  171. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/market_order/v1/market_order_pb2.pyi +0 -0
  172. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/market_order/v1/market_order_pb2_grpc.py +0 -0
  173. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/market_order/v1/service_meshpy.py +0 -0
  174. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/market_order/v1/service_options_meshpy.py +0 -0
  175. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/market_order/v1/service_pb2.py +0 -0
  176. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/market_order/v1/service_pb2.pyi +0 -0
  177. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/trading/market_order/v1/service_pb2_grpc.py +0 -0
  178. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/__init__.py +0 -0
  179. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/__init__.py +0 -0
  180. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/address_pb2.py +0 -0
  181. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/address_pb2.pyi +0 -0
  182. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/address_pb2_grpc.py +0 -0
  183. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/amount.py +0 -0
  184. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/amount_pb2.py +0 -0
  185. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/amount_pb2.pyi +0 -0
  186. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/amount_pb2_grpc.py +0 -0
  187. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/contact_details_pb2.py +0 -0
  188. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/contact_details_pb2.pyi +0 -0
  189. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/contact_details_pb2_grpc.py +0 -0
  190. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/date.py +0 -0
  191. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/date_pb2.py +0 -0
  192. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/date_pb2.pyi +0 -0
  193. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/date_pb2_grpc.py +0 -0
  194. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/decimal_built_in_conversions.py +0 -0
  195. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/decimal_pb2.py +0 -0
  196. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/decimal_pb2.pyi +0 -0
  197. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/decimal_pb2_grpc.py +0 -0
  198. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/ledger.py +0 -0
  199. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/ledger_pb2.py +0 -0
  200. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/ledger_pb2.pyi +0 -0
  201. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/ledger_pb2_grpc.py +0 -0
  202. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/sorting_pb2.py +0 -0
  203. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/sorting_pb2.pyi +0 -0
  204. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/sorting_pb2_grpc.py +0 -0
  205. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/time_of_day.py +0 -0
  206. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/time_of_day_pb2.py +0 -0
  207. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/time_of_day_pb2.pyi +0 -0
  208. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/time_of_day_pb2_grpc.py +0 -0
  209. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/token_pb2.py +0 -0
  210. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/token_pb2.pyi +0 -0
  211. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/type/v1/token_pb2_grpc.py +0 -0
  212. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/wallet/__init__.py +0 -0
  213. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/wallet/account/v1/account_pb2_grpc.py +0 -0
  214. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade/wallet/account/v1/service_options_meshpy.py +0 -0
  215. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade.egg-info/dependency_links.txt +0 -0
  216. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade.egg-info/requires.txt +0 -0
  217. {meshtrade-1.16.0 → meshtrade-1.19.0}/python/src/meshtrade.egg-info/top_level.txt +0 -0
  218. {meshtrade-1.16.0 → meshtrade-1.19.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: meshtrade
3
- Version: 1.16.0
3
+ Version: 1.19.0
4
4
  Summary: Integration SDK for Mesh API Services
5
5
  Author-email: Bernard Bussy <bernard@meshtrade.co>
6
6
  License: LicenseRef-My-Custom-License
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "meshtrade"
7
- version = "1.16.0"
7
+ version = "1.19.0"
8
8
  authors = [
9
9
  { name = "Bernard Bussy", email = "bernard@meshtrade.co" },
10
10
  ]
@@ -200,3 +200,50 @@ class BaseGRPCClient(GRPCClient):
200
200
 
201
201
  # Make the authenticated call
202
202
  return method(request, metadata=metadata, timeout=timeout_seconds)
203
+
204
+ def _execute_streaming_method(self, method_name: str, request: Any, timeout: timedelta | None = None) -> Any:
205
+ """Execute a server-side streaming gRPC method with authentication and error handling.
206
+
207
+ This is the streaming equivalent of _execute_method() - it handles validation,
208
+ authentication metadata injection, and timeout handling for server-side streaming calls.
209
+
210
+ Args:
211
+ method_name: The name of the gRPC stub streaming method to call
212
+ request: The request message
213
+ timeout: Optional timeout override
214
+
215
+ Returns:
216
+ Iterator yielding response messages from the stream
217
+
218
+ Raises:
219
+ grpc.RpcError: If the gRPC call fails
220
+ ValueError: If authentication credentials are missing or request validation fails
221
+ """
222
+ # Validate request using protovalidate BEFORE initiating stream
223
+ try:
224
+ self._validator.validate(request)
225
+ except Exception as e:
226
+ raise ValueError(f"Request validation failed: {e}") from e
227
+
228
+ self._ensure_connected()
229
+
230
+ if not self._api_key or not self._group:
231
+ raise ValueError(
232
+ "API key and group are required for authentication. Provide them via constructor or set MESH_API_CREDENTIALS environment variable."
233
+ )
234
+
235
+ if self._stub is None:
236
+ raise RuntimeError("gRPC stub not initialized. Call _ensure_connected() first.")
237
+
238
+ # Get the streaming method from the stub
239
+ method = getattr(self._stub, method_name)
240
+
241
+ # Create authentication metadata (x-api-key, x-group headers)
242
+ metadata = create_auth_metadata(self._api_key, self._group)
243
+
244
+ # Use provided timeout or default
245
+ call_timeout = timeout or self._timeout
246
+ timeout_seconds = call_timeout.total_seconds()
247
+
248
+ # Make the authenticated streaming call with metadata
249
+ return method(request, metadata=metadata, timeout=timeout_seconds)
@@ -25,7 +25,7 @@ _sym_db = _symbol_database.Default()
25
25
  from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
26
 
27
27
 
28
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(meshtrade/iam/api_user/v1/api_user.proto\x12\x19meshtrade.iam.api_user.v1\x1a\x1b\x62uf/validate/validate.proto\"\x9a\x06\n\x07\x41PIUser\x12\xc2\x01\n\x04name\x18\x01 \x01(\tB\xad\x01\xbaH\xa9\x01\xba\x01\xa5\x01\n\x14name.format.optional\x12\x36name must be empty or in the format api_users/{ULIDv2}\x1aUsize(this) == 0 || this.matches(\'^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')R\x04name\x12R\n\x05owner\x18\x02 \x01(\tB<\xbaH9r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01!\xc8\x01\x01R\x05owner\x12\xb4\x01\n\x0c\x64isplay_name\x18\x04 \x01(\tB\x90\x01\xbaH\x8c\x01r\x05\x10\x01\x18\xff\x01\xba\x01\x7f\n\x15\x64isplay_name.required\x12\x41\x64isplay name is required and must be between 1 and 255 characters\x1a#size(this) > 0 && size(this) <= 255\xc8\x01\x01R\x0b\x64isplayName\x12\xbe\x01\n\x05state\x18\x05 \x01(\x0e\x32\'.meshtrade.iam.api_user.v1.APIUserStateB\x7f\xbaH|\x82\x01\x02\x10\x01\xba\x01t\n\x0bstate.valid\x12/state must be a valid APIUserState if specified\x1a\x34int(this) == 0 || (int(this) >= 1 && int(this) <= 2)R\x05state\x12\x65\n\x05roles\x18\x06 \x03(\tBO\xbaHL\x92\x01I\"GrE2@^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/[123456][0-9]{6}$\x98\x01)R\x05roles\x12\x17\n\x07\x61pi_key\x18\x07 \x01(\tR\x06\x61piKey*f\n\x0c\x41PIUserState\x12\x1e\n\x1a\x41PI_USER_STATE_UNSPECIFIED\x10\x00\x12\x19\n\x15\x41PI_USER_STATE_ACTIVE\x10\x01\x12\x1b\n\x17\x41PI_USER_STATE_INACTIVE\x10\x02*\xa6\x01\n\rAPIUserAction\x12\x1f\n\x1b\x41PI_USER_ACTION_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x41PI_USER_ACTION_ACTIVATE\x10\x01\x12\x1e\n\x1a\x41PI_USER_ACTION_DEACTIVATE\x10\x02\x12\x1a\n\x16\x41PI_USER_ACTION_CREATE\x10\x03\x12\x1a\n\x16\x41PI_USER_ACTION_UPDATE\x10\x04\x42[\n co.meshtrade.api.iam.api_user.v1Z7github.com/meshtrade/api/go/iam/api_user/v1;api_user_v1b\x06proto3')
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n(meshtrade/iam/api_user/v1/api_user.proto\x12\x19meshtrade.iam.api_user.v1\x1a\x1b\x62uf/validate/validate.proto\"\x97\x06\n\x07\x41PIUser\x12\xc2\x01\n\x04name\x18\x01 \x01(\tB\xad\x01\xbaH\xa9\x01\xba\x01\xa5\x01\n\x14name.format.optional\x12\x36name must be empty or in the format api_users/{ULIDv2}\x1aUsize(this) == 0 || this.matches(\'^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')R\x04name\x12R\n\x05owner\x18\x02 \x01(\tB<\xbaH9r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01!\xc8\x01\x01R\x05owner\x12\xb4\x01\n\x0c\x64isplay_name\x18\x04 \x01(\tB\x90\x01\xbaH\x8c\x01r\x05\x10\x01\x18\xff\x01\xba\x01\x7f\n\x15\x64isplay_name.required\x12\x41\x64isplay name is required and must be between 1 and 255 characters\x1a#size(this) > 0 && size(this) <= 255\xc8\x01\x01R\x0b\x64isplayName\x12\xbe\x01\n\x05state\x18\x05 \x01(\x0e\x32\'.meshtrade.iam.api_user.v1.APIUserStateB\x7f\xbaH|\x82\x01\x02\x10\x01\xba\x01t\n\x0bstate.valid\x12/state must be a valid APIUserState if specified\x1a\x34int(this) == 0 || (int(this) >= 1 && int(this) <= 2)R\x05state\x12\x62\n\x05roles\x18\x06 \x03(\tBL\xbaHI\x92\x01\x46\"DrB2=^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/[1-9][0-9]{6}$\x98\x01)R\x05roles\x12\x17\n\x07\x61pi_key\x18\x07 \x01(\tR\x06\x61piKey*f\n\x0c\x41PIUserState\x12\x1e\n\x1a\x41PI_USER_STATE_UNSPECIFIED\x10\x00\x12\x19\n\x15\x41PI_USER_STATE_ACTIVE\x10\x01\x12\x1b\n\x17\x41PI_USER_STATE_INACTIVE\x10\x02*\xa6\x01\n\rAPIUserAction\x12\x1f\n\x1b\x41PI_USER_ACTION_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x41PI_USER_ACTION_ACTIVATE\x10\x01\x12\x1e\n\x1a\x41PI_USER_ACTION_DEACTIVATE\x10\x02\x12\x1a\n\x16\x41PI_USER_ACTION_CREATE\x10\x03\x12\x1a\n\x16\x41PI_USER_ACTION_UPDATE\x10\x04\x42[\n co.meshtrade.api.iam.api_user.v1Z7github.com/meshtrade/api/go/iam/api_user/v1;api_user_v1b\x06proto3')
29
29
 
30
30
  _globals = globals()
31
31
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -42,11 +42,11 @@ if not _descriptor._USE_C_DESCRIPTORS:
42
42
  _globals['_APIUSER'].fields_by_name['state']._loaded_options = None
43
43
  _globals['_APIUSER'].fields_by_name['state']._serialized_options = b'\272H|\202\001\002\020\001\272\001t\n\013state.valid\022/state must be a valid APIUserState if specified\0324int(this) == 0 || (int(this) >= 1 && int(this) <= 2)'
44
44
  _globals['_APIUSER'].fields_by_name['roles']._loaded_options = None
45
- _globals['_APIUSER'].fields_by_name['roles']._serialized_options = b'\272HL\222\001I\"GrE2@^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/[123456][0-9]{6}$\230\001)'
46
- _globals['_APIUSERSTATE']._serialized_start=897
47
- _globals['_APIUSERSTATE']._serialized_end=999
48
- _globals['_APIUSERACTION']._serialized_start=1002
49
- _globals['_APIUSERACTION']._serialized_end=1168
45
+ _globals['_APIUSER'].fields_by_name['roles']._serialized_options = b'\272HI\222\001F\"DrB2=^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/[1-9][0-9]{6}$\230\001)'
46
+ _globals['_APIUSERSTATE']._serialized_start=894
47
+ _globals['_APIUSERSTATE']._serialized_end=996
48
+ _globals['_APIUSERACTION']._serialized_start=999
49
+ _globals['_APIUSERACTION']._serialized_end=1165
50
50
  _globals['_APIUSER']._serialized_start=101
51
- _globals['_APIUSER']._serialized_end=895
51
+ _globals['_APIUSER']._serialized_end=892
52
52
  # @@protoc_insertion_point(module_scope)
@@ -28,7 +28,7 @@ from meshtrade.iam.role.v1 import role_pb2 as meshtrade_dot_iam_dot_role_dot_v1_
28
28
  from meshtrade.option.v1 import method_type_pb2 as meshtrade_dot_option_dot_v1_dot_method__type__pb2
29
29
 
30
30
 
31
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'meshtrade/iam/api_user/v1/service.proto\x12\x19meshtrade.iam.api_user.v1\x1a\x1b\x62uf/validate/validate.proto\x1a(meshtrade/iam/api_user/v1/api_user.proto\x1a meshtrade/iam/role/v1/role.proto\x1a%meshtrade/option/v1/method_type.proto\"h\n\x11GetApiUserRequest\x12S\n\x04name\x18\x01 \x01(\tB?\xbaH<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01$\xc8\x01\x01R\x04name\"Z\n\x1aGetApiUserByKeyHashRequest\x12<\n\x08key_hash\x18\x01 \x01(\tB!\xbaH\x1er\x19\x32\x14^[A-Za-z0-9+/]{43}=$\x98\x01,\xc8\x01\x01R\x07keyHash\"]\n\x14\x43reateApiUserRequest\x12\x45\n\x08\x61pi_user\x18\x01 \x01(\x0b\x32\".meshtrade.iam.api_user.v1.APIUserB\x06\xbaH\x03\xc8\x01\x01R\x07\x61piUser\"\xd4\x01\n\x1a\x41ssignRoleToAPIUserRequest\x12S\n\x04name\x18\x01 \x01(\tB?\xbaH<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01$\xc8\x01\x01R\x04name\x12\x61\n\x04role\x18\x04 \x01(\tBM\xbaHJrE2@^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/[123456][0-9]{6}$\x98\x01)\xc8\x01\x01R\x04role\"\xd6\x01\n\x1cRevokeRoleFromAPIUserRequest\x12S\n\x04name\x18\x01 \x01(\tB?\xbaH<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01$\xc8\x01\x01R\x04name\x12\x61\n\x04role\x18\x02 \x01(\tBM\xbaHJrE2@^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/[123456][0-9]{6}$\x98\x01)\xc8\x01\x01R\x04role\"\x15\n\x13ListApiUsersRequest\"W\n\x14ListApiUsersResponse\x12?\n\tapi_users\x18\x01 \x03(\x0b\x32\".meshtrade.iam.api_user.v1.APIUserR\x08\x61piUsers\":\n\x15SearchApiUsersRequest\x12!\n\x0c\x64isplay_name\x18\x01 \x01(\tR\x0b\x64isplayName\"Y\n\x16SearchApiUsersResponse\x12?\n\tapi_users\x18\x01 \x03(\x0b\x32\".meshtrade.iam.api_user.v1.APIUserR\x08\x61piUsers\"m\n\x16\x41\x63tivateApiUserRequest\x12S\n\x04name\x18\x01 \x01(\tB?\xbaH<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01$\xc8\x01\x01R\x04name\"o\n\x18\x44\x65\x61\x63tivateApiUserRequest\x12S\n\x04name\x18\x01 \x01(\tB?\xbaH<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01$\xc8\x01\x01R\x04name2\xca\t\n\x0e\x41piUserService\x12z\n\nGetApiUser\x12,.meshtrade.iam.api_user.v1.GetApiUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc2\x8d\xb7\x01\xc3\x8d\xb7\x01\x12x\n\rCreateApiUser\x12/.meshtrade.iam.api_user.v1.CreateApiUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc2\x8d\xb7\x01\x12\x84\x01\n\x13\x41ssignRoleToAPIUser\x12\x35.meshtrade.iam.api_user.v1.AssignRoleToAPIUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc2\x8d\xb7\x01\x12\x88\x01\n\x15RevokeRoleFromAPIUser\x12\x37.meshtrade.iam.api_user.v1.RevokeRoleFromAPIUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc2\x8d\xb7\x01\x12\x8b\x01\n\x0cListApiUsers\x12..meshtrade.iam.api_user.v1.ListApiUsersRequest\x1a/.meshtrade.iam.api_user.v1.ListApiUsersResponse\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc2\x8d\xb7\x01\xc3\x8d\xb7\x01\x12\x91\x01\n\x0eSearchApiUsers\x12\x30.meshtrade.iam.api_user.v1.SearchApiUsersRequest\x1a\x31.meshtrade.iam.api_user.v1.SearchApiUsersResponse\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc2\x8d\xb7\x01\xc3\x8d\xb7\x01\x12|\n\x0f\x41\x63tivateApiUser\x12\x31.meshtrade.iam.api_user.v1.ActivateApiUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc2\x8d\xb7\x01\x12\x80\x01\n\x11\x44\x65\x61\x63tivateApiUser\x12\x33.meshtrade.iam.api_user.v1.DeactivateApiUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc2\x8d\xb7\x01\x12\x8c\x01\n\x13GetApiUserByKeyHash\x12\x35.meshtrade.iam.api_user.v1.GetApiUserByKeyHashRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc2\x8d\xb7\x01\xc3\x8d\xb7\x01\x42[\n co.meshtrade.api.iam.api_user.v1Z7github.com/meshtrade/api/go/iam/api_user/v1;api_user_v1b\x06proto3')
31
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'meshtrade/iam/api_user/v1/service.proto\x12\x19meshtrade.iam.api_user.v1\x1a\x1b\x62uf/validate/validate.proto\x1a(meshtrade/iam/api_user/v1/api_user.proto\x1a meshtrade/iam/role/v1/role.proto\x1a%meshtrade/option/v1/method_type.proto\"h\n\x11GetApiUserRequest\x12S\n\x04name\x18\x01 \x01(\tB?\xbaH<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01$\xc8\x01\x01R\x04name\"Z\n\x1aGetApiUserByKeyHashRequest\x12<\n\x08key_hash\x18\x01 \x01(\tB!\xbaH\x1er\x19\x32\x14^[A-Za-z0-9+/]{43}=$\x98\x01,\xc8\x01\x01R\x07keyHash\"]\n\x14\x43reateApiUserRequest\x12\x45\n\x08\x61pi_user\x18\x01 \x01(\x0b\x32\".meshtrade.iam.api_user.v1.APIUserB\x06\xbaH\x03\xc8\x01\x01R\x07\x61piUser\"\xd1\x01\n\x1a\x41ssignRoleToAPIUserRequest\x12S\n\x04name\x18\x01 \x01(\tB?\xbaH<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01$\xc8\x01\x01R\x04name\x12^\n\x04role\x18\x04 \x01(\tBJ\xbaHGrB2=^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/[1-9][0-9]{6}$\x98\x01)\xc8\x01\x01R\x04role\"\xd3\x01\n\x1cRevokeRoleFromAPIUserRequest\x12S\n\x04name\x18\x01 \x01(\tB?\xbaH<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01$\xc8\x01\x01R\x04name\x12^\n\x04role\x18\x02 \x01(\tBJ\xbaHGrB2=^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/[1-9][0-9]{6}$\x98\x01)\xc8\x01\x01R\x04role\"\x15\n\x13ListApiUsersRequest\"W\n\x14ListApiUsersResponse\x12?\n\tapi_users\x18\x01 \x03(\x0b\x32\".meshtrade.iam.api_user.v1.APIUserR\x08\x61piUsers\":\n\x15SearchApiUsersRequest\x12!\n\x0c\x64isplay_name\x18\x01 \x01(\tR\x0b\x64isplayName\"Y\n\x16SearchApiUsersResponse\x12?\n\tapi_users\x18\x01 \x03(\x0b\x32\".meshtrade.iam.api_user.v1.APIUserR\x08\x61piUsers\"m\n\x16\x41\x63tivateApiUserRequest\x12S\n\x04name\x18\x01 \x01(\tB?\xbaH<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01$\xc8\x01\x01R\x04name\"o\n\x18\x44\x65\x61\x63tivateApiUserRequest\x12S\n\x04name\x18\x01 \x01(\tB?\xbaH<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01$\xc8\x01\x01R\x04name2\xca\t\n\x0e\x41piUserService\x12z\n\nGetApiUser\x12,.meshtrade.iam.api_user.v1.GetApiUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc2\x8d\xb7\x01\xc3\x8d\xb7\x01\x12x\n\rCreateApiUser\x12/.meshtrade.iam.api_user.v1.CreateApiUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc2\x8d\xb7\x01\x12\x84\x01\n\x13\x41ssignRoleToAPIUser\x12\x35.meshtrade.iam.api_user.v1.AssignRoleToAPIUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc2\x8d\xb7\x01\x12\x88\x01\n\x15RevokeRoleFromAPIUser\x12\x37.meshtrade.iam.api_user.v1.RevokeRoleFromAPIUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc2\x8d\xb7\x01\x12\x8b\x01\n\x0cListApiUsers\x12..meshtrade.iam.api_user.v1.ListApiUsersRequest\x1a/.meshtrade.iam.api_user.v1.ListApiUsersResponse\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc2\x8d\xb7\x01\xc3\x8d\xb7\x01\x12\x91\x01\n\x0eSearchApiUsers\x12\x30.meshtrade.iam.api_user.v1.SearchApiUsersRequest\x1a\x31.meshtrade.iam.api_user.v1.SearchApiUsersResponse\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc2\x8d\xb7\x01\xc3\x8d\xb7\x01\x12|\n\x0f\x41\x63tivateApiUser\x12\x31.meshtrade.iam.api_user.v1.ActivateApiUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc2\x8d\xb7\x01\x12\x80\x01\n\x11\x44\x65\x61\x63tivateApiUser\x12\x33.meshtrade.iam.api_user.v1.DeactivateApiUserRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc2\x8d\xb7\x01\x12\x8c\x01\n\x13GetApiUserByKeyHash\x12\x35.meshtrade.iam.api_user.v1.GetApiUserByKeyHashRequest\x1a\".meshtrade.iam.api_user.v1.APIUser\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc2\x8d\xb7\x01\xc3\x8d\xb7\x01\x42[\n co.meshtrade.api.iam.api_user.v1Z7github.com/meshtrade/api/go/iam/api_user/v1;api_user_v1b\x06proto3')
32
32
 
33
33
  _globals = globals()
34
34
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -45,11 +45,11 @@ if not _descriptor._USE_C_DESCRIPTORS:
45
45
  _globals['_ASSIGNROLETOAPIUSERREQUEST'].fields_by_name['name']._loaded_options = None
46
46
  _globals['_ASSIGNROLETOAPIUSERREQUEST'].fields_by_name['name']._serialized_options = b'\272H<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001$\310\001\001'
47
47
  _globals['_ASSIGNROLETOAPIUSERREQUEST'].fields_by_name['role']._loaded_options = None
48
- _globals['_ASSIGNROLETOAPIUSERREQUEST'].fields_by_name['role']._serialized_options = b'\272HJrE2@^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/[123456][0-9]{6}$\230\001)\310\001\001'
48
+ _globals['_ASSIGNROLETOAPIUSERREQUEST'].fields_by_name['role']._serialized_options = b'\272HGrB2=^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/[1-9][0-9]{6}$\230\001)\310\001\001'
49
49
  _globals['_REVOKEROLEFROMAPIUSERREQUEST'].fields_by_name['name']._loaded_options = None
50
50
  _globals['_REVOKEROLEFROMAPIUSERREQUEST'].fields_by_name['name']._serialized_options = b'\272H<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001$\310\001\001'
51
51
  _globals['_REVOKEROLEFROMAPIUSERREQUEST'].fields_by_name['role']._loaded_options = None
52
- _globals['_REVOKEROLEFROMAPIUSERREQUEST'].fields_by_name['role']._serialized_options = b'\272HJrE2@^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/[123456][0-9]{6}$\230\001)\310\001\001'
52
+ _globals['_REVOKEROLEFROMAPIUSERREQUEST'].fields_by_name['role']._serialized_options = b'\272HGrB2=^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/[1-9][0-9]{6}$\230\001)\310\001\001'
53
53
  _globals['_ACTIVATEAPIUSERREQUEST'].fields_by_name['name']._loaded_options = None
54
54
  _globals['_ACTIVATEAPIUSERREQUEST'].fields_by_name['name']._serialized_options = b'\272H<r722^api_users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001$\310\001\001'
55
55
  _globals['_DEACTIVATEAPIUSERREQUEST'].fields_by_name['name']._loaded_options = None
@@ -79,21 +79,21 @@ if not _descriptor._USE_C_DESCRIPTORS:
79
79
  _globals['_CREATEAPIUSERREQUEST']._serialized_start=412
80
80
  _globals['_CREATEAPIUSERREQUEST']._serialized_end=505
81
81
  _globals['_ASSIGNROLETOAPIUSERREQUEST']._serialized_start=508
82
- _globals['_ASSIGNROLETOAPIUSERREQUEST']._serialized_end=720
83
- _globals['_REVOKEROLEFROMAPIUSERREQUEST']._serialized_start=723
84
- _globals['_REVOKEROLEFROMAPIUSERREQUEST']._serialized_end=937
85
- _globals['_LISTAPIUSERSREQUEST']._serialized_start=939
86
- _globals['_LISTAPIUSERSREQUEST']._serialized_end=960
87
- _globals['_LISTAPIUSERSRESPONSE']._serialized_start=962
88
- _globals['_LISTAPIUSERSRESPONSE']._serialized_end=1049
89
- _globals['_SEARCHAPIUSERSREQUEST']._serialized_start=1051
90
- _globals['_SEARCHAPIUSERSREQUEST']._serialized_end=1109
91
- _globals['_SEARCHAPIUSERSRESPONSE']._serialized_start=1111
92
- _globals['_SEARCHAPIUSERSRESPONSE']._serialized_end=1200
93
- _globals['_ACTIVATEAPIUSERREQUEST']._serialized_start=1202
94
- _globals['_ACTIVATEAPIUSERREQUEST']._serialized_end=1311
95
- _globals['_DEACTIVATEAPIUSERREQUEST']._serialized_start=1313
96
- _globals['_DEACTIVATEAPIUSERREQUEST']._serialized_end=1424
97
- _globals['_APIUSERSERVICE']._serialized_start=1427
98
- _globals['_APIUSERSERVICE']._serialized_end=2653
82
+ _globals['_ASSIGNROLETOAPIUSERREQUEST']._serialized_end=717
83
+ _globals['_REVOKEROLEFROMAPIUSERREQUEST']._serialized_start=720
84
+ _globals['_REVOKEROLEFROMAPIUSERREQUEST']._serialized_end=931
85
+ _globals['_LISTAPIUSERSREQUEST']._serialized_start=933
86
+ _globals['_LISTAPIUSERSREQUEST']._serialized_end=954
87
+ _globals['_LISTAPIUSERSRESPONSE']._serialized_start=956
88
+ _globals['_LISTAPIUSERSRESPONSE']._serialized_end=1043
89
+ _globals['_SEARCHAPIUSERSREQUEST']._serialized_start=1045
90
+ _globals['_SEARCHAPIUSERSREQUEST']._serialized_end=1103
91
+ _globals['_SEARCHAPIUSERSRESPONSE']._serialized_start=1105
92
+ _globals['_SEARCHAPIUSERSRESPONSE']._serialized_end=1194
93
+ _globals['_ACTIVATEAPIUSERREQUEST']._serialized_start=1196
94
+ _globals['_ACTIVATEAPIUSERREQUEST']._serialized_end=1305
95
+ _globals['_DEACTIVATEAPIUSERREQUEST']._serialized_start=1307
96
+ _globals['_DEACTIVATEAPIUSERREQUEST']._serialized_end=1418
97
+ _globals['_APIUSERSERVICE']._serialized_start=1421
98
+ _globals['_APIUSERSERVICE']._serialized_end=2647
99
99
  # @@protoc_insertion_point(module_scope)
@@ -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 meshtrade/iam/role/v1/role.proto\x12\x15meshtrade.iam.role.v1\x1a google/protobuf/descriptor.proto\"=\n\x08RoleList\x12\x31\n\x05roles\x18\x01 \x03(\x0e\x32\x1b.meshtrade.iam.role.v1.RoleR\x05roles*\xec\x05\n\x04Role\x12\x14\n\x10ROLE_UNSPECIFIED\x10\x00\x12\x17\n\x11ROLE_WALLET_ADMIN\x10\xc0\x84=\x12\x18\n\x12ROLE_WALLET_VIEWER\x10\xc1\x84=\x12\x1f\n\x19ROLE_WALLET_ACCOUNT_ADMIN\x10\xc2\x84=\x12 \n\x1aROLE_WALLET_ACCOUNT_VIEWER\x10\xc3\x84=\x12\x1b\n\x15ROLE_COMPLIANCE_ADMIN\x10\x80\x89z\x12\x1c\n\x16ROLE_COMPLIANCE_VIEWER\x10\x81\x89z\x12\"\n\x1cROLE_COMPLIANCE_CLIENT_ADMIN\x10\x82\x89z\x12#\n\x1dROLE_COMPLIANCE_CLIENT_VIEWER\x10\x83\x89z\x12\x15\n\x0eROLE_IAM_ADMIN\x10\xc0\x8d\xb7\x01\x12\x16\n\x0fROLE_IAM_VIEWER\x10\xc1\x8d\xb7\x01\x12\x1e\n\x17ROLE_IAM_API_USER_ADMIN\x10\xc2\x8d\xb7\x01\x12\x1f\n\x18ROLE_IAM_API_USER_VIEWER\x10\xc3\x8d\xb7\x01\x12\x1b\n\x14ROLE_IAM_GROUP_ADMIN\x10\xc4\x8d\xb7\x01\x12\x1c\n\x15ROLE_IAM_GROUP_VIEWER\x10\xc5\x8d\xb7\x01\x12\x1a\n\x13ROLE_IAM_USER_ADMIN\x10\xc6\x8d\xb7\x01\x12\x1b\n\x14ROLE_IAM_USER_VIEWER\x10\xc7\x8d\xb7\x01\x12\x18\n\x11ROLE_STUDIO_ADMIN\x10\x80\x92\xf4\x01\x12\x19\n\x12ROLE_STUDIO_VIEWER\x10\x81\x92\xf4\x01\x12#\n\x1cROLE_STUDIO_INSTRUMENT_ADMIN\x10\x82\x92\xf4\x01\x12$\n\x1dROLE_STUDIO_INSTRUMENT_VIEWER\x10\x83\x92\xf4\x01\x12\x19\n\x12ROLE_TRADING_ADMIN\x10\xc0\x96\xb1\x02\x12\x1a\n\x13ROLE_TRADING_VIEWER\x10\xc1\x96\xb1\x02\x12\x1b\n\x14ROLE_REPORTING_ADMIN\x10\x80\x9b\xee\x02\x12\x1c\n\x15ROLE_REPORTING_VIEWER\x10\x81\x9b\xee\x02:g\n\rmessage_roles\x12\x1f.google.protobuf.MessageOptions\x18\xd6\x86\x03 \x01(\x0b\x32\x1f.meshtrade.iam.role.v1.RoleListR\x0cmessageRoles:W\n\x05roles\x12\x1e.google.protobuf.MethodOptions\x18\xd5\x86\x03 \x01(\x0b\x32\x1f.meshtrade.iam.role.v1.RoleListR\x05rolesBO\n\x1c\x63o.meshtrade.api.iam.role.v1Z/github.com/meshtrade/api/go/iam/role/v1;role_v1b\x06proto3')
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n meshtrade/iam/role/v1/role.proto\x12\x15meshtrade.iam.role.v1\x1a google/protobuf/descriptor.proto\"=\n\x08RoleList\x12\x31\n\x05roles\x18\x01 \x03(\x0e\x32\x1b.meshtrade.iam.role.v1.RoleR\x05roles*\xee\x06\n\x04Role\x12\x14\n\x10ROLE_UNSPECIFIED\x10\x00\x12\x17\n\x11ROLE_WALLET_ADMIN\x10\xc0\x84=\x12\x18\n\x12ROLE_WALLET_VIEWER\x10\xc1\x84=\x12\x1f\n\x19ROLE_WALLET_ACCOUNT_ADMIN\x10\xc2\x84=\x12 \n\x1aROLE_WALLET_ACCOUNT_VIEWER\x10\xc3\x84=\x12\x1b\n\x15ROLE_COMPLIANCE_ADMIN\x10\x80\x89z\x12\x1c\n\x16ROLE_COMPLIANCE_VIEWER\x10\x81\x89z\x12\"\n\x1cROLE_COMPLIANCE_CLIENT_ADMIN\x10\x82\x89z\x12#\n\x1dROLE_COMPLIANCE_CLIENT_VIEWER\x10\x83\x89z\x12\x15\n\x0eROLE_IAM_ADMIN\x10\xc0\x8d\xb7\x01\x12\x16\n\x0fROLE_IAM_VIEWER\x10\xc1\x8d\xb7\x01\x12\x1e\n\x17ROLE_IAM_API_USER_ADMIN\x10\xc2\x8d\xb7\x01\x12\x1f\n\x18ROLE_IAM_API_USER_VIEWER\x10\xc3\x8d\xb7\x01\x12\x1b\n\x14ROLE_IAM_GROUP_ADMIN\x10\xc4\x8d\xb7\x01\x12\x1c\n\x15ROLE_IAM_GROUP_VIEWER\x10\xc5\x8d\xb7\x01\x12\x1a\n\x13ROLE_IAM_USER_ADMIN\x10\xc6\x8d\xb7\x01\x12\x1b\n\x14ROLE_IAM_USER_VIEWER\x10\xc7\x8d\xb7\x01\x12\x18\n\x11ROLE_STUDIO_ADMIN\x10\x80\x92\xf4\x01\x12\x19\n\x12ROLE_STUDIO_VIEWER\x10\x81\x92\xf4\x01\x12#\n\x1cROLE_STUDIO_INSTRUMENT_ADMIN\x10\x82\x92\xf4\x01\x12$\n\x1dROLE_STUDIO_INSTRUMENT_VIEWER\x10\x83\x92\xf4\x01\x12\x19\n\x12ROLE_TRADING_ADMIN\x10\xc0\x96\xb1\x02\x12\x1a\n\x13ROLE_TRADING_VIEWER\x10\xc1\x96\xb1\x02\x12\x1b\n\x14ROLE_REPORTING_ADMIN\x10\x80\x9b\xee\x02\x12\x1c\n\x15ROLE_REPORTING_VIEWER\x10\x81\x9b\xee\x02\x12\x18\n\x11ROLE_LEDGER_ADMIN\x10\xc0\x9f\xab\x03\x12\x19\n\x12ROLE_LEDGER_VIEWER\x10\xc1\x9f\xab\x03\x12$\n\x1dROLE_LEDGER_TRANSACTION_ADMIN\x10\xc2\x9f\xab\x03\x12%\n\x1eROLE_LEDGER_TRANSACTION_VIEWER\x10\xc3\x9f\xab\x03:g\n\rmessage_roles\x12\x1f.google.protobuf.MessageOptions\x18\xd6\x86\x03 \x01(\x0b\x32\x1f.meshtrade.iam.role.v1.RoleListR\x0cmessageRoles:W\n\x05roles\x12\x1e.google.protobuf.MethodOptions\x18\xd5\x86\x03 \x01(\x0b\x32\x1f.meshtrade.iam.role.v1.RoleListR\x05rolesBO\n\x1c\x63o.meshtrade.api.iam.role.v1Z/github.com/meshtrade/api/go/iam/role/v1;role_v1b\x06proto3')
29
29
 
30
30
  _globals = globals()
31
31
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -34,7 +34,7 @@ if not _descriptor._USE_C_DESCRIPTORS:
34
34
  _globals['DESCRIPTOR']._loaded_options = None
35
35
  _globals['DESCRIPTOR']._serialized_options = b'\n\034co.meshtrade.api.iam.role.v1Z/github.com/meshtrade/api/go/iam/role/v1;role_v1'
36
36
  _globals['_ROLE']._serialized_start=157
37
- _globals['_ROLE']._serialized_end=905
37
+ _globals['_ROLE']._serialized_end=1035
38
38
  _globals['_ROLELIST']._serialized_start=93
39
39
  _globals['_ROLELIST']._serialized_end=154
40
40
  # @@protoc_insertion_point(module_scope)
@@ -35,6 +35,10 @@ class Role(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
35
35
  ROLE_TRADING_VIEWER: _ClassVar[Role]
36
36
  ROLE_REPORTING_ADMIN: _ClassVar[Role]
37
37
  ROLE_REPORTING_VIEWER: _ClassVar[Role]
38
+ ROLE_LEDGER_ADMIN: _ClassVar[Role]
39
+ ROLE_LEDGER_VIEWER: _ClassVar[Role]
40
+ ROLE_LEDGER_TRANSACTION_ADMIN: _ClassVar[Role]
41
+ ROLE_LEDGER_TRANSACTION_VIEWER: _ClassVar[Role]
38
42
  ROLE_UNSPECIFIED: Role
39
43
  ROLE_WALLET_ADMIN: Role
40
44
  ROLE_WALLET_VIEWER: Role
@@ -60,6 +64,10 @@ ROLE_TRADING_ADMIN: Role
60
64
  ROLE_TRADING_VIEWER: Role
61
65
  ROLE_REPORTING_ADMIN: Role
62
66
  ROLE_REPORTING_VIEWER: Role
67
+ ROLE_LEDGER_ADMIN: Role
68
+ ROLE_LEDGER_VIEWER: Role
69
+ ROLE_LEDGER_TRANSACTION_ADMIN: Role
70
+ ROLE_LEDGER_TRANSACTION_VIEWER: Role
63
71
  MESSAGE_ROLES_FIELD_NUMBER: _ClassVar[int]
64
72
  message_roles: _descriptor.FieldDescriptor
65
73
  ROLES_FIELD_NUMBER: _ClassVar[int]
@@ -29,7 +29,7 @@ from meshtrade.option.v1 import method_type_pb2 as meshtrade_dot_option_dot_v1_d
29
29
  from meshtrade.type.v1 import sorting_pb2 as meshtrade_dot_type_dot_v1_dot_sorting__pb2
30
30
 
31
31
 
32
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#meshtrade/iam/user/v1/service.proto\x12\x15meshtrade.iam.user.v1\x1a\x1b\x62uf/validate/validate.proto\x1a meshtrade/iam/role/v1/role.proto\x1a meshtrade/iam/user/v1/user.proto\x1a%meshtrade/option/v1/method_type.proto\x1a\x1fmeshtrade/type/v1/sorting.proto\"\xc3\x01\n\x17\x41ssignRoleToUserRequest\x12L\n\x04name\x18\x01 \x01(\tB8\xbaH5r32.^users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01 R\x04name\x12Z\n\x04role\x18\x04 \x01(\tBF\xbaHCr>29^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/1[0-9]{6}$\x98\x01)\xc8\x01\x01R\x04role\"a\n\x0eGetUserRequest\x12O\n\x04name\x18\x01 \x01(\tB;\xbaH8r32.^users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01 \xc8\x01\x01R\x04name\"\x94\x02\n\x10ListUsersRequest\x12I\n\x07sorting\x18\x01 \x01(\x0b\x32/.meshtrade.iam.user.v1.ListUsersRequest.SortingR\x07sorting\x1a\xb4\x01\n\x07Sorting\x12r\n\x05\x66ield\x18\x01 \x01(\tB\\\xbaHYr\tR\x00R\x05\x65mail\xba\x01K\n\x0b\x66ield.valid\x12%field must be one of: email, or empty\x1a\x15this in [\'\', \'email\']R\x05\x66ield\x12\x35\n\x05order\x18\x02 \x01(\x0e\x32\x1f.meshtrade.type.v1.SortingOrderR\x05order\"F\n\x11ListUsersResponse\x12\x31\n\x05users\x18\x01 \x03(\x0b\x32\x1b.meshtrade.iam.user.v1.UserR\x05users\"\xae\x02\n\x12SearchUsersRequest\x12\x14\n\x05\x65mail\x18\x01 \x01(\tR\x05\x65mail\x12K\n\x07sorting\x18\x02 \x01(\x0b\x32\x31.meshtrade.iam.user.v1.SearchUsersRequest.SortingR\x07sorting\x1a\xb4\x01\n\x07Sorting\x12r\n\x05\x66ield\x18\x01 \x01(\tB\\\xbaHYr\tR\x00R\x05\x65mail\xba\x01K\n\x0b\x66ield.valid\x12%field must be one of: email, or empty\x1a\x15this in [\'\', \'email\']R\x05\x66ield\x12\x35\n\x05order\x18\x02 \x01(\x0e\x32\x1f.meshtrade.type.v1.SortingOrderR\x05order\"H\n\x13SearchUsersResponse\x12\x31\n\x05users\x18\x01 \x03(\x0b\x32\x1b.meshtrade.iam.user.v1.UserR\x05users\"L\n\x11\x43reateUserRequest\x12\x37\n\x04user\x18\x01 \x01(\x0b\x32\x1b.meshtrade.iam.user.v1.UserB\x06\xbaH\x03\xc8\x01\x01R\x04user\"L\n\x11UpdateUserRequest\x12\x37\n\x04user\x18\x01 \x01(\x0b\x32\x1b.meshtrade.iam.user.v1.UserB\x06\xbaH\x03\xc8\x01\x01R\x04user2\xbe\x05\n\x0bUserService\x12s\n\x10\x41ssignRoleToUser\x12..meshtrade.iam.user.v1.AssignRoleToUserRequest\x1a\x1b.meshtrade.iam.user.v1.User\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc6\x8d\xb7\x01\x12i\n\x07GetUser\x12%.meshtrade.iam.user.v1.GetUserRequest\x1a\x1b.meshtrade.iam.user.v1.User\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc6\x8d\xb7\x01\xc7\x8d\xb7\x01\x12z\n\tListUsers\x12\'.meshtrade.iam.user.v1.ListUsersRequest\x1a(.meshtrade.iam.user.v1.ListUsersResponse\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc6\x8d\xb7\x01\xc7\x8d\xb7\x01\x12\x80\x01\n\x0bSearchUsers\x12).meshtrade.iam.user.v1.SearchUsersRequest\x1a*.meshtrade.iam.user.v1.SearchUsersResponse\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc6\x8d\xb7\x01\xc7\x8d\xb7\x01\x12g\n\nCreateUser\x12(.meshtrade.iam.user.v1.CreateUserRequest\x1a\x1b.meshtrade.iam.user.v1.User\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc6\x8d\xb7\x01\x12g\n\nUpdateUser\x12(.meshtrade.iam.user.v1.UpdateUserRequest\x1a\x1b.meshtrade.iam.user.v1.User\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc6\x8d\xb7\x01\x42O\n\x1c\x63o.meshtrade.api.iam.user.v1Z/github.com/meshtrade/api/go/iam/user/v1;user_v1b\x06proto3')
32
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n#meshtrade/iam/user/v1/service.proto\x12\x15meshtrade.iam.user.v1\x1a\x1b\x62uf/validate/validate.proto\x1a meshtrade/iam/role/v1/role.proto\x1a meshtrade/iam/user/v1/user.proto\x1a%meshtrade/option/v1/method_type.proto\x1a\x1fmeshtrade/type/v1/sorting.proto\"\xc7\x01\n\x17\x41ssignRoleToUserRequest\x12L\n\x04name\x18\x01 \x01(\tB8\xbaH5r32.^users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01 R\x04name\x12^\n\x04role\x18\x04 \x01(\tBJ\xbaHGrB2=^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/[1-9][0-9]{6}$\x98\x01)\xc8\x01\x01R\x04role\"a\n\x0eGetUserRequest\x12O\n\x04name\x18\x01 \x01(\tB;\xbaH8r32.^users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01 \xc8\x01\x01R\x04name\"\x94\x02\n\x10ListUsersRequest\x12I\n\x07sorting\x18\x01 \x01(\x0b\x32/.meshtrade.iam.user.v1.ListUsersRequest.SortingR\x07sorting\x1a\xb4\x01\n\x07Sorting\x12r\n\x05\x66ield\x18\x01 \x01(\tB\\\xbaHYr\tR\x00R\x05\x65mail\xba\x01K\n\x0b\x66ield.valid\x12%field must be one of: email, or empty\x1a\x15this in [\'\', \'email\']R\x05\x66ield\x12\x35\n\x05order\x18\x02 \x01(\x0e\x32\x1f.meshtrade.type.v1.SortingOrderR\x05order\"F\n\x11ListUsersResponse\x12\x31\n\x05users\x18\x01 \x03(\x0b\x32\x1b.meshtrade.iam.user.v1.UserR\x05users\"\xae\x02\n\x12SearchUsersRequest\x12\x14\n\x05\x65mail\x18\x01 \x01(\tR\x05\x65mail\x12K\n\x07sorting\x18\x02 \x01(\x0b\x32\x31.meshtrade.iam.user.v1.SearchUsersRequest.SortingR\x07sorting\x1a\xb4\x01\n\x07Sorting\x12r\n\x05\x66ield\x18\x01 \x01(\tB\\\xbaHYr\tR\x00R\x05\x65mail\xba\x01K\n\x0b\x66ield.valid\x12%field must be one of: email, or empty\x1a\x15this in [\'\', \'email\']R\x05\x66ield\x12\x35\n\x05order\x18\x02 \x01(\x0e\x32\x1f.meshtrade.type.v1.SortingOrderR\x05order\"H\n\x13SearchUsersResponse\x12\x31\n\x05users\x18\x01 \x03(\x0b\x32\x1b.meshtrade.iam.user.v1.UserR\x05users\"L\n\x11\x43reateUserRequest\x12\x37\n\x04user\x18\x01 \x01(\x0b\x32\x1b.meshtrade.iam.user.v1.UserB\x06\xbaH\x03\xc8\x01\x01R\x04user\"L\n\x11UpdateUserRequest\x12\x37\n\x04user\x18\x01 \x01(\x0b\x32\x1b.meshtrade.iam.user.v1.UserB\x06\xbaH\x03\xc8\x01\x01R\x04user2\xbe\x05\n\x0bUserService\x12s\n\x10\x41ssignRoleToUser\x12..meshtrade.iam.user.v1.AssignRoleToUserRequest\x1a\x1b.meshtrade.iam.user.v1.User\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc6\x8d\xb7\x01\x12i\n\x07GetUser\x12%.meshtrade.iam.user.v1.GetUserRequest\x1a\x1b.meshtrade.iam.user.v1.User\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc6\x8d\xb7\x01\xc7\x8d\xb7\x01\x12z\n\tListUsers\x12\'.meshtrade.iam.user.v1.ListUsersRequest\x1a(.meshtrade.iam.user.v1.ListUsersResponse\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc6\x8d\xb7\x01\xc7\x8d\xb7\x01\x12\x80\x01\n\x0bSearchUsers\x12).meshtrade.iam.user.v1.SearchUsersRequest\x1a*.meshtrade.iam.user.v1.SearchUsersResponse\"\x1a\xa0\xb5\x18\x01\xaa\xb5\x18\x12\n\x10\xc0\x8d\xb7\x01\xc1\x8d\xb7\x01\xc6\x8d\xb7\x01\xc7\x8d\xb7\x01\x12g\n\nCreateUser\x12(.meshtrade.iam.user.v1.CreateUserRequest\x1a\x1b.meshtrade.iam.user.v1.User\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc6\x8d\xb7\x01\x12g\n\nUpdateUser\x12(.meshtrade.iam.user.v1.UpdateUserRequest\x1a\x1b.meshtrade.iam.user.v1.User\"\x12\xa0\xb5\x18\x02\xaa\xb5\x18\n\n\x08\xc0\x8d\xb7\x01\xc6\x8d\xb7\x01\x42O\n\x1c\x63o.meshtrade.api.iam.user.v1Z/github.com/meshtrade/api/go/iam/user/v1;user_v1b\x06proto3')
33
33
 
34
34
  _globals = globals()
35
35
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -40,7 +40,7 @@ if not _descriptor._USE_C_DESCRIPTORS:
40
40
  _globals['_ASSIGNROLETOUSERREQUEST'].fields_by_name['name']._loaded_options = None
41
41
  _globals['_ASSIGNROLETOUSERREQUEST'].fields_by_name['name']._serialized_options = b'\272H5r32.^users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001 '
42
42
  _globals['_ASSIGNROLETOUSERREQUEST'].fields_by_name['role']._loaded_options = None
43
- _globals['_ASSIGNROLETOUSERREQUEST'].fields_by_name['role']._serialized_options = b'\272HCr>29^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/1[0-9]{6}$\230\001)\310\001\001'
43
+ _globals['_ASSIGNROLETOUSERREQUEST'].fields_by_name['role']._serialized_options = b'\272HGrB2=^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/[1-9][0-9]{6}$\230\001)\310\001\001'
44
44
  _globals['_GETUSERREQUEST'].fields_by_name['name']._loaded_options = None
45
45
  _globals['_GETUSERREQUEST'].fields_by_name['name']._serialized_options = b'\272H8r32.^users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\230\001 \310\001\001'
46
46
  _globals['_LISTUSERSREQUEST_SORTING'].fields_by_name['field']._loaded_options = None
@@ -64,25 +64,25 @@ if not _descriptor._USE_C_DESCRIPTORS:
64
64
  _globals['_USERSERVICE'].methods_by_name['UpdateUser']._loaded_options = None
65
65
  _globals['_USERSERVICE'].methods_by_name['UpdateUser']._serialized_options = b'\240\265\030\002\252\265\030\n\n\010\300\215\267\001\306\215\267\001'
66
66
  _globals['_ASSIGNROLETOUSERREQUEST']._serialized_start=232
67
- _globals['_ASSIGNROLETOUSERREQUEST']._serialized_end=427
68
- _globals['_GETUSERREQUEST']._serialized_start=429
69
- _globals['_GETUSERREQUEST']._serialized_end=526
70
- _globals['_LISTUSERSREQUEST']._serialized_start=529
71
- _globals['_LISTUSERSREQUEST']._serialized_end=805
72
- _globals['_LISTUSERSREQUEST_SORTING']._serialized_start=625
73
- _globals['_LISTUSERSREQUEST_SORTING']._serialized_end=805
74
- _globals['_LISTUSERSRESPONSE']._serialized_start=807
75
- _globals['_LISTUSERSRESPONSE']._serialized_end=877
76
- _globals['_SEARCHUSERSREQUEST']._serialized_start=880
77
- _globals['_SEARCHUSERSREQUEST']._serialized_end=1182
78
- _globals['_SEARCHUSERSREQUEST_SORTING']._serialized_start=625
79
- _globals['_SEARCHUSERSREQUEST_SORTING']._serialized_end=805
80
- _globals['_SEARCHUSERSRESPONSE']._serialized_start=1184
81
- _globals['_SEARCHUSERSRESPONSE']._serialized_end=1256
82
- _globals['_CREATEUSERREQUEST']._serialized_start=1258
83
- _globals['_CREATEUSERREQUEST']._serialized_end=1334
84
- _globals['_UPDATEUSERREQUEST']._serialized_start=1336
85
- _globals['_UPDATEUSERREQUEST']._serialized_end=1412
86
- _globals['_USERSERVICE']._serialized_start=1415
87
- _globals['_USERSERVICE']._serialized_end=2117
67
+ _globals['_ASSIGNROLETOUSERREQUEST']._serialized_end=431
68
+ _globals['_GETUSERREQUEST']._serialized_start=433
69
+ _globals['_GETUSERREQUEST']._serialized_end=530
70
+ _globals['_LISTUSERSREQUEST']._serialized_start=533
71
+ _globals['_LISTUSERSREQUEST']._serialized_end=809
72
+ _globals['_LISTUSERSREQUEST_SORTING']._serialized_start=629
73
+ _globals['_LISTUSERSREQUEST_SORTING']._serialized_end=809
74
+ _globals['_LISTUSERSRESPONSE']._serialized_start=811
75
+ _globals['_LISTUSERSRESPONSE']._serialized_end=881
76
+ _globals['_SEARCHUSERSREQUEST']._serialized_start=884
77
+ _globals['_SEARCHUSERSREQUEST']._serialized_end=1186
78
+ _globals['_SEARCHUSERSREQUEST_SORTING']._serialized_start=629
79
+ _globals['_SEARCHUSERSREQUEST_SORTING']._serialized_end=809
80
+ _globals['_SEARCHUSERSRESPONSE']._serialized_start=1188
81
+ _globals['_SEARCHUSERSRESPONSE']._serialized_end=1260
82
+ _globals['_CREATEUSERREQUEST']._serialized_start=1262
83
+ _globals['_CREATEUSERREQUEST']._serialized_end=1338
84
+ _globals['_UPDATEUSERREQUEST']._serialized_start=1340
85
+ _globals['_UPDATEUSERREQUEST']._serialized_end=1416
86
+ _globals['_USERSERVICE']._serialized_start=1419
87
+ _globals['_USERSERVICE']._serialized_end=2121
88
88
  # @@protoc_insertion_point(module_scope)
@@ -25,7 +25,7 @@ _sym_db = _symbol_database.Default()
25
25
  from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2
26
26
 
27
27
 
28
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n meshtrade/iam/user/v1/user.proto\x12\x15meshtrade.iam.user.v1\x1a\x1b\x62uf/validate/validate.proto\"\x99\x03\n\x04User\x12\xba\x01\n\x04name\x18\x01 \x01(\tB\xa5\x01\xbaH\xa1\x01\xba\x01\x9d\x01\n\x14name.format.optional\x12\x32name must be empty or in the format users/{ULIDv2}\x1aQsize(this) == 0 || this.matches(\'^users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')R\x04name\x12R\n\x05owner\x18\x02 \x01(\tB<\xbaH9r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01!\xc8\x01\x01R\x05owner\x12 \n\x05\x65mail\x18\x04 \x01(\tB\n\xbaH\x07r\x02`\x01\xc8\x01\x01R\x05\x65mail\x12^\n\x05roles\x18\x06 \x03(\tBH\xbaHE\x92\x01\x42\"@r>29^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/1[0-9]{6}$\x98\x01)R\x05rolesBO\n\x1c\x63o.meshtrade.api.iam.user.v1Z/github.com/meshtrade/api/go/iam/user/v1;user_v1b\x06proto3')
28
+ DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n meshtrade/iam/user/v1/user.proto\x12\x15meshtrade.iam.user.v1\x1a\x1b\x62uf/validate/validate.proto\"\x9d\x03\n\x04User\x12\xba\x01\n\x04name\x18\x01 \x01(\tB\xa5\x01\xbaH\xa1\x01\xba\x01\x9d\x01\n\x14name.format.optional\x12\x32name must be empty or in the format users/{ULIDv2}\x1aQsize(this) == 0 || this.matches(\'^users/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\')R\x04name\x12R\n\x05owner\x18\x02 \x01(\tB<\xbaH9r42/^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}$\x98\x01!\xc8\x01\x01R\x05owner\x12 \n\x05\x65mail\x18\x04 \x01(\tB\n\xbaH\x07r\x02`\x01\xc8\x01\x01R\x05\x65mail\x12\x62\n\x05roles\x18\x06 \x03(\tBL\xbaHI\x92\x01\x46\"DrB2=^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/[1-9][0-9]{6}$\x98\x01)R\x05rolesBO\n\x1c\x63o.meshtrade.api.iam.user.v1Z/github.com/meshtrade/api/go/iam/user/v1;user_v1b\x06proto3')
29
29
 
30
30
  _globals = globals()
31
31
  _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@@ -40,7 +40,7 @@ if not _descriptor._USE_C_DESCRIPTORS:
40
40
  _globals['_USER'].fields_by_name['email']._loaded_options = None
41
41
  _globals['_USER'].fields_by_name['email']._serialized_options = b'\272H\007r\002`\001\310\001\001'
42
42
  _globals['_USER'].fields_by_name['roles']._loaded_options = None
43
- _globals['_USER'].fields_by_name['roles']._serialized_options = b'\272HE\222\001B\"@r>29^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/1[0-9]{6}$\230\001)'
43
+ _globals['_USER'].fields_by_name['roles']._serialized_options = b'\272HI\222\001F\"DrB2=^groups/[0123456789ABCDEFGHJKMNPQRSTVWXYZ]{26}/[1-9][0-9]{6}$\230\001)'
44
44
  _globals['_USER']._serialized_start=89
45
- _globals['_USER']._serialized_end=498
45
+ _globals['_USER']._serialized_end=502
46
46
  # @@protoc_insertion_point(module_scope)
@@ -13,8 +13,22 @@
13
13
  # ===================================================================
14
14
 
15
15
  # Generated protobuf imports
16
- from .transaction_action_pb2 import TransactionAction
17
16
  from .transaction_state_pb2 import TransactionState
17
+ from .service_pb2 import (
18
+ GetTransactionStateRequest,
19
+ GetTransactionStateResponse,
20
+ MonitorTransactionStateRequest,
21
+ MonitorTransactionStateResponse,
22
+ )
23
+ from .transaction_action_pb2 import TransactionAction
24
+
25
+ # Generated service imports
26
+ from .service_meshpy import (
27
+ TransactionService,
28
+ TransactionServiceGRPCClient,
29
+ TransactionServiceGRPCClientInterface,
30
+ )
31
+ from .service_options_meshpy import ClientOptions
18
32
 
19
33
  # ===================================================================
20
34
  # END OF AUTO-GENERATED SECTION
@@ -36,6 +50,14 @@ from .transaction_state_pb2 import TransactionState
36
50
  # Combined auto-generated and manual exports
37
51
  __all__ = [
38
52
  # Generated exports
53
+ "ClientOptions",
54
+ "GetTransactionStateRequest",
55
+ "GetTransactionStateResponse",
56
+ "MonitorTransactionStateRequest",
57
+ "MonitorTransactionStateResponse",
39
58
  "TransactionAction",
59
+ "TransactionService",
60
+ "TransactionServiceGRPCClient",
61
+ "TransactionServiceGRPCClientInterface",
40
62
  "TransactionState",
41
63
  ]
@@ -0,0 +1,175 @@
1
+ # Code generated by protoc-gen-meshpy. DO NOT EDIT.
2
+ # source: meshtrade/ledger/transaction/v1/service.proto
3
+
4
+ """
5
+ TransactionService gRPC service wrapper with authentication, timeouts, and resource management.
6
+
7
+ This module provides a high-level gRPC service for the TransactionService service that combines
8
+ the service interface with resource management capabilities, providing authentication,
9
+ timeouts, and proper connection handling.
10
+ """
11
+
12
+ from datetime import timedelta
13
+ from typing import Optional
14
+
15
+ from meshtrade.common import BaseGRPCClient
16
+ from meshtrade.iam.api_user.v1.api_credentials import find_credentials
17
+
18
+ from .service_options_meshpy import ServiceOptions
19
+ from .service_pb2 import (
20
+ GetTransactionStateRequest,
21
+ GetTransactionStateResponse,
22
+ MonitorTransactionStateRequest,
23
+ MonitorTransactionStateResponse,
24
+ )
25
+ from .service_pb2_grpc import TransactionServiceStub
26
+
27
+
28
+ def _create_transactionservice_stub(channel):
29
+ """Factory function to create TransactionServiceStub from gRPC channel."""
30
+ return TransactionServiceStub(channel)
31
+
32
+
33
+ class TransactionService(BaseGRPCClient):
34
+ """TransactionService gRPC service with authentication, timeouts, and resource management.
35
+
36
+ This service provides a complete implementation of the TransactionService with proper authentication, timeout handling, and automatic resource cleanup.
37
+
38
+ Full Service documentation: https://meshtrade.github.io/api/docs/api-reference/ledger/transaction/v1
39
+
40
+ Basic service usage with default SDK Configuration:
41
+ ```python
42
+ service = TransactionService()
43
+
44
+ with service: # `with` ensures proper clean up of underlying connection after use
45
+ response = service.get_api_user(request)
46
+ ```
47
+
48
+ With default configuration API credentials are searched for using the standard discovery hierarchy:
49
+
50
+ 1. MESH_API_CREDENTIALS environment variable
51
+
52
+ 2. Default credential file location:
53
+
54
+ - Linux: `$XDG_CONFIG_HOME/mesh/credentials.json` or fallback to `$HOME/.config/mesh/credentials.json`
55
+ - macOS: `$HOME/Library/Application Support/mesh/credentials.json`
56
+ - Windows: `C:\\Users\\<user>\\AppData\\Roaming\\mesh\\credentials.json`
57
+
58
+ For more information on authentication: https://meshtrade.github.io/api/docs/architecture/authentication
59
+
60
+ The service may also be configured with custom options:
61
+ ```python
62
+ from .service_options_meshpy import ServiceOptions
63
+ from datetime import timedelta
64
+
65
+ options = ServiceOptions(
66
+ url="api.staging.example.com",
67
+ port=443,
68
+ api_key="your-api-key",
69
+ group="groups/your-group-id",
70
+ timeout=timedelta(seconds=60)
71
+ )
72
+
73
+ service = TransactionService(options)
74
+
75
+ with service: # `with` ensures proper clean up of underlying connection after use
76
+ response = service.get_api_user(request)
77
+ ```
78
+
79
+ For more information on service configuration: https://meshtrade.github.io/api/docs/architecture/sdk-configuration
80
+ """
81
+
82
+ def __init__(self, options: Optional[ServiceOptions] = None):
83
+ """Construct and initialize the TransactionService service.
84
+
85
+ Full Service documentation: https://meshtrade.github.io/api/docs/api-reference/ledger/transaction/v1
86
+
87
+ Args:
88
+ options: Optional ServiceOptions for configuring the service.
89
+ If None, service is constructed with default configuration.
90
+ With default configuration API credentials are searched for using the standard discovery hierarchy:
91
+
92
+ 1. MESH_API_CREDENTIALS environment variable
93
+
94
+ 2. Default credential file location:
95
+
96
+ - Linux: `$XDG_CONFIG_HOME/mesh/credentials.json` or fallback to `$HOME/.config/mesh/credentials.json`
97
+ - macOS: `$HOME/Library/Application Support/mesh/credentials.json`
98
+ - Windows: `C:\\Users\\<user>\\AppData\\Roaming\\mesh\\credentials.json`
99
+
100
+ For more information on authentication: https://meshtrade.github.io/api/docs/architecture/authentication
101
+
102
+ For more information on service configuration: https://meshtrade.github.io/api/docs/architecture/sdk-configuration
103
+
104
+ Example:
105
+ ```python
106
+ # construct with default configuration
107
+ service = TransactionService()
108
+
109
+ # construct with custom configuration
110
+ options = ServiceOptions(
111
+ url="api.example.com",
112
+ api_key="your-key",
113
+ group="groups/your-group"
114
+ )
115
+ service = TransactionService(options)
116
+ ```
117
+ """
118
+ if options is None:
119
+ options = ServiceOptions()
120
+
121
+ # Initialize the base client with all common functionality
122
+ super().__init__(
123
+ service_name="TransactionService",
124
+ stub_factory=_create_transactionservice_stub,
125
+ find_credentials_func=find_credentials,
126
+ url=options.url,
127
+ port=options.port,
128
+ api_key=options.api_key,
129
+ group=options.group,
130
+ timeout=options.timeout,
131
+ tls=options.tls,
132
+ )
133
+
134
+ def get_transaction_state(self, request: GetTransactionStateRequest, timeout: Optional[timedelta] = None) -> GetTransactionStateResponse:
135
+ """GetTransactionState method.
136
+
137
+ Args:
138
+ request: The GetTransactionState request message
139
+ timeout: Optional timeout override for this call
140
+
141
+ Returns:
142
+ The GetTransactionState response message
143
+
144
+ Raises:
145
+ grpc.RpcError: If the gRPC call fails
146
+ ValueError: If authentication credentials are missing
147
+ """
148
+ return self._execute_method("GetTransactionState", request, timeout)
149
+
150
+ def monitor_transaction_state(self, request: MonitorTransactionStateRequest, timeout: Optional[timedelta] = None):
151
+ """MonitorTransactionState server-side streaming method with authentication and validation.
152
+
153
+ Args:
154
+ request: The MonitorTransactionState request message
155
+ timeout: Optional timeout override for this call
156
+
157
+ Yields:
158
+ MonitorTransactionStateResponse: Stream of response messages
159
+
160
+ Raises:
161
+ grpc.RpcError: If the gRPC call fails
162
+ ValueError: If authentication credentials are missing or request validation fails
163
+
164
+ Example:
165
+ >>> stream = service.monitor_transaction_state(request)
166
+ >>> for response in stream:
167
+ ... # Process each response
168
+ ... print(response)
169
+ """
170
+ return self._execute_streaming_method("MonitorTransactionState", request, timeout)
171
+
172
+
173
+ # Create aliases to match expected exports
174
+ TransactionServiceGRPCClient = TransactionService
175
+ TransactionServiceGRPCClientInterface = TransactionService
@@ -0,0 +1,65 @@
1
+ # Code generated by protoc-gen-meshpy. DO NOT EDIT.
2
+ # source: meshtrade/ledger/transaction/v1/service.proto
3
+
4
+ """
5
+ Configuration options for TransactionService gRPC service.
6
+ This module provides a clean, extensible way to configure the service with optional
7
+ parameters while maintaining backward compatibility and readability.
8
+ """
9
+
10
+ from datetime import timedelta
11
+
12
+
13
+ class ServiceOptions:
14
+ """Configuration options for TransactionService gRPC service.
15
+
16
+ This class provides a clean, extensible way to configure the service with optional
17
+ parameters while maintaining backward compatibility and readability.
18
+ """
19
+
20
+ def __init__(
21
+ self,
22
+ tls: bool = True,
23
+ url: str | None = None,
24
+ port: int | None = None,
25
+ api_key: str | None = None,
26
+ group: str | None = None,
27
+ timeout: timedelta = timedelta(seconds=30),
28
+ ):
29
+ """Initialize service options.
30
+
31
+ Args:
32
+ tls: Whether to use TLS encryption for the gRPC connection.
33
+ When True, establishes a secure connection using TLS.
34
+ When False, uses an insecure connection.
35
+ Default: True (secure connection)
36
+
37
+ url: The server hostname or IP address (e.g., "api.example.com", "localhost").
38
+ Default: Uses DEFAULT_GRPC_URL from common module
39
+
40
+ port: The server port number (e.g., 443 for HTTPS, 8080 for development).
41
+ Default: Uses DEFAULT_GRPC_PORT from common module
42
+
43
+ api_key: The API key string (without "Bearer " prefix) for authentication.
44
+ The API key will be sent as a Bearer token in the Authorization header.
45
+ This is the primary authentication method for service-to-service communication.
46
+
47
+ group: The group resource name in format groups/{group_id} required for all API requests.
48
+ The group determines the authorization context for operations
49
+ and is sent as an "x-group" header with every request.
50
+
51
+ timeout: The default timeout for all gRPC method calls.
52
+ This timeout applies to individual method calls and helps prevent hanging requests.
53
+ If a request takes longer than the specified timeout, it will be cancelled.
54
+ Default: 30 seconds
55
+ """
56
+ self.tls = tls
57
+ self.url = url
58
+ self.port = port
59
+ self.api_key = api_key
60
+ self.group = group
61
+ self.timeout = timeout
62
+
63
+
64
+ # Create alias to match expected exports
65
+ ClientOptions = ServiceOptions