@decaf-ts/for-fabric 0.8.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 +43 -23
  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,89 @@
1
+ import { Context } from "@decaf-ts/core";
2
+ import { FabricContractFlags } from "./types.cjs";
3
+ import { ChaincodeStub, ClientIdentity } from "fabric-shim-api";
4
+ /**
5
+ * @description Context class for Fabric chaincode operations
6
+ * @summary Provides access to Fabric-specific context elements like stub, identity, and logger to be used by repositories and adapters during contract execution.
7
+ * @template F - Flags specific to Fabric contract operations
8
+ * @param {object} [args] - Optional initialization arguments passed to the base Context
9
+ * @return {void}
10
+ * @class FabricContractContext
11
+ * @example
12
+ * ```typescript
13
+ * // In a Fabric chaincode contract method
14
+ * const context = new FabricContractContext();
15
+ * // Optionally set values via the base Context API
16
+ * context.set('stub', ctx.stub);
17
+ * context.set('clientIdentity', ctx.clientIdentity);
18
+ * context.set('logger', contractLogger);
19
+ *
20
+ * // Access context properties
21
+ * const timestamp = context.timestamp;
22
+ * const creator = context.identity.getID();
23
+ * ```
24
+ * @mermaid
25
+ * sequenceDiagram
26
+ * participant Contract
27
+ * participant Context
28
+ * participant Ledger
29
+ * Contract->>Context: new FabricContractContext()
30
+ * Contract->>Context: set('stub'|'clientIdentity'|'logger', ...)
31
+ * Context-->>Contract: timestamp, identity, logger
32
+ * Contract->>Ledger: Interact via stub
33
+ */
34
+ export declare class FabricContractContext extends Context<FabricContractFlags> {
35
+ /**
36
+ * @description Creates a new FabricContractContext instance
37
+ * @summary Initializes the context with Fabric-specific flags
38
+ */
39
+ constructor(ctx?: FabricContractContext);
40
+ /**
41
+ * @description Gets the chaincode stub
42
+ * @summary Returns the ChaincodeStub instance for interacting with the ledger
43
+ * @return {ChaincodeStub} The chaincode stub
44
+ */
45
+ get stub(): ChaincodeStub;
46
+ /**
47
+ * @description Gets the transaction timestamp
48
+ * @summary Overrides the base timestamp getter to use the stub's timestamp
49
+ * @return {Date} The transaction timestamp
50
+ */
51
+ get timestamp(): Date;
52
+ /**
53
+ * @description Gets the client identity
54
+ * @summary Returns the ClientIdentity instance for the transaction submitter
55
+ * @return {ClientIdentity} The client identity
56
+ */
57
+ get identity(): ClientIdentity;
58
+ /**
59
+ * @description Stores segregation metadata per sequence name
60
+ * @summary Needed because the Sequence creates its own context (via logCtx),
61
+ * losing flags set by extractSegregatedCollections on the handler context.
62
+ * The adapter persists across operations, making it a reliable store.
63
+ */
64
+ setSequenceSegregation(seqName: string, fullySegregated: boolean, collections: string[]): void;
65
+ getSequenceSegregation(seqName: string): {
66
+ fullySegregated: boolean;
67
+ collections: string[];
68
+ } | undefined;
69
+ markFullySegregated(): void;
70
+ get isFullySegregated(): boolean;
71
+ writeTo(col: string, entry: string[]): void;
72
+ getSegregatedWrites(): Record<string, string[]> | undefined;
73
+ put(key: string, value: any): void;
74
+ readFrom(cols: string | string[]): void;
75
+ consumeReadCollections(): string[];
76
+ /**
77
+ * @description Gets the collections registered for writing
78
+ * @summary Returns collection names from segregateWrite, used by sequences to know where to replicate.
79
+ * @return {string[]} Array of collection names, empty if none registered
80
+ */
81
+ getWriteCollections(): string[];
82
+ /**
83
+ * @description Gets the collections registered for reading
84
+ * @summary Returns collection names from segregateRead.
85
+ * @return {string[]} Array of collection names, empty if none registered
86
+ */
87
+ getReadCollections(): string[];
88
+ toString(): string;
89
+ }
@@ -0,0 +1,89 @@
1
+ import { Context } from "@decaf-ts/core";
2
+ import { FabricContractFlags } from "./types.js";
3
+ import { ChaincodeStub, ClientIdentity } from "fabric-shim-api";
4
+ /**
5
+ * @description Context class for Fabric chaincode operations
6
+ * @summary Provides access to Fabric-specific context elements like stub, identity, and logger to be used by repositories and adapters during contract execution.
7
+ * @template F - Flags specific to Fabric contract operations
8
+ * @param {object} [args] - Optional initialization arguments passed to the base Context
9
+ * @return {void}
10
+ * @class FabricContractContext
11
+ * @example
12
+ * ```typescript
13
+ * // In a Fabric chaincode contract method
14
+ * const context = new FabricContractContext();
15
+ * // Optionally set values via the base Context API
16
+ * context.set('stub', ctx.stub);
17
+ * context.set('clientIdentity', ctx.clientIdentity);
18
+ * context.set('logger', contractLogger);
19
+ *
20
+ * // Access context properties
21
+ * const timestamp = context.timestamp;
22
+ * const creator = context.identity.getID();
23
+ * ```
24
+ * @mermaid
25
+ * sequenceDiagram
26
+ * participant Contract
27
+ * participant Context
28
+ * participant Ledger
29
+ * Contract->>Context: new FabricContractContext()
30
+ * Contract->>Context: set('stub'|'clientIdentity'|'logger', ...)
31
+ * Context-->>Contract: timestamp, identity, logger
32
+ * Contract->>Ledger: Interact via stub
33
+ */
34
+ export declare class FabricContractContext extends Context<FabricContractFlags> {
35
+ /**
36
+ * @description Creates a new FabricContractContext instance
37
+ * @summary Initializes the context with Fabric-specific flags
38
+ */
39
+ constructor(ctx?: FabricContractContext);
40
+ /**
41
+ * @description Gets the chaincode stub
42
+ * @summary Returns the ChaincodeStub instance for interacting with the ledger
43
+ * @return {ChaincodeStub} The chaincode stub
44
+ */
45
+ get stub(): ChaincodeStub;
46
+ /**
47
+ * @description Gets the transaction timestamp
48
+ * @summary Overrides the base timestamp getter to use the stub's timestamp
49
+ * @return {Date} The transaction timestamp
50
+ */
51
+ get timestamp(): Date;
52
+ /**
53
+ * @description Gets the client identity
54
+ * @summary Returns the ClientIdentity instance for the transaction submitter
55
+ * @return {ClientIdentity} The client identity
56
+ */
57
+ get identity(): ClientIdentity;
58
+ /**
59
+ * @description Stores segregation metadata per sequence name
60
+ * @summary Needed because the Sequence creates its own context (via logCtx),
61
+ * losing flags set by extractSegregatedCollections on the handler context.
62
+ * The adapter persists across operations, making it a reliable store.
63
+ */
64
+ setSequenceSegregation(seqName: string, fullySegregated: boolean, collections: string[]): void;
65
+ getSequenceSegregation(seqName: string): {
66
+ fullySegregated: boolean;
67
+ collections: string[];
68
+ } | undefined;
69
+ markFullySegregated(): void;
70
+ get isFullySegregated(): boolean;
71
+ writeTo(col: string, entry: string[]): void;
72
+ getSegregatedWrites(): Record<string, string[]> | undefined;
73
+ put(key: string, value: any): void;
74
+ readFrom(cols: string | string[]): void;
75
+ consumeReadCollections(): string[];
76
+ /**
77
+ * @description Gets the collections registered for writing
78
+ * @summary Returns collection names from segregateWrite, used by sequences to know where to replicate.
79
+ * @return {string[]} Array of collection names, empty if none registered
80
+ */
81
+ getWriteCollections(): string[];
82
+ /**
83
+ * @description Gets the collections registered for reading
84
+ * @summary Returns collection names from segregateRead.
85
+ * @return {string[]} Array of collection names, empty if none registered
86
+ */
87
+ getReadCollections(): string[];
88
+ toString(): string;
89
+ }
@@ -0,0 +1,7 @@
1
+ import { Dispatch, MaybeContextualArg } from "@decaf-ts/core";
2
+ import { type FabricContractAdapter } from "./ContractAdapter.cjs";
3
+ import { FabricContractContext } from "./ContractContext.cjs";
4
+ export declare class FabricContractDispatch extends Dispatch<FabricContractAdapter> {
5
+ constructor();
6
+ protected initialize(...args: MaybeContextualArg<FabricContractContext>): Promise<void>;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { Dispatch, MaybeContextualArg } from "@decaf-ts/core";
2
+ import { type FabricContractAdapter } from "./ContractAdapter.js";
3
+ import { FabricContractContext } from "./ContractContext.js";
4
+ export declare class FabricContractDispatch extends Dispatch<FabricContractAdapter> {
5
+ constructor();
6
+ protected initialize(...args: MaybeContextualArg<FabricContractContext>): Promise<void>;
7
+ }
@@ -0,0 +1,105 @@
1
+ import { MaybeContextualArg } from "@decaf-ts/core";
2
+ import { Model } from "@decaf-ts/decorator-validation";
3
+ import { Constructor } from "@decaf-ts/decoration";
4
+ import { FabricContractAdapter } from "./ContractAdapter.cjs";
5
+ import { CouchDBPaginator, MangoQuery } from "@decaf-ts/for-couchdb";
6
+ /**
7
+ * @description Paginator for CouchDB query results
8
+ * @summary Implements pagination for CouchDB queries using bookmarks for efficient navigation through result sets
9
+ * @template M - The model type that extends Model
10
+ * @template R - The result type
11
+ * @param {FabricCo<any, any, any>} adapter - The CouchDB adapter
12
+ * @param {MangoQuery} query - The Mango query to paginate
13
+ * @param {number} size - The page size
14
+ * @param {Constructor<M>} clazz - The model constructor
15
+ * @class CouchDBPaginator
16
+ * @example
17
+ * // Example of using CouchDBPaginator
18
+ * const adapter = new MyCouchDBAdapter(scope);
19
+ * const query = { selector: { type: "user" } };
20
+ * const paginator = new CouchDBPaginator(adapter, query, 10, User);
21
+ *
22
+ * // Get the first page
23
+ * const page1 = await paginator.page(1);
24
+ *
25
+ * // Get the next page
26
+ * const page2 = await paginator.page(2);
27
+ */
28
+ export declare class FabricContractPaginator<M extends Model> extends CouchDBPaginator<M> {
29
+ /**
30
+ * @description Creates a new CouchDBPaginator instance
31
+ * @summary Initializes a paginator for CouchDB query results
32
+ * @param {CouchDBAdapter<any, any, any, any>} adapter - The CouchDB adapter
33
+ * @param {MangoQuery} query - The Mango query to paginate
34
+ * @param {number} size - The page size
35
+ * @param {Constructor<M>} clazz - The model constructor
36
+ */
37
+ constructor(adapter: FabricContractAdapter, query: MangoQuery, size: number, clazz: Constructor<M>);
38
+ /**
39
+ * @description Prepares a query for pagination
40
+ * @summary Modifies the raw query to include pagination parameters
41
+ * @param {MangoQuery} rawStatement - The original Mango query
42
+ * @return {MangoQuery} The prepared query with pagination parameters
43
+ */
44
+ protected prepare(rawStatement: MangoQuery): MangoQuery;
45
+ /**
46
+ * @description Retrieves a specific page of results
47
+ * @summary Executes the query with pagination and processes the results
48
+ * @param {number} [page=1] - The page number to retrieve
49
+ * @return {Promise<R[]>} A promise that resolves to an array of results
50
+ * @throws {PagingError} If trying to access a page other than the first without a bookmark, or if no class is defined
51
+ * @mermaid
52
+ * sequenceDiagram
53
+ * participant Client
54
+ * participant CouchDBPaginator
55
+ * participant Adapter
56
+ * participant CouchDB
57
+ *
58
+ * Client->>CouchDBPaginator: page(pageNumber)
59
+ * Note over CouchDBPaginator: Clone statement
60
+ * CouchDBPaginator->>CouchDBPaginator: validatePage(page)
61
+ *
62
+ * alt page !== 1
63
+ * CouchDBPaginator->>CouchDBPaginator: Check bookmark
64
+ * alt No bookmark
65
+ * CouchDBPaginator-->>Client: Throw PagingError
66
+ * else Has bookmark
67
+ * CouchDBPaginator->>CouchDBPaginator: Add bookmark to statement
68
+ * end
69
+ * end
70
+ *
71
+ * CouchDBPaginator->>Adapter: raw(statement, false)
72
+ * Adapter->>CouchDB: Execute query
73
+ * CouchDB-->>Adapter: Return results
74
+ * Adapter-->>CouchDBPaginator: Return MangoResponse
75
+ *
76
+ * Note over CouchDBPaginator: Process results
77
+ *
78
+ * alt Has warning
79
+ * CouchDBPaginator->>CouchDBPaginator: Log warning
80
+ * end
81
+ *
82
+ * CouchDBPaginator->>CouchDBPaginator: Check for clazz
83
+ *
84
+ * alt No clazz
85
+ * CouchDBPaginator-->>Client: Throw PagingError
86
+ * else Has clazz
87
+ * CouchDBPaginator->>CouchDBPaginator: Find primary key
88
+ *
89
+ * alt Has fields in statement
90
+ * CouchDBPaginator->>CouchDBPaginator: Use docs directly
91
+ * else No fields
92
+ * CouchDBPaginator->>CouchDBPaginator: Process each document
93
+ * loop For each document
94
+ * CouchDBPaginator->>CouchDBPaginator: Extract original ID
95
+ * CouchDBPaginator->>Adapter: revert(doc, clazz, pkDef.id, parsedId)
96
+ * end
97
+ * end
98
+ *
99
+ * CouchDBPaginator->>CouchDBPaginator: Store bookmark
100
+ * CouchDBPaginator->>CouchDBPaginator: Update currentPage
101
+ * CouchDBPaginator-->>Client: Return results
102
+ * end
103
+ */
104
+ page(page?: number, bookmark?: any, ...args: MaybeContextualArg<any>): Promise<M[]>;
105
+ }
@@ -0,0 +1,105 @@
1
+ import { MaybeContextualArg } from "@decaf-ts/core";
2
+ import { Model } from "@decaf-ts/decorator-validation";
3
+ import { Constructor } from "@decaf-ts/decoration";
4
+ import { FabricContractAdapter } from "./ContractAdapter.js";
5
+ import { CouchDBPaginator, MangoQuery } from "@decaf-ts/for-couchdb";
6
+ /**
7
+ * @description Paginator for CouchDB query results
8
+ * @summary Implements pagination for CouchDB queries using bookmarks for efficient navigation through result sets
9
+ * @template M - The model type that extends Model
10
+ * @template R - The result type
11
+ * @param {FabricCo<any, any, any>} adapter - The CouchDB adapter
12
+ * @param {MangoQuery} query - The Mango query to paginate
13
+ * @param {number} size - The page size
14
+ * @param {Constructor<M>} clazz - The model constructor
15
+ * @class CouchDBPaginator
16
+ * @example
17
+ * // Example of using CouchDBPaginator
18
+ * const adapter = new MyCouchDBAdapter(scope);
19
+ * const query = { selector: { type: "user" } };
20
+ * const paginator = new CouchDBPaginator(adapter, query, 10, User);
21
+ *
22
+ * // Get the first page
23
+ * const page1 = await paginator.page(1);
24
+ *
25
+ * // Get the next page
26
+ * const page2 = await paginator.page(2);
27
+ */
28
+ export declare class FabricContractPaginator<M extends Model> extends CouchDBPaginator<M> {
29
+ /**
30
+ * @description Creates a new CouchDBPaginator instance
31
+ * @summary Initializes a paginator for CouchDB query results
32
+ * @param {CouchDBAdapter<any, any, any, any>} adapter - The CouchDB adapter
33
+ * @param {MangoQuery} query - The Mango query to paginate
34
+ * @param {number} size - The page size
35
+ * @param {Constructor<M>} clazz - The model constructor
36
+ */
37
+ constructor(adapter: FabricContractAdapter, query: MangoQuery, size: number, clazz: Constructor<M>);
38
+ /**
39
+ * @description Prepares a query for pagination
40
+ * @summary Modifies the raw query to include pagination parameters
41
+ * @param {MangoQuery} rawStatement - The original Mango query
42
+ * @return {MangoQuery} The prepared query with pagination parameters
43
+ */
44
+ protected prepare(rawStatement: MangoQuery): MangoQuery;
45
+ /**
46
+ * @description Retrieves a specific page of results
47
+ * @summary Executes the query with pagination and processes the results
48
+ * @param {number} [page=1] - The page number to retrieve
49
+ * @return {Promise<R[]>} A promise that resolves to an array of results
50
+ * @throws {PagingError} If trying to access a page other than the first without a bookmark, or if no class is defined
51
+ * @mermaid
52
+ * sequenceDiagram
53
+ * participant Client
54
+ * participant CouchDBPaginator
55
+ * participant Adapter
56
+ * participant CouchDB
57
+ *
58
+ * Client->>CouchDBPaginator: page(pageNumber)
59
+ * Note over CouchDBPaginator: Clone statement
60
+ * CouchDBPaginator->>CouchDBPaginator: validatePage(page)
61
+ *
62
+ * alt page !== 1
63
+ * CouchDBPaginator->>CouchDBPaginator: Check bookmark
64
+ * alt No bookmark
65
+ * CouchDBPaginator-->>Client: Throw PagingError
66
+ * else Has bookmark
67
+ * CouchDBPaginator->>CouchDBPaginator: Add bookmark to statement
68
+ * end
69
+ * end
70
+ *
71
+ * CouchDBPaginator->>Adapter: raw(statement, false)
72
+ * Adapter->>CouchDB: Execute query
73
+ * CouchDB-->>Adapter: Return results
74
+ * Adapter-->>CouchDBPaginator: Return MangoResponse
75
+ *
76
+ * Note over CouchDBPaginator: Process results
77
+ *
78
+ * alt Has warning
79
+ * CouchDBPaginator->>CouchDBPaginator: Log warning
80
+ * end
81
+ *
82
+ * CouchDBPaginator->>CouchDBPaginator: Check for clazz
83
+ *
84
+ * alt No clazz
85
+ * CouchDBPaginator-->>Client: Throw PagingError
86
+ * else Has clazz
87
+ * CouchDBPaginator->>CouchDBPaginator: Find primary key
88
+ *
89
+ * alt Has fields in statement
90
+ * CouchDBPaginator->>CouchDBPaginator: Use docs directly
91
+ * else No fields
92
+ * CouchDBPaginator->>CouchDBPaginator: Process each document
93
+ * loop For each document
94
+ * CouchDBPaginator->>CouchDBPaginator: Extract original ID
95
+ * CouchDBPaginator->>Adapter: revert(doc, clazz, pkDef.id, parsedId)
96
+ * end
97
+ * end
98
+ *
99
+ * CouchDBPaginator->>CouchDBPaginator: Store bookmark
100
+ * CouchDBPaginator->>CouchDBPaginator: Update currentPage
101
+ * CouchDBPaginator-->>Client: Return results
102
+ * end
103
+ */
104
+ page(page?: number, bookmark?: any, ...args: MaybeContextualArg<any>): Promise<M[]>;
105
+ }
@@ -0,0 +1,119 @@
1
+ import "./overrides";
2
+ import { Repository, ObserverHandler, EventIds, ContextualArgs, MaybeContextualArg, OrderDirection, SerializedPage, DirectionLimitOffset, MethodOrOperation, ContextualizedArgs } from "@decaf-ts/core";
3
+ import { FabricContractContext } from "./ContractContext.cjs";
4
+ import { Model } from "@decaf-ts/decorator-validation";
5
+ import { BulkCrudOperationKeys, OperationKeys } from "@decaf-ts/db-decorators";
6
+ import { Constructor } from "@decaf-ts/decoration";
7
+ import { FabricContractAdapter } from "./ContractAdapter.cjs";
8
+ import { FabricContractFlags } from "./types.cjs";
9
+ /**
10
+ * @description Repository for Hyperledger Fabric chaincode models
11
+ * @summary Provides CRUD operations for models within Fabric chaincode contracts
12
+ * @template M - Type extending Model
13
+ * @template MangoQuery - Query type for CouchDB-like queries
14
+ * @template FabricContractAdapter - Adapter type for Fabric contract operations
15
+ * @template FabricContractFlags - Flags specific to Fabric contract operations
16
+ * @template FabricContractContext - Context type for Fabric contract operations
17
+ *
18
+ * @param {FabricContractAdapter} [adapter] - The adapter for interacting with the state database
19
+ * @param {Constructor<M>} [clazz] - The model constructor
20
+ * @param {Array<OperationKeys | BulkCrudOperationKeys | string>} [trackedEvents] - Events to track for observer notifications
21
+ *
22
+ * @class FabricContractRepository
23
+ * @example
24
+ * ```typescript
25
+ * // In a Fabric chaincode contract class
26
+ * import { FabricContractRepository, FabricContractAdapter } from '@decaf-ts/for-fabric';
27
+ *
28
+ * @table('assets')
29
+ * class Asset extends Model {
30
+ * @id()
31
+ * id: string;
32
+ *
33
+ * @property()
34
+ * data: string;
35
+ * }
36
+ *
37
+ * export class MyContract extends Contract {
38
+ * private adapter = new FabricContractAdapter();
39
+ * private repository: FabricContractRepository<Asset>;
40
+ *
41
+ * constructor() {
42
+ * super('MyContract');
43
+ * this.repository = new FabricContractRepository<Asset>(this.adapter, Asset);
44
+ * }
45
+ *
46
+ * @Transaction()
47
+ * async createAsset(ctx: Context, id: string, data: string): Promise<void> {
48
+ * const asset = new Asset();
49
+ * asset.id = id;
50
+ * asset.data = data;
51
+ *
52
+ * await this.repository.create(asset, { stub: ctx.stub });
53
+ * }
54
+ * }
55
+ * ```
56
+ * @mermaid
57
+ * sequenceDiagram
58
+ * participant Contract
59
+ * participant Repository
60
+ * participant Adapter
61
+ * participant StateDB
62
+ *
63
+ * Contract->>Repository: create(model, ctx)
64
+ * Repository->>Adapter: prepare(model, pk)
65
+ * Repository->>Adapter: create(tableName, id, record, transient, ctx)
66
+ * Adapter->>StateDB: putState(id, serializedData)
67
+ * StateDB-->>Adapter: Success
68
+ * Adapter-->>Repository: record
69
+ * Repository->>Adapter: revert(record, class, pk, id, transient)
70
+ * Adapter-->>Repository: model
71
+ * Repository-->>Contract: model
72
+ */
73
+ export declare class FabricContractRepository<M extends Model> extends Repository<M, FabricContractAdapter> {
74
+ protected omittedEvents?: (OperationKeys | BulkCrudOperationKeys | string)[] | undefined;
75
+ protected _overrides: Partial<(import("@decaf-ts/db-decorators").ContextFlags<any> & Pick<import("@decaf-ts/db-decorators").RepositoryFlags<any>, "operation" | "correlationId" | "ignoreDevSafeGuards" | "parentContext" | "childContexts"> & {
76
+ pending?: Record<string, string[]>;
77
+ transactionLock?: import("@decaf-ts/core").ContextLock;
78
+ }) | import("@decaf-ts/core").AdapterFlags> & {
79
+ ignoreValidation: boolean;
80
+ ignoreHandlers: boolean;
81
+ allowRawStatements: boolean;
82
+ forcePrepareSimpleQueries: boolean;
83
+ forcePrepareComplexQueries: boolean;
84
+ rebuildWithTransient: boolean;
85
+ };
86
+ constructor(adapter?: FabricContractAdapter, clazz?: Constructor<M>, omittedEvents?: (OperationKeys | BulkCrudOperationKeys | string)[] | undefined);
87
+ create(model: M, ...args: MaybeContextualArg<FabricContractContext>): Promise<M>;
88
+ createAll(models: M[], ...args: MaybeContextualArg<FabricContractContext>): Promise<M[]>;
89
+ update(model: M, ...args: MaybeContextualArg<FabricContractContext>): Promise<M>;
90
+ updateAll(models: M[], ...args: MaybeContextualArg<FabricContractContext>): Promise<M[]>;
91
+ listBy(key: keyof M, order: OrderDirection, ...args: MaybeContextualArg<FabricContractContext>): Promise<M[]>;
92
+ paginateBy(key: keyof M, order: OrderDirection, ref?: Omit<DirectionLimitOffset, "direction">, ...args: MaybeContextualArg<FabricContractContext>): Promise<SerializedPage<M>>;
93
+ statement(name: string, ...args: MaybeContextualArg<FabricContractContext>): Promise<any>;
94
+ /**
95
+ * @description Gets the observer handler for this repository
96
+ * @summary Returns a FabricContractRepositoryObservableHandler instance
97
+ * @return {ObserverHandler} The observer handler
98
+ */
99
+ ObserverHandler(): ObserverHandler;
100
+ /**
101
+ * @description Updates observers based on tracked events
102
+ * @summary Filters events based on trackedEvents and delegates to the parent method
103
+ * @param {string} table - The table/collection name
104
+ * @param {OperationKeys | BulkCrudOperationKeys | string} event - The event type
105
+ * @param {EventIds} id - The event identifier
106
+ * @param {FabricContractContext} ctx - The Fabric contract context
107
+ * @param {...any[]} args - Additional arguments
108
+ * @return {Promise<void>} Promise that resolves when observers are updated
109
+ */
110
+ updateObservers(table: Constructor<M> | string, event: OperationKeys | BulkCrudOperationKeys | string, id: EventIds, ...args: ContextualArgs<FabricContractContext>): Promise<void>;
111
+ protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD): ContextualizedArgs<FabricContractContext, ARGS, METHOD extends string ? true : false>;
112
+ protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD, allowCreate: false): ContextualizedArgs<FabricContractContext, ARGS, METHOD extends string ? true : false>;
113
+ protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD, allowCreate: true): Promise<ContextualizedArgs<FabricContractContext, ARGS, METHOD extends string ? true : false>>;
114
+ protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD, allowCreate: true, overrides?: Partial<FabricContractFlags>): Promise<ContextualizedArgs<FabricContractContext, ARGS, METHOD extends string ? true : false>>;
115
+ protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD, allowCreate: false, overrides?: Partial<FabricContractFlags>): ContextualizedArgs<FabricContractContext, ARGS, METHOD extends string ? true : false>;
116
+ private cleanContextualizedArgs;
117
+ private applyCleanContext;
118
+ private cleanContext;
119
+ }
@@ -0,0 +1,119 @@
1
+ import "./overrides";
2
+ import { Repository, ObserverHandler, EventIds, ContextualArgs, MaybeContextualArg, OrderDirection, SerializedPage, DirectionLimitOffset, MethodOrOperation, ContextualizedArgs } from "@decaf-ts/core";
3
+ import { FabricContractContext } from "./ContractContext.js";
4
+ import { Model } from "@decaf-ts/decorator-validation";
5
+ import { BulkCrudOperationKeys, OperationKeys } from "@decaf-ts/db-decorators";
6
+ import { Constructor } from "@decaf-ts/decoration";
7
+ import { FabricContractAdapter } from "./ContractAdapter.js";
8
+ import { FabricContractFlags } from "./types.js";
9
+ /**
10
+ * @description Repository for Hyperledger Fabric chaincode models
11
+ * @summary Provides CRUD operations for models within Fabric chaincode contracts
12
+ * @template M - Type extending Model
13
+ * @template MangoQuery - Query type for CouchDB-like queries
14
+ * @template FabricContractAdapter - Adapter type for Fabric contract operations
15
+ * @template FabricContractFlags - Flags specific to Fabric contract operations
16
+ * @template FabricContractContext - Context type for Fabric contract operations
17
+ *
18
+ * @param {FabricContractAdapter} [adapter] - The adapter for interacting with the state database
19
+ * @param {Constructor<M>} [clazz] - The model constructor
20
+ * @param {Array<OperationKeys | BulkCrudOperationKeys | string>} [trackedEvents] - Events to track for observer notifications
21
+ *
22
+ * @class FabricContractRepository
23
+ * @example
24
+ * ```typescript
25
+ * // In a Fabric chaincode contract class
26
+ * import { FabricContractRepository, FabricContractAdapter } from '@decaf-ts/for-fabric';
27
+ *
28
+ * @table('assets')
29
+ * class Asset extends Model {
30
+ * @id()
31
+ * id: string;
32
+ *
33
+ * @property()
34
+ * data: string;
35
+ * }
36
+ *
37
+ * export class MyContract extends Contract {
38
+ * private adapter = new FabricContractAdapter();
39
+ * private repository: FabricContractRepository<Asset>;
40
+ *
41
+ * constructor() {
42
+ * super('MyContract');
43
+ * this.repository = new FabricContractRepository<Asset>(this.adapter, Asset);
44
+ * }
45
+ *
46
+ * @Transaction()
47
+ * async createAsset(ctx: Context, id: string, data: string): Promise<void> {
48
+ * const asset = new Asset();
49
+ * asset.id = id;
50
+ * asset.data = data;
51
+ *
52
+ * await this.repository.create(asset, { stub: ctx.stub });
53
+ * }
54
+ * }
55
+ * ```
56
+ * @mermaid
57
+ * sequenceDiagram
58
+ * participant Contract
59
+ * participant Repository
60
+ * participant Adapter
61
+ * participant StateDB
62
+ *
63
+ * Contract->>Repository: create(model, ctx)
64
+ * Repository->>Adapter: prepare(model, pk)
65
+ * Repository->>Adapter: create(tableName, id, record, transient, ctx)
66
+ * Adapter->>StateDB: putState(id, serializedData)
67
+ * StateDB-->>Adapter: Success
68
+ * Adapter-->>Repository: record
69
+ * Repository->>Adapter: revert(record, class, pk, id, transient)
70
+ * Adapter-->>Repository: model
71
+ * Repository-->>Contract: model
72
+ */
73
+ export declare class FabricContractRepository<M extends Model> extends Repository<M, FabricContractAdapter> {
74
+ protected omittedEvents?: (OperationKeys | BulkCrudOperationKeys | string)[] | undefined;
75
+ protected _overrides: Partial<(import("@decaf-ts/db-decorators").ContextFlags<any> & Pick<import("@decaf-ts/db-decorators").RepositoryFlags<any>, "operation" | "correlationId" | "ignoreDevSafeGuards" | "parentContext" | "childContexts"> & {
76
+ pending?: Record<string, string[]>;
77
+ transactionLock?: import("@decaf-ts/core").ContextLock;
78
+ }) | import("@decaf-ts/core").AdapterFlags> & {
79
+ ignoreValidation: boolean;
80
+ ignoreHandlers: boolean;
81
+ allowRawStatements: boolean;
82
+ forcePrepareSimpleQueries: boolean;
83
+ forcePrepareComplexQueries: boolean;
84
+ rebuildWithTransient: boolean;
85
+ };
86
+ constructor(adapter?: FabricContractAdapter, clazz?: Constructor<M>, omittedEvents?: (OperationKeys | BulkCrudOperationKeys | string)[] | undefined);
87
+ create(model: M, ...args: MaybeContextualArg<FabricContractContext>): Promise<M>;
88
+ createAll(models: M[], ...args: MaybeContextualArg<FabricContractContext>): Promise<M[]>;
89
+ update(model: M, ...args: MaybeContextualArg<FabricContractContext>): Promise<M>;
90
+ updateAll(models: M[], ...args: MaybeContextualArg<FabricContractContext>): Promise<M[]>;
91
+ listBy(key: keyof M, order: OrderDirection, ...args: MaybeContextualArg<FabricContractContext>): Promise<M[]>;
92
+ paginateBy(key: keyof M, order: OrderDirection, ref?: Omit<DirectionLimitOffset, "direction">, ...args: MaybeContextualArg<FabricContractContext>): Promise<SerializedPage<M>>;
93
+ statement(name: string, ...args: MaybeContextualArg<FabricContractContext>): Promise<any>;
94
+ /**
95
+ * @description Gets the observer handler for this repository
96
+ * @summary Returns a FabricContractRepositoryObservableHandler instance
97
+ * @return {ObserverHandler} The observer handler
98
+ */
99
+ ObserverHandler(): ObserverHandler;
100
+ /**
101
+ * @description Updates observers based on tracked events
102
+ * @summary Filters events based on trackedEvents and delegates to the parent method
103
+ * @param {string} table - The table/collection name
104
+ * @param {OperationKeys | BulkCrudOperationKeys | string} event - The event type
105
+ * @param {EventIds} id - The event identifier
106
+ * @param {FabricContractContext} ctx - The Fabric contract context
107
+ * @param {...any[]} args - Additional arguments
108
+ * @return {Promise<void>} Promise that resolves when observers are updated
109
+ */
110
+ updateObservers(table: Constructor<M> | string, event: OperationKeys | BulkCrudOperationKeys | string, id: EventIds, ...args: ContextualArgs<FabricContractContext>): Promise<void>;
111
+ protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD): ContextualizedArgs<FabricContractContext, ARGS, METHOD extends string ? true : false>;
112
+ protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD, allowCreate: false): ContextualizedArgs<FabricContractContext, ARGS, METHOD extends string ? true : false>;
113
+ protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD, allowCreate: true): Promise<ContextualizedArgs<FabricContractContext, ARGS, METHOD extends string ? true : false>>;
114
+ protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD, allowCreate: true, overrides?: Partial<FabricContractFlags>): Promise<ContextualizedArgs<FabricContractContext, ARGS, METHOD extends string ? true : false>>;
115
+ protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD, allowCreate: false, overrides?: Partial<FabricContractFlags>): ContextualizedArgs<FabricContractContext, ARGS, METHOD extends string ? true : false>;
116
+ private cleanContextualizedArgs;
117
+ private applyCleanContext;
118
+ private cleanContext;
119
+ }