@brightchain/brightchain-lib 0.1.5 → 0.1.7

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 (710) hide show
  1. package/brightchain-lib/DEPRECATIONS.md +454 -0
  2. package/brightchain-lib/DEPRECATIONS_REMOVED.md +160 -0
  3. package/brightchain-lib/MIGRATION.md +801 -0
  4. package/brightchain-lib/NAMING_AUDIT.md +233 -0
  5. package/brightchain-lib/NAMING_CONVENTIONS.md +346 -0
  6. package/{README.md → brightchain-lib/README.md} +168 -0
  7. package/package.json +5 -4
  8. package/src/browser.d.ts +3 -2
  9. package/src/browser.d.ts.map +1 -1
  10. package/src/browser.js +5 -2
  11. package/src/browser.js.map +1 -1
  12. package/src/index.d.ts +2 -10
  13. package/src/index.d.ts.map +1 -1
  14. package/src/index.js +8 -17
  15. package/src/index.js.map +1 -1
  16. package/src/lib/access/checksum.d.ts +5 -5
  17. package/src/lib/access/checksum.d.ts.map +1 -1
  18. package/src/lib/access/checksum.js.map +1 -1
  19. package/src/lib/blockPaddingTransform.d.ts.map +1 -1
  20. package/src/lib/blockPaddingTransform.js +2 -1
  21. package/src/lib/blockPaddingTransform.js.map +1 -1
  22. package/src/lib/blocks/base.d.ts +6 -5
  23. package/src/lib/blocks/base.d.ts.map +1 -1
  24. package/src/lib/blocks/base.js +1 -2
  25. package/src/lib/blocks/base.js.map +1 -1
  26. package/src/lib/blocks/cblBase.d.ts +4 -3
  27. package/src/lib/blocks/cblBase.d.ts.map +1 -1
  28. package/src/lib/blocks/cblBase.js.map +1 -1
  29. package/src/lib/blocks/encrypted.d.ts +4 -3
  30. package/src/lib/blocks/encrypted.d.ts.map +1 -1
  31. package/src/lib/blocks/encrypted.js +2 -2
  32. package/src/lib/blocks/encrypted.js.map +1 -1
  33. package/src/lib/blocks/encryptedBlockCreator.d.ts +4 -3
  34. package/src/lib/blocks/encryptedBlockCreator.d.ts.map +1 -1
  35. package/src/lib/blocks/encryptedBlockCreator.js.map +1 -1
  36. package/src/lib/blocks/encryptedBlockFactory.d.ts +4 -3
  37. package/src/lib/blocks/encryptedBlockFactory.d.ts.map +1 -1
  38. package/src/lib/blocks/encryptedBlockFactory.js +2 -7
  39. package/src/lib/blocks/encryptedBlockFactory.js.map +1 -1
  40. package/src/lib/blocks/ephemeral.d.ts +4 -3
  41. package/src/lib/blocks/ephemeral.d.ts.map +1 -1
  42. package/src/lib/blocks/ephemeral.js +3 -4
  43. package/src/lib/blocks/ephemeral.js.map +1 -1
  44. package/src/lib/blocks/extendedCbl.d.ts +4 -3
  45. package/src/lib/blocks/extendedCbl.d.ts.map +1 -1
  46. package/src/lib/blocks/extendedCbl.js.map +1 -1
  47. package/src/lib/blocks/handle.d.ts +208 -12
  48. package/src/lib/blocks/handle.d.ts.map +1 -1
  49. package/src/lib/blocks/handle.js +175 -3
  50. package/src/lib/blocks/handle.js.map +1 -1
  51. package/src/lib/blocks/handleTuple.d.ts +36 -7
  52. package/src/lib/blocks/handleTuple.d.ts.map +1 -1
  53. package/src/lib/blocks/handleTuple.js +32 -3
  54. package/src/lib/blocks/handleTuple.js.map +1 -1
  55. package/src/lib/blocks/memoryTuple.d.ts +34 -7
  56. package/src/lib/blocks/memoryTuple.d.ts.map +1 -1
  57. package/src/lib/blocks/memoryTuple.js +29 -3
  58. package/src/lib/blocks/memoryTuple.js.map +1 -1
  59. package/src/lib/blocks/parity.d.ts +2 -2
  60. package/src/lib/blocks/parity.d.ts.map +1 -1
  61. package/src/lib/blocks/parity.js.map +1 -1
  62. package/src/lib/blocks/random.d.ts +3 -3
  63. package/src/lib/blocks/random.d.ts.map +1 -1
  64. package/src/lib/blocks/random.js.map +1 -1
  65. package/src/lib/blocks/rawData.d.ts +2 -2
  66. package/src/lib/blocks/rawData.d.ts.map +1 -1
  67. package/src/lib/blocks/rawData.js +2 -7
  68. package/src/lib/blocks/rawData.js.map +1 -1
  69. package/src/lib/blocks/whitened.d.ts +3 -3
  70. package/src/lib/blocks/whitened.d.ts.map +1 -1
  71. package/src/lib/blocks/whitened.js.map +1 -1
  72. package/src/lib/brightChain.d.ts +2 -2
  73. package/src/lib/brightChain.d.ts.map +1 -1
  74. package/src/lib/brightChain.js +6 -3
  75. package/src/lib/brightChain.js.map +1 -1
  76. package/src/lib/browserBrightChain.d.ts +2 -2
  77. package/src/lib/browserBrightChain.d.ts.map +1 -1
  78. package/src/lib/browserBrightChain.js +6 -3
  79. package/src/lib/browserBrightChain.js.map +1 -1
  80. package/src/lib/browserConfig.d.ts.map +1 -1
  81. package/src/lib/browserConfig.js +0 -1
  82. package/src/lib/browserConfig.js.map +1 -1
  83. package/src/lib/browserKeyring.d.ts.map +1 -1
  84. package/src/lib/browserKeyring.js +6 -4
  85. package/src/lib/browserKeyring.js.map +1 -1
  86. package/src/lib/browserStream.d.ts +2 -2
  87. package/src/lib/browserStream.d.ts.map +1 -1
  88. package/src/lib/browserStream.js +7 -6
  89. package/src/lib/browserStream.js.map +1 -1
  90. package/src/lib/bufferUtils.d.ts.map +1 -1
  91. package/src/lib/bufferUtils.js +3 -2
  92. package/src/lib/bufferUtils.js.map +1 -1
  93. package/src/lib/cblStream.d.ts +5 -4
  94. package/src/lib/cblStream.d.ts.map +1 -1
  95. package/src/lib/cblStream.js +2 -2
  96. package/src/lib/cblStream.js.map +1 -1
  97. package/src/lib/constants.d.ts +55 -2
  98. package/src/lib/constants.d.ts.map +1 -1
  99. package/src/lib/constants.js.map +1 -1
  100. package/src/lib/documents/member/baseMemberDocument.d.ts +7 -6
  101. package/src/lib/documents/member/baseMemberDocument.d.ts.map +1 -1
  102. package/src/lib/documents/member/baseMemberDocument.js.map +1 -1
  103. package/src/lib/documents/member/memberDocument.d.ts +81 -5
  104. package/src/lib/documents/member/memberDocument.d.ts.map +1 -1
  105. package/src/lib/documents/member/memberDocument.js +92 -2
  106. package/src/lib/documents/member/memberDocument.js.map +1 -1
  107. package/src/lib/documents/member/memberHydration.d.ts.map +1 -1
  108. package/src/lib/documents/member/memberHydration.js +1 -1
  109. package/src/lib/documents/member/memberHydration.js.map +1 -1
  110. package/src/lib/documents/member/memberOperational.d.ts.map +1 -1
  111. package/src/lib/documents/member/memberOperational.js.map +1 -1
  112. package/src/lib/documents/memberDocument.d.ts +43 -3
  113. package/src/lib/documents/memberDocument.d.ts.map +1 -1
  114. package/src/lib/documents/memberDocument.js +43 -2
  115. package/src/lib/documents/memberDocument.js.map +1 -1
  116. package/src/lib/documents/quorumDocument.d.ts +4 -3
  117. package/src/lib/documents/quorumDocument.d.ts.map +1 -1
  118. package/src/lib/documents/quorumDocument.js +1 -2
  119. package/src/lib/documents/quorumDocument.js.map +1 -1
  120. package/src/lib/enumeration-translations/blockSize.d.ts.map +1 -1
  121. package/src/lib/enumeration-translations/blockSize.js +2 -2
  122. package/src/lib/enumeration-translations/blockSize.js.map +1 -1
  123. package/src/lib/enumeration-translations/blockType.d.ts.map +1 -1
  124. package/src/lib/enumeration-translations/blockType.js +3 -2
  125. package/src/lib/enumeration-translations/blockType.js.map +1 -1
  126. package/src/lib/enumeration-translations/memberType.d.ts.map +1 -1
  127. package/src/lib/enumeration-translations/memberType.js +3 -2
  128. package/src/lib/enumeration-translations/memberType.js.map +1 -1
  129. package/src/lib/enumeration-translations/quorumDataRecordAction.d.ts.map +1 -1
  130. package/src/lib/enumeration-translations/quorumDataRecordAction.js +2 -2
  131. package/src/lib/enumeration-translations/quorumDataRecordAction.js.map +1 -1
  132. package/src/lib/enumerations/availabilityState.d.ts +41 -0
  133. package/src/lib/enumerations/availabilityState.d.ts.map +1 -0
  134. package/src/lib/enumerations/availabilityState.js +51 -0
  135. package/src/lib/enumerations/availabilityState.js.map +1 -0
  136. package/src/lib/enumerations/durabilityLevel.d.ts +39 -0
  137. package/src/lib/enumerations/durabilityLevel.d.ts.map +1 -0
  138. package/src/lib/enumerations/durabilityLevel.js +55 -0
  139. package/src/lib/enumerations/durabilityLevel.js.map +1 -0
  140. package/src/lib/enumerations/index.d.ts +57 -54
  141. package/src/lib/enumerations/index.d.ts.map +1 -1
  142. package/src/lib/enumerations/index.js +61 -0
  143. package/src/lib/enumerations/index.js.map +1 -1
  144. package/src/lib/enumerations/messaging/index.d.ts +6 -0
  145. package/src/lib/enumerations/messaging/index.d.ts.map +1 -0
  146. package/src/lib/enumerations/messaging/index.js +9 -0
  147. package/src/lib/enumerations/messaging/index.js.map +1 -0
  148. package/src/lib/enumerations/messaging/messageDeliveryStatus.d.ts +18 -0
  149. package/src/lib/enumerations/messaging/messageDeliveryStatus.d.ts.map +1 -0
  150. package/src/lib/enumerations/messaging/messageDeliveryStatus.js +22 -0
  151. package/src/lib/enumerations/messaging/messageDeliveryStatus.js.map +1 -0
  152. package/src/lib/enumerations/messaging/messageEncryptionScheme.d.ts +16 -0
  153. package/src/lib/enumerations/messaging/messageEncryptionScheme.d.ts.map +1 -0
  154. package/src/lib/enumerations/messaging/messageEncryptionScheme.js +20 -0
  155. package/src/lib/enumerations/messaging/messageEncryptionScheme.js.map +1 -0
  156. package/src/lib/enumerations/messaging/messageErrorType.d.ts +31 -0
  157. package/src/lib/enumerations/messaging/messageErrorType.d.ts.map +1 -0
  158. package/src/lib/enumerations/messaging/messageErrorType.js +41 -0
  159. package/src/lib/enumerations/messaging/messageErrorType.js.map +1 -0
  160. package/src/lib/enumerations/messaging/messagePassingType.d.ts +20 -0
  161. package/src/lib/enumerations/messaging/messagePassingType.d.ts.map +1 -0
  162. package/src/lib/enumerations/messaging/messagePassingType.js +24 -0
  163. package/src/lib/enumerations/messaging/messagePassingType.js.map +1 -0
  164. package/src/lib/enumerations/messaging/messagePriority.d.ts +14 -0
  165. package/src/lib/enumerations/messaging/messagePriority.d.ts.map +1 -0
  166. package/src/lib/enumerations/messaging/messagePriority.js +18 -0
  167. package/src/lib/enumerations/messaging/messagePriority.js.map +1 -0
  168. package/src/lib/enumerations/messaging/routingStrategy.d.ts +12 -0
  169. package/src/lib/enumerations/messaging/routingStrategy.d.ts.map +1 -0
  170. package/src/lib/enumerations/messaging/routingStrategy.js +16 -0
  171. package/src/lib/enumerations/messaging/routingStrategy.js.map +1 -0
  172. package/src/lib/enumerations/quorumErrorType.d.ts +3 -1
  173. package/src/lib/enumerations/quorumErrorType.d.ts.map +1 -1
  174. package/src/lib/enumerations/quorumErrorType.js +2 -0
  175. package/src/lib/enumerations/quorumErrorType.js.map +1 -1
  176. package/src/lib/enumerations/replicationStatus.d.ts +42 -0
  177. package/src/lib/enumerations/replicationStatus.d.ts.map +1 -0
  178. package/src/lib/enumerations/replicationStatus.js +51 -0
  179. package/src/lib/enumerations/replicationStatus.js.map +1 -0
  180. package/src/lib/enumerations/storeErrorType.d.ts +3 -1
  181. package/src/lib/enumerations/storeErrorType.d.ts.map +1 -1
  182. package/src/lib/enumerations/storeErrorType.js +2 -0
  183. package/src/lib/enumerations/storeErrorType.js.map +1 -1
  184. package/src/lib/enumerations/stringNames.d.ts +4 -0
  185. package/src/lib/enumerations/stringNames.d.ts.map +1 -1
  186. package/src/lib/enumerations/stringNames.js +4 -0
  187. package/src/lib/enumerations/stringNames.js.map +1 -1
  188. package/src/lib/errors/block/blockAccess.d.ts +1 -2
  189. package/src/lib/errors/block/blockAccess.d.ts.map +1 -1
  190. package/src/lib/errors/block/blockAccess.js.map +1 -1
  191. package/src/lib/errors/block/blockCapacity.d.ts +1 -2
  192. package/src/lib/errors/block/blockCapacity.d.ts.map +1 -1
  193. package/src/lib/errors/block/blockCapacity.js.map +1 -1
  194. package/src/lib/errors/block/blockError.d.ts +1 -2
  195. package/src/lib/errors/block/blockError.d.ts.map +1 -1
  196. package/src/lib/errors/block/blockError.js.map +1 -1
  197. package/src/lib/errors/block/blockMetadata.d.ts +1 -2
  198. package/src/lib/errors/block/blockMetadata.d.ts.map +1 -1
  199. package/src/lib/errors/block/blockMetadata.js.map +1 -1
  200. package/src/lib/errors/block/blockValidation.d.ts +1 -2
  201. package/src/lib/errors/block/blockValidation.d.ts.map +1 -1
  202. package/src/lib/errors/block/blockValidation.js.map +1 -1
  203. package/src/lib/errors/block/cannotDecrypt.d.ts +1 -2
  204. package/src/lib/errors/block/cannotDecrypt.d.ts.map +1 -1
  205. package/src/lib/errors/block/cannotDecrypt.js.map +1 -1
  206. package/src/lib/errors/block/cannotEncrypt.d.ts +1 -2
  207. package/src/lib/errors/block/cannotEncrypt.d.ts.map +1 -1
  208. package/src/lib/errors/block/cannotEncrypt.js.map +1 -1
  209. package/src/lib/errors/blockServiceError.d.ts +1 -2
  210. package/src/lib/errors/blockServiceError.d.ts.map +1 -1
  211. package/src/lib/errors/blockServiceError.js.map +1 -1
  212. package/src/lib/errors/brightChainError.d.ts +77 -0
  213. package/src/lib/errors/brightChainError.d.ts.map +1 -0
  214. package/src/lib/errors/brightChainError.js +100 -0
  215. package/src/lib/errors/brightChainError.js.map +1 -0
  216. package/src/lib/errors/bufferError.d.ts +1 -2
  217. package/src/lib/errors/bufferError.d.ts.map +1 -1
  218. package/src/lib/errors/bufferError.js.map +1 -1
  219. package/src/lib/errors/cblError.d.ts +1 -2
  220. package/src/lib/errors/cblError.d.ts.map +1 -1
  221. package/src/lib/errors/cblError.js.map +1 -1
  222. package/src/lib/errors/checksumError.d.ts +122 -0
  223. package/src/lib/errors/checksumError.d.ts.map +1 -0
  224. package/src/lib/errors/checksumError.js +132 -0
  225. package/src/lib/errors/checksumError.js.map +1 -0
  226. package/src/lib/errors/checksumMismatch.d.ts +4 -5
  227. package/src/lib/errors/checksumMismatch.d.ts.map +1 -1
  228. package/src/lib/errors/checksumMismatch.js +2 -3
  229. package/src/lib/errors/checksumMismatch.js.map +1 -1
  230. package/src/lib/errors/document.d.ts +1 -2
  231. package/src/lib/errors/document.d.ts.map +1 -1
  232. package/src/lib/errors/document.js.map +1 -1
  233. package/src/lib/errors/eciesError.d.ts +1 -2
  234. package/src/lib/errors/eciesError.d.ts.map +1 -1
  235. package/src/lib/errors/eciesError.js.map +1 -1
  236. package/src/lib/errors/enhancedValidationError.d.ts +73 -0
  237. package/src/lib/errors/enhancedValidationError.d.ts.map +1 -0
  238. package/src/lib/errors/enhancedValidationError.js +82 -0
  239. package/src/lib/errors/enhancedValidationError.js.map +1 -0
  240. package/src/lib/errors/extendedCblError.d.ts +1 -2
  241. package/src/lib/errors/extendedCblError.d.ts.map +1 -1
  242. package/src/lib/errors/extendedCblError.js.map +1 -1
  243. package/src/lib/errors/factoryPatternViolationError.d.ts +91 -0
  244. package/src/lib/errors/factoryPatternViolationError.d.ts.map +1 -0
  245. package/src/lib/errors/factoryPatternViolationError.js +100 -0
  246. package/src/lib/errors/factoryPatternViolationError.js.map +1 -0
  247. package/src/lib/errors/failedToHydrate.d.ts +1 -2
  248. package/src/lib/errors/failedToHydrate.d.ts.map +1 -1
  249. package/src/lib/errors/failedToHydrate.js.map +1 -1
  250. package/src/lib/errors/failedToSerialize.d.ts +1 -2
  251. package/src/lib/errors/failedToSerialize.d.ts.map +1 -1
  252. package/src/lib/errors/failedToSerialize.js.map +1 -1
  253. package/src/lib/errors/fecError.d.ts +1 -2
  254. package/src/lib/errors/fecError.d.ts.map +1 -1
  255. package/src/lib/errors/fecError.js.map +1 -1
  256. package/src/lib/errors/handleTupleError.d.ts +2 -2
  257. package/src/lib/errors/handleTupleError.d.ts.map +1 -1
  258. package/src/lib/errors/handleTupleError.js.map +1 -1
  259. package/src/lib/errors/index.d.ts +200 -39
  260. package/src/lib/errors/index.d.ts.map +1 -1
  261. package/src/lib/errors/index.js +273 -0
  262. package/src/lib/errors/index.js.map +1 -1
  263. package/src/lib/errors/invalidBlockSize.d.ts +1 -2
  264. package/src/lib/errors/invalidBlockSize.d.ts.map +1 -1
  265. package/src/lib/errors/invalidBlockSize.js.map +1 -1
  266. package/src/lib/errors/invalidBlockSizeLength.d.ts +1 -2
  267. package/src/lib/errors/invalidBlockSizeLength.d.ts.map +1 -1
  268. package/src/lib/errors/invalidBlockSizeLength.js.map +1 -1
  269. package/src/lib/errors/invalidCredentials.d.ts +1 -2
  270. package/src/lib/errors/invalidCredentials.d.ts.map +1 -1
  271. package/src/lib/errors/invalidCredentials.js.map +1 -1
  272. package/src/lib/errors/invalidIDFormat.d.ts +1 -2
  273. package/src/lib/errors/invalidIDFormat.d.ts.map +1 -1
  274. package/src/lib/errors/invalidIDFormat.js.map +1 -1
  275. package/src/lib/errors/invalidSessionID.d.ts +1 -2
  276. package/src/lib/errors/invalidSessionID.d.ts.map +1 -1
  277. package/src/lib/errors/invalidSessionID.js.map +1 -1
  278. package/src/lib/errors/invalidTupleCount.d.ts +1 -2
  279. package/src/lib/errors/invalidTupleCount.d.ts.map +1 -1
  280. package/src/lib/errors/invalidTupleCount.js.map +1 -1
  281. package/src/lib/errors/isolatedKeyError.d.ts +1 -2
  282. package/src/lib/errors/isolatedKeyError.d.ts.map +1 -1
  283. package/src/lib/errors/isolatedKeyError.js.map +1 -1
  284. package/src/lib/errors/memberError.d.ts +1 -2
  285. package/src/lib/errors/memberError.d.ts.map +1 -1
  286. package/src/lib/errors/memberError.js +1 -1
  287. package/src/lib/errors/memberError.js.map +1 -1
  288. package/src/lib/errors/memoryTupleError.d.ts +2 -2
  289. package/src/lib/errors/memoryTupleError.d.ts.map +1 -1
  290. package/src/lib/errors/memoryTupleError.js.map +1 -1
  291. package/src/lib/errors/messaging/index.d.ts +2 -0
  292. package/src/lib/errors/messaging/index.d.ts.map +1 -0
  293. package/src/lib/{models → errors/messaging}/index.js +1 -1
  294. package/src/lib/errors/messaging/index.js.map +1 -0
  295. package/src/lib/errors/messaging/messageError.d.ts +26 -0
  296. package/src/lib/errors/messaging/messageError.d.ts.map +1 -0
  297. package/src/lib/errors/messaging/messageError.js +32 -0
  298. package/src/lib/errors/messaging/messageError.js.map +1 -0
  299. package/src/lib/errors/metadataMismatch.d.ts +1 -2
  300. package/src/lib/errors/metadataMismatch.d.ts.map +1 -1
  301. package/src/lib/errors/metadataMismatch.js.map +1 -1
  302. package/src/lib/errors/multiEncryptedError.d.ts +1 -2
  303. package/src/lib/errors/multiEncryptedError.d.ts.map +1 -1
  304. package/src/lib/errors/multiEncryptedError.js.map +1 -1
  305. package/src/lib/errors/quorumError.d.ts +1 -2
  306. package/src/lib/errors/quorumError.d.ts.map +1 -1
  307. package/src/lib/errors/quorumError.js +2 -0
  308. package/src/lib/errors/quorumError.js.map +1 -1
  309. package/src/lib/errors/sealingError.d.ts +1 -2
  310. package/src/lib/errors/sealingError.d.ts.map +1 -1
  311. package/src/lib/errors/sealingError.js.map +1 -1
  312. package/src/lib/errors/secureStorage.d.ts +1 -2
  313. package/src/lib/errors/secureStorage.d.ts.map +1 -1
  314. package/src/lib/errors/secureStorage.js +1 -1
  315. package/src/lib/errors/secureStorage.js.map +1 -1
  316. package/src/lib/errors/storeError.d.ts +1 -2
  317. package/src/lib/errors/storeError.d.ts.map +1 -1
  318. package/src/lib/errors/storeError.js +2 -0
  319. package/src/lib/errors/storeError.js.map +1 -1
  320. package/src/lib/errors/streamError.d.ts +1 -2
  321. package/src/lib/errors/streamError.d.ts.map +1 -1
  322. package/src/lib/errors/streamError.js.map +1 -1
  323. package/src/lib/errors/symmetricError.d.ts +1 -2
  324. package/src/lib/errors/symmetricError.d.ts.map +1 -1
  325. package/src/lib/errors/symmetricError.js.map +1 -1
  326. package/src/lib/errors/systemKeyringError.d.ts +2 -2
  327. package/src/lib/errors/systemKeyringError.d.ts.map +1 -1
  328. package/src/lib/errors/systemKeyringError.js.map +1 -1
  329. package/src/lib/errors/tupleError.d.ts +1 -2
  330. package/src/lib/errors/tupleError.d.ts.map +1 -1
  331. package/src/lib/errors/tupleError.js.map +1 -1
  332. package/src/lib/errors/typeGuards.d.ts +201 -0
  333. package/src/lib/errors/typeGuards.d.ts.map +1 -0
  334. package/src/lib/errors/typeGuards.js +219 -0
  335. package/src/lib/errors/typeGuards.js.map +1 -0
  336. package/src/lib/errors/typedError.d.ts +2 -3
  337. package/src/lib/errors/typedError.d.ts.map +1 -1
  338. package/src/lib/errors/typedError.js.map +1 -1
  339. package/src/lib/errors/userNotFound.d.ts +1 -2
  340. package/src/lib/errors/userNotFound.d.ts.map +1 -1
  341. package/src/lib/errors/userNotFound.js.map +1 -1
  342. package/src/lib/errors/whitenedError.d.ts +1 -2
  343. package/src/lib/errors/whitenedError.d.ts.map +1 -1
  344. package/src/lib/errors/whitenedError.js.map +1 -1
  345. package/src/lib/i18n/index.d.ts +28 -5
  346. package/src/lib/i18n/index.d.ts.map +1 -1
  347. package/src/lib/i18n/index.js +28 -7
  348. package/src/lib/i18n/index.js.map +1 -1
  349. package/src/lib/index.d.ts +131 -18
  350. package/src/lib/index.d.ts.map +1 -1
  351. package/src/lib/index.js +164 -19
  352. package/src/lib/index.js.map +1 -1
  353. package/src/lib/init.d.ts.map +1 -1
  354. package/src/lib/init.js +2 -1
  355. package/src/lib/init.js.map +1 -1
  356. package/src/lib/interfaces/active-context.d.ts +7 -4
  357. package/src/lib/interfaces/active-context.d.ts.map +1 -1
  358. package/src/lib/interfaces/availability/availabilityService.d.ts +319 -0
  359. package/src/lib/interfaces/availability/availabilityService.d.ts.map +1 -0
  360. package/src/lib/interfaces/availability/availabilityService.js +22 -0
  361. package/src/lib/interfaces/availability/availabilityService.js.map +1 -0
  362. package/src/lib/interfaces/availability/blockRegistry.d.ts +135 -0
  363. package/src/lib/interfaces/availability/blockRegistry.d.ts.map +1 -0
  364. package/src/lib/interfaces/availability/blockRegistry.js +11 -0
  365. package/src/lib/interfaces/availability/blockRegistry.js.map +1 -0
  366. package/src/lib/interfaces/availability/discoveryProtocol.d.ts +179 -0
  367. package/src/lib/interfaces/availability/discoveryProtocol.d.ts.map +1 -0
  368. package/src/lib/interfaces/availability/discoveryProtocol.js +23 -0
  369. package/src/lib/interfaces/availability/discoveryProtocol.js.map +1 -0
  370. package/src/lib/interfaces/availability/gossipService.d.ts +166 -0
  371. package/src/lib/interfaces/availability/gossipService.d.ts.map +1 -0
  372. package/src/lib/interfaces/availability/gossipService.js +22 -0
  373. package/src/lib/interfaces/availability/gossipService.js.map +1 -0
  374. package/src/lib/interfaces/availability/heartbeatMonitor.d.ts +179 -0
  375. package/src/lib/interfaces/availability/heartbeatMonitor.d.ts.map +1 -0
  376. package/src/lib/interfaces/availability/heartbeatMonitor.js +20 -0
  377. package/src/lib/interfaces/availability/heartbeatMonitor.js.map +1 -0
  378. package/src/lib/interfaces/availability/index.d.ts +8 -0
  379. package/src/lib/interfaces/availability/index.d.ts.map +1 -0
  380. package/src/lib/interfaces/availability/index.js +11 -0
  381. package/src/lib/interfaces/availability/index.js.map +1 -0
  382. package/src/lib/interfaces/availability/locationRecord.d.ts +110 -0
  383. package/src/lib/interfaces/availability/locationRecord.d.ts.map +1 -0
  384. package/src/lib/interfaces/availability/locationRecord.js +199 -0
  385. package/src/lib/interfaces/availability/locationRecord.js.map +1 -0
  386. package/src/lib/interfaces/availability/reconciliationService.d.ts +310 -0
  387. package/src/lib/interfaces/availability/reconciliationService.d.ts.map +1 -0
  388. package/src/lib/interfaces/availability/reconciliationService.js +23 -0
  389. package/src/lib/interfaces/availability/reconciliationService.js.map +1 -0
  390. package/src/lib/interfaces/backupCodeConsts.d.ts +26 -0
  391. package/src/lib/interfaces/backupCodeConsts.d.ts.map +1 -1
  392. package/src/lib/interfaces/basicObjectDto.d.ts +26 -0
  393. package/src/lib/interfaces/basicObjectDto.d.ts.map +1 -1
  394. package/src/lib/interfaces/blockCapacity.d.ts +71 -0
  395. package/src/lib/interfaces/blockCapacity.d.ts.map +1 -1
  396. package/src/lib/interfaces/blockEncryption.d.ts +3 -2
  397. package/src/lib/interfaces/blockEncryption.d.ts.map +1 -1
  398. package/src/lib/interfaces/blocks/base.d.ts +3 -2
  399. package/src/lib/interfaces/blocks/base.d.ts.map +1 -1
  400. package/src/lib/interfaces/blocks/cblBase.d.ts +3 -2
  401. package/src/lib/interfaces/blocks/cblBase.d.ts.map +1 -1
  402. package/src/lib/interfaces/blocks/headers/index.d.ts +1 -0
  403. package/src/lib/interfaces/blocks/headers/index.d.ts.map +1 -1
  404. package/src/lib/interfaces/blocks/headers/messageCblHeader.d.ts +13 -0
  405. package/src/lib/interfaces/blocks/headers/messageCblHeader.d.ts.map +1 -0
  406. package/src/lib/interfaces/blocks/headers/messageCblHeader.js +3 -0
  407. package/src/lib/interfaces/blocks/headers/messageCblHeader.js.map +1 -0
  408. package/src/lib/interfaces/cblIndexEntry.d.ts +32 -0
  409. package/src/lib/interfaces/cblIndexEntry.d.ts.map +1 -1
  410. package/src/lib/interfaces/clusterKeys.d.ts +18 -0
  411. package/src/lib/interfaces/clusterKeys.d.ts.map +1 -1
  412. package/src/lib/interfaces/constants.d.ts +244 -18
  413. package/src/lib/interfaces/constants.d.ts.map +1 -1
  414. package/src/lib/interfaces/dataAndSigningKeys.d.ts +18 -0
  415. package/src/lib/interfaces/dataAndSigningKeys.d.ts.map +1 -1
  416. package/src/lib/interfaces/encryptedBlockCreator.d.ts +3 -2
  417. package/src/lib/interfaces/encryptedBlockCreator.d.ts.map +1 -1
  418. package/src/lib/interfaces/energyTransaction.d.ts +3 -3
  419. package/src/lib/interfaces/energyTransaction.d.ts.map +1 -1
  420. package/src/lib/interfaces/handleableErrorOptions.d.ts +25 -0
  421. package/src/lib/interfaces/handleableErrorOptions.d.ts.map +1 -1
  422. package/src/lib/interfaces/index.d.ts +4 -1
  423. package/src/lib/interfaces/index.d.ts.map +1 -1
  424. package/src/lib/interfaces/index.js +3 -0
  425. package/src/lib/interfaces/index.js.map +1 -1
  426. package/src/lib/interfaces/keyringEntry.d.ts +31 -0
  427. package/src/lib/interfaces/keyringEntry.d.ts.map +1 -1
  428. package/src/lib/interfaces/languageContext.d.ts +15 -0
  429. package/src/lib/interfaces/languageContext.d.ts.map +1 -1
  430. package/src/lib/interfaces/member/memberData.d.ts +5 -4
  431. package/src/lib/interfaces/member/memberData.d.ts.map +1 -1
  432. package/src/lib/interfaces/messaging/index.d.ts +5 -0
  433. package/src/lib/interfaces/messaging/index.d.ts.map +1 -0
  434. package/src/lib/interfaces/messaging/index.js +8 -0
  435. package/src/lib/interfaces/messaging/index.js.map +1 -0
  436. package/src/lib/interfaces/messaging/messageMetadata.d.ts +41 -0
  437. package/src/lib/interfaces/messaging/messageMetadata.d.ts.map +1 -0
  438. package/src/lib/interfaces/messaging/messageMetadata.js +3 -0
  439. package/src/lib/interfaces/messaging/messageMetadata.js.map +1 -0
  440. package/src/lib/interfaces/messaging/messageMetadataStore.d.ts +83 -0
  441. package/src/lib/interfaces/messaging/messageMetadataStore.d.ts.map +1 -0
  442. package/src/lib/interfaces/messaging/messageMetadataStore.js +3 -0
  443. package/src/lib/interfaces/messaging/messageMetadataStore.js.map +1 -0
  444. package/src/lib/interfaces/messaging/messageRouter.d.ts +48 -0
  445. package/src/lib/interfaces/messaging/messageRouter.d.ts.map +1 -0
  446. package/src/lib/interfaces/messaging/messageRouter.js +3 -0
  447. package/src/lib/interfaces/messaging/messageRouter.js.map +1 -0
  448. package/src/lib/interfaces/messaging/messageSystemConfig.d.ts +16 -0
  449. package/src/lib/interfaces/messaging/messageSystemConfig.d.ts.map +1 -0
  450. package/src/lib/interfaces/messaging/messageSystemConfig.js +33 -0
  451. package/src/lib/interfaces/messaging/messageSystemConfig.js.map +1 -0
  452. package/src/lib/interfaces/network/index.d.ts +1 -0
  453. package/src/lib/interfaces/network/index.d.ts.map +1 -1
  454. package/src/lib/interfaces/network/networkTransport.d.ts +19 -0
  455. package/src/lib/interfaces/network/networkTransport.d.ts.map +1 -0
  456. package/src/lib/interfaces/network/networkTransport.js +3 -0
  457. package/src/lib/interfaces/network/networkTransport.js.map +1 -0
  458. package/src/lib/interfaces/network/node.d.ts +5 -4
  459. package/src/lib/interfaces/network/node.d.ts.map +1 -1
  460. package/src/lib/interfaces/network/node.js.map +1 -1
  461. package/src/lib/interfaces/readOnlyBasicObjectDto.d.ts +22 -0
  462. package/src/lib/interfaces/readOnlyBasicObjectDto.d.ts.map +1 -1
  463. package/src/lib/interfaces/requestUser.d.ts +33 -0
  464. package/src/lib/interfaces/requestUser.d.ts.map +1 -1
  465. package/src/lib/interfaces/role.d.ts +26 -0
  466. package/src/lib/interfaces/role.d.ts.map +1 -1
  467. package/src/lib/interfaces/services/fecService.d.ts +116 -0
  468. package/src/lib/interfaces/services/fecService.d.ts.map +1 -0
  469. package/src/lib/interfaces/services/fecService.js +14 -0
  470. package/src/lib/interfaces/services/fecService.js.map +1 -0
  471. package/src/lib/interfaces/services/index.d.ts +3 -0
  472. package/src/lib/interfaces/services/index.d.ts.map +1 -0
  473. package/src/lib/interfaces/services/index.js +3 -0
  474. package/src/lib/interfaces/services/index.js.map +1 -0
  475. package/src/lib/interfaces/services/quorumService.d.ts +133 -0
  476. package/src/lib/interfaces/services/quorumService.d.ts.map +1 -0
  477. package/src/lib/interfaces/services/quorumService.js +3 -0
  478. package/src/lib/interfaces/services/quorumService.js.map +1 -0
  479. package/src/lib/interfaces/storage/blockMetadata.d.ts +124 -0
  480. package/src/lib/interfaces/storage/blockMetadata.d.ts.map +1 -0
  481. package/src/lib/interfaces/storage/blockMetadata.js +31 -0
  482. package/src/lib/interfaces/storage/blockMetadata.js.map +1 -0
  483. package/src/lib/interfaces/storage/blockMetadataStore.d.ts +60 -0
  484. package/src/lib/interfaces/storage/blockMetadataStore.d.ts.map +1 -0
  485. package/src/lib/interfaces/storage/blockMetadataStore.js +3 -0
  486. package/src/lib/interfaces/storage/blockMetadataStore.js.map +1 -0
  487. package/src/lib/interfaces/storage/blockStore.d.ts +105 -10
  488. package/src/lib/interfaces/storage/blockStore.d.ts.map +1 -1
  489. package/src/lib/interfaces/storage/cblStore.d.ts +36 -0
  490. package/src/lib/interfaces/storage/cblStore.d.ts.map +1 -0
  491. package/src/lib/interfaces/storage/cblStore.js +3 -0
  492. package/src/lib/interfaces/storage/cblStore.js.map +1 -0
  493. package/src/lib/interfaces/storage/index.d.ts +4 -0
  494. package/src/lib/interfaces/storage/index.d.ts.map +1 -1
  495. package/src/lib/interfaces/storage/index.js +3 -0
  496. package/src/lib/interfaces/storage/index.js.map +1 -1
  497. package/src/lib/interfaces/storage/universalBlockStore.d.ts +5 -5
  498. package/src/lib/interfaces/storage/universalBlockStore.d.ts.map +1 -1
  499. package/src/lib/interfaces/symmetricEncryptionResults.d.ts +18 -0
  500. package/src/lib/interfaces/symmetricEncryptionResults.d.ts.map +1 -1
  501. package/src/lib/interfaces/tuple.d.ts +10 -1
  502. package/src/lib/interfaces/tuple.d.ts.map +1 -1
  503. package/src/lib/interfaces/tupleConfig.d.ts +18 -0
  504. package/src/lib/interfaces/tupleConfig.d.ts.map +1 -1
  505. package/src/lib/primeTupleGeneratorStream.d.ts +1 -1
  506. package/src/lib/primeTupleGeneratorStream.d.ts.map +1 -1
  507. package/src/lib/primeTupleGeneratorStream.js +2 -5
  508. package/src/lib/primeTupleGeneratorStream.js.map +1 -1
  509. package/src/lib/quorumDataRecord.d.ts +4 -3
  510. package/src/lib/quorumDataRecord.d.ts.map +1 -1
  511. package/src/lib/quorumDataRecord.js +5 -4
  512. package/src/lib/quorumDataRecord.js.map +1 -1
  513. package/src/lib/schemas/index.d.ts +1 -0
  514. package/src/lib/schemas/index.d.ts.map +1 -1
  515. package/src/lib/schemas/index.js +1 -0
  516. package/src/lib/schemas/index.js.map +1 -1
  517. package/src/lib/schemas/member/memberSchema.d.ts.map +1 -1
  518. package/src/lib/schemas/member/memberSchema.js.map +1 -1
  519. package/src/lib/schemas/messaging/index.d.ts +2 -0
  520. package/src/lib/schemas/messaging/index.d.ts.map +1 -0
  521. package/src/lib/schemas/messaging/index.js +5 -0
  522. package/src/lib/schemas/messaging/index.js.map +1 -0
  523. package/src/lib/schemas/messaging/messageMetadataSchema.d.ts +14 -0
  524. package/src/lib/schemas/messaging/messageMetadataSchema.d.ts.map +1 -0
  525. package/src/lib/schemas/messaging/messageMetadataSchema.js +90 -0
  526. package/src/lib/schemas/messaging/messageMetadataSchema.js.map +1 -0
  527. package/src/lib/schemas/network/networkDocumentSchema.d.ts.map +1 -1
  528. package/src/lib/schemas/network/networkDocumentSchema.js.map +1 -1
  529. package/src/lib/schemas/quorumDocument.d.ts.map +1 -1
  530. package/src/lib/schemas/quorumDocument.js +6 -6
  531. package/src/lib/schemas/quorumDocument.js.map +1 -1
  532. package/src/lib/services/blockCapacity.service.d.ts +36 -2
  533. package/src/lib/services/blockCapacity.service.d.ts.map +1 -1
  534. package/src/lib/services/blockCapacity.service.js +141 -77
  535. package/src/lib/services/blockCapacity.service.js.map +1 -1
  536. package/src/lib/services/blockService.d.ts +33 -0
  537. package/src/lib/services/blockService.d.ts.map +1 -1
  538. package/src/lib/services/blockService.js +127 -37
  539. package/src/lib/services/blockService.js.map +1 -1
  540. package/src/lib/services/cblService.d.ts +129 -18
  541. package/src/lib/services/cblService.d.ts.map +1 -1
  542. package/src/lib/services/cblService.js +295 -77
  543. package/src/lib/services/cblService.js.map +1 -1
  544. package/src/lib/services/checksum.service.d.ts +92 -23
  545. package/src/lib/services/checksum.service.d.ts.map +1 -1
  546. package/src/lib/services/checksum.service.js +89 -41
  547. package/src/lib/services/checksum.service.js.map +1 -1
  548. package/src/lib/services/fec.service.d.ts +43 -1
  549. package/src/lib/services/fec.service.d.ts.map +1 -1
  550. package/src/lib/services/fec.service.js +71 -2
  551. package/src/lib/services/fec.service.js.map +1 -1
  552. package/src/lib/services/index.d.ts +2 -0
  553. package/src/lib/services/index.d.ts.map +1 -1
  554. package/src/lib/services/index.js +2 -0
  555. package/src/lib/services/index.js.map +1 -1
  556. package/src/lib/services/member/memberCblService.d.ts.map +1 -1
  557. package/src/lib/services/member/memberCblService.js +14 -11
  558. package/src/lib/services/member/memberCblService.js.map +1 -1
  559. package/src/lib/services/memberStore.d.ts.map +1 -1
  560. package/src/lib/services/memberStore.js +5 -5
  561. package/src/lib/services/memberStore.js.map +1 -1
  562. package/src/lib/services/messaging/alertMonitor.d.ts +23 -0
  563. package/src/lib/services/messaging/alertMonitor.d.ts.map +1 -0
  564. package/src/lib/services/messaging/alertMonitor.js +39 -0
  565. package/src/lib/services/messaging/alertMonitor.js.map +1 -0
  566. package/src/lib/services/messaging/broadcastMessageRouter.d.ts +19 -0
  567. package/src/lib/services/messaging/broadcastMessageRouter.d.ts.map +1 -0
  568. package/src/lib/services/messaging/broadcastMessageRouter.js +33 -0
  569. package/src/lib/services/messaging/broadcastMessageRouter.js.map +1 -0
  570. package/src/lib/services/messaging/deliveryTimeoutService.d.ts +64 -0
  571. package/src/lib/services/messaging/deliveryTimeoutService.d.ts.map +1 -0
  572. package/src/lib/services/messaging/deliveryTimeoutService.js +125 -0
  573. package/src/lib/services/messaging/deliveryTimeoutService.js.map +1 -0
  574. package/src/lib/services/messaging/directMessageRouter.d.ts +25 -0
  575. package/src/lib/services/messaging/directMessageRouter.d.ts.map +1 -0
  576. package/src/lib/services/messaging/directMessageRouter.js +58 -0
  577. package/src/lib/services/messaging/directMessageRouter.js.map +1 -0
  578. package/src/lib/services/messaging/index.d.ts +9 -0
  579. package/src/lib/services/messaging/index.d.ts.map +1 -0
  580. package/src/lib/services/messaging/index.js +12 -0
  581. package/src/lib/services/messaging/index.js.map +1 -0
  582. package/src/lib/services/messaging/messageCBLService.d.ts +41 -0
  583. package/src/lib/services/messaging/messageCBLService.d.ts.map +1 -0
  584. package/src/lib/services/messaging/messageCBLService.js +187 -0
  585. package/src/lib/services/messaging/messageCBLService.js.map +1 -0
  586. package/src/lib/services/messaging/messageEncryptionService.d.ts +43 -0
  587. package/src/lib/services/messaging/messageEncryptionService.d.ts.map +1 -0
  588. package/src/lib/services/messaging/messageEncryptionService.js +89 -0
  589. package/src/lib/services/messaging/messageEncryptionService.js.map +1 -0
  590. package/src/lib/services/messaging/messageForwardingService.d.ts +40 -0
  591. package/src/lib/services/messaging/messageForwardingService.d.ts.map +1 -0
  592. package/src/lib/services/messaging/messageForwardingService.js +74 -0
  593. package/src/lib/services/messaging/messageForwardingService.js.map +1 -0
  594. package/src/lib/services/messaging/messageLogger.d.ts +26 -0
  595. package/src/lib/services/messaging/messageLogger.d.ts.map +1 -0
  596. package/src/lib/services/messaging/messageLogger.js +42 -0
  597. package/src/lib/services/messaging/messageLogger.js.map +1 -0
  598. package/src/lib/services/messaging/messageMetrics.d.ts +35 -0
  599. package/src/lib/services/messaging/messageMetrics.d.ts.map +1 -0
  600. package/src/lib/services/messaging/messageMetrics.js +68 -0
  601. package/src/lib/services/messaging/messageMetrics.js.map +1 -0
  602. package/src/lib/services/messaging/messageRouter.d.ts +24 -0
  603. package/src/lib/services/messaging/messageRouter.d.ts.map +1 -0
  604. package/src/lib/services/messaging/messageRouter.js +102 -0
  605. package/src/lib/services/messaging/messageRouter.js.map +1 -0
  606. package/src/lib/services/messaging/recipientKeyManager.d.ts +40 -0
  607. package/src/lib/services/messaging/recipientKeyManager.d.ts.map +1 -0
  608. package/src/lib/services/messaging/recipientKeyManager.js +83 -0
  609. package/src/lib/services/messaging/recipientKeyManager.js.map +1 -0
  610. package/src/lib/services/messaging/webSocketTransport.d.ts +34 -0
  611. package/src/lib/services/messaging/webSocketTransport.d.ts.map +1 -0
  612. package/src/lib/services/messaging/webSocketTransport.js +116 -0
  613. package/src/lib/services/messaging/webSocketTransport.js.map +1 -0
  614. package/src/lib/services/quorumService.d.ts +38 -0
  615. package/src/lib/services/quorumService.d.ts.map +1 -0
  616. package/src/lib/services/quorumService.js +176 -0
  617. package/src/lib/services/quorumService.js.map +1 -0
  618. package/src/lib/services/sealing.service.d.ts +6 -0
  619. package/src/lib/services/sealing.service.d.ts.map +1 -1
  620. package/src/lib/services/sealing.service.js +53 -7
  621. package/src/lib/services/sealing.service.js.map +1 -1
  622. package/src/lib/services/tuple.service.d.ts +40 -3
  623. package/src/lib/services/tuple.service.d.ts.map +1 -1
  624. package/src/lib/services/tuple.service.js +69 -33
  625. package/src/lib/services/tuple.service.js.map +1 -1
  626. package/src/lib/simpleBrightChain.d.ts.map +1 -1
  627. package/src/lib/simpleBrightChain.js +2 -1
  628. package/src/lib/simpleBrightChain.js.map +1 -1
  629. package/src/lib/stores/blockStoreAdapter.d.ts +21 -9
  630. package/src/lib/stores/blockStoreAdapter.d.ts.map +1 -1
  631. package/src/lib/stores/blockStoreAdapter.js +44 -7
  632. package/src/lib/stores/blockStoreAdapter.js.map +1 -1
  633. package/src/lib/stores/cblStore.d.ts +7 -6
  634. package/src/lib/stores/cblStore.d.ts.map +1 -1
  635. package/src/lib/stores/cblStore.js +3 -4
  636. package/src/lib/stores/cblStore.js.map +1 -1
  637. package/src/lib/stores/index.d.ts +3 -1
  638. package/src/lib/stores/index.d.ts.map +1 -1
  639. package/src/lib/stores/index.js +3 -1
  640. package/src/lib/stores/index.js.map +1 -1
  641. package/src/lib/stores/memoryBlockMetadataStore.d.ts +82 -0
  642. package/src/lib/stores/memoryBlockMetadataStore.d.ts.map +1 -0
  643. package/src/lib/stores/memoryBlockMetadataStore.js +165 -0
  644. package/src/lib/stores/memoryBlockMetadataStore.js.map +1 -0
  645. package/src/lib/stores/memoryBlockStore.d.ts +141 -15
  646. package/src/lib/stores/memoryBlockStore.d.ts.map +1 -1
  647. package/src/lib/stores/memoryBlockStore.js +439 -23
  648. package/src/lib/stores/memoryBlockStore.js.map +1 -1
  649. package/src/lib/stores/memoryCblStore.d.ts +25 -0
  650. package/src/lib/stores/memoryCblStore.d.ts.map +1 -0
  651. package/src/lib/stores/memoryCblStore.js +105 -0
  652. package/src/lib/stores/memoryCblStore.js.map +1 -0
  653. package/src/lib/stores/messaging/index.d.ts +2 -0
  654. package/src/lib/stores/messaging/index.d.ts.map +1 -0
  655. package/src/lib/stores/messaging/index.js +5 -0
  656. package/src/lib/stores/messaging/index.js.map +1 -0
  657. package/src/lib/stores/messaging/memoryMessageMetadataStore.d.ts +24 -0
  658. package/src/lib/stores/messaging/memoryMessageMetadataStore.d.ts.map +1 -0
  659. package/src/lib/stores/messaging/memoryMessageMetadataStore.js +123 -0
  660. package/src/lib/stores/messaging/memoryMessageMetadataStore.js.map +1 -0
  661. package/src/lib/strings/englishUs.d.ts.map +1 -1
  662. package/src/lib/strings/englishUs.js +4 -0
  663. package/src/lib/strings/englishUs.js.map +1 -1
  664. package/src/lib/systemKeyring.d.ts.map +1 -1
  665. package/src/lib/systemKeyring.js.map +1 -1
  666. package/src/lib/test/testMembers.js +3 -3
  667. package/src/lib/test/testMembers.js.map +1 -1
  668. package/src/lib/test/testUtils.d.ts +18 -0
  669. package/src/lib/test/testUtils.d.ts.map +1 -1
  670. package/src/lib/test/testUtils.js +23 -0
  671. package/src/lib/test/testUtils.js.map +1 -1
  672. package/src/lib/types/checksum.d.ts +215 -0
  673. package/src/lib/types/checksum.d.ts.map +1 -0
  674. package/src/lib/types/checksum.js +266 -0
  675. package/src/lib/types/checksum.js.map +1 -0
  676. package/src/lib/types/enumTranslation.d.ts +54 -0
  677. package/src/lib/types/enumTranslation.d.ts.map +1 -0
  678. package/src/lib/types/enumTranslation.js +34 -0
  679. package/src/lib/types/enumTranslation.js.map +1 -0
  680. package/src/lib/types/index.d.ts +46 -0
  681. package/src/lib/types/index.d.ts.map +1 -0
  682. package/src/lib/types/index.js +49 -0
  683. package/src/lib/types/index.js.map +1 -0
  684. package/src/lib/utils/checksumUtils.d.ts +105 -0
  685. package/src/lib/utils/checksumUtils.d.ts.map +1 -0
  686. package/src/lib/utils/checksumUtils.js +123 -0
  687. package/src/lib/utils/checksumUtils.js.map +1 -0
  688. package/src/lib/utils/index.d.ts +47 -0
  689. package/src/lib/utils/index.d.ts.map +1 -0
  690. package/src/lib/utils/index.js +56 -0
  691. package/src/lib/utils/index.js.map +1 -0
  692. package/src/lib/utils/validator.d.ts +216 -0
  693. package/src/lib/utils/validator.d.ts.map +1 -0
  694. package/src/lib/utils/validator.js +256 -0
  695. package/src/lib/utils/validator.js.map +1 -0
  696. package/src/lib/enumerations/stringLanguages.d.ts +0 -29
  697. package/src/lib/enumerations/stringLanguages.d.ts.map +0 -1
  698. package/src/lib/enumerations/stringLanguages.js +0 -24
  699. package/src/lib/enumerations/stringLanguages.js.map +0 -1
  700. package/src/lib/models/index.d.ts +0 -2
  701. package/src/lib/models/index.d.ts.map +0 -1
  702. package/src/lib/models/index.js.map +0 -1
  703. package/src/lib/models/user.d.ts +0 -2
  704. package/src/lib/models/user.d.ts.map +0 -1
  705. package/src/lib/models/user.js +0 -25
  706. package/src/lib/models/user.js.map +0 -1
  707. package/src/lib/types.d.ts +0 -11
  708. package/src/lib/types.d.ts.map +0 -1
  709. package/src/lib/types.js +0 -11
  710. package/src/lib/types.js.map +0 -1
@@ -11,9 +11,24 @@ const cblErrorType_1 = require("../enumerations/cblErrorType");
11
11
  const extendedCblErrorType_1 = require("../enumerations/extendedCblErrorType");
12
12
  const cblError_1 = require("../errors/cblError");
13
13
  const extendedCblError_1 = require("../errors/extendedCblError");
14
+ const checksum_1 = require("../types/checksum");
15
+ const validator_1 = require("../utils/validator");
14
16
  const blockCapacity_service_1 = require("./blockCapacity.service");
15
17
  /**
16
- * Service for creating and verifying CBL blocks
18
+ * Service for creating and verifying CBL blocks.
19
+ *
20
+ * This service provides functionality for:
21
+ * - Creating CBL headers with proper validation
22
+ * - Parsing CBL headers from data
23
+ * - Validating file names and MIME types
24
+ * - Calculating CBL address capacity
25
+ *
26
+ * @remarks
27
+ * - All methods validate inputs before processing
28
+ * - Errors are wrapped in CblError or ExtendedCblError with appropriate context
29
+ * - The service supports both standard and extended CBL blocks
30
+ *
31
+ * @see Requirements 5.1, 5.2, 5.3, 12.1, 12.2, 12.7
17
32
  */
18
33
  class CBLService {
19
34
  /**
@@ -48,66 +63,142 @@ class CBLService {
48
63
  return this.enhancedProvider.byteLength;
49
64
  }
50
65
  /**
51
- * Static creator length for backward compatibility
52
- * @deprecated Use instance method creatorLength instead
66
+ * Offset of the date field in the header (instance method for dynamic provider support)
53
67
  */
54
- static get CreatorLength() {
55
- // Use default provider for backward compatibility
56
- return (0, ecies_lib_1.getEnhancedIdProvider)().byteLength;
68
+ get dateCreatedOffset() {
69
+ return this.creatorLength;
57
70
  }
58
71
  /**
59
- * Offset of the date field in the header
72
+ * Offset of the date field in the header (static for backward compatibility)
73
+ * @deprecated Use instance method dateCreatedOffset instead
60
74
  */
61
75
  static get DateCreatedOffset() {
62
- return CBLService.CreatorLength;
76
+ return CBLService.CreatorIdLength;
63
77
  }
64
78
  /**
65
- * Offset of the address count field in the header
79
+ * Offset of the address count field in the header (instance method)
80
+ */
81
+ get cblAddressCountOffset() {
82
+ return this.dateCreatedOffset + CBLService.DateSize;
83
+ }
84
+ /**
85
+ * Offset of the address count field in the header (static for backward compatibility)
86
+ * @deprecated Use instance method cblAddressCountOffset instead
66
87
  */
67
88
  static get CblAddressCountOffset() {
68
89
  return CBLService.DateCreatedOffset + CBLService.DateSize;
69
90
  }
70
91
  /**
71
- * Offset of the tuple size field in the header
92
+ * Offset of the tuple size field in the header (instance method)
93
+ */
94
+ get tupleSizeOffset() {
95
+ return this.cblAddressCountOffset + CBLService.AddressCountSize;
96
+ }
97
+ /**
98
+ * Offset of the tuple size field in the header (static for backward compatibility)
99
+ * @deprecated Use instance method tupleSizeOffset instead
72
100
  */
73
101
  static get TupleSizeOffset() {
74
102
  return CBLService.CblAddressCountOffset + CBLService.AddressCountSize;
75
103
  }
76
104
  /**
77
- * Offset of the original data length field in the header
105
+ * Offset of the original data length field in the header (instance method)
106
+ */
107
+ get originalDataLengthOffset() {
108
+ return this.tupleSizeOffset + CBLService.TupleSizeSize;
109
+ }
110
+ /**
111
+ * Offset of the original data length field in the header (static for backward compatibility)
112
+ * @deprecated Use instance method originalDataLengthOffset instead
78
113
  */
79
114
  static get OriginalDataLengthOffset() {
80
115
  return CBLService.TupleSizeOffset + CBLService.TupleSizeSize;
81
116
  }
117
+ /**
118
+ * Offset of the original checksum field in the header (instance method)
119
+ */
120
+ get originalChecksumOffset() {
121
+ return this.originalDataLengthOffset + CBLService.DataLengthSize;
122
+ }
123
+ /**
124
+ * Static offset for backward compatibility
125
+ * @deprecated Use instance method originalChecksumOffset instead
126
+ */
82
127
  static get OriginalChecksumOffset() {
83
128
  return CBLService.OriginalDataLengthOffset + CBLService.DataLengthSize;
84
129
  }
85
130
  /**
86
- * Offset of the is extended header field in the header
131
+ * Offset of the is extended header field in the header (instance method)
132
+ */
133
+ get isExtendedHeaderOffset() {
134
+ return this.originalChecksumOffset + CBLService.DataChecksumSize;
135
+ }
136
+ /**
137
+ * Offset of the is extended header field in the header (static for backward compatibility)
138
+ * @deprecated Use instance method isExtendedHeaderOffset instead
87
139
  */
88
140
  static get IsExtendedHeaderOffset() {
89
141
  return CBLService.OriginalChecksumOffset + CBLService.DataChecksumSize;
90
142
  }
91
143
  /**
92
- * Offset of the creator signature field in the header
144
+ * Offset of the creator signature field in the header (instance method)
145
+ */
146
+ get baseHeaderCreatorSignatureOffset() {
147
+ return this.isExtendedHeaderOffset + CBLService.IsExtendedHeaderSize;
148
+ }
149
+ /**
150
+ * Offset of the creator signature field in the header (static for backward compatibility)
151
+ * @deprecated Use instance method baseHeaderCreatorSignatureOffset instead
93
152
  */
94
153
  static get BaseHeaderCreatorSignatureOffset() {
95
154
  return CBLService.IsExtendedHeaderOffset + CBLService.IsExtendedHeaderSize;
96
155
  }
97
156
  /**
98
- * Length of the base header with signature
157
+ * Length of the base header with signature (instance method)
158
+ */
159
+ get baseHeaderSize() {
160
+ return (this.baseHeaderCreatorSignatureOffset + CBLService.CreatorSignatureSize);
161
+ }
162
+ /**
163
+ * Length of the base header with signature (static for backward compatibility)
164
+ * @deprecated Use instance method baseHeaderSize instead
99
165
  */
100
166
  static get BaseHeaderSize() {
101
- return CBLService.BaseHeaderCreatorSignatureOffset + CBLService.CreatorSignatureSize;
167
+ return (CBLService.BaseHeaderCreatorSignatureOffset +
168
+ CBLService.CreatorSignatureSize);
169
+ }
170
+ /**
171
+ * Offset of the file name length field in the header (instance method)
172
+ */
173
+ get fileNameLengthOffset() {
174
+ return this.baseHeaderCreatorSignatureOffset;
102
175
  }
103
176
  /**
104
- * Offset of the file name length field in the header
177
+ * Offset of the file name length field in the header (static for backward compatibility)
178
+ * @deprecated Use instance method fileNameLengthOffset instead
105
179
  */
106
180
  static get FileNameLengthOffset() {
107
181
  return CBLService.BaseHeaderCreatorSignatureOffset;
108
182
  }
183
+ /**
184
+ * Instance offsets for dynamic provider support
185
+ */
186
+ get headerOffsets() {
187
+ return {
188
+ CreatorId: 0,
189
+ DateCreated: this.dateCreatedOffset,
190
+ CblAddressCount: this.cblAddressCountOffset,
191
+ TupleSize: this.tupleSizeOffset,
192
+ OriginalDataLength: this.originalDataLengthOffset,
193
+ OriginalDataChecksum: this.originalChecksumOffset,
194
+ CreatorSignature: this.baseHeaderCreatorSignatureOffset,
195
+ IsExtendedHeader: this.isExtendedHeaderOffset,
196
+ FileNameLength: this.fileNameLengthOffset,
197
+ };
198
+ }
109
199
  /**
110
200
  * Static offsets for backward compatibility
201
+ * @deprecated Use instance method headerOffsets instead
111
202
  */
112
203
  static get HeaderOffsets() {
113
204
  return {
@@ -130,6 +221,59 @@ class CBLService {
130
221
  isEncrypted(data) {
131
222
  return data[0] === constants_1.ECIES.PUBLIC_KEY_MAGIC;
132
223
  }
224
+ /**
225
+ * Check if the header is a message CBL
226
+ */
227
+ isMessageHeader(header) {
228
+ if (this.isEncrypted(header)) {
229
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
230
+ }
231
+ const offset = this.baseHeaderCreatorSignatureOffset;
232
+ return header.length > offset && header[offset] === 2;
233
+ }
234
+ /**
235
+ * Get message header offsets
236
+ */
237
+ getMessageHeaderOffsets(header) {
238
+ if (this.isEncrypted(header)) {
239
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
240
+ }
241
+ if (!this.isMessageHeader(header)) {
242
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, 'Not a message CBL');
243
+ }
244
+ let offset = this.baseHeaderCreatorSignatureOffset + constants_1.default['UINT8_SIZE'];
245
+ const view = new DataView(header.buffer, header.byteOffset, header.byteLength);
246
+ const messageTypeLength = view.getUint16(offset, false);
247
+ const messageTypeOffset = offset + constants_1.default['UINT16_SIZE'];
248
+ offset = messageTypeOffset + messageTypeLength;
249
+ const senderIdLength = view.getUint16(offset, false);
250
+ const senderIdOffset = offset + constants_1.default['UINT16_SIZE'];
251
+ offset = senderIdOffset + senderIdLength;
252
+ const recipientCount = view.getUint16(offset, false);
253
+ const recipientsOffset = offset + constants_1.default['UINT16_SIZE'];
254
+ offset = recipientsOffset + recipientCount * constants_1.default['UINT16_SIZE'];
255
+ for (let i = 0; i < recipientCount; i++) {
256
+ const recipientLength = view.getUint16(recipientsOffset + i * constants_1.default['UINT16_SIZE'], false);
257
+ offset += recipientLength;
258
+ }
259
+ const priorityOffset = offset;
260
+ offset += constants_1.default['UINT8_SIZE'];
261
+ const encryptionSchemeLength = header[offset];
262
+ const encryptionSchemeOffset = offset + constants_1.default['UINT8_SIZE'];
263
+ offset = encryptionSchemeOffset + encryptionSchemeLength;
264
+ return {
265
+ messageTypeLength,
266
+ messageTypeOffset,
267
+ senderIdLength,
268
+ senderIdOffset,
269
+ recipientCount,
270
+ recipientsOffset,
271
+ priorityOffset,
272
+ encryptionSchemeLength,
273
+ encryptionSchemeOffset,
274
+ signatureOffset: offset,
275
+ };
276
+ }
133
277
  /**
134
278
  * Helper function to check if a string contains control characters
135
279
  * @param str The string to check
@@ -149,32 +293,12 @@ class CBLService {
149
293
  * Get the creator ID from the header
150
294
  */
151
295
  getCreatorId(header) {
152
- try {
153
- const idBytes = header.subarray(CBLService.HeaderOffsets.CreatorId, CBLService.HeaderOffsets.CreatorId + this.creatorLength);
154
- // Validate the byte length before attempting to parse
155
- if (idBytes.length !== this.creatorLength) {
156
- console.warn(`Creator ID byte length mismatch: got ${idBytes.length}, expected ${this.creatorLength}`);
157
- // Return a default ID or throw a more specific error
158
- // For now, we'll create a padded version
159
- const paddedBytes = new Uint8Array(this.creatorLength);
160
- paddedBytes.set(idBytes.subarray(0, Math.min(idBytes.length, this.creatorLength)));
161
- return this.enhancedProvider.fromBytes(paddedBytes);
162
- }
163
- return this.enhancedProvider.fromBytes(idBytes);
164
- }
165
- catch (error) {
166
- // Return a default ID to allow tests to continue
167
- // Create a valid GUID with all zeros
168
- const defaultBytes = new Uint8Array(this.creatorLength);
169
- try {
170
- return this.enhancedProvider.fromBytes(defaultBytes);
171
- }
172
- catch (fallbackError) {
173
- // If even the default fails, create a minimal valid ID
174
- // For Uint8Array, just return the bytes directly
175
- return defaultBytes;
176
- }
296
+ const idBytes = header.subarray(this.headerOffsets.CreatorId, this.headerOffsets.CreatorId + this.creatorLength);
297
+ // Validate the byte length matches expected
298
+ if (idBytes.length !== this.creatorLength) {
299
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, `Creator ID byte length mismatch: got ${idBytes.length}, expected ${this.creatorLength}`);
177
300
  }
301
+ return this.enhancedProvider.fromBytes(idBytes);
178
302
  }
179
303
  /**
180
304
  * Get the date created from the header
@@ -184,8 +308,8 @@ class CBLService {
184
308
  throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
185
309
  }
186
310
  const view = new DataView(header.buffer, header.byteOffset, header.byteLength);
187
- const high = view.getUint32(CBLService.HeaderOffsets.DateCreated, false);
188
- const low = view.getUint32(CBLService.HeaderOffsets.DateCreated + constants_1.default['UINT32_SIZE'], false);
311
+ const high = view.getUint32(this.headerOffsets.DateCreated, false);
312
+ const low = view.getUint32(this.headerOffsets.DateCreated + constants_1.default['UINT32_SIZE'], false);
189
313
  return new Date(high * 0x100000000 + low);
190
314
  }
191
315
  /**
@@ -196,7 +320,7 @@ class CBLService {
196
320
  throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
197
321
  }
198
322
  const view = new DataView(header.buffer, header.byteOffset, header.byteLength);
199
- return view.getUint32(CBLService.HeaderOffsets.CblAddressCount, false);
323
+ return view.getUint32(this.headerOffsets.CblAddressCount, false);
200
324
  }
201
325
  /**
202
326
  * Get the tuple size from the header
@@ -205,7 +329,7 @@ class CBLService {
205
329
  if (this.isEncrypted(header)) {
206
330
  throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
207
331
  }
208
- return header[CBLService.HeaderOffsets.TupleSize];
332
+ return header[this.headerOffsets.TupleSize];
209
333
  }
210
334
  /**
211
335
  * Get the original data length from the header
@@ -215,7 +339,7 @@ class CBLService {
215
339
  throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
216
340
  }
217
341
  const view = new DataView(header.buffer, header.byteOffset, header.byteLength);
218
- const bigIntValue = view.getBigUint64(CBLService.HeaderOffsets.OriginalDataLength, false);
342
+ const bigIntValue = view.getBigUint64(this.headerOffsets.OriginalDataLength, false);
219
343
  return Number(bigIntValue);
220
344
  }
221
345
  /**
@@ -227,7 +351,8 @@ class CBLService {
227
351
  if (this.isEncrypted(header)) {
228
352
  throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
229
353
  }
230
- return header.subarray(CBLService.HeaderOffsets.OriginalDataChecksum, CBLService.HeaderOffsets.OriginalDataChecksum + CBLService.DataChecksumSize);
354
+ const checksumData = header.subarray(this.headerOffsets.OriginalDataChecksum, this.headerOffsets.OriginalDataChecksum + CBLService.DataChecksumSize);
355
+ return checksum_1.Checksum.fromUint8Array(checksumData);
231
356
  }
232
357
  /**
233
358
  * Get the is extended header from the header
@@ -236,7 +361,7 @@ class CBLService {
236
361
  if (this.isEncrypted(header)) {
237
362
  throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
238
363
  }
239
- return header[CBLService.HeaderOffsets.IsExtendedHeader] === 1;
364
+ return header[this.headerOffsets.IsExtendedHeader] === 1;
240
365
  }
241
366
  /**
242
367
  * Get cached extended header information
@@ -248,7 +373,7 @@ class CBLService {
248
373
  if (!this.isExtendedHeader(header)) {
249
374
  throw new cblError_1.CblError(cblErrorType_1.CblErrorType.NotExtendedCbl);
250
375
  }
251
- let offset = CBLService.BaseHeaderCreatorSignatureOffset;
376
+ let offset = this.baseHeaderCreatorSignatureOffset;
252
377
  const view = new DataView(header.buffer, header.byteOffset, header.byteLength);
253
378
  // Read file name length
254
379
  const fileNameLength = view.getUint16(offset, false);
@@ -326,7 +451,7 @@ class CBLService {
326
451
  throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
327
452
  }
328
453
  const signatureOffset = !this.isExtendedHeader(header)
329
- ? CBLService.HeaderOffsets.CreatorSignature
454
+ ? this.headerOffsets.CreatorSignature
330
455
  : this.getExtendedHeaderOffsets(header).signatureOffset;
331
456
  return header.subarray(signatureOffset, signatureOffset + CBLService.CreatorSignatureSize);
332
457
  }
@@ -338,7 +463,7 @@ class CBLService {
338
463
  throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
339
464
  }
340
465
  if (!this.isExtendedHeader(data)) {
341
- return CBLService.BaseHeaderSize;
466
+ return this.baseHeaderSize;
342
467
  }
343
468
  const { signatureOffset } = this.getExtendedHeaderOffsets(data);
344
469
  return signatureOffset + CBLService.CreatorSignatureSize;
@@ -373,7 +498,8 @@ class CBLService {
373
498
  const addresses = new Array(addressCount);
374
499
  for (let i = 0; i < addressCount; i++) {
375
500
  const addressOffset = i * constants_1.CHECKSUM.SHA3_BUFFER_LENGTH;
376
- addresses[i] = addressData.subarray(addressOffset, addressOffset + constants_1.CHECKSUM.SHA3_BUFFER_LENGTH);
501
+ const checksumData = addressData.subarray(addressOffset, addressOffset + constants_1.CHECKSUM.SHA3_BUFFER_LENGTH);
502
+ addresses[i] = checksum_1.Checksum.fromUint8Array(checksumData);
377
503
  }
378
504
  return addresses;
379
505
  }
@@ -412,7 +538,7 @@ class CBLService {
412
538
  ]);
413
539
  const checksum = this.checksumService.calculateChecksum(toSign);
414
540
  const signature = this.getSignature(data);
415
- return this.eciesService.verifyMessage(creator.publicKey, checksum, signature);
541
+ return this.eciesService.verifyMessage(creator.publicKey, checksum.toUint8Array(), signature);
416
542
  }
417
543
  /**
418
544
  * Validate the file name format
@@ -482,6 +608,53 @@ class CBLService {
482
608
  constants_1.default['UINT8_SIZE'] +
483
609
  mimeType.length);
484
610
  }
611
+ /**
612
+ * Create message CBL header extension
613
+ */
614
+ makeMessageHeader(messageType, senderId, recipients, priority, encryptionScheme) {
615
+ const encoder = new TextEncoder();
616
+ const messageTypeBytes = encoder.encode(messageType);
617
+ const senderIdBytes = encoder.encode(senderId);
618
+ const recipientBytes = recipients.map((r) => encoder.encode(r));
619
+ const encryptionSchemeBytes = encoder.encode(encryptionScheme);
620
+ const totalLength = constants_1.default['UINT8_SIZE'] + // isMessage flag
621
+ constants_1.default['UINT16_SIZE'] +
622
+ messageTypeBytes.length +
623
+ constants_1.default['UINT16_SIZE'] +
624
+ senderIdBytes.length +
625
+ constants_1.default['UINT16_SIZE'] +
626
+ recipientBytes.reduce((sum, r) => sum + constants_1.default['UINT16_SIZE'] + r.length, 0) +
627
+ constants_1.default['UINT8_SIZE'] + // priority
628
+ constants_1.default['UINT8_SIZE'] +
629
+ encryptionSchemeBytes.length;
630
+ const result = new Uint8Array(totalLength);
631
+ const view = new DataView(result.buffer);
632
+ let offset = 0;
633
+ result[offset] = 2; // isMessage flag
634
+ offset += constants_1.default['UINT8_SIZE'];
635
+ view.setUint16(offset, messageTypeBytes.length, false);
636
+ offset += constants_1.default['UINT16_SIZE'];
637
+ result.set(messageTypeBytes, offset);
638
+ offset += messageTypeBytes.length;
639
+ view.setUint16(offset, senderIdBytes.length, false);
640
+ offset += constants_1.default['UINT16_SIZE'];
641
+ result.set(senderIdBytes, offset);
642
+ offset += senderIdBytes.length;
643
+ view.setUint16(offset, recipients.length, false);
644
+ offset += constants_1.default['UINT16_SIZE'];
645
+ for (const recipientByte of recipientBytes) {
646
+ view.setUint16(offset, recipientByte.length, false);
647
+ offset += constants_1.default['UINT16_SIZE'];
648
+ result.set(recipientByte, offset);
649
+ offset += recipientByte.length;
650
+ }
651
+ result[offset] = priority;
652
+ offset += constants_1.default['UINT8_SIZE'];
653
+ result[offset] = encryptionSchemeBytes.length;
654
+ offset += constants_1.default['UINT8_SIZE'];
655
+ result.set(encryptionSchemeBytes, offset);
656
+ return result;
657
+ }
485
658
  /**
486
659
  * Create an extended header for CBL
487
660
  */
@@ -506,9 +679,60 @@ class CBLService {
506
679
  return result;
507
680
  }
508
681
  /**
509
- * Create a CBL header
682
+ * Parse message CBL header
683
+ */
684
+ parseMessageHeader(data, creatorForValidation) {
685
+ const cblData = this.parseBaseHeader(data, creatorForValidation);
686
+ const offsets = this.getMessageHeaderOffsets(data);
687
+ const decoder = new TextDecoder('utf-8');
688
+ const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
689
+ const messageType = decoder.decode(data.subarray(offsets.messageTypeOffset, offsets.messageTypeOffset + offsets.messageTypeLength));
690
+ const senderId = decoder.decode(data.subarray(offsets.senderIdOffset, offsets.senderIdOffset + offsets.senderIdLength));
691
+ const recipients = [];
692
+ let recipientOffset = offsets.recipientsOffset;
693
+ for (let i = 0; i < offsets.recipientCount; i++) {
694
+ const recipientLength = view.getUint16(recipientOffset, false);
695
+ recipientOffset += constants_1.default['UINT16_SIZE'];
696
+ recipients.push(decoder.decode(data.subarray(recipientOffset, recipientOffset + recipientLength)));
697
+ recipientOffset += recipientLength;
698
+ }
699
+ const priority = data[offsets.priorityOffset];
700
+ const encryptionScheme = decoder.decode(data.subarray(offsets.encryptionSchemeOffset, offsets.encryptionSchemeOffset + offsets.encryptionSchemeLength));
701
+ return {
702
+ ...cblData,
703
+ isMessage: true,
704
+ messageType,
705
+ senderId,
706
+ recipients,
707
+ priority,
708
+ encryptionScheme,
709
+ };
710
+ }
711
+ /**
712
+ * Create a CBL header.
713
+ *
714
+ * @param creator - The member creating the CBL
715
+ * @param dateCreated - The creation date
716
+ * @param cblAddressCount - Number of addresses in the CBL
717
+ * @param fileDataLength - Length of the original file data
718
+ * @param addressList - The list of block addresses
719
+ * @param blockSize - The block size
720
+ * @param encryptionType - The encryption type
721
+ * @param extendedCBL - Optional extended CBL data (fileName, mimeType)
722
+ * @param tupleSize - The tuple size (defaults to TUPLE.SIZE)
723
+ * @returns Object containing headerData and signature
724
+ * @throws {EnhancedValidationError} If block size or encryption type is invalid
725
+ * @throws {CblError} If CBL-specific validation fails
726
+ *
727
+ * @see Requirements 5.1, 5.2, 5.3, 12.1, 12.2, 12.7
510
728
  */
511
729
  makeCblHeader(creator, dateCreated, cblAddressCount, fileDataLength, addressList, blockSize, encryptionType, extendedCBL, tupleSize = constants_1.TUPLE.SIZE) {
730
+ // Validate inputs using Validator
731
+ validator_1.Validator.validateRequired(creator, 'creator', 'makeCblHeader');
732
+ validator_1.Validator.validateRequired(dateCreated, 'dateCreated', 'makeCblHeader');
733
+ validator_1.Validator.validateRequired(addressList, 'addressList', 'makeCblHeader');
734
+ validator_1.Validator.validateBlockSize(blockSize, 'makeCblHeader');
735
+ validator_1.Validator.validateEncryptionType(encryptionType, 'makeCblHeader');
512
736
  if (fileDataLength > constants_1.CBL.MAX_INPUT_FILE_SIZE) {
513
737
  throw new cblError_1.CblError(cblErrorType_1.CblErrorType.FileSizeTooLarge);
514
738
  }
@@ -544,20 +768,11 @@ class CBLService {
544
768
  buffers.dataChecksum.set(dataChecksum);
545
769
  // Use the provider to convert creator ID to bytes
546
770
  const creatorIdBytes = this.enhancedProvider.toBytes(creator.id);
547
- // Use the actual provider's ID length
548
- const expectedLength = this.creatorLength;
549
- const creatorId = new Uint8Array(expectedLength);
550
- if (creatorIdBytes.length === expectedLength) {
551
- creatorId.set(creatorIdBytes);
552
- }
553
- else if (creatorIdBytes.length < expectedLength) {
554
- // Right-align shorter IDs (pad with zeros on the left)
555
- creatorId.set(creatorIdBytes, expectedLength - creatorIdBytes.length);
556
- }
557
- else {
558
- // Truncate longer IDs from the right
559
- creatorId.set(creatorIdBytes.subarray(0, expectedLength));
771
+ // Validate that the provider returns the expected length
772
+ if (creatorIdBytes.length !== this.creatorLength) {
773
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, `Creator ID provider returned ${creatorIdBytes.length} bytes, expected ${this.creatorLength}`);
560
774
  }
775
+ const creatorId = creatorIdBytes;
561
776
  // Create base header
562
777
  const baseHeaderSize = creatorId.length +
563
778
  buffers.dateCreated.length +
@@ -601,24 +816,22 @@ class CBLService {
601
816
  signOffset += buffers.blockSize.length;
602
817
  toSign.set(addressList, signOffset);
603
818
  const checksum = this.checksumService.calculateChecksum(toSign);
604
- let signatureBytes = creator instanceof ecies_lib_1.Member && creator.privateKey
605
- ? new Uint8Array(this.eciesService.signMessage(creator.privateKey.value, checksum))
606
- : new Uint8Array(constants_1.ECIES.SIGNATURE_LENGTH);
819
+ const signatureBytes = (creator instanceof ecies_lib_1.Member && creator.privateKey
820
+ ? new Uint8Array(this.eciesService.signMessage(creator.privateKey.value, checksum.toUint8Array()))
821
+ : new Uint8Array(constants_1.ECIES.SIGNATURE_LENGTH));
822
+ // Validate signature length
607
823
  if (signatureBytes.length !== constants_1.ECIES.SIGNATURE_LENGTH) {
608
- const padded = new Uint8Array(constants_1.ECIES.SIGNATURE_LENGTH);
609
- padded.set(signatureBytes, constants_1.ECIES.SIGNATURE_LENGTH - signatureBytes.length);
610
- signatureBytes = padded;
824
+ throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidSignature, `Signature length mismatch: got ${signatureBytes.length}, expected ${constants_1.ECIES.SIGNATURE_LENGTH}`);
611
825
  }
612
- const finalSignature = signatureBytes;
613
826
  // Construct final header
614
- const headerData = new Uint8Array(baseHeader.length + extendedHeaderData.length + finalSignature.length);
827
+ const headerData = new Uint8Array(baseHeader.length + extendedHeaderData.length + signatureBytes.length);
615
828
  let headerOffset = 0;
616
829
  headerData.set(baseHeader, headerOffset);
617
830
  headerOffset += baseHeader.length;
618
831
  headerData.set(extendedHeaderData, headerOffset);
619
832
  headerOffset += extendedHeaderData.length;
620
- headerData.set(finalSignature, headerOffset);
621
- return { headerData, signature: finalSignature };
833
+ headerData.set(signatureBytes, headerOffset);
834
+ return { headerData, signature: signatureBytes };
622
835
  }
623
836
  /**
624
837
  * Parse the header of a constituent block list block
@@ -750,6 +963,11 @@ CBLService.IsExtendedHeaderSize = constants_1.default['UINT8_SIZE'];
750
963
  * Length of the creator signature field in the header
751
964
  */
752
965
  CBLService.CreatorSignatureSize = constants_1.ECIES.SIGNATURE_LENGTH;
966
+ /**
967
+ * Length of the creator ID field (GUID size) - static default for backward compatibility
968
+ * @deprecated Use instance method creatorLength instead for dynamic provider support
969
+ */
970
+ CBLService.CreatorIdLength = constants_1.default['ENCRYPTION'].RECIPIENT_ID_SIZE;
753
971
  /**
754
972
  * Length of the file name length field in the header
755
973
  */