@decaf-ts/for-fabric 0.5.7 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (826) hide show
  1. package/dist/for-fabric.cjs +2 -3797
  2. package/dist/for-fabric.cjs.map +1 -0
  3. package/dist/for-fabric.js +2 -3901
  4. package/dist/for-fabric.js.map +1 -0
  5. package/lib/cjs/bin/cli.cjs +9 -0
  6. package/lib/cjs/bin/cli.js.map +1 -0
  7. package/lib/cjs/cli-module.cjs +479 -0
  8. package/lib/cjs/cli-module.js.map +1 -0
  9. package/lib/cjs/cli-utils.cjs +309 -0
  10. package/lib/cjs/cli-utils.js.map +1 -0
  11. package/lib/cjs/client/FabricClientAdapter.cjs +1362 -0
  12. package/lib/cjs/client/FabricClientAdapter.js.map +1 -0
  13. package/lib/cjs/client/FabricClientDispatch.cjs +290 -0
  14. package/lib/cjs/client/FabricClientDispatch.js.map +1 -0
  15. package/lib/cjs/client/FabricClientPaginator.cjs +21 -0
  16. package/lib/cjs/client/FabricClientPaginator.js.map +1 -0
  17. package/lib/cjs/client/FabricClientRepository.cjs +259 -0
  18. package/lib/cjs/client/FabricClientRepository.js.map +1 -0
  19. package/lib/cjs/client/FabricClientStatement.cjs +451 -0
  20. package/lib/cjs/client/FabricClientStatement.js.map +1 -0
  21. package/lib/cjs/client/collections/generation.cjs +113 -0
  22. package/lib/cjs/client/collections/generation.js.map +1 -0
  23. package/lib/{client/indexes → cjs/client/collections}/index.cjs +1 -1
  24. package/lib/cjs/client/collections/index.js.map +1 -0
  25. package/lib/cjs/client/constants.cjs +16 -0
  26. package/lib/cjs/client/constants.js.map +1 -0
  27. package/lib/cjs/client/crypto.cjs +368 -0
  28. package/lib/cjs/client/crypto.js.map +1 -0
  29. package/lib/{esm/client/erc20/FabricERC20ClientRepository.d.ts → cjs/client/erc20/FabricERC20ClientRepository.cjs} +139 -30
  30. package/lib/cjs/client/erc20/FabricERC20ClientRepository.js.map +1 -0
  31. package/lib/{client → cjs/client}/erc20/index.cjs +1 -1
  32. package/lib/cjs/client/erc20/index.js.map +1 -0
  33. package/lib/cjs/client/fabric-fs.cjs +234 -0
  34. package/lib/cjs/client/fabric-fs.js.map +1 -0
  35. package/lib/cjs/client/fabric-hsm.cjs +165 -0
  36. package/lib/cjs/client/fabric-hsm.js.map +1 -0
  37. package/lib/cjs/client/ids/id-extraction.cjs +30 -0
  38. package/lib/cjs/client/ids/id-extraction.js.map +1 -0
  39. package/lib/{client → cjs/client}/ids/index.cjs +1 -1
  40. package/lib/cjs/client/ids/index.js.map +1 -0
  41. package/lib/{client → cjs/client}/index.cjs +1 -1
  42. package/lib/cjs/client/index.js.map +1 -0
  43. package/lib/cjs/client/indexes/generation.cjs +95 -0
  44. package/lib/cjs/client/indexes/generation.js.map +1 -0
  45. package/lib/{client/collections → cjs/client/indexes}/index.cjs +1 -1
  46. package/lib/cjs/client/indexes/index.js.map +1 -0
  47. package/lib/{esm/client/logging.d.ts → cjs/client/logging.cjs} +51 -9
  48. package/lib/cjs/client/logging.js.map +1 -0
  49. package/lib/cjs/client/services/FabricEnrollmentService.cjs +363 -0
  50. package/lib/cjs/client/services/FabricEnrollmentService.js.map +1 -0
  51. package/lib/cjs/client/services/FabricIdentityService.cjs +324 -0
  52. package/lib/cjs/client/services/FabricIdentityService.js.map +1 -0
  53. package/lib/cjs/client/services/RegistrationRequestBuilder.cjs +91 -0
  54. package/lib/cjs/client/services/RegistrationRequestBuilder.js.map +1 -0
  55. package/lib/{esm/client/services/constants.d.ts → cjs/client/services/constants.cjs} +10 -5
  56. package/lib/cjs/client/services/constants.js.map +1 -0
  57. package/lib/cjs/client/services/index.cjs +21 -0
  58. package/lib/cjs/client/services/index.js.map +1 -0
  59. package/lib/cjs/client/types.cjs +3 -0
  60. package/lib/cjs/client/types.js.map +1 -0
  61. package/lib/cjs/client/utils.cjs +262 -0
  62. package/lib/cjs/client/utils.js.map +1 -0
  63. package/lib/{contract → cjs/contract}/Address.cjs +1 -1
  64. package/lib/cjs/contract/Address.js.map +1 -0
  65. package/lib/{contract → cjs/contract}/AddressContract.cjs +1 -1
  66. package/lib/cjs/contract/AddressContract.js.map +1 -0
  67. package/lib/{contract → cjs/contract}/AuditContract.cjs +1 -1
  68. package/lib/cjs/contract/AuditContract.js.map +1 -0
  69. package/lib/{contract → cjs/contract}/BatchContract.cjs +1 -1
  70. package/lib/cjs/contract/BatchContract.js.map +1 -0
  71. package/lib/{contract → cjs/contract}/MarketContract.cjs +1 -1
  72. package/lib/cjs/contract/MarketContract.js.map +1 -0
  73. package/lib/{contract → cjs/contract}/OtherAuditContract.cjs +1 -1
  74. package/lib/cjs/contract/OtherAuditContract.js.map +1 -0
  75. package/lib/{contract → cjs/contract}/OtherBatchContract.cjs +1 -1
  76. package/lib/cjs/contract/OtherBatchContract.js.map +1 -0
  77. package/lib/{contract → cjs/contract}/OtherMarketContract.cjs +1 -1
  78. package/lib/cjs/contract/OtherMarketContract.js.map +1 -0
  79. package/lib/{contract → cjs/contract}/OtherProductContract.cjs +1 -1
  80. package/lib/cjs/contract/OtherProductContract.js.map +1 -0
  81. package/lib/{contract → cjs/contract}/OtherProductImageContract.cjs +1 -1
  82. package/lib/cjs/contract/OtherProductImageContract.js.map +1 -0
  83. package/lib/{contract → cjs/contract}/OtherProductSharedContract.cjs +1 -1
  84. package/lib/cjs/contract/OtherProductSharedContract.js.map +1 -0
  85. package/lib/{contract → cjs/contract}/OtherProductStrengthContract.cjs +1 -1
  86. package/lib/cjs/contract/OtherProductStrengthContract.js.map +1 -0
  87. package/lib/{contract → cjs/contract}/Product.cjs +1 -1
  88. package/lib/cjs/contract/Product.js.map +1 -0
  89. package/lib/{contract → cjs/contract}/ProductContract.cjs +1 -1
  90. package/lib/cjs/contract/ProductContract.js.map +1 -0
  91. package/lib/{contract → cjs/contract}/ProductStrengthContract.cjs +1 -1
  92. package/lib/cjs/contract/ProductStrengthContract.js.map +1 -0
  93. package/lib/{contract → cjs/contract}/SegregatedPrivateDocumentContract.cjs +1 -1
  94. package/lib/cjs/contract/SegregatedPrivateDocumentContract.js.map +1 -0
  95. package/lib/{contract → cjs/contract}/SegregatedSharedDocumentContract.cjs +1 -1
  96. package/lib/cjs/contract/SegregatedSharedDocumentContract.js.map +1 -0
  97. package/lib/{contract → cjs/contract}/User.cjs +1 -1
  98. package/lib/cjs/contract/User.js.map +1 -0
  99. package/lib/{contract → cjs/contract}/UserContract.cjs +1 -1
  100. package/lib/cjs/contract/UserContract.js.map +1 -0
  101. package/lib/cjs/contract/index.cjs +36 -0
  102. package/lib/cjs/contract/index.js.map +1 -0
  103. package/lib/cjs/contract/logging-context.cjs +77 -0
  104. package/lib/cjs/contract/logging-context.js.map +1 -0
  105. package/lib/cjs/contract/models/Audit.cjs +106 -0
  106. package/lib/cjs/contract/models/Audit.js.map +1 -0
  107. package/lib/{contract → cjs/contract}/models/BaseIdentifiedModel.cjs +1 -1
  108. package/lib/cjs/contract/models/BaseIdentifiedModel.js.map +1 -0
  109. package/lib/{contract → cjs/contract}/models/BaseModel.cjs +1 -1
  110. package/lib/cjs/contract/models/BaseModel.js.map +1 -0
  111. package/lib/cjs/contract/models/Batch.cjs +174 -0
  112. package/lib/cjs/contract/models/Batch.js.map +1 -0
  113. package/lib/cjs/contract/models/GtinOwner.cjs +59 -0
  114. package/lib/cjs/contract/models/GtinOwner.js.map +1 -0
  115. package/lib/cjs/contract/models/History.cjs +75 -0
  116. package/lib/cjs/contract/models/History.js.map +1 -0
  117. package/lib/cjs/contract/models/Leaflet.cjs +95 -0
  118. package/lib/cjs/contract/models/Leaflet.js.map +1 -0
  119. package/lib/cjs/contract/models/LeafletFile.cjs +58 -0
  120. package/lib/cjs/contract/models/LeafletFile.js.map +1 -0
  121. package/lib/cjs/contract/models/Market.cjs +75 -0
  122. package/lib/cjs/contract/models/Market.js.map +1 -0
  123. package/lib/cjs/contract/models/OtherAudit.cjs +118 -0
  124. package/lib/cjs/contract/models/OtherAudit.js.map +1 -0
  125. package/lib/cjs/contract/models/OtherBatchShared.cjs +127 -0
  126. package/lib/cjs/contract/models/OtherBatchShared.js.map +1 -0
  127. package/lib/cjs/contract/models/OtherLeaflet.cjs +115 -0
  128. package/lib/cjs/contract/models/OtherLeaflet.js.map +1 -0
  129. package/lib/cjs/contract/models/OtherLeafletFile.cjs +65 -0
  130. package/lib/cjs/contract/models/OtherLeafletFile.js.map +1 -0
  131. package/lib/cjs/contract/models/OtherMarket.cjs +84 -0
  132. package/lib/cjs/contract/models/OtherMarket.js.map +1 -0
  133. package/lib/cjs/contract/models/OtherProduct.cjs +77 -0
  134. package/lib/cjs/contract/models/OtherProduct.js.map +1 -0
  135. package/lib/cjs/contract/models/OtherProductImage.cjs +59 -0
  136. package/lib/cjs/contract/models/OtherProductImage.js.map +1 -0
  137. package/lib/cjs/contract/models/OtherProductShared.cjs +99 -0
  138. package/lib/cjs/contract/models/OtherProductShared.js.map +1 -0
  139. package/lib/cjs/contract/models/OtherProductStrength.cjs +87 -0
  140. package/lib/cjs/contract/models/OtherProductStrength.js.map +1 -0
  141. package/lib/cjs/contract/models/Product.cjs +78 -0
  142. package/lib/cjs/contract/models/Product.js.map +1 -0
  143. package/lib/cjs/contract/models/ProductStrength.cjs +78 -0
  144. package/lib/cjs/contract/models/ProductStrength.js.map +1 -0
  145. package/lib/{contract → cjs/contract}/models/SegregatedDocument.cjs +1 -1
  146. package/lib/cjs/contract/models/SegregatedDocument.js.map +1 -0
  147. package/lib/cjs/contract/models/constants.cjs +30 -0
  148. package/lib/cjs/contract/models/constants.js.map +1 -0
  149. package/lib/cjs/contract/models/decorators-private.cjs +158 -0
  150. package/lib/cjs/contract/models/decorators-private.js.map +1 -0
  151. package/lib/cjs/contract/models/decorators.cjs +182 -0
  152. package/lib/cjs/contract/models/decorators.js.map +1 -0
  153. package/lib/cjs/contract/models/gtin.cjs +88 -0
  154. package/lib/cjs/contract/models/gtin.js.map +1 -0
  155. package/lib/cjs/contract/models/history-dec.cjs +83 -0
  156. package/lib/cjs/contract/models/history-dec.js.map +1 -0
  157. package/lib/cjs/contracts/ContractAdapter.cjs +1193 -0
  158. package/lib/cjs/contracts/ContractAdapter.js.map +1 -0
  159. package/lib/cjs/contracts/ContractContext.cjs +157 -0
  160. package/lib/cjs/contracts/ContractContext.js.map +1 -0
  161. package/lib/cjs/contracts/FabricContractDispatch.cjs +79 -0
  162. package/lib/cjs/contracts/FabricContractDispatch.js.map +1 -0
  163. package/lib/{esm/contracts/FabricContractPaginator.d.ts → cjs/contracts/FabricContractPaginator.cjs} +77 -9
  164. package/lib/cjs/contracts/FabricContractPaginator.js.map +1 -0
  165. package/lib/cjs/contracts/FabricContractRepository.cjs +322 -0
  166. package/lib/cjs/contracts/FabricContractRepository.js.map +1 -0
  167. package/lib/{esm/contracts/FabricContractRepositoryObservableHandler.d.ts → cjs/contracts/FabricContractRepositoryObservableHandler.cjs} +42 -8
  168. package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.js.map +1 -0
  169. package/lib/cjs/contracts/FabricContractSequence.cjs +338 -0
  170. package/lib/cjs/contracts/FabricContractSequence.js.map +1 -0
  171. package/lib/cjs/contracts/FabricContractStatement.cjs +180 -0
  172. package/lib/cjs/contracts/FabricContractStatement.js.map +1 -0
  173. package/lib/cjs/contracts/MigrationContract.cjs +147 -0
  174. package/lib/cjs/contracts/MigrationContract.js.map +1 -0
  175. package/lib/{contracts → cjs/contracts}/PrivateSequence.cjs +1 -1
  176. package/lib/cjs/contracts/PrivateSequence.js.map +1 -0
  177. package/lib/cjs/contracts/auth/decorators.cjs +84 -0
  178. package/lib/cjs/contracts/auth/decorators.js.map +1 -0
  179. package/lib/{contracts → cjs/contracts}/auth/index.cjs +1 -1
  180. package/lib/cjs/contracts/auth/index.js.map +1 -0
  181. package/lib/cjs/contracts/crud/crud-contract.cjs +416 -0
  182. package/lib/cjs/contracts/crud/crud-contract.js.map +1 -0
  183. package/lib/{contracts → cjs/contracts}/crud/index.cjs +1 -1
  184. package/lib/cjs/contracts/crud/index.js.map +1 -0
  185. package/lib/cjs/contracts/crud/serialized-crud-contract.cjs +284 -0
  186. package/lib/cjs/contracts/crud/serialized-crud-contract.js.map +1 -0
  187. package/lib/cjs/contracts/erc20/erc20contract.cjs +581 -0
  188. package/lib/cjs/contracts/erc20/erc20contract.js.map +1 -0
  189. package/lib/cjs/contracts/erc20/index.cjs +21 -0
  190. package/lib/cjs/contracts/erc20/index.js.map +1 -0
  191. package/lib/cjs/contracts/erc20/models.cjs +209 -0
  192. package/lib/cjs/contracts/erc20/models.js.map +1 -0
  193. package/lib/{contracts → cjs/contracts}/index.cjs +1 -1
  194. package/lib/cjs/contracts/index.js.map +1 -0
  195. package/lib/cjs/contracts/logging.cjs +118 -0
  196. package/lib/cjs/contracts/logging.js.map +1 -0
  197. package/lib/cjs/contracts/overrides.cjs +8 -0
  198. package/lib/cjs/contracts/overrides.js.map +1 -0
  199. package/lib/cjs/contracts/types.cjs +3 -0
  200. package/lib/cjs/contracts/types.js.map +1 -0
  201. package/lib/cjs/contracts/uuid.cjs +75 -0
  202. package/lib/cjs/contracts/uuid.js.map +1 -0
  203. package/lib/{index.cjs → cjs/index.cjs} +1 -1
  204. package/lib/cjs/index.js.map +1 -0
  205. package/lib/{shared/ClientSerializer.d.ts → cjs/shared/ClientSerializer.cjs} +35 -6
  206. package/lib/cjs/shared/ClientSerializer.js.map +1 -0
  207. package/lib/cjs/shared/DeterministicSerializer.cjs +106 -0
  208. package/lib/cjs/shared/DeterministicSerializer.js.map +1 -0
  209. package/lib/cjs/shared/SimpleDeterministicSerializer.cjs +69 -0
  210. package/lib/cjs/shared/SimpleDeterministicSerializer.js.map +1 -0
  211. package/lib/{shared/constants.d.ts → cjs/shared/constants.cjs} +18 -12
  212. package/lib/cjs/shared/constants.js.map +1 -0
  213. package/lib/cjs/shared/decorators.cjs +595 -0
  214. package/lib/cjs/shared/decorators.js.map +1 -0
  215. package/lib/{shared/erc20/erc20-constants.d.ts → cjs/shared/erc20/erc20-constants.cjs} +9 -4
  216. package/lib/cjs/shared/erc20/erc20-constants.js.map +1 -0
  217. package/lib/{shared → cjs/shared}/erc20/index.cjs +1 -1
  218. package/lib/cjs/shared/erc20/index.js.map +1 -0
  219. package/lib/cjs/shared/errors.cjs +190 -0
  220. package/lib/cjs/shared/errors.js.map +1 -0
  221. package/lib/{shared/events.d.ts → cjs/shared/events.cjs} +21 -7
  222. package/lib/cjs/shared/events.js.map +1 -0
  223. package/lib/cjs/shared/fabric-types.cjs +3 -0
  224. package/lib/cjs/shared/fabric-types.js.map +1 -0
  225. package/lib/{shared → cjs/shared}/index.cjs +1 -1
  226. package/lib/cjs/shared/index.js.map +1 -0
  227. package/lib/cjs/shared/interfaces/Checkable.cjs +3 -0
  228. package/lib/cjs/shared/interfaces/Checkable.js.map +1 -0
  229. package/lib/{shared → cjs/shared}/interfaces/index.cjs +1 -1
  230. package/lib/cjs/shared/interfaces/index.js.map +1 -0
  231. package/lib/cjs/shared/math.cjs +66 -0
  232. package/lib/cjs/shared/math.js.map +1 -0
  233. package/lib/{shared → cjs/shared}/model/FabricBaseModel.cjs +1 -1
  234. package/lib/cjs/shared/model/FabricBaseModel.js.map +1 -0
  235. package/lib/{shared → cjs/shared}/model/FabricIdentifiedBaseModel.cjs +1 -1
  236. package/lib/cjs/shared/model/FabricIdentifiedBaseModel.js.map +1 -0
  237. package/lib/cjs/shared/model/Identity.cjs +71 -0
  238. package/lib/cjs/shared/model/Identity.js.map +1 -0
  239. package/lib/cjs/shared/model/IdentityCredentials.cjs +66 -0
  240. package/lib/cjs/shared/model/IdentityCredentials.js.map +1 -0
  241. package/lib/cjs/shared/model/index.cjs +21 -0
  242. package/lib/cjs/shared/model/index.js.map +1 -0
  243. package/lib/cjs/shared/overrides/Model.cjs +4 -0
  244. package/lib/cjs/shared/overrides/Model.js.map +1 -0
  245. package/lib/{shared → cjs/shared}/overrides/index.cjs +1 -1
  246. package/lib/cjs/shared/overrides/index.js.map +1 -0
  247. package/lib/cjs/shared/overrides/overrides.cjs +93 -0
  248. package/lib/cjs/shared/overrides/overrides.js.map +1 -0
  249. package/lib/cjs/shared/types.cjs +3 -0
  250. package/lib/cjs/shared/types.js.map +1 -0
  251. package/lib/cjs/version.cjs +8 -0
  252. package/lib/cjs/version.js.map +1 -0
  253. package/lib/esm/bin/cli.js +1 -1
  254. package/lib/esm/bin/cli.js.map +1 -0
  255. package/lib/esm/cli-module.js +1 -1
  256. package/lib/esm/cli-module.js.map +1 -0
  257. package/lib/esm/cli-utils.js +1 -1
  258. package/lib/esm/cli-utils.js.map +1 -0
  259. package/lib/esm/client/FabricClientAdapter.js +1 -1
  260. package/lib/esm/client/FabricClientAdapter.js.map +1 -0
  261. package/lib/esm/client/FabricClientDispatch.js +1 -1
  262. package/lib/esm/client/FabricClientDispatch.js.map +1 -0
  263. package/lib/esm/client/FabricClientPaginator.js +1 -1
  264. package/lib/esm/client/FabricClientPaginator.js.map +1 -0
  265. package/lib/esm/client/FabricClientRepository.js +1 -1
  266. package/lib/esm/client/FabricClientRepository.js.map +1 -0
  267. package/lib/esm/client/FabricClientStatement.js +1 -1
  268. package/lib/esm/client/FabricClientStatement.js.map +1 -0
  269. package/lib/esm/client/collections/generation.js +1 -1
  270. package/lib/esm/client/collections/generation.js.map +1 -0
  271. package/lib/esm/client/collections/index.js +1 -1
  272. package/lib/esm/client/collections/index.js.map +1 -0
  273. package/lib/esm/client/constants.js +1 -1
  274. package/lib/esm/client/constants.js.map +1 -0
  275. package/lib/esm/client/crypto.js +1 -1
  276. package/lib/esm/client/crypto.js.map +1 -0
  277. package/lib/esm/client/erc20/FabricERC20ClientRepository.js +1 -1
  278. package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +1 -0
  279. package/lib/esm/client/erc20/index.js +1 -1
  280. package/lib/esm/client/erc20/index.js.map +1 -0
  281. package/lib/esm/client/fabric-fs.js +1 -1
  282. package/lib/esm/client/fabric-fs.js.map +1 -0
  283. package/lib/esm/client/fabric-hsm.js +1 -1
  284. package/lib/esm/client/fabric-hsm.js.map +1 -0
  285. package/lib/esm/client/ids/id-extraction.js +1 -1
  286. package/lib/esm/client/ids/id-extraction.js.map +1 -0
  287. package/lib/esm/client/ids/index.js +1 -1
  288. package/lib/esm/client/ids/index.js.map +1 -0
  289. package/lib/esm/client/index.js +1 -1
  290. package/lib/esm/client/index.js.map +1 -0
  291. package/lib/esm/client/indexes/generation.js +1 -1
  292. package/lib/esm/client/indexes/generation.js.map +1 -0
  293. package/lib/esm/client/indexes/index.js +1 -1
  294. package/lib/esm/client/indexes/index.js.map +1 -0
  295. package/lib/esm/client/logging.js +1 -1
  296. package/lib/esm/client/logging.js.map +1 -0
  297. package/lib/esm/client/services/FabricEnrollmentService.js +1 -1
  298. package/lib/esm/client/services/FabricEnrollmentService.js.map +1 -0
  299. package/lib/esm/client/services/FabricIdentityService.js +1 -1
  300. package/lib/esm/client/services/FabricIdentityService.js.map +1 -0
  301. package/lib/esm/client/services/RegistrationRequestBuilder.js +1 -1
  302. package/lib/esm/client/services/RegistrationRequestBuilder.js.map +1 -0
  303. package/lib/esm/client/services/constants.js +1 -1
  304. package/lib/esm/client/services/constants.js.map +1 -0
  305. package/lib/esm/client/services/index.js +1 -1
  306. package/lib/esm/client/services/index.js.map +1 -0
  307. package/lib/esm/client/types.js +1 -1
  308. package/lib/esm/client/types.js.map +1 -0
  309. package/lib/esm/client/utils.js +1 -1
  310. package/lib/esm/client/utils.js.map +1 -0
  311. package/lib/esm/contract/Address.js +1 -1
  312. package/lib/esm/contract/Address.js.map +1 -0
  313. package/lib/esm/contract/AddressContract.js +1 -1
  314. package/lib/esm/contract/AddressContract.js.map +1 -0
  315. package/lib/esm/contract/AuditContract.js +1 -1
  316. package/lib/esm/contract/AuditContract.js.map +1 -0
  317. package/lib/esm/contract/BatchContract.js +1 -1
  318. package/lib/esm/contract/BatchContract.js.map +1 -0
  319. package/lib/esm/contract/MarketContract.js +1 -1
  320. package/lib/esm/contract/MarketContract.js.map +1 -0
  321. package/lib/esm/contract/OtherAuditContract.js +1 -1
  322. package/lib/esm/contract/OtherAuditContract.js.map +1 -0
  323. package/lib/esm/contract/OtherBatchContract.js +1 -1
  324. package/lib/esm/contract/OtherBatchContract.js.map +1 -0
  325. package/lib/esm/contract/OtherMarketContract.js +1 -1
  326. package/lib/esm/contract/OtherMarketContract.js.map +1 -0
  327. package/lib/esm/contract/OtherProductContract.js +1 -1
  328. package/lib/esm/contract/OtherProductContract.js.map +1 -0
  329. package/lib/esm/contract/OtherProductImageContract.js +1 -1
  330. package/lib/esm/contract/OtherProductImageContract.js.map +1 -0
  331. package/lib/esm/contract/OtherProductSharedContract.js +1 -1
  332. package/lib/esm/contract/OtherProductSharedContract.js.map +1 -0
  333. package/lib/esm/contract/OtherProductStrengthContract.js +1 -1
  334. package/lib/esm/contract/OtherProductStrengthContract.js.map +1 -0
  335. package/lib/esm/contract/Product.js +1 -1
  336. package/lib/esm/contract/Product.js.map +1 -0
  337. package/lib/esm/contract/ProductContract.js +1 -1
  338. package/lib/esm/contract/ProductContract.js.map +1 -0
  339. package/lib/esm/contract/ProductStrengthContract.js +1 -1
  340. package/lib/esm/contract/ProductStrengthContract.js.map +1 -0
  341. package/lib/esm/contract/SegregatedPrivateDocumentContract.js +1 -1
  342. package/lib/esm/contract/SegregatedPrivateDocumentContract.js.map +1 -0
  343. package/lib/esm/contract/SegregatedSharedDocumentContract.js +1 -1
  344. package/lib/esm/contract/SegregatedSharedDocumentContract.js.map +1 -0
  345. package/lib/esm/contract/User.js +1 -1
  346. package/lib/esm/contract/User.js.map +1 -0
  347. package/lib/esm/contract/UserContract.js +1 -1
  348. package/lib/esm/contract/UserContract.js.map +1 -0
  349. package/lib/esm/contract/index.js +1 -1
  350. package/lib/esm/contract/index.js.map +1 -0
  351. package/lib/esm/contract/logging-context.js +1 -1
  352. package/lib/esm/contract/logging-context.js.map +1 -0
  353. package/lib/esm/contract/models/Audit.js +1 -1
  354. package/lib/esm/contract/models/Audit.js.map +1 -0
  355. package/lib/esm/contract/models/BaseIdentifiedModel.js +1 -1
  356. package/lib/esm/contract/models/BaseIdentifiedModel.js.map +1 -0
  357. package/lib/esm/contract/models/BaseModel.js +1 -1
  358. package/lib/esm/contract/models/BaseModel.js.map +1 -0
  359. package/lib/esm/contract/models/Batch.js +1 -1
  360. package/lib/esm/contract/models/Batch.js.map +1 -0
  361. package/lib/esm/contract/models/GtinOwner.js +1 -1
  362. package/lib/esm/contract/models/GtinOwner.js.map +1 -0
  363. package/lib/esm/contract/models/History.js +1 -1
  364. package/lib/esm/contract/models/History.js.map +1 -0
  365. package/lib/esm/contract/models/Leaflet.js +1 -1
  366. package/lib/esm/contract/models/Leaflet.js.map +1 -0
  367. package/lib/esm/contract/models/LeafletFile.js +1 -1
  368. package/lib/esm/contract/models/LeafletFile.js.map +1 -0
  369. package/lib/esm/contract/models/Market.js +1 -1
  370. package/lib/esm/contract/models/Market.js.map +1 -0
  371. package/lib/esm/contract/models/OtherAudit.js +1 -1
  372. package/lib/esm/contract/models/OtherAudit.js.map +1 -0
  373. package/lib/esm/contract/models/OtherBatchShared.js +1 -1
  374. package/lib/esm/contract/models/OtherBatchShared.js.map +1 -0
  375. package/lib/esm/contract/models/OtherLeaflet.js +1 -1
  376. package/lib/esm/contract/models/OtherLeaflet.js.map +1 -0
  377. package/lib/esm/contract/models/OtherLeafletFile.js +1 -1
  378. package/lib/esm/contract/models/OtherLeafletFile.js.map +1 -0
  379. package/lib/esm/contract/models/OtherMarket.js +1 -1
  380. package/lib/esm/contract/models/OtherMarket.js.map +1 -0
  381. package/lib/esm/contract/models/OtherProduct.js +1 -1
  382. package/lib/esm/contract/models/OtherProduct.js.map +1 -0
  383. package/lib/esm/contract/models/OtherProductImage.js +1 -1
  384. package/lib/esm/contract/models/OtherProductImage.js.map +1 -0
  385. package/lib/esm/contract/models/OtherProductShared.js +1 -1
  386. package/lib/esm/contract/models/OtherProductShared.js.map +1 -0
  387. package/lib/esm/contract/models/OtherProductStrength.js +1 -1
  388. package/lib/esm/contract/models/OtherProductStrength.js.map +1 -0
  389. package/lib/esm/contract/models/Product.js +1 -1
  390. package/lib/esm/contract/models/Product.js.map +1 -0
  391. package/lib/esm/contract/models/ProductStrength.js +1 -1
  392. package/lib/esm/contract/models/ProductStrength.js.map +1 -0
  393. package/lib/esm/contract/models/SegregatedDocument.js +1 -1
  394. package/lib/esm/contract/models/SegregatedDocument.js.map +1 -0
  395. package/lib/esm/contract/models/constants.js +1 -1
  396. package/lib/esm/contract/models/constants.js.map +1 -0
  397. package/lib/esm/contract/models/decorators-private.js +1 -1
  398. package/lib/esm/contract/models/decorators-private.js.map +1 -0
  399. package/lib/esm/contract/models/decorators.js +1 -1
  400. package/lib/esm/contract/models/decorators.js.map +1 -0
  401. package/lib/esm/contract/models/gtin.js +1 -1
  402. package/lib/esm/contract/models/gtin.js.map +1 -0
  403. package/lib/esm/contract/models/history-dec.js +1 -1
  404. package/lib/esm/contract/models/history-dec.js.map +1 -0
  405. package/lib/esm/contracts/ContractAdapter.js +1 -1
  406. package/lib/esm/contracts/ContractAdapter.js.map +1 -0
  407. package/lib/esm/contracts/ContractContext.js +1 -1
  408. package/lib/esm/contracts/ContractContext.js.map +1 -0
  409. package/lib/esm/contracts/FabricContractDispatch.js +1 -1
  410. package/lib/esm/contracts/FabricContractDispatch.js.map +1 -0
  411. package/lib/esm/contracts/FabricContractPaginator.js +1 -1
  412. package/lib/esm/contracts/FabricContractPaginator.js.map +1 -0
  413. package/lib/esm/contracts/FabricContractRepository.js +1 -1
  414. package/lib/esm/contracts/FabricContractRepository.js.map +1 -0
  415. package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js +1 -1
  416. package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js.map +1 -0
  417. package/lib/esm/contracts/FabricContractSequence.js +1 -1
  418. package/lib/esm/contracts/FabricContractSequence.js.map +1 -0
  419. package/lib/esm/contracts/FabricContractStatement.js +1 -1
  420. package/lib/esm/contracts/FabricContractStatement.js.map +1 -0
  421. package/lib/esm/contracts/MigrationContract.js +1 -1
  422. package/lib/esm/contracts/MigrationContract.js.map +1 -0
  423. package/lib/esm/contracts/PrivateSequence.js +1 -1
  424. package/lib/esm/contracts/PrivateSequence.js.map +1 -0
  425. package/lib/esm/contracts/auth/decorators.js +1 -1
  426. package/lib/esm/contracts/auth/decorators.js.map +1 -0
  427. package/lib/esm/contracts/auth/index.js +1 -1
  428. package/lib/esm/contracts/auth/index.js.map +1 -0
  429. package/lib/esm/contracts/crud/crud-contract.js +1 -1
  430. package/lib/esm/contracts/crud/crud-contract.js.map +1 -0
  431. package/lib/esm/contracts/crud/index.js +1 -1
  432. package/lib/esm/contracts/crud/index.js.map +1 -0
  433. package/lib/esm/contracts/crud/serialized-crud-contract.js +1 -1
  434. package/lib/esm/contracts/crud/serialized-crud-contract.js.map +1 -0
  435. package/lib/esm/contracts/erc20/erc20contract.js +1 -1
  436. package/lib/esm/contracts/erc20/erc20contract.js.map +1 -0
  437. package/lib/esm/contracts/erc20/index.js +1 -1
  438. package/lib/esm/contracts/erc20/index.js.map +1 -0
  439. package/lib/esm/contracts/erc20/models.js +1 -1
  440. package/lib/esm/contracts/erc20/models.js.map +1 -0
  441. package/lib/esm/contracts/index.js +1 -1
  442. package/lib/esm/contracts/index.js.map +1 -0
  443. package/lib/esm/contracts/logging.js +1 -1
  444. package/lib/esm/contracts/logging.js.map +1 -0
  445. package/lib/esm/contracts/overrides.js +1 -1
  446. package/lib/esm/contracts/overrides.js.map +1 -0
  447. package/lib/esm/contracts/types.js +1 -1
  448. package/lib/esm/contracts/types.js.map +1 -0
  449. package/lib/esm/contracts/uuid.js +1 -1
  450. package/lib/esm/contracts/uuid.js.map +1 -0
  451. package/lib/esm/index.js +1 -1
  452. package/lib/esm/index.js.map +1 -0
  453. package/lib/esm/shared/ClientSerializer.js +1 -1
  454. package/lib/esm/shared/ClientSerializer.js.map +1 -0
  455. package/lib/esm/shared/DeterministicSerializer.js +1 -1
  456. package/lib/esm/shared/DeterministicSerializer.js.map +1 -0
  457. package/lib/esm/shared/SimpleDeterministicSerializer.js +1 -1
  458. package/lib/esm/shared/SimpleDeterministicSerializer.js.map +1 -0
  459. package/lib/esm/shared/constants.js +1 -1
  460. package/lib/esm/shared/constants.js.map +1 -0
  461. package/lib/esm/shared/decorators.js +1 -1
  462. package/lib/esm/shared/decorators.js.map +1 -0
  463. package/lib/esm/shared/erc20/erc20-constants.js +1 -1
  464. package/lib/esm/shared/erc20/erc20-constants.js.map +1 -0
  465. package/lib/esm/shared/erc20/index.js +1 -1
  466. package/lib/esm/shared/erc20/index.js.map +1 -0
  467. package/lib/esm/shared/errors.js +1 -1
  468. package/lib/esm/shared/errors.js.map +1 -0
  469. package/lib/esm/shared/events.js +1 -1
  470. package/lib/esm/shared/events.js.map +1 -0
  471. package/lib/esm/shared/fabric-types.js +1 -1
  472. package/lib/esm/shared/fabric-types.js.map +1 -0
  473. package/lib/esm/shared/index.js +1 -1
  474. package/lib/esm/shared/index.js.map +1 -0
  475. package/lib/esm/shared/interfaces/Checkable.js +1 -1
  476. package/lib/esm/shared/interfaces/Checkable.js.map +1 -0
  477. package/lib/esm/shared/interfaces/index.js +1 -1
  478. package/lib/esm/shared/interfaces/index.js.map +1 -0
  479. package/lib/esm/shared/math.js +1 -1
  480. package/lib/esm/shared/math.js.map +1 -0
  481. package/lib/esm/shared/model/FabricBaseModel.js +1 -1
  482. package/lib/esm/shared/model/FabricBaseModel.js.map +1 -0
  483. package/lib/esm/shared/model/FabricIdentifiedBaseModel.js +1 -1
  484. package/lib/esm/shared/model/FabricIdentifiedBaseModel.js.map +1 -0
  485. package/lib/esm/shared/model/Identity.js +1 -1
  486. package/lib/esm/shared/model/Identity.js.map +1 -0
  487. package/lib/esm/shared/model/IdentityCredentials.js +1 -1
  488. package/lib/esm/shared/model/IdentityCredentials.js.map +1 -0
  489. package/lib/esm/shared/model/index.js +1 -1
  490. package/lib/esm/shared/model/index.js.map +1 -0
  491. package/lib/esm/shared/overrides/Model.js +1 -1
  492. package/lib/esm/shared/overrides/Model.js.map +1 -0
  493. package/lib/esm/shared/overrides/index.js +1 -1
  494. package/lib/esm/shared/overrides/index.js.map +1 -0
  495. package/lib/esm/shared/overrides/overrides.js +1 -1
  496. package/lib/esm/shared/overrides/overrides.js.map +1 -0
  497. package/lib/esm/shared/types.js +1 -1
  498. package/lib/esm/shared/types.js.map +1 -0
  499. package/lib/esm/version.js +2 -2
  500. package/lib/esm/version.js.map +1 -0
  501. package/lib/{esm → types}/version.d.ts +1 -1
  502. package/package.json +22 -18
  503. package/lib/bin/cli.cjs +0 -9
  504. package/lib/cli-module.cjs +0 -479
  505. package/lib/cli-utils.cjs +0 -309
  506. package/lib/client/FabricClientAdapter.cjs +0 -1362
  507. package/lib/client/FabricClientDispatch.cjs +0 -290
  508. package/lib/client/FabricClientPaginator.cjs +0 -21
  509. package/lib/client/FabricClientRepository.cjs +0 -259
  510. package/lib/client/FabricClientStatement.cjs +0 -451
  511. package/lib/client/collections/generation.cjs +0 -113
  512. package/lib/client/constants.cjs +0 -16
  513. package/lib/client/crypto.cjs +0 -368
  514. package/lib/client/erc20/FabricERC20ClientRepository.cjs +0 -363
  515. package/lib/client/fabric-fs.cjs +0 -234
  516. package/lib/client/fabric-hsm.cjs +0 -165
  517. package/lib/client/ids/id-extraction.cjs +0 -30
  518. package/lib/client/indexes/generation.cjs +0 -95
  519. package/lib/client/logging.cjs +0 -102
  520. package/lib/client/services/FabricEnrollmentService.cjs +0 -363
  521. package/lib/client/services/FabricIdentityService.cjs +0 -324
  522. package/lib/client/services/RegistrationRequestBuilder.cjs +0 -91
  523. package/lib/client/services/constants.cjs +0 -20
  524. package/lib/client/services/index.cjs +0 -21
  525. package/lib/client/types.cjs +0 -3
  526. package/lib/client/utils.cjs +0 -262
  527. package/lib/contract/index.cjs +0 -36
  528. package/lib/contract/logging-context.cjs +0 -77
  529. package/lib/contract/models/Audit.cjs +0 -106
  530. package/lib/contract/models/Batch.cjs +0 -174
  531. package/lib/contract/models/GtinOwner.cjs +0 -59
  532. package/lib/contract/models/History.cjs +0 -75
  533. package/lib/contract/models/Leaflet.cjs +0 -95
  534. package/lib/contract/models/LeafletFile.cjs +0 -58
  535. package/lib/contract/models/Market.cjs +0 -75
  536. package/lib/contract/models/OtherAudit.cjs +0 -118
  537. package/lib/contract/models/OtherBatchShared.cjs +0 -127
  538. package/lib/contract/models/OtherLeaflet.cjs +0 -115
  539. package/lib/contract/models/OtherLeafletFile.cjs +0 -65
  540. package/lib/contract/models/OtherMarket.cjs +0 -84
  541. package/lib/contract/models/OtherProduct.cjs +0 -77
  542. package/lib/contract/models/OtherProductImage.cjs +0 -59
  543. package/lib/contract/models/OtherProductShared.cjs +0 -99
  544. package/lib/contract/models/OtherProductStrength.cjs +0 -87
  545. package/lib/contract/models/Product.cjs +0 -78
  546. package/lib/contract/models/ProductStrength.cjs +0 -78
  547. package/lib/contract/models/constants.cjs +0 -30
  548. package/lib/contract/models/decorators-private.cjs +0 -158
  549. package/lib/contract/models/decorators.cjs +0 -182
  550. package/lib/contract/models/gtin.cjs +0 -88
  551. package/lib/contract/models/history-dec.cjs +0 -83
  552. package/lib/contracts/ContractAdapter.cjs +0 -1193
  553. package/lib/contracts/ContractContext.cjs +0 -157
  554. package/lib/contracts/FabricContractDispatch.cjs +0 -79
  555. package/lib/contracts/FabricContractPaginator.cjs +0 -173
  556. package/lib/contracts/FabricContractRepository.cjs +0 -322
  557. package/lib/contracts/FabricContractRepositoryObservableHandler.cjs +0 -96
  558. package/lib/contracts/FabricContractSequence.cjs +0 -338
  559. package/lib/contracts/FabricContractStatement.cjs +0 -180
  560. package/lib/contracts/MigrationContract.cjs +0 -147
  561. package/lib/contracts/auth/decorators.cjs +0 -84
  562. package/lib/contracts/crud/crud-contract.cjs +0 -416
  563. package/lib/contracts/crud/serialized-crud-contract.cjs +0 -284
  564. package/lib/contracts/erc20/erc20contract.cjs +0 -581
  565. package/lib/contracts/erc20/index.cjs +0 -21
  566. package/lib/contracts/erc20/models.cjs +0 -209
  567. package/lib/contracts/logging.cjs +0 -118
  568. package/lib/contracts/overrides.cjs +0 -8
  569. package/lib/contracts/types.cjs +0 -3
  570. package/lib/contracts/uuid.cjs +0 -75
  571. package/lib/esm/bin/cli.d.ts +0 -1
  572. package/lib/esm/cli-module.d.ts +0 -3
  573. package/lib/esm/cli-utils.d.ts +0 -21
  574. package/lib/esm/client/FabricClientAdapter.d.ts +0 -404
  575. package/lib/esm/client/FabricClientDispatch.d.ts +0 -133
  576. package/lib/esm/client/FabricClientPaginator.d.ts +0 -12
  577. package/lib/esm/client/FabricClientRepository.d.ts +0 -71
  578. package/lib/esm/client/FabricClientStatement.d.ts +0 -64
  579. package/lib/esm/client/collections/generation.d.ts +0 -46
  580. package/lib/esm/client/collections/index.d.ts +0 -1
  581. package/lib/esm/client/constants.d.ts +0 -2
  582. package/lib/esm/client/crypto.d.ts +0 -107
  583. package/lib/esm/client/erc20/index.d.ts +0 -1
  584. package/lib/esm/client/fabric-fs.d.ts +0 -92
  585. package/lib/esm/client/fabric-hsm.d.ts +0 -24
  586. package/lib/esm/client/ids/id-extraction.d.ts +0 -4
  587. package/lib/esm/client/ids/index.d.ts +0 -1
  588. package/lib/esm/client/index.d.ts +0 -23
  589. package/lib/esm/client/indexes/generation.d.ts +0 -10
  590. package/lib/esm/client/indexes/index.d.ts +0 -1
  591. package/lib/esm/client/services/FabricEnrollmentService.d.ts +0 -176
  592. package/lib/esm/client/services/FabricIdentityService.d.ts +0 -98
  593. package/lib/esm/client/services/RegistrationRequestBuilder.d.ts +0 -19
  594. package/lib/esm/client/services/index.d.ts +0 -4
  595. package/lib/esm/client/types.d.ts +0 -20
  596. package/lib/esm/client/utils.d.ts +0 -71
  597. package/lib/esm/contract/Address.d.ts +0 -13
  598. package/lib/esm/contract/AddressContract.d.ts +0 -5
  599. package/lib/esm/contract/AuditContract.d.ts +0 -5
  600. package/lib/esm/contract/BatchContract.d.ts +0 -5
  601. package/lib/esm/contract/MarketContract.d.ts +0 -5
  602. package/lib/esm/contract/OtherAuditContract.d.ts +0 -5
  603. package/lib/esm/contract/OtherBatchContract.d.ts +0 -5
  604. package/lib/esm/contract/OtherMarketContract.d.ts +0 -5
  605. package/lib/esm/contract/OtherProductContract.d.ts +0 -5
  606. package/lib/esm/contract/OtherProductImageContract.d.ts +0 -5
  607. package/lib/esm/contract/OtherProductSharedContract.d.ts +0 -5
  608. package/lib/esm/contract/OtherProductStrengthContract.d.ts +0 -5
  609. package/lib/esm/contract/Product.d.ts +0 -7
  610. package/lib/esm/contract/ProductContract.d.ts +0 -5
  611. package/lib/esm/contract/ProductStrengthContract.d.ts +0 -5
  612. package/lib/esm/contract/SegregatedPrivateDocumentContract.d.ts +0 -5
  613. package/lib/esm/contract/SegregatedSharedDocumentContract.d.ts +0 -5
  614. package/lib/esm/contract/User.d.ts +0 -7
  615. package/lib/esm/contract/UserContract.d.ts +0 -5
  616. package/lib/esm/contract/index.d.ts +0 -2
  617. package/lib/esm/contract/logging-context.d.ts +0 -8
  618. package/lib/esm/contract/models/Audit.d.ts +0 -13
  619. package/lib/esm/contract/models/BaseIdentifiedModel.d.ts +0 -7
  620. package/lib/esm/contract/models/BaseModel.d.ts +0 -7
  621. package/lib/esm/contract/models/Batch.d.ts +0 -18
  622. package/lib/esm/contract/models/GtinOwner.d.ts +0 -8
  623. package/lib/esm/contract/models/History.d.ts +0 -9
  624. package/lib/esm/contract/models/Leaflet.d.ts +0 -12
  625. package/lib/esm/contract/models/LeafletFile.d.ts +0 -9
  626. package/lib/esm/contract/models/Market.d.ts +0 -12
  627. package/lib/esm/contract/models/OtherAudit.d.ts +0 -15
  628. package/lib/esm/contract/models/OtherBatchShared.d.ts +0 -18
  629. package/lib/esm/contract/models/OtherLeaflet.d.ts +0 -16
  630. package/lib/esm/contract/models/OtherLeafletFile.d.ts +0 -10
  631. package/lib/esm/contract/models/OtherMarket.d.ts +0 -13
  632. package/lib/esm/contract/models/OtherProduct.d.ts +0 -12
  633. package/lib/esm/contract/models/OtherProductImage.d.ts +0 -9
  634. package/lib/esm/contract/models/OtherProductShared.d.ts +0 -18
  635. package/lib/esm/contract/models/OtherProductStrength.d.ts +0 -12
  636. package/lib/esm/contract/models/Product.d.ts +0 -15
  637. package/lib/esm/contract/models/ProductStrength.d.ts +0 -11
  638. package/lib/esm/contract/models/SegregatedDocument.d.ts +0 -18
  639. package/lib/esm/contract/models/constants.d.ts +0 -24
  640. package/lib/esm/contract/models/decorators-private.d.ts +0 -16
  641. package/lib/esm/contract/models/decorators.d.ts +0 -28
  642. package/lib/esm/contract/models/gtin.d.ts +0 -8
  643. package/lib/esm/contract/models/history-dec.d.ts +0 -6
  644. package/lib/esm/contracts/ContractAdapter.d.ts +0 -287
  645. package/lib/esm/contracts/ContractContext.d.ts +0 -89
  646. package/lib/esm/contracts/FabricContractDispatch.d.ts +0 -7
  647. package/lib/esm/contracts/FabricContractRepository.d.ts +0 -119
  648. package/lib/esm/contracts/FabricContractSequence.d.ts +0 -87
  649. package/lib/esm/contracts/FabricContractStatement.d.ts +0 -36
  650. package/lib/esm/contracts/MigrationContract.d.ts +0 -22
  651. package/lib/esm/contracts/PrivateSequence.d.ts +0 -15
  652. package/lib/esm/contracts/auth/decorators.d.ts +0 -6
  653. package/lib/esm/contracts/auth/index.d.ts +0 -1
  654. package/lib/esm/contracts/crud/crud-contract.d.ts +0 -199
  655. package/lib/esm/contracts/crud/index.d.ts +0 -2
  656. package/lib/esm/contracts/crud/serialized-crud-contract.d.ts +0 -42
  657. package/lib/esm/contracts/erc20/erc20contract.d.ts +0 -152
  658. package/lib/esm/contracts/erc20/index.d.ts +0 -2
  659. package/lib/esm/contracts/erc20/models.d.ts +0 -114
  660. package/lib/esm/contracts/index.d.ts +0 -19
  661. package/lib/esm/contracts/logging.d.ts +0 -54
  662. package/lib/esm/contracts/types.d.ts +0 -38
  663. package/lib/esm/contracts/uuid.d.ts +0 -2
  664. package/lib/esm/shared/overrides/overrides.d.ts +0 -1
  665. package/lib/index.d.ts +0 -8
  666. package/lib/shared/ClientSerializer.cjs +0 -81
  667. package/lib/shared/DeterministicSerializer.cjs +0 -106
  668. package/lib/shared/DeterministicSerializer.d.ts +0 -47
  669. package/lib/shared/SimpleDeterministicSerializer.cjs +0 -69
  670. package/lib/shared/SimpleDeterministicSerializer.d.ts +0 -7
  671. package/lib/shared/constants.cjs +0 -41
  672. package/lib/shared/decorators.cjs +0 -595
  673. package/lib/shared/decorators.d.ts +0 -81
  674. package/lib/shared/erc20/erc20-constants.cjs +0 -30
  675. package/lib/shared/erc20/index.d.ts +0 -1
  676. package/lib/shared/errors.cjs +0 -190
  677. package/lib/shared/errors.d.ts +0 -140
  678. package/lib/shared/events.cjs +0 -51
  679. package/lib/shared/fabric-types.cjs +0 -3
  680. package/lib/shared/fabric-types.d.ts +0 -32
  681. package/lib/shared/index.d.ts +0 -20
  682. package/lib/shared/interfaces/Checkable.cjs +0 -3
  683. package/lib/shared/interfaces/Checkable.d.ts +0 -23
  684. package/lib/shared/interfaces/index.d.ts +0 -1
  685. package/lib/shared/math.cjs +0 -66
  686. package/lib/shared/math.d.ts +0 -34
  687. package/lib/shared/model/FabricBaseModel.d.ts +0 -7
  688. package/lib/shared/model/FabricIdentifiedBaseModel.d.ts +0 -7
  689. package/lib/shared/model/Identity.cjs +0 -71
  690. package/lib/shared/model/Identity.d.ts +0 -42
  691. package/lib/shared/model/IdentityCredentials.cjs +0 -66
  692. package/lib/shared/model/IdentityCredentials.d.ts +0 -41
  693. package/lib/shared/model/index.cjs +0 -21
  694. package/lib/shared/model/index.d.ts +0 -4
  695. package/lib/shared/overrides/Model.cjs +0 -4
  696. package/lib/shared/overrides/Model.d.ts +0 -22
  697. package/lib/shared/overrides/index.d.ts +0 -2
  698. package/lib/shared/overrides/overrides.cjs +0 -93
  699. package/lib/shared/overrides/overrides.d.ts +0 -1
  700. package/lib/shared/types.cjs +0 -3
  701. package/lib/shared/types.d.ts +0 -125
  702. package/lib/version.cjs +0 -8
  703. package/lib/version.d.ts +0 -2
  704. /package/lib/{bin → types/bin}/cli.d.ts +0 -0
  705. /package/lib/{cli-module.d.ts → types/cli-module.d.ts} +0 -0
  706. /package/lib/{cli-utils.d.ts → types/cli-utils.d.ts} +0 -0
  707. /package/lib/{client → types/client}/FabricClientAdapter.d.ts +0 -0
  708. /package/lib/{client → types/client}/FabricClientDispatch.d.ts +0 -0
  709. /package/lib/{client → types/client}/FabricClientPaginator.d.ts +0 -0
  710. /package/lib/{client → types/client}/FabricClientRepository.d.ts +0 -0
  711. /package/lib/{client → types/client}/FabricClientStatement.d.ts +0 -0
  712. /package/lib/{client → types/client}/collections/generation.d.ts +0 -0
  713. /package/lib/{client → types/client}/collections/index.d.ts +0 -0
  714. /package/lib/{client → types/client}/constants.d.ts +0 -0
  715. /package/lib/{client → types/client}/crypto.d.ts +0 -0
  716. /package/lib/{client → types/client}/erc20/FabricERC20ClientRepository.d.ts +0 -0
  717. /package/lib/{client → types/client}/erc20/index.d.ts +0 -0
  718. /package/lib/{client → types/client}/fabric-fs.d.ts +0 -0
  719. /package/lib/{client → types/client}/fabric-hsm.d.ts +0 -0
  720. /package/lib/{client → types/client}/ids/id-extraction.d.ts +0 -0
  721. /package/lib/{client → types/client}/ids/index.d.ts +0 -0
  722. /package/lib/{client → types/client}/index.d.ts +0 -0
  723. /package/lib/{client → types/client}/indexes/generation.d.ts +0 -0
  724. /package/lib/{client → types/client}/indexes/index.d.ts +0 -0
  725. /package/lib/{client → types/client}/logging.d.ts +0 -0
  726. /package/lib/{client → types/client}/services/FabricEnrollmentService.d.ts +0 -0
  727. /package/lib/{client → types/client}/services/FabricIdentityService.d.ts +0 -0
  728. /package/lib/{client → types/client}/services/RegistrationRequestBuilder.d.ts +0 -0
  729. /package/lib/{client → types/client}/services/constants.d.ts +0 -0
  730. /package/lib/{client → types/client}/services/index.d.ts +0 -0
  731. /package/lib/{client → types/client}/types.d.ts +0 -0
  732. /package/lib/{client → types/client}/utils.d.ts +0 -0
  733. /package/lib/{contract → types/contract}/Address.d.ts +0 -0
  734. /package/lib/{contract → types/contract}/AddressContract.d.ts +0 -0
  735. /package/lib/{contract → types/contract}/AuditContract.d.ts +0 -0
  736. /package/lib/{contract → types/contract}/BatchContract.d.ts +0 -0
  737. /package/lib/{contract → types/contract}/MarketContract.d.ts +0 -0
  738. /package/lib/{contract → types/contract}/OtherAuditContract.d.ts +0 -0
  739. /package/lib/{contract → types/contract}/OtherBatchContract.d.ts +0 -0
  740. /package/lib/{contract → types/contract}/OtherMarketContract.d.ts +0 -0
  741. /package/lib/{contract → types/contract}/OtherProductContract.d.ts +0 -0
  742. /package/lib/{contract → types/contract}/OtherProductImageContract.d.ts +0 -0
  743. /package/lib/{contract → types/contract}/OtherProductSharedContract.d.ts +0 -0
  744. /package/lib/{contract → types/contract}/OtherProductStrengthContract.d.ts +0 -0
  745. /package/lib/{contract → types/contract}/Product.d.ts +0 -0
  746. /package/lib/{contract → types/contract}/ProductContract.d.ts +0 -0
  747. /package/lib/{contract → types/contract}/ProductStrengthContract.d.ts +0 -0
  748. /package/lib/{contract → types/contract}/SegregatedPrivateDocumentContract.d.ts +0 -0
  749. /package/lib/{contract → types/contract}/SegregatedSharedDocumentContract.d.ts +0 -0
  750. /package/lib/{contract → types/contract}/User.d.ts +0 -0
  751. /package/lib/{contract → types/contract}/UserContract.d.ts +0 -0
  752. /package/lib/{contract → types/contract}/index.d.ts +0 -0
  753. /package/lib/{contract → types/contract}/logging-context.d.ts +0 -0
  754. /package/lib/{contract → types/contract}/models/Audit.d.ts +0 -0
  755. /package/lib/{contract → types/contract}/models/BaseIdentifiedModel.d.ts +0 -0
  756. /package/lib/{contract → types/contract}/models/BaseModel.d.ts +0 -0
  757. /package/lib/{contract → types/contract}/models/Batch.d.ts +0 -0
  758. /package/lib/{contract → types/contract}/models/GtinOwner.d.ts +0 -0
  759. /package/lib/{contract → types/contract}/models/History.d.ts +0 -0
  760. /package/lib/{contract → types/contract}/models/Leaflet.d.ts +0 -0
  761. /package/lib/{contract → types/contract}/models/LeafletFile.d.ts +0 -0
  762. /package/lib/{contract → types/contract}/models/Market.d.ts +0 -0
  763. /package/lib/{contract → types/contract}/models/OtherAudit.d.ts +0 -0
  764. /package/lib/{contract → types/contract}/models/OtherBatchShared.d.ts +0 -0
  765. /package/lib/{contract → types/contract}/models/OtherLeaflet.d.ts +0 -0
  766. /package/lib/{contract → types/contract}/models/OtherLeafletFile.d.ts +0 -0
  767. /package/lib/{contract → types/contract}/models/OtherMarket.d.ts +0 -0
  768. /package/lib/{contract → types/contract}/models/OtherProduct.d.ts +0 -0
  769. /package/lib/{contract → types/contract}/models/OtherProductImage.d.ts +0 -0
  770. /package/lib/{contract → types/contract}/models/OtherProductShared.d.ts +0 -0
  771. /package/lib/{contract → types/contract}/models/OtherProductStrength.d.ts +0 -0
  772. /package/lib/{contract → types/contract}/models/Product.d.ts +0 -0
  773. /package/lib/{contract → types/contract}/models/ProductStrength.d.ts +0 -0
  774. /package/lib/{contract → types/contract}/models/SegregatedDocument.d.ts +0 -0
  775. /package/lib/{contract → types/contract}/models/constants.d.ts +0 -0
  776. /package/lib/{contract → types/contract}/models/decorators-private.d.ts +0 -0
  777. /package/lib/{contract → types/contract}/models/decorators.d.ts +0 -0
  778. /package/lib/{contract → types/contract}/models/gtin.d.ts +0 -0
  779. /package/lib/{contract → types/contract}/models/history-dec.d.ts +0 -0
  780. /package/lib/{contracts → types/contracts}/ContractAdapter.d.ts +0 -0
  781. /package/lib/{contracts → types/contracts}/ContractContext.d.ts +0 -0
  782. /package/lib/{contracts → types/contracts}/FabricContractDispatch.d.ts +0 -0
  783. /package/lib/{contracts → types/contracts}/FabricContractPaginator.d.ts +0 -0
  784. /package/lib/{contracts → types/contracts}/FabricContractRepository.d.ts +0 -0
  785. /package/lib/{contracts → types/contracts}/FabricContractRepositoryObservableHandler.d.ts +0 -0
  786. /package/lib/{contracts → types/contracts}/FabricContractSequence.d.ts +0 -0
  787. /package/lib/{contracts → types/contracts}/FabricContractStatement.d.ts +0 -0
  788. /package/lib/{contracts → types/contracts}/MigrationContract.d.ts +0 -0
  789. /package/lib/{contracts → types/contracts}/PrivateSequence.d.ts +0 -0
  790. /package/lib/{contracts → types/contracts}/auth/decorators.d.ts +0 -0
  791. /package/lib/{contracts → types/contracts}/auth/index.d.ts +0 -0
  792. /package/lib/{contracts → types/contracts}/crud/crud-contract.d.ts +0 -0
  793. /package/lib/{contracts → types/contracts}/crud/index.d.ts +0 -0
  794. /package/lib/{contracts → types/contracts}/crud/serialized-crud-contract.d.ts +0 -0
  795. /package/lib/{contracts → types/contracts}/erc20/erc20contract.d.ts +0 -0
  796. /package/lib/{contracts → types/contracts}/erc20/index.d.ts +0 -0
  797. /package/lib/{contracts → types/contracts}/erc20/models.d.ts +0 -0
  798. /package/lib/{contracts → types/contracts}/index.d.ts +0 -0
  799. /package/lib/{contracts → types/contracts}/logging.d.ts +0 -0
  800. /package/lib/{contracts → types/contracts}/overrides.d.ts +0 -0
  801. /package/lib/{contracts → types/contracts}/types.d.ts +0 -0
  802. /package/lib/{contracts → types/contracts}/uuid.d.ts +0 -0
  803. /package/lib/{esm → types}/index.d.ts +0 -0
  804. /package/lib/{esm → types}/shared/ClientSerializer.d.ts +0 -0
  805. /package/lib/{esm → types}/shared/DeterministicSerializer.d.ts +0 -0
  806. /package/lib/{esm → types}/shared/SimpleDeterministicSerializer.d.ts +0 -0
  807. /package/lib/{esm → types}/shared/constants.d.ts +0 -0
  808. /package/lib/{esm → types}/shared/decorators.d.ts +0 -0
  809. /package/lib/{esm → types}/shared/erc20/erc20-constants.d.ts +0 -0
  810. /package/lib/{esm → types}/shared/erc20/index.d.ts +0 -0
  811. /package/lib/{esm → types}/shared/errors.d.ts +0 -0
  812. /package/lib/{esm → types}/shared/events.d.ts +0 -0
  813. /package/lib/{esm → types}/shared/fabric-types.d.ts +0 -0
  814. /package/lib/{esm → types}/shared/index.d.ts +0 -0
  815. /package/lib/{esm → types}/shared/interfaces/Checkable.d.ts +0 -0
  816. /package/lib/{esm → types}/shared/interfaces/index.d.ts +0 -0
  817. /package/lib/{esm → types}/shared/math.d.ts +0 -0
  818. /package/lib/{esm → types}/shared/model/FabricBaseModel.d.ts +0 -0
  819. /package/lib/{esm → types}/shared/model/FabricIdentifiedBaseModel.d.ts +0 -0
  820. /package/lib/{esm → types}/shared/model/Identity.d.ts +0 -0
  821. /package/lib/{esm → types}/shared/model/IdentityCredentials.d.ts +0 -0
  822. /package/lib/{esm → types}/shared/model/index.d.ts +0 -0
  823. /package/lib/{esm → types}/shared/overrides/Model.d.ts +0 -0
  824. /package/lib/{esm → types}/shared/overrides/index.d.ts +0 -0
  825. /package/lib/{esm/contracts → types/shared/overrides}/overrides.d.ts +0 -0
  826. /package/lib/{esm → types}/shared/types.d.ts +0 -0
@@ -1,324 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.FabricIdentityService = void 0;
7
- const core_1 = require("@decaf-ts/core");
8
- const fabric_ca_client_1 = __importDefault(require("fabric-ca-client"));
9
- const db_decorators_1 = require("@decaf-ts/db-decorators");
10
- const utils_1 = require("./../utils.cjs");
11
- const fabric_common_1 = require("fabric-common");
12
- const errors_1 = require("./../../shared/errors.cjs");
13
- const index_1 = require("./../../shared/index.cjs");
14
- const crypto_1 = require("./../crypto.cjs");
15
- class FabricIdentityService extends core_1.ClientBasedService {
16
- constructor() {
17
- super();
18
- }
19
- get rootClient() {
20
- return this.client["_FabricCaServices"];
21
- }
22
- get user() {
23
- if (!this._user)
24
- throw new db_decorators_1.InternalError("Fabric identity service not properly setup: missing user");
25
- return this._user;
26
- }
27
- get certificates() {
28
- return this.rootClient.newCertificateService();
29
- }
30
- get affiliations() {
31
- return this.client.newAffiliationService();
32
- }
33
- get identities() {
34
- return this.client.newIdentityService();
35
- }
36
- async getUser(cfg, ctx) {
37
- const log = ctx.logger.for(this.getUser);
38
- const { caName, caCert, caKey, url, hsm } = cfg;
39
- log.info(`Creating CA user for ${caName} at ${url}`);
40
- log.verbose(`Retrieving CA certificate from ${caCert}`);
41
- const certificate = await utils_1.CoreUtils.getFirstDirFileNameContent(caCert);
42
- let key;
43
- if (!hsm) {
44
- if (!caKey) {
45
- throw new db_decorators_1.InternalError(`Missing caKey configuration for CA ${caName}. Provide a key directory or configure HSM support.`);
46
- }
47
- log.debug(`Retrieving CA key from ${caKey}`);
48
- key = await utils_1.CoreUtils.getFirstDirFileNameContent(caKey);
49
- }
50
- else {
51
- log.debug(`Using HSM configuration for CA ${caName} with library ${hsm.library}`);
52
- }
53
- log.debug(`Loading Admin user for ca ${caName}`);
54
- this._user = await utils_1.CoreUtils.getCAUser("admin", key, certificate, caName, {
55
- hsm,
56
- });
57
- return this._user;
58
- }
59
- async initialize(...args) {
60
- const { log, ctx } = (await this.logCtx(args, core_1.PersistenceKeys.INITIALIZATION, true)).for(this.initialize);
61
- const [config] = args;
62
- if (!config)
63
- throw new db_decorators_1.InternalError("Missing Fabric CA configuration");
64
- const { url, tls, caName } = config;
65
- log.info(`Initializing CA Client for CA ${config.caName} at ${config.url}`);
66
- const { trustedRoots, verify } = tls;
67
- const root = trustedRoots[0];
68
- log.debug(`Retrieving CA certificate from ${root}. cwd: ${process.cwd()}`);
69
- const certificate = await utils_1.CoreUtils.getFileContent(root);
70
- log.debug(`CA Certificate: ${certificate.toString()}`);
71
- const client = new fabric_ca_client_1.default(url, {
72
- trustedRoots: Buffer.from(certificate),
73
- verify,
74
- }, caName);
75
- const user = await this.getUser(config, ctx);
76
- log.debug(`CA user loaded: ${user.getName()}`);
77
- return {
78
- config,
79
- client,
80
- };
81
- }
82
- async getCertificates(request, doMap = true, ...args) {
83
- if (request instanceof core_1.Context) {
84
- args = [request];
85
- doMap = true;
86
- request = undefined;
87
- }
88
- else if (typeof request === "boolean") {
89
- doMap = request;
90
- request = undefined;
91
- }
92
- else if (typeof doMap !== "boolean") {
93
- args = [doMap, ...args];
94
- doMap = true;
95
- }
96
- const { log } = (await this.logCtx(args, db_decorators_1.OperationKeys.READ, true)).for(this.getCertificates);
97
- log.debug(`Retrieving certificates${request ? ` for ${request.id}` : ""} for CA ${this.config.caName}`);
98
- const response = (await this.certificates.getCertificates(request || {}, this.user)).result;
99
- log.verbose(`Found ${response.certs.length} certificates`);
100
- log.debug(response.certs);
101
- return (doMap ? response.certs.map((c) => c.PEM) : response);
102
- }
103
- async getIdentities(ctx) {
104
- const log = ctx.logger.for(this.getIdentities);
105
- log.verbose(`Retrieving Identities under CA ${this.config.caName}`);
106
- const response = (await this.identities.getAll(this.user))
107
- .result;
108
- log.verbose(`Found ${response.identities.length} Identities`);
109
- log.debug(response.identities);
110
- return response.identities;
111
- }
112
- /**
113
- * @description Retrieve affiliations from the CA.
114
- * @summary Queries the CA for the list of affiliations available under the configured CA.
115
- * @return {string} The affiliations result payload.
116
- */
117
- async getAffiliations(ctx) {
118
- const log = ctx.logger.for(this.getAffiliations);
119
- log.verbose(`Retrieving Affiliations under CA ${this.config.caName}`);
120
- const response = (await this.affiliations.getAll(this.user)).result;
121
- log.verbose(`Found ${response.a.length} Affiliations`);
122
- log.debug(JSON.stringify(response));
123
- return response;
124
- }
125
- parseError(e) {
126
- const regexp = /.*code:\s(\d+).*?message:\s["'](.+)["']/gs;
127
- const match = regexp.exec(e.message);
128
- if (!match)
129
- return new errors_1.RegistrationError(e);
130
- const [, code, message] = match;
131
- switch (code) {
132
- case "74":
133
- case "71":
134
- return new db_decorators_1.ConflictError(message);
135
- case "20":
136
- return new core_1.AuthorizationError(message);
137
- default:
138
- return new errors_1.RegistrationError(message);
139
- }
140
- }
141
- /**
142
- * @description Read identity details from the CA by enrollment ID.
143
- * @summary Retrieves and validates a single identity, throwing NotFoundError when missing.
144
- * @param {string} enrollmentId - Enrollment ID to lookup.
145
- * @return {Promise<FabricIdentity>} The identity details stored in the CA.
146
- */
147
- async read(enrollmentId, ...args) {
148
- const { log } = (await this.logCtx(args, db_decorators_1.OperationKeys.READ, true)).for(this.read);
149
- log.verbose(`Retrieving identity with enrollment ID ${enrollmentId}`);
150
- let result;
151
- try {
152
- result = await this.identities.getOne(enrollmentId, this.user);
153
- }
154
- catch (e) {
155
- throw new db_decorators_1.NotFoundError(`Couldn't find enrollment with id ${enrollmentId}: ${e}`);
156
- }
157
- if (!result.success)
158
- throw new db_decorators_1.NotFoundError(`Couldn't find enrollment with id ${enrollmentId}: ${result.errors.join("\n")}`);
159
- return result.result;
160
- }
161
- /**
162
- * @description Register a new identity with the CA.
163
- * @summary Submits a registration request for a new enrollment ID, returning the enrollment secret upon success.
164
- * @param {Credentials} model - Credentials containing userName and password for the new identity.
165
- * @param {boolean} [isSuperUser=false] - Whether to register the identity as a super user.
166
- * @param {string} [affiliation=""] - Affiliation string (e.g., org1.department1).
167
- * @param {CA_ROLE | string} [userRole] - Role to assign to the identity.
168
- * @param {IKeyValueAttribute} [attrs] - Optional attributes to attach to the identity.
169
- * @param {number} [maxEnrollments] - Maximum number of enrollments allowed for the identity.
170
- * @return {Promise<string>} The enrollment secret for the registered identity.
171
- */
172
- async register(model, isSuperUser = false, affiliation = "", userRole, attrs, maxEnrollments, ...args) {
173
- const { log } = (await this.logCtx(args, "register", true)).for(this.register);
174
- let registration;
175
- try {
176
- const { userName, password } = model;
177
- const props = {
178
- enrollmentID: userName,
179
- enrollmentSecret: password,
180
- affiliation: affiliation,
181
- userRole: userRole,
182
- attrs: attrs,
183
- maxEnrollments: maxEnrollments,
184
- };
185
- registration = await this.client.register(props, this.user);
186
- log.info(`Registration for ${userName} created with user type ${userRole ?? "Undefined Role"} ${isSuperUser ? "as super user" : ""}`);
187
- }
188
- catch (e) {
189
- throw this.parseError(e);
190
- }
191
- return registration;
192
- }
193
- static identityFromEnrollment(enrollment, mspId, ctx) {
194
- const log = ctx.logger.for(this.identityFromEnrollment);
195
- const { certificate, key, rootCertificate } = enrollment;
196
- log.verbose(`Generating Identity from certificate ${certificate} in msp ${mspId}`);
197
- const clientId = crypto_1.CryptoUtils.fabricIdFromCertificate(certificate);
198
- const id = crypto_1.CryptoUtils.encode(clientId);
199
- log.debug(`Identity ${clientId} and encodedId ${id}`);
200
- return new index_1.Identity({
201
- id: id,
202
- credentials: {
203
- id: id,
204
- certificate: certificate,
205
- privateKey: key.toBytes(),
206
- rootCertificate: rootCertificate,
207
- },
208
- mspId: mspId,
209
- });
210
- }
211
- /**
212
- * @description Enroll an identity with the CA using a registration secret.
213
- * @summary Exchanges the enrollment ID and secret for certificates, returning a constructed Identity model.
214
- * @param {string} enrollmentId - Enrollment ID to enroll.
215
- * @param {string} registration - Enrollment secret returned at registration time.
216
- * @return {Promise<Identity>} The enrolled identity object with credentials.
217
- */
218
- async enroll(enrollmentId, registration, ...args) {
219
- const { log, ctx } = (await this.logCtx(args, "enroll", true)).for(this.enroll);
220
- let identity;
221
- try {
222
- log.debug(`Enrolling ${enrollmentId}`);
223
- const enrollment = await this.client.enroll({
224
- enrollmentID: enrollmentId,
225
- enrollmentSecret: registration,
226
- });
227
- identity = FabricIdentityService.identityFromEnrollment(enrollment, this.config.caName, ctx);
228
- log.info(`Successfully enrolled ${enrollmentId} under ${this.config.caName} as ${identity.id}`);
229
- }
230
- catch (e) {
231
- throw this.parseError(e);
232
- }
233
- return identity;
234
- }
235
- /**
236
- * @description Register and enroll a new identity in one step.
237
- * @summary Registers a new enrollment ID with the CA and immediately exchanges the secret to enroll, returning the created Identity.
238
- * @param {Credentials} model - Credentials for the new identity containing userName and password.
239
- * @param {boolean} [isSuperUser=false] - Whether to register the identity as a super user.
240
- * @param {string} [affiliation=""] - Affiliation string (e.g., org1.department1).
241
- * @param {CA_ROLE | string} [userRole] - Role to assign to the identity.
242
- * @param {IKeyValueAttribute} [attrs] - Optional attributes to attach to the identity.
243
- * @param {number} [maxEnrollments] - Maximum number of enrollments allowed for the identity.
244
- * @return {Promise<Identity>} The enrolled identity.
245
- */
246
- async registerAndEnroll(model, isSuperUser = false, affiliation = "", userRole, attrs, maxEnrollments, ...args) {
247
- const { ctx } = (await this.logCtx(args, "register-enroll", true)).for(this.registerAndEnroll);
248
- const registration = await this.register(model, isSuperUser, affiliation, userRole, attrs, maxEnrollments, ctx);
249
- const { userName } = model;
250
- return this.enroll(userName, registration, ctx);
251
- }
252
- /**
253
- * @description Re-enroll an existing identity using its current enrollment.
254
- * @summary Renews the enrollment certificate by calling the CA reenroll.
255
- * @param {User} currentUser - Already enrolled user, must have a signing identity.
256
- * @return {Promise<Identity>} The renewed identity object with new credentials.
257
- */
258
- async updateIdentity(enrollmentId, identity, identityRequest, ...args) {
259
- const { log, ctx } = (await this.logCtx(args, "reenroll", true)).for(this.updateIdentity);
260
- try {
261
- log.info(`Renewing identity for ${enrollmentId}`);
262
- // Update attributes in the CA registry (admin operation). This changes the "source of truth".
263
- const identityService = this.client.newIdentityService();
264
- const caUserIdentity = (await identityService.getOne(enrollmentId, this.user));
265
- await identityService.update(enrollmentId, identityRequest, this.user); // as IServiceResponse & { result: IIdentityRequest };
266
- // Reenroll as the user. Request must be signed using the existing certificate.
267
- const reenrollUser = fabric_common_1.User.createUser(enrollmentId, "", // enrollmentSecret not required for reenroll
268
- this.user.getMspid(), identity.certificate, identity.privateKey);
269
- reenrollUser.setCryptoSuite(this.user.getCryptoSuite());
270
- const enrollmentAttrs = (caUserIdentity.result.attrs || []).map(({ name }) => ({
271
- name,
272
- optional: false,
273
- }));
274
- const enrollment = await this.client.reenroll(reenrollUser, enrollmentAttrs);
275
- const renewedIdentity = FabricIdentityService.identityFromEnrollment(enrollment, this.config.caName, ctx);
276
- // Revoke the previous certificate only, so the old cert becomes invalid.
277
- log.debug(`Revoking previous certificates for ${enrollmentId}`);
278
- const { aki, serial } = (0, utils_1.getAkiAndSerialFromCert)(identity.certificate);
279
- await this.revoke(enrollmentId, { aki, serial }, args);
280
- log.debug(`Renew identity successful for ${enrollmentId}`);
281
- return renewedIdentity;
282
- }
283
- catch (e) {
284
- throw this.parseError(e);
285
- }
286
- }
287
- /**
288
- * Revokes the enrollment of an identity with the specified enrollment ID.
289
- *
290
- * @param enrollmentId - The enrollment ID of the identity to be revoked.
291
- *
292
- * @returns A Promise that resolves to the result of the revocation operation.
293
- *
294
- * @throws {NotFoundError} If the enrollment with the specified ID does not exist.
295
- * @throws {InternalError} If there is an error during the revocation process.
296
- */
297
- async revoke(enrollmentId, revokeOptions, ...args) {
298
- const { log } = (await this.logCtx(args, "revoke", true)).for(this.revoke);
299
- log.verbose(`Revoking identity with enrollment ID ${enrollmentId}`);
300
- const identity = await this.read(enrollmentId);
301
- if (!identity)
302
- throw new db_decorators_1.NotFoundError(`Could not find enrollment with id ${enrollmentId}`);
303
- let result;
304
- try {
305
- const reason = Boolean(revokeOptions.serial) || Boolean(revokeOptions.aki)
306
- ? "Revoke User Certificate"
307
- : "User Deletion";
308
- const revokeRequest = {
309
- reason,
310
- ...revokeOptions,
311
- enrollmentID: identity.id,
312
- };
313
- result = await this.client.revoke(revokeRequest, this.user);
314
- }
315
- catch (e) {
316
- throw new db_decorators_1.InternalError(`Could not revoke enrollment with id ${enrollmentId}: ${e}`);
317
- }
318
- if (!result.success)
319
- throw new db_decorators_1.InternalError(`Could not revoke enrollment with id ${enrollmentId}: ${result.errors.join("\n")}`);
320
- return result;
321
- }
322
- }
323
- exports.FabricIdentityService = FabricIdentityService;
324
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmFicmljSWRlbnRpdHlTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC9zZXJ2aWNlcy9GYWJyaWNJZGVudGl0eVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEseUNBTXdCO0FBQ3hCLHdFQVUwQjtBQUUxQiwyREFLaUM7QUFDakMsMENBQThEO0FBTzlELGlEQUFxQztBQUNyQyxzREFBd0Q7QUFHeEQsb0RBQThDO0FBQzlDLDRDQUF3QztBQUV4QyxNQUFhLHFCQUFzQixTQUFRLHlCQUcxQztJQUdDO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQsSUFBYyxVQUFVO1FBQ3RCLE9BQVEsSUFBSSxDQUFDLE1BQWMsQ0FBQyxtQkFBbUIsQ0FBUSxDQUFDO0lBQzFELENBQUM7SUFFRCxJQUFjLElBQUk7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLO1lBQ2IsTUFBTSxJQUFJLDZCQUFhLENBQ3JCLDBEQUEwRCxDQUMzRCxDQUFDO1FBQ0osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFjLFlBQVk7UUFDeEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLHFCQUFxQixFQUFFLENBQUM7SUFDakQsQ0FBQztJQUVELElBQWMsWUFBWTtRQUN4QixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRUQsSUFBYyxVQUFVO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFUyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQWEsRUFBRSxHQUFZO1FBQ2pELE1BQU0sR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1B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QyxhQUFhLENBQUMsR0FBRyxDQUFDO2dCQUN6RCxDQUFDLENBQUMseUJBQXlCO2dCQUMzQixDQUFDLENBQUMsZUFBZSxDQUFDO1lBRXRCLE1BQU0sYUFBYSxHQUFtQjtnQkFDcEMsTUFBTTtnQkFDTixHQUFHLGFBQWE7Z0JBQ2hCLFlBQVksRUFBRSxRQUFRLENBQUMsRUFBRTthQUMxQixDQUFDO1lBRUYsTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RCxDQUFDO1FBQUMsT0FBTyxDQUFVLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksNkJBQWEsQ0FDckIsdUNBQXVDLFlBQVksS0FBSyxDQUFDLEVBQUUsQ0FDNUQsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87WUFDakIsTUFBTSxJQUFJLDZCQUFhLENBQ3JCLHVDQUF1QyxZQUFZLEtBQUssTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDbkYsQ0FBQztRQUNKLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7Q0FDRjtBQTNkRCxzREEyZEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBdXRob3JpemF0aW9uRXJyb3IsXG4gIENsaWVudEJhc2VkU2VydmljZSxcbiAgQ29udGV4dCxcbiAgTWF5YmVDb250ZXh0dWFsQXJnLFxuICBQZXJzaXN0ZW5jZUtleXMsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IEZhYnJpY0NBU2VydmljZXMsIHtcbiAgQWZmaWxpYXRpb25TZXJ2aWNlLFxuICBJQXR0cmlidXRlUmVxdWVzdCxcbiAgSWRlbnRpdHlTZXJ2aWNlLFxuICBJRW5yb2xsUmVzcG9uc2UsXG4gIElJZGVudGl0eVJlcXVlc3QsXG4gIElSZWdpc3RlclJlcXVlc3QsXG4gIElSZXZva2VSZXF1ZXN0LFxuICBJU2VydmljZVJlc3BvbnNlLFxuICBUTFNPcHRpb25zLFxufSBmcm9tIFwiZmFicmljLWNhLWNsaWVudFwiO1xuaW1wb3J0IHsgQ0FDb25maWcsIENyZWRlbnRpYWxzIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC90eXBlc1wiO1xuaW1wb3J0IHtcbiAgQ29uZmxpY3RFcnJvcixcbiAgSW50ZXJuYWxFcnJvcixcbiAgTm90Rm91bmRFcnJvcixcbiAgT3BlcmF0aW9uS2V5cyxcbn0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBDb3JlVXRpbHMsIGdldEFraUFuZFNlcmlhbEZyb21DZXJ0IH0gZnJvbSBcIi4uL3V0aWxzXCI7XG5pbXBvcnQge1xuICBDZXJ0aWZpY2F0ZVJlc3BvbnNlLFxuICBGYWJyaWNJZGVudGl0eSxcbiAgR2V0Q2VydGlmaWNhdGVzUmVxdWVzdCxcbiAgSWRlbnRpdHlSZXNwb25zZSxcbn0gZnJvbSBcIi4uLy4uL3NoYXJlZC9mYWJyaWMtdHlwZXNcIjtcbmltcG9ydCB7IFVzZXIgfSBmcm9tIFwiZmFicmljLWNvbW1vblwiO1xuaW1wb3J0IHsgUmVnaXN0cmF0aW9uRXJyb3IgfSBmcm9tIFwiLi4vLi4vc2hhcmVkL2Vycm9yc1wiO1xuaW1wb3J0IHsgQ0FfUk9MRSB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgSUtleVZhbHVlQXR0cmlidXRlIH0gZnJvbSBcIi4vRmFicmljRW5yb2xsbWVudFNlcnZpY2VcIjtcbmltcG9ydCB7IElkZW50aXR5IH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9pbmRleFwiO1xuaW1wb3J0IHsgQ3J5cHRvVXRpbHMgfSBmcm9tIFwiLi4vY3J5cHRvXCI7XG5cbmV4cG9ydCBjbGFzcyBGYWJyaWNJZGVudGl0eVNlcnZpY2UgZXh0ZW5kcyBDbGllbnRCYXNlZFNlcnZpY2U8XG4gIEZhYnJpY0NBU2VydmljZXMsXG4gIENBQ29uZmlnXG4+IHtcbiAgcHJvdGVjdGVkIF91c2VyITogVXNlcjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCByb290Q2xpZW50KCk6IHsgbmV3Q2VydGlmaWNhdGVTZXJ2aWNlOiBhbnkgfSB7XG4gICAgcmV0dXJuICh0aGlzLmNsaWVudCBhcyBhbnkpW1wiX0ZhYnJpY0NhU2VydmljZXNcIl0gYXMgYW55O1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCB1c2VyKCk6IFVzZXIge1xuICAgIGlmICghdGhpcy5fdXNlcilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBcIkZhYnJpYyBpZGVudGl0eSBzZXJ2aWNlIG5vdCBwcm9wZXJseSBzZXR1cDogbWlzc2luZyB1c2VyXCJcbiAgICAgICk7XG4gICAgcmV0dXJuIHRoaXMuX3VzZXI7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGNlcnRpZmljYXRlcygpIHtcbiAgICByZXR1cm4gdGhpcy5yb290Q2xpZW50Lm5ld0NlcnRpZmljYXRlU2VydmljZSgpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBhZmZpbGlhdGlvbnMoKTogQWZmaWxpYXRpb25TZXJ2aWNlIHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQubmV3QWZmaWxpYXRpb25TZXJ2aWNlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlkZW50aXRpZXMoKTogSWRlbnRpdHlTZXJ2aWNlIHtcbiAgICByZXR1cm4gdGhpcy5jbGllbnQubmV3SWRlbnRpdHlTZXJ2aWNlKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgZ2V0VXNlcihjZmc6IENBQ29uZmlnLCBjdHg6IENvbnRleHQpIHtcbiAgICBjb25zdCBsb2cgPSBjdHgubG9nZ2VyLmZvcih0aGlzLmdldFVzZXIpO1xuICAgIGNvbnN0IHsgY2FOYW1lLCBjYUNlcnQsIGNhS2V5LCB1cmwsIGhzbSB9ID0gY2ZnO1xuXG4gICAgbG9nLmluZm8oYENyZWF0aW5nIENBIHVzZXIgZm9yICR7Y2FOYW1lfSBhdCAke3VybH1gKTtcbiAgICBsb2cudmVyYm9zZShgUmV0cmlldmluZyBDQSBjZXJ0aWZpY2F0ZSBmcm9tICR7Y2FDZXJ0fWApO1xuICAgIGNvbnN0IGNlcnRpZmljYXRlID0gYXdhaXQgQ29yZVV0aWxzLmdldEZpcnN0RGlyRmlsZU5hbWVDb250ZW50KGNhQ2VydCk7XG4gICAgbGV0IGtleTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGlmICghaHNtKSB7XG4gICAgICBpZiAoIWNhS2V5KSB7XG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgIGBNaXNzaW5nIGNhS2V5IGNvbmZpZ3VyYXRpb24gZm9yIENBICR7Y2FOYW1lfS4gUHJvdmlkZSBhIGtleSBkaXJlY3Rvcnkgb3IgY29uZmlndXJlIEhTTSBzdXBwb3J0LmBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGxvZy5kZWJ1ZyhgUmV0cmlldmluZyBDQSBrZXkgZnJvbSAke2NhS2V5fWApO1xuICAgICAga2V5ID0gYXdhaXQgQ29yZVV0aWxzLmdldEZpcnN0RGlyRmlsZU5hbWVDb250ZW50KGNhS2V5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nLmRlYnVnKFxuICAgICAgICBgVXNpbmcgSFNNIGNvbmZpZ3VyYXRpb24gZm9yIENBICR7Y2FOYW1lfSB3aXRoIGxpYnJhcnkgJHtoc20ubGlicmFyeX1gXG4gICAgICApO1xuICAgIH1cbiAgICBsb2cuZGVidWcoYExvYWRpbmcgQWRtaW4gdXNlciBmb3IgY2EgJHtjYU5hbWV9YCk7XG4gICAgdGhpcy5fdXNlciA9IGF3YWl0IENvcmVVdGlscy5nZXRDQVVzZXIoXCJhZG1pblwiLCBrZXksIGNlcnRpZmljYXRlLCBjYU5hbWUsIHtcbiAgICAgIGhzbSxcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5fdXNlcjtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGluaXRpYWxpemUoXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTx7IGNvbmZpZzogQ0FDb25maWc7IGNsaWVudDogRmFicmljQ0FTZXJ2aWNlcyB9PiB7XG4gICAgY29uc3QgeyBsb2csIGN0eCB9ID0gKFxuICAgICAgYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgUGVyc2lzdGVuY2VLZXlzLklOSVRJQUxJWkFUSU9OLCB0cnVlKVxuICAgICkuZm9yKHRoaXMuaW5pdGlhbGl6ZSk7XG4gICAgY29uc3QgW2NvbmZpZ10gPSBhcmdzO1xuICAgIGlmICghY29uZmlnKSB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIk1pc3NpbmcgRmFicmljIENBIGNvbmZpZ3VyYXRpb25cIik7XG5cbiAgICBjb25zdCB7IHVybCwgdGxzLCBjYU5hbWUgfSA9IGNvbmZpZztcbiAgICBsb2cuaW5mbyhgSW5pdGlhbGl6aW5nIENBIENsaWVudCBmb3IgQ0EgJHtjb25maWcuY2FOYW1lfSBhdCAke2NvbmZpZy51cmx9YCk7XG4gICAgY29uc3QgeyB0cnVzdGVkUm9vdHMsIHZlcmlmeSB9ID0gdGxzIGFzIFRMU09wdGlvbnM7XG5cbiAgICBjb25zdCByb290ID0gKHRydXN0ZWRSb290cyBhcyBzdHJpbmdbXSlbMF0gYXMgc3RyaW5nO1xuICAgIGxvZy5kZWJ1ZyhgUmV0cmlldmluZyBDQSBjZXJ0aWZpY2F0ZSBmcm9tICR7cm9vdH0uIGN3ZDogJHtwcm9jZXNzLmN3ZCgpfWApO1xuXG4gICAgY29uc3QgY2VydGlmaWNhdGUgPSBhd2FpdCBDb3JlVXRpbHMuZ2V0RmlsZUNvbnRlbnQocm9vdCk7XG5cbiAgICBsb2cuZGVidWcoYENBIENlcnRpZmljYXRlOiAke2NlcnRpZmljYXRlLnRvU3RyaW5nKCl9YCk7XG5cbiAgICBjb25zdCBjbGllbnQgPSBuZXcgRmFicmljQ0FTZXJ2aWNlcyhcbiAgICAgIHVybCxcbiAgICAgIHtcbiAgICAgICAgdHJ1c3RlZFJvb3RzOiBCdWZmZXIuZnJvbShjZXJ0aWZpY2F0ZSksXG4gICAgICAgIHZlcmlmeSxcbiAgICAgIH0gYXMgVExTT3B0aW9ucyxcbiAgICAgIGNhTmFtZVxuICAgICk7XG5cbiAgICBjb25zdCB1c2VyID0gYXdhaXQgdGhpcy5nZXRVc2VyKGNvbmZpZywgY3R4KTtcbiAgICBsb2cuZGVidWcoYENBIHVzZXIgbG9hZGVkOiAke3VzZXIuZ2V0TmFtZSgpfWApO1xuICAgIHJldHVybiB7XG4gICAgICBjb25maWcsXG4gICAgICBjbGllbnQsXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGdldENlcnRpZmljYXRlcyguLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55Pik6IFByb21pc2U8c3RyaW5nW10+O1xuICBhc3luYyBnZXRDZXJ0aWZpY2F0ZXMoXG4gICAgcmVxdWVzdDogR2V0Q2VydGlmaWNhdGVzUmVxdWVzdCxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHN0cmluZ1tdPjtcbiAgYXN5bmMgZ2V0Q2VydGlmaWNhdGVzPE1BUCBleHRlbmRzIGJvb2xlYW4+KFxuICAgIGRvTWFwOiBNQVAsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxNQVAgZXh0ZW5kcyBmYWxzZSA/IENlcnRpZmljYXRlUmVzcG9uc2UgOiBzdHJpbmdbXT47XG4gIGFzeW5jIGdldENlcnRpZmljYXRlczxNQVAgZXh0ZW5kcyBib29sZWFuPihcbiAgICByZXF1ZXN0OiBHZXRDZXJ0aWZpY2F0ZXNSZXF1ZXN0LFxuICAgIGRvTWFwOiBNQVAsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxNQVAgZXh0ZW5kcyBmYWxzZSA/IENlcnRpZmljYXRlUmVzcG9uc2UgOiBzdHJpbmdbXT47XG4gIGFzeW5jIGdldENlcnRpZmljYXRlczxNQVAgZXh0ZW5kcyBib29sZWFuPihcbiAgICByZXF1ZXN0PzogR2V0Q2VydGlmaWNhdGVzUmVxdWVzdCB8IE1BUCxcbiAgICBkb01hcDogTUFQID0gdHJ1ZSBhcyBNQVAsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxNQVAgZXh0ZW5kcyBmYWxzZSA/IENlcnRpZmljYXRlUmVzcG9uc2UgOiBzdHJpbmdbXT4ge1xuICAgIGlmIChyZXF1ZXN0IGluc3RhbmNlb2YgQ29udGV4dCkge1xuICAgICAgYXJncyA9IFtyZXF1ZXN0XTtcbiAgICAgIGRvTWFwID0gdHJ1ZSBhcyBNQVA7XG4gICAgICByZXF1ZXN0ID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHJlcXVlc3QgPT09IFwiYm9vbGVhblwiKSB7XG4gICAgICBkb01hcCA9IHJlcXVlc3Q7XG4gICAgICByZXF1ZXN0ID0gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRvTWFwICE9PSBcImJvb2xlYW5cIikge1xuICAgICAgYXJncyA9IFtkb01hcCBhcyBNYXliZUNvbnRleHR1YWxBcmc8YW55PiwgLi4uYXJnc107XG4gICAgICBkb01hcCA9IHRydWUgYXMgTUFQO1xuICAgIH1cblxuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgT3BlcmF0aW9uS2V5cy5SRUFELCB0cnVlKSkuZm9yKFxuICAgICAgdGhpcy5nZXRDZXJ0aWZpY2F0ZXNcbiAgICApO1xuICAgIGxvZy5kZWJ1ZyhcbiAgICAgIGBSZXRyaWV2aW5nIGNlcnRpZmljYXRlcyR7cmVxdWVzdCA/IGAgZm9yICR7cmVxdWVzdC5pZH1gIDogXCJcIn0gZm9yIENBICR7dGhpcy5jb25maWcuY2FOYW1lfWBcbiAgICApO1xuICAgIGNvbnN0IHJlc3BvbnNlOiBDZXJ0aWZpY2F0ZVJlc3BvbnNlID0gKFxuICAgICAgYXdhaXQgdGhpcy5jZXJ0aWZpY2F0ZXMuZ2V0Q2VydGlmaWNhdGVzKHJlcXVlc3QgfHwge30sIHRoaXMudXNlcilcbiAgICApLnJlc3VsdDtcbiAgICBsb2cudmVyYm9zZShgRm91bmQgJHtyZXNwb25zZS5jZXJ0cy5sZW5ndGh9IGNlcnRpZmljYXRlc2ApO1xuICAgIGxvZy5kZWJ1ZyhyZXNwb25zZS5jZXJ0cyk7XG4gICAgcmV0dXJuIChcbiAgICAgIGRvTWFwID8gcmVzcG9uc2UuY2VydHMubWFwKChjKSA9PiBjLlBFTSkgOiByZXNwb25zZVxuICAgICkgYXMgTUFQIGV4dGVuZHMgZmFsc2UgPyBDZXJ0aWZpY2F0ZVJlc3BvbnNlIDogc3RyaW5nW107XG4gIH1cblxuICBhc3luYyBnZXRJZGVudGl0aWVzKGN0eDogQ29udGV4dCk6IFByb21pc2U8RmFicmljSWRlbnRpdHlbXT4ge1xuICAgIGNvbnN0IGxvZyA9IGN0eC5sb2dnZXIuZm9yKHRoaXMuZ2V0SWRlbnRpdGllcyk7XG4gICAgbG9nLnZlcmJvc2UoYFJldHJpZXZpbmcgSWRlbnRpdGllcyB1bmRlciBDQSAke3RoaXMuY29uZmlnLmNhTmFtZX1gKTtcbiAgICBjb25zdCByZXNwb25zZTogSWRlbnRpdHlSZXNwb25zZSA9IChhd2FpdCB0aGlzLmlkZW50aXRpZXMuZ2V0QWxsKHRoaXMudXNlcikpXG4gICAgICAucmVzdWx0O1xuICAgIGxvZy52ZXJib3NlKGBGb3VuZCAke3Jlc3BvbnNlLmlkZW50aXRpZXMubGVuZ3RofSBJZGVudGl0aWVzYCk7XG4gICAgbG9nLmRlYnVnKHJlc3BvbnNlLmlkZW50aXRpZXMpO1xuICAgIHJldHVybiByZXNwb25zZS5pZGVudGl0aWVzO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXRyaWV2ZSBhZmZpbGlhdGlvbnMgZnJvbSB0aGUgQ0EuXG4gICAqIEBzdW1tYXJ5IFF1ZXJpZXMgdGhlIENBIGZvciB0aGUgbGlzdCBvZiBhZmZpbGlhdGlvbnMgYXZhaWxhYmxlIHVuZGVyIHRoZSBjb25maWd1cmVkIENBLlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBhZmZpbGlhdGlvbnMgcmVzdWx0IHBheWxvYWQuXG4gICAqL1xuICBhc3luYyBnZXRBZmZpbGlhdGlvbnMoY3R4OiBDb250ZXh0KSB7XG4gICAgY29uc3QgbG9nID0gY3R4LmxvZ2dlci5mb3IodGhpcy5nZXRBZmZpbGlhdGlvbnMpO1xuICAgIGxvZy52ZXJib3NlKGBSZXRyaWV2aW5nIEFmZmlsaWF0aW9ucyB1bmRlciBDQSAke3RoaXMuY29uZmlnLmNhTmFtZX1gKTtcbiAgICBjb25zdCByZXNwb25zZSA9IChhd2FpdCB0aGlzLmFmZmlsaWF0aW9ucy5nZXRBbGwodGhpcy51c2VyKSkucmVzdWx0O1xuICAgIGxvZy52ZXJib3NlKGBGb3VuZCAke3Jlc3BvbnNlLmEubGVuZ3RofSBBZmZpbGlhdGlvbnNgKTtcbiAgICBsb2cuZGVidWcoSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UpKTtcbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICBwcm90ZWN0ZWQgcGFyc2VFcnJvcihlOiBFcnJvcikge1xuICAgIGNvbnN0IHJlZ2V4cCA9IC8uKmNvZGU6XFxzKFxcZCspLio/bWVzc2FnZTpcXHNbXCInXSguKylbXCInXS9ncztcbiAgICBjb25zdCBtYXRjaCA9IHJlZ2V4cC5leGVjKGUubWVzc2FnZSk7XG4gICAgaWYgKCFtYXRjaCkgcmV0dXJuIG5ldyBSZWdpc3RyYXRpb25FcnJvcihlKTtcbiAgICBjb25zdCBbLCBjb2RlLCBtZXNzYWdlXSA9IG1hdGNoO1xuICAgIHN3aXRjaCAoY29kZSkge1xuICAgICAgY2FzZSBcIjc0XCI6XG4gICAgICBjYXNlIFwiNzFcIjpcbiAgICAgICAgcmV0dXJuIG5ldyBDb25mbGljdEVycm9yKG1lc3NhZ2UpO1xuICAgICAgY2FzZSBcIjIwXCI6XG4gICAgICAgIHJldHVybiBuZXcgQXV0aG9yaXphdGlvbkVycm9yKG1lc3NhZ2UpO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIG5ldyBSZWdpc3RyYXRpb25FcnJvcihtZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlYWQgaWRlbnRpdHkgZGV0YWlscyBmcm9tIHRoZSBDQSBieSBlbnJvbGxtZW50IElELlxuICAgKiBAc3VtbWFyeSBSZXRyaWV2ZXMgYW5kIHZhbGlkYXRlcyBhIHNpbmdsZSBpZGVudGl0eSwgdGhyb3dpbmcgTm90Rm91bmRFcnJvciB3aGVuIG1pc3NpbmcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBlbnJvbGxtZW50SWQgLSBFbnJvbGxtZW50IElEIHRvIGxvb2t1cC5cbiAgICogQHJldHVybiB7UHJvbWlzZTxGYWJyaWNJZGVudGl0eT59IFRoZSBpZGVudGl0eSBkZXRhaWxzIHN0b3JlZCBpbiB0aGUgQ0EuXG4gICAqL1xuICBhc3luYyByZWFkKFxuICAgIGVucm9sbG1lbnRJZDogc3RyaW5nLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8RmFicmljSWRlbnRpdHk+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIE9wZXJhdGlvbktleXMuUkVBRCwgdHJ1ZSkpLmZvcihcbiAgICAgIHRoaXMucmVhZFxuICAgICk7XG4gICAgbG9nLnZlcmJvc2UoYFJldHJpZXZpbmcgaWRlbnRpdHkgd2l0aCBlbnJvbGxtZW50IElEICR7ZW5yb2xsbWVudElkfWApO1xuICAgIGxldCByZXN1bHQ6IElTZXJ2aWNlUmVzcG9uc2U7XG4gICAgdHJ5IHtcbiAgICAgIHJlc3VsdCA9IGF3YWl0IHRoaXMuaWRlbnRpdGllcy5nZXRPbmUoZW5yb2xsbWVudElkLCB0aGlzLnVzZXIpO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoXG4gICAgICAgIGBDb3VsZG4ndCBmaW5kIGVucm9sbG1lbnQgd2l0aCBpZCAke2Vucm9sbG1lbnRJZH06ICR7ZX1gXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICghcmVzdWx0LnN1Y2Nlc3MpXG4gICAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihcbiAgICAgICAgYENvdWxkbid0IGZpbmQgZW5yb2xsbWVudCB3aXRoIGlkICR7ZW5yb2xsbWVudElkfTogJHtyZXN1bHQuZXJyb3JzLmpvaW4oXCJcXG5cIil9YFxuICAgICAgKTtcblxuICAgIHJldHVybiByZXN1bHQucmVzdWx0IGFzIEZhYnJpY0lkZW50aXR5O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZWdpc3RlciBhIG5ldyBpZGVudGl0eSB3aXRoIHRoZSBDQS5cbiAgICogQHN1bW1hcnkgU3VibWl0cyBhIHJlZ2lzdHJhdGlvbiByZXF1ZXN0IGZvciBhIG5ldyBlbnJvbGxtZW50IElELCByZXR1cm5pbmcgdGhlIGVucm9sbG1lbnQgc2VjcmV0IHVwb24gc3VjY2Vzcy5cbiAgICogQHBhcmFtIHtDcmVkZW50aWFsc30gbW9kZWwgLSBDcmVkZW50aWFscyBjb250YWluaW5nIHVzZXJOYW1lIGFuZCBwYXNzd29yZCBmb3IgdGhlIG5ldyBpZGVudGl0eS5cbiAgICogQHBhcmFtIHtib29sZWFufSBbaXNTdXBlclVzZXI9ZmFsc2VdIC0gV2hldGhlciB0byByZWdpc3RlciB0aGUgaWRlbnRpdHkgYXMgYSBzdXBlciB1c2VyLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FmZmlsaWF0aW9uPVwiXCJdIC0gQWZmaWxpYXRpb24gc3RyaW5nIChlLmcuLCBvcmcxLmRlcGFydG1lbnQxKS5cbiAgICogQHBhcmFtIHtDQV9ST0xFIHwgc3RyaW5nfSBbdXNlclJvbGVdIC0gUm9sZSB0byBhc3NpZ24gdG8gdGhlIGlkZW50aXR5LlxuICAgKiBAcGFyYW0ge0lLZXlWYWx1ZUF0dHJpYnV0ZX0gW2F0dHJzXSAtIE9wdGlvbmFsIGF0dHJpYnV0ZXMgdG8gYXR0YWNoIHRvIHRoZSBpZGVudGl0eS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFttYXhFbnJvbGxtZW50c10gLSBNYXhpbXVtIG51bWJlciBvZiBlbnJvbGxtZW50cyBhbGxvd2VkIGZvciB0aGUgaWRlbnRpdHkuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8c3RyaW5nPn0gVGhlIGVucm9sbG1lbnQgc2VjcmV0IGZvciB0aGUgcmVnaXN0ZXJlZCBpZGVudGl0eS5cbiAgICovXG4gIGFzeW5jIHJlZ2lzdGVyKFxuICAgIG1vZGVsOiBDcmVkZW50aWFscyxcbiAgICBpc1N1cGVyVXNlcjogYm9vbGVhbiA9IGZhbHNlLFxuICAgIGFmZmlsaWF0aW9uOiBzdHJpbmcgPSBcIlwiLFxuICAgIHVzZXJSb2xlPzogQ0FfUk9MRSB8IHN0cmluZyxcbiAgICBhdHRycz86IElLZXlWYWx1ZUF0dHJpYnV0ZSxcbiAgICBtYXhFbnJvbGxtZW50cz86IG51bWJlcixcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJyZWdpc3RlclwiLCB0cnVlKSkuZm9yKFxuICAgICAgdGhpcy5yZWdpc3RlclxuICAgICk7XG5cbiAgICBsZXQgcmVnaXN0cmF0aW9uOiBzdHJpbmc7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgdXNlck5hbWUsIHBhc3N3b3JkIH0gPSBtb2RlbDtcbiAgICAgIGNvbnN0IHByb3BzID0ge1xuICAgICAgICBlbnJvbGxtZW50SUQ6IHVzZXJOYW1lIGFzIHN0cmluZyxcbiAgICAgICAgZW5yb2xsbWVudFNlY3JldDogcGFzc3dvcmQsXG4gICAgICAgIGFmZmlsaWF0aW9uOiBhZmZpbGlhdGlvbixcbiAgICAgICAgdXNlclJvbGU6IHVzZXJSb2xlLFxuICAgICAgICBhdHRyczogYXR0cnMsXG4gICAgICAgIG1heEVucm9sbG1lbnRzOiBtYXhFbnJvbGxtZW50cyxcbiAgICAgIH0gYXMgSVJlZ2lzdGVyUmVxdWVzdDtcbiAgICAgIHJlZ2lzdHJhdGlvbiA9IGF3YWl0IHRoaXMuY2xpZW50LnJlZ2lzdGVyKHByb3BzLCB0aGlzLnVzZXIpO1xuICAgICAgbG9nLmluZm8oXG4gICAgICAgIGBSZWdpc3RyYXRpb24gZm9yICR7dXNlck5hbWV9IGNyZWF0ZWQgd2l0aCB1c2VyIHR5cGUgJHt1c2VyUm9sZSA/PyBcIlVuZGVmaW5lZCBSb2xlXCJ9ICR7aXNTdXBlclVzZXIgPyBcImFzIHN1cGVyIHVzZXJcIiA6IFwiXCJ9YFxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlZ2lzdHJhdGlvbjtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdGF0aWMgaWRlbnRpdHlGcm9tRW5yb2xsbWVudChcbiAgICBlbnJvbGxtZW50OiBJRW5yb2xsUmVzcG9uc2UsXG4gICAgbXNwSWQ6IHN0cmluZyxcbiAgICBjdHg6IENvbnRleHRcbiAgKTogSWRlbnRpdHkge1xuICAgIGNvbnN0IGxvZyA9IGN0eC5sb2dnZXIuZm9yKHRoaXMuaWRlbnRpdHlGcm9tRW5yb2xsbWVudCk7XG4gICAgY29uc3QgeyBjZXJ0aWZpY2F0ZSwga2V5LCByb290Q2VydGlmaWNhdGUgfSA9IGVucm9sbG1lbnQ7XG4gICAgbG9nLnZlcmJvc2UoXG4gICAgICBgR2VuZXJhdGluZyBJZGVudGl0eSBmcm9tIGNlcnRpZmljYXRlICR7Y2VydGlmaWNhdGV9IGluIG1zcCAke21zcElkfWBcbiAgICApO1xuICAgIGNvbnN0IGNsaWVudElkID0gQ3J5cHRvVXRpbHMuZmFicmljSWRGcm9tQ2VydGlmaWNhdGUoY2VydGlmaWNhdGUpO1xuICAgIGNvbnN0IGlkID0gQ3J5cHRvVXRpbHMuZW5jb2RlKGNsaWVudElkKTtcbiAgICBsb2cuZGVidWcoYElkZW50aXR5ICR7Y2xpZW50SWR9IGFuZCBlbmNvZGVkSWQgJHtpZH1gKTtcbiAgICByZXR1cm4gbmV3IElkZW50aXR5KHtcbiAgICAgIGlkOiBpZCxcbiAgICAgIGNyZWRlbnRpYWxzOiB7XG4gICAgICAgIGlkOiBpZCxcbiAgICAgICAgY2VydGlmaWNhdGU6IGNlcnRpZmljYXRlLFxuICAgICAgICBwcml2YXRlS2V5OiBrZXkudG9CeXRlcygpLFxuICAgICAgICByb290Q2VydGlmaWNhdGU6IHJvb3RDZXJ0aWZpY2F0ZSxcbiAgICAgIH0sXG4gICAgICBtc3BJZDogbXNwSWQsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEVucm9sbCBhbiBpZGVudGl0eSB3aXRoIHRoZSBDQSB1c2luZyBhIHJlZ2lzdHJhdGlvbiBzZWNyZXQuXG4gICAqIEBzdW1tYXJ5IEV4Y2hhbmdlcyB0aGUgZW5yb2xsbWVudCBJRCBhbmQgc2VjcmV0IGZvciBjZXJ0aWZpY2F0ZXMsIHJldHVybmluZyBhIGNvbnN0cnVjdGVkIElkZW50aXR5IG1vZGVsLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZW5yb2xsbWVudElkIC0gRW5yb2xsbWVudCBJRCB0byBlbnJvbGwuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSByZWdpc3RyYXRpb24gLSBFbnJvbGxtZW50IHNlY3JldCByZXR1cm5lZCBhdCByZWdpc3RyYXRpb24gdGltZS5cbiAgICogQHJldHVybiB7UHJvbWlzZTxJZGVudGl0eT59IFRoZSBlbnJvbGxlZCBpZGVudGl0eSBvYmplY3Qgd2l0aCBjcmVkZW50aWFscy5cbiAgICovXG4gIGFzeW5jIGVucm9sbChcbiAgICBlbnJvbGxtZW50SWQ6IHN0cmluZyxcbiAgICByZWdpc3RyYXRpb246IHN0cmluZyxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPElkZW50aXR5PiB7XG4gICAgY29uc3QgeyBsb2csIGN0eCB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiZW5yb2xsXCIsIHRydWUpKS5mb3IoXG4gICAgICB0aGlzLmVucm9sbFxuICAgICk7XG4gICAgbGV0IGlkZW50aXR5OiBJZGVudGl0eTtcbiAgICB0cnkge1xuICAgICAgbG9nLmRlYnVnKGBFbnJvbGxpbmcgJHtlbnJvbGxtZW50SWR9YCk7XG4gICAgICBjb25zdCBlbnJvbGxtZW50OiBJRW5yb2xsUmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5lbnJvbGwoe1xuICAgICAgICBlbnJvbGxtZW50SUQ6IGVucm9sbG1lbnRJZCxcbiAgICAgICAgZW5yb2xsbWVudFNlY3JldDogcmVnaXN0cmF0aW9uLFxuICAgICAgfSk7XG4gICAgICBpZGVudGl0eSA9IEZhYnJpY0lkZW50aXR5U2VydmljZS5pZGVudGl0eUZyb21FbnJvbGxtZW50KFxuICAgICAgICBlbnJvbGxtZW50LFxuICAgICAgICB0aGlzLmNvbmZpZy5jYU5hbWUsXG4gICAgICAgIGN0eFxuICAgICAgKTtcbiAgICAgIGxvZy5pbmZvKFxuICAgICAgICBgU3VjY2Vzc2Z1bGx5IGVucm9sbGVkICR7ZW5yb2xsbWVudElkfSB1bmRlciAke3RoaXMuY29uZmlnLmNhTmFtZX0gYXMgJHtpZGVudGl0eS5pZH1gXG4gICAgICApO1xuICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGUpO1xuICAgIH1cbiAgICByZXR1cm4gaWRlbnRpdHk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlZ2lzdGVyIGFuZCBlbnJvbGwgYSBuZXcgaWRlbnRpdHkgaW4gb25lIHN0ZXAuXG4gICAqIEBzdW1tYXJ5IFJlZ2lzdGVycyBhIG5ldyBlbnJvbGxtZW50IElEIHdpdGggdGhlIENBIGFuZCBpbW1lZGlhdGVseSBleGNoYW5nZXMgdGhlIHNlY3JldCB0byBlbnJvbGwsIHJldHVybmluZyB0aGUgY3JlYXRlZCBJZGVudGl0eS5cbiAgICogQHBhcmFtIHtDcmVkZW50aWFsc30gbW9kZWwgLSBDcmVkZW50aWFscyBmb3IgdGhlIG5ldyBpZGVudGl0eSBjb250YWluaW5nIHVzZXJOYW1lIGFuZCBwYXNzd29yZC5cbiAgICogQHBhcmFtIHtib29sZWFufSBbaXNTdXBlclVzZXI9ZmFsc2VdIC0gV2hldGhlciB0byByZWdpc3RlciB0aGUgaWRlbnRpdHkgYXMgYSBzdXBlciB1c2VyLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FmZmlsaWF0aW9uPVwiXCJdIC0gQWZmaWxpYXRpb24gc3RyaW5nIChlLmcuLCBvcmcxLmRlcGFydG1lbnQxKS5cbiAgICogQHBhcmFtIHtDQV9ST0xFIHwgc3RyaW5nfSBbdXNlclJvbGVdIC0gUm9sZSB0byBhc3NpZ24gdG8gdGhlIGlkZW50aXR5LlxuICAgKiBAcGFyYW0ge0lLZXlWYWx1ZUF0dHJpYnV0ZX0gW2F0dHJzXSAtIE9wdGlvbmFsIGF0dHJpYnV0ZXMgdG8gYXR0YWNoIHRvIHRoZSBpZGVudGl0eS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFttYXhFbnJvbGxtZW50c10gLSBNYXhpbXVtIG51bWJlciBvZiBlbnJvbGxtZW50cyBhbGxvd2VkIGZvciB0aGUgaWRlbnRpdHkuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8SWRlbnRpdHk+fSBUaGUgZW5yb2xsZWQgaWRlbnRpdHkuXG4gICAqL1xuICBhc3luYyByZWdpc3RlckFuZEVucm9sbChcbiAgICBtb2RlbDogQ3JlZGVudGlhbHMsXG4gICAgaXNTdXBlclVzZXI6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICBhZmZpbGlhdGlvbjogc3RyaW5nID0gXCJcIixcbiAgICB1c2VyUm9sZT86IENBX1JPTEUgfCBzdHJpbmcsXG4gICAgYXR0cnM/OiBJS2V5VmFsdWVBdHRyaWJ1dGUsXG4gICAgbWF4RW5yb2xsbWVudHM/OiBudW1iZXIsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxJZGVudGl0eT4ge1xuICAgIGNvbnN0IHsgY3R4IH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJyZWdpc3Rlci1lbnJvbGxcIiwgdHJ1ZSkpLmZvcihcbiAgICAgIHRoaXMucmVnaXN0ZXJBbmRFbnJvbGxcbiAgICApO1xuICAgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9IGF3YWl0IHRoaXMucmVnaXN0ZXIoXG4gICAgICBtb2RlbCxcbiAgICAgIGlzU3VwZXJVc2VyLFxuICAgICAgYWZmaWxpYXRpb24sXG4gICAgICB1c2VyUm9sZSxcbiAgICAgIGF0dHJzLFxuICAgICAgbWF4RW5yb2xsbWVudHMsXG4gICAgICBjdHhcbiAgICApO1xuICAgIGNvbnN0IHsgdXNlck5hbWUgfSA9IG1vZGVsO1xuICAgIHJldHVybiB0aGlzLmVucm9sbCh1c2VyTmFtZSBhcyBzdHJpbmcsIHJlZ2lzdHJhdGlvbiwgY3R4KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmUtZW5yb2xsIGFuIGV4aXN0aW5nIGlkZW50aXR5IHVzaW5nIGl0cyBjdXJyZW50IGVucm9sbG1lbnQuXG4gICAqIEBzdW1tYXJ5IFJlbmV3cyB0aGUgZW5yb2xsbWVudCBjZXJ0aWZpY2F0ZSBieSBjYWxsaW5nIHRoZSBDQSByZWVucm9sbC5cbiAgICogQHBhcmFtIHtVc2VyfSBjdXJyZW50VXNlciAtIEFscmVhZHkgZW5yb2xsZWQgdXNlciwgbXVzdCBoYXZlIGEgc2lnbmluZyBpZGVudGl0eS5cbiAgICogQHJldHVybiB7UHJvbWlzZTxJZGVudGl0eT59IFRoZSByZW5ld2VkIGlkZW50aXR5IG9iamVjdCB3aXRoIG5ldyBjcmVkZW50aWFscy5cbiAgICovXG4gIGFzeW5jIHVwZGF0ZUlkZW50aXR5KFxuICAgIGVucm9sbG1lbnRJZDogc3RyaW5nLFxuICAgIGlkZW50aXR5OiB7IGNlcnRpZmljYXRlOiBzdHJpbmc7IHByaXZhdGVLZXk6IHN0cmluZyB9LFxuICAgIGlkZW50aXR5UmVxdWVzdDogSUlkZW50aXR5UmVxdWVzdCxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPElkZW50aXR5PiB7XG4gICAgY29uc3QgeyBsb2csIGN0eCB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwicmVlbnJvbGxcIiwgdHJ1ZSkpLmZvcihcbiAgICAgIHRoaXMudXBkYXRlSWRlbnRpdHlcbiAgICApO1xuXG4gICAgdHJ5IHtcbiAgICAgIGxvZy5pbmZvKGBSZW5ld2luZyBpZGVudGl0eSBmb3IgJHtlbnJvbGxtZW50SWR9YCk7XG5cbiAgICAgIC8vIFVwZGF0ZSBhdHRyaWJ1dGVzIGluIHRoZSBDQSByZWdpc3RyeSAoYWRtaW4gb3BlcmF0aW9uKS4gVGhpcyBjaGFuZ2VzIHRoZSBcInNvdXJjZSBvZiB0cnV0aFwiLlxuICAgICAgY29uc3QgaWRlbnRpdHlTZXJ2aWNlID0gdGhpcy5jbGllbnQubmV3SWRlbnRpdHlTZXJ2aWNlKCk7XG5cbiAgICAgIGNvbnN0IGNhVXNlcklkZW50aXR5ID0gKGF3YWl0IGlkZW50aXR5U2VydmljZS5nZXRPbmUoXG4gICAgICAgIGVucm9sbG1lbnRJZCxcbiAgICAgICAgdGhpcy51c2VyXG4gICAgICApKSBhcyB7IHJlc3VsdDogeyBhdHRycz86IElLZXlWYWx1ZUF0dHJpYnV0ZVtdIH0gfTtcblxuICAgICAgYXdhaXQgaWRlbnRpdHlTZXJ2aWNlLnVwZGF0ZShlbnJvbGxtZW50SWQsIGlkZW50aXR5UmVxdWVzdCwgdGhpcy51c2VyKTsgLy8gYXMgSVNlcnZpY2VSZXNwb25zZSAmIHsgcmVzdWx0OiBJSWRlbnRpdHlSZXF1ZXN0IH07XG5cbiAgICAgIC8vIFJlZW5yb2xsIGFzIHRoZSB1c2VyLiBSZXF1ZXN0IG11c3QgYmUgc2lnbmVkIHVzaW5nIHRoZSBleGlzdGluZyBjZXJ0aWZpY2F0ZS5cbiAgICAgIGNvbnN0IHJlZW5yb2xsVXNlciA9IFVzZXIuY3JlYXRlVXNlcihcbiAgICAgICAgZW5yb2xsbWVudElkLFxuICAgICAgICBcIlwiLCAvLyBlbnJvbGxtZW50U2VjcmV0IG5vdCByZXF1aXJlZCBmb3IgcmVlbnJvbGxcbiAgICAgICAgdGhpcy51c2VyLmdldE1zcGlkKCksXG4gICAgICAgIGlkZW50aXR5LmNlcnRpZmljYXRlLFxuICAgICAgICBpZGVudGl0eS5wcml2YXRlS2V5XG4gICAgICApO1xuICAgICAgcmVlbnJvbGxVc2VyLnNldENyeXB0b1N1aXRlKHRoaXMudXNlci5nZXRDcnlwdG9TdWl0ZSgpKTtcblxuICAgICAgY29uc3QgZW5yb2xsbWVudEF0dHJzOiBJQXR0cmlidXRlUmVxdWVzdFtdID0gKFxuICAgICAgICBjYVVzZXJJZGVudGl0eS5yZXN1bHQuYXR0cnMgfHwgW11cbiAgICAgICkubWFwKCh7IG5hbWUgfSkgPT4gKHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgb3B0aW9uYWw6IGZhbHNlLFxuICAgICAgfSkpO1xuXG4gICAgICBjb25zdCBlbnJvbGxtZW50ID0gYXdhaXQgdGhpcy5jbGllbnQucmVlbnJvbGwoXG4gICAgICAgIHJlZW5yb2xsVXNlcixcbiAgICAgICAgZW5yb2xsbWVudEF0dHJzXG4gICAgICApO1xuXG4gICAgICBjb25zdCByZW5ld2VkSWRlbnRpdHkgPSBGYWJyaWNJZGVudGl0eVNlcnZpY2UuaWRlbnRpdHlGcm9tRW5yb2xsbWVudChcbiAgICAgICAgZW5yb2xsbWVudCxcbiAgICAgICAgdGhpcy5jb25maWcuY2FOYW1lLFxuICAgICAgICBjdHhcbiAgICAgICk7XG5cbiAgICAgIC8vIFJldm9rZSB0aGUgcHJldmlvdXMgY2VydGlmaWNhdGUgb25seSwgc28gdGhlIG9sZCBjZXJ0IGJlY29tZXMgaW52YWxpZC5cbiAgICAgIGxvZy5kZWJ1ZyhgUmV2b2tpbmcgcHJldmlvdXMgY2VydGlmaWNhdGVzIGZvciAke2Vucm9sbG1lbnRJZH1gKTtcbiAgICAgIGNvbnN0IHsgYWtpLCBzZXJpYWwgfSA9IGdldEFraUFuZFNlcmlhbEZyb21DZXJ0KGlkZW50aXR5LmNlcnRpZmljYXRlKTtcbiAgICAgIGF3YWl0IHRoaXMucmV2b2tlKGVucm9sbG1lbnRJZCwgeyBha2ksIHNlcmlhbCB9LCBhcmdzKTtcblxuICAgICAgbG9nLmRlYnVnKGBSZW5ldyBpZGVudGl0eSBzdWNjZXNzZnVsIGZvciAke2Vucm9sbG1lbnRJZH1gKTtcbiAgICAgIHJldHVybiByZW5ld2VkSWRlbnRpdHk7XG4gICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldm9rZXMgdGhlIGVucm9sbG1lbnQgb2YgYW4gaWRlbnRpdHkgd2l0aCB0aGUgc3BlY2lmaWVkIGVucm9sbG1lbnQgSUQuXG4gICAqXG4gICAqIEBwYXJhbSBlbnJvbGxtZW50SWQgLSBUaGUgZW5yb2xsbWVudCBJRCBvZiB0aGUgaWRlbnRpdHkgdG8gYmUgcmV2b2tlZC5cbiAgICpcbiAgICogQHJldHVybnMgQSBQcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHJlc3VsdCBvZiB0aGUgcmV2b2NhdGlvbiBvcGVyYXRpb24uXG4gICAqXG4gICAqIEB0aHJvd3Mge05vdEZvdW5kRXJyb3J9IElmIHRoZSBlbnJvbGxtZW50IHdpdGggdGhlIHNwZWNpZmllZCBJRCBkb2VzIG5vdCBleGlzdC5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gSWYgdGhlcmUgaXMgYW4gZXJyb3IgZHVyaW5nIHRoZSByZXZvY2F0aW9uIHByb2Nlc3MuXG4gICAqL1xuICBhc3luYyByZXZva2UoXG4gICAgZW5yb2xsbWVudElkOiBzdHJpbmcsXG4gICAgcmV2b2tlT3B0aW9uczogT21pdDxJUmV2b2tlUmVxdWVzdCwgXCJlbnJvbGxtZW50SURcIj4sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxJU2VydmljZVJlc3BvbnNlPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInJldm9rZVwiLCB0cnVlKSkuZm9yKHRoaXMucmV2b2tlKTtcbiAgICBsb2cudmVyYm9zZShgUmV2b2tpbmcgaWRlbnRpdHkgd2l0aCBlbnJvbGxtZW50IElEICR7ZW5yb2xsbWVudElkfWApO1xuICAgIGNvbnN0IGlkZW50aXR5ID0gYXdhaXQgdGhpcy5yZWFkKGVucm9sbG1lbnRJZCk7XG4gICAgaWYgKCFpZGVudGl0eSlcbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKFxuICAgICAgICBgQ291bGQgbm90IGZpbmQgZW5yb2xsbWVudCB3aXRoIGlkICR7ZW5yb2xsbWVudElkfWBcbiAgICAgICk7XG4gICAgbGV0IHJlc3VsdDogSVNlcnZpY2VSZXNwb25zZTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVhc29uID1cbiAgICAgICAgQm9vbGVhbihyZXZva2VPcHRpb25zLnNlcmlhbCkgfHwgQm9vbGVhbihyZXZva2VPcHRpb25zLmFraSlcbiAgICAgICAgICA/IFwiUmV2b2tlIFVzZXIgQ2VydGlmaWNhdGVcIlxuICAgICAgICAgIDogXCJVc2VyIERlbGV0aW9uXCI7XG5cbiAgICAgIGNvbnN0IHJldm9rZVJlcXVlc3Q6IElSZXZva2VSZXF1ZXN0ID0ge1xuICAgICAgICByZWFzb24sXG4gICAgICAgIC4uLnJldm9rZU9wdGlvbnMsXG4gICAgICAgIGVucm9sbG1lbnRJRDogaWRlbnRpdHkuaWQsXG4gICAgICB9O1xuXG4gICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLmNsaWVudC5yZXZva2UocmV2b2tlUmVxdWVzdCwgdGhpcy51c2VyKTtcbiAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgYENvdWxkIG5vdCByZXZva2UgZW5yb2xsbWVudCB3aXRoIGlkICR7ZW5yb2xsbWVudElkfTogJHtlfWBcbiAgICAgICk7XG4gICAgfVxuICAgIGlmICghcmVzdWx0LnN1Y2Nlc3MpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgYENvdWxkIG5vdCByZXZva2UgZW5yb2xsbWVudCB3aXRoIGlkICR7ZW5yb2xsbWVudElkfTogJHtyZXN1bHQuZXJyb3JzLmpvaW4oXCJcXG5cIil9YFxuICAgICAgKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
@@ -1,91 +0,0 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.RegistrationRequestBuilder = void 0;
13
- const decorator_validation_1 = require("@decaf-ts/decorator-validation");
14
- const db_decorators_1 = require("@decaf-ts/db-decorators");
15
- class RegistrationRequestBuilder extends decorator_validation_1.Model {
16
- constructor() {
17
- super(...arguments);
18
- this.affiliation = "";
19
- }
20
- build() {
21
- const errs = this.hasErrors();
22
- if (errs)
23
- throw new db_decorators_1.ValidationError(errs.toString());
24
- const response = {
25
- enrollmentID: this.enrollmentID,
26
- enrollmentSecret: this.enrollmentSecret,
27
- role: this.role,
28
- affiliation: this.affiliation,
29
- };
30
- if (typeof this.maxEnrollments !== "undefined")
31
- response.maxEnrollments = this.maxEnrollments;
32
- if (this.attrs)
33
- response.attrs = this.attrs;
34
- return response;
35
- }
36
- setAffiliation(value) {
37
- this.affiliation = value;
38
- return this;
39
- }
40
- addAttr(attr) {
41
- this.attrs = this.attrs || [];
42
- this.attrs.push(attr);
43
- return this;
44
- }
45
- setAttrs(value) {
46
- this.attrs = value;
47
- return this;
48
- }
49
- setEnrollmentID(value) {
50
- this.enrollmentID = value;
51
- return this;
52
- }
53
- setEnrollmentSecret(value) {
54
- this.enrollmentSecret = value;
55
- return this;
56
- }
57
- setMaxEnrollments(value) {
58
- this.maxEnrollments = value;
59
- return this;
60
- }
61
- setRole(value) {
62
- this.role = value;
63
- return this;
64
- }
65
- }
66
- exports.RegistrationRequestBuilder = RegistrationRequestBuilder;
67
- __decorate([
68
- (0, decorator_validation_1.required)(),
69
- __metadata("design:type", String)
70
- ], RegistrationRequestBuilder.prototype, "affiliation", void 0);
71
- __decorate([
72
- (0, decorator_validation_1.minlength)(1),
73
- __metadata("design:type", Array)
74
- ], RegistrationRequestBuilder.prototype, "attrs", void 0);
75
- __decorate([
76
- (0, decorator_validation_1.required)(),
77
- __metadata("design:type", String)
78
- ], RegistrationRequestBuilder.prototype, "enrollmentID", void 0);
79
- __decorate([
80
- (0, decorator_validation_1.required)(),
81
- __metadata("design:type", String)
82
- ], RegistrationRequestBuilder.prototype, "enrollmentSecret", void 0);
83
- __decorate([
84
- (0, decorator_validation_1.min)(0),
85
- __metadata("design:type", Number)
86
- ], RegistrationRequestBuilder.prototype, "maxEnrollments", void 0);
87
- __decorate([
88
- (0, decorator_validation_1.required)(),
89
- __metadata("design:type", String)
90
- ], RegistrationRequestBuilder.prototype, "role", void 0);
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVnaXN0cmF0aW9uUmVxdWVzdEJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50L3NlcnZpY2VzL1JlZ2lzdHJhdGlvblJlcXVlc3RCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUVBLHlFQUt3QztBQUN4QywyREFBMEQ7QUFFMUQsTUFBYSwwQkFBMkIsU0FBUSw0QkFBSztJQUFyRDs7UUFFRSxnQkFBVyxHQUFXLEVBQUUsQ0FBQztJQThEM0IsQ0FBQztJQWxEQyxLQUFLO1FBQ0gsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzlCLElBQUksSUFBSTtZQUFFLE1BQU0sSUFBSSwrQkFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sUUFBUSxHQUFxQjtZQUNqQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtZQUN2QyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDOUIsQ0FBQztRQUNGLElBQUksT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLFdBQVc7WUFDNUMsUUFBUSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQ2hELElBQUksSUFBSSxDQUFDLEtBQUs7WUFBRSxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDNUMsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFhO1FBQzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUF3QjtRQUM5QixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUEyQjtRQUNsQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBYTtRQUMzQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFhO1FBQy9CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDOUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsS0FBYTtRQUM3QixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBdUI7UUFDN0IsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0NBQ0Y7QUFoRUQsZ0VBZ0VDO0FBOURDO0lBREMsSUFBQSwrQkFBUSxHQUFFOzsrREFDYztBQUV6QjtJQURDLElBQUEsZ0NBQVMsRUFBQyxDQUFDLENBQUM7O3lEQUNnQjtBQUU3QjtJQURDLElBQUEsK0JBQVEsR0FBRTs7Z0VBQ1c7QUFFdEI7SUFEQyxJQUFBLCtCQUFRLEdBQUU7O29FQUNlO0FBRTFCO0lBREMsSUFBQSwwQkFBRyxFQUFDLENBQUMsQ0FBQzs7a0VBQ2lCO0FBRXhCO0lBREMsSUFBQSwrQkFBUSxHQUFFOzt3REFDRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElSZWdpc3RlclJlcXVlc3QsIElLZXlWYWx1ZUF0dHJpYnV0ZSB9IGZyb20gXCJmYWJyaWMtY2EtY2xpZW50XCI7XG5pbXBvcnQgeyBDQV9ST0xFIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQge1xuICBtaW4sXG4gIG1pbmxlbmd0aCxcbiAgTW9kZWwsXG4gIHJlcXVpcmVkLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuZXhwb3J0IGNsYXNzIFJlZ2lzdHJhdGlvblJlcXVlc3RCdWlsZGVyIGV4dGVuZHMgTW9kZWwge1xuICBAcmVxdWlyZWQoKVxuICBhZmZpbGlhdGlvbjogc3RyaW5nID0gXCJcIjtcbiAgQG1pbmxlbmd0aCgxKVxuICBhdHRycz86IElLZXlWYWx1ZUF0dHJpYnV0ZVtdO1xuICBAcmVxdWlyZWQoKVxuICBlbnJvbGxtZW50SUQhOiBzdHJpbmc7XG4gIEByZXF1aXJlZCgpXG4gIGVucm9sbG1lbnRTZWNyZXQhOiBzdHJpbmc7XG4gIEBtaW4oMClcbiAgbWF4RW5yb2xsbWVudHM/OiBudW1iZXI7XG4gIEByZXF1aXJlZCgpXG4gIHJvbGUhOiBzdHJpbmc7XG5cbiAgYnVpbGQoKTogSVJlZ2lzdGVyUmVxdWVzdCB7XG4gICAgY29uc3QgZXJycyA9IHRoaXMuaGFzRXJyb3JzKCk7XG4gICAgaWYgKGVycnMpIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoZXJycy50b1N0cmluZygpKTtcbiAgICBjb25zdCByZXNwb25zZTogSVJlZ2lzdGVyUmVxdWVzdCA9IHtcbiAgICAgIGVucm9sbG1lbnRJRDogdGhpcy5lbnJvbGxtZW50SUQsXG4gICAgICBlbnJvbGxtZW50U2VjcmV0OiB0aGlzLmVucm9sbG1lbnRTZWNyZXQsXG4gICAgICByb2xlOiB0aGlzLnJvbGUsXG4gICAgICBhZmZpbGlhdGlvbjogdGhpcy5hZmZpbGlhdGlvbixcbiAgICB9O1xuICAgIGlmICh0eXBlb2YgdGhpcy5tYXhFbnJvbGxtZW50cyAhPT0gXCJ1bmRlZmluZWRcIilcbiAgICAgIHJlc3BvbnNlLm1heEVucm9sbG1lbnRzID0gdGhpcy5tYXhFbnJvbGxtZW50cztcbiAgICBpZiAodGhpcy5hdHRycykgcmVzcG9uc2UuYXR0cnMgPSB0aGlzLmF0dHJzO1xuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuXG4gIHNldEFmZmlsaWF0aW9uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmFmZmlsaWF0aW9uID0gdmFsdWU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhZGRBdHRyKGF0dHI6IElLZXlWYWx1ZUF0dHJpYnV0ZSkge1xuICAgIHRoaXMuYXR0cnMgPSB0aGlzLmF0dHJzIHx8IFtdO1xuICAgIHRoaXMuYXR0cnMucHVzaChhdHRyKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldEF0dHJzKHZhbHVlOiBJS2V5VmFsdWVBdHRyaWJ1dGVbXSkge1xuICAgIHRoaXMuYXR0cnMgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldEVucm9sbG1lbnRJRCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5lbnJvbGxtZW50SUQgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldEVucm9sbG1lbnRTZWNyZXQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuZW5yb2xsbWVudFNlY3JldCA9IHZhbHVlO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0TWF4RW5yb2xsbWVudHModmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMubWF4RW5yb2xsbWVudHMgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldFJvbGUodmFsdWU6IENBX1JPTEUgfCBzdHJpbmcpIHtcbiAgICB0aGlzLnJvbGUgPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuIl19
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CA_ROLE = void 0;
4
- /**
5
- * @description Certificate Authority role types used during enrollment and registration.
6
- * @summary Enumerates the standard Hyperledger Fabric CA roles that can be assigned to identities when registering with the CA service.
7
- * @enum {string}
8
- * @readonly
9
- * @memberOf module:for-fabric.client
10
- */
11
- var CA_ROLE;
12
- (function (CA_ROLE) {
13
- /** Administrator role with elevated privileges for managing identities and affiliations */
14
- CA_ROLE["ADMIN"] = "admin";
15
- /** Standard user role for application clients interacting with the network */
16
- CA_ROLE["USER"] = "user";
17
- /** Client role typically used for SDK-based interactions and service accounts */
18
- CA_ROLE["CLIENT"] = "client";
19
- })(CA_ROLE || (exports.CA_ROLE = CA_ROLE = {}));
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaWVudC9zZXJ2aWNlcy9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7OztHQU1HO0FBQ0gsSUFBWSxPQU9YO0FBUEQsV0FBWSxPQUFPO0lBQ2pCLDJGQUEyRjtJQUMzRiwwQkFBZSxDQUFBO0lBQ2YsOEVBQThFO0lBQzlFLHdCQUFhLENBQUE7SUFDYixpRkFBaUY7SUFDakYsNEJBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVBXLE9BQU8sdUJBQVAsT0FBTyxRQU9sQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRlc2NyaXB0aW9uIENlcnRpZmljYXRlIEF1dGhvcml0eSByb2xlIHR5cGVzIHVzZWQgZHVyaW5nIGVucm9sbG1lbnQgYW5kIHJlZ2lzdHJhdGlvbi5cbiAqIEBzdW1tYXJ5IEVudW1lcmF0ZXMgdGhlIHN0YW5kYXJkIEh5cGVybGVkZ2VyIEZhYnJpYyBDQSByb2xlcyB0aGF0IGNhbiBiZSBhc3NpZ25lZCB0byBpZGVudGl0aWVzIHdoZW4gcmVnaXN0ZXJpbmcgd2l0aCB0aGUgQ0Egc2VydmljZS5cbiAqIEBlbnVtIHtzdHJpbmd9XG4gKiBAcmVhZG9ubHlcbiAqIEBtZW1iZXJPZiBtb2R1bGU6Zm9yLWZhYnJpYy5jbGllbnRcbiAqL1xuZXhwb3J0IGVudW0gQ0FfUk9MRSB7XG4gIC8qKiBBZG1pbmlzdHJhdG9yIHJvbGUgd2l0aCBlbGV2YXRlZCBwcml2aWxlZ2VzIGZvciBtYW5hZ2luZyBpZGVudGl0aWVzIGFuZCBhZmZpbGlhdGlvbnMgKi9cbiAgQURNSU4gPSBcImFkbWluXCIsXG4gIC8qKiBTdGFuZGFyZCB1c2VyIHJvbGUgZm9yIGFwcGxpY2F0aW9uIGNsaWVudHMgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgbmV0d29yayAqL1xuICBVU0VSID0gXCJ1c2VyXCIsXG4gIC8qKiBDbGllbnQgcm9sZSB0eXBpY2FsbHkgdXNlZCBmb3IgU0RLLWJhc2VkIGludGVyYWN0aW9ucyBhbmQgc2VydmljZSBhY2NvdW50cyAqL1xuICBDTElFTlQgPSBcImNsaWVudFwiLFxufVxuIl19
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./FabricEnrollmentService.cjs"), exports);
18
- __exportStar(require("./RegistrationRequestBuilder.cjs"), exports);
19
- __exportStar(require("./FabricIdentityService.cjs"), exports);
20
- __exportStar(require("./constants.cjs"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY2xpZW50L3NlcnZpY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBMEM7QUFDMUMsbUVBQTZDO0FBQzdDLDhEQUF3QztBQUN4QyxrREFBNEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9GYWJyaWNFbnJvbGxtZW50U2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vUmVnaXN0cmF0aW9uUmVxdWVzdEJ1aWxkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0ZhYnJpY0lkZW50aXR5U2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29uc3RhbnRzXCI7XG4iXX0=
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGYWJyaWNGbGFncyB9IGZyb20gXCIuLi9zaGFyZWQvaW5kZXhcIjtcblxuZXhwb3J0IHR5cGUgRmFicmljQ2xpZW50RmxhZ3MgPSBGYWJyaWNGbGFncyAmIHtcbiAgZXZhbHVhdGVUaW1lb3V0OiBudW1iZXI7XG4gIGVuZG9yc2VUaW1lb3V0OiBudW1iZXI7XG4gIHN1Ym1pdFRpbWVvdXQ6IG51bWJlcjtcbiAgY29tbWl0VGltZW91dDogbnVtYmVyO1xuICBlbmRvcnNpbmdPcmdzPzogc3RyaW5nW107XG4gIGtleUNlcnRPckRpcmVjdG9yeVBhdGg/OiBzdHJpbmcgfCBCdWZmZXI7XG4gIGNlcnRDZXJ0T3JEaXJlY3RvcnlQYXRoPzogc3RyaW5nIHwgQnVmZmVyO1xuICBjaGFpbmNvZGVOYW1lPzogc3RyaW5nO1xuICBjb250cmFjdE5hbWU/OiBzdHJpbmc7XG4gIHNpemVMaW1pdD86IG51bWJlcjtcbiAgbXNwSWQ/OiBzdHJpbmc7XG4gIGNoYW5uZWw/OiBzdHJpbmc7XG4gIGxlZ2FjeT86IGJvb2xlYW47XG4gIGFsbG93R2F0ZXdheU92ZXJyaWRlPzogYm9vbGVhbjtcbiAgYWxsb3dNYW51YWxFbmRvcnNpbmdPcmdzOiBib29sZWFuO1xuICBlbmNyeXB0VHJhbnNpZW50PzogZmFsc2UgfCBzdHJpbmcgfCAoKCkgPT4gc3RyaW5nKTtcbiAgc3ludGhldGljRXZlbnRzPzogYm9vbGVhbjtcbn07XG4iXX0=