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