@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.
- package/package.json +5 -5
- package/src/browser.d.ts +13 -0
- package/src/browser.d.ts.map +1 -0
- package/src/browser.js +16 -0
- package/src/browser.js.map +1 -0
- package/src/index.d.ts +4 -1
- package/src/index.d.ts.map +1 -1
- package/src/index.js +6 -1
- package/src/index.js.map +1 -1
- package/src/lib/application-base.d.ts +8 -37
- package/src/lib/application-base.d.ts.map +1 -1
- package/src/lib/application-base.js +8 -80
- package/src/lib/application-base.js.map +1 -1
- package/src/lib/application.d.ts +37 -7
- package/src/lib/application.d.ts.map +1 -1
- package/src/lib/application.js +130 -118
- package/src/lib/application.js.map +1 -1
- package/src/lib/auth/aclEnforcedAvailability.d.ts +57 -0
- package/src/lib/auth/aclEnforcedAvailability.d.ts.map +1 -0
- package/src/lib/auth/aclEnforcedAvailability.js +87 -0
- package/src/lib/auth/aclEnforcedAvailability.js.map +1 -0
- package/src/lib/auth/aclEnforcedBlockStore.d.ts +66 -0
- package/src/lib/auth/aclEnforcedBlockStore.d.ts.map +1 -0
- package/src/lib/auth/aclEnforcedBlockStore.js +83 -0
- package/src/lib/auth/aclEnforcedBlockStore.js.map +1 -0
- package/src/lib/auth/ecdsaNodeAuthenticator.d.ts +46 -0
- package/src/lib/auth/ecdsaNodeAuthenticator.d.ts.map +1 -0
- package/src/lib/auth/ecdsaNodeAuthenticator.js +110 -0
- package/src/lib/auth/ecdsaNodeAuthenticator.js.map +1 -0
- package/src/lib/auth/index.d.ts +7 -0
- package/src/lib/auth/index.d.ts.map +1 -0
- package/src/lib/auth/index.js +13 -0
- package/src/lib/auth/index.js.map +1 -0
- package/src/lib/auth/poolAclBootstrap.d.ts +36 -0
- package/src/lib/auth/poolAclBootstrap.d.ts.map +1 -0
- package/src/lib/auth/poolAclBootstrap.js +64 -0
- package/src/lib/auth/poolAclBootstrap.js.map +1 -0
- package/src/lib/auth/poolAclStore.d.ts +77 -0
- package/src/lib/auth/poolAclStore.d.ts.map +1 -0
- package/src/lib/auth/poolAclStore.js +189 -0
- package/src/lib/auth/poolAclStore.js.map +1 -0
- package/src/lib/auth/poolAclUpdater.d.ts +79 -0
- package/src/lib/auth/poolAclUpdater.d.ts.map +1 -0
- package/src/lib/auth/poolAclUpdater.js +144 -0
- package/src/lib/auth/poolAclUpdater.js.map +1 -0
- package/src/lib/availability/availabilityService.d.ts +2 -2
- package/src/lib/availability/availabilityService.d.ts.map +1 -1
- package/src/lib/availability/availabilityService.js +12 -5
- package/src/lib/availability/availabilityService.js.map +1 -1
- package/src/lib/availability/blockRegistry.d.ts +45 -3
- package/src/lib/availability/blockRegistry.d.ts.map +1 -1
- package/src/lib/availability/blockRegistry.js +123 -5
- package/src/lib/availability/blockRegistry.js.map +1 -1
- package/src/lib/availability/discoveryProtocol.d.ts +30 -1
- package/src/lib/availability/discoveryProtocol.d.ts.map +1 -1
- package/src/lib/availability/discoveryProtocol.js +76 -0
- package/src/lib/availability/discoveryProtocol.js.map +1 -1
- package/src/lib/availability/gossipService.d.ts +45 -6
- package/src/lib/availability/gossipService.d.ts.map +1 -1
- package/src/lib/availability/gossipService.js +177 -5
- package/src/lib/availability/gossipService.js.map +1 -1
- package/src/lib/availability/reconciliationService.d.ts +88 -1
- package/src/lib/availability/reconciliationService.d.ts.map +1 -1
- package/src/lib/availability/reconciliationService.js +246 -48
- package/src/lib/availability/reconciliationService.js.map +1 -1
- package/src/lib/blockFetch/blockFetcher.d.ts +100 -0
- package/src/lib/blockFetch/blockFetcher.d.ts.map +1 -0
- package/src/lib/blockFetch/blockFetcher.js +279 -0
- package/src/lib/blockFetch/blockFetcher.js.map +1 -0
- package/src/lib/blockFetch/fetchQueue.d.ts +88 -0
- package/src/lib/blockFetch/fetchQueue.d.ts.map +1 -0
- package/src/lib/blockFetch/fetchQueue.js +204 -0
- package/src/lib/blockFetch/fetchQueue.js.map +1 -0
- package/src/lib/blockFetch/httpBlockFetchTransport.d.ts +65 -0
- package/src/lib/blockFetch/httpBlockFetchTransport.d.ts.map +1 -0
- package/src/lib/blockFetch/httpBlockFetchTransport.js +104 -0
- package/src/lib/blockFetch/httpBlockFetchTransport.js.map +1 -0
- package/src/lib/blockFetch/index.d.ts +10 -0
- package/src/lib/blockFetch/index.d.ts.map +1 -0
- package/src/lib/blockFetch/index.js +13 -0
- package/src/lib/blockFetch/index.js.map +1 -0
- package/src/lib/constants.js +2 -2
- package/src/lib/constants.js.map +1 -1
- package/src/lib/controllers/api/blocks.d.ts.map +1 -1
- package/src/lib/controllers/api/blocks.js +290 -290
- package/src/lib/controllers/api/blocks.js.map +1 -1
- package/src/lib/controllers/api/brightpass.d.ts +72 -0
- package/src/lib/controllers/api/brightpass.d.ts.map +1 -0
- package/src/lib/controllers/api/brightpass.js +577 -0
- package/src/lib/controllers/api/brightpass.js.map +1 -0
- package/src/lib/controllers/api/channels.d.ts +122 -0
- package/src/lib/controllers/api/channels.d.ts.map +1 -0
- package/src/lib/controllers/api/channels.js +701 -0
- package/src/lib/controllers/api/channels.js.map +1 -0
- package/src/lib/controllers/api/conversations.d.ts +89 -0
- package/src/lib/controllers/api/conversations.d.ts.map +1 -0
- package/src/lib/controllers/api/conversations.js +259 -0
- package/src/lib/controllers/api/conversations.js.map +1 -0
- package/src/lib/controllers/api/emails.d.ts +122 -0
- package/src/lib/controllers/api/emails.d.ts.map +1 -0
- package/src/lib/controllers/api/emails.js +494 -0
- package/src/lib/controllers/api/emails.js.map +1 -0
- package/src/lib/controllers/api/energy.d.ts.map +1 -1
- package/src/lib/controllers/api/energy.js +93 -93
- package/src/lib/controllers/api/energy.js.map +1 -1
- package/src/lib/controllers/api/explodingMessages.d.ts +79 -0
- package/src/lib/controllers/api/explodingMessages.d.ts.map +1 -0
- package/src/lib/controllers/api/explodingMessages.js +378 -0
- package/src/lib/controllers/api/explodingMessages.js.map +1 -0
- package/src/lib/controllers/api/groups.d.ts +94 -0
- package/src/lib/controllers/api/groups.d.ts.map +1 -0
- package/src/lib/controllers/api/groups.js +484 -0
- package/src/lib/controllers/api/groups.js.map +1 -0
- package/src/lib/controllers/api/i18n.d.ts.map +1 -1
- package/src/lib/controllers/api/i18n.js +8 -8
- package/src/lib/controllers/api/i18n.js.map +1 -1
- package/src/lib/controllers/api/index.d.ts +6 -0
- package/src/lib/controllers/api/index.d.ts.map +1 -1
- package/src/lib/controllers/api/index.js +6 -0
- package/src/lib/controllers/api/index.js.map +1 -1
- package/src/lib/controllers/api/messages.d.ts.map +1 -1
- package/src/lib/controllers/api/messages.js +2 -1
- package/src/lib/controllers/api/messages.js.map +1 -1
- package/src/lib/controllers/api/quorum.d.ts.map +1 -1
- package/src/lib/controllers/api/quorum.js +483 -483
- package/src/lib/controllers/api/quorum.js.map +1 -1
- package/src/lib/controllers/api/sessions.d.ts.map +1 -1
- package/src/lib/controllers/api/sessions.js +8 -8
- package/src/lib/controllers/api/sessions.js.map +1 -1
- package/src/lib/controllers/api/sync.d.ts +38 -2
- package/src/lib/controllers/api/sync.d.ts.map +1 -1
- package/src/lib/controllers/api/sync.js +89 -0
- package/src/lib/controllers/api/sync.js.map +1 -1
- package/src/lib/controllers/api/user.d.ts.map +1 -1
- package/src/lib/controllers/api/user.js +180 -180
- package/src/lib/controllers/api/user.js.map +1 -1
- package/src/lib/controllers/crypto/gitController.d.ts +70 -0
- package/src/lib/controllers/crypto/gitController.d.ts.map +1 -0
- package/src/lib/controllers/crypto/gitController.js +306 -0
- package/src/lib/controllers/crypto/gitController.js.map +1 -0
- package/src/lib/controllers/crypto/index.d.ts +3 -0
- package/src/lib/controllers/crypto/index.d.ts.map +1 -0
- package/src/lib/controllers/crypto/index.js +6 -0
- package/src/lib/controllers/crypto/index.js.map +1 -0
- package/src/lib/controllers/crypto/walletController.d.ts +64 -0
- package/src/lib/controllers/crypto/walletController.d.ts.map +1 -0
- package/src/lib/controllers/crypto/walletController.js +260 -0
- package/src/lib/controllers/crypto/walletController.js.map +1 -0
- package/src/lib/controllers/identity/deviceController.d.ts +96 -0
- package/src/lib/controllers/identity/deviceController.d.ts.map +1 -0
- package/src/lib/controllers/identity/deviceController.js +355 -0
- package/src/lib/controllers/identity/deviceController.js.map +1 -0
- package/src/lib/controllers/identity/directoryController.d.ts +75 -0
- package/src/lib/controllers/identity/directoryController.d.ts.map +1 -0
- package/src/lib/controllers/identity/directoryController.js +288 -0
- package/src/lib/controllers/identity/directoryController.js.map +1 -0
- package/src/lib/controllers/identity/identityProofController.d.ts +94 -0
- package/src/lib/controllers/identity/identityProofController.d.ts.map +1 -0
- package/src/lib/controllers/identity/identityProofController.js +454 -0
- package/src/lib/controllers/identity/identityProofController.js.map +1 -0
- package/src/lib/controllers/identity/index.d.ts +4 -0
- package/src/lib/controllers/identity/index.d.ts.map +1 -0
- package/src/lib/controllers/identity/index.js +7 -0
- package/src/lib/controllers/identity/index.js.map +1 -0
- package/src/lib/controllers/index.d.ts +2 -0
- package/src/lib/controllers/index.d.ts.map +1 -1
- package/src/lib/controllers/index.js +2 -0
- package/src/lib/controllers/index.js.map +1 -1
- package/src/lib/encryption/encryptedMetadataService.d.ts +87 -0
- package/src/lib/encryption/encryptedMetadataService.d.ts.map +1 -0
- package/src/lib/encryption/encryptedMetadataService.js +224 -0
- package/src/lib/encryption/encryptedMetadataService.js.map +1 -0
- package/src/lib/encryption/encryptionAwareReplication.d.ts +76 -0
- package/src/lib/encryption/encryptionAwareReplication.d.ts.map +1 -0
- package/src/lib/encryption/encryptionAwareReplication.js +116 -0
- package/src/lib/encryption/encryptionAwareReplication.js.map +1 -0
- package/src/lib/encryption/errors.d.ts +49 -0
- package/src/lib/encryption/errors.d.ts.map +1 -0
- package/src/lib/encryption/errors.js +80 -0
- package/src/lib/encryption/errors.js.map +1 -0
- package/src/lib/encryption/index.d.ts +6 -0
- package/src/lib/encryption/index.d.ts.map +1 -0
- package/src/lib/encryption/index.js +9 -0
- package/src/lib/encryption/index.js.map +1 -0
- package/src/lib/encryption/poolEncryptionService.d.ts +94 -0
- package/src/lib/encryption/poolEncryptionService.d.ts.map +1 -0
- package/src/lib/encryption/poolEncryptionService.js +252 -0
- package/src/lib/encryption/poolEncryptionService.js.map +1 -0
- package/src/lib/encryption/poolKeyManager.d.ts +82 -0
- package/src/lib/encryption/poolKeyManager.d.ts.map +1 -0
- package/src/lib/encryption/poolKeyManager.js +156 -0
- package/src/lib/encryption/poolKeyManager.js.map +1 -0
- package/src/lib/environment.d.ts +3 -0
- package/src/lib/environment.d.ts.map +1 -1
- package/src/lib/environment.js +5 -0
- package/src/lib/environment.js.map +1 -1
- package/src/lib/interfaces/application.d.ts +7 -1
- package/src/lib/interfaces/application.d.ts.map +1 -1
- package/src/lib/interfaces/brightchain-init-result.d.ts +17 -0
- package/src/lib/interfaces/brightchain-init-result.d.ts.map +1 -0
- package/src/lib/interfaces/brightchain-init-result.js +9 -0
- package/src/lib/interfaces/brightchain-init-result.js.map +1 -0
- package/src/lib/interfaces/environment.d.ts +7 -1
- package/src/lib/interfaces/environment.d.ts.map +1 -1
- package/src/lib/interfaces/index.d.ts +1 -1
- package/src/lib/interfaces/index.d.ts.map +1 -1
- package/src/lib/interfaces/requests/getBlockDataRequest.d.ts +12 -0
- package/src/lib/interfaces/requests/getBlockDataRequest.d.ts.map +1 -0
- package/src/lib/interfaces/{blockStore.js → requests/getBlockDataRequest.js} +1 -1
- package/src/lib/interfaces/requests/getBlockDataRequest.js.map +1 -0
- package/src/lib/interfaces/requests/index.d.ts +1 -0
- package/src/lib/interfaces/requests/index.d.ts.map +1 -1
- package/src/lib/routers/api.d.ts +54 -1
- package/src/lib/routers/api.d.ts.map +1 -1
- package/src/lib/routers/api.js +77 -0
- package/src/lib/routers/api.js.map +1 -1
- package/src/lib/routers/app.d.ts +22 -14
- package/src/lib/routers/app.d.ts.map +1 -1
- package/src/lib/routers/app.js +28 -116
- package/src/lib/routers/app.js.map +1 -1
- package/src/lib/services/blockStore.d.ts +5 -2
- package/src/lib/services/blockStore.d.ts.map +1 -1
- package/src/lib/services/blockStore.js +4 -0
- package/src/lib/services/blockStore.js.map +1 -1
- package/src/lib/services/brightpass/auditLogger.d.ts +77 -0
- package/src/lib/services/brightpass/auditLogger.d.ts.map +1 -0
- package/src/lib/services/brightpass/auditLogger.js +184 -0
- package/src/lib/services/brightpass/auditLogger.js.map +1 -0
- package/src/lib/services/brightpass/vaultEncryption.d.ts +82 -0
- package/src/lib/services/brightpass/vaultEncryption.d.ts.map +1 -0
- package/src/lib/services/brightpass/vaultEncryption.js +144 -0
- package/src/lib/services/brightpass/vaultEncryption.js.map +1 -0
- package/src/lib/services/brightpass.d.ts +294 -0
- package/src/lib/services/brightpass.d.ts.map +1 -0
- package/src/lib/services/brightpass.js +1260 -0
- package/src/lib/services/brightpass.js.map +1 -0
- package/src/lib/services/brightpass.property.helpers.d.ts +23 -0
- package/src/lib/services/brightpass.property.helpers.d.ts.map +1 -0
- package/src/lib/services/brightpass.property.helpers.js +113 -0
- package/src/lib/services/brightpass.property.helpers.js.map +1 -0
- package/src/lib/services/eventNotificationSystem.d.ts +69 -3
- package/src/lib/services/eventNotificationSystem.d.ts.map +1 -1
- package/src/lib/services/eventNotificationSystem.js +200 -0
- package/src/lib/services/eventNotificationSystem.js.map +1 -1
- package/src/lib/services/expirationScheduler.d.ts +90 -0
- package/src/lib/services/expirationScheduler.d.ts.map +1 -0
- package/src/lib/services/expirationScheduler.js +131 -0
- package/src/lib/services/expirationScheduler.js.map +1 -0
- package/src/lib/services/fecUsageExample.d.ts +2 -2
- package/src/lib/services/index.d.ts +2 -0
- package/src/lib/services/index.d.ts.map +1 -1
- package/src/lib/services/index.js +2 -0
- package/src/lib/services/index.js.map +1 -1
- package/src/lib/services/paginationService.d.ts +18 -0
- package/src/lib/services/paginationService.d.ts.map +1 -0
- package/src/lib/services/paginationService.js +32 -0
- package/src/lib/services/paginationService.js.map +1 -0
- package/src/lib/services/presenceService.d.ts +76 -0
- package/src/lib/services/presenceService.d.ts.map +1 -0
- package/src/lib/services/presenceService.js +143 -0
- package/src/lib/services/presenceService.js.map +1 -0
- package/src/lib/services/wireConversationPromotion.d.ts +23 -0
- package/src/lib/services/wireConversationPromotion.d.ts.map +1 -0
- package/src/lib/services/wireConversationPromotion.js +26 -0
- package/src/lib/services/wireConversationPromotion.js.map +1 -0
- package/src/lib/stores/availabilityAwareBlockStore.d.ts +115 -10
- package/src/lib/stores/availabilityAwareBlockStore.d.ts.map +1 -1
- package/src/lib/stores/availabilityAwareBlockStore.js +267 -23
- package/src/lib/stores/availabilityAwareBlockStore.js.map +1 -1
- package/src/lib/stores/diskBlockAsyncStore.d.ts +81 -2
- package/src/lib/stores/diskBlockAsyncStore.d.ts.map +1 -1
- package/src/lib/stores/diskBlockAsyncStore.js +297 -10
- package/src/lib/stores/diskBlockAsyncStore.js.map +1 -1
- package/src/lib/upstream-stubs.d.ts +36 -0
- package/src/lib/upstream-stubs.d.ts.map +1 -0
- package/src/lib/upstream-stubs.js +43 -0
- package/src/lib/upstream-stubs.js.map +1 -0
- package/src/lib/utils/communicationValidation.d.ts +44 -0
- package/src/lib/utils/communicationValidation.d.ts.map +1 -0
- package/src/lib/utils/communicationValidation.js +291 -0
- package/src/lib/utils/communicationValidation.js.map +1 -0
- package/src/lib/utils/emailValidation.d.ts +19 -0
- package/src/lib/utils/emailValidation.d.ts.map +1 -0
- package/src/lib/utils/emailValidation.js +232 -0
- package/src/lib/utils/emailValidation.js.map +1 -0
- package/src/lib/interfaces/blockStore.d.ts +0 -7
- package/src/lib/interfaces/blockStore.d.ts.map +0 -1
- 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":"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"}
|
|
@@ -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,
|
|
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
|
-
|
|
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":";AAAA;;;;;;;GAOG;;;
|
|
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,
|
|
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":";AAAA;;;;;;;GAOG;;;
|
|
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
|
-
* @
|
|
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
|
-
* @
|
|
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
|
/**
|