@brightchain/brightchain-lib 0.1.4 → 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 +11 -5
  619. package/src/lib/services/sealing.service.d.ts.map +1 -1
  620. package/src/lib/services/sealing.service.js +51 -5
  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
@@ -0,0 +1,319 @@
1
+ /**
2
+ * @fileoverview Availability Service Interface
3
+ *
4
+ * Defines the main service interface for coordinating block availability tracking,
5
+ * discovery, partition handling, and event emission. This service integrates
6
+ * BlockRegistry, DiscoveryProtocol, GossipService, ReconciliationService, and
7
+ * HeartbeatMonitor to provide a unified availability management layer.
8
+ *
9
+ * @see Requirements 1.7, 7.2, 7.3, 7.4, 7.5, 7.7, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 14.1, 14.2, 14.3, 14.4, 14.5, 14.6
10
+ */
11
+ import { AvailabilityState } from '../../enumerations/availabilityState';
12
+ import { ILocationRecord } from './locationRecord';
13
+ import { ReconciliationResult } from './reconciliationService';
14
+ /**
15
+ * Statistics about block availability across the system.
16
+ *
17
+ * @see Requirements 11.4, 15.1
18
+ */
19
+ export interface AvailabilityStatistics {
20
+ /**
21
+ * Number of blocks stored locally as authoritative copies
22
+ */
23
+ localCount: number;
24
+ /**
25
+ * Number of blocks known to exist only on remote nodes
26
+ */
27
+ remoteCount: number;
28
+ /**
29
+ * Number of blocks cached locally with remote authoritative copies
30
+ */
31
+ cachedCount: number;
32
+ /**
33
+ * Number of blocks whose source nodes are unreachable
34
+ */
35
+ orphanedCount: number;
36
+ /**
37
+ * Number of blocks with unknown location
38
+ */
39
+ unknownCount: number;
40
+ /**
41
+ * Total number of known location records across all blocks
42
+ */
43
+ totalKnownLocations: number;
44
+ /**
45
+ * Average number of locations per block
46
+ */
47
+ averageLocationsPerBlock: number;
48
+ }
49
+ /**
50
+ * Event types emitted by the availability service.
51
+ *
52
+ * @see Requirements 14.1, 14.2, 14.3, 14.4, 14.5
53
+ */
54
+ export type AvailabilityEvent = {
55
+ type: 'state_changed';
56
+ blockId: string;
57
+ oldState: AvailabilityState;
58
+ newState: AvailabilityState;
59
+ timestamp: Date;
60
+ } | {
61
+ type: 'location_added';
62
+ blockId: string;
63
+ location: ILocationRecord;
64
+ timestamp: Date;
65
+ } | {
66
+ type: 'location_removed';
67
+ blockId: string;
68
+ nodeId: string;
69
+ timestamp: Date;
70
+ } | {
71
+ type: 'partition_entered';
72
+ timestamp: Date;
73
+ disconnectedPeers: string[];
74
+ } | {
75
+ type: 'partition_exited';
76
+ timestamp: Date;
77
+ reconnectedPeers: string[];
78
+ } | {
79
+ type: 'reconciliation_started';
80
+ timestamp: Date;
81
+ peerIds: string[];
82
+ } | {
83
+ type: 'reconciliation_completed';
84
+ timestamp: Date;
85
+ result: ReconciliationResult;
86
+ };
87
+ /**
88
+ * Handler function type for availability events.
89
+ */
90
+ export type AvailabilityEventHandler = (event: AvailabilityEvent) => void;
91
+ /**
92
+ * Filter options for event subscriptions.
93
+ *
94
+ * @see Requirements 14.6
95
+ */
96
+ export interface EventFilter {
97
+ /**
98
+ * Event types to receive. If empty or undefined, receives all types.
99
+ */
100
+ eventTypes?: AvailabilityEvent['type'][];
101
+ /**
102
+ * Block ID patterns to match. Supports glob patterns.
103
+ * If empty or undefined, receives events for all blocks.
104
+ */
105
+ blockIdPatterns?: string[];
106
+ }
107
+ /**
108
+ * Result of a location query with staleness indication.
109
+ *
110
+ * @see Requirements 11.5, 11.6
111
+ */
112
+ export interface LocationQueryResult {
113
+ /**
114
+ * The block ID queried
115
+ */
116
+ blockId: string;
117
+ /**
118
+ * Current availability state
119
+ */
120
+ state: AvailabilityState;
121
+ /**
122
+ * Known locations for the block
123
+ */
124
+ locations: ILocationRecord[];
125
+ /**
126
+ * Whether the location information is considered stale
127
+ *
128
+ * @see Requirements 11.6
129
+ */
130
+ isStale: boolean;
131
+ /**
132
+ * When the location information was last updated
133
+ */
134
+ lastUpdated: Date;
135
+ }
136
+ /**
137
+ * Configuration for the availability service.
138
+ */
139
+ export interface AvailabilityServiceConfig {
140
+ /**
141
+ * The local node's unique identifier
142
+ */
143
+ localNodeId: string;
144
+ /**
145
+ * Threshold in milliseconds after which location data is considered stale
146
+ *
147
+ * @see Requirements 11.6
148
+ */
149
+ stalenessThresholdMs: number;
150
+ /**
151
+ * Timeout for availability queries in milliseconds
152
+ *
153
+ * @see Requirements 11.5
154
+ */
155
+ queryTimeoutMs: number;
156
+ }
157
+ /**
158
+ * Default availability service configuration values.
159
+ */
160
+ export declare const DEFAULT_AVAILABILITY_SERVICE_CONFIG: AvailabilityServiceConfig;
161
+ /**
162
+ * Availability Service Interface
163
+ *
164
+ * Main service for coordinating block availability tracking across the distributed
165
+ * storage system. Integrates with BlockRegistry, DiscoveryProtocol, GossipService,
166
+ * ReconciliationService, and HeartbeatMonitor to provide:
167
+ *
168
+ * - State queries and updates for block availability
169
+ * - Partition mode handling when network connectivity is lost
170
+ * - Event emission for availability changes
171
+ * - Statistics about block distribution
172
+ *
173
+ * @see Requirements 1.7, 7.2, 7.3, 7.4, 7.5, 7.7, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 14.1, 14.2, 14.3, 14.4, 14.5, 14.6
174
+ */
175
+ export interface IAvailabilityService {
176
+ /**
177
+ * Get the availability state for a block.
178
+ *
179
+ * @param blockId - The block ID to query
180
+ * @returns Promise resolving to the block's availability state
181
+ * @see Requirements 1.7, 11.1
182
+ */
183
+ getAvailabilityState(blockId: string): Promise<AvailabilityState>;
184
+ /**
185
+ * Get all known locations for a block.
186
+ *
187
+ * @param blockId - The block ID to query
188
+ * @returns Promise resolving to array of location records
189
+ * @see Requirements 11.2
190
+ */
191
+ getBlockLocations(blockId: string): Promise<ILocationRecord[]>;
192
+ /**
193
+ * Get detailed location query result with staleness indication.
194
+ *
195
+ * @param blockId - The block ID to query
196
+ * @returns Promise resolving to location query result
197
+ * @see Requirements 11.5, 11.6
198
+ */
199
+ queryBlockLocation(blockId: string): Promise<LocationQueryResult>;
200
+ /**
201
+ * List all blocks in a specific availability state.
202
+ *
203
+ * @param state - The availability state to filter by
204
+ * @returns Promise resolving to array of block IDs
205
+ * @see Requirements 11.3
206
+ */
207
+ listBlocksByState(state: AvailabilityState): Promise<string[]>;
208
+ /**
209
+ * Get statistics about block availability distribution.
210
+ *
211
+ * @returns Promise resolving to availability statistics
212
+ * @see Requirements 11.4
213
+ */
214
+ getStatistics(): Promise<AvailabilityStatistics>;
215
+ /**
216
+ * Update or add a location record for a block.
217
+ * Emits a location_added event if this is a new location.
218
+ *
219
+ * @param blockId - The block ID to update
220
+ * @param location - The location record to add or update
221
+ * @returns Promise that resolves when the update is complete
222
+ * @see Requirements 2.4, 14.2
223
+ */
224
+ updateLocation(blockId: string, location: ILocationRecord): Promise<void>;
225
+ /**
226
+ * Remove a location record for a block.
227
+ * Emits a location_removed event.
228
+ *
229
+ * @param blockId - The block ID to update
230
+ * @param nodeId - The node ID to remove from locations
231
+ * @returns Promise that resolves when the removal is complete
232
+ * @see Requirements 2.5, 14.3
233
+ */
234
+ removeLocation(blockId: string, nodeId: string): Promise<void>;
235
+ /**
236
+ * Set the availability state for a block.
237
+ * Emits a state_changed event if the state changes.
238
+ *
239
+ * @param blockId - The block ID to update
240
+ * @param state - The new availability state
241
+ * @returns Promise that resolves when the update is complete
242
+ * @see Requirements 14.1
243
+ */
244
+ setAvailabilityState(blockId: string, state: AvailabilityState): Promise<void>;
245
+ /**
246
+ * Check if the service is currently in partition mode.
247
+ * Partition mode is entered when all peers become unreachable.
248
+ *
249
+ * @returns True if in partition mode
250
+ * @see Requirements 7.2
251
+ */
252
+ isInPartitionMode(): boolean;
253
+ /**
254
+ * Enter partition mode.
255
+ * Called when all peers become unreachable.
256
+ * Marks all Remote blocks as Orphaned and emits partition_entered event.
257
+ *
258
+ * @see Requirements 7.2, 7.3, 7.7, 14.4
259
+ */
260
+ enterPartitionMode(): void;
261
+ /**
262
+ * Exit partition mode and initiate reconciliation.
263
+ * Called when at least one peer becomes reachable.
264
+ * Emits partition_exited event and starts reconciliation.
265
+ *
266
+ * @returns Promise resolving to reconciliation result
267
+ * @see Requirements 7.5, 9.1, 14.4, 14.5
268
+ */
269
+ exitPartitionMode(): Promise<ReconciliationResult>;
270
+ /**
271
+ * Get the list of peers that were disconnected when entering partition mode.
272
+ *
273
+ * @returns Array of disconnected peer IDs, or empty if not in partition mode
274
+ */
275
+ getDisconnectedPeers(): string[];
276
+ /**
277
+ * Subscribe to availability events.
278
+ *
279
+ * @param handler - Function to call when events occur
280
+ * @param filter - Optional filter to receive only specific events
281
+ * @see Requirements 14.1, 14.2, 14.3, 14.4, 14.5, 14.6
282
+ */
283
+ onEvent(handler: AvailabilityEventHandler, filter?: EventFilter): void;
284
+ /**
285
+ * Remove an event handler.
286
+ *
287
+ * @param handler - The handler to remove
288
+ */
289
+ offEvent(handler: AvailabilityEventHandler): void;
290
+ /**
291
+ * Start the availability service.
292
+ * Initializes all integrated services and begins monitoring.
293
+ */
294
+ start(): Promise<void>;
295
+ /**
296
+ * Stop the availability service.
297
+ * Stops all integrated services and cleans up resources.
298
+ */
299
+ stop(): Promise<void>;
300
+ /**
301
+ * Check if the service is running.
302
+ *
303
+ * @returns True if the service is active
304
+ */
305
+ isRunning(): boolean;
306
+ /**
307
+ * Get the current configuration.
308
+ *
309
+ * @returns The availability service configuration
310
+ */
311
+ getConfig(): AvailabilityServiceConfig;
312
+ /**
313
+ * Get the local node ID.
314
+ *
315
+ * @returns The local node's unique identifier
316
+ */
317
+ getLocalNodeId(): string;
318
+ }
319
+ //# sourceMappingURL=availabilityService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"availabilityService.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/availabilityService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Availability Service Interface
4
+ *
5
+ * Defines the main service interface for coordinating block availability tracking,
6
+ * discovery, partition handling, and event emission. This service integrates
7
+ * BlockRegistry, DiscoveryProtocol, GossipService, ReconciliationService, and
8
+ * HeartbeatMonitor to provide a unified availability management layer.
9
+ *
10
+ * @see Requirements 1.7, 7.2, 7.3, 7.4, 7.5, 7.7, 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 14.1, 14.2, 14.3, 14.4, 14.5, 14.6
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.DEFAULT_AVAILABILITY_SERVICE_CONFIG = void 0;
14
+ /**
15
+ * Default availability service configuration values.
16
+ */
17
+ exports.DEFAULT_AVAILABILITY_SERVICE_CONFIG = {
18
+ localNodeId: '',
19
+ stalenessThresholdMs: 300000, // 5 minutes
20
+ queryTimeoutMs: 10000, // 10 seconds
21
+ };
22
+ //# sourceMappingURL=availabilityService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"availabilityService.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/availabilityService.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AA+KH;;GAEG;AACU,QAAA,mCAAmC,GAA8B;IAC5E,WAAW,EAAE,EAAE;IACf,oBAAoB,EAAE,MAAM,EAAE,YAAY;IAC1C,cAAc,EAAE,KAAK,EAAE,aAAa;CACrC,CAAC"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * @fileoverview Block Registry Interface
3
+ *
4
+ * Defines the interface for maintaining a fast local index of blocks,
5
+ * supporting O(1) lookups, Bloom filter export, and manifest generation.
6
+ *
7
+ * @see Requirements 3.1, 3.6, 3.7
8
+ */
9
+ /**
10
+ * Bloom filter for efficient block existence queries.
11
+ * A space-efficient probabilistic data structure used to test
12
+ * whether a block might exist on a node.
13
+ *
14
+ * @see Requirements 4.1, 4.6
15
+ */
16
+ export interface BloomFilter {
17
+ /**
18
+ * Serialized filter data as a base64 string
19
+ */
20
+ data: string;
21
+ /**
22
+ * Number of hash functions used
23
+ */
24
+ hashCount: number;
25
+ /**
26
+ * Size of the filter in bits
27
+ */
28
+ bitCount: number;
29
+ /**
30
+ * Number of items in the filter
31
+ */
32
+ itemCount: number;
33
+ /**
34
+ * Check if an item might exist in the filter.
35
+ * Returns true if the item might exist (possible false positive),
36
+ * returns false if the item definitely does not exist (no false negatives).
37
+ *
38
+ * @param blockId - The block ID to check
39
+ * @returns true if the block might exist, false if it definitely does not
40
+ */
41
+ mightContain(blockId: string): boolean;
42
+ }
43
+ /**
44
+ * Complete block manifest for synchronization.
45
+ * Contains a full list of block IDs stored on a node.
46
+ *
47
+ * @see Requirements 3.7
48
+ */
49
+ export interface BlockManifest {
50
+ /**
51
+ * Unique identifier of the node that generated this manifest
52
+ */
53
+ nodeId: string;
54
+ /**
55
+ * Array of all block IDs stored on the node
56
+ */
57
+ blockIds: string[];
58
+ /**
59
+ * Timestamp when the manifest was generated
60
+ */
61
+ generatedAt: Date;
62
+ /**
63
+ * Checksum of the manifest for integrity verification.
64
+ * Changes if and only if the block set changes.
65
+ */
66
+ checksum: string;
67
+ }
68
+ /**
69
+ * Block Registry Interface
70
+ *
71
+ * Maintains a fast local index of blocks stored on the node.
72
+ * Provides O(1) lookups, Bloom filter export for efficient network queries,
73
+ * and manifest export for full synchronization.
74
+ *
75
+ * @see Requirements 3.1, 3.6, 3.7
76
+ */
77
+ export interface IBlockRegistry {
78
+ /**
79
+ * Check if a block exists locally (O(1) lookup)
80
+ *
81
+ * @param blockId - The block ID to check
82
+ * @returns true if the block exists locally
83
+ */
84
+ hasLocal(blockId: string): boolean;
85
+ /**
86
+ * Add a block to the local registry
87
+ *
88
+ * @param blockId - The block ID to add
89
+ */
90
+ addLocal(blockId: string): void;
91
+ /**
92
+ * Remove a block from the local registry
93
+ *
94
+ * @param blockId - The block ID to remove
95
+ */
96
+ removeLocal(blockId: string): void;
97
+ /**
98
+ * Get count of local blocks
99
+ *
100
+ * @returns The number of blocks in the local registry
101
+ */
102
+ getLocalCount(): number;
103
+ /**
104
+ * Get all local block IDs (for full sync)
105
+ *
106
+ * @returns Array of all block IDs in the local registry
107
+ */
108
+ getLocalBlockIds(): string[];
109
+ /**
110
+ * Export a Bloom filter representation of the registry.
111
+ * The Bloom filter allows efficient probabilistic queries
112
+ * with no false negatives and a configurable false positive rate.
113
+ *
114
+ * @returns A Bloom filter representing all local block IDs
115
+ * @see Requirements 3.6, 4.1
116
+ */
117
+ exportBloomFilter(): BloomFilter;
118
+ /**
119
+ * Export a complete manifest of all local blocks.
120
+ * Used for full synchronization with peers.
121
+ *
122
+ * @returns A manifest containing all local block IDs
123
+ * @see Requirements 3.7
124
+ */
125
+ exportManifest(): BlockManifest;
126
+ /**
127
+ * Rebuild the registry from disk storage.
128
+ * Called on node startup to restore the index.
129
+ *
130
+ * @returns Promise that resolves when rebuild is complete
131
+ * @see Requirements 3.5
132
+ */
133
+ rebuild(): Promise<void>;
134
+ }
135
+ //# sourceMappingURL=blockRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockRegistry.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/blockRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;;OAOG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CACxC;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,IAAI,CAAC;IAElB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAEnC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC;;;;OAIG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC;;;;OAIG;IACH,aAAa,IAAI,MAAM,CAAC;IAExB;;;;OAIG;IACH,gBAAgB,IAAI,MAAM,EAAE,CAAC;IAE7B;;;;;;;OAOG;IACH,iBAAiB,IAAI,WAAW,CAAC;IAEjC;;;;;;OAMG;IACH,cAAc,IAAI,aAAa,CAAC;IAEhC;;;;;;OAMG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Block Registry Interface
4
+ *
5
+ * Defines the interface for maintaining a fast local index of blocks,
6
+ * supporting O(1) lookups, Bloom filter export, and manifest generation.
7
+ *
8
+ * @see Requirements 3.1, 3.6, 3.7
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ //# sourceMappingURL=blockRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blockRegistry.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/blockRegistry.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG"}
@@ -0,0 +1,179 @@
1
+ /**
2
+ * @fileoverview Discovery Protocol Interface
3
+ *
4
+ * Defines the interface for discovering blocks across the network.
5
+ * Supports Bloom filter pre-checks, concurrent query limiting,
6
+ * result caching, and latency-based node preference.
7
+ *
8
+ * @see Requirements 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8
9
+ */
10
+ import { BloomFilter } from './blockRegistry';
11
+ import { ILocationRecord } from './locationRecord';
12
+ /**
13
+ * Result of a block discovery operation.
14
+ * Contains information about where a block was found and query statistics.
15
+ *
16
+ * @see Requirements 5.1, 5.4, 5.6
17
+ */
18
+ export interface DiscoveryResult {
19
+ /**
20
+ * The block ID that was searched for
21
+ */
22
+ blockId: string;
23
+ /**
24
+ * Whether the block was found on any peer
25
+ */
26
+ found: boolean;
27
+ /**
28
+ * Nodes where the block was found, sorted by latency (lowest first)
29
+ *
30
+ * @see Requirements 5.5
31
+ */
32
+ locations: ILocationRecord[];
33
+ /**
34
+ * Number of peers that were queried during discovery
35
+ */
36
+ queriedPeers: number;
37
+ /**
38
+ * Total duration of the discovery operation in milliseconds
39
+ */
40
+ duration: number;
41
+ }
42
+ /**
43
+ * Result of querying a single peer for a block.
44
+ *
45
+ * @see Requirements 5.3
46
+ */
47
+ export interface PeerQueryResult {
48
+ /**
49
+ * The peer that was queried
50
+ */
51
+ peerId: string;
52
+ /**
53
+ * Whether the peer has the block
54
+ */
55
+ hasBlock: boolean;
56
+ /**
57
+ * Round-trip latency to the peer in milliseconds
58
+ */
59
+ latencyMs: number;
60
+ /**
61
+ * Error message if the query failed
62
+ */
63
+ error?: string;
64
+ }
65
+ /**
66
+ * Configuration for the discovery protocol.
67
+ *
68
+ * @see Requirements 5.7, 13.1, 13.2, 13.3
69
+ */
70
+ export interface DiscoveryConfig {
71
+ /**
72
+ * Timeout for discovery queries in milliseconds.
73
+ * Queries that exceed this timeout will be cancelled.
74
+ *
75
+ * @see Requirements 5.7, 13.1
76
+ */
77
+ queryTimeoutMs: number;
78
+ /**
79
+ * Maximum number of concurrent queries to peers.
80
+ * Limits resource usage during discovery.
81
+ *
82
+ * @see Requirements 13.2
83
+ */
84
+ maxConcurrentQueries: number;
85
+ /**
86
+ * Time-to-live for cached discovery results in milliseconds.
87
+ * Cached results older than this will be refreshed.
88
+ *
89
+ * @see Requirements 5.8
90
+ */
91
+ cacheTtlMs: number;
92
+ /**
93
+ * Target false positive rate for Bloom filters.
94
+ * Lower values reduce unnecessary queries but increase filter size.
95
+ *
96
+ * @see Requirements 4.6, 13.3
97
+ */
98
+ bloomFilterFalsePositiveRate: number;
99
+ /**
100
+ * Number of hash functions for Bloom filters.
101
+ *
102
+ * @see Requirements 13.3
103
+ */
104
+ bloomFilterHashCount: number;
105
+ }
106
+ /**
107
+ * Default discovery configuration values.
108
+ */
109
+ export declare const DEFAULT_DISCOVERY_CONFIG: DiscoveryConfig;
110
+ /**
111
+ * Discovery Protocol Interface
112
+ *
113
+ * Handles finding blocks across the network using Bloom filter pre-checks,
114
+ * concurrent query limiting, result caching, and latency-based node preference.
115
+ *
116
+ * @see Requirements 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8
117
+ */
118
+ export interface IDiscoveryProtocol {
119
+ /**
120
+ * Discover locations for a block across the network.
121
+ *
122
+ * The discovery process:
123
+ * 1. Check local cache for recent results
124
+ * 2. Query peers using Bloom filter pre-checks
125
+ * 3. Make direct queries to peers whose Bloom filters indicate possible match
126
+ * 4. Cache and return results sorted by latency
127
+ *
128
+ * @param blockId - The block ID to discover
129
+ * @returns Promise resolving to discovery result with locations
130
+ * @see Requirements 5.1, 5.2, 5.3, 5.4, 5.5
131
+ */
132
+ discoverBlock(blockId: string): Promise<DiscoveryResult>;
133
+ /**
134
+ * Query a specific peer for a block.
135
+ * Makes a direct query without Bloom filter pre-check.
136
+ *
137
+ * @param peerId - The peer to query
138
+ * @param blockId - The block ID to query for
139
+ * @returns Promise resolving to the query result
140
+ * @see Requirements 5.3
141
+ */
142
+ queryPeer(peerId: string, blockId: string): Promise<PeerQueryResult>;
143
+ /**
144
+ * Get cached discovery results for a block.
145
+ * Returns null if no cached results exist or if cache has expired.
146
+ *
147
+ * @param blockId - The block ID to get cached locations for
148
+ * @returns Cached location records or null if not cached
149
+ * @see Requirements 5.8
150
+ */
151
+ getCachedLocations(blockId: string): ILocationRecord[] | null;
152
+ /**
153
+ * Clear the discovery cache for a specific block.
154
+ * Forces the next discovery to query the network.
155
+ *
156
+ * @param blockId - The block ID to clear from cache
157
+ */
158
+ clearCache(blockId: string): void;
159
+ /**
160
+ * Clear the entire discovery cache.
161
+ */
162
+ clearAllCache(): void;
163
+ /**
164
+ * Get the Bloom filter from a peer.
165
+ * Used to pre-check if a peer might have a block before making a direct query.
166
+ *
167
+ * @param peerId - The peer to get the Bloom filter from
168
+ * @returns Promise resolving to the peer's Bloom filter
169
+ * @see Requirements 4.2, 5.2
170
+ */
171
+ getPeerBloomFilter(peerId: string): Promise<BloomFilter>;
172
+ /**
173
+ * Get the current configuration.
174
+ *
175
+ * @returns The discovery configuration
176
+ */
177
+ getConfig(): DiscoveryConfig;
178
+ }
179
+ //# sourceMappingURL=discoveryProtocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discoveryProtocol.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/discoveryProtocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;IAEf;;;;OAIG;IACH,SAAS,EAAE,eAAe,EAAE,CAAC;IAE7B;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,oBAAoB,EAAE,MAAM,CAAC;IAE7B;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,4BAA4B,EAAE,MAAM,CAAC;IAErC;;;;OAIG;IACH,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,eAMtC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;;;;OAYG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAEzD;;;;;;;;OAQG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAErE;;;;;;;OAOG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,GAAG,IAAI,CAAC;IAE9D;;;;;OAKG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAElC;;OAEG;IACH,aAAa,IAAI,IAAI,CAAC;IAEtB;;;;;;;OAOG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzD;;;;OAIG;IACH,SAAS,IAAI,eAAe,CAAC;CAC9B"}