@brightchain/brightchain-lib 0.14.0 → 0.15.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/brightchain-lib/BROWSER_COMPAT.md +54 -0
- package/package.json +15 -4
- package/src/lib/blocks/cblBase.d.ts +16 -1
- package/src/lib/blocks/cblBase.d.ts.map +1 -1
- package/src/lib/blocks/cblBase.js +33 -4
- package/src/lib/blocks/cblBase.js.map +1 -1
- package/src/lib/blocks/extendedCbl.d.ts.map +1 -1
- package/src/lib/blocks/extendedCbl.js +2 -1
- package/src/lib/blocks/extendedCbl.js.map +1 -1
- package/src/lib/blocks/handle.d.ts +5 -0
- package/src/lib/blocks/handle.d.ts.map +1 -1
- package/src/lib/blocks/handle.js.map +1 -1
- package/src/lib/blocks/handleTuple.d.ts +9 -1
- package/src/lib/blocks/handleTuple.d.ts.map +1 -1
- package/src/lib/blocks/handleTuple.js +23 -1
- package/src/lib/blocks/handleTuple.js.map +1 -1
- package/src/lib/blocks/index.d.ts +1 -0
- package/src/lib/blocks/index.d.ts.map +1 -1
- package/src/lib/blocks/index.js +1 -0
- package/src/lib/blocks/index.js.map +1 -1
- package/src/lib/blocks/memoryTuple.d.ts +9 -2
- package/src/lib/blocks/memoryTuple.d.ts.map +1 -1
- package/src/lib/blocks/memoryTuple.js +12 -3
- package/src/lib/blocks/memoryTuple.js.map +1 -1
- package/src/lib/blocks/vcbl.d.ts +27 -0
- package/src/lib/blocks/vcbl.d.ts.map +1 -0
- package/src/lib/blocks/vcbl.js +107 -0
- package/src/lib/blocks/vcbl.js.map +1 -0
- package/src/lib/constants.d.ts +5 -1
- package/src/lib/constants.d.ts.map +1 -1
- package/src/lib/constants.js +4 -0
- package/src/lib/constants.js.map +1 -1
- package/src/lib/crypto/index.d.ts +12 -0
- package/src/lib/crypto/index.d.ts.map +1 -0
- package/src/lib/crypto/index.js +23 -0
- package/src/lib/crypto/index.js.map +1 -0
- package/src/lib/crypto/platformCrypto.d.ts +132 -0
- package/src/lib/crypto/platformCrypto.d.ts.map +1 -0
- package/src/lib/crypto/platformCrypto.js +181 -0
- package/src/lib/crypto/platformCrypto.js.map +1 -0
- package/src/lib/enumeration-translations/blockType.d.ts.map +1 -1
- package/src/lib/enumeration-translations/blockType.js +16 -0
- package/src/lib/enumeration-translations/blockType.js.map +1 -1
- package/src/lib/enumerations/blockType.d.ts +12 -0
- package/src/lib/enumerations/blockType.d.ts.map +1 -1
- package/src/lib/enumerations/blockType.js +14 -0
- package/src/lib/enumerations/blockType.js.map +1 -1
- package/src/lib/enumerations/brightChainStrings.d.ts +4 -0
- package/src/lib/enumerations/brightChainStrings.d.ts.map +1 -1
- package/src/lib/enumerations/brightChainStrings.js +4 -0
- package/src/lib/enumerations/brightChainStrings.js.map +1 -1
- package/src/lib/enumerations/cblErrorType.d.ts +2 -1
- package/src/lib/enumerations/cblErrorType.d.ts.map +1 -1
- package/src/lib/enumerations/cblErrorType.js +1 -0
- package/src/lib/enumerations/cblErrorType.js.map +1 -1
- package/src/lib/enumerations/communication.d.ts +57 -0
- package/src/lib/enumerations/communication.d.ts.map +1 -0
- package/src/lib/enumerations/communication.js +89 -0
- package/src/lib/enumerations/communication.js.map +1 -0
- package/src/lib/enumerations/deviceType.d.ts +15 -0
- package/src/lib/enumerations/deviceType.d.ts.map +1 -0
- package/src/lib/enumerations/deviceType.js +19 -0
- package/src/lib/enumerations/deviceType.js.map +1 -0
- package/src/lib/enumerations/handleTupleErrorType.d.ts +2 -1
- package/src/lib/enumerations/handleTupleErrorType.d.ts.map +1 -1
- package/src/lib/enumerations/handleTupleErrorType.js +1 -0
- package/src/lib/enumerations/handleTupleErrorType.js.map +1 -1
- package/src/lib/enumerations/index.d.ts +6 -0
- package/src/lib/enumerations/index.d.ts.map +1 -1
- package/src/lib/enumerations/index.js +11 -0
- package/src/lib/enumerations/index.js.map +1 -1
- package/src/lib/enumerations/paperKeyPurpose.d.ts +15 -0
- package/src/lib/enumerations/paperKeyPurpose.d.ts.map +1 -0
- package/src/lib/enumerations/paperKeyPurpose.js +19 -0
- package/src/lib/enumerations/paperKeyPurpose.js.map +1 -0
- package/src/lib/enumerations/proofPlatform.d.ts +24 -0
- package/src/lib/enumerations/proofPlatform.d.ts.map +1 -0
- package/src/lib/enumerations/proofPlatform.js +28 -0
- package/src/lib/enumerations/proofPlatform.js.map +1 -0
- package/src/lib/enumerations/readConcern.d.ts +22 -0
- package/src/lib/enumerations/readConcern.d.ts.map +1 -0
- package/src/lib/enumerations/readConcern.js +26 -0
- package/src/lib/enumerations/readConcern.js.map +1 -0
- package/src/lib/enumerations/tupleErrorType.d.ts +2 -1
- package/src/lib/enumerations/tupleErrorType.d.ts.map +1 -1
- package/src/lib/enumerations/tupleErrorType.js +1 -0
- package/src/lib/enumerations/tupleErrorType.js.map +1 -1
- package/src/lib/enumerations/verificationStatus.d.ts +17 -0
- package/src/lib/enumerations/verificationStatus.d.ts.map +1 -0
- package/src/lib/enumerations/verificationStatus.js +21 -0
- package/src/lib/enumerations/verificationStatus.js.map +1 -0
- package/src/lib/errors/blockFetchError.d.ts +51 -0
- package/src/lib/errors/blockFetchError.d.ts.map +1 -0
- package/src/lib/errors/blockFetchError.js +63 -0
- package/src/lib/errors/blockFetchError.js.map +1 -0
- package/src/lib/errors/cblError.d.ts.map +1 -1
- package/src/lib/errors/cblError.js +1 -0
- package/src/lib/errors/cblError.js.map +1 -1
- package/src/lib/errors/handleTupleError.d.ts +10 -1
- package/src/lib/errors/handleTupleError.d.ts.map +1 -1
- package/src/lib/errors/handleTupleError.js +10 -1
- package/src/lib/errors/handleTupleError.js.map +1 -1
- package/src/lib/errors/index.d.ts +16 -0
- package/src/lib/errors/index.d.ts.map +1 -1
- package/src/lib/errors/index.js +22 -0
- package/src/lib/errors/index.js.map +1 -1
- package/src/lib/errors/poolDeletionError.d.ts +10 -0
- package/src/lib/errors/poolDeletionError.d.ts.map +1 -0
- package/src/lib/errors/poolDeletionError.js +16 -0
- package/src/lib/errors/poolDeletionError.js.map +1 -0
- package/src/lib/errors/poolDeletionTombstoneError.d.ts +12 -0
- package/src/lib/errors/poolDeletionTombstoneError.d.ts.map +1 -0
- package/src/lib/errors/poolDeletionTombstoneError.js +18 -0
- package/src/lib/errors/poolDeletionTombstoneError.js.map +1 -0
- package/src/lib/errors/tupleError.d.ts.map +1 -1
- package/src/lib/errors/tupleError.js +1 -0
- package/src/lib/errors/tupleError.js.map +1 -1
- package/src/lib/i18n/i18n-setup.d.ts +1 -1
- package/src/lib/i18n/strings/englishUs.d.ts.map +1 -1
- package/src/lib/i18n/strings/englishUs.js +4 -0
- package/src/lib/i18n/strings/englishUs.js.map +1 -1
- package/src/lib/i18n/strings/french.d.ts.map +1 -1
- package/src/lib/i18n/strings/french.js +4 -0
- package/src/lib/i18n/strings/french.js.map +1 -1
- package/src/lib/i18n/strings/german.d.ts.map +1 -1
- package/src/lib/i18n/strings/german.js +4 -0
- package/src/lib/i18n/strings/german.js.map +1 -1
- package/src/lib/i18n/strings/japanese.d.ts.map +1 -1
- package/src/lib/i18n/strings/japanese.js +4 -0
- package/src/lib/i18n/strings/japanese.js.map +1 -1
- package/src/lib/i18n/strings/mandarin.d.ts.map +1 -1
- package/src/lib/i18n/strings/mandarin.js +4 -0
- package/src/lib/i18n/strings/mandarin.js.map +1 -1
- package/src/lib/i18n/strings/spanish.d.ts.map +1 -1
- package/src/lib/i18n/strings/spanish.js +4 -0
- package/src/lib/i18n/strings/spanish.js.map +1 -1
- package/src/lib/i18n/strings/ukrainian.d.ts.map +1 -1
- package/src/lib/i18n/strings/ukrainian.js +4 -0
- package/src/lib/i18n/strings/ukrainian.js.map +1 -1
- package/src/lib/index.d.ts +4 -0
- package/src/lib/index.d.ts.map +1 -1
- package/src/lib/index.js +4 -0
- package/src/lib/index.js.map +1 -1
- package/src/lib/interfaces/auth/index.d.ts +4 -0
- package/src/lib/interfaces/auth/index.d.ts.map +1 -0
- package/src/lib/interfaces/auth/index.js +8 -0
- package/src/lib/interfaces/auth/index.js.map +1 -0
- package/src/lib/interfaces/auth/nodeAuthenticator.d.ts +19 -0
- package/src/lib/interfaces/auth/nodeAuthenticator.d.ts.map +1 -0
- package/src/lib/interfaces/auth/nodeAuthenticator.js +3 -0
- package/src/lib/interfaces/auth/nodeAuthenticator.js.map +1 -0
- package/src/lib/interfaces/auth/poolAcl.d.ts +65 -0
- package/src/lib/interfaces/auth/poolAcl.d.ts.map +1 -0
- package/src/lib/interfaces/auth/poolAcl.js +52 -0
- package/src/lib/interfaces/auth/poolAcl.js.map +1 -0
- package/src/lib/interfaces/availability/availabilityService.d.ts +5 -3
- package/src/lib/interfaces/availability/availabilityService.d.ts.map +1 -1
- package/src/lib/interfaces/availability/availabilityService.js.map +1 -1
- package/src/lib/interfaces/availability/blockRegistry.d.ts +52 -3
- package/src/lib/interfaces/availability/blockRegistry.d.ts.map +1 -1
- package/src/lib/interfaces/availability/blockRegistry.js +1 -1
- package/src/lib/interfaces/availability/discoveryProtocol.d.ts +81 -3
- package/src/lib/interfaces/availability/discoveryProtocol.d.ts.map +1 -1
- package/src/lib/interfaces/availability/discoveryProtocol.js.map +1 -1
- package/src/lib/interfaces/availability/gossipService.d.ts +110 -6
- package/src/lib/interfaces/availability/gossipService.d.ts.map +1 -1
- package/src/lib/interfaces/availability/gossipService.js +94 -1
- package/src/lib/interfaces/availability/gossipService.js.map +1 -1
- package/src/lib/interfaces/availability/index.d.ts +1 -0
- package/src/lib/interfaces/availability/index.d.ts.map +1 -1
- package/src/lib/interfaces/availability/index.js +1 -0
- package/src/lib/interfaces/availability/index.js.map +1 -1
- package/src/lib/interfaces/availability/locationRecord.d.ts +6 -0
- package/src/lib/interfaces/availability/locationRecord.d.ts.map +1 -1
- package/src/lib/interfaces/availability/locationRecord.js +12 -0
- package/src/lib/interfaces/availability/locationRecord.js.map +1 -1
- package/src/lib/interfaces/availability/poolDeletionTombstone.d.ts +40 -0
- package/src/lib/interfaces/availability/poolDeletionTombstone.d.ts.map +1 -0
- package/src/lib/interfaces/availability/poolDeletionTombstone.js +19 -0
- package/src/lib/interfaces/availability/poolDeletionTombstone.js.map +1 -0
- package/src/lib/interfaces/availability/reconciliationService.d.ts +52 -0
- package/src/lib/interfaces/availability/reconciliationService.d.ts.map +1 -1
- package/src/lib/interfaces/availability/reconciliationService.js.map +1 -1
- package/src/lib/interfaces/blockCapacity.d.ts +9 -0
- package/src/lib/interfaces/blockCapacity.d.ts.map +1 -1
- package/src/lib/interfaces/blockEncryption.d.ts +4 -2
- package/src/lib/interfaces/blockEncryption.d.ts.map +1 -1
- package/src/lib/interfaces/blockFetch/blockFetchTransport.d.ts +26 -0
- package/src/lib/interfaces/blockFetch/blockFetchTransport.d.ts.map +1 -0
- package/src/lib/interfaces/blockFetch/blockFetchTransport.js +12 -0
- package/src/lib/interfaces/blockFetch/blockFetchTransport.js.map +1 -0
- package/src/lib/interfaces/blockFetch/blockFetcher.d.ts +71 -0
- package/src/lib/interfaces/blockFetch/blockFetcher.d.ts.map +1 -0
- package/src/lib/interfaces/blockFetch/blockFetcher.js +22 -0
- package/src/lib/interfaces/blockFetch/blockFetcher.js.map +1 -0
- package/src/lib/interfaces/blockFetch/enrichedQueryResult.d.ts +43 -0
- package/src/lib/interfaces/blockFetch/enrichedQueryResult.d.ts.map +1 -0
- package/src/lib/interfaces/blockFetch/enrichedQueryResult.js +13 -0
- package/src/lib/interfaces/blockFetch/enrichedQueryResult.js.map +1 -0
- package/src/lib/interfaces/blockFetch/fetchQueue.d.ts +70 -0
- package/src/lib/interfaces/blockFetch/fetchQueue.d.ts.map +1 -0
- package/src/lib/interfaces/blockFetch/fetchQueue.js +18 -0
- package/src/lib/interfaces/blockFetch/fetchQueue.js.map +1 -0
- package/src/lib/interfaces/blockFetch/index.d.ts +10 -0
- package/src/lib/interfaces/blockFetch/index.d.ts.map +1 -0
- package/src/lib/interfaces/blockFetch/index.js +13 -0
- package/src/lib/interfaces/blockFetch/index.js.map +1 -0
- package/src/lib/interfaces/blocks/index.d.ts +1 -0
- package/src/lib/interfaces/blocks/index.d.ts.map +1 -1
- package/src/lib/interfaces/blocks/vcbl.d.ts +16 -0
- package/src/lib/interfaces/blocks/vcbl.d.ts.map +1 -0
- package/src/lib/interfaces/blocks/vcbl.js +3 -0
- package/src/lib/interfaces/blocks/vcbl.js.map +1 -0
- package/src/lib/interfaces/brightpass/auditLog.d.ts +25 -0
- package/src/lib/interfaces/brightpass/auditLog.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/auditLog.js +21 -0
- package/src/lib/interfaces/brightpass/auditLog.js.map +1 -0
- package/src/lib/interfaces/brightpass/emergencyAccess.d.ts +11 -0
- package/src/lib/interfaces/brightpass/emergencyAccess.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/emergencyAccess.js +3 -0
- package/src/lib/interfaces/brightpass/emergencyAccess.js.map +1 -0
- package/src/lib/interfaces/brightpass/entryPropertyRecord.d.ts +11 -0
- package/src/lib/interfaces/brightpass/entryPropertyRecord.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/entryPropertyRecord.js +3 -0
- package/src/lib/interfaces/brightpass/entryPropertyRecord.js.map +1 -0
- package/src/lib/interfaces/brightpass/importTypes.d.ts +10 -0
- package/src/lib/interfaces/brightpass/importTypes.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/importTypes.js +3 -0
- package/src/lib/interfaces/brightpass/importTypes.js.map +1 -0
- package/src/lib/interfaces/brightpass/index.d.ts +7 -0
- package/src/lib/interfaces/brightpass/index.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/index.js +10 -0
- package/src/lib/interfaces/brightpass/index.js.map +1 -0
- package/src/lib/interfaces/brightpass/vaultEntry.d.ts +48 -0
- package/src/lib/interfaces/brightpass/vaultEntry.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/vaultEntry.js +3 -0
- package/src/lib/interfaces/brightpass/vaultEntry.js.map +1 -0
- package/src/lib/interfaces/brightpass/vaultMetadata.d.ts +34 -0
- package/src/lib/interfaces/brightpass/vaultMetadata.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/vaultMetadata.js +3 -0
- package/src/lib/interfaces/brightpass/vaultMetadata.js.map +1 -0
- package/src/lib/interfaces/clusterKeys.d.ts +4 -2
- package/src/lib/interfaces/clusterKeys.d.ts.map +1 -1
- package/src/lib/interfaces/communication.d.ts +173 -0
- package/src/lib/interfaces/communication.d.ts.map +1 -0
- package/src/lib/interfaces/communication.js +17 -0
- package/src/lib/interfaces/communication.js.map +1 -0
- package/src/lib/interfaces/communicationEvents.d.ts +168 -0
- package/src/lib/interfaces/communicationEvents.d.ts.map +1 -0
- package/src/lib/interfaces/communicationEvents.js +12 -0
- package/src/lib/interfaces/communicationEvents.js.map +1 -0
- package/src/lib/interfaces/crypto/ethereumWallet.d.ts +72 -0
- package/src/lib/interfaces/crypto/ethereumWallet.d.ts.map +1 -0
- package/src/lib/interfaces/crypto/ethereumWallet.js +12 -0
- package/src/lib/interfaces/crypto/ethereumWallet.js.map +1 -0
- package/src/lib/interfaces/crypto/gitSignature.d.ts +95 -0
- package/src/lib/interfaces/crypto/gitSignature.d.ts.map +1 -0
- package/src/lib/interfaces/crypto/gitSignature.js +12 -0
- package/src/lib/interfaces/crypto/gitSignature.js.map +1 -0
- package/src/lib/interfaces/crypto/index.d.ts +3 -0
- package/src/lib/interfaces/crypto/index.d.ts.map +1 -0
- package/src/lib/interfaces/crypto/index.js +3 -0
- package/src/lib/interfaces/crypto/index.js.map +1 -0
- package/src/lib/interfaces/dataKeyComponents.d.ts +7 -2
- package/src/lib/interfaces/dataKeyComponents.d.ts.map +1 -1
- package/src/lib/interfaces/encryptedBlockCreator.d.ts +4 -2
- package/src/lib/interfaces/encryptedBlockCreator.d.ts.map +1 -1
- package/src/lib/interfaces/events/communicationEventEmitter.d.ts +65 -0
- package/src/lib/interfaces/events/communicationEventEmitter.d.ts.map +1 -0
- package/src/lib/interfaces/events/communicationEventEmitter.js +60 -0
- package/src/lib/interfaces/events/communicationEventEmitter.js.map +1 -0
- package/src/lib/interfaces/events/index.d.ts +2 -0
- package/src/lib/interfaces/events/index.d.ts.map +1 -0
- package/src/lib/interfaces/events/index.js +5 -0
- package/src/lib/interfaces/events/index.js.map +1 -0
- package/src/lib/interfaces/failableResult.d.ts +15 -0
- package/src/lib/interfaces/failableResult.d.ts.map +1 -0
- package/src/lib/interfaces/failableResult.js +3 -0
- package/src/lib/interfaces/failableResult.js.map +1 -0
- package/src/lib/interfaces/identity/device.d.ts +59 -0
- package/src/lib/interfaces/identity/device.d.ts.map +1 -0
- package/src/lib/interfaces/identity/device.js +17 -0
- package/src/lib/interfaces/identity/device.js.map +1 -0
- package/src/lib/interfaces/identity/deviceKeyStorage.d.ts +71 -0
- package/src/lib/interfaces/identity/deviceKeyStorage.d.ts.map +1 -0
- package/src/lib/interfaces/identity/deviceKeyStorage.js +16 -0
- package/src/lib/interfaces/identity/deviceKeyStorage.js.map +1 -0
- package/src/lib/interfaces/identity/identityProof.d.ts +90 -0
- package/src/lib/interfaces/identity/identityProof.d.ts.map +1 -0
- package/src/lib/interfaces/identity/identityProof.js +18 -0
- package/src/lib/interfaces/identity/identityProof.js.map +1 -0
- package/src/lib/interfaces/identity/index.d.ts +7 -0
- package/src/lib/interfaces/identity/index.d.ts.map +1 -0
- package/src/lib/interfaces/identity/index.js +3 -0
- package/src/lib/interfaces/identity/index.js.map +1 -0
- package/src/lib/interfaces/identity/paperKey.d.ts +97 -0
- package/src/lib/interfaces/identity/paperKey.d.ts.map +1 -0
- package/src/lib/interfaces/identity/paperKey.js +17 -0
- package/src/lib/interfaces/identity/paperKey.js.map +1 -0
- package/src/lib/interfaces/identity/publicProfile.d.ts +74 -0
- package/src/lib/interfaces/identity/publicProfile.d.ts.map +1 -0
- package/src/lib/interfaces/identity/publicProfile.js +18 -0
- package/src/lib/interfaces/identity/publicProfile.js.map +1 -0
- package/src/lib/interfaces/identity/splitPaperKey.d.ts +73 -0
- package/src/lib/interfaces/identity/splitPaperKey.d.ts.map +1 -0
- package/src/lib/interfaces/identity/splitPaperKey.js +20 -0
- package/src/lib/interfaces/identity/splitPaperKey.js.map +1 -0
- package/src/lib/interfaces/index.d.ts +11 -2
- package/src/lib/interfaces/index.d.ts.map +1 -1
- package/src/lib/interfaces/index.js +12 -0
- package/src/lib/interfaces/index.js.map +1 -1
- package/src/lib/interfaces/network/node.d.ts +4 -2
- package/src/lib/interfaces/network/node.d.ts.map +1 -1
- package/src/lib/interfaces/network/nodeAdvertisement.d.ts +4 -2
- package/src/lib/interfaces/network/nodeAdvertisement.d.ts.map +1 -1
- package/src/lib/interfaces/privateVotingDerivation.d.ts +7 -2
- package/src/lib/interfaces/privateVotingDerivation.d.ts.map +1 -1
- package/src/lib/interfaces/requests/communicationRequests.d.ts +154 -0
- package/src/lib/interfaces/requests/communicationRequests.d.ts.map +1 -0
- package/src/lib/interfaces/requests/communicationRequests.js +10 -0
- package/src/lib/interfaces/requests/communicationRequests.js.map +1 -0
- package/src/lib/interfaces/requests/index.d.ts +2 -0
- package/src/lib/interfaces/requests/index.d.ts.map +1 -0
- package/src/lib/interfaces/requests/index.js +3 -0
- package/src/lib/interfaces/requests/index.js.map +1 -0
- package/src/lib/interfaces/responses/blockDataResponse.d.ts +11 -0
- package/src/lib/interfaces/responses/blockDataResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/blockDataResponse.js +3 -0
- package/src/lib/interfaces/responses/blockDataResponse.js.map +1 -0
- package/src/lib/interfaces/responses/communicationResponses.d.ts +82 -0
- package/src/lib/interfaces/responses/communicationResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/communicationResponses.js +17 -0
- package/src/lib/interfaces/responses/communicationResponses.js.map +1 -0
- package/src/lib/interfaces/responses/cryptoResponses.d.ts +30 -0
- package/src/lib/interfaces/responses/cryptoResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/cryptoResponses.js +12 -0
- package/src/lib/interfaces/responses/cryptoResponses.js.map +1 -0
- package/src/lib/interfaces/responses/deviceResponses.d.ts +26 -0
- package/src/lib/interfaces/responses/deviceResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/deviceResponses.js +15 -0
- package/src/lib/interfaces/responses/deviceResponses.js.map +1 -0
- package/src/lib/interfaces/responses/directoryResponses.d.ts +26 -0
- package/src/lib/interfaces/responses/directoryResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/directoryResponses.js +12 -0
- package/src/lib/interfaces/responses/directoryResponses.js.map +1 -0
- package/src/lib/interfaces/responses/emailResponses.d.ts +40 -0
- package/src/lib/interfaces/responses/emailResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/emailResponses.js +18 -0
- package/src/lib/interfaces/responses/emailResponses.js.map +1 -0
- package/src/lib/interfaces/responses/explodingMessageResponses.d.ts +42 -0
- package/src/lib/interfaces/responses/explodingMessageResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/explodingMessageResponses.js +11 -0
- package/src/lib/interfaces/responses/explodingMessageResponses.js.map +1 -0
- package/src/lib/interfaces/responses/identityProofResponses.d.ts +33 -0
- package/src/lib/interfaces/responses/identityProofResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/identityProofResponses.js +12 -0
- package/src/lib/interfaces/responses/identityProofResponses.js.map +1 -0
- package/src/lib/interfaces/responses/index.d.ts +3 -1
- package/src/lib/interfaces/responses/index.d.ts.map +1 -1
- package/src/lib/interfaces/sealResults.d.ts +7 -2
- package/src/lib/interfaces/sealResults.d.ts.map +1 -1
- package/src/lib/interfaces/services/fecService.d.ts +7 -5
- package/src/lib/interfaces/services/fecService.d.ts.map +1 -1
- package/src/lib/interfaces/services/fecService.js +2 -0
- package/src/lib/interfaces/services/fecService.js.map +1 -1
- package/src/lib/interfaces/singleEncryptedBlockDetails.d.ts +7 -2
- package/src/lib/interfaces/singleEncryptedBlockDetails.d.ts.map +1 -1
- package/src/lib/interfaces/storage/blockMetadata.d.ts +8 -1
- package/src/lib/interfaces/storage/blockMetadata.d.ts.map +1 -1
- package/src/lib/interfaces/storage/blockMetadata.js +3 -1
- package/src/lib/interfaces/storage/blockMetadata.js.map +1 -1
- package/src/lib/interfaces/storage/cblIndex.d.ts +141 -0
- package/src/lib/interfaces/storage/cblIndex.d.ts.map +1 -0
- package/src/lib/interfaces/storage/cblIndex.js +28 -0
- package/src/lib/interfaces/storage/cblIndex.js.map +1 -0
- package/src/lib/interfaces/storage/clientSession.d.ts +22 -0
- package/src/lib/interfaces/storage/clientSession.d.ts.map +1 -0
- package/src/lib/interfaces/storage/clientSession.js +3 -0
- package/src/lib/interfaces/storage/clientSession.js.map +1 -0
- package/src/lib/interfaces/storage/collection.d.ts +80 -0
- package/src/lib/interfaces/storage/collection.d.ts.map +1 -0
- package/src/lib/interfaces/storage/collection.js +3 -0
- package/src/lib/interfaces/storage/collection.js.map +1 -0
- package/src/lib/interfaces/storage/database.d.ts +30 -0
- package/src/lib/interfaces/storage/database.d.ts.map +1 -0
- package/src/lib/interfaces/storage/database.js +3 -0
- package/src/lib/interfaces/storage/database.js.map +1 -0
- package/src/lib/interfaces/storage/databaseLifecycleHooks.d.ts +43 -0
- package/src/lib/interfaces/storage/databaseLifecycleHooks.d.ts.map +1 -0
- package/src/lib/interfaces/storage/databaseLifecycleHooks.js +3 -0
- package/src/lib/interfaces/storage/databaseLifecycleHooks.js.map +1 -0
- package/src/lib/interfaces/storage/documentTypes.d.ts +413 -0
- package/src/lib/interfaces/storage/documentTypes.d.ts.map +1 -0
- package/src/lib/interfaces/storage/documentTypes.js +8 -0
- package/src/lib/interfaces/storage/documentTypes.js.map +1 -0
- package/src/lib/interfaces/storage/encryptedPool.d.ts +64 -0
- package/src/lib/interfaces/storage/encryptedPool.d.ts.map +1 -0
- package/src/lib/interfaces/storage/encryptedPool.js +26 -0
- package/src/lib/interfaces/storage/encryptedPool.js.map +1 -0
- package/src/lib/interfaces/storage/headRegistry.d.ts +128 -0
- package/src/lib/interfaces/storage/headRegistry.d.ts.map +1 -0
- package/src/lib/interfaces/storage/headRegistry.js +3 -0
- package/src/lib/interfaces/storage/headRegistry.js.map +1 -0
- package/src/lib/interfaces/storage/index.d.ts +14 -0
- package/src/lib/interfaces/storage/index.d.ts.map +1 -1
- package/src/lib/interfaces/storage/index.js +14 -1
- package/src/lib/interfaces/storage/index.js.map +1 -1
- package/src/lib/interfaces/storage/pooledBlockStore.d.ts +163 -0
- package/src/lib/interfaces/storage/pooledBlockStore.d.ts.map +1 -0
- package/src/lib/interfaces/storage/pooledBlockStore.js +77 -0
- package/src/lib/interfaces/storage/pooledBlockStore.js.map +1 -0
- package/src/lib/interfaces/storage/readConcernBlockStore.d.ts +47 -0
- package/src/lib/interfaces/storage/readConcernBlockStore.d.ts.map +1 -0
- package/src/lib/interfaces/storage/readConcernBlockStore.js +29 -0
- package/src/lib/interfaces/storage/readConcernBlockStore.js.map +1 -0
- package/src/lib/interfaces/symmetricEncryptionResults.d.ts +7 -5
- package/src/lib/interfaces/symmetricEncryptionResults.d.ts.map +1 -1
- package/src/lib/services/blockCapacity.service.d.ts.map +1 -1
- package/src/lib/services/blockCapacity.service.js +15 -0
- package/src/lib/services/blockCapacity.service.js.map +1 -1
- package/src/lib/services/brightpass/auditLogger.d.ts +41 -0
- package/src/lib/services/brightpass/auditLogger.d.ts.map +1 -0
- package/src/lib/services/brightpass/auditLogger.js +47 -0
- package/src/lib/services/brightpass/auditLogger.js.map +1 -0
- package/src/lib/services/brightpass/breachDetector.d.ts +68 -0
- package/src/lib/services/brightpass/breachDetector.d.ts.map +1 -0
- package/src/lib/services/brightpass/breachDetector.js +102 -0
- package/src/lib/services/brightpass/breachDetector.js.map +1 -0
- package/src/lib/services/brightpass/importParser.d.ts +105 -0
- package/src/lib/services/brightpass/importParser.d.ts.map +1 -0
- package/src/lib/services/brightpass/importParser.js +380 -0
- package/src/lib/services/brightpass/importParser.js.map +1 -0
- package/src/lib/services/brightpass/index.d.ts +16 -0
- package/src/lib/services/brightpass/index.d.ts.map +1 -0
- package/src/lib/services/brightpass/index.js +19 -0
- package/src/lib/services/brightpass/index.js.map +1 -0
- package/src/lib/services/brightpass/passwordGenerator.d.ts +111 -0
- package/src/lib/services/brightpass/passwordGenerator.d.ts.map +1 -0
- package/src/lib/services/brightpass/passwordGenerator.js +162 -0
- package/src/lib/services/brightpass/passwordGenerator.js.map +1 -0
- package/src/lib/services/brightpass/totpEngine.d.ts +191 -0
- package/src/lib/services/brightpass/totpEngine.d.ts.map +1 -0
- package/src/lib/services/brightpass/totpEngine.js +198 -0
- package/src/lib/services/brightpass/totpEngine.js.map +1 -0
- package/src/lib/services/brightpass/vaultKeyDerivation.d.ts +26 -0
- package/src/lib/services/brightpass/vaultKeyDerivation.d.ts.map +1 -0
- package/src/lib/services/brightpass/vaultKeyDerivation.js +42 -0
- package/src/lib/services/brightpass/vaultKeyDerivation.js.map +1 -0
- package/src/lib/services/brightpass/vaultSerializer.d.ts +14 -0
- package/src/lib/services/brightpass/vaultSerializer.d.ts.map +1 -0
- package/src/lib/services/brightpass/vaultSerializer.js +77 -0
- package/src/lib/services/brightpass/vaultSerializer.js.map +1 -0
- package/src/lib/services/cblService.d.ts +4 -2
- package/src/lib/services/cblService.d.ts.map +1 -1
- package/src/lib/services/cblService.js +8 -4
- package/src/lib/services/cblService.js.map +1 -1
- package/src/lib/services/communication/channelService.d.ts +208 -0
- package/src/lib/services/communication/channelService.d.ts.map +1 -0
- package/src/lib/services/communication/channelService.js +575 -0
- package/src/lib/services/communication/channelService.js.map +1 -0
- package/src/lib/services/communication/conversationService.d.ts +130 -0
- package/src/lib/services/communication/conversationService.d.ts.map +1 -0
- package/src/lib/services/communication/conversationService.js +279 -0
- package/src/lib/services/communication/conversationService.js.map +1 -0
- package/src/lib/services/communication/explodingMessageService.d.ts +168 -0
- package/src/lib/services/communication/explodingMessageService.d.ts.map +1 -0
- package/src/lib/services/communication/explodingMessageService.js +287 -0
- package/src/lib/services/communication/explodingMessageService.js.map +1 -0
- package/src/lib/services/communication/groupService.d.ts +165 -0
- package/src/lib/services/communication/groupService.d.ts.map +1 -0
- package/src/lib/services/communication/groupService.js +437 -0
- package/src/lib/services/communication/groupService.js.map +1 -0
- package/src/lib/services/communication/index.d.ts +16 -0
- package/src/lib/services/communication/index.d.ts.map +1 -0
- package/src/lib/services/communication/index.js +63 -0
- package/src/lib/services/communication/index.js.map +1 -0
- package/src/lib/services/communication/messageOperationsService.d.ts +81 -0
- package/src/lib/services/communication/messageOperationsService.d.ts.map +1 -0
- package/src/lib/services/communication/messageOperationsService.js +162 -0
- package/src/lib/services/communication/messageOperationsService.js.map +1 -0
- package/src/lib/services/communication/permissionService.d.ts +47 -0
- package/src/lib/services/communication/permissionService.d.ts.map +1 -0
- package/src/lib/services/communication/permissionService.js +82 -0
- package/src/lib/services/communication/permissionService.js.map +1 -0
- package/src/lib/services/communication/searchService.d.ts +30 -0
- package/src/lib/services/communication/searchService.d.ts.map +1 -0
- package/src/lib/services/communication/searchService.js +83 -0
- package/src/lib/services/communication/searchService.js.map +1 -0
- package/src/lib/services/crypto/ethereumWalletService.d.ts +159 -0
- package/src/lib/services/crypto/ethereumWalletService.d.ts.map +1 -0
- package/src/lib/services/crypto/ethereumWalletService.js +345 -0
- package/src/lib/services/crypto/ethereumWalletService.js.map +1 -0
- package/src/lib/services/crypto/gitSigningService.d.ts +145 -0
- package/src/lib/services/crypto/gitSigningService.d.ts.map +1 -0
- package/src/lib/services/crypto/gitSigningService.js +291 -0
- package/src/lib/services/crypto/gitSigningService.js.map +1 -0
- package/src/lib/services/crypto/index.d.ts +3 -0
- package/src/lib/services/crypto/index.d.ts.map +1 -0
- package/src/lib/services/crypto/index.js +6 -0
- package/src/lib/services/crypto/index.js.map +1 -0
- package/src/lib/services/identity/deviceProvisioningService.d.ts +146 -0
- package/src/lib/services/identity/deviceProvisioningService.d.ts.map +1 -0
- package/src/lib/services/identity/deviceProvisioningService.js +219 -0
- package/src/lib/services/identity/deviceProvisioningService.js.map +1 -0
- package/src/lib/services/identity/identityProofService.d.ts +139 -0
- package/src/lib/services/identity/identityProofService.d.ts.map +1 -0
- package/src/lib/services/identity/identityProofService.js +245 -0
- package/src/lib/services/identity/identityProofService.js.map +1 -0
- package/src/lib/services/identity/index.d.ts +14 -0
- package/src/lib/services/identity/index.d.ts.map +1 -0
- package/src/lib/services/identity/index.js +17 -0
- package/src/lib/services/identity/index.js.map +1 -0
- package/src/lib/services/identity/memberIdentityProofService.d.ts +179 -0
- package/src/lib/services/identity/memberIdentityProofService.d.ts.map +1 -0
- package/src/lib/services/identity/memberIdentityProofService.js +232 -0
- package/src/lib/services/identity/memberIdentityProofService.js.map +1 -0
- package/src/lib/services/identity/memberPaperKeyService.d.ts +223 -0
- package/src/lib/services/identity/memberPaperKeyService.d.ts.map +1 -0
- package/src/lib/services/identity/memberPaperKeyService.js +279 -0
- package/src/lib/services/identity/memberPaperKeyService.js.map +1 -0
- package/src/lib/services/identity/paperKeyService.d.ts +106 -0
- package/src/lib/services/identity/paperKeyService.d.ts.map +1 -0
- package/src/lib/services/identity/paperKeyService.js +161 -0
- package/src/lib/services/identity/paperKeyService.js.map +1 -0
- package/src/lib/services/identity/publicKeyDirectoryService.d.ts +210 -0
- package/src/lib/services/identity/publicKeyDirectoryService.d.ts.map +1 -0
- package/src/lib/services/identity/publicKeyDirectoryService.js +328 -0
- package/src/lib/services/identity/publicKeyDirectoryService.js.map +1 -0
- package/src/lib/services/identity/splitPaperKeyService.d.ts +92 -0
- package/src/lib/services/identity/splitPaperKeyService.d.ts.map +1 -0
- package/src/lib/services/identity/splitPaperKeyService.js +305 -0
- package/src/lib/services/identity/splitPaperKeyService.js.map +1 -0
- package/src/lib/services/index.d.ts +4 -0
- package/src/lib/services/index.d.ts.map +1 -1
- package/src/lib/services/index.js +7 -0
- package/src/lib/services/index.js.map +1 -1
- package/src/lib/services/messaging/emailMessageService.d.ts.map +1 -1
- package/src/lib/services/messaging/emailMessageService.js +26 -9
- package/src/lib/services/messaging/emailMessageService.js.map +1 -1
- package/src/lib/services/messaging/emailParser.d.ts +18 -0
- package/src/lib/services/messaging/emailParser.d.ts.map +1 -1
- package/src/lib/services/messaging/emailParser.js +18 -0
- package/src/lib/services/messaging/emailParser.js.map +1 -1
- package/src/lib/services/tuple.service.d.ts +27 -2
- package/src/lib/services/tuple.service.d.ts.map +1 -1
- package/src/lib/services/tuple.service.js +62 -20
- package/src/lib/services/tuple.service.js.map +1 -1
- package/src/lib/services/vcblService.d.ts +36 -0
- package/src/lib/services/vcblService.d.ts.map +1 -0
- package/src/lib/services/vcblService.js +326 -0
- package/src/lib/services/vcblService.js.map +1 -0
- package/src/lib/stores/index.d.ts +1 -0
- package/src/lib/stores/index.d.ts.map +1 -1
- package/src/lib/stores/index.js +1 -0
- package/src/lib/stores/index.js.map +1 -1
- package/src/lib/stores/pooledMemoryBlockStore.d.ts +134 -0
- package/src/lib/stores/pooledMemoryBlockStore.d.ts.map +1 -0
- package/src/lib/stores/pooledMemoryBlockStore.js +583 -0
- package/src/lib/stores/pooledMemoryBlockStore.js.map +1 -0
- package/src/lib/types/checksum.d.ts +11 -0
- package/src/lib/types/checksum.d.ts.map +1 -1
- package/src/lib/types/checksum.js +11 -0
- package/src/lib/types/checksum.js.map +1 -1
- package/src/lib/utils/index.d.ts +9 -0
- package/src/lib/utils/index.d.ts.map +1 -1
- package/src/lib/utils/index.js +12 -0
- package/src/lib/utils/index.js.map +1 -1
- package/src/lib/utils/pagination.d.ts +27 -0
- package/src/lib/utils/pagination.d.ts.map +1 -0
- package/src/lib/utils/pagination.js +38 -0
- package/src/lib/utils/pagination.js.map +1 -0
|
@@ -4,8 +4,9 @@
|
|
|
4
4
|
* Defines the interface for maintaining a fast local index of blocks,
|
|
5
5
|
* supporting O(1) lookups, Bloom filter export, and manifest generation.
|
|
6
6
|
*
|
|
7
|
-
* @see Requirements 3.1, 3.6, 3.7
|
|
7
|
+
* @see Requirements 3.1, 3.5, 3.6, 3.7, 4.5
|
|
8
8
|
*/
|
|
9
|
+
import { PoolId } from '../storage/pooledBlockStore';
|
|
9
10
|
/**
|
|
10
11
|
* Bloom filter for efficient block existence queries.
|
|
11
12
|
* A space-efficient probabilistic data structure used to test
|
|
@@ -65,6 +66,35 @@ export interface BlockManifest {
|
|
|
65
66
|
*/
|
|
66
67
|
checksum: string;
|
|
67
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Pool-scoped Bloom filter container.
|
|
71
|
+
* Contains per-pool Bloom filters using keys in "poolId:blockId" format,
|
|
72
|
+
* plus a global filter for backward compatibility.
|
|
73
|
+
*
|
|
74
|
+
* @see Requirements 4.5
|
|
75
|
+
*/
|
|
76
|
+
export interface PoolScopedBloomFilter {
|
|
77
|
+
/** Per-pool Bloom filters using keys in format "poolId:blockId" */
|
|
78
|
+
filters: Map<PoolId, BloomFilter>;
|
|
79
|
+
/** Global filter for backward compatibility */
|
|
80
|
+
globalFilter: BloomFilter;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Pool-scoped manifest for synchronization.
|
|
84
|
+
* Groups block IDs by their pool, enabling per-pool reconciliation.
|
|
85
|
+
*
|
|
86
|
+
* @see Requirements 3.1, 3.5
|
|
87
|
+
*/
|
|
88
|
+
export interface PoolScopedManifest {
|
|
89
|
+
/** Unique identifier of the node that generated this manifest */
|
|
90
|
+
nodeId: string;
|
|
91
|
+
/** Block IDs grouped by pool */
|
|
92
|
+
pools: Map<PoolId, string[]>;
|
|
93
|
+
/** Timestamp when the manifest was generated */
|
|
94
|
+
generatedAt: Date;
|
|
95
|
+
/** Checksum of the manifest for integrity verification */
|
|
96
|
+
checksum: string;
|
|
97
|
+
}
|
|
68
98
|
/**
|
|
69
99
|
* Block Registry Interface
|
|
70
100
|
*
|
|
@@ -86,14 +116,16 @@ export interface IBlockRegistry {
|
|
|
86
116
|
* Add a block to the local registry
|
|
87
117
|
*
|
|
88
118
|
* @param blockId - The block ID to add
|
|
119
|
+
* @param poolId - Optional pool the block belongs to
|
|
89
120
|
*/
|
|
90
|
-
addLocal(blockId: string): void;
|
|
121
|
+
addLocal(blockId: string, poolId?: PoolId): void;
|
|
91
122
|
/**
|
|
92
123
|
* Remove a block from the local registry
|
|
93
124
|
*
|
|
94
125
|
* @param blockId - The block ID to remove
|
|
126
|
+
* @param poolId - Optional pool the block belonged to
|
|
95
127
|
*/
|
|
96
|
-
removeLocal(blockId: string): void;
|
|
128
|
+
removeLocal(blockId: string, poolId?: PoolId): void;
|
|
97
129
|
/**
|
|
98
130
|
* Get count of local blocks
|
|
99
131
|
*
|
|
@@ -131,5 +163,22 @@ export interface IBlockRegistry {
|
|
|
131
163
|
* @see Requirements 3.5
|
|
132
164
|
*/
|
|
133
165
|
rebuild(): Promise<void>;
|
|
166
|
+
/**
|
|
167
|
+
* Export a pool-scoped Bloom filter.
|
|
168
|
+
* Each pool gets its own filter with keys in "poolId:blockId" format.
|
|
169
|
+
* Also includes a global filter for backward compatibility.
|
|
170
|
+
*
|
|
171
|
+
* @returns A pool-scoped Bloom filter container
|
|
172
|
+
* @see Requirements 4.5
|
|
173
|
+
*/
|
|
174
|
+
exportPoolScopedBloomFilter(): PoolScopedBloomFilter;
|
|
175
|
+
/**
|
|
176
|
+
* Export a pool-scoped manifest grouping block IDs by pool.
|
|
177
|
+
* Used for pool-aware reconciliation with peers.
|
|
178
|
+
*
|
|
179
|
+
* @returns A manifest with block IDs grouped by pool
|
|
180
|
+
* @see Requirements 3.1, 3.5
|
|
181
|
+
*/
|
|
182
|
+
exportPoolScopedManifest(): PoolScopedManifest;
|
|
134
183
|
}
|
|
135
184
|
//# sourceMappingURL=blockRegistry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockRegistry.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/blockRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;;OAOG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CACxC;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,IAAI,CAAC;IAElB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAEnC
|
|
1
|
+
{"version":3,"file":"blockRegistry.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/blockRegistry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;;;;;OAOG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;CACxC;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,WAAW,EAAE,IAAI,CAAC;IAElB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClC,+CAA+C;IAC/C,YAAY,EAAE,WAAW,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7B,gDAAgD;IAChD,WAAW,EAAE,IAAI,CAAC;IAClB,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAEnC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEjD;;;;;OAKG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpD;;;;OAIG;IACH,aAAa,IAAI,MAAM,CAAC;IAExB;;;;OAIG;IACH,gBAAgB,IAAI,MAAM,EAAE,CAAC;IAE7B;;;;;;;OAOG;IACH,iBAAiB,IAAI,WAAW,CAAC;IAEjC;;;;;;OAMG;IACH,cAAc,IAAI,aAAa,CAAC;IAEhC;;;;;;OAMG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;;;;;;OAOG;IACH,2BAA2B,IAAI,qBAAqB,CAAC;IAErD;;;;;;OAMG;IACH,wBAAwB,IAAI,kBAAkB,CAAC;CAChD"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* Defines the interface for maintaining a fast local index of blocks,
|
|
6
6
|
* supporting O(1) lookups, Bloom filter export, and manifest generation.
|
|
7
7
|
*
|
|
8
|
-
* @see Requirements 3.1, 3.6, 3.7
|
|
8
|
+
* @see Requirements 3.1, 3.5, 3.6, 3.7, 4.5
|
|
9
9
|
*/
|
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
11
|
//# sourceMappingURL=blockRegistry.js.map
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @see Requirements 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import type { ICBLIndexEntry } from '../storage/cblIndex';
|
|
11
|
+
import { PoolId } from '../storage/pooledBlockStore';
|
|
12
|
+
import { BloomFilter, PoolScopedBloomFilter } from './blockRegistry';
|
|
11
13
|
import { ILocationRecord } from './locationRecord';
|
|
12
14
|
/**
|
|
13
15
|
* Result of a block discovery operation.
|
|
@@ -38,6 +40,13 @@ export interface DiscoveryResult {
|
|
|
38
40
|
* Total duration of the discovery operation in milliseconds
|
|
39
41
|
*/
|
|
40
42
|
duration: number;
|
|
43
|
+
/**
|
|
44
|
+
* Pool context used for this discovery, if any.
|
|
45
|
+
* Set when discoverBlock was called with a poolId parameter.
|
|
46
|
+
*
|
|
47
|
+
* @see Requirements 4.1
|
|
48
|
+
*/
|
|
49
|
+
poolId?: PoolId;
|
|
41
50
|
}
|
|
42
51
|
/**
|
|
43
52
|
* Result of querying a single peer for a block.
|
|
@@ -107,6 +116,49 @@ export interface DiscoveryConfig {
|
|
|
107
116
|
* Default discovery configuration values.
|
|
108
117
|
*/
|
|
109
118
|
export declare const DEFAULT_DISCOVERY_CONFIG: DiscoveryConfig;
|
|
119
|
+
/**
|
|
120
|
+
* Query for searching CBL metadata across pool peers.
|
|
121
|
+
* All fields are optional; only specified fields are used as filters.
|
|
122
|
+
*
|
|
123
|
+
* @see Requirements 8.5
|
|
124
|
+
*/
|
|
125
|
+
export interface CBLMetadataSearchQuery {
|
|
126
|
+
/** Filter by file name (substring match) */
|
|
127
|
+
fileName?: string;
|
|
128
|
+
/** Filter by MIME type (exact match) */
|
|
129
|
+
mimeType?: string;
|
|
130
|
+
/** Filter by tags (entries must have all specified tags) */
|
|
131
|
+
tags?: string[];
|
|
132
|
+
/** Scope the search to a specific pool */
|
|
133
|
+
poolId?: PoolId;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* A single matching entry from a CBL metadata search,
|
|
137
|
+
* annotated with the source node that reported it.
|
|
138
|
+
*
|
|
139
|
+
* @see Requirements 8.5
|
|
140
|
+
*/
|
|
141
|
+
export interface CBLMetadataSearchHit {
|
|
142
|
+
/** The matching CBL index entry */
|
|
143
|
+
entry: ICBLIndexEntry;
|
|
144
|
+
/** Node ID of the peer that reported this entry */
|
|
145
|
+
sourceNodeId: string;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Result of a CBL metadata search across pool peers.
|
|
149
|
+
*
|
|
150
|
+
* @see Requirements 8.5
|
|
151
|
+
*/
|
|
152
|
+
export interface CBLMetadataSearchResult {
|
|
153
|
+
/** The query that was executed */
|
|
154
|
+
query: CBLMetadataSearchQuery;
|
|
155
|
+
/** Matching entries with source node information */
|
|
156
|
+
hits: CBLMetadataSearchHit[];
|
|
157
|
+
/** Number of peers that were queried */
|
|
158
|
+
queriedPeers: number;
|
|
159
|
+
/** Total duration of the search in milliseconds */
|
|
160
|
+
duration: number;
|
|
161
|
+
}
|
|
110
162
|
/**
|
|
111
163
|
* Discovery Protocol Interface
|
|
112
164
|
*
|
|
@@ -125,11 +177,15 @@ export interface IDiscoveryProtocol {
|
|
|
125
177
|
* 3. Make direct queries to peers whose Bloom filters indicate possible match
|
|
126
178
|
* 4. Cache and return results sorted by latency
|
|
127
179
|
*
|
|
180
|
+
* When poolId is provided, uses pool-scoped Bloom filters and
|
|
181
|
+
* includes poolId in peer queries for pool-specific discovery.
|
|
182
|
+
*
|
|
128
183
|
* @param blockId - The block ID to discover
|
|
184
|
+
* @param poolId - Optional pool to scope the discovery to
|
|
129
185
|
* @returns Promise resolving to discovery result with locations
|
|
130
|
-
* @see Requirements 5.1, 5.2, 5.3, 5.4, 5.5
|
|
186
|
+
* @see Requirements 4.1, 4.2, 4.3, 5.1, 5.2, 5.3, 5.4, 5.5
|
|
131
187
|
*/
|
|
132
|
-
discoverBlock(blockId: string): Promise<DiscoveryResult>;
|
|
188
|
+
discoverBlock(blockId: string, poolId?: PoolId): Promise<DiscoveryResult>;
|
|
133
189
|
/**
|
|
134
190
|
* Query a specific peer for a block.
|
|
135
191
|
* Makes a direct query without Bloom filter pre-check.
|
|
@@ -169,11 +225,33 @@ export interface IDiscoveryProtocol {
|
|
|
169
225
|
* @see Requirements 4.2, 5.2
|
|
170
226
|
*/
|
|
171
227
|
getPeerBloomFilter(peerId: string): Promise<BloomFilter>;
|
|
228
|
+
/**
|
|
229
|
+
* Get the pool-scoped Bloom filter from a peer.
|
|
230
|
+
* Used for pool-aware discovery to pre-check block existence
|
|
231
|
+
* within specific pools before making direct queries.
|
|
232
|
+
*
|
|
233
|
+
* @param peerId - The peer to get the pool-scoped Bloom filter from
|
|
234
|
+
* @returns Promise resolving to the peer's pool-scoped Bloom filter
|
|
235
|
+
* @see Requirements 4.2, 4.5
|
|
236
|
+
*/
|
|
237
|
+
getPeerPoolScopedBloomFilter(peerId: string): Promise<PoolScopedBloomFilter>;
|
|
172
238
|
/**
|
|
173
239
|
* Get the current configuration.
|
|
174
240
|
*
|
|
175
241
|
* @returns The discovery configuration
|
|
176
242
|
*/
|
|
177
243
|
getConfig(): DiscoveryConfig;
|
|
244
|
+
/**
|
|
245
|
+
* Search for CBL index entries by metadata across pool peers.
|
|
246
|
+
*
|
|
247
|
+
* Queries connected peers for CBL entries matching the given criteria
|
|
248
|
+
* (file name, MIME type, tags) within the specified pool. Results are
|
|
249
|
+
* deduplicated by magnet URL, keeping the first occurrence.
|
|
250
|
+
*
|
|
251
|
+
* @param query - Search criteria with optional fileName, mimeType, tags, poolId
|
|
252
|
+
* @returns Promise resolving to search results with matching entries and source nodes
|
|
253
|
+
* @see Requirements 8.5
|
|
254
|
+
*/
|
|
255
|
+
searchCBLMetadata(query: CBLMetadataSearchQuery): Promise<CBLMetadataSearchResult>;
|
|
178
256
|
}
|
|
179
257
|
//# sourceMappingURL=discoveryProtocol.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discoveryProtocol.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/discoveryProtocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"discoveryProtocol.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/discoveryProtocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discoveryProtocol.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/discoveryProtocol.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;
|
|
1
|
+
{"version":3,"file":"discoveryProtocol.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/discoveryProtocol.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AA2HH;;GAEG;AACU,QAAA,wBAAwB,GAAoB;IACvD,cAAc,EAAE,IAAI;IACpB,oBAAoB,EAAE,EAAE;IACxB,UAAU,EAAE,KAAK;IACjB,4BAA4B,EAAE,IAAI;IAClC,oBAAoB,EAAE,CAAC;CACxB,CAAC"}
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
* @see Requirements 6.1, 6.2, 6.3, 6.4, 6.5, 6.6
|
|
9
9
|
* @see Requirements 1.1, 1.2, 1.3, 1.5, 1.6, 10.1 (Unified Gossip Delivery)
|
|
10
10
|
*/
|
|
11
|
+
import type { ICBLIndexEntry } from '../storage/cblIndex';
|
|
12
|
+
import { PoolId } from '../storage/pooledBlockStore';
|
|
11
13
|
/**
|
|
12
14
|
* Metadata for message delivery via gossip protocol.
|
|
13
15
|
* Attached to 'add' type BlockAnnouncements to indicate the announcement
|
|
@@ -45,6 +47,19 @@ export interface DeliveryAckMetadata {
|
|
|
45
47
|
/** The node ID of the original message sender */
|
|
46
48
|
originalSenderNode: string;
|
|
47
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* Metadata for HeadRegistry head pointer update announcements.
|
|
52
|
+
* Attached to 'head_update' type BlockAnnouncements to propagate
|
|
53
|
+
* head pointer changes across nodes.
|
|
54
|
+
*
|
|
55
|
+
* @see Requirements 2.1
|
|
56
|
+
*/
|
|
57
|
+
export interface HeadUpdateMetadata {
|
|
58
|
+
/** The database name containing the collection */
|
|
59
|
+
dbName: string;
|
|
60
|
+
/** The collection whose head pointer was updated */
|
|
61
|
+
collectionName: string;
|
|
62
|
+
}
|
|
48
63
|
/**
|
|
49
64
|
* Block announcement message sent via gossip protocol.
|
|
50
65
|
* Contains information about a block being added, removed, or acknowledged.
|
|
@@ -58,10 +73,15 @@ export interface BlockAnnouncement {
|
|
|
58
73
|
* - 'add' for new blocks (may include messageDelivery metadata)
|
|
59
74
|
* - 'remove' for deleted blocks
|
|
60
75
|
* - 'ack' for delivery acknowledgments (must include deliveryAck metadata)
|
|
76
|
+
* - 'pool_deleted' for pool deletion propagation (requires poolId)
|
|
77
|
+
* - 'cbl_index_update' for new/updated CBL index entries (requires cblIndexEntry and poolId)
|
|
78
|
+
* - 'cbl_index_delete' for soft-deleted CBL index entries (requires cblIndexEntry and poolId)
|
|
79
|
+
* - 'head_update' for HeadRegistry head pointer updates (requires headUpdate metadata)
|
|
80
|
+
* - 'acl_update' for approved ACL updates (requires poolId and aclBlockId)
|
|
61
81
|
*
|
|
62
|
-
* @see Requirements 1.1
|
|
82
|
+
* @see Requirements 1.1, 2.1, 8.1, 8.6, 13.4
|
|
63
83
|
*/
|
|
64
|
-
type: 'add' | 'remove' | 'ack';
|
|
84
|
+
type: 'add' | 'remove' | 'ack' | 'pool_deleted' | 'cbl_index_update' | 'cbl_index_delete' | 'head_update' | 'acl_update';
|
|
65
85
|
/**
|
|
66
86
|
* The block ID being announced (hex string)
|
|
67
87
|
*/
|
|
@@ -93,6 +113,38 @@ export interface BlockAnnouncement {
|
|
|
93
113
|
* @see Requirements 1.3, 1.6
|
|
94
114
|
*/
|
|
95
115
|
deliveryAck?: DeliveryAckMetadata;
|
|
116
|
+
/**
|
|
117
|
+
* Optional pool ID for pool-scoped announcements.
|
|
118
|
+
* Required for 'pool_deleted', 'cbl_index_update', and 'cbl_index_delete' types.
|
|
119
|
+
* Optional for 'add' and 'remove' types.
|
|
120
|
+
*
|
|
121
|
+
* @see Requirements 1.5, 1.6, 2.1, 8.1, 8.6
|
|
122
|
+
*/
|
|
123
|
+
poolId?: PoolId;
|
|
124
|
+
/**
|
|
125
|
+
* Optional CBL index entry data for CBL index synchronization.
|
|
126
|
+
* Required for 'cbl_index_update' and 'cbl_index_delete' types.
|
|
127
|
+
* Contains the entry being announced (update) or the entry being soft-deleted (delete).
|
|
128
|
+
*
|
|
129
|
+
* @see Requirements 8.1, 8.6
|
|
130
|
+
*/
|
|
131
|
+
cblIndexEntry?: ICBLIndexEntry;
|
|
132
|
+
/**
|
|
133
|
+
* Optional HeadRegistry update metadata for head pointer synchronization.
|
|
134
|
+
* Required for 'head_update' type announcements.
|
|
135
|
+
* The blockId field carries the new head block ID.
|
|
136
|
+
*
|
|
137
|
+
* @see Requirements 2.1
|
|
138
|
+
*/
|
|
139
|
+
headUpdate?: HeadUpdateMetadata;
|
|
140
|
+
/**
|
|
141
|
+
* Optional ACL block ID for ACL update propagation.
|
|
142
|
+
* Required for 'acl_update' type announcements.
|
|
143
|
+
* Contains the block ID of the approved ACL document in the block store.
|
|
144
|
+
*
|
|
145
|
+
* @see Requirements 13.4
|
|
146
|
+
*/
|
|
147
|
+
aclBlockId?: string;
|
|
96
148
|
}
|
|
97
149
|
/**
|
|
98
150
|
* Configuration for priority-based gossip propagation.
|
|
@@ -178,19 +230,71 @@ export interface IGossipService {
|
|
|
178
230
|
* The announcement will be batched and sent to a random subset of peers.
|
|
179
231
|
*
|
|
180
232
|
* @param blockId - The block ID to announce
|
|
233
|
+
* @param poolId - Optional pool the block belongs to
|
|
181
234
|
* @returns Promise that resolves when the announcement is queued
|
|
182
|
-
* @see Requirements 6.1
|
|
235
|
+
* @see Requirements 6.1, 1.1, 6.3
|
|
183
236
|
*/
|
|
184
|
-
announceBlock(blockId: string): Promise<void>;
|
|
237
|
+
announceBlock(blockId: string, poolId?: PoolId): Promise<void>;
|
|
185
238
|
/**
|
|
186
239
|
* Announce block removal to the network.
|
|
187
240
|
* The announcement will be batched and sent to a random subset of peers.
|
|
188
241
|
*
|
|
189
242
|
* @param blockId - The block ID being removed
|
|
243
|
+
* @param poolId - Optional pool the block belonged to
|
|
244
|
+
* @returns Promise that resolves when the announcement is queued
|
|
245
|
+
* @see Requirements 6.5, 2.2
|
|
246
|
+
*/
|
|
247
|
+
announceRemoval(blockId: string, poolId?: PoolId): Promise<void>;
|
|
248
|
+
/**
|
|
249
|
+
* Announce that a pool has been deleted.
|
|
250
|
+
* Creates a pool_deleted announcement propagated as a tombstone.
|
|
251
|
+
*
|
|
252
|
+
* @param poolId - The pool that was deleted
|
|
253
|
+
* @returns Promise that resolves when the announcement is queued
|
|
254
|
+
* @see Requirements 2.2, 6.3
|
|
255
|
+
*/
|
|
256
|
+
announcePoolDeletion(poolId: PoolId): Promise<void>;
|
|
257
|
+
/**
|
|
258
|
+
* Announce a new or updated CBL index entry to peers in the same pool.
|
|
259
|
+
* Creates a cbl_index_update announcement scoped to the entry's pool.
|
|
260
|
+
*
|
|
261
|
+
* @param entry - The CBL index entry being announced
|
|
262
|
+
* @returns Promise that resolves when the announcement is queued
|
|
263
|
+
* @see Requirements 8.1
|
|
264
|
+
*/
|
|
265
|
+
announceCBLIndexUpdate(entry: ICBLIndexEntry): Promise<void>;
|
|
266
|
+
/**
|
|
267
|
+
* Announce a soft-deleted CBL index entry to peers in the same pool.
|
|
268
|
+
* Creates a cbl_index_delete announcement so peers also mark the entry as deleted.
|
|
269
|
+
*
|
|
270
|
+
* @param entry - The CBL index entry that was soft-deleted (with deletedAt set)
|
|
271
|
+
* @returns Promise that resolves when the announcement is queued
|
|
272
|
+
* @see Requirements 8.6
|
|
273
|
+
*/
|
|
274
|
+
announceCBLIndexDelete(entry: ICBLIndexEntry): Promise<void>;
|
|
275
|
+
/**
|
|
276
|
+
* Announce a HeadRegistry head pointer update to peer nodes.
|
|
277
|
+
* Creates a head_update announcement with the database name, collection name,
|
|
278
|
+
* and new head block ID.
|
|
279
|
+
*
|
|
280
|
+
* @param dbName - The database name containing the collection
|
|
281
|
+
* @param collectionName - The collection whose head pointer was updated
|
|
282
|
+
* @param blockId - The new head block ID
|
|
283
|
+
* @returns Promise that resolves when the announcement is queued
|
|
284
|
+
* @see Requirements 2.1
|
|
285
|
+
*/
|
|
286
|
+
announceHeadUpdate(dbName: string, collectionName: string, blockId: string): Promise<void>;
|
|
287
|
+
/**
|
|
288
|
+
* Announce an approved ACL update to peers in the same pool.
|
|
289
|
+
* Creates an acl_update announcement with the pool ID and the block ID
|
|
290
|
+
* of the signed ACL document stored in the block store.
|
|
291
|
+
*
|
|
292
|
+
* @param poolId - The pool whose ACL was updated
|
|
293
|
+
* @param aclBlockId - The block ID of the approved ACL document
|
|
190
294
|
* @returns Promise that resolves when the announcement is queued
|
|
191
|
-
* @see Requirements
|
|
295
|
+
* @see Requirements 13.4
|
|
192
296
|
*/
|
|
193
|
-
|
|
297
|
+
announceACLUpdate(poolId: string, aclBlockId: string): Promise<void>;
|
|
194
298
|
/**
|
|
195
299
|
* Handle an incoming block announcement from a peer.
|
|
196
300
|
* Updates local location metadata and optionally forwards the announcement.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gossipService.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/gossipService.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAElB,qCAAqC;IACrC,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,uDAAuD;IACvD,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAAC;IAE5B,+CAA+C;IAC/C,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IAEnB,kEAAkE;IAClE,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAElB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;IAEpB,yCAAyC;IACzC,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;IAEpD,iDAAiD;IACjD,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC
|
|
1
|
+
{"version":3,"file":"gossipService.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/gossipService.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
13
13
|
exports.DEFAULT_GOSSIP_CONFIG = void 0;
|
|
14
14
|
exports.validateBlockAnnouncement = validateBlockAnnouncement;
|
|
15
15
|
exports.validateGossipConfig = validateGossipConfig;
|
|
16
|
+
const pooledBlockStore_1 = require("../storage/pooledBlockStore");
|
|
16
17
|
/**
|
|
17
18
|
* Default gossip configuration values.
|
|
18
19
|
*
|
|
@@ -31,7 +32,16 @@ exports.DEFAULT_GOSSIP_CONFIG = {
|
|
|
31
32
|
/**
|
|
32
33
|
* Valid announcement types.
|
|
33
34
|
*/
|
|
34
|
-
const VALID_ANNOUNCEMENT_TYPES = [
|
|
35
|
+
const VALID_ANNOUNCEMENT_TYPES = [
|
|
36
|
+
'add',
|
|
37
|
+
'remove',
|
|
38
|
+
'ack',
|
|
39
|
+
'pool_deleted',
|
|
40
|
+
'cbl_index_update',
|
|
41
|
+
'cbl_index_delete',
|
|
42
|
+
'head_update',
|
|
43
|
+
'acl_update',
|
|
44
|
+
];
|
|
35
45
|
/**
|
|
36
46
|
* Valid delivery ack statuses.
|
|
37
47
|
*/
|
|
@@ -59,6 +69,89 @@ function validateBlockAnnouncement(announcement) {
|
|
|
59
69
|
if (!VALID_ANNOUNCEMENT_TYPES.includes(announcement.type)) {
|
|
60
70
|
return false;
|
|
61
71
|
}
|
|
72
|
+
// pool_deleted requires valid poolId, must not have messageDelivery or deliveryAck
|
|
73
|
+
if (announcement.type === 'pool_deleted') {
|
|
74
|
+
if (!announcement.poolId || !(0, pooledBlockStore_1.isValidPoolId)(announcement.poolId)) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
if (announcement.messageDelivery || announcement.deliveryAck) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
// cbl_index_update and cbl_index_delete require valid poolId and cblIndexEntry,
|
|
83
|
+
// must not have messageDelivery or deliveryAck (Req 8.1, 8.6)
|
|
84
|
+
if (announcement.type === 'cbl_index_update' ||
|
|
85
|
+
announcement.type === 'cbl_index_delete') {
|
|
86
|
+
if (!announcement.poolId || !(0, pooledBlockStore_1.isValidPoolId)(announcement.poolId)) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
if (!announcement.cblIndexEntry) {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
if (!announcement.cblIndexEntry.magnetUrl ||
|
|
93
|
+
typeof announcement.cblIndexEntry.magnetUrl !== 'string') {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
if (!announcement.cblIndexEntry.blockId1 ||
|
|
97
|
+
typeof announcement.cblIndexEntry.blockId1 !== 'string') {
|
|
98
|
+
return false;
|
|
99
|
+
}
|
|
100
|
+
if (!announcement.cblIndexEntry.blockId2 ||
|
|
101
|
+
typeof announcement.cblIndexEntry.blockId2 !== 'string') {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
if (announcement.messageDelivery || announcement.deliveryAck) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
// head_update requires non-empty blockId and headUpdate with non-empty dbName and collectionName,
|
|
110
|
+
// must not have messageDelivery, deliveryAck, or cblIndexEntry (Req 2.1)
|
|
111
|
+
if (announcement.type === 'head_update') {
|
|
112
|
+
if (!announcement.blockId || typeof announcement.blockId !== 'string') {
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
if (!announcement.headUpdate) {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
if (!announcement.headUpdate.dbName ||
|
|
119
|
+
typeof announcement.headUpdate.dbName !== 'string') {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
if (!announcement.headUpdate.collectionName ||
|
|
123
|
+
typeof announcement.headUpdate.collectionName !== 'string') {
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
if (announcement.messageDelivery ||
|
|
127
|
+
announcement.deliveryAck ||
|
|
128
|
+
announcement.cblIndexEntry) {
|
|
129
|
+
return false;
|
|
130
|
+
}
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
// acl_update requires valid poolId and non-empty aclBlockId,
|
|
134
|
+
// must not have messageDelivery, deliveryAck, or cblIndexEntry (Req 13.4)
|
|
135
|
+
if (announcement.type === 'acl_update') {
|
|
136
|
+
if (!announcement.poolId || !(0, pooledBlockStore_1.isValidPoolId)(announcement.poolId)) {
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
if (!announcement.aclBlockId ||
|
|
140
|
+
typeof announcement.aclBlockId !== 'string') {
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
if (announcement.messageDelivery ||
|
|
144
|
+
announcement.deliveryAck ||
|
|
145
|
+
announcement.cblIndexEntry) {
|
|
146
|
+
return false;
|
|
147
|
+
}
|
|
148
|
+
return true;
|
|
149
|
+
}
|
|
150
|
+
// Validate poolId format if present on any other type
|
|
151
|
+
if (announcement.poolId !== undefined &&
|
|
152
|
+
!(0, pooledBlockStore_1.isValidPoolId)(announcement.poolId)) {
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
62
155
|
// Req 1.5: messageDelivery only allowed on 'add' type
|
|
63
156
|
if (announcement.messageDelivery && announcement.type !== 'add') {
|
|
64
157
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gossipService.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/gossipService.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;
|
|
1
|
+
{"version":3,"file":"gossipService.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/gossipService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC"}
|
|
@@ -7,5 +7,6 @@ tslib_1.__exportStar(require("./discoveryProtocol"), exports);
|
|
|
7
7
|
tslib_1.__exportStar(require("./gossipService"), exports);
|
|
8
8
|
tslib_1.__exportStar(require("./heartbeatMonitor"), exports);
|
|
9
9
|
tslib_1.__exportStar(require("./locationRecord"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./poolDeletionTombstone"), exports);
|
|
10
11
|
tslib_1.__exportStar(require("./reconciliationService"), exports);
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC;AACtC,0DAAgC;AAChC,8DAAoC;AACpC,0DAAgC;AAChC,6DAAmC;AACnC,2DAAiC;AACjC,kEAAwC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/index.ts"],"names":[],"mappings":";;;AAAA,gEAAsC;AACtC,0DAAgC;AAChC,8DAAoC;AACpC,0DAAgC;AAChC,6DAAmC;AACnC,2DAAiC;AACjC,kEAAwC;AACxC,kEAAwC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { AvailabilityState } from '../../enumerations/availabilityState';
|
|
2
2
|
import { IBlockMetadata } from '../storage/blockMetadata';
|
|
3
|
+
import { PoolId } from '../storage/pooledBlockStore';
|
|
3
4
|
/**
|
|
4
5
|
* Location record for a block, tracking which node holds a copy
|
|
5
6
|
* and metadata about that copy.
|
|
@@ -23,6 +24,10 @@ export interface ILocationRecord {
|
|
|
23
24
|
* Optional latency measurement to this node in milliseconds
|
|
24
25
|
*/
|
|
25
26
|
latencyMs?: number;
|
|
27
|
+
/**
|
|
28
|
+
* Pool the block is stored in on this node
|
|
29
|
+
*/
|
|
30
|
+
poolId?: PoolId;
|
|
26
31
|
}
|
|
27
32
|
/**
|
|
28
33
|
* Extended block metadata with availability and location information.
|
|
@@ -60,6 +65,7 @@ export interface SerializedLocationRecord {
|
|
|
60
65
|
lastSeen: string;
|
|
61
66
|
isAuthoritative: boolean;
|
|
62
67
|
latencyMs?: number;
|
|
68
|
+
poolId?: string;
|
|
63
69
|
}
|
|
64
70
|
/**
|
|
65
71
|
* Serializable representation of IBlockMetadataWithLocation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"locationRecord.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/locationRecord.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAKzE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"locationRecord.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/availability/locationRecord.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAKzE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAiB,MAAM,6BAA6B,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,EAAE,IAAI,CAAC;IAEf;;OAEG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,0BAA2B,SAAQ,cAAc;IAChE;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,CAAC;IAErC;;OAEG;IACH,eAAe,EAAE,eAAe,EAAE,CAAC;IAEnC;;OAEG;IACH,iBAAiB,EAAE,IAAI,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,MAAM,GAClB,IAAI,CACL,0BAA0B,EAC1B,mBAAmB,GAAG,iBAAiB,GAAG,mBAAmB,CAC9D,CAYA;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,uBAAuB,EAAE,MAAM,CAAC;IAChC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,eAAe,EAAE,wBAAwB,EAAE,CAAC;IAC5C,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,eAAe,GACtB,wBAAwB,CAQ1B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,wBAAwB,GACnC,eAAe,CA0DjB;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,0BAA0B,GACnC,mCAAmC,CAkBrC;AAED;;;;;GAKG;AACH,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,mCAAmC,GAC9C,0BAA0B,CA+I5B"}
|