@brightchain/brightchain-api-lib 0.14.0 → 0.16.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 (288) hide show
  1. package/package.json +5 -5
  2. package/src/browser.d.ts +13 -0
  3. package/src/browser.d.ts.map +1 -0
  4. package/src/browser.js +16 -0
  5. package/src/browser.js.map +1 -0
  6. package/src/index.d.ts +4 -1
  7. package/src/index.d.ts.map +1 -1
  8. package/src/index.js +6 -1
  9. package/src/index.js.map +1 -1
  10. package/src/lib/application-base.d.ts +8 -37
  11. package/src/lib/application-base.d.ts.map +1 -1
  12. package/src/lib/application-base.js +8 -80
  13. package/src/lib/application-base.js.map +1 -1
  14. package/src/lib/application.d.ts +37 -7
  15. package/src/lib/application.d.ts.map +1 -1
  16. package/src/lib/application.js +130 -118
  17. package/src/lib/application.js.map +1 -1
  18. package/src/lib/auth/aclEnforcedAvailability.d.ts +57 -0
  19. package/src/lib/auth/aclEnforcedAvailability.d.ts.map +1 -0
  20. package/src/lib/auth/aclEnforcedAvailability.js +87 -0
  21. package/src/lib/auth/aclEnforcedAvailability.js.map +1 -0
  22. package/src/lib/auth/aclEnforcedBlockStore.d.ts +66 -0
  23. package/src/lib/auth/aclEnforcedBlockStore.d.ts.map +1 -0
  24. package/src/lib/auth/aclEnforcedBlockStore.js +83 -0
  25. package/src/lib/auth/aclEnforcedBlockStore.js.map +1 -0
  26. package/src/lib/auth/ecdsaNodeAuthenticator.d.ts +46 -0
  27. package/src/lib/auth/ecdsaNodeAuthenticator.d.ts.map +1 -0
  28. package/src/lib/auth/ecdsaNodeAuthenticator.js +110 -0
  29. package/src/lib/auth/ecdsaNodeAuthenticator.js.map +1 -0
  30. package/src/lib/auth/index.d.ts +7 -0
  31. package/src/lib/auth/index.d.ts.map +1 -0
  32. package/src/lib/auth/index.js +13 -0
  33. package/src/lib/auth/index.js.map +1 -0
  34. package/src/lib/auth/poolAclBootstrap.d.ts +36 -0
  35. package/src/lib/auth/poolAclBootstrap.d.ts.map +1 -0
  36. package/src/lib/auth/poolAclBootstrap.js +64 -0
  37. package/src/lib/auth/poolAclBootstrap.js.map +1 -0
  38. package/src/lib/auth/poolAclStore.d.ts +77 -0
  39. package/src/lib/auth/poolAclStore.d.ts.map +1 -0
  40. package/src/lib/auth/poolAclStore.js +189 -0
  41. package/src/lib/auth/poolAclStore.js.map +1 -0
  42. package/src/lib/auth/poolAclUpdater.d.ts +79 -0
  43. package/src/lib/auth/poolAclUpdater.d.ts.map +1 -0
  44. package/src/lib/auth/poolAclUpdater.js +144 -0
  45. package/src/lib/auth/poolAclUpdater.js.map +1 -0
  46. package/src/lib/availability/availabilityService.d.ts +2 -2
  47. package/src/lib/availability/availabilityService.d.ts.map +1 -1
  48. package/src/lib/availability/availabilityService.js +12 -5
  49. package/src/lib/availability/availabilityService.js.map +1 -1
  50. package/src/lib/availability/blockRegistry.d.ts +45 -3
  51. package/src/lib/availability/blockRegistry.d.ts.map +1 -1
  52. package/src/lib/availability/blockRegistry.js +123 -5
  53. package/src/lib/availability/blockRegistry.js.map +1 -1
  54. package/src/lib/availability/discoveryProtocol.d.ts +30 -1
  55. package/src/lib/availability/discoveryProtocol.d.ts.map +1 -1
  56. package/src/lib/availability/discoveryProtocol.js +76 -0
  57. package/src/lib/availability/discoveryProtocol.js.map +1 -1
  58. package/src/lib/availability/gossipService.d.ts +45 -6
  59. package/src/lib/availability/gossipService.d.ts.map +1 -1
  60. package/src/lib/availability/gossipService.js +177 -5
  61. package/src/lib/availability/gossipService.js.map +1 -1
  62. package/src/lib/availability/reconciliationService.d.ts +88 -1
  63. package/src/lib/availability/reconciliationService.d.ts.map +1 -1
  64. package/src/lib/availability/reconciliationService.js +246 -48
  65. package/src/lib/availability/reconciliationService.js.map +1 -1
  66. package/src/lib/blockFetch/blockFetcher.d.ts +100 -0
  67. package/src/lib/blockFetch/blockFetcher.d.ts.map +1 -0
  68. package/src/lib/blockFetch/blockFetcher.js +279 -0
  69. package/src/lib/blockFetch/blockFetcher.js.map +1 -0
  70. package/src/lib/blockFetch/fetchQueue.d.ts +88 -0
  71. package/src/lib/blockFetch/fetchQueue.d.ts.map +1 -0
  72. package/src/lib/blockFetch/fetchQueue.js +204 -0
  73. package/src/lib/blockFetch/fetchQueue.js.map +1 -0
  74. package/src/lib/blockFetch/httpBlockFetchTransport.d.ts +65 -0
  75. package/src/lib/blockFetch/httpBlockFetchTransport.d.ts.map +1 -0
  76. package/src/lib/blockFetch/httpBlockFetchTransport.js +104 -0
  77. package/src/lib/blockFetch/httpBlockFetchTransport.js.map +1 -0
  78. package/src/lib/blockFetch/index.d.ts +10 -0
  79. package/src/lib/blockFetch/index.d.ts.map +1 -0
  80. package/src/lib/blockFetch/index.js +13 -0
  81. package/src/lib/blockFetch/index.js.map +1 -0
  82. package/src/lib/constants.js +2 -2
  83. package/src/lib/constants.js.map +1 -1
  84. package/src/lib/controllers/api/blocks.d.ts.map +1 -1
  85. package/src/lib/controllers/api/blocks.js +290 -290
  86. package/src/lib/controllers/api/blocks.js.map +1 -1
  87. package/src/lib/controllers/api/brightpass.d.ts +72 -0
  88. package/src/lib/controllers/api/brightpass.d.ts.map +1 -0
  89. package/src/lib/controllers/api/brightpass.js +577 -0
  90. package/src/lib/controllers/api/brightpass.js.map +1 -0
  91. package/src/lib/controllers/api/channels.d.ts +122 -0
  92. package/src/lib/controllers/api/channels.d.ts.map +1 -0
  93. package/src/lib/controllers/api/channels.js +701 -0
  94. package/src/lib/controllers/api/channels.js.map +1 -0
  95. package/src/lib/controllers/api/conversations.d.ts +89 -0
  96. package/src/lib/controllers/api/conversations.d.ts.map +1 -0
  97. package/src/lib/controllers/api/conversations.js +259 -0
  98. package/src/lib/controllers/api/conversations.js.map +1 -0
  99. package/src/lib/controllers/api/emails.d.ts +122 -0
  100. package/src/lib/controllers/api/emails.d.ts.map +1 -0
  101. package/src/lib/controllers/api/emails.js +494 -0
  102. package/src/lib/controllers/api/emails.js.map +1 -0
  103. package/src/lib/controllers/api/energy.d.ts.map +1 -1
  104. package/src/lib/controllers/api/energy.js +93 -93
  105. package/src/lib/controllers/api/energy.js.map +1 -1
  106. package/src/lib/controllers/api/explodingMessages.d.ts +79 -0
  107. package/src/lib/controllers/api/explodingMessages.d.ts.map +1 -0
  108. package/src/lib/controllers/api/explodingMessages.js +378 -0
  109. package/src/lib/controllers/api/explodingMessages.js.map +1 -0
  110. package/src/lib/controllers/api/groups.d.ts +94 -0
  111. package/src/lib/controllers/api/groups.d.ts.map +1 -0
  112. package/src/lib/controllers/api/groups.js +484 -0
  113. package/src/lib/controllers/api/groups.js.map +1 -0
  114. package/src/lib/controllers/api/i18n.d.ts.map +1 -1
  115. package/src/lib/controllers/api/i18n.js +8 -8
  116. package/src/lib/controllers/api/i18n.js.map +1 -1
  117. package/src/lib/controllers/api/index.d.ts +6 -0
  118. package/src/lib/controllers/api/index.d.ts.map +1 -1
  119. package/src/lib/controllers/api/index.js +6 -0
  120. package/src/lib/controllers/api/index.js.map +1 -1
  121. package/src/lib/controllers/api/messages.d.ts.map +1 -1
  122. package/src/lib/controllers/api/messages.js +2 -1
  123. package/src/lib/controllers/api/messages.js.map +1 -1
  124. package/src/lib/controllers/api/quorum.d.ts.map +1 -1
  125. package/src/lib/controllers/api/quorum.js +483 -483
  126. package/src/lib/controllers/api/quorum.js.map +1 -1
  127. package/src/lib/controllers/api/sessions.d.ts.map +1 -1
  128. package/src/lib/controllers/api/sessions.js +8 -8
  129. package/src/lib/controllers/api/sessions.js.map +1 -1
  130. package/src/lib/controllers/api/sync.d.ts +38 -2
  131. package/src/lib/controllers/api/sync.d.ts.map +1 -1
  132. package/src/lib/controllers/api/sync.js +89 -0
  133. package/src/lib/controllers/api/sync.js.map +1 -1
  134. package/src/lib/controllers/api/user.d.ts.map +1 -1
  135. package/src/lib/controllers/api/user.js +180 -180
  136. package/src/lib/controllers/api/user.js.map +1 -1
  137. package/src/lib/controllers/crypto/gitController.d.ts +70 -0
  138. package/src/lib/controllers/crypto/gitController.d.ts.map +1 -0
  139. package/src/lib/controllers/crypto/gitController.js +306 -0
  140. package/src/lib/controllers/crypto/gitController.js.map +1 -0
  141. package/src/lib/controllers/crypto/index.d.ts +3 -0
  142. package/src/lib/controllers/crypto/index.d.ts.map +1 -0
  143. package/src/lib/controllers/crypto/index.js +6 -0
  144. package/src/lib/controllers/crypto/index.js.map +1 -0
  145. package/src/lib/controllers/crypto/walletController.d.ts +64 -0
  146. package/src/lib/controllers/crypto/walletController.d.ts.map +1 -0
  147. package/src/lib/controllers/crypto/walletController.js +260 -0
  148. package/src/lib/controllers/crypto/walletController.js.map +1 -0
  149. package/src/lib/controllers/identity/deviceController.d.ts +96 -0
  150. package/src/lib/controllers/identity/deviceController.d.ts.map +1 -0
  151. package/src/lib/controllers/identity/deviceController.js +355 -0
  152. package/src/lib/controllers/identity/deviceController.js.map +1 -0
  153. package/src/lib/controllers/identity/directoryController.d.ts +75 -0
  154. package/src/lib/controllers/identity/directoryController.d.ts.map +1 -0
  155. package/src/lib/controllers/identity/directoryController.js +288 -0
  156. package/src/lib/controllers/identity/directoryController.js.map +1 -0
  157. package/src/lib/controllers/identity/identityProofController.d.ts +94 -0
  158. package/src/lib/controllers/identity/identityProofController.d.ts.map +1 -0
  159. package/src/lib/controllers/identity/identityProofController.js +454 -0
  160. package/src/lib/controllers/identity/identityProofController.js.map +1 -0
  161. package/src/lib/controllers/identity/index.d.ts +4 -0
  162. package/src/lib/controllers/identity/index.d.ts.map +1 -0
  163. package/src/lib/controllers/identity/index.js +7 -0
  164. package/src/lib/controllers/identity/index.js.map +1 -0
  165. package/src/lib/controllers/index.d.ts +2 -0
  166. package/src/lib/controllers/index.d.ts.map +1 -1
  167. package/src/lib/controllers/index.js +2 -0
  168. package/src/lib/controllers/index.js.map +1 -1
  169. package/src/lib/encryption/encryptedMetadataService.d.ts +87 -0
  170. package/src/lib/encryption/encryptedMetadataService.d.ts.map +1 -0
  171. package/src/lib/encryption/encryptedMetadataService.js +224 -0
  172. package/src/lib/encryption/encryptedMetadataService.js.map +1 -0
  173. package/src/lib/encryption/encryptionAwareReplication.d.ts +76 -0
  174. package/src/lib/encryption/encryptionAwareReplication.d.ts.map +1 -0
  175. package/src/lib/encryption/encryptionAwareReplication.js +116 -0
  176. package/src/lib/encryption/encryptionAwareReplication.js.map +1 -0
  177. package/src/lib/encryption/errors.d.ts +49 -0
  178. package/src/lib/encryption/errors.d.ts.map +1 -0
  179. package/src/lib/encryption/errors.js +80 -0
  180. package/src/lib/encryption/errors.js.map +1 -0
  181. package/src/lib/encryption/index.d.ts +6 -0
  182. package/src/lib/encryption/index.d.ts.map +1 -0
  183. package/src/lib/encryption/index.js +9 -0
  184. package/src/lib/encryption/index.js.map +1 -0
  185. package/src/lib/encryption/poolEncryptionService.d.ts +94 -0
  186. package/src/lib/encryption/poolEncryptionService.d.ts.map +1 -0
  187. package/src/lib/encryption/poolEncryptionService.js +252 -0
  188. package/src/lib/encryption/poolEncryptionService.js.map +1 -0
  189. package/src/lib/encryption/poolKeyManager.d.ts +82 -0
  190. package/src/lib/encryption/poolKeyManager.d.ts.map +1 -0
  191. package/src/lib/encryption/poolKeyManager.js +156 -0
  192. package/src/lib/encryption/poolKeyManager.js.map +1 -0
  193. package/src/lib/environment.d.ts +3 -0
  194. package/src/lib/environment.d.ts.map +1 -1
  195. package/src/lib/environment.js +5 -0
  196. package/src/lib/environment.js.map +1 -1
  197. package/src/lib/interfaces/application.d.ts +7 -1
  198. package/src/lib/interfaces/application.d.ts.map +1 -1
  199. package/src/lib/interfaces/brightchain-init-result.d.ts +17 -0
  200. package/src/lib/interfaces/brightchain-init-result.d.ts.map +1 -0
  201. package/src/lib/interfaces/brightchain-init-result.js +9 -0
  202. package/src/lib/interfaces/brightchain-init-result.js.map +1 -0
  203. package/src/lib/interfaces/environment.d.ts +7 -1
  204. package/src/lib/interfaces/environment.d.ts.map +1 -1
  205. package/src/lib/interfaces/index.d.ts +1 -1
  206. package/src/lib/interfaces/index.d.ts.map +1 -1
  207. package/src/lib/interfaces/requests/getBlockDataRequest.d.ts +12 -0
  208. package/src/lib/interfaces/requests/getBlockDataRequest.d.ts.map +1 -0
  209. package/src/lib/interfaces/{blockStore.js → requests/getBlockDataRequest.js} +1 -1
  210. package/src/lib/interfaces/requests/getBlockDataRequest.js.map +1 -0
  211. package/src/lib/interfaces/requests/index.d.ts +1 -0
  212. package/src/lib/interfaces/requests/index.d.ts.map +1 -1
  213. package/src/lib/routers/api.d.ts +54 -1
  214. package/src/lib/routers/api.d.ts.map +1 -1
  215. package/src/lib/routers/api.js +77 -0
  216. package/src/lib/routers/api.js.map +1 -1
  217. package/src/lib/routers/app.d.ts +22 -14
  218. package/src/lib/routers/app.d.ts.map +1 -1
  219. package/src/lib/routers/app.js +28 -116
  220. package/src/lib/routers/app.js.map +1 -1
  221. package/src/lib/services/blockStore.d.ts +5 -2
  222. package/src/lib/services/blockStore.d.ts.map +1 -1
  223. package/src/lib/services/blockStore.js +4 -0
  224. package/src/lib/services/blockStore.js.map +1 -1
  225. package/src/lib/services/brightpass/auditLogger.d.ts +77 -0
  226. package/src/lib/services/brightpass/auditLogger.d.ts.map +1 -0
  227. package/src/lib/services/brightpass/auditLogger.js +184 -0
  228. package/src/lib/services/brightpass/auditLogger.js.map +1 -0
  229. package/src/lib/services/brightpass/vaultEncryption.d.ts +82 -0
  230. package/src/lib/services/brightpass/vaultEncryption.d.ts.map +1 -0
  231. package/src/lib/services/brightpass/vaultEncryption.js +144 -0
  232. package/src/lib/services/brightpass/vaultEncryption.js.map +1 -0
  233. package/src/lib/services/brightpass.d.ts +294 -0
  234. package/src/lib/services/brightpass.d.ts.map +1 -0
  235. package/src/lib/services/brightpass.js +1260 -0
  236. package/src/lib/services/brightpass.js.map +1 -0
  237. package/src/lib/services/brightpass.property.helpers.d.ts +23 -0
  238. package/src/lib/services/brightpass.property.helpers.d.ts.map +1 -0
  239. package/src/lib/services/brightpass.property.helpers.js +113 -0
  240. package/src/lib/services/brightpass.property.helpers.js.map +1 -0
  241. package/src/lib/services/eventNotificationSystem.d.ts +69 -3
  242. package/src/lib/services/eventNotificationSystem.d.ts.map +1 -1
  243. package/src/lib/services/eventNotificationSystem.js +200 -0
  244. package/src/lib/services/eventNotificationSystem.js.map +1 -1
  245. package/src/lib/services/expirationScheduler.d.ts +90 -0
  246. package/src/lib/services/expirationScheduler.d.ts.map +1 -0
  247. package/src/lib/services/expirationScheduler.js +131 -0
  248. package/src/lib/services/expirationScheduler.js.map +1 -0
  249. package/src/lib/services/fecUsageExample.d.ts +2 -2
  250. package/src/lib/services/index.d.ts +2 -0
  251. package/src/lib/services/index.d.ts.map +1 -1
  252. package/src/lib/services/index.js +2 -0
  253. package/src/lib/services/index.js.map +1 -1
  254. package/src/lib/services/paginationService.d.ts +18 -0
  255. package/src/lib/services/paginationService.d.ts.map +1 -0
  256. package/src/lib/services/paginationService.js +32 -0
  257. package/src/lib/services/paginationService.js.map +1 -0
  258. package/src/lib/services/presenceService.d.ts +76 -0
  259. package/src/lib/services/presenceService.d.ts.map +1 -0
  260. package/src/lib/services/presenceService.js +143 -0
  261. package/src/lib/services/presenceService.js.map +1 -0
  262. package/src/lib/services/wireConversationPromotion.d.ts +23 -0
  263. package/src/lib/services/wireConversationPromotion.d.ts.map +1 -0
  264. package/src/lib/services/wireConversationPromotion.js +26 -0
  265. package/src/lib/services/wireConversationPromotion.js.map +1 -0
  266. package/src/lib/stores/availabilityAwareBlockStore.d.ts +115 -10
  267. package/src/lib/stores/availabilityAwareBlockStore.d.ts.map +1 -1
  268. package/src/lib/stores/availabilityAwareBlockStore.js +267 -23
  269. package/src/lib/stores/availabilityAwareBlockStore.js.map +1 -1
  270. package/src/lib/stores/diskBlockAsyncStore.d.ts +81 -2
  271. package/src/lib/stores/diskBlockAsyncStore.d.ts.map +1 -1
  272. package/src/lib/stores/diskBlockAsyncStore.js +297 -10
  273. package/src/lib/stores/diskBlockAsyncStore.js.map +1 -1
  274. package/src/lib/upstream-stubs.d.ts +36 -0
  275. package/src/lib/upstream-stubs.d.ts.map +1 -0
  276. package/src/lib/upstream-stubs.js +43 -0
  277. package/src/lib/upstream-stubs.js.map +1 -0
  278. package/src/lib/utils/communicationValidation.d.ts +44 -0
  279. package/src/lib/utils/communicationValidation.d.ts.map +1 -0
  280. package/src/lib/utils/communicationValidation.js +291 -0
  281. package/src/lib/utils/communicationValidation.js.map +1 -0
  282. package/src/lib/utils/emailValidation.d.ts +19 -0
  283. package/src/lib/utils/emailValidation.d.ts.map +1 -0
  284. package/src/lib/utils/emailValidation.js +232 -0
  285. package/src/lib/utils/emailValidation.js.map +1 -0
  286. package/src/lib/interfaces/blockStore.d.ts +0 -7
  287. package/src/lib/interfaces/blockStore.d.ts.map +0 -1
  288. package/src/lib/interfaces/blockStore.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"availabilityService.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/availabilityService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"availabilityService.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/availabilityService.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,kEAkBsC;AA8BtC;;;;;;;GAOG;AACH,MAAa,mBAAmB;IA0B9B;;;;;;;;;OASG;IACH,YACmB,QAAwB,EACxB,iBAAqC,EACrC,aAA6B,EAC7B,qBAA6C,EAC7C,gBAAmC,EACnC,SAAoC,qDAAmC;QALvE,aAAQ,GAAR,QAAQ,CAAgB;QACxB,sBAAiB,GAAjB,iBAAiB,CAAoB;QACrC,kBAAa,GAAb,aAAa,CAAgB;QAC7B,0BAAqB,GAArB,qBAAqB,CAAwB;QAC7C,qBAAgB,GAAhB,gBAAgB,CAAmB;QACnC,WAAM,GAAN,MAAM,CAAiE;QAzC1F;;WAEG;QACc,cAAS,GAAmC,IAAI,GAAG,EAAE,CAAC;QAEvE;;WAEG;QACc,aAAQ,GAA6B,IAAI,GAAG,EAAE,CAAC;QAEhE;;WAEG;QACK,kBAAa,GAAG,KAAK,CAAC;QAE9B;;WAEG;QACK,sBAAiB,GAAa,EAAE,CAAC;QAEzC;;WAEG;QACK,YAAO,GAAG,KAAK,CAAC;QAoBtB,gDAAgD;QAChD,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,EAAE;YACnD,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB;IAExB;;;;;;OAMG;IACH,KAAK,CAAC,oBAAoB,CAAC,OAAe;QACxC,6BAA6B;QAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,OAAO,mCAAiB,CAAC,KAAK,CAAC;QACjC,CAAC;QAED,6BAA6B;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,IAAI,EAAE,CAAC;YACT,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QAED,gBAAgB;QAChB,OAAO,mCAAiB,CAAC,OAAO,CAAC;IACnC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CACrB,OAAe,EACf,MAAe;QAEf,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YACtC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,0CAA0C;QAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACpC,OAAO;gBACL;oBACE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;oBAC/B,QAAQ,EAAE,IAAI,IAAI,EAAE;oBACpB,eAAe,EAAE,IAAI;iBACtB;aACF,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,kBAAkB,CAAC,OAAe;QACtC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAExD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,EAAE,WAAW,IAAI,IAAI,IAAI,EAAE,CAAC;QAEpD,kBAAkB;QAClB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;QAEvD,OAAO;YACL,OAAO;YACP,KAAK;YACL,SAAS;YACT,OAAO;YACP,WAAW;SACZ,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CAAC,KAAwB;QAC9C,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,gCAAgC;QAChC,IAAI,KAAK,KAAK,mCAAiB,CAAC,KAAK,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;QAC1C,CAAC;QAED,oCAAoC;QACpC,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa;QACjB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAE5B,mCAAmC;QACnC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAE3C,qCAAqC;QACrC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3C,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC;gBACnB,KAAK,mCAAiB,CAAC,MAAM;oBAC3B,WAAW,EAAE,CAAC;oBACd,MAAM;gBACR,KAAK,mCAAiB,CAAC,MAAM;oBAC3B,WAAW,EAAE,CAAC;oBACd,MAAM;gBACR,KAAK,mCAAiB,CAAC,QAAQ;oBAC7B,aAAa,EAAE,CAAC;oBAChB,MAAM;gBACR,KAAK,mCAAiB,CAAC,OAAO;oBAC5B,YAAY,EAAE,CAAC;oBACf,MAAM;gBACR,iCAAiC;YACnC,CAAC;YACD,mBAAmB,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC/C,CAAC;QAED,4BAA4B;QAC5B,mBAAmB,IAAI,UAAU,CAAC;QAElC,MAAM,WAAW,GACf,UAAU,GAAG,WAAW,GAAG,WAAW,GAAG,aAAa,GAAG,YAAY,CAAC;QACxE,MAAM,wBAAwB,GAC5B,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1D,OAAO;YACL,UAAU;YACV,WAAW;YACX,WAAW;YACX,aAAa;YACb,YAAY;YACZ,mBAAmB;YACnB,wBAAwB;SACzB,CAAC;IACJ,CAAC;IAED,2BAA2B;IAE3B;;;;;;OAMG;IACH,KAAK,CAAC,cAAc,CAClB,OAAe,EACf,QAAyB;QAEzB,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,2DAA2D;QAC3D,0FAA0F;QAC1F,MAAM,mBAAmB,GAAG,CAAC,CAAkB,EAAW,EAAE,CAC1D,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC;QAE/D,MAAM,aAAa,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEzE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,4CAA4C;YAC5C,MAAM,KAAK,GACT,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW;gBACzC,CAAC,CAAC,mCAAiB,CAAC,KAAK;gBACzB,CAAC,CAAC,mCAAiB,CAAC,MAAM,CAAC;YAE/B,IAAI,GAAG;gBACL,KAAK;gBACL,SAAS,EAAE,EAAE;gBACb,WAAW,EAAE,IAAI,IAAI,EAAE;aACxB,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,8DAA8D;QAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACpE,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAE9B,uCAAuC;QACvC,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,gBAAgB;gBACtB,OAAO;gBACP,QAAQ;gBACR,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,cAAc,CAAC,OAAe,EAAE,MAAc;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAEnE,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;YAC1C,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;YAE9B,aAAa;YACb,IAAI,CAAC,SAAS,CAAC;gBACb,IAAI,EAAE,kBAAkB;gBACxB,OAAO;gBACP,MAAM;gBACN,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC,CAAC;YAEH,wCAAwC;YACxC,IACE,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAC3B,IAAI,CAAC,KAAK,KAAK,mCAAiB,CAAC,MAAM,EACvC,CAAC;gBACD,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,mCAAiB,CAAC,QAAQ,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,oBAAoB,CACxB,OAAe,EACf,KAAwB;QAExB,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,EAAE,KAAK,IAAI,mCAAiB,CAAC,OAAO,CAAC;QAE1D,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACvB,OAAO,CAAC,YAAY;QACtB,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,GAAG;gBACL,KAAK;gBACL,SAAS,EAAE,EAAE;gBACb,WAAW,EAAE,IAAI,IAAI,EAAE;aACxB,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;QAChC,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,eAAe;YACrB,OAAO;YACP,QAAQ;YACR,QAAQ,EAAE,KAAK;YACf,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC,CAAC;IACL,CAAC;IAED,kCAAkC;IAElC;;;;;OAKG;IACH,iBAAiB;QACf,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,kBAAkB;QAChB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,CAAC,4BAA4B;QACtC,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;QAErE,qCAAqC;QACrC,IAAI,CAAC,0BAA0B,EAAE,CAAC;QAElC,+BAA+B;QAC/B,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,mBAAmB;YACzB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,iBAAiB,EAAE,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC;SAC/C,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,6CAA6C;YAC7C,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,eAAe,EAAE,CAAC;gBAClB,gBAAgB,EAAE,CAAC;gBACnB,aAAa,EAAE,CAAC;gBAChB,eAAe,EAAE,CAAC;gBAClB,iBAAiB,EAAE,CAAC;gBACpB,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE,CAAC;aACZ,CAAC;QACJ,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC;QAEnE,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAE3B,8BAA8B;QAC9B,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,kBAAkB;YACxB,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,gBAAgB,EAAE,CAAC,GAAG,gBAAgB,CAAC;SACxC,CAAC,CAAC;QAEH,oCAAoC;QACpC,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,wBAAwB;YAC9B,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,OAAO,EAAE,gBAAgB;SAC1B,CAAC,CAAC;QAEH,uBAAuB;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;QAE5E,sCAAsC;QACtC,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,0BAA0B;YAChC,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,MAAM;SACP,CAAC,CAAC;QAEH,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;QAE5B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,oBAAoB;QAClB,OAAO,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,6BAA6B;IAE7B;;;;;;OAMG;IACH,OAAO,CAAC,OAAiC,EAAE,MAAoB;QAC7D,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,QAAQ,CAAC,OAAiC;QACxC,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,YAAY,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;gBACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACnC,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,oBAAoB;IAEpB;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,4BAA4B;QAC5B,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAE3B,gCAAgC;QAChC,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,2BAA2B;QAC3B,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;IACjC,CAAC;IAED,0BAA0B;IAE1B;;OAEG;IACK,wBAAwB,CAAC,KAIhC;QACC,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACtC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACnE,gDAAgD;YAChD,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;gBAClC,gDAAgD;YAClD,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,0BAA0B;QAChC,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7C,IAAI,IAAI,CAAC,KAAK,KAAK,mCAAiB,CAAC,MAAM,EAAE,CAAC;gBAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC;gBAC5B,IAAI,CAAC,KAAK,GAAG,mCAAiB,CAAC,QAAQ,CAAC;gBACxC,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;gBAE9B,IAAI,CAAC,SAAS,CAAC;oBACb,IAAI,EAAE,eAAe;oBACrB,OAAO;oBACP,QAAQ;oBACR,QAAQ,EAAE,mCAAiB,CAAC,QAAQ;oBACpC,SAAS,EAAE,IAAI,IAAI,EAAE;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,SAAS,CAAC,iBAAoC;QACpD,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpE,IAAI,CAAC;oBACH,YAAY,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBAC1C,CAAC;gBAAC,MAAM,CAAC;oBACP,qEAAqE;gBACvE,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,kBAAkB,CACxB,KAAwB,EACxB,MAAoB;QAEpB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,CAAC,6BAA6B;QAC5C,CAAC;QAED,0BAA0B;QAC1B,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACtD,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAC1C,CAAC;gBACF,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,OAAO,KAAK,CAAC;gBACf,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,KAAwB;QAClD,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC,OAAO,CAAC;QACvB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,KAAa,EAAE,OAAe;QACvD,gCAAgC;QAChC,MAAM,YAAY,GAAG,OAAO;aACzB,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,6BAA6B;aAClE,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,kBAAkB;aACvC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,iBAAiB;QAEzC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,0BAA0B;IAE1B;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,OAAe;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,OAAe,EAAE,IAAuB;QACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;CACF;AA9qBD,kDA8qBC"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @see Requirements 3.1, 3.2, 3.3, 3.4, 3.5, 4.1, 4.7
8
8
  */
9
- import { BlockManifest, BloomFilter, IBlockRegistry } from '@brightchain/brightchain-lib';
9
+ import { BlockManifest, BloomFilter, IBlockRegistry, PoolId, PoolScopedBloomFilter, PoolScopedManifest } from '@brightchain/brightchain-lib';
10
10
  /**
11
11
  * Default configuration for the Bloom filter.
12
12
  */
@@ -38,14 +38,27 @@ export declare class BlockRegistry implements IBlockRegistry {
38
38
  * In-memory Set of local block IDs for O(1) lookups.
39
39
  */
40
40
  private readonly localBlocks;
41
+ /**
42
+ * Mapping of blockId → poolId for pool-scoped tracking.
43
+ * Blocks without a pool association are not present in this map.
44
+ */
45
+ private readonly blockPoolMap;
41
46
  /**
42
47
  * Cached Bloom filter (regenerated when blocks change).
43
48
  */
44
49
  private cachedBloomFilter;
50
+ /**
51
+ * Cached pool-scoped Bloom filters (regenerated when blocks change).
52
+ */
53
+ private cachedPoolScopedBloomFilter;
45
54
  /**
46
55
  * Flag indicating if the Bloom filter needs regeneration.
47
56
  */
48
57
  private bloomFilterDirty;
58
+ /**
59
+ * Flag indicating if the pool-scoped Bloom filter needs regeneration.
60
+ */
61
+ private poolScopedBloomDirty;
49
62
  /**
50
63
  * Node ID for manifest generation.
51
64
  */
@@ -82,14 +95,19 @@ export declare class BlockRegistry implements IBlockRegistry {
82
95
  * Add a block to the local registry.
83
96
  *
84
97
  * @param blockId - The block ID to add
98
+ * @param poolId - Optional pool the block belongs to
85
99
  */
86
- addLocal(blockId: string): void;
100
+ addLocal(blockId: string, poolId?: PoolId): void;
87
101
  /**
88
102
  * Remove a block from the local registry.
89
103
  *
104
+ * When poolId is provided, only removes the block if it belongs to that pool.
105
+ * When poolId is omitted, removes the block unconditionally.
106
+ *
90
107
  * @param blockId - The block ID to remove
108
+ * @param poolId - Optional pool the block belonged to
91
109
  */
92
- removeLocal(blockId: string): void;
110
+ removeLocal(blockId: string, poolId?: PoolId): void;
93
111
  /**
94
112
  * Get count of local blocks.
95
113
  *
@@ -133,6 +151,30 @@ export declare class BlockRegistry implements IBlockRegistry {
133
151
  * @returns Promise that resolves when rebuild is complete
134
152
  */
135
153
  rebuild(): Promise<void>;
154
+ /**
155
+ * Group blocks by their pool ID.
156
+ * Blocks without a pool association are grouped under '__default__'.
157
+ *
158
+ * @returns Map of poolId to array of block IDs
159
+ */
160
+ private groupBlocksByPool;
161
+ /**
162
+ * Export a pool-scoped Bloom filter.
163
+ * Each pool gets its own filter with keys in "poolId:blockId" format.
164
+ * Also includes a global filter for backward compatibility.
165
+ *
166
+ * @returns A pool-scoped Bloom filter container
167
+ * @see Requirements 4.5
168
+ */
169
+ exportPoolScopedBloomFilter(): PoolScopedBloomFilter;
170
+ /**
171
+ * Export a pool-scoped manifest grouping block IDs by pool.
172
+ * Used for pool-aware reconciliation with peers.
173
+ *
174
+ * @returns A manifest with block IDs grouped by pool
175
+ * @see Requirements 3.1, 3.5
176
+ */
177
+ exportPoolScopedManifest(): PoolScopedManifest;
136
178
  /**
137
179
  * Clear the registry (for testing purposes).
138
180
  */
@@ -1 +1 @@
1
- {"version":3,"file":"blockRegistry.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/blockRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,aAAa,EACb,WAAW,EACX,cAAc,EACf,MAAM,8BAA8B,CAAC;AAOtC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,iBAGzC,CAAC;AAgDF;;;;;;;;GAQG;AACH,qBAAa,aAAc,YAAW,cAAc;IAClD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IAEtD;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAAmC;IAE5D;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAAQ;IAEhC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IAEzC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAEhD;;;;;;;OAOG;gBAED,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,WAAW,GAAE,iBAA+C;IAQ9D;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIlC;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAO/B;;;;OAIG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOlC;;;;OAIG;IACH,aAAa,IAAI,MAAM;IAIvB;;;;OAIG;IACH,gBAAgB,IAAI,MAAM,EAAE;IAI5B;;;;OAIG;IACH,iBAAiB,IAAI,WAAW;IAOhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;;;OAIG;IACH,cAAc,IAAI,aAAa;IAY/B;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAqD9B;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd"}
1
+ {"version":3,"file":"blockRegistry.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/blockRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,aAAa,EACb,WAAW,EACX,cAAc,EACd,MAAM,EACN,qBAAqB,EACrB,kBAAkB,EACnB,MAAM,8BAA8B,CAAC;AAOtC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,iBAGzC,CAAC;AAgDF;;;;;;;;GAQG;AACH,qBAAa,aAAc,YAAW,cAAc;IAClD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0B;IAEtD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAE/D;;OAEG;IACH,OAAO,CAAC,iBAAiB,CAAmC;IAE5D;;OAEG;IACH,OAAO,CAAC,2BAA2B,CAAsC;IAEzE;;OAEG;IACH,OAAO,CAAC,gBAAgB,CAAQ;IAEhC;;OAEG;IACH,OAAO,CAAC,oBAAoB,CAAQ;IAEpC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IAEzC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAEhD;;;;;;;OAOG;gBAED,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,WAAW,GAAE,iBAA+C;IAQ9D;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAIlC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAahD;;;;;;;;OAQG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAmBnD;;;;OAIG;IACH,aAAa,IAAI,MAAM;IAIvB;;;;OAIG;IACH,gBAAgB,IAAI,MAAM,EAAE;IAI5B;;;;OAIG;IACH,iBAAiB,IAAI,WAAW;IAOhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;;;OAIG;IACH,cAAc,IAAI,aAAa;IAY/B;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAW/B;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAuD9B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;;;;;OAOG;IACH,2BAA2B,IAAI,qBAAqB;IAiCpD;;;;;;OAMG;IACH,wBAAwB,IAAI,kBAAkB;IA6B9C;;OAEG;IACH,KAAK,IAAI,IAAI;CAQd"}
@@ -80,14 +80,27 @@ class BlockRegistry {
80
80
  * In-memory Set of local block IDs for O(1) lookups.
81
81
  */
82
82
  this.localBlocks = new Set();
83
+ /**
84
+ * Mapping of blockId → poolId for pool-scoped tracking.
85
+ * Blocks without a pool association are not present in this map.
86
+ */
87
+ this.blockPoolMap = new Map();
83
88
  /**
84
89
  * Cached Bloom filter (regenerated when blocks change).
85
90
  */
86
91
  this.cachedBloomFilter = null;
92
+ /**
93
+ * Cached pool-scoped Bloom filters (regenerated when blocks change).
94
+ */
95
+ this.cachedPoolScopedBloomFilter = null;
87
96
  /**
88
97
  * Flag indicating if the Bloom filter needs regeneration.
89
98
  */
90
99
  this.bloomFilterDirty = true;
100
+ /**
101
+ * Flag indicating if the pool-scoped Bloom filter needs regeneration.
102
+ */
103
+ this.poolScopedBloomDirty = true;
91
104
  this.nodeId = nodeId;
92
105
  this.storePath = storePath;
93
106
  this.blockSizeString = blockSizeString;
@@ -106,23 +119,44 @@ class BlockRegistry {
106
119
  * Add a block to the local registry.
107
120
  *
108
121
  * @param blockId - The block ID to add
122
+ * @param poolId - Optional pool the block belongs to
109
123
  */
110
- addLocal(blockId) {
124
+ addLocal(blockId, poolId) {
111
125
  if (!this.localBlocks.has(blockId)) {
112
126
  this.localBlocks.add(blockId);
113
127
  this.bloomFilterDirty = true;
128
+ this.poolScopedBloomDirty = true;
129
+ }
130
+ // Always update pool association (allows re-association)
131
+ if (poolId !== undefined) {
132
+ this.blockPoolMap.set(blockId, poolId);
133
+ this.poolScopedBloomDirty = true;
114
134
  }
115
135
  }
116
136
  /**
117
137
  * Remove a block from the local registry.
118
138
  *
139
+ * When poolId is provided, only removes the block if it belongs to that pool.
140
+ * When poolId is omitted, removes the block unconditionally.
141
+ *
119
142
  * @param blockId - The block ID to remove
143
+ * @param poolId - Optional pool the block belonged to
120
144
  */
121
- removeLocal(blockId) {
122
- if (this.localBlocks.has(blockId)) {
123
- this.localBlocks.delete(blockId);
124
- this.bloomFilterDirty = true;
145
+ removeLocal(blockId, poolId) {
146
+ if (!this.localBlocks.has(blockId)) {
147
+ return;
125
148
  }
149
+ if (poolId !== undefined) {
150
+ // Pool-scoped removal: only remove if the block belongs to this pool
151
+ const currentPool = this.blockPoolMap.get(blockId);
152
+ if (currentPool !== poolId) {
153
+ return;
154
+ }
155
+ }
156
+ this.localBlocks.delete(blockId);
157
+ this.blockPoolMap.delete(blockId);
158
+ this.bloomFilterDirty = true;
159
+ this.poolScopedBloomDirty = true;
126
160
  }
127
161
  /**
128
162
  * Get count of local blocks.
@@ -204,7 +238,9 @@ class BlockRegistry {
204
238
  async rebuild() {
205
239
  // Clear existing registry
206
240
  this.localBlocks.clear();
241
+ this.blockPoolMap.clear();
207
242
  this.bloomFilterDirty = true;
243
+ this.poolScopedBloomDirty = true;
208
244
  const basePath = (0, path_1.join)(this.storePath, this.blockSizeString);
209
245
  if (!(0, fs_1.existsSync)(basePath)) {
210
246
  return;
@@ -244,13 +280,95 @@ class BlockRegistry {
244
280
  // This handles cases where the store is empty or corrupted
245
281
  }
246
282
  }
283
+ /**
284
+ * Group blocks by their pool ID.
285
+ * Blocks without a pool association are grouped under '__default__'.
286
+ *
287
+ * @returns Map of poolId to array of block IDs
288
+ */
289
+ groupBlocksByPool() {
290
+ const pools = new Map();
291
+ for (const blockId of this.localBlocks) {
292
+ const poolId = this.blockPoolMap.get(blockId) ?? '__default__';
293
+ const list = pools.get(poolId);
294
+ if (list) {
295
+ list.push(blockId);
296
+ }
297
+ else {
298
+ pools.set(poolId, [blockId]);
299
+ }
300
+ }
301
+ return pools;
302
+ }
303
+ /**
304
+ * Export a pool-scoped Bloom filter.
305
+ * Each pool gets its own filter with keys in "poolId:blockId" format.
306
+ * Also includes a global filter for backward compatibility.
307
+ *
308
+ * @returns A pool-scoped Bloom filter container
309
+ * @see Requirements 4.5
310
+ */
311
+ exportPoolScopedBloomFilter() {
312
+ if (!this.poolScopedBloomDirty && this.cachedPoolScopedBloomFilter) {
313
+ return this.cachedPoolScopedBloomFilter;
314
+ }
315
+ const poolBlocks = this.groupBlocksByPool();
316
+ const filters = new Map();
317
+ for (const [poolId, blockIds] of poolBlocks.entries()) {
318
+ const itemCount = Math.max(blockIds.length, this.bloomConfig.expectedItems);
319
+ const filter = bloom_filters_1.BloomFilter.create(itemCount, this.bloomConfig.falsePositiveRate);
320
+ for (const blockId of blockIds) {
321
+ filter.add(`${poolId}:${blockId}`);
322
+ }
323
+ filters.set(poolId, new BloomFilterWrapper(filter, blockIds.length));
324
+ }
325
+ const globalFilter = this.exportBloomFilter();
326
+ this.cachedPoolScopedBloomFilter = { filters, globalFilter };
327
+ this.poolScopedBloomDirty = false;
328
+ return this.cachedPoolScopedBloomFilter;
329
+ }
330
+ /**
331
+ * Export a pool-scoped manifest grouping block IDs by pool.
332
+ * Used for pool-aware reconciliation with peers.
333
+ *
334
+ * @returns A manifest with block IDs grouped by pool
335
+ * @see Requirements 3.1, 3.5
336
+ */
337
+ exportPoolScopedManifest() {
338
+ const pools = this.groupBlocksByPool();
339
+ // Sort block IDs within each pool for deterministic checksums
340
+ for (const blockIds of pools.values()) {
341
+ blockIds.sort();
342
+ }
343
+ // Compute checksum over all pool:blockId pairs in sorted order
344
+ const allKeys = [];
345
+ const sortedPoolIds = Array.from(pools.keys()).sort();
346
+ for (const poolId of sortedPoolIds) {
347
+ const blockIds = pools.get(poolId);
348
+ if (blockIds) {
349
+ for (const blockId of blockIds) {
350
+ allKeys.push(`${poolId}:${blockId}`);
351
+ }
352
+ }
353
+ }
354
+ const checksum = this.computeManifestChecksum(allKeys);
355
+ return {
356
+ nodeId: this.nodeId,
357
+ pools,
358
+ generatedAt: new Date(),
359
+ checksum,
360
+ };
361
+ }
247
362
  /**
248
363
  * Clear the registry (for testing purposes).
249
364
  */
250
365
  clear() {
251
366
  this.localBlocks.clear();
367
+ this.blockPoolMap.clear();
252
368
  this.cachedBloomFilter = null;
369
+ this.cachedPoolScopedBloomFilter = null;
253
370
  this.bloomFilterDirty = true;
371
+ this.poolScopedBloomDirty = true;
254
372
  }
255
373
  }
256
374
  exports.BlockRegistry = BlockRegistry;
@@ -1 +1 @@
1
- {"version":3,"file":"blockRegistry.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/blockRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blockRegistry.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/blockRegistry.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * @see Requirements 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8
8
8
  */
9
- import { BloomFilter, DiscoveryConfig, DiscoveryResult, IDiscoveryProtocol, ILocationRecord, PeerQueryResult } from '@brightchain/brightchain-lib';
9
+ import { BloomFilter, CBLMetadataSearchQuery, CBLMetadataSearchResult, DiscoveryConfig, DiscoveryResult, ICBLIndexEntry, IDiscoveryProtocol, ILocationRecord, PeerQueryResult, PoolScopedBloomFilter } from '@brightchain/brightchain-lib';
10
10
  /**
11
11
  * Interface for peer network operations.
12
12
  * Abstracts network communication for discovery queries.
@@ -32,6 +32,15 @@ export interface IPeerNetworkProvider {
32
32
  * @returns Promise resolving to whether the peer has the block
33
33
  */
34
34
  queryPeerForBlock(peerId: string, blockId: string, timeoutMs: number): Promise<boolean>;
35
+ /**
36
+ * Query a peer for CBL index entries matching the given metadata criteria.
37
+ *
38
+ * @param peerId - The peer to query
39
+ * @param query - Search criteria (fileName, mimeType, tags, poolId)
40
+ * @param timeoutMs - Query timeout in milliseconds
41
+ * @returns Promise resolving to matching CBL index entries from that peer
42
+ */
43
+ queryPeerForCBLMetadata(peerId: string, query: CBLMetadataSearchQuery, timeoutMs: number): Promise<ICBLIndexEntry[]>;
35
44
  }
36
45
  /**
37
46
  * Discovery Protocol Implementation
@@ -105,6 +114,15 @@ export declare class DiscoveryProtocol implements IDiscoveryProtocol {
105
114
  * @see Requirements 4.2, 5.2
106
115
  */
107
116
  getPeerBloomFilter(peerId: string): Promise<BloomFilter>;
117
+ /**
118
+ * Get the pool-scoped Bloom filter from a peer.
119
+ * Returns per-pool Bloom filters for pool-aware discovery.
120
+ *
121
+ * @param peerId - The peer to get the pool-scoped Bloom filter from
122
+ * @returns Promise resolving to the peer's pool-scoped Bloom filter
123
+ * @see Requirements 4.2, 4.5
124
+ */
125
+ getPeerPoolScopedBloomFilter(peerId: string): Promise<PoolScopedBloomFilter>;
108
126
  /**
109
127
  * Get the current configuration.
110
128
  *
@@ -155,5 +173,16 @@ export declare class DiscoveryProtocol implements IDiscoveryProtocol {
155
173
  * @param locations - Location records to cache
156
174
  */
157
175
  private cacheResults;
176
+ /**
177
+ * Search for CBL index entries by metadata across pool peers.
178
+ *
179
+ * Queries all connected peers for CBL entries matching the given criteria.
180
+ * Results are deduplicated by magnet URL, keeping the first occurrence.
181
+ *
182
+ * @param query - Search criteria with optional fileName, mimeType, tags, poolId
183
+ * @returns Promise resolving to search results with matching entries and source nodes
184
+ * @see Requirements 8.5
185
+ */
186
+ searchCBLMetadata(query: CBLMetadataSearchQuery): Promise<CBLMetadataSearchResult>;
158
187
  }
159
188
  //# sourceMappingURL=discoveryProtocol.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discoveryProtocol.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/discoveryProtocol.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,WAAW,EACX,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,eAAe,EAChB,MAAM,8BAA8B,CAAC;AAuBtC;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE,CAAC;IAEhC;;;;;OAKG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzD;;;;;;;OAOG;IACH,iBAAiB,CACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,qBAAa,iBAAkB,YAAW,kBAAkB;IAkBxD,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAlBzB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsC;IAE5D;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuC;IAExE;;;;;OAKG;gBAEgB,eAAe,EAAE,oBAAoB,EACrC,MAAM,GAAE,eAAwC;IAGnE;;;;;;OAMG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IA2D9D;;;;;;;OAOG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAyB1E;;;;;;OAMG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,GAAG,IAAI;IAgB7D;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,aAAa,IAAI,IAAI;IAIrB;;;;;;OAMG;IACG,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAgB9D;;;;OAIG;IACH,SAAS,IAAI,eAAe;IAI5B;;;;OAIG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI3C;;OAEG;IACH,wBAAwB,IAAI,IAAI;IAIhC;;;;;;;;OAQG;YACW,2BAA2B;IAgCzC;;;;;;;OAOG;YACW,8BAA8B;IAgC5C;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;CAMrB"}
1
+ {"version":3,"file":"discoveryProtocol.d.ts","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/discoveryProtocol.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,WAAW,EAEX,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,qBAAqB,EACtB,MAAM,8BAA8B,CAAC;AAuBtC;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE,CAAC;IAEhC;;;;;OAKG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEzD;;;;;;;OAOG;IACH,iBAAiB,CACf,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEpB;;;;;;;OAOG;IACH,uBAAuB,CACrB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,sBAAsB,EAC7B,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;CAC9B;AAED;;;;;;;;;;GAUG;AACH,qBAAa,iBAAkB,YAAW,kBAAkB;IAkBxD,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAlBzB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsC;IAE5D;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuC;IAExE;;;;;OAKG;gBAEgB,eAAe,EAAE,oBAAoB,EACrC,MAAM,GAAE,eAAwC;IAGnE;;;;;;OAMG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IA2D9D;;;;;;;OAOG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAyB1E;;;;;;OAMG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,EAAE,GAAG,IAAI;IAgB7D;;;;OAIG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIjC;;OAEG;IACH,aAAa,IAAI,IAAI;IAIrB;;;;;;OAMG;IACG,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAgB9D;;;;;;;OAOG;IACG,4BAA4B,CAChC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,qBAAqB,CAAC;IAUjC;;;;OAIG;IACH,SAAS,IAAI,eAAe;IAI5B;;;;OAIG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI3C;;OAEG;IACH,wBAAwB,IAAI,IAAI;IAIhC;;;;;;;;OAQG;YACW,2BAA2B;IAgCzC;;;;;;;OAOG;YACW,8BAA8B;IAgC5C;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAOpB;;;;;;;;;OASG;IACG,iBAAiB,CACrB,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,uBAAuB,CAAC;CAgEpC"}
@@ -179,6 +179,23 @@ class DiscoveryProtocol {
179
179
  this.bloomFilterCache.set(peerId, filter);
180
180
  return filter;
181
181
  }
182
+ /**
183
+ * Get the pool-scoped Bloom filter from a peer.
184
+ * Returns per-pool Bloom filters for pool-aware discovery.
185
+ *
186
+ * @param peerId - The peer to get the pool-scoped Bloom filter from
187
+ * @returns Promise resolving to the peer's pool-scoped Bloom filter
188
+ * @see Requirements 4.2, 4.5
189
+ */
190
+ async getPeerPoolScopedBloomFilter(peerId) {
191
+ // Delegate to the network provider if it supports pool-scoped filters,
192
+ // otherwise return a pool-scoped filter wrapping the global filter
193
+ const globalFilter = await this.getPeerBloomFilter(peerId);
194
+ return {
195
+ filters: new Map(),
196
+ globalFilter,
197
+ };
198
+ }
182
199
  /**
183
200
  * Get the current configuration.
184
201
  *
@@ -297,6 +314,65 @@ class DiscoveryProtocol {
297
314
  cachedAt: Date.now(),
298
315
  });
299
316
  }
317
+ /**
318
+ * Search for CBL index entries by metadata across pool peers.
319
+ *
320
+ * Queries all connected peers for CBL entries matching the given criteria.
321
+ * Results are deduplicated by magnet URL, keeping the first occurrence.
322
+ *
323
+ * @param query - Search criteria with optional fileName, mimeType, tags, poolId
324
+ * @returns Promise resolving to search results with matching entries and source nodes
325
+ * @see Requirements 8.5
326
+ */
327
+ async searchCBLMetadata(query) {
328
+ const startTime = Date.now();
329
+ const connectedPeers = this.networkProvider.getConnectedPeerIds();
330
+ if (connectedPeers.length === 0) {
331
+ return {
332
+ query,
333
+ hits: [],
334
+ queriedPeers: 0,
335
+ duration: Date.now() - startTime,
336
+ };
337
+ }
338
+ const hits = [];
339
+ const seenMagnetUrls = new Set();
340
+ let queriedPeers = 0;
341
+ // Query peers with concurrency limiting
342
+ const pending = [];
343
+ let index = 0;
344
+ const queryNext = async () => {
345
+ while (index < connectedPeers.length) {
346
+ const currentIndex = index++;
347
+ const peerId = connectedPeers[currentIndex];
348
+ try {
349
+ const entries = await this.networkProvider.queryPeerForCBLMetadata(peerId, query, this.config.queryTimeoutMs);
350
+ queriedPeers++;
351
+ for (const entry of entries) {
352
+ if (!seenMagnetUrls.has(entry.magnetUrl)) {
353
+ seenMagnetUrls.add(entry.magnetUrl);
354
+ hits.push({ entry, sourceNodeId: peerId });
355
+ }
356
+ }
357
+ }
358
+ catch {
359
+ queriedPeers++;
360
+ // Peer query failed — skip silently, same pattern as block discovery
361
+ }
362
+ }
363
+ };
364
+ const concurrency = Math.min(this.config.maxConcurrentQueries, connectedPeers.length);
365
+ for (let i = 0; i < concurrency; i++) {
366
+ pending.push(queryNext());
367
+ }
368
+ await Promise.all(pending);
369
+ return {
370
+ query,
371
+ hits,
372
+ queriedPeers,
373
+ duration: Date.now() - startTime,
374
+ };
375
+ }
300
376
  }
301
377
  exports.DiscoveryProtocol = DiscoveryProtocol;
302
378
  //# sourceMappingURL=discoveryProtocol.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"discoveryProtocol.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/discoveryProtocol.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discoveryProtocol.js","sourceRoot":"","sources":["../../../../../brightchain-api-lib/src/lib/availability/discoveryProtocol.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * @see Requirements 6.1, 6.2, 6.3, 6.4, 6.5, 6.6
9
9
  */
10
- import { AnnouncementHandler, BlockAnnouncement, DeliveryAckMetadata, GossipConfig, IGossipService, MessageDeliveryMetadata } from '@brightchain/brightchain-lib';
10
+ import { AnnouncementHandler, BlockAnnouncement, DeliveryAckMetadata, GossipConfig, ICBLIndexEntry, IGossipService, MessageDeliveryMetadata, PoolId } from '@brightchain/brightchain-lib';
11
11
  import { ECIESService } from '@digitaldefiance/node-ecies-lib';
12
12
  /**
13
13
  * Error thrown when gossip configuration is invalid.
@@ -121,20 +121,59 @@ export declare class GossipService implements IGossipService {
121
121
  * Announce a new block to the network.
122
122
  *
123
123
  * @param blockId - The block ID to announce
124
- * @see Requirements 6.1
124
+ * @param poolId - Optional pool the block belongs to
125
+ * @see Requirements 6.1, 1.1, 6.3
125
126
  */
126
- announceBlock(blockId: string): Promise<void>;
127
+ announceBlock(blockId: string, poolId?: PoolId): Promise<void>;
127
128
  /**
128
129
  * Announce block removal to the network.
129
130
  *
130
131
  * @param blockId - The block ID being removed
131
- * @see Requirements 6.5
132
+ * @param poolId - Optional pool the block belonged to
133
+ * @see Requirements 6.5, 1.1
132
134
  */
133
- announceRemoval(blockId: string): Promise<void>;
135
+ announceRemoval(blockId: string, poolId?: PoolId): Promise<void>;
136
+ /**
137
+ * Announce that a pool has been deleted.
138
+ * Creates a pool_deleted announcement propagated as a tombstone.
139
+ *
140
+ * @param poolId - The pool that was deleted
141
+ * @see Requirements 2.2, 2.7
142
+ */
143
+ announcePoolDeletion(poolId: PoolId): Promise<void>;
144
+ /**
145
+ * Announce a new or updated CBL index entry to peers in the same pool.
146
+ * Creates a cbl_index_update announcement scoped to the entry's pool.
147
+ *
148
+ * @param entry - The CBL index entry being announced
149
+ * @see Requirements 8.1
150
+ */
151
+ announceCBLIndexUpdate(entry: ICBLIndexEntry): Promise<void>;
152
+ /**
153
+ * Announce a soft-deleted CBL index entry to peers in the same pool.
154
+ * Creates a cbl_index_delete announcement so peers also mark the entry as deleted.
155
+ *
156
+ * @param entry - The CBL index entry that was soft-deleted (with deletedAt set)
157
+ * @see Requirements 8.6
158
+ */
159
+ announceCBLIndexDelete(entry: ICBLIndexEntry): Promise<void>;
160
+ /**
161
+ * Announce a HeadRegistry head pointer update to peer nodes.
162
+ * Creates a head_update announcement with the database name, collection name,
163
+ * and new head block ID.
164
+ *
165
+ * @param dbName - The database name containing the collection
166
+ * @param collectionName - The collection whose head pointer was updated
167
+ * @param blockId - The new head block ID
168
+ * @see Requirements 2.1
169
+ */
170
+ announceHeadUpdate(dbName: string, collectionName: string, blockId: string): Promise<void>;
171
+ announceACLUpdate(poolId: string, aclBlockId: string): Promise<void>;
134
172
  /**
135
173
  * Handle an incoming block announcement from a peer.
136
174
  *
137
175
  * Dispatches announcements based on their type and metadata:
176
+ * - 'pool_deleted' type: dispatches to general handlers and forwards with decremented TTL (Req 2.7)
138
177
  * - 'ack' type: dispatches to delivery ack handlers only (Req 4.4)
139
178
  * - 'add' with messageDelivery and matching local recipients: triggers message delivery
140
179
  * handlers and auto-sends ack if ackRequired (Req 3.4, 3.5)
@@ -142,7 +181,7 @@ export declare class GossipService implements IGossipService {
142
181
  * - Plain 'add'/'remove' without messageDelivery: notifies general handlers and forwards (backward compat)
143
182
  *
144
183
  * @param announcement - The received announcement
145
- * @see Requirements 3.4, 3.5, 3.6, 4.4
184
+ * @see Requirements 2.7, 3.4, 3.5, 3.6, 4.4
146
185
  */
147
186
  handleAnnouncement(announcement: BlockAnnouncement): Promise<void>;
148
187
  /**