@brightchain/brightchain-lib 0.1.5 → 0.1.6

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
@@ -39,16 +39,49 @@ export declare class BlockService<TID extends PlatformID = Uint8Array> {
39
39
  private generateRandomData;
40
40
  /**
41
41
  * Encrypt a block using ECIES
42
+ *
43
+ * @param newBlockType - The block type for the encrypted block
44
+ * @param block - The ephemeral block to encrypt
45
+ * @param recipient - Optional recipient member (defaults to block creator)
46
+ * @returns The encrypted block
47
+ * @throws {EnhancedValidationError} If block type is invalid
48
+ * @throws {BlockError} If block cannot be encrypted or creator is missing
49
+ * @throws {EciesError} If ECIES encryption fails
50
+ *
51
+ * @see Requirements 5.1, 5.2, 5.3, 7.2, 7.3
42
52
  */
43
53
  encrypt(newBlockType: BlockType, block: IEphemeralBlock<TID>, recipient?: Member<TID>): Promise<EncryptedBlock<TID>>;
44
54
  /**
45
55
  * Decrypt a block using ECIES
56
+ *
57
+ * @param creator - The member with private key to decrypt
58
+ * @param block - The encrypted block to decrypt
59
+ * @param newBlockType - The block type for the decrypted block
60
+ * @returns The decrypted ephemeral block
61
+ * @throws {EnhancedValidationError} If block type is invalid
62
+ * @throws {BlockError} If creator private key is missing
63
+ * @throws {EciesError} If ECIES decryption fails
64
+ *
65
+ * @see Requirements 5.1, 5.2, 5.3, 7.2, 7.3
46
66
  */
47
67
  decrypt(creator: Member<TID>, block: EncryptedBlock<TID>, newBlockType: BlockType): Promise<IEphemeralBlock<TID>>;
48
68
  /**
49
69
  * Decrypt multiple and encrypt multiple methods
50
70
  */
51
71
  decryptMultiple(recipient: Member<TID>, block: IEncryptedBlock<TID>): Promise<IEphemeralBlock<TID>>;
72
+ /**
73
+ * Encrypt a block for multiple recipients using ECIES
74
+ *
75
+ * @param newBlockType - The block type for the encrypted block
76
+ * @param block - The ephemeral block to encrypt
77
+ * @param recipients - Array of recipient members
78
+ * @returns The encrypted block
79
+ * @throws {EnhancedValidationError} If block type or recipient count is invalid
80
+ * @throws {BlockError} If block cannot be encrypted or creator is missing
81
+ * @throws {EciesError} If ECIES encryption fails
82
+ *
83
+ * @see Requirements 5.1, 5.2, 5.3, 7.2, 7.3
84
+ */
52
85
  encryptMultiple(newBlockType: BlockType, block: EphemeralBlock<TID>, recipients: Member<TID>[]): Promise<IEncryptedBlock<TID>>;
53
86
  /**
54
87
  * XOR a single block with all whiteners
@@ -1 +1 @@
1
- {"version":3,"file":"blockService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/blockService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/blockService.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ const block_1 = require("../errors/block");
22
22
  const blockServiceError_1 = require("../errors/blockServiceError");
23
23
  const eciesError_1 = require("../errors/eciesError");
24
24
  const serviceLocator_1 = require("../services/serviceLocator");
25
+ const validator_1 = require("../utils/validator");
25
26
  /**
26
27
  * Browser-compatible BlockService with core functionality
27
28
  */
@@ -103,8 +104,20 @@ class BlockService {
103
104
  }
104
105
  /**
105
106
  * Encrypt a block using ECIES
107
+ *
108
+ * @param newBlockType - The block type for the encrypted block
109
+ * @param block - The ephemeral block to encrypt
110
+ * @param recipient - Optional recipient member (defaults to block creator)
111
+ * @returns The encrypted block
112
+ * @throws {EnhancedValidationError} If block type is invalid
113
+ * @throws {BlockError} If block cannot be encrypted or creator is missing
114
+ * @throws {EciesError} If ECIES encryption fails
115
+ *
116
+ * @see Requirements 5.1, 5.2, 5.3, 7.2, 7.3
106
117
  */
107
118
  async encrypt(newBlockType, block, recipient) {
119
+ // Validate block type
120
+ validator_1.Validator.validateBlockType(newBlockType, 'encrypt');
108
121
  if (!blockType_1.EncryptedBlockTypes.includes(newBlockType)) {
109
122
  throw new block_1.BlockError(blockErrorType_1.BlockErrorType.UnexpectedEncryptedBlockType);
110
123
  }
@@ -114,28 +127,70 @@ class BlockService {
114
127
  else if (!block.creator) {
115
128
  throw new block_1.BlockError(blockErrorType_1.BlockErrorType.CreatorRequired);
116
129
  }
117
- const encryptedArray = await serviceLocator_1.ServiceLocator.getServiceProvider().eciesService.encrypt(ecies_lib_1.EciesEncryptionTypeEnum.Single, (recipient ?? block.creator), block.data);
118
- // Create padded buffer filled with random data
119
- const finalBuffer = this.generateRandomData(block.blockSize);
120
- // Write the block type to the first byte
121
- finalBuffer[0] = blockEncryptionType_1.BlockEncryptionType.SingleRecipient;
122
- // Copy ECIES data after the block type byte
123
- finalBuffer.set(encryptedArray, constants_1.ENCRYPTION.ENCRYPTION_TYPE_SIZE);
124
- const checksum = serviceLocator_1.ServiceLocator.getServiceProvider().checksumService.calculateChecksum(finalBuffer);
125
- const result = await encryptedBlockCreator_1.EncryptedBlockCreator.create(newBlockType, blockDataType_1.BlockDataType.EncryptedData, block.blockSize, finalBuffer, checksum, recipient ?? block.creator, block.dateCreated, block.data.length);
126
- return result;
130
+ try {
131
+ const encryptedArray = await serviceLocator_1.ServiceLocator.getServiceProvider().eciesService.encrypt(ecies_lib_1.EciesEncryptionTypeEnum.Single, (recipient ?? block.creator), block.data);
132
+ // Create padded buffer filled with random data
133
+ const finalBuffer = this.generateRandomData(block.blockSize);
134
+ // Write the block type to the first byte
135
+ finalBuffer[0] = blockEncryptionType_1.BlockEncryptionType.SingleRecipient;
136
+ // Copy ECIES data after the block type byte
137
+ finalBuffer.set(encryptedArray, constants_1.ENCRYPTION.ENCRYPTION_TYPE_SIZE);
138
+ const checksum = serviceLocator_1.ServiceLocator.getServiceProvider().checksumService.calculateChecksum(finalBuffer);
139
+ const result = await encryptedBlockCreator_1.EncryptedBlockCreator.create(newBlockType, blockDataType_1.BlockDataType.EncryptedData, block.blockSize, finalBuffer, checksum, recipient ?? block.creator, block.dateCreated, block.data.length);
140
+ return result;
141
+ }
142
+ catch (error) {
143
+ // Wrap ECIES errors with context
144
+ if (error instanceof eciesError_1.EciesError) {
145
+ throw error;
146
+ }
147
+ // Wrap unknown errors from ECIES library
148
+ if (error instanceof Error && error.message.includes('ECIES')) {
149
+ throw new eciesError_1.EciesError(eciesErrorType_1.EciesErrorType.InvalidDataLength, undefined, {
150
+ ERROR: error.message,
151
+ });
152
+ }
153
+ throw error;
154
+ }
127
155
  }
128
156
  /**
129
157
  * Decrypt a block using ECIES
158
+ *
159
+ * @param creator - The member with private key to decrypt
160
+ * @param block - The encrypted block to decrypt
161
+ * @param newBlockType - The block type for the decrypted block
162
+ * @returns The decrypted ephemeral block
163
+ * @throws {EnhancedValidationError} If block type is invalid
164
+ * @throws {BlockError} If creator private key is missing
165
+ * @throws {EciesError} If ECIES decryption fails
166
+ *
167
+ * @see Requirements 5.1, 5.2, 5.3, 7.2, 7.3
130
168
  */
131
169
  async decrypt(creator, block, newBlockType) {
170
+ // Validate block type
171
+ validator_1.Validator.validateBlockType(newBlockType, 'decrypt');
132
172
  if (!creator.privateKey) {
133
173
  throw new block_1.BlockError(blockErrorType_1.BlockErrorType.CreatorPrivateKeyRequired);
134
174
  }
135
- const decryptedArray = await serviceLocator_1.ServiceLocator.getServiceProvider().eciesService.decryptSimpleOrSingleWithHeader(false, creator.privateKey.idUint8Array, block.layerPayload);
136
- const checksum = serviceLocator_1.ServiceLocator.getServiceProvider().checksumService.calculateChecksum(decryptedArray);
137
- const result = await encryptedBlockCreator_1.EncryptedBlockCreator.create(newBlockType, blockDataType_1.BlockDataType.EphemeralStructuredData, block.blockSize, decryptedArray, checksum, creator, block.dateCreated, block.layerPayloadSize);
138
- return result;
175
+ try {
176
+ const decryptedArray = await serviceLocator_1.ServiceLocator.getServiceProvider().eciesService.decryptSimpleOrSingleWithHeader(false, creator.privateKey.idUint8Array, block.layerPayload);
177
+ const checksum = serviceLocator_1.ServiceLocator.getServiceProvider().checksumService.calculateChecksum(decryptedArray);
178
+ const result = await encryptedBlockCreator_1.EncryptedBlockCreator.create(newBlockType, blockDataType_1.BlockDataType.EphemeralStructuredData, block.blockSize, decryptedArray, checksum, creator, block.dateCreated, block.layerPayloadSize);
179
+ return result;
180
+ }
181
+ catch (error) {
182
+ // Wrap ECIES errors with context
183
+ if (error instanceof eciesError_1.EciesError) {
184
+ throw error;
185
+ }
186
+ // Wrap unknown errors from ECIES library
187
+ if (error instanceof Error && error.message.includes('ECIES')) {
188
+ throw new eciesError_1.EciesError(eciesErrorType_1.EciesErrorType.InvalidDataLength, undefined, {
189
+ ERROR: error.message,
190
+ });
191
+ }
192
+ throw error;
193
+ }
139
194
  }
140
195
  /**
141
196
  * Decrypt multiple and encrypt multiple methods
@@ -154,7 +209,24 @@ class BlockService {
154
209
  const checksum = serviceLocator_1.ServiceLocator.getServiceProvider().checksumService.calculateChecksum(decryptedData);
155
210
  return ephemeral_1.EphemeralBlock.from(blockType_1.BlockType.EphemeralOwnedDataBlock, blockDataType_1.BlockDataType.EphemeralStructuredData, block.blockSize, decryptedData, checksum, recipient, block.dateCreated, multiEncryptionHeader.dataLength);
156
211
  }
212
+ /**
213
+ * Encrypt a block for multiple recipients using ECIES
214
+ *
215
+ * @param newBlockType - The block type for the encrypted block
216
+ * @param block - The ephemeral block to encrypt
217
+ * @param recipients - Array of recipient members
218
+ * @returns The encrypted block
219
+ * @throws {EnhancedValidationError} If block type or recipient count is invalid
220
+ * @throws {BlockError} If block cannot be encrypted or creator is missing
221
+ * @throws {EciesError} If ECIES encryption fails
222
+ *
223
+ * @see Requirements 5.1, 5.2, 5.3, 7.2, 7.3
224
+ */
157
225
  async encryptMultiple(newBlockType, block, recipients) {
226
+ // Validate block type
227
+ validator_1.Validator.validateBlockType(newBlockType, 'encryptMultiple');
228
+ // Validate recipient count
229
+ validator_1.Validator.validateRecipientCount(recipients.length, blockEncryptionType_1.BlockEncryptionType.MultiRecipient, 'encryptMultiple');
158
230
  if (!blockType_1.EncryptedBlockTypes.includes(newBlockType)) {
159
231
  throw new block_1.BlockError(blockErrorType_1.BlockErrorType.UnexpectedEncryptedBlockType);
160
232
  }
@@ -164,19 +236,34 @@ class BlockService {
164
236
  else if (!block.creator) {
165
237
  throw new block_1.BlockError(blockErrorType_1.BlockErrorType.CreatorRequired);
166
238
  }
167
- const encryptedMessageDetails = await serviceLocator_1.ServiceLocator.getServiceProvider().eciesService.encryptMultiple(recipients, block.data);
168
- const header = serviceLocator_1.ServiceLocator.getServiceProvider().eciesService.buildECIESMultipleRecipientHeader(encryptedMessageDetails);
169
- const paddingSize = block.blockSize -
170
- header.length -
171
- encryptedMessageDetails.encryptedMessage.length;
172
- const padding = this.generateRandomData(paddingSize);
173
- const data = new Uint8Array([
174
- ...header,
175
- ...encryptedMessageDetails.encryptedMessage,
176
- ...padding,
177
- ]);
178
- const checksum = serviceLocator_1.ServiceLocator.getServiceProvider().checksumService.calculateChecksum(data);
179
- return Promise.resolve(await encrypted_1.EncryptedBlock.from(newBlockType, blockDataType_1.BlockDataType.EncryptedData, block.blockSize, data, checksum, block.creator, block.dateCreated, block.lengthBeforeEncryption, true, false));
239
+ try {
240
+ const encryptedMessageDetails = await serviceLocator_1.ServiceLocator.getServiceProvider().eciesService.encryptMultiple(recipients, block.data);
241
+ const header = serviceLocator_1.ServiceLocator.getServiceProvider().eciesService.buildECIESMultipleRecipientHeader(encryptedMessageDetails);
242
+ const paddingSize = block.blockSize -
243
+ header.length -
244
+ encryptedMessageDetails.encryptedMessage.length;
245
+ const padding = this.generateRandomData(paddingSize);
246
+ const data = new Uint8Array([
247
+ ...header,
248
+ ...encryptedMessageDetails.encryptedMessage,
249
+ ...padding,
250
+ ]);
251
+ const checksum = serviceLocator_1.ServiceLocator.getServiceProvider().checksumService.calculateChecksum(data);
252
+ return Promise.resolve(await encrypted_1.EncryptedBlock.from(newBlockType, blockDataType_1.BlockDataType.EncryptedData, block.blockSize, data, checksum, block.creator, block.dateCreated, block.lengthBeforeEncryption, true, false));
253
+ }
254
+ catch (error) {
255
+ // Wrap ECIES errors with context
256
+ if (error instanceof eciesError_1.EciesError) {
257
+ throw error;
258
+ }
259
+ // Wrap unknown errors from ECIES library
260
+ if (error instanceof Error && error.message.includes('ECIES')) {
261
+ throw new eciesError_1.EciesError(eciesErrorType_1.EciesErrorType.InvalidDataLength, undefined, {
262
+ ERROR: error.message,
263
+ });
264
+ }
265
+ throw error;
266
+ }
180
267
  }
181
268
  /**
182
269
  * XOR a single block with all whiteners
@@ -217,7 +304,7 @@ class BlockService {
217
304
  throw new blockServiceError_1.BlockServiceError(blockServiceErrorType_1.BlockServiceErrorType.Uninitialized);
218
305
  }
219
306
  if (await BlockService.blockStore.has(block.idChecksum)) {
220
- throw new blockServiceError_1.BlockServiceError(blockServiceErrorType_1.BlockServiceErrorType.BlockAlreadyExists, undefined, { ID: (0, ecies_lib_1.uint8ArrayToHex)(block.idChecksum) });
307
+ throw new blockServiceError_1.BlockServiceError(blockServiceErrorType_1.BlockServiceErrorType.BlockAlreadyExists, undefined, { ID: block.idChecksum.toHex() });
221
308
  }
222
309
  await BlockService.blockStore.setData(block);
223
310
  }
@@ -261,11 +348,11 @@ class BlockService {
261
348
  blockIDs.push(resultBlock.idChecksum);
262
349
  }
263
350
  // Create CBL header
264
- const blockIdsArray = new Uint8Array(blockIDs.reduce((acc, id) => acc + id.length, 0));
351
+ const blockIdsArray = new Uint8Array(blockIDs.reduce((acc, id) => acc + id.toUint8Array().length, 0));
265
352
  let offset = 0;
266
353
  for (const id of blockIDs) {
267
- blockIdsArray.set(id, offset);
268
- offset += id.length;
354
+ blockIdsArray.set(id.toUint8Array(), offset);
355
+ offset += id.toUint8Array().length;
269
356
  }
270
357
  const header = serviceLocator_1.ServiceLocator.getServiceProvider().cblService.makeCblHeader(creator, dateCreated, blockIDs.length, fileData.length, blockIdsArray, blockSize, blockEncryptionType_1.BlockEncryptionType.None, createECBL && fileName
271
358
  ? { fileName, mimeType: 'application/octet-stream' }
@@ -287,23 +374,26 @@ class BlockService {
287
374
  }
288
375
  // Validate all blocks have same size
289
376
  const firstBlockSize = blocks[0].blockSize;
290
- if (!blocks.every(block => block.blockSize === firstBlockSize)) {
377
+ if (!blocks.every((block) => block.blockSize === firstBlockSize)) {
291
378
  throw new Error('All blocks must have the same block size');
292
379
  }
293
380
  // Create block IDs array
294
- const blockIDs = blocks.map(block => block.idChecksum);
295
- const blockIdsArray = new Uint8Array(blockIDs.reduce((acc, id) => acc + id.length, 0));
381
+ const blockIDs = blocks.map((block) => block.idChecksum);
382
+ const blockIdsArray = new Uint8Array(blockIDs.reduce((acc, id) => acc + id.toUint8Array().length, 0));
296
383
  let offset = 0;
297
384
  for (const id of blockIDs) {
298
- blockIdsArray.set(id, offset);
299
- offset += id.length;
385
+ blockIdsArray.set(id.toUint8Array(), offset);
386
+ offset += id.toUint8Array().length;
300
387
  }
301
388
  // Create CBL header
302
389
  const header = serviceLocator_1.ServiceLocator.getServiceProvider().cblService.makeCblHeader(creator, new Date(), blockIDs.length, originalDataLength, blockIdsArray, blockSize_1.BlockSize.Message, // CBL uses Message size
303
390
  blockEncryptionType_1.BlockEncryptionType.None);
304
- const data = new Uint8Array(header.headerData.length + blockIdsArray.length);
391
+ // Pad data to block size
392
+ const blockSizeBytes = blockSize_1.BlockSize.Message;
393
+ const data = new Uint8Array(blockSizeBytes);
305
394
  data.set(header.headerData, 0);
306
395
  data.set(blockIdsArray, header.headerData.length);
396
+ // Remaining bytes are already zero-filled
307
397
  return new cbl_1.ConstituentBlockListBlock(data, creator);
308
398
  }
309
399
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"blockService.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/blockService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockService.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/blockService.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,28 @@
1
- import { ChecksumUint8Array, ECIESService, Member, PlatformID, SignatureUint8Array, TypedIdProviderWrapper } from '@digitaldefiance/ecies-lib';
1
+ import { ECIESService, Member, PlatformID, SignatureUint8Array, TypedIdProviderWrapper } from '@digitaldefiance/ecies-lib';
2
2
  import { BlockEncryptionType } from '../enumerations/blockEncryptionType';
3
3
  import { BlockSize } from '../enumerations/blockSize';
4
+ import { MessageEncryptionScheme } from '../enumerations/messaging/messageEncryptionScheme';
5
+ import { MessagePriority } from '../enumerations/messaging/messagePriority';
4
6
  import { IConstituentBlockListBlockHeader } from '../interfaces/blocks/headers/cblHeader';
5
7
  import { IExtendedConstituentBlockListBlockHeader } from '../interfaces/blocks/headers/ecblHeader';
8
+ import { IMessageConstituentBlockListBlockHeader } from '../interfaces/blocks/headers/messageCblHeader';
9
+ import { Checksum } from '../types/checksum';
6
10
  import { ChecksumService } from './checksum.service';
7
11
  /**
8
- * Service for creating and verifying CBL blocks
12
+ * Service for creating and verifying CBL blocks.
13
+ *
14
+ * This service provides functionality for:
15
+ * - Creating CBL headers with proper validation
16
+ * - Parsing CBL headers from data
17
+ * - Validating file names and MIME types
18
+ * - Calculating CBL address capacity
19
+ *
20
+ * @remarks
21
+ * - All methods validate inputs before processing
22
+ * - Errors are wrapped in CblError or ExtendedCblError with appropriate context
23
+ * - The service supports both standard and extended CBL blocks
24
+ *
25
+ * @see Requirements 5.1, 5.2, 5.3, 12.1, 12.2, 12.7
9
26
  */
10
27
  export declare class CBLService<TID extends PlatformID = Uint8Array> {
11
28
  private readonly checksumService;
@@ -22,11 +39,6 @@ export declare class CBLService<TID extends PlatformID = Uint8Array> {
22
39
  * Length of the creator field in the header (dynamic based on provider)
23
40
  */
24
41
  get creatorLength(): number;
25
- /**
26
- * Static creator length for backward compatibility
27
- * @deprecated Use instance method creatorLength instead
28
- */
29
- static get CreatorLength(): number;
30
42
  /**
31
43
  * Length of the date field in the header
32
44
  * Date consists of two 32-bit unsigned integers (high/low)
@@ -57,36 +69,89 @@ export declare class CBLService<TID extends PlatformID = Uint8Array> {
57
69
  */
58
70
  static readonly CreatorSignatureSize: number;
59
71
  /**
60
- * Offset of the date field in the header
72
+ * Length of the creator ID field (GUID size) - static default for backward compatibility
73
+ * @deprecated Use instance method creatorLength instead for dynamic provider support
74
+ */
75
+ static readonly CreatorIdLength: number;
76
+ /**
77
+ * Offset of the date field in the header (instance method for dynamic provider support)
78
+ */
79
+ get dateCreatedOffset(): number;
80
+ /**
81
+ * Offset of the date field in the header (static for backward compatibility)
82
+ * @deprecated Use instance method dateCreatedOffset instead
61
83
  */
62
84
  static get DateCreatedOffset(): number;
63
85
  /**
64
- * Offset of the address count field in the header
86
+ * Offset of the address count field in the header (instance method)
87
+ */
88
+ get cblAddressCountOffset(): number;
89
+ /**
90
+ * Offset of the address count field in the header (static for backward compatibility)
91
+ * @deprecated Use instance method cblAddressCountOffset instead
65
92
  */
66
93
  static get CblAddressCountOffset(): number;
67
94
  /**
68
- * Offset of the tuple size field in the header
95
+ * Offset of the tuple size field in the header (instance method)
96
+ */
97
+ get tupleSizeOffset(): number;
98
+ /**
99
+ * Offset of the tuple size field in the header (static for backward compatibility)
100
+ * @deprecated Use instance method tupleSizeOffset instead
69
101
  */
70
102
  static get TupleSizeOffset(): number;
71
103
  /**
72
- * Offset of the original data length field in the header
104
+ * Offset of the original data length field in the header (instance method)
105
+ */
106
+ get originalDataLengthOffset(): number;
107
+ /**
108
+ * Offset of the original data length field in the header (static for backward compatibility)
109
+ * @deprecated Use instance method originalDataLengthOffset instead
73
110
  */
74
111
  static get OriginalDataLengthOffset(): number;
112
+ /**
113
+ * Offset of the original checksum field in the header (instance method)
114
+ */
115
+ get originalChecksumOffset(): number;
116
+ /**
117
+ * Static offset for backward compatibility
118
+ * @deprecated Use instance method originalChecksumOffset instead
119
+ */
75
120
  static get OriginalChecksumOffset(): number;
76
121
  /**
77
- * Offset of the is extended header field in the header
122
+ * Offset of the is extended header field in the header (instance method)
123
+ */
124
+ get isExtendedHeaderOffset(): number;
125
+ /**
126
+ * Offset of the is extended header field in the header (static for backward compatibility)
127
+ * @deprecated Use instance method isExtendedHeaderOffset instead
78
128
  */
79
129
  static get IsExtendedHeaderOffset(): number;
80
130
  /**
81
- * Offset of the creator signature field in the header
131
+ * Offset of the creator signature field in the header (instance method)
132
+ */
133
+ get baseHeaderCreatorSignatureOffset(): number;
134
+ /**
135
+ * Offset of the creator signature field in the header (static for backward compatibility)
136
+ * @deprecated Use instance method baseHeaderCreatorSignatureOffset instead
82
137
  */
83
138
  static get BaseHeaderCreatorSignatureOffset(): number;
84
139
  /**
85
- * Length of the base header with signature
140
+ * Length of the base header with signature (instance method)
141
+ */
142
+ get baseHeaderSize(): number;
143
+ /**
144
+ * Length of the base header with signature (static for backward compatibility)
145
+ * @deprecated Use instance method baseHeaderSize instead
86
146
  */
87
147
  static get BaseHeaderSize(): number;
88
148
  /**
89
- * Offset of the file name length field in the header
149
+ * Offset of the file name length field in the header (instance method)
150
+ */
151
+ get fileNameLengthOffset(): number;
152
+ /**
153
+ * Offset of the file name length field in the header (static for backward compatibility)
154
+ * @deprecated Use instance method fileNameLengthOffset instead
90
155
  */
91
156
  static get FileNameLengthOffset(): number;
92
157
  /**
@@ -97,8 +162,23 @@ export declare class CBLService<TID extends PlatformID = Uint8Array> {
97
162
  * Length of the mime type length field in the header
98
163
  */
99
164
  static readonly MimeTypeLengthSize: number;
165
+ /**
166
+ * Instance offsets for dynamic provider support
167
+ */
168
+ get headerOffsets(): {
169
+ CreatorId: number;
170
+ DateCreated: number;
171
+ CblAddressCount: number;
172
+ TupleSize: number;
173
+ OriginalDataLength: number;
174
+ OriginalDataChecksum: number;
175
+ CreatorSignature: number;
176
+ IsExtendedHeader: number;
177
+ FileNameLength: number;
178
+ };
100
179
  /**
101
180
  * Static offsets for backward compatibility
181
+ * @deprecated Use instance method headerOffsets instead
102
182
  */
103
183
  static get HeaderOffsets(): {
104
184
  CreatorId: number;
@@ -117,6 +197,14 @@ export declare class CBLService<TID extends PlatformID = Uint8Array> {
117
197
  * @returns True if the data is encrypted, false otherwise
118
198
  */
119
199
  isEncrypted(data: Uint8Array): boolean;
200
+ /**
201
+ * Check if the header is a message CBL
202
+ */
203
+ isMessageHeader(header: Uint8Array): boolean;
204
+ /**
205
+ * Get message header offsets
206
+ */
207
+ private getMessageHeaderOffsets;
120
208
  /**
121
209
  * Helper function to check if a string contains control characters
122
210
  * @param str The string to check
@@ -148,7 +236,7 @@ export declare class CBLService<TID extends PlatformID = Uint8Array> {
148
236
  * @param header - The header to get the checksum from
149
237
  * @returns The original data checksum
150
238
  */
151
- getOriginalDataChecksum(header: Uint8Array): ChecksumUint8Array;
239
+ getOriginalDataChecksum(header: Uint8Array): Checksum;
152
240
  /**
153
241
  * Get the is extended header from the header
154
242
  */
@@ -192,7 +280,7 @@ export declare class CBLService<TID extends PlatformID = Uint8Array> {
192
280
  /**
193
281
  * Get the addresses from the CBL
194
282
  */
195
- addressDataToAddresses(data: Uint8Array): ChecksumUint8Array[];
283
+ addressDataToAddresses(data: Uint8Array): Checksum[];
196
284
  /**
197
285
  * Validate the signature of a CBL
198
286
  * @param data The CBL data
@@ -218,12 +306,35 @@ export declare class CBLService<TID extends PlatformID = Uint8Array> {
218
306
  * @returns Size of the extended header
219
307
  */
220
308
  calculateExtendedHeaderSize(fileName: string, mimeType: string): number;
309
+ /**
310
+ * Create message CBL header extension
311
+ */
312
+ makeMessageHeader(messageType: string, senderId: string, recipients: string[], priority: MessagePriority, encryptionScheme: MessageEncryptionScheme): Uint8Array;
221
313
  /**
222
314
  * Create an extended header for CBL
223
315
  */
224
316
  makeExtendedHeader(fileName: string, mimeType: string): Uint8Array;
225
317
  /**
226
- * Create a CBL header
318
+ * Parse message CBL header
319
+ */
320
+ parseMessageHeader(data: Uint8Array, creatorForValidation?: Member<TID>): IMessageConstituentBlockListBlockHeader<TID>;
321
+ /**
322
+ * Create a CBL header.
323
+ *
324
+ * @param creator - The member creating the CBL
325
+ * @param dateCreated - The creation date
326
+ * @param cblAddressCount - Number of addresses in the CBL
327
+ * @param fileDataLength - Length of the original file data
328
+ * @param addressList - The list of block addresses
329
+ * @param blockSize - The block size
330
+ * @param encryptionType - The encryption type
331
+ * @param extendedCBL - Optional extended CBL data (fileName, mimeType)
332
+ * @param tupleSize - The tuple size (defaults to TUPLE.SIZE)
333
+ * @returns Object containing headerData and signature
334
+ * @throws {EnhancedValidationError} If block size or encryption type is invalid
335
+ * @throws {CblError} If CBL-specific validation fails
336
+ *
337
+ * @see Requirements 5.1, 5.2, 5.3, 12.1, 12.2, 12.7
227
338
  */
228
339
  makeCblHeader(creator: Member<TID>, dateCreated: Date, cblAddressCount: number, fileDataLength: number, addressList: Uint8Array, blockSize: BlockSize, encryptionType: BlockEncryptionType, extendedCBL?: {
229
340
  fileName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"cblService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/cblService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cblService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/cblService.ts"],"names":[],"mappings":"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"}