@decaf-ts/for-fabric 0.13.31 → 0.13.33

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 (304) hide show
  1. package/dist/for-fabric.cjs +1 -1
  2. package/dist/for-fabric.cjs.map +1 -1
  3. package/dist/for-fabric.js +1 -1
  4. package/dist/for-fabric.js.map +1 -1
  5. package/lib/cjs/bin/cli.cjs +1 -1
  6. package/lib/cjs/bin/cli.cjs.map +1 -1
  7. package/lib/cjs/cli-module.cjs +1 -1
  8. package/lib/cjs/cli-module.cjs.map +1 -1
  9. package/lib/cjs/cli-utils.cjs +1 -1
  10. package/lib/cjs/cli-utils.cjs.map +1 -1
  11. package/lib/cjs/client/FabricClientAdapter.cjs +1 -1
  12. package/lib/cjs/client/FabricClientAdapter.cjs.map +1 -1
  13. package/lib/cjs/client/FabricClientContext.cjs +1 -1
  14. package/lib/cjs/client/FabricClientContext.cjs.map +1 -1
  15. package/lib/cjs/client/FabricClientDispatch.cjs +1 -1
  16. package/lib/cjs/client/FabricClientDispatch.cjs.map +1 -1
  17. package/lib/cjs/client/FabricClientPaginator.cjs +1 -1
  18. package/lib/cjs/client/FabricClientPaginator.cjs.map +1 -1
  19. package/lib/cjs/client/FabricClientRepository.cjs +1 -1
  20. package/lib/cjs/client/FabricClientRepository.cjs.map +1 -1
  21. package/lib/cjs/client/FabricClientStatement.cjs +1 -1
  22. package/lib/cjs/client/FabricClientStatement.cjs.map +1 -1
  23. package/lib/cjs/client/collections/generation.cjs +1 -1
  24. package/lib/cjs/client/collections/generation.cjs.map +1 -1
  25. package/lib/cjs/client/collections/index.cjs +1 -1
  26. package/lib/cjs/client/collections/index.cjs.map +1 -1
  27. package/lib/cjs/client/constants.cjs +1 -1
  28. package/lib/cjs/client/constants.cjs.map +1 -1
  29. package/lib/cjs/client/crypto.cjs +1 -1
  30. package/lib/cjs/client/crypto.cjs.map +1 -1
  31. package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs +1 -1
  32. package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs.map +1 -1
  33. package/lib/cjs/client/erc20/index.cjs +1 -1
  34. package/lib/cjs/client/erc20/index.cjs.map +1 -1
  35. package/lib/cjs/client/fabric-fs.cjs +21 -17
  36. package/lib/cjs/client/fabric-fs.cjs.map +1 -1
  37. package/lib/cjs/client/fabric-hsm.cjs +1 -1
  38. package/lib/cjs/client/fabric-hsm.cjs.map +1 -1
  39. package/lib/cjs/client/ids/id-extraction.cjs +1 -1
  40. package/lib/cjs/client/ids/id-extraction.cjs.map +1 -1
  41. package/lib/cjs/client/ids/index.cjs +1 -1
  42. package/lib/cjs/client/ids/index.cjs.map +1 -1
  43. package/lib/cjs/client/index.cjs +1 -1
  44. package/lib/cjs/client/index.cjs.map +1 -1
  45. package/lib/cjs/client/indexes/generation.cjs +1 -1
  46. package/lib/cjs/client/indexes/generation.cjs.map +1 -1
  47. package/lib/cjs/client/indexes/index.cjs +1 -1
  48. package/lib/cjs/client/indexes/index.cjs.map +1 -1
  49. package/lib/cjs/client/logging.cjs +1 -1
  50. package/lib/cjs/client/logging.cjs.map +1 -1
  51. package/lib/cjs/client/services/FabricEnrollmentService.cjs +1 -1
  52. package/lib/cjs/client/services/FabricEnrollmentService.cjs.map +1 -1
  53. package/lib/cjs/client/services/FabricIdentityService.cjs +1 -1
  54. package/lib/cjs/client/services/FabricIdentityService.cjs.map +1 -1
  55. package/lib/cjs/client/services/RegistrationRequestBuilder.cjs +1 -1
  56. package/lib/cjs/client/services/RegistrationRequestBuilder.cjs.map +1 -1
  57. package/lib/cjs/client/services/constants.cjs +1 -1
  58. package/lib/cjs/client/services/constants.cjs.map +1 -1
  59. package/lib/cjs/client/services/index.cjs +1 -1
  60. package/lib/cjs/client/services/index.cjs.map +1 -1
  61. package/lib/cjs/client/types.cjs +1 -1
  62. package/lib/cjs/client/types.cjs.map +1 -1
  63. package/lib/cjs/client/utils.cjs +1 -1
  64. package/lib/cjs/client/utils.cjs.map +1 -1
  65. package/lib/cjs/contract/Address.cjs +1 -1
  66. package/lib/cjs/contract/Address.cjs.map +1 -1
  67. package/lib/cjs/contract/AddressContract.cjs +1 -1
  68. package/lib/cjs/contract/AddressContract.cjs.map +1 -1
  69. package/lib/cjs/contract/AuditContract.cjs +1 -1
  70. package/lib/cjs/contract/AuditContract.cjs.map +1 -1
  71. package/lib/cjs/contract/BatchContract.cjs +1 -1
  72. package/lib/cjs/contract/BatchContract.cjs.map +1 -1
  73. package/lib/cjs/contract/MarketContract.cjs +1 -1
  74. package/lib/cjs/contract/MarketContract.cjs.map +1 -1
  75. package/lib/cjs/contract/OtherAuditContract.cjs +1 -1
  76. package/lib/cjs/contract/OtherAuditContract.cjs.map +1 -1
  77. package/lib/cjs/contract/OtherBatchContract.cjs +1 -1
  78. package/lib/cjs/contract/OtherBatchContract.cjs.map +1 -1
  79. package/lib/cjs/contract/OtherLeafletContract.cjs +1 -1
  80. package/lib/cjs/contract/OtherLeafletContract.cjs.map +1 -1
  81. package/lib/cjs/contract/OtherLeafletFileContract.cjs +1 -1
  82. package/lib/cjs/contract/OtherLeafletFileContract.cjs.map +1 -1
  83. package/lib/cjs/contract/OtherMarketContract.cjs +1 -1
  84. package/lib/cjs/contract/OtherMarketContract.cjs.map +1 -1
  85. package/lib/cjs/contract/OtherProductContract.cjs +1 -1
  86. package/lib/cjs/contract/OtherProductContract.cjs.map +1 -1
  87. package/lib/cjs/contract/OtherProductImageContract.cjs +1 -1
  88. package/lib/cjs/contract/OtherProductImageContract.cjs.map +1 -1
  89. package/lib/cjs/contract/OtherProductSharedContract.cjs +1 -1
  90. package/lib/cjs/contract/OtherProductSharedContract.cjs.map +1 -1
  91. package/lib/cjs/contract/OtherProductStrengthContract.cjs +1 -1
  92. package/lib/cjs/contract/OtherProductStrengthContract.cjs.map +1 -1
  93. package/lib/cjs/contract/Product.cjs +1 -1
  94. package/lib/cjs/contract/Product.cjs.map +1 -1
  95. package/lib/cjs/contract/ProductContract.cjs +1 -1
  96. package/lib/cjs/contract/ProductContract.cjs.map +1 -1
  97. package/lib/cjs/contract/ProductStrengthContract.cjs +1 -1
  98. package/lib/cjs/contract/ProductStrengthContract.cjs.map +1 -1
  99. package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs +1 -1
  100. package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs.map +1 -1
  101. package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs +1 -1
  102. package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs.map +1 -1
  103. package/lib/cjs/contract/User.cjs +1 -1
  104. package/lib/cjs/contract/User.cjs.map +1 -1
  105. package/lib/cjs/contract/UserContract.cjs +1 -1
  106. package/lib/cjs/contract/UserContract.cjs.map +1 -1
  107. package/lib/cjs/contract/index.cjs +1 -1
  108. package/lib/cjs/contract/index.cjs.map +1 -1
  109. package/lib/cjs/contract/logging-context.cjs +1 -1
  110. package/lib/cjs/contract/logging-context.cjs.map +1 -1
  111. package/lib/cjs/contract/models/Audit.cjs +1 -1
  112. package/lib/cjs/contract/models/Audit.cjs.map +1 -1
  113. package/lib/cjs/contract/models/BaseIdentifiedModel.cjs +1 -1
  114. package/lib/cjs/contract/models/BaseIdentifiedModel.cjs.map +1 -1
  115. package/lib/cjs/contract/models/BaseModel.cjs +1 -1
  116. package/lib/cjs/contract/models/BaseModel.cjs.map +1 -1
  117. package/lib/cjs/contract/models/Batch.cjs +1 -1
  118. package/lib/cjs/contract/models/Batch.cjs.map +1 -1
  119. package/lib/cjs/contract/models/GtinOwner.cjs +1 -1
  120. package/lib/cjs/contract/models/GtinOwner.cjs.map +1 -1
  121. package/lib/cjs/contract/models/History.cjs +1 -1
  122. package/lib/cjs/contract/models/History.cjs.map +1 -1
  123. package/lib/cjs/contract/models/Leaflet.cjs +1 -1
  124. package/lib/cjs/contract/models/Leaflet.cjs.map +1 -1
  125. package/lib/cjs/contract/models/LeafletFile.cjs +1 -1
  126. package/lib/cjs/contract/models/LeafletFile.cjs.map +1 -1
  127. package/lib/cjs/contract/models/Market.cjs +1 -1
  128. package/lib/cjs/contract/models/Market.cjs.map +1 -1
  129. package/lib/cjs/contract/models/OtherAudit.cjs +1 -1
  130. package/lib/cjs/contract/models/OtherAudit.cjs.map +1 -1
  131. package/lib/cjs/contract/models/OtherBatchShared.cjs +1 -1
  132. package/lib/cjs/contract/models/OtherBatchShared.cjs.map +1 -1
  133. package/lib/cjs/contract/models/OtherLeaflet.cjs +1 -1
  134. package/lib/cjs/contract/models/OtherLeaflet.cjs.map +1 -1
  135. package/lib/cjs/contract/models/OtherLeafletFile.cjs +1 -1
  136. package/lib/cjs/contract/models/OtherLeafletFile.cjs.map +1 -1
  137. package/lib/cjs/contract/models/OtherMarket.cjs +1 -1
  138. package/lib/cjs/contract/models/OtherMarket.cjs.map +1 -1
  139. package/lib/cjs/contract/models/OtherProduct.cjs +1 -1
  140. package/lib/cjs/contract/models/OtherProduct.cjs.map +1 -1
  141. package/lib/cjs/contract/models/OtherProductImage.cjs +1 -1
  142. package/lib/cjs/contract/models/OtherProductImage.cjs.map +1 -1
  143. package/lib/cjs/contract/models/OtherProductShared.cjs +1 -1
  144. package/lib/cjs/contract/models/OtherProductShared.cjs.map +1 -1
  145. package/lib/cjs/contract/models/OtherProductStrength.cjs +1 -1
  146. package/lib/cjs/contract/models/OtherProductStrength.cjs.map +1 -1
  147. package/lib/cjs/contract/models/Product.cjs +1 -1
  148. package/lib/cjs/contract/models/Product.cjs.map +1 -1
  149. package/lib/cjs/contract/models/ProductStrength.cjs +1 -1
  150. package/lib/cjs/contract/models/ProductStrength.cjs.map +1 -1
  151. package/lib/cjs/contract/models/SegregatedDocument.cjs +1 -1
  152. package/lib/cjs/contract/models/SegregatedDocument.cjs.map +1 -1
  153. package/lib/cjs/contract/models/constants.cjs +1 -1
  154. package/lib/cjs/contract/models/constants.cjs.map +1 -1
  155. package/lib/cjs/contract/models/decorators-private.cjs +1 -1
  156. package/lib/cjs/contract/models/decorators-private.cjs.map +1 -1
  157. package/lib/cjs/contract/models/decorators.cjs +1 -1
  158. package/lib/cjs/contract/models/decorators.cjs.map +1 -1
  159. package/lib/cjs/contract/models/gtin.cjs +1 -1
  160. package/lib/cjs/contract/models/gtin.cjs.map +1 -1
  161. package/lib/cjs/contract/models/history-dec.cjs +1 -1
  162. package/lib/cjs/contract/models/history-dec.cjs.map +1 -1
  163. package/lib/cjs/contract/trackedModels/History.cjs +1 -1
  164. package/lib/cjs/contract/trackedModels/History.cjs.map +1 -1
  165. package/lib/cjs/contract/trackedModels/OtherAudit.cjs +1 -1
  166. package/lib/cjs/contract/trackedModels/OtherAudit.cjs.map +1 -1
  167. package/lib/cjs/contract/trackedModels/OtherBatchShared.cjs +1 -1
  168. package/lib/cjs/contract/trackedModels/OtherBatchShared.cjs.map +1 -1
  169. package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs +1 -1
  170. package/lib/cjs/contract/trackedModels/OtherLeaflet.cjs.map +1 -1
  171. package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs +1 -1
  172. package/lib/cjs/contract/trackedModels/OtherLeafletFile.cjs.map +1 -1
  173. package/lib/cjs/contract/trackedModels/OtherMarket.cjs +1 -1
  174. package/lib/cjs/contract/trackedModels/OtherMarket.cjs.map +1 -1
  175. package/lib/cjs/contract/trackedModels/OtherProduct.cjs +1 -1
  176. package/lib/cjs/contract/trackedModels/OtherProduct.cjs.map +1 -1
  177. package/lib/cjs/contract/trackedModels/OtherProductImage.cjs +1 -1
  178. package/lib/cjs/contract/trackedModels/OtherProductImage.cjs.map +1 -1
  179. package/lib/cjs/contract/trackedModels/OtherProductShared.cjs +1 -1
  180. package/lib/cjs/contract/trackedModels/OtherProductShared.cjs.map +1 -1
  181. package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs +1 -1
  182. package/lib/cjs/contract/trackedModels/OtherProductStrength.cjs.map +1 -1
  183. package/lib/cjs/contracts/ContractAdapter.cjs +106 -1
  184. package/lib/cjs/contracts/ContractAdapter.cjs.map +1 -1
  185. package/lib/cjs/contracts/ContractContext.cjs +1 -1
  186. package/lib/cjs/contracts/ContractContext.cjs.map +1 -1
  187. package/lib/cjs/contracts/FabricContractDispatch.cjs +1 -1
  188. package/lib/cjs/contracts/FabricContractDispatch.cjs.map +1 -1
  189. package/lib/cjs/contracts/FabricContractPaginator.cjs +1 -1
  190. package/lib/cjs/contracts/FabricContractPaginator.cjs.map +1 -1
  191. package/lib/cjs/contracts/FabricContractRepository.cjs +8 -61
  192. package/lib/cjs/contracts/FabricContractRepository.cjs.map +1 -1
  193. package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs +1 -1
  194. package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs.map +1 -1
  195. package/lib/cjs/contracts/FabricContractSequence.cjs +1 -1
  196. package/lib/cjs/contracts/FabricContractSequence.cjs.map +1 -1
  197. package/lib/cjs/contracts/FabricContractStatement.cjs +1 -1
  198. package/lib/cjs/contracts/FabricContractStatement.cjs.map +1 -1
  199. package/lib/cjs/contracts/MigrationContract.cjs +1 -1
  200. package/lib/cjs/contracts/MigrationContract.cjs.map +1 -1
  201. package/lib/cjs/contracts/PrivateSequence.cjs +1 -1
  202. package/lib/cjs/contracts/PrivateSequence.cjs.map +1 -1
  203. package/lib/cjs/contracts/auth/decorators.cjs +1 -1
  204. package/lib/cjs/contracts/auth/decorators.cjs.map +1 -1
  205. package/lib/cjs/contracts/auth/index.cjs +1 -1
  206. package/lib/cjs/contracts/auth/index.cjs.map +1 -1
  207. package/lib/cjs/contracts/bootstrap.cjs +1 -1
  208. package/lib/cjs/contracts/bootstrap.cjs.map +1 -1
  209. package/lib/cjs/contracts/crud/crud-contract.cjs +1 -1
  210. package/lib/cjs/contracts/crud/crud-contract.cjs.map +1 -1
  211. package/lib/cjs/contracts/crud/index.cjs +1 -1
  212. package/lib/cjs/contracts/crud/index.cjs.map +1 -1
  213. package/lib/cjs/contracts/crud/serialized-crud-contract.cjs +1 -1
  214. package/lib/cjs/contracts/crud/serialized-crud-contract.cjs.map +1 -1
  215. package/lib/cjs/contracts/erc20/erc20contract.cjs +1 -1
  216. package/lib/cjs/contracts/erc20/erc20contract.cjs.map +1 -1
  217. package/lib/cjs/contracts/erc20/index.cjs +1 -1
  218. package/lib/cjs/contracts/erc20/index.cjs.map +1 -1
  219. package/lib/cjs/contracts/erc20/models.cjs +1 -1
  220. package/lib/cjs/contracts/erc20/models.cjs.map +1 -1
  221. package/lib/cjs/contracts/fabric-overrides.cjs +1 -1
  222. package/lib/cjs/contracts/fabric-overrides.cjs.map +1 -1
  223. package/lib/cjs/contracts/index.cjs +1 -1
  224. package/lib/cjs/contracts/index.cjs.map +1 -1
  225. package/lib/cjs/contracts/logging.cjs +1 -1
  226. package/lib/cjs/contracts/logging.cjs.map +1 -1
  227. package/lib/cjs/contracts/overrides.cjs +1 -1
  228. package/lib/cjs/contracts/overrides.cjs.map +1 -1
  229. package/lib/cjs/contracts/types.cjs +1 -1
  230. package/lib/cjs/contracts/types.cjs.map +1 -1
  231. package/lib/cjs/contracts/uuid.cjs +1 -1
  232. package/lib/cjs/contracts/uuid.cjs.map +1 -1
  233. package/lib/cjs/index.cjs +1 -1
  234. package/lib/cjs/index.cjs.map +1 -1
  235. package/lib/cjs/shared/ClientSerializer.cjs +1 -1
  236. package/lib/cjs/shared/ClientSerializer.cjs.map +1 -1
  237. package/lib/cjs/shared/DeterministicSerializer.cjs +1 -1
  238. package/lib/cjs/shared/DeterministicSerializer.cjs.map +1 -1
  239. package/lib/cjs/shared/SimpleDeterministicSerializer.cjs +1 -1
  240. package/lib/cjs/shared/SimpleDeterministicSerializer.cjs.map +1 -1
  241. package/lib/cjs/shared/constants.cjs +1 -1
  242. package/lib/cjs/shared/constants.cjs.map +1 -1
  243. package/lib/cjs/shared/decorators.cjs +1 -1
  244. package/lib/cjs/shared/decorators.cjs.map +1 -1
  245. package/lib/cjs/shared/erc20/erc20-constants.cjs +1 -1
  246. package/lib/cjs/shared/erc20/erc20-constants.cjs.map +1 -1
  247. package/lib/cjs/shared/erc20/index.cjs +1 -1
  248. package/lib/cjs/shared/erc20/index.cjs.map +1 -1
  249. package/lib/cjs/shared/errors.cjs +1 -1
  250. package/lib/cjs/shared/errors.cjs.map +1 -1
  251. package/lib/cjs/shared/events.cjs +1 -1
  252. package/lib/cjs/shared/events.cjs.map +1 -1
  253. package/lib/cjs/shared/fabric-types.cjs +1 -1
  254. package/lib/cjs/shared/fabric-types.cjs.map +1 -1
  255. package/lib/cjs/shared/index.cjs +1 -1
  256. package/lib/cjs/shared/index.cjs.map +1 -1
  257. package/lib/cjs/shared/interfaces/Checkable.cjs +1 -1
  258. package/lib/cjs/shared/interfaces/Checkable.cjs.map +1 -1
  259. package/lib/cjs/shared/interfaces/index.cjs +1 -1
  260. package/lib/cjs/shared/interfaces/index.cjs.map +1 -1
  261. package/lib/cjs/shared/math.cjs +1 -1
  262. package/lib/cjs/shared/math.cjs.map +1 -1
  263. package/lib/cjs/shared/model/FabricBaseModel.cjs +1 -1
  264. package/lib/cjs/shared/model/FabricBaseModel.cjs.map +1 -1
  265. package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs +1 -1
  266. package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs.map +1 -1
  267. package/lib/cjs/shared/model/Identity.cjs +1 -1
  268. package/lib/cjs/shared/model/Identity.cjs.map +1 -1
  269. package/lib/cjs/shared/model/IdentityCredentials.cjs +1 -1
  270. package/lib/cjs/shared/model/IdentityCredentials.cjs.map +1 -1
  271. package/lib/cjs/shared/model/index.cjs +1 -1
  272. package/lib/cjs/shared/model/index.cjs.map +1 -1
  273. package/lib/cjs/shared/overrides/Model.cjs +1 -1
  274. package/lib/cjs/shared/overrides/Model.cjs.map +1 -1
  275. package/lib/cjs/shared/overrides/index.cjs +1 -1
  276. package/lib/cjs/shared/overrides/index.cjs.map +1 -1
  277. package/lib/cjs/shared/overrides/overrides.cjs +1 -1
  278. package/lib/cjs/shared/overrides/overrides.cjs.map +1 -1
  279. package/lib/cjs/shared/types.cjs +1 -1
  280. package/lib/cjs/shared/types.cjs.map +1 -1
  281. package/lib/cjs/version.cjs +4 -4
  282. package/lib/cjs/version.cjs.map +1 -1
  283. package/lib/esm/client/fabric-fs.js +20 -16
  284. package/lib/esm/client/fabric-fs.js.map +1 -1
  285. package/lib/esm/contracts/ContractAdapter.js +105 -0
  286. package/lib/esm/contracts/ContractAdapter.js.map +1 -1
  287. package/lib/esm/contracts/FabricContractRepository.js +7 -60
  288. package/lib/esm/contracts/FabricContractRepository.js.map +1 -1
  289. package/lib/esm/version.js +3 -3
  290. package/lib/types/contract/models/decorators-private.d.cts +1 -1
  291. package/lib/types/contract/models/decorators-private.d.mts +1 -1
  292. package/lib/types/contract/models/decorators.d.cts +2 -2
  293. package/lib/types/contract/models/decorators.d.mts +2 -2
  294. package/lib/types/contract/models/gtin.d.cts +1 -1
  295. package/lib/types/contract/models/gtin.d.mts +1 -1
  296. package/lib/types/contract/models/history-dec.d.cts +1 -1
  297. package/lib/types/contract/models/history-dec.d.mts +1 -1
  298. package/lib/types/contracts/ContractAdapter.d.cts +2 -1
  299. package/lib/types/contracts/ContractAdapter.d.mts +2 -1
  300. package/lib/types/shared/types.d.cts +5 -0
  301. package/lib/types/shared/types.d.mts +5 -0
  302. package/lib/types/version.d.cts +3 -3
  303. package/lib/types/version.d.mts +3 -3
  304. package/package.json +1 -1
@@ -119,14 +119,18 @@ export async function getSigner(keyDirectoryPath) {
119
119
  return await promises.readFile(keyPath);
120
120
  };
121
121
  const privateKeyPem = (await contentOfLoadFile(keyDirectoryPath, signerFileReader));
122
- // Node based implementation
123
- // privateKey = createPrivateKey(privateKeyPem);
124
- // --
125
- // web based implementation
126
- const privateKey = await extractPrivateKey(privateKeyPem);
127
- const keys = Object.getOwnPropertySymbols(privateKey);
128
- const k = privateKey[keys[0]];
129
- // --
122
+ let k;
123
+ if (isBrowser()) {
124
+ // web based implementation
125
+ const privateKey = await extractPrivateKey(privateKeyPem);
126
+ const keys = Object.getOwnPropertySymbols(privateKey);
127
+ k = privateKey[keys[0]];
128
+ }
129
+ else {
130
+ // Node based implementation
131
+ const { createPrivateKey } = await import("crypto");
132
+ k = createPrivateKey(privateKeyPem);
133
+ }
130
134
  return signers.newPrivateKeySigner(k);
131
135
  }
132
136
  /**
@@ -151,15 +155,15 @@ export async function getSigner(keyDirectoryPath) {
151
155
  * ExtractPrivateKey-->>Caller: CryptoKey
152
156
  */
153
157
  export async function extractPrivateKey(pem) {
154
- const libName = "crypto";
158
+ // const libName = "node:crypto";
155
159
  let subtle;
156
- if (isBrowser()) {
157
- subtle = globalThis.crypto.subtle;
158
- }
159
- else {
160
- const lib = (await normalizeImport(import(libName)));
161
- subtle = lib.subtle || lib.webcrypto.subtle;
162
- }
160
+ // if (isBrowser()) {
161
+ // eslint-disable-next-line prefer-const
162
+ subtle = globalThis.crypto.subtle;
163
+ // } else {
164
+ // const lib = (await normalizeImport(import(libName))) as any;
165
+ // subtle = lib.subtle || lib.webcrypto.subtle;
166
+ // }
163
167
  if (!subtle)
164
168
  throw new Error("Could not load SubtleCrypto module");
165
169
  function str2ab(str) {
@@ -1 +1 @@
1
- {"version":3,"file":"fabric-fs.js","sourceRoot":"","sources":["../../../src/client/fabric-fs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fabric-fs.js","sourceRoot":"","sources":["../../../src/client/fabric-fs.ts"],"names":[],"mappings":"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"}
@@ -1289,6 +1289,111 @@ export class FabricContractAdapter extends CouchDBAdapter {
1289
1289
  log.debug(`rangeList: returning ${results.length} ${clazz.name} instances`);
1290
1290
  return results;
1291
1291
  }
1292
+ async paginateByPrimaryKeyRange(clazz, order, ref, ...args) {
1293
+ const { ctx, log } = this.logCtx(args, this.paginateByPrimaryKeyRange);
1294
+ const limit = ref.limit || 10;
1295
+ const offset = ref.offset || 1;
1296
+ const bookmark = typeof ref.bookmark === "string"
1297
+ ? ref.bookmark
1298
+ : ref.bookmark != null
1299
+ ? `${ref.bookmark}`
1300
+ : undefined;
1301
+ const tableName = Model.tableName(clazz);
1302
+ const keyPrefix = ctx.stub.createCompositeKey(tableName, []);
1303
+ const rangeEnd = `${keyPrefix}\uffff`;
1304
+ const rows = new Map();
1305
+ const maxRowsToRead = limit + 1;
1306
+ const deserializeEntry = (raw) => {
1307
+ const str = Buffer.from(raw).toString("utf8");
1308
+ if (!str)
1309
+ return undefined;
1310
+ try {
1311
+ return JSON.parse(str);
1312
+ }
1313
+ catch {
1314
+ return undefined;
1315
+ }
1316
+ };
1317
+ const mergeIterator = async (iterator, options) => {
1318
+ let read = 0;
1319
+ try {
1320
+ let next = await iterator.next();
1321
+ while (!next.done && read < maxRowsToRead) {
1322
+ if (next.value?.value) {
1323
+ const data = deserializeEntry(next.value.value);
1324
+ if (data) {
1325
+ const key = next.value.key;
1326
+ if (options?.skipKey && key === options.skipKey) {
1327
+ next = await iterator.next();
1328
+ continue;
1329
+ }
1330
+ const existing = rows.get(key);
1331
+ if (existing) {
1332
+ Object.assign(existing, data);
1333
+ }
1334
+ else {
1335
+ rows.set(key, data);
1336
+ }
1337
+ read++;
1338
+ }
1339
+ }
1340
+ next = await iterator.next();
1341
+ }
1342
+ }
1343
+ finally {
1344
+ if (iterator && typeof iterator.close === "function") {
1345
+ await iterator.close();
1346
+ }
1347
+ }
1348
+ };
1349
+ log.debug(`range pagination start table=${tableName} prefix=${keyPrefix} end=${rangeEnd} order=${order} bookmark=${bookmark} limit=${limit} offset=${offset}`);
1350
+ if (!ctx.isFullySegregated) {
1351
+ log.debug(`range pagination reading public state for ${tableName}`);
1352
+ await mergeIterator(await ctx.stub.getStateByRange(keyPrefix, rangeEnd), {
1353
+ skipKey: bookmark,
1354
+ });
1355
+ }
1356
+ else {
1357
+ log.debug(`range pagination skipping public state because model is fully segregated`);
1358
+ }
1359
+ const readCollections = [...new Set(ctx.getReadCollections() || [])];
1360
+ for (const collection of readCollections) {
1361
+ log.debug(`range pagination reading private collection ${collection} for ${tableName}`);
1362
+ await mergeIterator(await ctx.stub.getPrivateDataByRange(collection, keyPrefix, rangeEnd), {
1363
+ skipKey: bookmark,
1364
+ });
1365
+ }
1366
+ const compare = (a, b) => order === OrderDirection.DSC ? b.localeCompare(a) : a.localeCompare(b);
1367
+ const sorted = [...rows.entries()].sort(([a], [b]) => compare(a, b));
1368
+ const pageEntries = sorted.slice(0, limit);
1369
+ const hasNext = sorted.length > limit;
1370
+ const data = pageEntries
1371
+ .map(([compositeKey, record]) => {
1372
+ try {
1373
+ const { attributes } = ctx.stub.splitCompositeKey(compositeKey);
1374
+ const id = attributes[0];
1375
+ if (!id)
1376
+ return undefined;
1377
+ return this.revert(record, clazz, id, undefined, ctx);
1378
+ }
1379
+ catch (e) {
1380
+ log.warn(`range pagination skipping entry ${compositeKey}: ${e instanceof Error ? e.message : e}`);
1381
+ return undefined;
1382
+ }
1383
+ })
1384
+ .filter((m) => !!m);
1385
+ const serialization = {
1386
+ current: offset,
1387
+ total: hasNext ? offset + 1 : offset,
1388
+ count: data.length,
1389
+ data,
1390
+ bookmark: hasNext && pageEntries.length
1391
+ ? pageEntries[pageEntries.length - 1][0]
1392
+ : undefined,
1393
+ };
1394
+ log.debug(`range pagination resolved table=${tableName} current=${serialization.current} total=${serialization.total} count=${serialization.count} bookmark=${serialization.bookmark}`);
1395
+ return serialization;
1396
+ }
1292
1397
  async view(
1293
1398
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
1294
1399
  ddoc,
@@ -1 +1 @@
1
- {"version":3,"file":"ContractAdapter.js","sourceRoot":"","sources":["../../../src/contracts/ContractAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContractAdapter.js","sourceRoot":"","sources":["../../../src/contracts/ContractAdapter.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@ import { Model } from "@decaf-ts/decorator-validation";
4
4
  import { FabricContractRepositoryObservableHandler } from "./FabricContractRepositoryObservableHandler.js";
5
5
  import { BaseError, InternalError, } from "@decaf-ts/db-decorators";
6
6
  import { applyMirrorFlags, applySegregationFlags, extractMspId, } from "./../shared/decorators.js";
7
- import { appendFileSync } from "fs";
8
7
  /**
9
8
  * @description Repository for Hyperledger Fabric chaincode models
10
9
  * @summary Provides CRUD operations for models within Fabric chaincode contracts
@@ -194,6 +193,13 @@ export class FabricContractRepository extends Repository {
194
193
  ];
195
194
  applySegregationFlags(new this.class(), collections, ctx);
196
195
  await applyMirrorFlags(this.class, msp, ctx);
196
+ const pk = Model.pk(this.class);
197
+ const pkRangePagination = !!ctx.getOrUndefined("pkRangePagination");
198
+ if (pkRangePagination && String(key) === String(pk)) {
199
+ log.verbose(`Using range pagination fast path for ${Model.tableName(this.class)} ordered by primary key ${String(key)}`);
200
+ const serialization = await this.adapter.paginateByPrimaryKeyRange(this.class, order, ref, ...ctxArgs);
201
+ return serialization;
202
+ }
197
203
  let paginator;
198
204
  if (offset && bookmark) {
199
205
  paginator = await this.override({
@@ -217,19 +223,7 @@ export class FabricContractRepository extends Repository {
217
223
  throw new QueryError(`PaginateBy needs a page or a bookmark`);
218
224
  }
219
225
  const paged = await paginator.page(offset, bookmark, ...ctxArgs);
220
- const totalCount = await countStoredEntries(ctx, this.class);
221
- if (typeof totalCount === "number") {
222
- paginator._recordCount = totalCount;
223
- paginator._totalPages = Math.max(1, Math.ceil(totalCount / limit));
224
- }
225
226
  const serialization = paginator.serialize(paged);
226
- if (process.env.PAGE_DEBUG) {
227
- appendFileSync("/tmp/fabric-paginate.log", JSON.stringify(Object.assign({
228
- key,
229
- order,
230
- ref,
231
- }, serialization)) + "\n");
232
- }
233
227
  return serialization;
234
228
  }
235
229
  async page(value, direction = OrderDirection.ASC, ref = {
@@ -387,51 +381,4 @@ export class FabricContractRepository extends Repository {
387
381
  return ctx;
388
382
  }
389
383
  }
390
- async function countStoredEntries(ctx, clazz) {
391
- const stub = ctx?.stub;
392
- if (!stub)
393
- return undefined;
394
- const table = Model.tableName(clazz);
395
- const prefix = `\x00${table}\x00`;
396
- const seen = new Set();
397
- if (typeof stub.getStateByPartialCompositeKey === "function") {
398
- const iterator = await stub.getStateByPartialCompositeKey(table, []);
399
- try {
400
- while (true) {
401
- const result = await iterator.next();
402
- if (result?.done)
403
- break;
404
- const key = result?.value?.key;
405
- if (key && key.startsWith(prefix)) {
406
- seen.add(key);
407
- }
408
- }
409
- }
410
- finally {
411
- if (iterator && typeof iterator.close === "function") {
412
- await iterator.close();
413
- }
414
- }
415
- }
416
- if (stub.state) {
417
- Object.keys(stub.state)
418
- .filter((key) => key.startsWith(prefix))
419
- .forEach((key) => seen.add(key));
420
- }
421
- const { privateCols, sharedCols } = Model.collectionsFor(clazz);
422
- const resolvers = [...privateCols, ...sharedCols];
423
- if (resolvers.length && stub.privateState) {
424
- const msp = extractMspId(ctx.identity);
425
- const collections = await Promise.all(resolvers.map((resolver) => typeof resolver === "string" ? resolver : resolver(clazz, msp, ctx)));
426
- for (const collection of collections) {
427
- const entries = stub.privateState[collection];
428
- if (!entries)
429
- continue;
430
- Object.keys(entries)
431
- .filter((key) => key.startsWith(prefix))
432
- .forEach((key) => seen.add(key));
433
- }
434
- }
435
- return seen.size ? seen.size : undefined;
436
- }
437
384
  //# sourceMappingURL=FabricContractRepository.js.map