@brightchain/brightchain-lib 0.8.1 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (499) hide show
  1. package/brightchain-lib/BLOCK_COVERAGE_AUDIT.md +169 -0
  2. package/package.json +2 -2
  3. package/src/browser.d.ts +1 -4
  4. package/src/browser.d.ts.map +1 -1
  5. package/src/browser.js +6 -9
  6. package/src/browser.js.map +1 -1
  7. package/src/lib/blockMetadata.d.ts +10 -9
  8. package/src/lib/blockMetadata.d.ts.map +1 -1
  9. package/src/lib/blockMetadata.js +20 -36
  10. package/src/lib/blockMetadata.js.map +1 -1
  11. package/src/lib/blocks/base.d.ts +23 -0
  12. package/src/lib/blocks/base.d.ts.map +1 -1
  13. package/src/lib/blocks/base.js +33 -15
  14. package/src/lib/blocks/base.js.map +1 -1
  15. package/src/lib/blocks/cbl.d.ts +34 -1
  16. package/src/lib/blocks/cbl.d.ts.map +1 -1
  17. package/src/lib/blocks/cbl.js +36 -3
  18. package/src/lib/blocks/cbl.js.map +1 -1
  19. package/src/lib/blocks/cblBase.d.ts +45 -1
  20. package/src/lib/blocks/cblBase.d.ts.map +1 -1
  21. package/src/lib/blocks/cblBase.js +106 -52
  22. package/src/lib/blocks/cblBase.js.map +1 -1
  23. package/src/lib/blocks/encrypted.d.ts +34 -5
  24. package/src/lib/blocks/encrypted.d.ts.map +1 -1
  25. package/src/lib/blocks/encrypted.js +129 -24
  26. package/src/lib/blocks/encrypted.js.map +1 -1
  27. package/src/lib/blocks/encryptedBlockFactory.js +2 -2
  28. package/src/lib/blocks/encryptedBlockFactory.js.map +1 -1
  29. package/src/lib/blocks/ephemeral.d.ts +35 -9
  30. package/src/lib/blocks/ephemeral.d.ts.map +1 -1
  31. package/src/lib/blocks/ephemeral.js +71 -42
  32. package/src/lib/blocks/ephemeral.js.map +1 -1
  33. package/src/lib/blocks/extendedCbl.d.ts +1 -1
  34. package/src/lib/blocks/extendedCbl.d.ts.map +1 -1
  35. package/src/lib/blocks/extendedCbl.js +7 -7
  36. package/src/lib/blocks/extendedCbl.js.map +1 -1
  37. package/src/lib/blocks/handle.js +2 -2
  38. package/src/lib/blocks/handle.js.map +1 -1
  39. package/src/lib/blocks/handleTuple.js +2 -2
  40. package/src/lib/blocks/handleTuple.js.map +1 -1
  41. package/src/lib/blocks/random.d.ts +2 -1
  42. package/src/lib/blocks/random.d.ts.map +1 -1
  43. package/src/lib/blocks/random.js +7 -4
  44. package/src/lib/blocks/random.js.map +1 -1
  45. package/src/lib/blocks/rawData.d.ts +3 -1
  46. package/src/lib/blocks/rawData.d.ts.map +1 -1
  47. package/src/lib/blocks/rawData.js +31 -6
  48. package/src/lib/blocks/rawData.js.map +1 -1
  49. package/src/lib/blocks/whitened.d.ts +2 -1
  50. package/src/lib/blocks/whitened.d.ts.map +1 -1
  51. package/src/lib/blocks/whitened.js +7 -5
  52. package/src/lib/blocks/whitened.js.map +1 -1
  53. package/src/lib/config/constants.d.ts +2 -0
  54. package/src/lib/config/constants.d.ts.map +1 -0
  55. package/src/lib/config/constants.js +5 -0
  56. package/src/lib/config/constants.js.map +1 -0
  57. package/src/lib/constants.d.ts +37 -0
  58. package/src/lib/constants.d.ts.map +1 -1
  59. package/src/lib/constants.js +40 -1
  60. package/src/lib/constants.js.map +1 -1
  61. package/src/lib/cpus/index.d.ts +2 -3
  62. package/src/lib/cpus/index.d.ts.map +1 -1
  63. package/src/lib/cpus/index.js +5 -0
  64. package/src/lib/cpus/index.js.map +1 -1
  65. package/src/lib/cpus/instructionFactory.d.ts +56 -0
  66. package/src/lib/cpus/instructionFactory.d.ts.map +1 -0
  67. package/src/lib/cpus/instructionFactory.js +190 -0
  68. package/src/lib/cpus/instructionFactory.js.map +1 -0
  69. package/src/lib/cpus/instructionTables.d.ts +14 -12
  70. package/src/lib/cpus/instructionTables.d.ts.map +1 -1
  71. package/src/lib/cpus/instructionTables.js +17 -147
  72. package/src/lib/cpus/instructionTables.js.map +1 -1
  73. package/src/lib/cpus/riscvCpu.d.ts +51 -0
  74. package/src/lib/cpus/riscvCpu.d.ts.map +1 -0
  75. package/src/lib/cpus/riscvCpu.js +131 -0
  76. package/src/lib/cpus/riscvCpu.js.map +1 -0
  77. package/src/lib/documents/base/document.d.ts +1 -1
  78. package/src/lib/documents/base/document.d.ts.map +1 -1
  79. package/src/lib/documents/member/index.d.ts +2 -0
  80. package/src/lib/documents/member/index.d.ts.map +1 -1
  81. package/src/lib/documents/member/index.js +2 -0
  82. package/src/lib/documents/member/index.js.map +1 -1
  83. package/src/lib/documents/member/memberDocument.d.ts +4 -3
  84. package/src/lib/documents/member/memberDocument.d.ts.map +1 -1
  85. package/src/lib/documents/member/memberDocument.js +11 -8
  86. package/src/lib/documents/member/memberDocument.js.map +1 -1
  87. package/src/lib/documents/member/memberHydration.d.ts.map +1 -1
  88. package/src/lib/documents/member/memberHydration.js +7 -21
  89. package/src/lib/documents/member/memberHydration.js.map +1 -1
  90. package/src/lib/documents/member/memberOperational.d.ts.map +1 -1
  91. package/src/lib/documents/member/memberOperational.js +2 -2
  92. package/src/lib/documents/member/memberOperational.js.map +1 -1
  93. package/src/lib/documents/member/memberProfileDocument.d.ts +138 -0
  94. package/src/lib/documents/member/memberProfileDocument.d.ts.map +1 -0
  95. package/src/lib/documents/member/memberProfileDocument.js +326 -0
  96. package/src/lib/documents/member/memberProfileDocument.js.map +1 -0
  97. package/src/lib/documents/member/memberProfileHydration.d.ts +12 -0
  98. package/src/lib/documents/member/memberProfileHydration.d.ts.map +1 -0
  99. package/src/lib/documents/member/memberProfileHydration.js +143 -0
  100. package/src/lib/documents/member/memberProfileHydration.js.map +1 -0
  101. package/src/lib/documents/network/networkDocument.d.ts.map +1 -1
  102. package/src/lib/documents/network/networkDocument.js +4 -3
  103. package/src/lib/documents/network/networkDocument.js.map +1 -1
  104. package/src/lib/documents/quorumDocument.d.ts +3 -14
  105. package/src/lib/documents/quorumDocument.d.ts.map +1 -1
  106. package/src/lib/documents/quorumDocument.js +4 -2
  107. package/src/lib/documents/quorumDocument.js.map +1 -1
  108. package/src/lib/encryptedBlockMetadata.d.ts +13 -5
  109. package/src/lib/encryptedBlockMetadata.d.ts.map +1 -1
  110. package/src/lib/encryptedBlockMetadata.js +31 -23
  111. package/src/lib/encryptedBlockMetadata.js.map +1 -1
  112. package/src/lib/enumerations/blockSize.d.ts +2 -2
  113. package/src/lib/enumerations/blockSize.d.ts.map +1 -1
  114. package/src/lib/enumerations/blockSize.js +15 -15
  115. package/src/lib/enumerations/blockSize.js.map +1 -1
  116. package/src/lib/enumerations/{stringNames.d.ts → brightChainStrings.d.ts} +4 -3
  117. package/src/lib/enumerations/brightChainStrings.d.ts.map +1 -0
  118. package/src/lib/enumerations/brightChainStrings.js +437 -0
  119. package/src/lib/enumerations/brightChainStrings.js.map +1 -0
  120. package/src/lib/enumerations/cblErrorType.d.ts +1 -0
  121. package/src/lib/enumerations/cblErrorType.d.ts.map +1 -1
  122. package/src/lib/enumerations/cblErrorType.js +1 -0
  123. package/src/lib/enumerations/cblErrorType.js.map +1 -1
  124. package/src/lib/enumerations/index.d.ts +1 -1
  125. package/src/lib/enumerations/index.d.ts.map +1 -1
  126. package/src/lib/enumerations/index.js +1 -1
  127. package/src/lib/enumerations/index.js.map +1 -1
  128. package/src/lib/enumerations/votingDerivationErrorType.d.ts +2 -2
  129. package/src/lib/enumerations/votingDerivationErrorType.d.ts.map +1 -1
  130. package/src/lib/enumerations/votingDerivationErrorType.js +11 -11
  131. package/src/lib/enumerations/votingDerivationErrorType.js.map +1 -1
  132. package/src/lib/ephemeralBlockMetadata.d.ts +13 -8
  133. package/src/lib/ephemeralBlockMetadata.d.ts.map +1 -1
  134. package/src/lib/ephemeralBlockMetadata.js +27 -19
  135. package/src/lib/ephemeralBlockMetadata.js.map +1 -1
  136. package/src/lib/errors/block/blockAccess.d.ts +2 -2
  137. package/src/lib/errors/block/blockAccess.d.ts.map +1 -1
  138. package/src/lib/errors/block/blockAccess.js +8 -8
  139. package/src/lib/errors/block/blockAccess.js.map +1 -1
  140. package/src/lib/errors/block/blockCapacity.d.ts +2 -2
  141. package/src/lib/errors/block/blockCapacity.d.ts.map +1 -1
  142. package/src/lib/errors/block/blockCapacity.js +8 -8
  143. package/src/lib/errors/block/blockCapacity.js.map +1 -1
  144. package/src/lib/errors/block/blockError.d.ts +2 -2
  145. package/src/lib/errors/block/blockError.d.ts.map +1 -1
  146. package/src/lib/errors/block/blockError.js +16 -16
  147. package/src/lib/errors/block/blockError.js.map +1 -1
  148. package/src/lib/errors/block/blockMetadata.d.ts +2 -2
  149. package/src/lib/errors/block/blockMetadata.d.ts.map +1 -1
  150. package/src/lib/errors/block/blockMetadata.js +8 -8
  151. package/src/lib/errors/block/blockMetadata.js.map +1 -1
  152. package/src/lib/errors/block/blockValidation.d.ts +2 -2
  153. package/src/lib/errors/block/blockValidation.d.ts.map +1 -1
  154. package/src/lib/errors/block/blockValidation.js +36 -36
  155. package/src/lib/errors/block/blockValidation.js.map +1 -1
  156. package/src/lib/errors/block/cannotDecrypt.d.ts.map +1 -1
  157. package/src/lib/errors/block/cannotDecrypt.js +2 -2
  158. package/src/lib/errors/block/cannotDecrypt.js.map +1 -1
  159. package/src/lib/errors/block/cannotEncrypt.d.ts.map +1 -1
  160. package/src/lib/errors/block/cannotEncrypt.js +2 -2
  161. package/src/lib/errors/block/cannotEncrypt.js.map +1 -1
  162. package/src/lib/errors/blockServiceError.d.ts +2 -2
  163. package/src/lib/errors/blockServiceError.d.ts.map +1 -1
  164. package/src/lib/errors/blockServiceError.js +15 -15
  165. package/src/lib/errors/blockServiceError.js.map +1 -1
  166. package/src/lib/errors/bufferError.d.ts.map +1 -1
  167. package/src/lib/errors/bufferError.js +2 -2
  168. package/src/lib/errors/bufferError.js.map +1 -1
  169. package/src/lib/errors/cblError.d.ts +2 -2
  170. package/src/lib/errors/cblError.d.ts.map +1 -1
  171. package/src/lib/errors/cblError.js +37 -36
  172. package/src/lib/errors/cblError.js.map +1 -1
  173. package/src/lib/errors/checksumMismatch.js +2 -2
  174. package/src/lib/errors/checksumMismatch.js.map +1 -1
  175. package/src/lib/errors/disposed.js +2 -2
  176. package/src/lib/errors/disposed.js.map +1 -1
  177. package/src/lib/errors/document.d.ts +2 -2
  178. package/src/lib/errors/document.d.ts.map +1 -1
  179. package/src/lib/errors/document.js +5 -5
  180. package/src/lib/errors/document.js.map +1 -1
  181. package/src/lib/errors/eciesError.d.ts +2 -2
  182. package/src/lib/errors/eciesError.d.ts.map +1 -1
  183. package/src/lib/errors/eciesError.js +20 -20
  184. package/src/lib/errors/eciesError.js.map +1 -1
  185. package/src/lib/errors/extendedCblError.d.ts +2 -2
  186. package/src/lib/errors/extendedCblError.d.ts.map +1 -1
  187. package/src/lib/errors/extendedCblError.js +25 -25
  188. package/src/lib/errors/extendedCblError.js.map +1 -1
  189. package/src/lib/errors/failedToHydrate.js +2 -2
  190. package/src/lib/errors/failedToHydrate.js.map +1 -1
  191. package/src/lib/errors/failedToSerialize.js +2 -2
  192. package/src/lib/errors/failedToSerialize.js.map +1 -1
  193. package/src/lib/errors/fecError.d.ts +2 -2
  194. package/src/lib/errors/fecError.d.ts.map +1 -1
  195. package/src/lib/errors/fecError.js +19 -19
  196. package/src/lib/errors/fecError.js.map +1 -1
  197. package/src/lib/errors/handleTupleError.d.ts +2 -2
  198. package/src/lib/errors/handleTupleError.d.ts.map +1 -1
  199. package/src/lib/errors/handleTupleError.js +5 -5
  200. package/src/lib/errors/handleTupleError.js.map +1 -1
  201. package/src/lib/errors/index.d.ts +0 -6
  202. package/src/lib/errors/index.d.ts.map +1 -1
  203. package/src/lib/errors/index.js +0 -9
  204. package/src/lib/errors/index.js.map +1 -1
  205. package/src/lib/errors/invalidBlockSize.js +2 -2
  206. package/src/lib/errors/invalidBlockSize.js.map +1 -1
  207. package/src/lib/errors/invalidBlockSizeLength.js +2 -2
  208. package/src/lib/errors/invalidBlockSizeLength.js.map +1 -1
  209. package/src/lib/errors/invalidCredentials.js +2 -2
  210. package/src/lib/errors/invalidCredentials.js.map +1 -1
  211. package/src/lib/errors/invalidIDFormat.js +2 -2
  212. package/src/lib/errors/invalidIDFormat.js.map +1 -1
  213. package/src/lib/errors/invalidSessionID.js +2 -2
  214. package/src/lib/errors/invalidSessionID.js.map +1 -1
  215. package/src/lib/errors/invalidTupleCount.js +2 -2
  216. package/src/lib/errors/invalidTupleCount.js.map +1 -1
  217. package/src/lib/errors/isolatedKeyError.d.ts +2 -2
  218. package/src/lib/errors/isolatedKeyError.d.ts.map +1 -1
  219. package/src/lib/errors/isolatedKeyError.js +7 -7
  220. package/src/lib/errors/isolatedKeyError.js.map +1 -1
  221. package/src/lib/errors/memberError.d.ts +2 -2
  222. package/src/lib/errors/memberError.d.ts.map +1 -1
  223. package/src/lib/errors/memberError.js +27 -27
  224. package/src/lib/errors/memberError.js.map +1 -1
  225. package/src/lib/errors/memoryTupleError.d.ts +2 -2
  226. package/src/lib/errors/memoryTupleError.d.ts.map +1 -1
  227. package/src/lib/errors/memoryTupleError.js +7 -7
  228. package/src/lib/errors/memoryTupleError.js.map +1 -1
  229. package/src/lib/errors/metadataMismatch.js +2 -2
  230. package/src/lib/errors/metadataMismatch.js.map +1 -1
  231. package/src/lib/errors/multiEncryptedError.d.ts +2 -2
  232. package/src/lib/errors/multiEncryptedError.d.ts.map +1 -1
  233. package/src/lib/errors/multiEncryptedError.js +11 -11
  234. package/src/lib/errors/multiEncryptedError.js.map +1 -1
  235. package/src/lib/errors/notImplemented.js +2 -2
  236. package/src/lib/errors/notImplemented.js.map +1 -1
  237. package/src/lib/errors/quorumError.d.ts +2 -2
  238. package/src/lib/errors/quorumError.d.ts.map +1 -1
  239. package/src/lib/errors/quorumError.js +8 -8
  240. package/src/lib/errors/quorumError.js.map +1 -1
  241. package/src/lib/errors/sealingError.d.ts +2 -2
  242. package/src/lib/errors/sealingError.d.ts.map +1 -1
  243. package/src/lib/errors/sealingError.js +9 -9
  244. package/src/lib/errors/sealingError.js.map +1 -1
  245. package/src/lib/errors/secureStorage.d.ts +2 -2
  246. package/src/lib/errors/secureStorage.d.ts.map +1 -1
  247. package/src/lib/errors/secureStorage.js +4 -4
  248. package/src/lib/errors/secureStorage.js.map +1 -1
  249. package/src/lib/errors/storeError.d.ts +2 -2
  250. package/src/lib/errors/storeError.d.ts.map +1 -1
  251. package/src/lib/errors/storeError.js +20 -20
  252. package/src/lib/errors/storeError.js.map +1 -1
  253. package/src/lib/errors/streamError.d.ts +2 -2
  254. package/src/lib/errors/streamError.d.ts.map +1 -1
  255. package/src/lib/errors/streamError.js +8 -8
  256. package/src/lib/errors/streamError.js.map +1 -1
  257. package/src/lib/errors/symmetricError.d.ts +2 -2
  258. package/src/lib/errors/symmetricError.d.ts.map +1 -1
  259. package/src/lib/errors/symmetricError.js +3 -3
  260. package/src/lib/errors/symmetricError.js.map +1 -1
  261. package/src/lib/errors/systemKeyringError.d.ts +2 -2
  262. package/src/lib/errors/systemKeyringError.d.ts.map +1 -1
  263. package/src/lib/errors/systemKeyringError.js +4 -4
  264. package/src/lib/errors/systemKeyringError.js.map +1 -1
  265. package/src/lib/errors/tupleError.d.ts +2 -2
  266. package/src/lib/errors/tupleError.d.ts.map +1 -1
  267. package/src/lib/errors/tupleError.js +13 -13
  268. package/src/lib/errors/tupleError.js.map +1 -1
  269. package/src/lib/errors/typedError.d.ts +2 -2
  270. package/src/lib/errors/typedError.d.ts.map +1 -1
  271. package/src/lib/errors/typedWithReasonError.d.ts +3 -3
  272. package/src/lib/errors/typedWithReasonError.d.ts.map +1 -1
  273. package/src/lib/errors/typedWithReasonError.js.map +1 -1
  274. package/src/lib/errors/userNotFound.js +2 -2
  275. package/src/lib/errors/userNotFound.js.map +1 -1
  276. package/src/lib/errors/whitenedError.d.ts +2 -2
  277. package/src/lib/errors/whitenedError.d.ts.map +1 -1
  278. package/src/lib/errors/whitenedError.js +5 -5
  279. package/src/lib/errors/whitenedError.js.map +1 -1
  280. package/src/lib/factories/blockFactory.d.ts +23 -0
  281. package/src/lib/factories/blockFactory.d.ts.map +1 -0
  282. package/src/lib/factories/blockFactory.js +43 -0
  283. package/src/lib/factories/blockFactory.js.map +1 -0
  284. package/src/lib/i18n/index.d.ts +2 -2
  285. package/src/lib/i18n/index.d.ts.map +1 -1
  286. package/src/lib/i18n/index.js +2 -2
  287. package/src/lib/i18n/index.js.map +1 -1
  288. package/src/lib/index.d.ts +9 -0
  289. package/src/lib/index.d.ts.map +1 -1
  290. package/src/lib/index.js +12 -0
  291. package/src/lib/index.js.map +1 -1
  292. package/src/lib/init.d.ts +10 -0
  293. package/src/lib/init.d.ts.map +1 -1
  294. package/src/lib/init.js +24 -4
  295. package/src/lib/init.js.map +1 -1
  296. package/src/lib/interfaces/blockCapacity.d.ts +8 -0
  297. package/src/lib/interfaces/blockCapacity.d.ts.map +1 -1
  298. package/src/lib/interfaces/blocks/encrypted.d.ts +1 -1
  299. package/src/lib/interfaces/blocks/encrypted.d.ts.map +1 -1
  300. package/src/lib/interfaces/blocks/ephemeral.d.ts +4 -7
  301. package/src/lib/interfaces/blocks/ephemeral.d.ts.map +1 -1
  302. package/src/lib/interfaces/blocks/headers/index.d.ts +1 -0
  303. package/src/lib/interfaces/blocks/headers/index.d.ts.map +1 -1
  304. package/src/lib/interfaces/blocks/headers/superCblHeader.d.ts +63 -0
  305. package/src/lib/interfaces/blocks/headers/superCblHeader.d.ts.map +1 -0
  306. package/src/lib/interfaces/{storage/superCbl.js → blocks/headers/superCblHeader.js} +1 -1
  307. package/src/lib/interfaces/blocks/headers/superCblHeader.js.map +1 -0
  308. package/src/lib/interfaces/blocks/metadata/index.d.ts +0 -1
  309. package/src/lib/interfaces/blocks/metadata/index.d.ts.map +1 -1
  310. package/src/lib/interfaces/constants.d.ts +29 -0
  311. package/src/lib/interfaces/constants.d.ts.map +1 -1
  312. package/src/lib/interfaces/document/quorumDocument.d.ts +15 -0
  313. package/src/lib/interfaces/document/quorumDocument.d.ts.map +1 -0
  314. package/src/lib/interfaces/document/quorumDocument.js +3 -0
  315. package/src/lib/interfaces/document/quorumDocument.js.map +1 -0
  316. package/src/lib/interfaces/member/memberData.d.ts +2 -0
  317. package/src/lib/interfaces/member/memberData.d.ts.map +1 -1
  318. package/src/lib/interfaces/member/profileStorage.d.ts +77 -0
  319. package/src/lib/interfaces/member/profileStorage.d.ts.map +1 -0
  320. package/src/lib/interfaces/member/profileStorage.js +3 -0
  321. package/src/lib/interfaces/member/profileStorage.js.map +1 -0
  322. package/src/lib/interfaces/serviceProvider.interface.d.ts +11 -8
  323. package/src/lib/interfaces/serviceProvider.interface.d.ts.map +1 -1
  324. package/src/lib/interfaces/services/cblServices.d.ts +148 -0
  325. package/src/lib/interfaces/services/cblServices.d.ts.map +1 -0
  326. package/src/lib/interfaces/services/cblServices.js +11 -0
  327. package/src/lib/interfaces/services/cblServices.js.map +1 -0
  328. package/src/lib/interfaces/services/ephemeralBlockServices.d.ts +15 -0
  329. package/src/lib/interfaces/services/ephemeralBlockServices.d.ts.map +1 -0
  330. package/src/lib/interfaces/services/ephemeralBlockServices.js +3 -0
  331. package/src/lib/interfaces/services/ephemeralBlockServices.js.map +1 -0
  332. package/src/lib/interfaces/services/index.d.ts +1 -0
  333. package/src/lib/interfaces/services/index.d.ts.map +1 -1
  334. package/src/lib/interfaces/storage/index.d.ts +0 -1
  335. package/src/lib/interfaces/storage/index.d.ts.map +1 -1
  336. package/src/lib/logging/blockLogger.d.ts +218 -0
  337. package/src/lib/logging/blockLogger.d.ts.map +1 -0
  338. package/src/lib/logging/blockLogger.js +341 -0
  339. package/src/lib/logging/blockLogger.js.map +1 -0
  340. package/src/lib/logging/index.d.ts +24 -0
  341. package/src/lib/logging/index.d.ts.map +1 -0
  342. package/src/lib/logging/index.js +27 -0
  343. package/src/lib/logging/index.js.map +1 -0
  344. package/src/lib/logging/structuredLogger.d.ts +42 -0
  345. package/src/lib/logging/structuredLogger.d.ts.map +1 -0
  346. package/src/lib/logging/structuredLogger.js +93 -0
  347. package/src/lib/logging/structuredLogger.js.map +1 -0
  348. package/src/lib/primeTupleGeneratorStream.d.ts.map +1 -1
  349. package/src/lib/primeTupleGeneratorStream.js +4 -2
  350. package/src/lib/primeTupleGeneratorStream.js.map +1 -1
  351. package/src/lib/quorum.d.ts.map +1 -1
  352. package/src/lib/quorum.js +7 -5
  353. package/src/lib/quorum.js.map +1 -1
  354. package/src/lib/quorumDataRecord.d.ts +1 -1
  355. package/src/lib/quorumDataRecord.d.ts.map +1 -1
  356. package/src/lib/quorumDataRecord.js +5 -4
  357. package/src/lib/quorumDataRecord.js.map +1 -1
  358. package/src/lib/schemas/network/networkDocumentSchema.d.ts.map +1 -1
  359. package/src/lib/schemas/network/networkDocumentSchema.js +9 -8
  360. package/src/lib/schemas/network/networkDocumentSchema.js.map +1 -1
  361. package/src/lib/schemas/quorumDocument.d.ts +1 -1
  362. package/src/lib/schemas/quorumDocument.d.ts.map +1 -1
  363. package/src/lib/schemas/quorumDocument.js +6 -4
  364. package/src/lib/schemas/quorumDocument.js.map +1 -1
  365. package/src/lib/security/dosProtection.d.ts +13 -0
  366. package/src/lib/security/dosProtection.d.ts.map +1 -0
  367. package/src/lib/security/dosProtection.js +29 -0
  368. package/src/lib/security/dosProtection.js.map +1 -0
  369. package/src/lib/security/dosProtectionValidator.d.ts +27 -0
  370. package/src/lib/security/dosProtectionValidator.d.ts.map +1 -0
  371. package/src/lib/security/dosProtectionValidator.js +60 -0
  372. package/src/lib/security/dosProtectionValidator.js.map +1 -0
  373. package/src/lib/security/index.d.ts +12 -0
  374. package/src/lib/security/index.d.ts.map +1 -0
  375. package/src/lib/security/index.js +15 -0
  376. package/src/lib/security/index.js.map +1 -0
  377. package/src/lib/security/rateLimitTypes.d.ts +20 -0
  378. package/src/lib/security/rateLimitTypes.d.ts.map +1 -0
  379. package/src/lib/security/rateLimitTypes.js +15 -0
  380. package/src/lib/security/rateLimitTypes.js.map +1 -0
  381. package/src/lib/security/rateLimiter.d.ts +29 -0
  382. package/src/lib/security/rateLimiter.d.ts.map +1 -0
  383. package/src/lib/security/rateLimiter.js +107 -0
  384. package/src/lib/security/rateLimiter.js.map +1 -0
  385. package/src/lib/security/securityAuditLogger.d.ts +59 -0
  386. package/src/lib/security/securityAuditLogger.d.ts.map +1 -0
  387. package/src/lib/security/securityAuditLogger.js +120 -0
  388. package/src/lib/security/securityAuditLogger.js.map +1 -0
  389. package/src/lib/security/securityEvent.d.ts +45 -0
  390. package/src/lib/security/securityEvent.d.ts.map +1 -0
  391. package/src/lib/security/securityEvent.js +44 -0
  392. package/src/lib/security/securityEvent.js.map +1 -0
  393. package/src/lib/services/blockCapacity.service.d.ts.map +1 -1
  394. package/src/lib/services/blockCapacity.service.js +14 -5
  395. package/src/lib/services/blockCapacity.service.js.map +1 -1
  396. package/src/lib/services/blockFormatService.d.ts +41 -0
  397. package/src/lib/services/blockFormatService.d.ts.map +1 -0
  398. package/src/lib/services/blockFormatService.js +252 -0
  399. package/src/lib/services/blockFormatService.js.map +1 -0
  400. package/src/lib/services/blockService.d.ts +6 -0
  401. package/src/lib/services/blockService.d.ts.map +1 -1
  402. package/src/lib/services/blockService.js +130 -28
  403. package/src/lib/services/blockService.js.map +1 -1
  404. package/src/lib/services/cblService.d.ts +162 -3
  405. package/src/lib/services/cblService.d.ts.map +1 -1
  406. package/src/lib/services/cblService.js +502 -21
  407. package/src/lib/services/cblService.js.map +1 -1
  408. package/src/lib/services/globalServiceProvider.d.ts +4 -0
  409. package/src/lib/services/globalServiceProvider.d.ts.map +1 -0
  410. package/src/lib/services/globalServiceProvider.js +26 -0
  411. package/src/lib/services/globalServiceProvider.js.map +1 -0
  412. package/src/lib/services/index.d.ts +0 -2
  413. package/src/lib/services/index.d.ts.map +1 -1
  414. package/src/lib/services/index.js +0 -2
  415. package/src/lib/services/index.js.map +1 -1
  416. package/src/lib/services/member/memberCblService.d.ts.map +1 -1
  417. package/src/lib/services/member/memberCblService.js +11 -8
  418. package/src/lib/services/member/memberCblService.js.map +1 -1
  419. package/src/lib/services/memberStore.d.ts +8 -0
  420. package/src/lib/services/memberStore.d.ts.map +1 -1
  421. package/src/lib/services/memberStore.js +105 -76
  422. package/src/lib/services/memberStore.js.map +1 -1
  423. package/src/lib/services/sealing.service.d.ts +1 -1
  424. package/src/lib/services/sealing.service.d.ts.map +1 -1
  425. package/src/lib/services/sealing.service.js +4 -13
  426. package/src/lib/services/sealing.service.js.map +1 -1
  427. package/src/lib/services/service.provider.d.ts +2 -0
  428. package/src/lib/services/service.provider.d.ts.map +1 -1
  429. package/src/lib/services/service.provider.js +7 -12
  430. package/src/lib/services/service.provider.js.map +1 -1
  431. package/src/lib/services/serviceLocator.d.ts.map +1 -1
  432. package/src/lib/services/serviceLocator.js +2 -0
  433. package/src/lib/services/serviceLocator.js.map +1 -1
  434. package/src/lib/services/tuple.service.js +4 -4
  435. package/src/lib/services/tuple.service.js.map +1 -1
  436. package/src/lib/sharedTypes.d.ts +1 -22
  437. package/src/lib/sharedTypes.d.ts.map +1 -1
  438. package/src/lib/sharedTypes.js.map +1 -1
  439. package/src/lib/strings/englishUs.d.ts.map +1 -1
  440. package/src/lib/strings/englishUs.js +392 -392
  441. package/src/lib/strings/englishUs.js.map +1 -1
  442. package/src/lib/test/service.initializer.helper.d.ts +2 -1
  443. package/src/lib/test/service.initializer.helper.d.ts.map +1 -1
  444. package/src/lib/test/service.initializer.helper.js +11 -15
  445. package/src/lib/test/service.initializer.helper.js.map +1 -1
  446. package/src/lib/types/schema.d.ts +38 -0
  447. package/src/lib/types/schema.d.ts.map +1 -0
  448. package/src/lib/types/schema.js +7 -0
  449. package/src/lib/types/schema.js.map +1 -0
  450. package/src/lib/utils/constantTime.d.ts +27 -0
  451. package/src/lib/utils/constantTime.d.ts.map +1 -0
  452. package/src/lib/utils/constantTime.js +67 -0
  453. package/src/lib/utils/constantTime.js.map +1 -0
  454. package/src/lib/utils/constantTimeXor.d.ts +76 -0
  455. package/src/lib/utils/constantTimeXor.d.ts.map +1 -0
  456. package/src/lib/utils/constantTimeXor.js +122 -0
  457. package/src/lib/utils/constantTimeXor.js.map +1 -0
  458. package/src/lib/utils/dateUtils.d.ts +67 -0
  459. package/src/lib/utils/dateUtils.d.ts.map +1 -0
  460. package/src/lib/utils/dateUtils.js +136 -0
  461. package/src/lib/utils/dateUtils.js.map +1 -0
  462. package/src/lib/utils/index.d.ts +57 -0
  463. package/src/lib/utils/index.d.ts.map +1 -1
  464. package/src/lib/utils/index.js +69 -0
  465. package/src/lib/utils/index.js.map +1 -1
  466. package/src/lib/utils/typeGuards.d.ts +102 -0
  467. package/src/lib/utils/typeGuards.d.ts.map +1 -0
  468. package/src/lib/utils/typeGuards.js +244 -0
  469. package/src/lib/utils/typeGuards.js.map +1 -0
  470. package/src/lib/cpus/instructions.d.ts +0 -35
  471. package/src/lib/cpus/instructions.d.ts.map +0 -1
  472. package/src/lib/cpus/instructions.js +0 -285
  473. package/src/lib/cpus/instructions.js.map +0 -1
  474. package/src/lib/cpus/mach-o.d.ts +0 -7
  475. package/src/lib/cpus/mach-o.d.ts.map +0 -1
  476. package/src/lib/cpus/mach-o.js +0 -99
  477. package/src/lib/cpus/mach-o.js.map +0 -1
  478. package/src/lib/cpus/x86Cpu.d.ts +0 -21
  479. package/src/lib/cpus/x86Cpu.d.ts.map +0 -1
  480. package/src/lib/cpus/x86Cpu.js +0 -89
  481. package/src/lib/cpus/x86Cpu.js.map +0 -1
  482. package/src/lib/enumerations/stringNames.d.ts.map +0 -1
  483. package/src/lib/enumerations/stringNames.js +0 -436
  484. package/src/lib/enumerations/stringNames.js.map +0 -1
  485. package/src/lib/errors/superCbl.d.ts +0 -24
  486. package/src/lib/errors/superCbl.d.ts.map +0 -1
  487. package/src/lib/errors/superCbl.js +0 -43
  488. package/src/lib/errors/superCbl.js.map +0 -1
  489. package/src/lib/interfaces/storage/superCbl.d.ts +0 -102
  490. package/src/lib/interfaces/storage/superCbl.d.ts.map +0 -1
  491. package/src/lib/interfaces/storage/superCbl.js.map +0 -1
  492. package/src/lib/services/jsonCblCapacity.service.d.ts +0 -80
  493. package/src/lib/services/jsonCblCapacity.service.d.ts.map +0 -1
  494. package/src/lib/services/jsonCblCapacity.service.js +0 -147
  495. package/src/lib/services/jsonCblCapacity.service.js.map +0 -1
  496. package/src/lib/services/superCbl.service.d.ts +0 -68
  497. package/src/lib/services/superCbl.service.d.ts.map +0 -1
  498. package/src/lib/services/superCbl.service.js +0 -213
  499. package/src/lib/services/superCbl.service.js.map +0 -1
@@ -12,13 +12,13 @@ const memberOperationalFactory = () => ({
12
12
  // Use fromJson to create member synchronously
13
13
  const provider = service_provider_1.ServiceProvider.getInstance().idProvider;
14
14
  const storage = {
15
- id: provider.idToString(hydrated.id),
15
+ id: (0, ecies_lib_1.uint8ArrayToHex)(provider.toBytes(hydrated.id)),
16
16
  type: hydrated.type,
17
17
  name: hydrated.name,
18
18
  email: hydrated.email.toString(),
19
19
  publicKey: (0, bufferUtils_1.uint8ArrayToBase64)(hydrated.publicKey),
20
20
  votingPublicKey: hydrated.votingPublicKey && hydrated.votingPublicKey.n.toString(16),
21
- creatorId: provider.idToString(hydrated.creatorId),
21
+ creatorId: (0, ecies_lib_1.uint8ArrayToHex)(provider.toBytes(hydrated.creatorId)),
22
22
  dateCreated: hydrated.dateCreated.toISOString(),
23
23
  dateUpdated: hydrated.dateUpdated.toISOString(),
24
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"memberOperational.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/documents/member/memberOperational.ts"],"names":[],"mappings":";;;AAAA,0DAAgE;AAChE,mDAAuD;AAMvD,sEAAkE;AAElE;;GAEG;AACI,MAAM,wBAAwB,GAAG,GAEwB,EAAE,CAAC,CAAC;IAClE,MAAM,EAAE,CAAC,QAAkC,EAAe,EAAE;QAC1D,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,kCAAe,CAAC,WAAW,EAAO,CAAC,UAAU,CAAC;QAC/D,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE;YAChC,SAAS,EAAE,IAAA,gCAAkB,EAAC,QAAQ,CAAC,SAAS,CAAC;YACjD,eAAe,EACb,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrE,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC;YAClD,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE;YAC/C,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE;SAChD,CAAC;QAEF,MAAM,YAAY,GAAG,kCAAe,CAAC,WAAW,EAAO,CAAC,YAAY,CAAC;QACrE,OAAO,kBAAM,CAAC,QAAQ,CAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,EAAE,CAAC,WAAwB,EAA4B,EAAE;QAC9D,gGAAgG;QAChG,4EAA4E;QAC5E,OAAO;YACL,EAAE,EAAE,WAAW,CAAC,EAAE;YAClB,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,eAAe,EAAE,WAAW,CAAC,eAAgB;YAC7C,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,qCAAqC;YAChE,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,WAAW,EAAE,WAAW,CAAC,WAAW;SACrC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAtCU,QAAA,wBAAwB,4BAsClC;AAEH;;GAEG;AACI,MAAM,4BAA4B,GAAG,GAEmB,EAAE,CAAC,CAAC;IACjE,MAAM,EAAE,CAAC,QAAiC,EAAe,EAAE;QACzD,MAAM,MAAM,GAAG,IAAA,gCAAwB,GAAO,CAAC,MAAM,CACnD,QAAoC,CACrC,CAAC;QAEF,4BAA4B;QAC5B,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,EAAE,CAAC,WAAwB,EAA2B,EAAE;QAC7D,MAAM,IAAI,GAAG,IAAA,gCAAwB,GAAO,CAAC,OAAO,CAClD,WAAW,CACuB,CAAC;QACrC,wEAAwE;QACxE,+DAA+D;QAC/D,OAAO;YACL,GAAG,IAAI;YACP,QAAQ,EAAE,SAAS;SACO,CAAC;IAC/B,CAAC;CACF,CAAC,CAAC;AA3BU,QAAA,4BAA4B,gCA2BtC"}
1
+ {"version":3,"file":"memberOperational.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/documents/member/memberOperational.ts"],"names":[],"mappings":";;;AAAA,0DAIoC;AACpC,mDAAuD;AAMvD,sEAAkE;AAElE;;GAEG;AACI,MAAM,wBAAwB,GAAG,GAEwB,EAAE,CAAC,CAAC;IAClE,MAAM,EAAE,CAAC,QAAkC,EAAe,EAAE;QAC1D,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,kCAAe,CAAC,WAAW,EAAO,CAAC,UAAU,CAAC;QAC/D,MAAM,OAAO,GAAG;YACd,EAAE,EAAE,IAAA,2BAAe,EAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YAClD,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE;YAChC,SAAS,EAAE,IAAA,gCAAkB,EAAC,QAAQ,CAAC,SAAS,CAAC;YACjD,eAAe,EACb,QAAQ,CAAC,eAAe,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrE,SAAS,EAAE,IAAA,2BAAe,EAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAChE,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE;YAC/C,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE;SAChD,CAAC;QAEF,MAAM,YAAY,GAAG,kCAAe,CAAC,WAAW,EAAO,CAAC,YAAY,CAAC;QACrE,OAAO,kBAAM,CAAC,QAAQ,CAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;IACrE,CAAC;IAED,OAAO,EAAE,CAAC,WAAwB,EAA4B,EAAE;QAC9D,gGAAgG;QAChG,4EAA4E;QAC5E,OAAO;YACL,EAAE,EAAE,WAAW,CAAC,EAAE;YAClB,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,eAAe,EAAE,WAAW,CAAC,eAAgB;YAC7C,SAAS,EAAE,WAAW,CAAC,EAAE,EAAE,qCAAqC;YAChE,WAAW,EAAE,WAAW,CAAC,WAAW;YACpC,WAAW,EAAE,WAAW,CAAC,WAAW;SACrC,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAtCU,QAAA,wBAAwB,4BAsClC;AAEH;;GAEG;AACI,MAAM,4BAA4B,GAAG,GAEmB,EAAE,CAAC,CAAC;IACjE,MAAM,EAAE,CAAC,QAAiC,EAAe,EAAE;QACzD,MAAM,MAAM,GAAG,IAAA,gCAAwB,GAAO,CAAC,MAAM,CACnD,QAAoC,CACrC,CAAC;QAEF,4BAA4B;QAC5B,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,EAAE,CAAC,WAAwB,EAA2B,EAAE;QAC7D,MAAM,IAAI,GAAG,IAAA,gCAAwB,GAAO,CAAC,OAAO,CAClD,WAAW,CACuB,CAAC;QACrC,wEAAwE;QACxE,+DAA+D;QAC/D,OAAO;YACL,GAAG,IAAI;YACP,QAAQ,EAAE,SAAS;SACO,CAAC;IAC/B,CAAC;CACF,CAAC,CAAC;AA3BU,QAAA,4BAA4B,gCA2BtC"}
@@ -0,0 +1,138 @@
1
+ import { Member, PlatformID } from '@digitaldefiance/ecies-lib';
2
+ import { BlockSize } from '../../enumerations/blockSize';
3
+ import { IPrivateMemberProfileHydratedData, IPrivateMemberProfileStorageData, IPublicMemberProfileHydratedData, IPublicMemberProfileStorageData } from '../../interfaces/member/profileStorage';
4
+ import { Checksum } from '../../types/checksum';
5
+ /**
6
+ * Document for storing member operational/profile data.
7
+ *
8
+ * This is separate from MemberDocument which handles identity/authentication data.
9
+ * MemberProfileDocument stores:
10
+ * - Network status (status, lastSeen, reputation)
11
+ * - Storage metrics (storageContributed, storageUsed)
12
+ * - Geographic info (region, geographicSpread)
13
+ * - Private settings (trustedPeers, blockedPeers, settings, activityLog)
14
+ *
15
+ * @remarks
16
+ * Uses factory pattern - instantiate via MemberProfileDocument.create()
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * const profileDoc = MemberProfileDocument.create(
21
+ * member,
22
+ * publicProfileData,
23
+ * privateProfileData,
24
+ * { blockSize: BlockSize.Small }
25
+ * );
26
+ * ```
27
+ */
28
+ export declare class MemberProfileDocument<TID extends PlatformID = Uint8Array> {
29
+ private readonly publicDocument;
30
+ private readonly privateDocument;
31
+ private readonly creator;
32
+ private readonly _blockSize;
33
+ private cblService;
34
+ private publicCBLId?;
35
+ private privateCBLId?;
36
+ /**
37
+ * Private constructor - use create() factory method
38
+ * @internal
39
+ */
40
+ constructor(factoryToken: symbol, creator: Member<TID>, publicData: IPublicMemberProfileStorageData, privateData: IPrivateMemberProfileStorageData, publicCBLId?: Checksum, privateCBLId?: Checksum, config?: {
41
+ blockSize?: BlockSize;
42
+ });
43
+ static create<TID extends PlatformID = Uint8Array>(creator: Member<TID>, publicData: IPublicMemberProfileHydratedData<TID>, privateData: IPrivateMemberProfileHydratedData<TID>, config?: {
44
+ blockSize?: BlockSize;
45
+ }): MemberProfileDocument<TID>;
46
+ static create<TID extends PlatformID = Uint8Array>(_id: TID, creator: Member<TID>, publicData: IPublicMemberProfileHydratedData<TID>, privateData: IPrivateMemberProfileHydratedData<TID>, config?: {
47
+ blockSize?: BlockSize;
48
+ }): MemberProfileDocument<TID>;
49
+ /**
50
+ * Get the document ID (member's ID in hex format)
51
+ */
52
+ get id(): string;
53
+ /**
54
+ * Get public profile data (storage format)
55
+ */
56
+ get publicData(): IPublicMemberProfileStorageData;
57
+ /**
58
+ * Get private profile data (storage format)
59
+ */
60
+ get privateData(): IPrivateMemberProfileStorageData;
61
+ /**
62
+ * Get public profile data (hydrated format)
63
+ */
64
+ getPublicHydrated(): IPublicMemberProfileHydratedData<TID>;
65
+ /**
66
+ * Get private profile data (hydrated format)
67
+ */
68
+ getPrivateHydrated(): IPrivateMemberProfileHydratedData<TID>;
69
+ /**
70
+ * Convert public data to JSON
71
+ */
72
+ toPublicJson(): string;
73
+ /**
74
+ * Convert private data to JSON
75
+ */
76
+ toPrivateJson(): string;
77
+ /**
78
+ * Get block size
79
+ */
80
+ get blockSize(): BlockSize;
81
+ /**
82
+ * Get public CBL checksum
83
+ */
84
+ getPublicCBL(): Checksum;
85
+ /**
86
+ * Get private CBL checksum
87
+ */
88
+ getPrivateCBL(): Checksum;
89
+ /** * Get date created (from public storage data)
90
+ */
91
+ get dateCreated(): Date;
92
+ /** * Generate CBLs for both public and private profile data
93
+ */
94
+ generateCBLs(): Promise<void>;
95
+ toPublicCBL(): Promise<Uint8Array>;
96
+ toPrivateCBL(): Promise<Uint8Array>;
97
+ /**
98
+ * Convert public profile data to CBL data
99
+ */
100
+ toPublicCBLData(): Promise<Uint8Array>;
101
+ /**
102
+ * Convert private profile data to CBL data
103
+ */
104
+ toPrivateCBLData(): Promise<Uint8Array>;
105
+ /**
106
+ * Update public profile data
107
+ */
108
+ updatePublicData(updates: Partial<IPublicMemberProfileHydratedData<TID>>): void;
109
+ /**
110
+ * Update private profile data
111
+ */
112
+ updatePrivateData(updates: Partial<IPrivateMemberProfileHydratedData<TID>>): void;
113
+ /**
114
+ * Add an activity log entry
115
+ */
116
+ addActivityLogEntry(action: string, timestamp?: Date, metadata?: Record<string, unknown>): void;
117
+ /**
118
+ * Add a trusted peer
119
+ */
120
+ addTrustedPeer(peerId: TID): void;
121
+ /**
122
+ * Remove a trusted peer
123
+ */
124
+ removeTrustedPeer(peerId: TID): void;
125
+ /**
126
+ * Add a blocked peer
127
+ */
128
+ addBlockedPeer(peerId: TID): void;
129
+ /**
130
+ * Remove a blocked peer
131
+ */
132
+ removeBlockedPeer(peerId: TID): void;
133
+ /**
134
+ * Helper to compare IDs
135
+ */
136
+ private idsEqual;
137
+ }
138
+ //# sourceMappingURL=memberProfileDocument.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memberProfileDocument.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/documents/member/memberProfileDocument.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,326 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MemberProfileDocument = void 0;
4
+ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
5
+ const blockSize_1 = require("../../enumerations/blockSize");
6
+ const memberErrorType_1 = require("../../enumerations/memberErrorType");
7
+ const factoryPatternViolationError_1 = require("../../errors/factoryPatternViolationError");
8
+ const memberError_1 = require("../../errors/memberError");
9
+ const blockStoreFactory_1 = require("../../factories/blockStoreFactory");
10
+ const memberCblService_1 = require("../../services/member/memberCblService");
11
+ const service_provider_1 = require("../../services/service.provider");
12
+ const base_1 = require("../base");
13
+ const memberProfileHydration_1 = require("./memberProfileHydration");
14
+ /**
15
+ * Private symbol used to verify factory method usage.
16
+ * @internal
17
+ */
18
+ const FACTORY_TOKEN = Symbol('MemberProfileDocument.factory-token');
19
+ /**
20
+ * Document for storing member operational/profile data.
21
+ *
22
+ * This is separate from MemberDocument which handles identity/authentication data.
23
+ * MemberProfileDocument stores:
24
+ * - Network status (status, lastSeen, reputation)
25
+ * - Storage metrics (storageContributed, storageUsed)
26
+ * - Geographic info (region, geographicSpread)
27
+ * - Private settings (trustedPeers, blockedPeers, settings, activityLog)
28
+ *
29
+ * @remarks
30
+ * Uses factory pattern - instantiate via MemberProfileDocument.create()
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * const profileDoc = MemberProfileDocument.create(
35
+ * member,
36
+ * publicProfileData,
37
+ * privateProfileData,
38
+ * { blockSize: BlockSize.Small }
39
+ * );
40
+ * ```
41
+ */
42
+ class MemberProfileDocument {
43
+ /**
44
+ * Private constructor - use create() factory method
45
+ * @internal
46
+ */
47
+ constructor(factoryToken, creator, publicData, privateData, publicCBLId, privateCBLId, config) {
48
+ if (factoryToken !== FACTORY_TOKEN) {
49
+ throw new factoryPatternViolationError_1.FactoryPatternViolationError('MemberProfileDocument', {
50
+ hint: 'Use MemberProfileDocument.create() instead of new MemberProfileDocument()',
51
+ });
52
+ }
53
+ this.creator = creator;
54
+ this.publicDocument = new base_1.Document(publicData);
55
+ this.privateDocument = new base_1.Document(privateData);
56
+ this.publicCBLId = publicCBLId;
57
+ this.privateCBLId = privateCBLId;
58
+ this._blockSize = config?.blockSize ?? blockSize_1.BlockSize.Small;
59
+ const blockStore = blockStoreFactory_1.BlockStoreFactory.createMemoryStore({
60
+ blockSize: this._blockSize,
61
+ });
62
+ this.cblService = new memberCblService_1.MemberCblService(blockStore);
63
+ }
64
+ static create(arg1, arg2, arg3, arg4, arg5) {
65
+ let creator;
66
+ let publicData;
67
+ let privateData;
68
+ let config;
69
+ if (arg2 instanceof ecies_lib_1.Member) {
70
+ creator = arg2;
71
+ publicData = arg3;
72
+ privateData = arg4;
73
+ config = arg5;
74
+ }
75
+ else if (arg1 instanceof ecies_lib_1.Member) {
76
+ creator = arg1;
77
+ publicData = arg2;
78
+ privateData = arg3;
79
+ config = arg4;
80
+ }
81
+ else {
82
+ throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.InvalidMemberData);
83
+ }
84
+ if (!creator?.id) {
85
+ throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.InvalidMemberData);
86
+ }
87
+ const publicSchema = (0, memberProfileHydration_1.publicMemberProfileHydrationSchema)();
88
+ const privateSchema = (0, memberProfileHydration_1.privateMemberProfileHydrationSchema)();
89
+ const publicStorageData = publicSchema.dehydrate(publicData);
90
+ const privateStorageData = privateSchema.dehydrate(privateData);
91
+ return new MemberProfileDocument(FACTORY_TOKEN, creator, publicStorageData, privateStorageData, undefined, undefined, config);
92
+ }
93
+ /**
94
+ * Get the document ID (member's ID in hex format)
95
+ */
96
+ get id() {
97
+ return (0, ecies_lib_1.uint8ArrayToHex)(this.creator.idBytes);
98
+ }
99
+ /**
100
+ * Get public profile data (storage format)
101
+ */
102
+ get publicData() {
103
+ return this.publicDocument.getData();
104
+ }
105
+ /**
106
+ * Get private profile data (storage format)
107
+ */
108
+ get privateData() {
109
+ return this.privateDocument.getData();
110
+ }
111
+ /**
112
+ * Get public profile data (hydrated format)
113
+ */
114
+ getPublicHydrated() {
115
+ const schema = (0, memberProfileHydration_1.publicMemberProfileHydrationSchema)();
116
+ return schema.hydrate(this.publicData);
117
+ }
118
+ /**
119
+ * Get private profile data (hydrated format)
120
+ */
121
+ getPrivateHydrated() {
122
+ const schema = (0, memberProfileHydration_1.privateMemberProfileHydrationSchema)();
123
+ return schema.hydrate(this.privateData);
124
+ }
125
+ /**
126
+ * Convert public data to JSON
127
+ */
128
+ toPublicJson() {
129
+ return this.publicDocument.toJson();
130
+ }
131
+ /**
132
+ * Convert private data to JSON
133
+ */
134
+ toPrivateJson() {
135
+ return this.privateDocument.toJson();
136
+ }
137
+ /**
138
+ * Get block size
139
+ */
140
+ get blockSize() {
141
+ return this._blockSize;
142
+ }
143
+ /**
144
+ * Get public CBL checksum
145
+ */
146
+ getPublicCBL() {
147
+ if (!this.publicCBLId) {
148
+ throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.FailedToCreateMemberBlocks);
149
+ }
150
+ return this.publicCBLId;
151
+ }
152
+ /**
153
+ * Get private CBL checksum
154
+ */
155
+ getPrivateCBL() {
156
+ if (!this.privateCBLId) {
157
+ throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.FailedToCreateMemberBlocks);
158
+ }
159
+ return this.privateCBLId;
160
+ }
161
+ /** * Get date created (from public storage data)
162
+ */
163
+ get dateCreated() {
164
+ return new Date(this.publicData.dateCreated);
165
+ }
166
+ /** * Generate CBLs for both public and private profile data
167
+ */
168
+ async generateCBLs() {
169
+ const _publicCBLData = await this.toPublicCBLData();
170
+ const _privateCBLData = await this.toPrivateCBLData();
171
+ // The checksums are set inside toPublicCBLData/toPrivateCBLData
172
+ if (!this.publicCBLId || !this.privateCBLId) {
173
+ throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.FailedToCreateMemberBlocks);
174
+ }
175
+ }
176
+ async toPublicCBL() {
177
+ if (!this.publicCBLId) {
178
+ throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.FailedToCreateMemberBlocks);
179
+ }
180
+ return new TextEncoder().encode(this.toPublicJson());
181
+ }
182
+ async toPrivateCBL() {
183
+ if (!this.privateCBLId) {
184
+ throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.FailedToCreateMemberBlocks);
185
+ }
186
+ return new TextEncoder().encode(this.toPrivateJson());
187
+ }
188
+ /**
189
+ * Convert public profile data to CBL data
190
+ */
191
+ async toPublicCBLData() {
192
+ try {
193
+ const json = this.toPublicJson();
194
+ const data = new TextEncoder().encode(json);
195
+ // Create a CBL block for this data
196
+ const block = await this.cblService.createMemberCbl(this.creator, this.creator);
197
+ this.publicCBLId = block.idChecksum;
198
+ return data;
199
+ }
200
+ catch (error) {
201
+ if (error instanceof memberError_1.MemberError) {
202
+ throw error;
203
+ }
204
+ throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.FailedToCreateMemberBlocks);
205
+ }
206
+ }
207
+ /**
208
+ * Convert private profile data to CBL data
209
+ */
210
+ async toPrivateCBLData() {
211
+ try {
212
+ const json = this.toPrivateJson();
213
+ const data = new TextEncoder().encode(json);
214
+ // Create a CBL block for this data
215
+ const block = await this.cblService.createMemberCbl(this.creator, this.creator);
216
+ this.privateCBLId = block.idChecksum;
217
+ return data;
218
+ }
219
+ catch (error) {
220
+ if (error instanceof memberError_1.MemberError) {
221
+ throw error;
222
+ }
223
+ throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.FailedToCreateMemberBlocks);
224
+ }
225
+ }
226
+ /**
227
+ * Update public profile data
228
+ */
229
+ updatePublicData(updates) {
230
+ const schema = (0, memberProfileHydration_1.publicMemberProfileHydrationSchema)();
231
+ const current = this.getPublicHydrated();
232
+ const updated = { ...current, ...updates };
233
+ const storageData = schema.dehydrate(updated);
234
+ // Update the document
235
+ this.publicDocument.setData(storageData);
236
+ // Invalidate cached CBL
237
+ this.publicCBLId = undefined;
238
+ }
239
+ /**
240
+ * Update private profile data
241
+ */
242
+ updatePrivateData(updates) {
243
+ const schema = (0, memberProfileHydration_1.privateMemberProfileHydrationSchema)();
244
+ const current = this.getPrivateHydrated();
245
+ const updated = { ...current, ...updates };
246
+ const storageData = schema.dehydrate(updated);
247
+ // Update the document
248
+ this.privateDocument.setData(storageData);
249
+ // Invalidate cached CBL
250
+ this.privateCBLId = undefined;
251
+ }
252
+ /**
253
+ * Add an activity log entry
254
+ */
255
+ addActivityLogEntry(action, timestamp, metadata) {
256
+ const current = this.getPrivateHydrated();
257
+ const entryTimestamp = timestamp ?? new Date();
258
+ const entryMetadata = metadata ?? {};
259
+ const newEntry = {
260
+ timestamp: entryTimestamp,
261
+ action,
262
+ details: { ...entryMetadata },
263
+ metadata: { ...entryMetadata },
264
+ };
265
+ this.updatePrivateData({
266
+ activityLog: [...current.activityLog, newEntry],
267
+ });
268
+ }
269
+ /**
270
+ * Add a trusted peer
271
+ */
272
+ addTrustedPeer(peerId) {
273
+ const current = this.getPrivateHydrated();
274
+ if (!current.trustedPeers.some((id) => this.idsEqual(id, peerId))) {
275
+ this.updatePrivateData({
276
+ trustedPeers: [...current.trustedPeers, peerId],
277
+ });
278
+ }
279
+ }
280
+ /**
281
+ * Remove a trusted peer
282
+ */
283
+ removeTrustedPeer(peerId) {
284
+ const current = this.getPrivateHydrated();
285
+ this.updatePrivateData({
286
+ trustedPeers: current.trustedPeers.filter((id) => !this.idsEqual(id, peerId)),
287
+ });
288
+ }
289
+ /**
290
+ * Add a blocked peer
291
+ */
292
+ addBlockedPeer(peerId) {
293
+ const current = this.getPrivateHydrated();
294
+ if (!current.blockedPeers.some((id) => this.idsEqual(id, peerId))) {
295
+ this.updatePrivateData({
296
+ blockedPeers: [...current.blockedPeers, peerId],
297
+ });
298
+ }
299
+ }
300
+ /**
301
+ * Remove a blocked peer
302
+ */
303
+ removeBlockedPeer(peerId) {
304
+ const current = this.getPrivateHydrated();
305
+ this.updatePrivateData({
306
+ blockedPeers: current.blockedPeers.filter((id) => !this.idsEqual(id, peerId)),
307
+ });
308
+ }
309
+ /**
310
+ * Helper to compare IDs
311
+ */
312
+ idsEqual(a, b) {
313
+ const provider = service_provider_1.ServiceProvider.getInstance().idProvider;
314
+ const aBytes = a instanceof Uint8Array ? a : provider.toBytes(a);
315
+ const bBytes = b instanceof Uint8Array ? b : provider.toBytes(b);
316
+ if (aBytes.length !== bBytes.length)
317
+ return false;
318
+ for (let i = 0; i < aBytes.length; i++) {
319
+ if (aBytes[i] !== bBytes[i])
320
+ return false;
321
+ }
322
+ return true;
323
+ }
324
+ }
325
+ exports.MemberProfileDocument = MemberProfileDocument;
326
+ //# sourceMappingURL=memberProfileDocument.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memberProfileDocument.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/documents/member/memberProfileDocument.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { PlatformID } from '@digitaldefiance/ecies-lib';
2
+ import { IHydrationSchema } from '../../interfaces/document/base';
3
+ import { IPrivateMemberProfileHydratedData, IPrivateMemberProfileStorageData, IPublicMemberProfileHydratedData, IPublicMemberProfileStorageData } from '../../interfaces/member/profileStorage';
4
+ /**
5
+ * Hydration schema for converting between storage and hydrated public member profile formats
6
+ */
7
+ export declare const publicMemberProfileHydrationSchema: <TID extends PlatformID = Uint8Array>() => IHydrationSchema<IPublicMemberProfileStorageData, IPublicMemberProfileHydratedData<TID>>;
8
+ /**
9
+ * Hydration schema for converting between storage and hydrated private member profile formats
10
+ */
11
+ export declare const privateMemberProfileHydrationSchema: <TID extends PlatformID = Uint8Array>() => IHydrationSchema<IPrivateMemberProfileStorageData, IPrivateMemberProfileHydratedData<TID>>;
12
+ //# sourceMappingURL=memberProfileHydration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memberProfileHydration.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/documents/member/memberProfileHydration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EACL,iCAAiC,EACjC,gCAAgC,EAChC,gCAAgC,EAChC,+BAA+B,EAChC,MAAM,wCAAwC,CAAC;AAGhD;;GAEG;AACH,eAAO,MAAM,kCAAkC,GAC7C,GAAG,SAAS,UAAU,GAAG,UAAU,OAChC,gBAAgB,CACnB,+BAA+B,EAC/B,gCAAgC,CAAC,GAAG,CAAC,CAiDrC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mCAAmC,GAC9C,GAAG,SAAS,UAAU,GAAG,UAAU,OAChC,gBAAgB,CACnB,gCAAgC,EAChC,iCAAiC,CAAC,GAAG,CAAC,CA2GtC,CAAC"}
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.privateMemberProfileHydrationSchema = exports.publicMemberProfileHydrationSchema = void 0;
4
+ const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
5
+ const service_provider_1 = require("../../services/service.provider");
6
+ /**
7
+ * Hydration schema for converting between storage and hydrated public member profile formats
8
+ */
9
+ const publicMemberProfileHydrationSchema = () => ({
10
+ hydrate: (storage) => {
11
+ const provider = service_provider_1.ServiceProvider.getInstance().idProvider;
12
+ const idBytes = typeof storage.id === 'string' ? (0, ecies_lib_1.hexToUint8Array)(storage.id) : storage.id;
13
+ const id = provider.fromBytes(idBytes);
14
+ return {
15
+ id,
16
+ status: storage.status,
17
+ lastActive: new Date(storage.lastActive),
18
+ reputation: storage.reputation,
19
+ storageQuota: BigInt(storage.storageQuota),
20
+ storageUsed: BigInt(storage.storageUsed),
21
+ dateCreated: new Date(storage.dateCreated),
22
+ dateUpdated: new Date(storage.dateUpdated),
23
+ };
24
+ },
25
+ dehydrate: (hydrated) => {
26
+ const provider = service_provider_1.ServiceProvider.getInstance().idProvider;
27
+ // Handle ID conversion
28
+ const idBytes = (() => {
29
+ if (typeof hydrated.id === 'string') {
30
+ return (0, ecies_lib_1.hexToUint8Array)(hydrated.id);
31
+ }
32
+ if (hydrated.id instanceof Uint8Array) {
33
+ return hydrated.id;
34
+ }
35
+ return provider.toBytes(hydrated.id);
36
+ })();
37
+ return {
38
+ id: idBytes,
39
+ status: hydrated.status,
40
+ lastActive: hydrated.lastActive.toISOString(),
41
+ reputation: hydrated.reputation,
42
+ storageQuota: hydrated.storageQuota.toString(),
43
+ storageUsed: hydrated.storageUsed.toString(),
44
+ dateCreated: hydrated.dateCreated.toISOString(),
45
+ dateUpdated: hydrated.dateUpdated.toISOString(),
46
+ };
47
+ },
48
+ });
49
+ exports.publicMemberProfileHydrationSchema = publicMemberProfileHydrationSchema;
50
+ /**
51
+ * Hydration schema for converting between storage and hydrated private member profile formats
52
+ */
53
+ const privateMemberProfileHydrationSchema = () => ({
54
+ hydrate: (storage) => {
55
+ const provider = service_provider_1.ServiceProvider.getInstance().idProvider;
56
+ const idBytes = typeof storage.id === 'string' ? (0, ecies_lib_1.hexToUint8Array)(storage.id) : storage.id;
57
+ const id = provider.fromBytes(idBytes);
58
+ return {
59
+ id,
60
+ trustedPeers: storage.trustedPeers.map((hex) => {
61
+ const bytes = typeof hex === 'string' ? (0, ecies_lib_1.hexToUint8Array)(hex) : hex;
62
+ return provider.fromBytes(bytes);
63
+ }),
64
+ blockedPeers: storage.blockedPeers.map((hex) => {
65
+ const bytes = typeof hex === 'string' ? (0, ecies_lib_1.hexToUint8Array)(hex) : hex;
66
+ return provider.fromBytes(bytes);
67
+ }),
68
+ settings: (() => {
69
+ const { autoReplication, minRedundancy, preferredRegions, ...rest } = storage.settings ?? {};
70
+ return {
71
+ autoReplication,
72
+ minRedundancy,
73
+ preferredRegions: preferredRegions
74
+ ? [...preferredRegions]
75
+ : undefined,
76
+ ...rest,
77
+ };
78
+ })(),
79
+ activityLog: storage.activityLog.map((entry) => ({
80
+ timestamp: new Date(entry.timestamp),
81
+ action: entry.action,
82
+ details: entry.details ? { ...entry.details } : {},
83
+ metadata: entry.metadata ? { ...entry.metadata } : undefined,
84
+ })),
85
+ dateCreated: new Date(storage.dateCreated),
86
+ dateUpdated: new Date(storage.dateUpdated),
87
+ };
88
+ },
89
+ dehydrate: (hydrated) => {
90
+ const provider = service_provider_1.ServiceProvider.getInstance().idProvider;
91
+ // Handle ID conversion
92
+ const idBytes = (() => {
93
+ if (typeof hydrated.id === 'string') {
94
+ return (0, ecies_lib_1.hexToUint8Array)(hydrated.id);
95
+ }
96
+ if (hydrated.id instanceof Uint8Array) {
97
+ return hydrated.id;
98
+ }
99
+ return provider.toBytes(hydrated.id);
100
+ })();
101
+ // Convert peer IDs to hex strings
102
+ const trustedPeersBytes = hydrated.trustedPeers.map((peerId) => {
103
+ if (typeof peerId === 'string') {
104
+ return (0, ecies_lib_1.hexToUint8Array)(peerId);
105
+ }
106
+ if (peerId instanceof Uint8Array) {
107
+ return peerId;
108
+ }
109
+ return provider.toBytes(peerId);
110
+ });
111
+ const blockedPeersBytes = hydrated.blockedPeers.map((peerId) => {
112
+ if (typeof peerId === 'string') {
113
+ return (0, ecies_lib_1.hexToUint8Array)(peerId);
114
+ }
115
+ if (peerId instanceof Uint8Array) {
116
+ return peerId;
117
+ }
118
+ return provider.toBytes(peerId);
119
+ });
120
+ const { autoReplication, minRedundancy, preferredRegions, ...extraSettings } = hydrated.settings ?? {};
121
+ return {
122
+ id: idBytes,
123
+ trustedPeers: trustedPeersBytes,
124
+ blockedPeers: blockedPeersBytes,
125
+ settings: {
126
+ autoReplication,
127
+ minRedundancy,
128
+ preferredRegions: preferredRegions ? [...preferredRegions] : undefined,
129
+ ...extraSettings,
130
+ },
131
+ activityLog: hydrated.activityLog.map((entry) => ({
132
+ timestamp: entry.timestamp.toISOString(),
133
+ action: entry.action,
134
+ details: entry.details ? { ...entry.details } : {},
135
+ metadata: entry.metadata ? { ...entry.metadata } : undefined,
136
+ })),
137
+ dateCreated: hydrated.dateCreated.toISOString(),
138
+ dateUpdated: hydrated.dateUpdated.toISOString(),
139
+ };
140
+ },
141
+ });
142
+ exports.privateMemberProfileHydrationSchema = privateMemberProfileHydrationSchema;
143
+ //# sourceMappingURL=memberProfileHydration.js.map