@decaf-ts/for-fabric 0.9.0 → 0.10.0

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 (623) hide show
  1. package/lib/cjs/bin/cli.cjs +3 -2
  2. package/lib/cjs/bin/cli.cjs.map +1 -0
  3. package/lib/cjs/cli-module.cjs +26 -25
  4. package/lib/cjs/cli-module.cjs.map +1 -0
  5. package/lib/cjs/cli-utils.cjs +5 -5
  6. package/lib/cjs/cli-utils.cjs.map +1 -0
  7. package/lib/cjs/client/FabricClientAdapter.cjs +46 -40
  8. package/lib/cjs/client/FabricClientAdapter.cjs.map +1 -0
  9. package/lib/cjs/client/FabricClientDispatch.cjs +8 -7
  10. package/lib/cjs/client/FabricClientDispatch.cjs.map +1 -0
  11. package/lib/cjs/client/FabricClientPaginator.cjs +1 -0
  12. package/lib/cjs/client/FabricClientPaginator.cjs.map +1 -0
  13. package/lib/cjs/client/FabricClientRepository.cjs +4 -3
  14. package/lib/cjs/client/FabricClientRepository.cjs.map +1 -0
  15. package/lib/cjs/client/FabricClientStatement.cjs +1 -0
  16. package/lib/cjs/client/FabricClientStatement.cjs.map +1 -0
  17. package/lib/cjs/client/collections/generation.cjs +3 -2
  18. package/lib/cjs/client/collections/generation.cjs.map +1 -0
  19. package/lib/cjs/client/collections/index.cjs +1 -0
  20. package/lib/cjs/client/collections/index.cjs.map +1 -0
  21. package/lib/cjs/client/constants.cjs +1 -0
  22. package/lib/cjs/client/constants.cjs.map +1 -0
  23. package/lib/cjs/client/crypto.cjs +12 -13
  24. package/lib/cjs/client/crypto.cjs.map +1 -0
  25. package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs +7 -6
  26. package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs.map +1 -0
  27. package/lib/cjs/client/erc20/index.cjs +1 -0
  28. package/lib/cjs/client/erc20/index.cjs.map +1 -0
  29. package/lib/cjs/client/fabric-fs.cjs +1 -0
  30. package/lib/cjs/client/fabric-fs.cjs.map +1 -0
  31. package/lib/cjs/client/fabric-hsm.cjs +3 -2
  32. package/lib/cjs/client/fabric-hsm.cjs.map +1 -0
  33. package/lib/cjs/client/ids/id-extraction.cjs +1 -0
  34. package/lib/cjs/client/ids/id-extraction.cjs.map +1 -0
  35. package/lib/cjs/client/ids/index.cjs +1 -0
  36. package/lib/cjs/client/ids/index.cjs.map +1 -0
  37. package/lib/cjs/client/index.cjs +10 -9
  38. package/lib/cjs/client/index.cjs.map +1 -0
  39. package/lib/cjs/client/indexes/generation.cjs +1 -0
  40. package/lib/cjs/client/indexes/generation.cjs.map +1 -0
  41. package/lib/cjs/client/indexes/index.cjs +1 -0
  42. package/lib/cjs/client/indexes/index.cjs.map +1 -0
  43. package/lib/cjs/client/logging.cjs +1 -0
  44. package/lib/cjs/client/logging.cjs.map +1 -0
  45. package/lib/cjs/client/services/FabricEnrollmentService.cjs +17 -32
  46. package/lib/cjs/client/services/FabricEnrollmentService.cjs.map +1 -0
  47. package/lib/cjs/client/services/FabricIdentityService.cjs +15 -14
  48. package/lib/cjs/client/services/FabricIdentityService.cjs.map +1 -0
  49. package/lib/cjs/client/services/RegistrationRequestBuilder.cjs +11 -5
  50. package/lib/cjs/client/services/RegistrationRequestBuilder.cjs.map +1 -0
  51. package/lib/cjs/client/services/constants.cjs +2 -9
  52. package/lib/cjs/client/services/constants.cjs.map +1 -0
  53. package/lib/cjs/client/services/index.cjs +1 -0
  54. package/lib/cjs/client/services/index.cjs.map +1 -0
  55. package/lib/cjs/client/types.cjs +1 -0
  56. package/lib/cjs/client/types.cjs.map +1 -0
  57. package/lib/cjs/client/utils.cjs +1 -0
  58. package/lib/cjs/client/utils.cjs.map +1 -0
  59. package/lib/cjs/contract/Address.cjs +14 -8
  60. package/lib/cjs/contract/Address.cjs.map +1 -0
  61. package/lib/cjs/contract/AddressContract.cjs +15 -9
  62. package/lib/cjs/contract/AddressContract.cjs.map +1 -0
  63. package/lib/cjs/contract/AuditContract.cjs +15 -9
  64. package/lib/cjs/contract/AuditContract.cjs.map +1 -0
  65. package/lib/cjs/contract/BatchContract.cjs +15 -9
  66. package/lib/cjs/contract/BatchContract.cjs.map +1 -0
  67. package/lib/cjs/contract/MarketContract.cjs +15 -9
  68. package/lib/cjs/contract/MarketContract.cjs.map +1 -0
  69. package/lib/cjs/contract/OtherAuditContract.cjs +15 -9
  70. package/lib/cjs/contract/OtherAuditContract.cjs.map +1 -0
  71. package/lib/cjs/contract/OtherBatchContract.cjs +15 -9
  72. package/lib/cjs/contract/OtherBatchContract.cjs.map +1 -0
  73. package/lib/cjs/contract/OtherMarketContract.cjs +15 -9
  74. package/lib/cjs/contract/OtherMarketContract.cjs.map +1 -0
  75. package/lib/cjs/contract/OtherProductContract.cjs +15 -9
  76. package/lib/cjs/contract/OtherProductContract.cjs.map +1 -0
  77. package/lib/cjs/contract/OtherProductImageContract.cjs +15 -9
  78. package/lib/cjs/contract/OtherProductImageContract.cjs.map +1 -0
  79. package/lib/cjs/contract/OtherProductSharedContract.cjs +15 -9
  80. package/lib/cjs/contract/OtherProductSharedContract.cjs.map +1 -0
  81. package/lib/cjs/contract/OtherProductStrengthContract.cjs +15 -9
  82. package/lib/cjs/contract/OtherProductStrengthContract.cjs.map +1 -0
  83. package/lib/cjs/contract/Product.cjs +15 -9
  84. package/lib/cjs/contract/Product.cjs.map +1 -0
  85. package/lib/cjs/contract/ProductContract.cjs +15 -9
  86. package/lib/cjs/contract/ProductContract.cjs.map +1 -0
  87. package/lib/cjs/contract/ProductStrengthContract.cjs +15 -9
  88. package/lib/cjs/contract/ProductStrengthContract.cjs.map +1 -0
  89. package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs +15 -9
  90. package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs.map +1 -0
  91. package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs +15 -9
  92. package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs.map +1 -0
  93. package/lib/cjs/contract/User.cjs +13 -7
  94. package/lib/cjs/contract/User.cjs.map +1 -0
  95. package/lib/cjs/contract/UserContract.cjs +15 -9
  96. package/lib/cjs/contract/UserContract.cjs.map +1 -0
  97. package/lib/cjs/contract/index.cjs +31 -30
  98. package/lib/cjs/contract/index.cjs.map +1 -0
  99. package/lib/cjs/contract/logging-context.cjs +1 -0
  100. package/lib/cjs/contract/logging-context.cjs.map +1 -0
  101. package/lib/cjs/contract/models/Audit.cjs +17 -11
  102. package/lib/cjs/contract/models/Audit.cjs.map +1 -0
  103. package/lib/cjs/contract/models/BaseIdentifiedModel.cjs +15 -9
  104. package/lib/cjs/contract/models/BaseIdentifiedModel.cjs.map +1 -0
  105. package/lib/cjs/contract/models/BaseModel.cjs +13 -7
  106. package/lib/cjs/contract/models/BaseModel.cjs.map +1 -0
  107. package/lib/cjs/contract/models/Batch.cjs +24 -18
  108. package/lib/cjs/contract/models/Batch.cjs.map +1 -0
  109. package/lib/cjs/contract/models/GtinOwner.cjs +18 -12
  110. package/lib/cjs/contract/models/GtinOwner.cjs.map +1 -0
  111. package/lib/cjs/contract/models/History.cjs +15 -9
  112. package/lib/cjs/contract/models/History.cjs.map +1 -0
  113. package/lib/cjs/contract/models/Leaflet.cjs +25 -19
  114. package/lib/cjs/contract/models/Leaflet.cjs.map +1 -0
  115. package/lib/cjs/contract/models/LeafletFile.cjs +19 -13
  116. package/lib/cjs/contract/models/LeafletFile.cjs.map +1 -0
  117. package/lib/cjs/contract/models/Market.cjs +19 -13
  118. package/lib/cjs/contract/models/Market.cjs.map +1 -0
  119. package/lib/cjs/contract/models/OtherAudit.cjs +20 -14
  120. package/lib/cjs/contract/models/OtherAudit.cjs.map +1 -0
  121. package/lib/cjs/contract/models/OtherBatchShared.cjs +27 -21
  122. package/lib/cjs/contract/models/OtherBatchShared.cjs.map +1 -0
  123. package/lib/cjs/contract/models/OtherLeaflet.cjs +27 -21
  124. package/lib/cjs/contract/models/OtherLeaflet.cjs.map +1 -0
  125. package/lib/cjs/contract/models/OtherLeafletFile.cjs +18 -12
  126. package/lib/cjs/contract/models/OtherLeafletFile.cjs.map +1 -0
  127. package/lib/cjs/contract/models/OtherMarket.cjs +21 -15
  128. package/lib/cjs/contract/models/OtherMarket.cjs.map +1 -0
  129. package/lib/cjs/contract/models/OtherProduct.cjs +24 -18
  130. package/lib/cjs/contract/models/OtherProduct.cjs.map +1 -0
  131. package/lib/cjs/contract/models/OtherProductImage.cjs +22 -16
  132. package/lib/cjs/contract/models/OtherProductImage.cjs.map +1 -0
  133. package/lib/cjs/contract/models/OtherProductShared.cjs +32 -26
  134. package/lib/cjs/contract/models/OtherProductShared.cjs.map +1 -0
  135. package/lib/cjs/contract/models/OtherProductStrength.cjs +21 -15
  136. package/lib/cjs/contract/models/OtherProductStrength.cjs.map +1 -0
  137. package/lib/cjs/contract/models/Product.cjs +24 -18
  138. package/lib/cjs/contract/models/Product.cjs.map +1 -0
  139. package/lib/cjs/contract/models/ProductStrength.cjs +19 -13
  140. package/lib/cjs/contract/models/ProductStrength.cjs.map +1 -0
  141. package/lib/cjs/contract/models/SegregatedDocument.cjs +23 -17
  142. package/lib/cjs/contract/models/SegregatedDocument.cjs.map +1 -0
  143. package/lib/cjs/contract/models/constants.cjs +3 -4
  144. package/lib/cjs/contract/models/constants.cjs.map +1 -0
  145. package/lib/cjs/contract/models/decorators-private.cjs +11 -10
  146. package/lib/cjs/contract/models/decorators-private.cjs.map +1 -0
  147. package/lib/cjs/contract/models/decorators.cjs +13 -12
  148. package/lib/cjs/contract/models/decorators.cjs.map +1 -0
  149. package/lib/cjs/contract/models/gtin.cjs +13 -7
  150. package/lib/cjs/contract/models/gtin.cjs.map +1 -0
  151. package/lib/cjs/contract/models/history-dec.cjs +11 -10
  152. package/lib/cjs/contract/models/history-dec.cjs.map +1 -0
  153. package/lib/cjs/contracts/ContractAdapter.cjs +27 -26
  154. package/lib/cjs/contracts/ContractAdapter.cjs.map +1 -0
  155. package/lib/cjs/contracts/ContractContext.cjs +1 -0
  156. package/lib/cjs/contracts/ContractContext.cjs.map +1 -0
  157. package/lib/cjs/contracts/FabricContractDispatch.cjs +1 -0
  158. package/lib/cjs/contracts/FabricContractDispatch.cjs.map +1 -0
  159. package/lib/cjs/contracts/FabricContractPaginator.cjs +5 -4
  160. package/lib/cjs/contracts/FabricContractPaginator.cjs.map +1 -0
  161. package/lib/cjs/contracts/FabricContractRepository.cjs +8 -7
  162. package/lib/cjs/contracts/FabricContractRepository.cjs.map +1 -0
  163. package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs +3 -2
  164. package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs.map +1 -0
  165. package/lib/cjs/contracts/FabricContractSequence.cjs +1 -0
  166. package/lib/cjs/contracts/FabricContractSequence.cjs.map +1 -0
  167. package/lib/cjs/contracts/FabricContractStatement.cjs +5 -4
  168. package/lib/cjs/contracts/FabricContractStatement.cjs.map +1 -0
  169. package/lib/cjs/contracts/MigrationContract.cjs +20 -14
  170. package/lib/cjs/contracts/MigrationContract.cjs.map +1 -0
  171. package/lib/cjs/contracts/PrivateSequence.cjs +11 -5
  172. package/lib/cjs/contracts/PrivateSequence.cjs.map +1 -0
  173. package/lib/cjs/contracts/auth/decorators.cjs +3 -2
  174. package/lib/cjs/contracts/auth/decorators.cjs.map +1 -0
  175. package/lib/cjs/contracts/auth/index.cjs +1 -0
  176. package/lib/cjs/contracts/auth/index.cjs.map +1 -0
  177. package/lib/cjs/contracts/crud/crud-contract.cjs +12 -11
  178. package/lib/cjs/contracts/crud/crud-contract.cjs.map +1 -0
  179. package/lib/cjs/contracts/crud/index.cjs +1 -0
  180. package/lib/cjs/contracts/crud/index.cjs.map +1 -0
  181. package/lib/cjs/contracts/crud/serialized-crud-contract.cjs +13 -7
  182. package/lib/cjs/contracts/crud/serialized-crud-contract.cjs.map +1 -0
  183. package/lib/cjs/contracts/erc20/erc20contract.cjs +53 -47
  184. package/lib/cjs/contracts/erc20/erc20contract.cjs.map +1 -0
  185. package/lib/cjs/contracts/erc20/index.cjs +3 -2
  186. package/lib/cjs/contracts/erc20/index.cjs.map +1 -0
  187. package/lib/cjs/contracts/erc20/models.cjs +11 -5
  188. package/lib/cjs/contracts/erc20/models.cjs.map +1 -0
  189. package/lib/cjs/contracts/index.cjs +1 -0
  190. package/lib/cjs/contracts/index.cjs.map +1 -0
  191. package/lib/cjs/contracts/logging.cjs +4 -3
  192. package/lib/cjs/contracts/logging.cjs.map +1 -0
  193. package/lib/cjs/contracts/overrides.cjs +3 -2
  194. package/lib/cjs/contracts/overrides.cjs.map +1 -0
  195. package/lib/cjs/contracts/types.cjs +1 -0
  196. package/lib/cjs/contracts/types.cjs.map +1 -0
  197. package/lib/cjs/contracts/uuid.cjs +1 -0
  198. package/lib/cjs/contracts/uuid.cjs.map +1 -0
  199. package/lib/cjs/index.cjs +6 -5
  200. package/lib/cjs/index.cjs.map +1 -0
  201. package/lib/cjs/shared/ClientSerializer.cjs +1 -0
  202. package/lib/cjs/shared/ClientSerializer.cjs.map +1 -0
  203. package/lib/cjs/shared/DeterministicSerializer.cjs +1 -0
  204. package/lib/cjs/shared/DeterministicSerializer.cjs.map +1 -0
  205. package/lib/cjs/shared/SimpleDeterministicSerializer.cjs +3 -2
  206. package/lib/cjs/shared/SimpleDeterministicSerializer.cjs.map +1 -0
  207. package/lib/cjs/shared/constants.cjs +3 -18
  208. package/lib/cjs/shared/constants.cjs.map +1 -0
  209. package/lib/cjs/shared/decorators.cjs +14 -13
  210. package/lib/cjs/shared/decorators.cjs.map +1 -0
  211. package/lib/cjs/shared/erc20/erc20-constants.cjs +2 -9
  212. package/lib/cjs/shared/erc20/erc20-constants.cjs.map +1 -0
  213. package/lib/cjs/shared/erc20/index.cjs +1 -0
  214. package/lib/cjs/shared/erc20/index.cjs.map +1 -0
  215. package/lib/cjs/shared/errors.cjs +1 -0
  216. package/lib/cjs/shared/errors.cjs.map +1 -0
  217. package/lib/cjs/shared/events.cjs +1 -0
  218. package/lib/cjs/shared/events.cjs.map +1 -0
  219. package/lib/cjs/shared/fabric-types.cjs +1 -0
  220. package/lib/cjs/shared/fabric-types.cjs.map +1 -0
  221. package/lib/cjs/shared/index.cjs +1 -0
  222. package/lib/cjs/shared/index.cjs.map +1 -0
  223. package/lib/cjs/shared/interfaces/Checkable.cjs +1 -0
  224. package/lib/cjs/shared/interfaces/Checkable.cjs.map +1 -0
  225. package/lib/cjs/shared/interfaces/index.cjs +1 -0
  226. package/lib/cjs/shared/interfaces/index.cjs.map +1 -0
  227. package/lib/cjs/shared/math.cjs +4 -3
  228. package/lib/cjs/shared/math.cjs.map +1 -0
  229. package/lib/cjs/shared/model/FabricBaseModel.cjs +13 -7
  230. package/lib/cjs/shared/model/FabricBaseModel.cjs.map +1 -0
  231. package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs +15 -9
  232. package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs.map +1 -0
  233. package/lib/cjs/shared/model/Identity.cjs +16 -10
  234. package/lib/cjs/shared/model/Identity.cjs.map +1 -0
  235. package/lib/cjs/shared/model/IdentityCredentials.cjs +11 -5
  236. package/lib/cjs/shared/model/IdentityCredentials.cjs.map +1 -0
  237. package/lib/cjs/shared/model/index.cjs +1 -0
  238. package/lib/cjs/shared/model/index.cjs.map +1 -0
  239. package/lib/cjs/shared/overrides/Model.cjs +1 -0
  240. package/lib/cjs/shared/overrides/Model.cjs.map +1 -0
  241. package/lib/cjs/shared/overrides/index.cjs +1 -0
  242. package/lib/cjs/shared/overrides/index.cjs.map +1 -0
  243. package/lib/cjs/shared/overrides/overrides.cjs +11 -10
  244. package/lib/cjs/shared/overrides/overrides.cjs.map +1 -0
  245. package/lib/cjs/shared/types.cjs +1 -0
  246. package/lib/cjs/shared/types.cjs.map +1 -0
  247. package/lib/cjs/version.cjs +2 -1
  248. package/lib/cjs/version.cjs.map +1 -0
  249. package/lib/esm/version.js +1 -1
  250. package/lib/types/bin/cli.d.cts +1 -0
  251. package/lib/types/bin/cli.d.mts +1 -0
  252. package/lib/types/cli-module.d.cts +3 -0
  253. package/lib/types/cli-module.d.mts +3 -0
  254. package/lib/types/cli-utils.d.cts +21 -0
  255. package/lib/types/cli-utils.d.mts +21 -0
  256. package/lib/types/client/FabricClientAdapter.d.cts +404 -0
  257. package/lib/types/client/FabricClientAdapter.d.mts +404 -0
  258. package/lib/types/client/FabricClientDispatch.d.cts +133 -0
  259. package/lib/types/client/FabricClientDispatch.d.mts +133 -0
  260. package/lib/types/client/FabricClientPaginator.d.cts +12 -0
  261. package/lib/types/client/FabricClientPaginator.d.mts +12 -0
  262. package/lib/types/client/FabricClientRepository.d.cts +71 -0
  263. package/lib/types/client/FabricClientRepository.d.mts +71 -0
  264. package/lib/types/client/FabricClientStatement.d.cts +64 -0
  265. package/lib/types/client/FabricClientStatement.d.mts +64 -0
  266. package/lib/types/client/collections/generation.d.cts +46 -0
  267. package/lib/types/client/collections/generation.d.mts +46 -0
  268. package/lib/types/client/collections/index.d.cts +1 -0
  269. package/lib/types/client/collections/index.d.mts +1 -0
  270. package/lib/types/client/constants.d.cts +2 -0
  271. package/lib/types/client/constants.d.mts +2 -0
  272. package/lib/types/client/crypto.d.cts +107 -0
  273. package/lib/types/client/crypto.d.mts +107 -0
  274. package/lib/types/client/erc20/FabricERC20ClientRepository.d.cts +254 -0
  275. package/lib/types/client/erc20/FabricERC20ClientRepository.d.mts +254 -0
  276. package/lib/types/client/erc20/index.d.cts +1 -0
  277. package/lib/types/client/erc20/index.d.mts +1 -0
  278. package/lib/types/client/fabric-fs.d.cts +92 -0
  279. package/lib/types/client/fabric-fs.d.mts +92 -0
  280. package/lib/types/client/fabric-hsm.d.cts +24 -0
  281. package/lib/types/client/fabric-hsm.d.mts +24 -0
  282. package/lib/types/client/ids/id-extraction.d.cts +4 -0
  283. package/lib/types/client/ids/id-extraction.d.mts +4 -0
  284. package/lib/types/client/ids/index.d.cts +1 -0
  285. package/lib/types/client/ids/index.d.mts +1 -0
  286. package/lib/types/client/index.d.cts +23 -0
  287. package/lib/types/client/index.d.mts +23 -0
  288. package/lib/types/client/indexes/generation.d.cts +10 -0
  289. package/lib/types/client/indexes/generation.d.mts +10 -0
  290. package/lib/types/client/indexes/index.d.cts +1 -0
  291. package/lib/types/client/indexes/index.d.mts +1 -0
  292. package/lib/types/client/logging.d.cts +60 -0
  293. package/lib/types/client/logging.d.mts +60 -0
  294. package/lib/types/client/services/FabricEnrollmentService.d.cts +176 -0
  295. package/lib/types/client/services/FabricEnrollmentService.d.mts +176 -0
  296. package/lib/types/client/services/FabricIdentityService.d.cts +98 -0
  297. package/lib/types/client/services/FabricIdentityService.d.mts +98 -0
  298. package/lib/types/client/services/RegistrationRequestBuilder.d.cts +19 -0
  299. package/lib/types/client/services/RegistrationRequestBuilder.d.mts +19 -0
  300. package/lib/types/client/services/constants.d.cts +15 -0
  301. package/lib/types/client/services/constants.d.mts +15 -0
  302. package/lib/types/client/services/index.d.cts +4 -0
  303. package/lib/types/client/services/index.d.mts +4 -0
  304. package/lib/types/client/types.d.cts +20 -0
  305. package/lib/types/client/types.d.mts +20 -0
  306. package/lib/types/client/utils.d.cts +71 -0
  307. package/lib/types/client/utils.d.mts +71 -0
  308. package/lib/types/contract/Address.d.cts +13 -0
  309. package/lib/types/contract/Address.d.mts +13 -0
  310. package/lib/types/contract/AddressContract.d.cts +5 -0
  311. package/lib/types/contract/AddressContract.d.mts +5 -0
  312. package/lib/types/contract/AuditContract.d.cts +5 -0
  313. package/lib/types/contract/AuditContract.d.mts +5 -0
  314. package/lib/types/contract/BatchContract.d.cts +5 -0
  315. package/lib/types/contract/BatchContract.d.mts +5 -0
  316. package/lib/types/contract/MarketContract.d.cts +5 -0
  317. package/lib/types/contract/MarketContract.d.mts +5 -0
  318. package/lib/types/contract/OtherAuditContract.d.cts +5 -0
  319. package/lib/types/contract/OtherAuditContract.d.mts +5 -0
  320. package/lib/types/contract/OtherBatchContract.d.cts +5 -0
  321. package/lib/types/contract/OtherBatchContract.d.mts +5 -0
  322. package/lib/types/contract/OtherMarketContract.d.cts +5 -0
  323. package/lib/types/contract/OtherMarketContract.d.mts +5 -0
  324. package/lib/types/contract/OtherProductContract.d.cts +5 -0
  325. package/lib/types/contract/OtherProductContract.d.mts +5 -0
  326. package/lib/types/contract/OtherProductImageContract.d.cts +5 -0
  327. package/lib/types/contract/OtherProductImageContract.d.mts +5 -0
  328. package/lib/types/contract/OtherProductSharedContract.d.cts +5 -0
  329. package/lib/types/contract/OtherProductSharedContract.d.mts +5 -0
  330. package/lib/types/contract/OtherProductStrengthContract.d.cts +5 -0
  331. package/lib/types/contract/OtherProductStrengthContract.d.mts +5 -0
  332. package/lib/types/contract/Product.d.cts +7 -0
  333. package/lib/types/contract/Product.d.mts +7 -0
  334. package/lib/types/contract/ProductContract.d.cts +5 -0
  335. package/lib/types/contract/ProductContract.d.mts +5 -0
  336. package/lib/types/contract/ProductStrengthContract.d.cts +5 -0
  337. package/lib/types/contract/ProductStrengthContract.d.mts +5 -0
  338. package/lib/types/contract/SegregatedPrivateDocumentContract.d.cts +5 -0
  339. package/lib/types/contract/SegregatedPrivateDocumentContract.d.mts +5 -0
  340. package/lib/types/contract/SegregatedSharedDocumentContract.d.cts +5 -0
  341. package/lib/types/contract/SegregatedSharedDocumentContract.d.mts +5 -0
  342. package/lib/types/contract/User.d.cts +7 -0
  343. package/lib/types/contract/User.d.mts +7 -0
  344. package/lib/types/contract/UserContract.d.cts +5 -0
  345. package/lib/types/contract/UserContract.d.mts +5 -0
  346. package/lib/types/contract/index.d.cts +2 -0
  347. package/lib/types/contract/index.d.mts +2 -0
  348. package/lib/types/contract/logging-context.d.cts +8 -0
  349. package/lib/types/contract/logging-context.d.mts +8 -0
  350. package/lib/types/contract/models/Audit.d.cts +13 -0
  351. package/lib/types/contract/models/Audit.d.mts +13 -0
  352. package/lib/types/contract/models/BaseIdentifiedModel.d.cts +7 -0
  353. package/lib/types/contract/models/BaseIdentifiedModel.d.mts +7 -0
  354. package/lib/types/contract/models/BaseModel.d.cts +7 -0
  355. package/lib/types/contract/models/BaseModel.d.mts +7 -0
  356. package/lib/types/contract/models/Batch.d.cts +18 -0
  357. package/lib/types/contract/models/Batch.d.mts +18 -0
  358. package/lib/types/contract/models/GtinOwner.d.cts +8 -0
  359. package/lib/types/contract/models/GtinOwner.d.mts +8 -0
  360. package/lib/types/contract/models/History.d.cts +9 -0
  361. package/lib/types/contract/models/History.d.mts +9 -0
  362. package/lib/types/contract/models/Leaflet.d.cts +12 -0
  363. package/lib/types/contract/models/Leaflet.d.mts +12 -0
  364. package/lib/types/contract/models/LeafletFile.d.cts +9 -0
  365. package/lib/types/contract/models/LeafletFile.d.mts +9 -0
  366. package/lib/types/contract/models/Market.d.cts +12 -0
  367. package/lib/types/contract/models/Market.d.mts +12 -0
  368. package/lib/types/contract/models/OtherAudit.d.cts +15 -0
  369. package/lib/types/contract/models/OtherAudit.d.mts +15 -0
  370. package/lib/types/contract/models/OtherBatchShared.d.cts +18 -0
  371. package/lib/types/contract/models/OtherBatchShared.d.mts +18 -0
  372. package/lib/types/contract/models/OtherLeaflet.d.cts +16 -0
  373. package/lib/types/contract/models/OtherLeaflet.d.mts +16 -0
  374. package/lib/types/contract/models/OtherLeafletFile.d.cts +10 -0
  375. package/lib/types/contract/models/OtherLeafletFile.d.mts +10 -0
  376. package/lib/types/contract/models/OtherMarket.d.cts +13 -0
  377. package/lib/types/contract/models/OtherMarket.d.mts +13 -0
  378. package/lib/types/contract/models/OtherProduct.d.cts +12 -0
  379. package/lib/types/contract/models/OtherProduct.d.mts +12 -0
  380. package/lib/types/contract/models/OtherProductImage.d.cts +9 -0
  381. package/lib/types/contract/models/OtherProductImage.d.mts +9 -0
  382. package/lib/types/contract/models/OtherProductShared.d.cts +18 -0
  383. package/lib/types/contract/models/OtherProductShared.d.mts +18 -0
  384. package/lib/types/contract/models/OtherProductStrength.d.cts +12 -0
  385. package/lib/types/contract/models/OtherProductStrength.d.mts +12 -0
  386. package/lib/types/contract/models/Product.d.cts +15 -0
  387. package/lib/types/contract/models/Product.d.mts +15 -0
  388. package/lib/types/contract/models/ProductStrength.d.cts +11 -0
  389. package/lib/types/contract/models/ProductStrength.d.mts +11 -0
  390. package/lib/types/contract/models/SegregatedDocument.d.cts +18 -0
  391. package/lib/types/contract/models/SegregatedDocument.d.mts +18 -0
  392. package/lib/types/contract/models/constants.d.cts +24 -0
  393. package/lib/types/contract/models/constants.d.mts +24 -0
  394. package/lib/types/contract/models/decorators-private.d.cts +16 -0
  395. package/lib/types/contract/models/decorators-private.d.mts +16 -0
  396. package/lib/types/contract/models/decorators.d.cts +28 -0
  397. package/lib/types/contract/models/decorators.d.mts +28 -0
  398. package/lib/types/contract/models/gtin.d.cts +8 -0
  399. package/lib/types/contract/models/gtin.d.mts +8 -0
  400. package/lib/types/contract/models/history-dec.d.cts +6 -0
  401. package/lib/types/contract/models/history-dec.d.mts +6 -0
  402. package/lib/types/contracts/ContractAdapter.d.cts +287 -0
  403. package/lib/types/contracts/ContractAdapter.d.mts +287 -0
  404. package/lib/types/contracts/ContractContext.d.cts +89 -0
  405. package/lib/types/contracts/ContractContext.d.mts +89 -0
  406. package/lib/types/contracts/FabricContractDispatch.d.cts +7 -0
  407. package/lib/types/contracts/FabricContractDispatch.d.mts +7 -0
  408. package/lib/types/contracts/FabricContractPaginator.d.cts +105 -0
  409. package/lib/types/contracts/FabricContractPaginator.d.mts +105 -0
  410. package/lib/types/contracts/FabricContractRepository.d.cts +119 -0
  411. package/lib/types/contracts/FabricContractRepository.d.mts +119 -0
  412. package/lib/types/contracts/FabricContractRepositoryObservableHandler.d.cts +62 -0
  413. package/lib/types/contracts/FabricContractRepositoryObservableHandler.d.mts +62 -0
  414. package/lib/types/contracts/FabricContractSequence.d.cts +87 -0
  415. package/lib/types/contracts/FabricContractSequence.d.mts +87 -0
  416. package/lib/types/contracts/FabricContractStatement.d.cts +36 -0
  417. package/lib/types/contracts/FabricContractStatement.d.mts +36 -0
  418. package/lib/types/contracts/MigrationContract.d.cts +22 -0
  419. package/lib/types/contracts/MigrationContract.d.mts +22 -0
  420. package/lib/types/contracts/PrivateSequence.d.cts +15 -0
  421. package/lib/types/contracts/PrivateSequence.d.mts +15 -0
  422. package/lib/types/contracts/auth/decorators.d.cts +6 -0
  423. package/lib/types/contracts/auth/decorators.d.mts +6 -0
  424. package/lib/types/contracts/auth/index.d.cts +1 -0
  425. package/lib/types/contracts/auth/index.d.mts +1 -0
  426. package/lib/types/contracts/crud/crud-contract.d.cts +199 -0
  427. package/lib/types/contracts/crud/crud-contract.d.mts +199 -0
  428. package/lib/types/contracts/crud/index.d.cts +2 -0
  429. package/lib/types/contracts/crud/index.d.mts +2 -0
  430. package/lib/types/contracts/crud/serialized-crud-contract.d.cts +42 -0
  431. package/lib/types/contracts/crud/serialized-crud-contract.d.mts +42 -0
  432. package/lib/types/contracts/erc20/erc20contract.d.cts +152 -0
  433. package/lib/types/contracts/erc20/erc20contract.d.mts +152 -0
  434. package/lib/types/contracts/erc20/index.d.cts +2 -0
  435. package/lib/types/contracts/erc20/index.d.mts +2 -0
  436. package/lib/types/contracts/erc20/models.d.cts +114 -0
  437. package/lib/types/contracts/erc20/models.d.mts +114 -0
  438. package/lib/types/contracts/index.d.cts +20 -0
  439. package/lib/types/contracts/index.d.mts +20 -0
  440. package/lib/types/contracts/logging.d.cts +54 -0
  441. package/lib/types/contracts/logging.d.mts +54 -0
  442. package/lib/types/contracts/overrides.d.cts +1 -0
  443. package/lib/types/contracts/overrides.d.mts +1 -0
  444. package/lib/types/contracts/types.d.cts +38 -0
  445. package/lib/types/contracts/types.d.mts +38 -0
  446. package/lib/types/contracts/uuid.d.cts +2 -0
  447. package/lib/types/contracts/uuid.d.mts +2 -0
  448. package/lib/types/index.d.cts +8 -0
  449. package/lib/types/index.d.mts +8 -0
  450. package/lib/types/shared/ClientSerializer.d.cts +52 -0
  451. package/lib/types/shared/ClientSerializer.d.mts +52 -0
  452. package/lib/types/shared/DeterministicSerializer.d.cts +47 -0
  453. package/lib/types/shared/DeterministicSerializer.d.mts +47 -0
  454. package/lib/types/shared/SimpleDeterministicSerializer.d.cts +7 -0
  455. package/lib/types/shared/SimpleDeterministicSerializer.d.mts +7 -0
  456. package/lib/types/shared/constants.d.cts +35 -0
  457. package/lib/types/shared/constants.d.mts +35 -0
  458. package/lib/types/shared/decorators.d.cts +81 -0
  459. package/lib/types/shared/decorators.d.mts +81 -0
  460. package/lib/types/shared/erc20/erc20-constants.d.cts +25 -0
  461. package/lib/types/shared/erc20/erc20-constants.d.mts +25 -0
  462. package/lib/types/shared/erc20/index.d.cts +1 -0
  463. package/lib/types/shared/erc20/index.d.mts +1 -0
  464. package/lib/types/shared/errors.d.cts +140 -0
  465. package/lib/types/shared/errors.d.mts +140 -0
  466. package/lib/types/shared/events.d.cts +37 -0
  467. package/lib/types/shared/events.d.mts +37 -0
  468. package/lib/types/shared/fabric-types.d.cts +32 -0
  469. package/lib/types/shared/fabric-types.d.mts +32 -0
  470. package/lib/types/shared/index.d.cts +21 -0
  471. package/lib/types/shared/index.d.mts +21 -0
  472. package/lib/types/shared/interfaces/Checkable.d.cts +23 -0
  473. package/lib/types/shared/interfaces/Checkable.d.mts +23 -0
  474. package/lib/types/shared/interfaces/index.d.cts +1 -0
  475. package/lib/types/shared/interfaces/index.d.mts +1 -0
  476. package/lib/types/shared/math.d.cts +34 -0
  477. package/lib/types/shared/math.d.mts +34 -0
  478. package/lib/types/shared/model/FabricBaseModel.d.cts +7 -0
  479. package/lib/types/shared/model/FabricBaseModel.d.mts +7 -0
  480. package/lib/types/shared/model/FabricIdentifiedBaseModel.d.cts +7 -0
  481. package/lib/types/shared/model/FabricIdentifiedBaseModel.d.mts +7 -0
  482. package/lib/types/shared/model/Identity.d.cts +42 -0
  483. package/lib/types/shared/model/Identity.d.mts +42 -0
  484. package/lib/types/shared/model/IdentityCredentials.d.cts +41 -0
  485. package/lib/types/shared/model/IdentityCredentials.d.mts +41 -0
  486. package/lib/types/shared/model/index.d.cts +4 -0
  487. package/lib/types/shared/model/index.d.mts +4 -0
  488. package/lib/types/shared/overrides/Model.d.cts +22 -0
  489. package/lib/types/shared/overrides/Model.d.mts +22 -0
  490. package/lib/types/shared/overrides/index.d.cts +2 -0
  491. package/lib/types/shared/overrides/index.d.mts +2 -0
  492. package/lib/types/shared/overrides/overrides.d.cts +1 -0
  493. package/lib/types/shared/overrides/overrides.d.mts +1 -0
  494. package/lib/types/shared/types.d.cts +125 -0
  495. package/lib/types/shared/types.d.mts +125 -0
  496. package/lib/types/version.d.cts +2 -0
  497. package/lib/types/version.d.mts +2 -0
  498. package/lib/types/version.d.ts +1 -1
  499. package/package.json +10 -10
  500. package/lib/cjs/bin/cli.js.map +0 -1
  501. package/lib/cjs/cli-module.js.map +0 -1
  502. package/lib/cjs/cli-utils.js.map +0 -1
  503. package/lib/cjs/client/FabricClientAdapter.js.map +0 -1
  504. package/lib/cjs/client/FabricClientDispatch.js.map +0 -1
  505. package/lib/cjs/client/FabricClientPaginator.js.map +0 -1
  506. package/lib/cjs/client/FabricClientRepository.js.map +0 -1
  507. package/lib/cjs/client/FabricClientStatement.js.map +0 -1
  508. package/lib/cjs/client/collections/generation.js.map +0 -1
  509. package/lib/cjs/client/collections/index.js.map +0 -1
  510. package/lib/cjs/client/constants.js.map +0 -1
  511. package/lib/cjs/client/crypto.js.map +0 -1
  512. package/lib/cjs/client/erc20/FabricERC20ClientRepository.js.map +0 -1
  513. package/lib/cjs/client/erc20/index.js.map +0 -1
  514. package/lib/cjs/client/fabric-fs.js.map +0 -1
  515. package/lib/cjs/client/fabric-hsm.js.map +0 -1
  516. package/lib/cjs/client/ids/id-extraction.js.map +0 -1
  517. package/lib/cjs/client/ids/index.js.map +0 -1
  518. package/lib/cjs/client/index.js.map +0 -1
  519. package/lib/cjs/client/indexes/generation.js.map +0 -1
  520. package/lib/cjs/client/indexes/index.js.map +0 -1
  521. package/lib/cjs/client/logging.js.map +0 -1
  522. package/lib/cjs/client/services/FabricEnrollmentService.js.map +0 -1
  523. package/lib/cjs/client/services/FabricIdentityService.js.map +0 -1
  524. package/lib/cjs/client/services/RegistrationRequestBuilder.js.map +0 -1
  525. package/lib/cjs/client/services/constants.js.map +0 -1
  526. package/lib/cjs/client/services/index.js.map +0 -1
  527. package/lib/cjs/client/types.js.map +0 -1
  528. package/lib/cjs/client/utils.js.map +0 -1
  529. package/lib/cjs/contract/Address.js.map +0 -1
  530. package/lib/cjs/contract/AddressContract.js.map +0 -1
  531. package/lib/cjs/contract/AuditContract.js.map +0 -1
  532. package/lib/cjs/contract/BatchContract.js.map +0 -1
  533. package/lib/cjs/contract/MarketContract.js.map +0 -1
  534. package/lib/cjs/contract/OtherAuditContract.js.map +0 -1
  535. package/lib/cjs/contract/OtherBatchContract.js.map +0 -1
  536. package/lib/cjs/contract/OtherMarketContract.js.map +0 -1
  537. package/lib/cjs/contract/OtherProductContract.js.map +0 -1
  538. package/lib/cjs/contract/OtherProductImageContract.js.map +0 -1
  539. package/lib/cjs/contract/OtherProductSharedContract.js.map +0 -1
  540. package/lib/cjs/contract/OtherProductStrengthContract.js.map +0 -1
  541. package/lib/cjs/contract/Product.js.map +0 -1
  542. package/lib/cjs/contract/ProductContract.js.map +0 -1
  543. package/lib/cjs/contract/ProductStrengthContract.js.map +0 -1
  544. package/lib/cjs/contract/SegregatedPrivateDocumentContract.js.map +0 -1
  545. package/lib/cjs/contract/SegregatedSharedDocumentContract.js.map +0 -1
  546. package/lib/cjs/contract/User.js.map +0 -1
  547. package/lib/cjs/contract/UserContract.js.map +0 -1
  548. package/lib/cjs/contract/index.js.map +0 -1
  549. package/lib/cjs/contract/logging-context.js.map +0 -1
  550. package/lib/cjs/contract/models/Audit.js.map +0 -1
  551. package/lib/cjs/contract/models/BaseIdentifiedModel.js.map +0 -1
  552. package/lib/cjs/contract/models/BaseModel.js.map +0 -1
  553. package/lib/cjs/contract/models/Batch.js.map +0 -1
  554. package/lib/cjs/contract/models/GtinOwner.js.map +0 -1
  555. package/lib/cjs/contract/models/History.js.map +0 -1
  556. package/lib/cjs/contract/models/Leaflet.js.map +0 -1
  557. package/lib/cjs/contract/models/LeafletFile.js.map +0 -1
  558. package/lib/cjs/contract/models/Market.js.map +0 -1
  559. package/lib/cjs/contract/models/OtherAudit.js.map +0 -1
  560. package/lib/cjs/contract/models/OtherBatchShared.js.map +0 -1
  561. package/lib/cjs/contract/models/OtherLeaflet.js.map +0 -1
  562. package/lib/cjs/contract/models/OtherLeafletFile.js.map +0 -1
  563. package/lib/cjs/contract/models/OtherMarket.js.map +0 -1
  564. package/lib/cjs/contract/models/OtherProduct.js.map +0 -1
  565. package/lib/cjs/contract/models/OtherProductImage.js.map +0 -1
  566. package/lib/cjs/contract/models/OtherProductShared.js.map +0 -1
  567. package/lib/cjs/contract/models/OtherProductStrength.js.map +0 -1
  568. package/lib/cjs/contract/models/Product.js.map +0 -1
  569. package/lib/cjs/contract/models/ProductStrength.js.map +0 -1
  570. package/lib/cjs/contract/models/SegregatedDocument.js.map +0 -1
  571. package/lib/cjs/contract/models/constants.js.map +0 -1
  572. package/lib/cjs/contract/models/decorators-private.js.map +0 -1
  573. package/lib/cjs/contract/models/decorators.js.map +0 -1
  574. package/lib/cjs/contract/models/gtin.js.map +0 -1
  575. package/lib/cjs/contract/models/history-dec.js.map +0 -1
  576. package/lib/cjs/contracts/ContractAdapter.js.map +0 -1
  577. package/lib/cjs/contracts/ContractContext.js.map +0 -1
  578. package/lib/cjs/contracts/FabricContractDispatch.js.map +0 -1
  579. package/lib/cjs/contracts/FabricContractPaginator.js.map +0 -1
  580. package/lib/cjs/contracts/FabricContractRepository.js.map +0 -1
  581. package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.js.map +0 -1
  582. package/lib/cjs/contracts/FabricContractSequence.js.map +0 -1
  583. package/lib/cjs/contracts/FabricContractStatement.js.map +0 -1
  584. package/lib/cjs/contracts/MigrationContract.js.map +0 -1
  585. package/lib/cjs/contracts/PrivateSequence.js.map +0 -1
  586. package/lib/cjs/contracts/auth/decorators.js.map +0 -1
  587. package/lib/cjs/contracts/auth/index.js.map +0 -1
  588. package/lib/cjs/contracts/crud/crud-contract.js.map +0 -1
  589. package/lib/cjs/contracts/crud/index.js.map +0 -1
  590. package/lib/cjs/contracts/crud/serialized-crud-contract.js.map +0 -1
  591. package/lib/cjs/contracts/erc20/erc20contract.js.map +0 -1
  592. package/lib/cjs/contracts/erc20/index.js.map +0 -1
  593. package/lib/cjs/contracts/erc20/models.js.map +0 -1
  594. package/lib/cjs/contracts/index.js.map +0 -1
  595. package/lib/cjs/contracts/logging.js.map +0 -1
  596. package/lib/cjs/contracts/overrides.js.map +0 -1
  597. package/lib/cjs/contracts/types.js.map +0 -1
  598. package/lib/cjs/contracts/uuid.js.map +0 -1
  599. package/lib/cjs/index.js.map +0 -1
  600. package/lib/cjs/shared/ClientSerializer.js.map +0 -1
  601. package/lib/cjs/shared/DeterministicSerializer.js.map +0 -1
  602. package/lib/cjs/shared/SimpleDeterministicSerializer.js.map +0 -1
  603. package/lib/cjs/shared/constants.js.map +0 -1
  604. package/lib/cjs/shared/decorators.js.map +0 -1
  605. package/lib/cjs/shared/erc20/erc20-constants.js.map +0 -1
  606. package/lib/cjs/shared/erc20/index.js.map +0 -1
  607. package/lib/cjs/shared/errors.js.map +0 -1
  608. package/lib/cjs/shared/events.js.map +0 -1
  609. package/lib/cjs/shared/fabric-types.js.map +0 -1
  610. package/lib/cjs/shared/index.js.map +0 -1
  611. package/lib/cjs/shared/interfaces/Checkable.js.map +0 -1
  612. package/lib/cjs/shared/interfaces/index.js.map +0 -1
  613. package/lib/cjs/shared/math.js.map +0 -1
  614. package/lib/cjs/shared/model/FabricBaseModel.js.map +0 -1
  615. package/lib/cjs/shared/model/FabricIdentifiedBaseModel.js.map +0 -1
  616. package/lib/cjs/shared/model/Identity.js.map +0 -1
  617. package/lib/cjs/shared/model/IdentityCredentials.js.map +0 -1
  618. package/lib/cjs/shared/model/index.js.map +0 -1
  619. package/lib/cjs/shared/overrides/Model.js.map +0 -1
  620. package/lib/cjs/shared/overrides/index.js.map +0 -1
  621. package/lib/cjs/shared/overrides/overrides.js.map +0 -1
  622. package/lib/cjs/shared/types.js.map +0 -1
  623. package/lib/cjs/version.js.map +0 -1
@@ -0,0 +1,62 @@
1
+ import { BulkCrudOperationKeys, OperationKeys } from "@decaf-ts/db-decorators";
2
+ import { ContextualArgs, EventIds, ObserverHandler } from "@decaf-ts/core";
3
+ import { FabricContractContext } from "./ContractContext.cjs";
4
+ import { Constructor } from "@decaf-ts/decoration";
5
+ /**
6
+ * @description Observer handler for Fabric chaincode events
7
+ * @summary Emits events on the Fabric ledger when repository operations occur
8
+ * @class FabricContractRepositoryObservableHandler
9
+ * @extends {ObserverHandler}
10
+ * @example
11
+ * ```typescript
12
+ * // In a Fabric chaincode contract
13
+ * import { FabricContractRepositoryObservableHandler } from '@decaf-ts/for-fabric';
14
+ *
15
+ * // Create a handler with default supported events
16
+ * const handler = new FabricContractRepositoryObservableHandler();
17
+ *
18
+ * // Emit an event
19
+ * await handler.updateObservers(
20
+ * logger,
21
+ * 'assets',
22
+ * OperationKeys.CREATE,
23
+ * 'asset1',
24
+ * context
25
+ * );
26
+ * ```
27
+ * @mermaid
28
+ * sequenceDiagram
29
+ * participant Repository
30
+ * participant ObservableHandler
31
+ * participant Stub
32
+ * participant Ledger
33
+ *
34
+ * Repository->>ObservableHandler: updateObservers(log, table, event, id, ctx)
35
+ * ObservableHandler->>ObservableHandler: Check if event is supported
36
+ * ObservableHandler->>ObservableHandler: generateFabricEventName(table, event, owner)
37
+ * ObservableHandler->>Stub: setEvent(eventName, payload)
38
+ * Stub->>Ledger: Record event
39
+ */
40
+ export declare class FabricContractRepositoryObservableHandler extends ObserverHandler {
41
+ private supportedEvents;
42
+ /**
43
+ * @description Creates a new FabricContractRepositoryObservableHandler instance
44
+ * @summary Initializes the handler with a list of supported events
45
+ * @param {Array<OperationKeys | BulkCrudOperationKeys | string>} [supportedEvents] - Events that will trigger Fabric events
46
+ */
47
+ constructor(supportedEvents?: (OperationKeys | BulkCrudOperationKeys | string)[]);
48
+ /**
49
+ * @description Updates observers by emitting Fabric events
50
+ * @summary Emits events on the Fabric ledger for supported event types
51
+ * @param {Logger} log - Logger instance for debugging
52
+ * @param {string} table - The table/collection name
53
+ * @param {OperationKeys | BulkCrudOperationKeys | string} event - The event type
54
+ * @param {EventIds} id - The event identifier
55
+ * @param {FabricContractContext} ctx - The Fabric contract context
56
+ * @param {string} [owner] - Optional owner identifier for the event
57
+ * @param {object | string | undefined} [owner] - Optional payload for the event
58
+ *
59
+ * @return {Promise<void>} Promise that resolves when the event is emitted
60
+ */
61
+ updateObservers(clazz: string | Constructor<any>, event: OperationKeys | BulkCrudOperationKeys | string, id: EventIds, ...args: ContextualArgs<FabricContractContext>): Promise<void>;
62
+ }
@@ -0,0 +1,62 @@
1
+ import { BulkCrudOperationKeys, OperationKeys } from "@decaf-ts/db-decorators";
2
+ import { ContextualArgs, EventIds, ObserverHandler } from "@decaf-ts/core";
3
+ import { FabricContractContext } from "./ContractContext.js";
4
+ import { Constructor } from "@decaf-ts/decoration";
5
+ /**
6
+ * @description Observer handler for Fabric chaincode events
7
+ * @summary Emits events on the Fabric ledger when repository operations occur
8
+ * @class FabricContractRepositoryObservableHandler
9
+ * @extends {ObserverHandler}
10
+ * @example
11
+ * ```typescript
12
+ * // In a Fabric chaincode contract
13
+ * import { FabricContractRepositoryObservableHandler } from '@decaf-ts/for-fabric';
14
+ *
15
+ * // Create a handler with default supported events
16
+ * const handler = new FabricContractRepositoryObservableHandler();
17
+ *
18
+ * // Emit an event
19
+ * await handler.updateObservers(
20
+ * logger,
21
+ * 'assets',
22
+ * OperationKeys.CREATE,
23
+ * 'asset1',
24
+ * context
25
+ * );
26
+ * ```
27
+ * @mermaid
28
+ * sequenceDiagram
29
+ * participant Repository
30
+ * participant ObservableHandler
31
+ * participant Stub
32
+ * participant Ledger
33
+ *
34
+ * Repository->>ObservableHandler: updateObservers(log, table, event, id, ctx)
35
+ * ObservableHandler->>ObservableHandler: Check if event is supported
36
+ * ObservableHandler->>ObservableHandler: generateFabricEventName(table, event, owner)
37
+ * ObservableHandler->>Stub: setEvent(eventName, payload)
38
+ * Stub->>Ledger: Record event
39
+ */
40
+ export declare class FabricContractRepositoryObservableHandler extends ObserverHandler {
41
+ private supportedEvents;
42
+ /**
43
+ * @description Creates a new FabricContractRepositoryObservableHandler instance
44
+ * @summary Initializes the handler with a list of supported events
45
+ * @param {Array<OperationKeys | BulkCrudOperationKeys | string>} [supportedEvents] - Events that will trigger Fabric events
46
+ */
47
+ constructor(supportedEvents?: (OperationKeys | BulkCrudOperationKeys | string)[]);
48
+ /**
49
+ * @description Updates observers by emitting Fabric events
50
+ * @summary Emits events on the Fabric ledger for supported event types
51
+ * @param {Logger} log - Logger instance for debugging
52
+ * @param {string} table - The table/collection name
53
+ * @param {OperationKeys | BulkCrudOperationKeys | string} event - The event type
54
+ * @param {EventIds} id - The event identifier
55
+ * @param {FabricContractContext} ctx - The Fabric contract context
56
+ * @param {string} [owner] - Optional owner identifier for the event
57
+ * @param {object | string | undefined} [owner] - Optional payload for the event
58
+ *
59
+ * @return {Promise<void>} Promise that resolves when the event is emitted
60
+ */
61
+ updateObservers(clazz: string | Constructor<any>, event: OperationKeys | BulkCrudOperationKeys | string, id: EventIds, ...args: ContextualArgs<FabricContractContext>): Promise<void>;
62
+ }
@@ -0,0 +1,87 @@
1
+ import { Adapter, Context, MaybeContextualArg, Sequence, SequenceOptions } from "@decaf-ts/core";
2
+ /**
3
+ * @description Abstract base class for sequence generation
4
+ * @summary Provides a framework for generating sequential values (like primary keys) in the persistence layer.
5
+ * Implementations of this class handle the specifics of how sequences are stored and incremented in different
6
+ * database systems.
7
+ * @param {SequenceOptions} options - Configuration options for the sequence generator
8
+ * @class Sequence
9
+ * @example
10
+ * ```typescript
11
+ * // Example implementation for a specific database
12
+ * class PostgresSequence extends Sequence {
13
+ * constructor(options: SequenceOptions) {
14
+ * super(options);
15
+ * }
16
+ *
17
+ * async next(): Promise<number> {
18
+ * // Implementation to get next value from PostgreSQL sequence
19
+ * const result = await this.options.executor.raw(`SELECT nextval('${this.options.name}')`);
20
+ * return parseInt(result.rows[0].nextval);
21
+ * }
22
+ *
23
+ * async current(): Promise<number> {
24
+ * // Implementation to get current value from PostgreSQL sequence
25
+ * const result = await this.options.executor.raw(`SELECT currval('${this.options.name}')`);
26
+ * return parseInt(result.rows[0].currval);
27
+ * }
28
+ *
29
+ * async range(count: number): Promise<number[]> {
30
+ * // Implementation to get a range of values
31
+ * const values: number[] = [];
32
+ * for (let i = 0; i < count; i++) {
33
+ * values.push(await this.next());
34
+ * }
35
+ * return values;
36
+ * }
37
+ * }
38
+ *
39
+ * // Usage
40
+ * const sequence = new PostgresSequence({
41
+ * name: 'user_id_seq',
42
+ * executor: dbExecutor
43
+ * });
44
+ *
45
+ * const nextId = await sequence.next();
46
+ * ```
47
+ */
48
+ export declare class FabricContractSequence extends Sequence {
49
+ /**
50
+ * @description Creates a new sequence instance
51
+ * @summary Protected constructor that initializes the sequence with the provided options
52
+ */
53
+ constructor(options: SequenceOptions, adapter: Adapter<any, any, any>);
54
+ /**
55
+ * @description Retrieves the current value of the sequence
56
+ * @summary Gets the current value of the sequence from storage. If the sequence
57
+ * doesn't exist yet, it returns the configured starting value.
58
+ * @return A promise that resolves to the current sequence value
59
+ */
60
+ current(...args: MaybeContextualArg<any>): Promise<string | number | bigint>;
61
+ /**
62
+ * @description Increments the sequence value
63
+ * @summary Increases the current sequence value by the specified amount and persists
64
+ * the new value to storage. This method handles both numeric and BigInt sequence types.
65
+ * @param {string | number | bigint} current - The current value of the sequence
66
+ * @param {number} [count] - Optional amount to increment by, defaults to the sequence's incrementBy value
67
+ * @return A promise that resolves to the new sequence value after incrementing
68
+ */
69
+ protected increment(count: number | undefined, ctx: Context<any>): Promise<string | number | bigint>;
70
+ /**
71
+ * @description Ensures the sequence exists and is at least a given value
72
+ * @summary Fabric needs to respect segregated/private/shared storage rules when creating
73
+ * sequences (for example for persistent @version(true) and @sequence()).
74
+ */
75
+ ensureAtLeast(value: string | number | bigint, ...args: MaybeContextualArg<any>): Promise<string | number | bigint>;
76
+ /**
77
+ * @description Replicates the sequence to all segregated collections
78
+ * @summary When a model uses privateData or sharedData decorators, its sequence must be
79
+ * replicated to all collections the model is stored in. This ensures clients with access
80
+ * to only one collection can still read the model's sequence, while clients without
81
+ * access to any collection won't see the sequence on the public chain.
82
+ * @param {Context<any>} ctx - The execution context
83
+ * @param {SequenceModel} seq - The sequence model to replicate
84
+ */
85
+ private writeSequenceToCollections;
86
+ private replicateToSegregatedCollections;
87
+ }
@@ -0,0 +1,87 @@
1
+ import { Adapter, Context, MaybeContextualArg, Sequence, SequenceOptions } from "@decaf-ts/core";
2
+ /**
3
+ * @description Abstract base class for sequence generation
4
+ * @summary Provides a framework for generating sequential values (like primary keys) in the persistence layer.
5
+ * Implementations of this class handle the specifics of how sequences are stored and incremented in different
6
+ * database systems.
7
+ * @param {SequenceOptions} options - Configuration options for the sequence generator
8
+ * @class Sequence
9
+ * @example
10
+ * ```typescript
11
+ * // Example implementation for a specific database
12
+ * class PostgresSequence extends Sequence {
13
+ * constructor(options: SequenceOptions) {
14
+ * super(options);
15
+ * }
16
+ *
17
+ * async next(): Promise<number> {
18
+ * // Implementation to get next value from PostgreSQL sequence
19
+ * const result = await this.options.executor.raw(`SELECT nextval('${this.options.name}')`);
20
+ * return parseInt(result.rows[0].nextval);
21
+ * }
22
+ *
23
+ * async current(): Promise<number> {
24
+ * // Implementation to get current value from PostgreSQL sequence
25
+ * const result = await this.options.executor.raw(`SELECT currval('${this.options.name}')`);
26
+ * return parseInt(result.rows[0].currval);
27
+ * }
28
+ *
29
+ * async range(count: number): Promise<number[]> {
30
+ * // Implementation to get a range of values
31
+ * const values: number[] = [];
32
+ * for (let i = 0; i < count; i++) {
33
+ * values.push(await this.next());
34
+ * }
35
+ * return values;
36
+ * }
37
+ * }
38
+ *
39
+ * // Usage
40
+ * const sequence = new PostgresSequence({
41
+ * name: 'user_id_seq',
42
+ * executor: dbExecutor
43
+ * });
44
+ *
45
+ * const nextId = await sequence.next();
46
+ * ```
47
+ */
48
+ export declare class FabricContractSequence extends Sequence {
49
+ /**
50
+ * @description Creates a new sequence instance
51
+ * @summary Protected constructor that initializes the sequence with the provided options
52
+ */
53
+ constructor(options: SequenceOptions, adapter: Adapter<any, any, any>);
54
+ /**
55
+ * @description Retrieves the current value of the sequence
56
+ * @summary Gets the current value of the sequence from storage. If the sequence
57
+ * doesn't exist yet, it returns the configured starting value.
58
+ * @return A promise that resolves to the current sequence value
59
+ */
60
+ current(...args: MaybeContextualArg<any>): Promise<string | number | bigint>;
61
+ /**
62
+ * @description Increments the sequence value
63
+ * @summary Increases the current sequence value by the specified amount and persists
64
+ * the new value to storage. This method handles both numeric and BigInt sequence types.
65
+ * @param {string | number | bigint} current - The current value of the sequence
66
+ * @param {number} [count] - Optional amount to increment by, defaults to the sequence's incrementBy value
67
+ * @return A promise that resolves to the new sequence value after incrementing
68
+ */
69
+ protected increment(count: number | undefined, ctx: Context<any>): Promise<string | number | bigint>;
70
+ /**
71
+ * @description Ensures the sequence exists and is at least a given value
72
+ * @summary Fabric needs to respect segregated/private/shared storage rules when creating
73
+ * sequences (for example for persistent @version(true) and @sequence()).
74
+ */
75
+ ensureAtLeast(value: string | number | bigint, ...args: MaybeContextualArg<any>): Promise<string | number | bigint>;
76
+ /**
77
+ * @description Replicates the sequence to all segregated collections
78
+ * @summary When a model uses privateData or sharedData decorators, its sequence must be
79
+ * replicated to all collections the model is stored in. This ensures clients with access
80
+ * to only one collection can still read the model's sequence, while clients without
81
+ * access to any collection won't see the sequence on the public chain.
82
+ * @param {Context<any>} ctx - The execution context
83
+ * @param {SequenceModel} seq - The sequence model to replicate
84
+ */
85
+ private writeSequenceToCollections;
86
+ private replicateToSegregatedCollections;
87
+ }
@@ -0,0 +1,36 @@
1
+ import { CouchDBAdapter, MangoQuery } from "@decaf-ts/for-couchdb";
2
+ import { Model } from "@decaf-ts/decorator-validation";
3
+ import { FabricContractContext } from "./ContractContext.cjs";
4
+ import { CouchDBStatement } from "@decaf-ts/for-couchdb";
5
+ import { AdapterFlags, MaybeContextualArg } from "@decaf-ts/core";
6
+ import { Constructor } from "@decaf-ts/decoration";
7
+ /**
8
+ * @description Statement wrapper for executing Mango queries within Fabric contracts
9
+ * @summary Bridges CouchDB-style queries to Fabric via the FabricContractAdapter, handling identity and primary key projection when needed.
10
+ * @template M - Model type this statement operates on
11
+ * @template R - Result type returned by the statement
12
+ * @param {FabricContractAdapter} adapter - The Fabric contract adapter used for raw execution
13
+ * @param {FabricContractContext} ctx - The Fabric contract context carrying stub and identity
14
+ * @return {void}
15
+ * @class FabricStatement
16
+ * @example
17
+ * const stmt = new FabricStatement<MyModel, MyModel[]>(adapter, ctx);
18
+ * const result = await stmt.raw<MyModel[]>({ selector: { type: 'MyModel' } });
19
+ * @mermaid
20
+ * sequenceDiagram
21
+ * participant App
22
+ * participant Statement
23
+ * participant Adapter
24
+ * participant Ledger
25
+ * App->>Statement: raw({ selector })
26
+ * Statement->>Adapter: adapter.raw(mango, true, ctx)
27
+ * Adapter->>Ledger: Evaluate query
28
+ * Adapter-->>Statement: rows
29
+ * Statement-->>App: models
30
+ */
31
+ export declare class FabricStatement<M extends Model, R> extends CouchDBStatement<M, CouchDBAdapter<any, void, FabricContractContext>, R> {
32
+ constructor(adapter: CouchDBAdapter<any, void, FabricContractContext>, overrides?: Partial<AdapterFlags>);
33
+ protected executionPrefix(method: any, ...args: MaybeContextualArg<FabricContractContext>): Promise<[Constructor<M>, ...any[], any]>;
34
+ protected build(): MangoQuery;
35
+ execute(...args: MaybeContextualArg<FabricContractContext>): Promise<R>;
36
+ }
@@ -0,0 +1,36 @@
1
+ import { CouchDBAdapter, MangoQuery } from "@decaf-ts/for-couchdb";
2
+ import { Model } from "@decaf-ts/decorator-validation";
3
+ import { FabricContractContext } from "./ContractContext.js";
4
+ import { CouchDBStatement } from "@decaf-ts/for-couchdb";
5
+ import { AdapterFlags, MaybeContextualArg } from "@decaf-ts/core";
6
+ import { Constructor } from "@decaf-ts/decoration";
7
+ /**
8
+ * @description Statement wrapper for executing Mango queries within Fabric contracts
9
+ * @summary Bridges CouchDB-style queries to Fabric via the FabricContractAdapter, handling identity and primary key projection when needed.
10
+ * @template M - Model type this statement operates on
11
+ * @template R - Result type returned by the statement
12
+ * @param {FabricContractAdapter} adapter - The Fabric contract adapter used for raw execution
13
+ * @param {FabricContractContext} ctx - The Fabric contract context carrying stub and identity
14
+ * @return {void}
15
+ * @class FabricStatement
16
+ * @example
17
+ * const stmt = new FabricStatement<MyModel, MyModel[]>(adapter, ctx);
18
+ * const result = await stmt.raw<MyModel[]>({ selector: { type: 'MyModel' } });
19
+ * @mermaid
20
+ * sequenceDiagram
21
+ * participant App
22
+ * participant Statement
23
+ * participant Adapter
24
+ * participant Ledger
25
+ * App->>Statement: raw({ selector })
26
+ * Statement->>Adapter: adapter.raw(mango, true, ctx)
27
+ * Adapter->>Ledger: Evaluate query
28
+ * Adapter-->>Statement: rows
29
+ * Statement-->>App: models
30
+ */
31
+ export declare class FabricStatement<M extends Model, R> extends CouchDBStatement<M, CouchDBAdapter<any, void, FabricContractContext>, R> {
32
+ constructor(adapter: CouchDBAdapter<any, void, FabricContractContext>, overrides?: Partial<AdapterFlags>);
33
+ protected executionPrefix(method: any, ...args: MaybeContextualArg<FabricContractContext>): Promise<[Constructor<M>, ...any[], any]>;
34
+ protected build(): MangoQuery;
35
+ execute(...args: MaybeContextualArg<FabricContractContext>): Promise<R>;
36
+ }
@@ -0,0 +1,22 @@
1
+ import { Context as Ctx, Contract } from "fabric-contract-api";
2
+ import { MaybeContextualArg, MethodOrOperation } from "@decaf-ts/core";
3
+ import { FabricContextualizedArgs, FabricContractAdapter } from "./ContractAdapter.cjs";
4
+ import { healthcheck } from "../shared/index.cjs";
5
+ import { FabricContractContext } from "./ContractContext.cjs";
6
+ export declare class MigrationContract extends Contract {
7
+ private _adapter?;
8
+ protected initialized: boolean;
9
+ constructor();
10
+ protected get adapter(): FabricContractAdapter;
11
+ migrate(context: Ctx, reference: string, migrationArgs?: string): Promise<void>;
12
+ protected getRegisteredMigrations(context: FabricContractContext): Array<{
13
+ class: any;
14
+ reference: string;
15
+ flavour: string;
16
+ }>;
17
+ protected init(ctx: Ctx | FabricContractContext): Promise<void>;
18
+ healthcheck(ctx: Ctx | FabricContractContext): Promise<string | healthcheck>;
19
+ protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD): FabricContextualizedArgs<ARGS, METHOD extends string ? true : false>;
20
+ protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD, allowCreate: false): FabricContextualizedArgs<ARGS, METHOD extends string ? true : false>;
21
+ protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD, allowCreate: true): Promise<FabricContextualizedArgs<ARGS, METHOD extends string ? true : false>>;
22
+ }
@@ -0,0 +1,22 @@
1
+ import { Context as Ctx, Contract } from "fabric-contract-api";
2
+ import { MaybeContextualArg, MethodOrOperation } from "@decaf-ts/core";
3
+ import { FabricContextualizedArgs, FabricContractAdapter } from "./ContractAdapter.js";
4
+ import { healthcheck } from "../shared/index.js";
5
+ import { FabricContractContext } from "./ContractContext.js";
6
+ export declare class MigrationContract extends Contract {
7
+ private _adapter?;
8
+ protected initialized: boolean;
9
+ constructor();
10
+ protected get adapter(): FabricContractAdapter;
11
+ migrate(context: Ctx, reference: string, migrationArgs?: string): Promise<void>;
12
+ protected getRegisteredMigrations(context: FabricContractContext): Array<{
13
+ class: any;
14
+ reference: string;
15
+ flavour: string;
16
+ }>;
17
+ protected init(ctx: Ctx | FabricContractContext): Promise<void>;
18
+ healthcheck(ctx: Ctx | FabricContractContext): Promise<string | healthcheck>;
19
+ protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD): FabricContextualizedArgs<ARGS, METHOD extends string ? true : false>;
20
+ protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD, allowCreate: false): FabricContextualizedArgs<ARGS, METHOD extends string ? true : false>;
21
+ protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD, allowCreate: true): Promise<FabricContextualizedArgs<ARGS, METHOD extends string ? true : false>>;
22
+ }
@@ -0,0 +1,15 @@
1
+ import { BaseModel } from "@decaf-ts/core";
2
+ import { type ModelArg } from "@decaf-ts/decorator-validation";
3
+ export declare class CustomizableSequence extends BaseModel {
4
+ /**
5
+ * @description The unique identifier for the sequence
6
+ * @summary Primary key for the sequence record
7
+ */
8
+ id: string;
9
+ /**
10
+ * @description The current value of the sequence
11
+ * @summary Current sequence value that can be incremented
12
+ */
13
+ current: string | number;
14
+ constructor(seq?: ModelArg<CustomizableSequence>);
15
+ }
@@ -0,0 +1,15 @@
1
+ import { BaseModel } from "@decaf-ts/core";
2
+ import { type ModelArg } from "@decaf-ts/decorator-validation";
3
+ export declare class CustomizableSequence extends BaseModel {
4
+ /**
5
+ * @description The unique identifier for the sequence
6
+ * @summary Primary key for the sequence record
7
+ */
8
+ id: string;
9
+ /**
10
+ * @description The current value of the sequence
11
+ * @summary Current sequence value that can be incremented
12
+ */
13
+ current: string | number;
14
+ constructor(seq?: ModelArg<CustomizableSequence>);
15
+ }
@@ -0,0 +1,6 @@
1
+ import { AuthHandler, AuthorizationError } from "@decaf-ts/core";
2
+ export declare function hlfAllowIf(handler: AuthHandler, ...argz: any[]): (obj: object, propertyKey?: any, descriptor?: any) => void;
3
+ export declare function mspHandler(...args: any[]): AuthorizationError | undefined;
4
+ export declare function namespaceHandler(...args: any[]): AuthorizationError | undefined;
5
+ export declare function onlyMsp(msp: string): (obj: object, propertyKey?: any, descriptor?: any) => void;
6
+ export declare function onlyNamespaceRole(namespace: string, role?: string): (obj: object, propertyKey?: any, descriptor?: any) => void;
@@ -0,0 +1,6 @@
1
+ import { AuthHandler, AuthorizationError } from "@decaf-ts/core";
2
+ export declare function hlfAllowIf(handler: AuthHandler, ...argz: any[]): (obj: object, propertyKey?: any, descriptor?: any) => void;
3
+ export declare function mspHandler(...args: any[]): AuthorizationError | undefined;
4
+ export declare function namespaceHandler(...args: any[]): AuthorizationError | undefined;
5
+ export declare function onlyMsp(msp: string): (obj: object, propertyKey?: any, descriptor?: any) => void;
6
+ export declare function onlyNamespaceRole(namespace: string, role?: string): (obj: object, propertyKey?: any, descriptor?: any) => void;
@@ -0,0 +1 @@
1
+ export * from "./decorators.cjs";
@@ -0,0 +1 @@
1
+ export * from "./decorators.js";