@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,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RecipientKeyManager = void 0;
|
|
4
|
+
const messageError_1 = require("../../errors/messaging/messageError");
|
|
5
|
+
const messageErrorType_1 = require("../../enumerations/messaging/messageErrorType");
|
|
6
|
+
/**
|
|
7
|
+
* Manager for recipient public key operations.
|
|
8
|
+
*
|
|
9
|
+
* @remarks
|
|
10
|
+
* Fetches and validates recipient public keys for message encryption.
|
|
11
|
+
* Handles missing keys gracefully.
|
|
12
|
+
*
|
|
13
|
+
* @see Requirements 3.1
|
|
14
|
+
*/
|
|
15
|
+
class RecipientKeyManager {
|
|
16
|
+
constructor(keyProvider) {
|
|
17
|
+
this.keyProvider = keyProvider;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Fetch public keys for multiple recipients.
|
|
21
|
+
* @param recipientIds - Array of recipient node IDs
|
|
22
|
+
* @returns Map of recipient ID to public key
|
|
23
|
+
* @throws MessageError if any required key is missing
|
|
24
|
+
*/
|
|
25
|
+
async fetchPublicKeys(recipientIds) {
|
|
26
|
+
const keys = new Map();
|
|
27
|
+
const missingKeys = [];
|
|
28
|
+
for (const recipientId of recipientIds) {
|
|
29
|
+
const publicKey = await this.keyProvider.getPublicKey(recipientId);
|
|
30
|
+
if (publicKey) {
|
|
31
|
+
if (this.validatePublicKey(publicKey)) {
|
|
32
|
+
keys.set(recipientId, publicKey);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
missingKeys.push(recipientId);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
missingKeys.push(recipientId);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (missingKeys.length > 0) {
|
|
43
|
+
throw new messageError_1.MessageError(messageErrorType_1.MessageErrorType.MISSING_PUBLIC_KEY, `Missing or invalid public keys for recipients: ${missingKeys.join(', ')}`);
|
|
44
|
+
}
|
|
45
|
+
return keys;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Validate public key format and length.
|
|
49
|
+
* @param publicKey - Public key to validate
|
|
50
|
+
* @returns True if valid secp256k1 public key
|
|
51
|
+
*/
|
|
52
|
+
validatePublicKey(publicKey) {
|
|
53
|
+
// secp256k1 public keys are either:
|
|
54
|
+
// - 65 bytes (uncompressed, starts with 0x04)
|
|
55
|
+
// - 33 bytes (compressed, starts with 0x02 or 0x03)
|
|
56
|
+
if (publicKey.length === 65) {
|
|
57
|
+
return publicKey[0] === 0x04;
|
|
58
|
+
}
|
|
59
|
+
if (publicKey.length === 33) {
|
|
60
|
+
return publicKey[0] === 0x02 || publicKey[0] === 0x03;
|
|
61
|
+
}
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Fetch public key for single recipient with graceful handling.
|
|
66
|
+
* @param recipientId - Recipient node ID
|
|
67
|
+
* @returns Public key or null if not found
|
|
68
|
+
*/
|
|
69
|
+
async fetchPublicKeyOptional(recipientId) {
|
|
70
|
+
try {
|
|
71
|
+
const publicKey = await this.keyProvider.getPublicKey(recipientId);
|
|
72
|
+
if (publicKey && this.validatePublicKey(publicKey)) {
|
|
73
|
+
return publicKey;
|
|
74
|
+
}
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.RecipientKeyManager = RecipientKeyManager;
|
|
83
|
+
//# sourceMappingURL=recipientKeyManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recipientKeyManager.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/messaging/recipientKeyManager.ts"],"names":[],"mappings":";;;AAAA,sEAAmE;AACnE,oFAAiF;AAUjF;;;;;;;;GAQG;AACH,MAAa,mBAAmB;IAC9B,YAAoB,WAA+B;QAA/B,gBAAW,GAAX,WAAW,CAAoB;IAAG,CAAC;IAEvD;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CAAC,YAAsB;QAC1C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAsB,CAAC;QAC3C,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YACnE,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;oBACtC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,2BAAY,CACpB,mCAAgB,CAAC,kBAAkB,EACnC,kDAAkD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC3E,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,SAAqB;QACrC,oCAAoC;QACpC,8CAA8C;QAC9C,oDAAoD;QACpD,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAC/B,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,sBAAsB,CAAC,WAAmB;QAC9C,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YACnE,IAAI,SAAS,IAAI,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnD,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF;AAtED,kDAsEC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { INetworkTransport } from '../../interfaces/network/networkTransport';
|
|
2
|
+
/**
|
|
3
|
+
* Browser-compatible WebSocket network transport for message transmission
|
|
4
|
+
* Uses native browser WebSocket API with ECIES authentication
|
|
5
|
+
*/
|
|
6
|
+
export declare class WebSocketTransport implements INetworkTransport {
|
|
7
|
+
private connections;
|
|
8
|
+
private messageHandlers;
|
|
9
|
+
private keyring;
|
|
10
|
+
private eciesSignature;
|
|
11
|
+
constructor();
|
|
12
|
+
/**
|
|
13
|
+
* Connect to a node via WebSocket with authentication
|
|
14
|
+
* @param nodeId Node identifier
|
|
15
|
+
* @param url WebSocket URL (e.g., ws://localhost:8080)
|
|
16
|
+
* @param password Password to unlock system key
|
|
17
|
+
*/
|
|
18
|
+
connect(nodeId: string, url: string, password?: string): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Disconnect from a node
|
|
21
|
+
*/
|
|
22
|
+
disconnect(nodeId: string): void;
|
|
23
|
+
/**
|
|
24
|
+
* Register message handler for a node
|
|
25
|
+
*/
|
|
26
|
+
onMessage(nodeId: string, handler: (data: string) => void): void;
|
|
27
|
+
sendToNode(recipientId: string, messageId: string): Promise<boolean>;
|
|
28
|
+
/**
|
|
29
|
+
* Send acknowledgment for received message
|
|
30
|
+
*/
|
|
31
|
+
sendAck(recipientId: string, messageId: string, status: string): Promise<boolean>;
|
|
32
|
+
isNodeReachable(nodeId: string): Promise<boolean>;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=webSocketTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webSocketTransport.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/messaging/webSocketTransport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAI9E;;;GAGG;AACH,qBAAa,kBAAmB,YAAW,iBAAiB;IAC1D,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,eAAe,CAA6C;IACpE,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,cAAc,CAAiB;;IASvC;;;;;OAKG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C5E;;OAEG;IACH,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQhC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAI1D,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAc1E;;OAEG;IACG,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAcjF,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAIxD"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.WebSocketTransport = void 0;
|
|
4
|
+
const systemKeyring_1 = require("../../systemKeyring");
|
|
5
|
+
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
6
|
+
/**
|
|
7
|
+
* Browser-compatible WebSocket network transport for message transmission
|
|
8
|
+
* Uses native browser WebSocket API with ECIES authentication
|
|
9
|
+
*/
|
|
10
|
+
class WebSocketTransport {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.connections = new Map();
|
|
13
|
+
this.messageHandlers = new Map();
|
|
14
|
+
this.keyring = systemKeyring_1.SystemKeyring.getInstance();
|
|
15
|
+
const config = { enableCompression: false };
|
|
16
|
+
const cryptoCore = new ecies_lib_1.EciesCryptoCore(config);
|
|
17
|
+
this.eciesSignature = new ecies_lib_1.EciesSignature(cryptoCore);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Connect to a node via WebSocket with authentication
|
|
21
|
+
* @param nodeId Node identifier
|
|
22
|
+
* @param url WebSocket URL (e.g., ws://localhost:8080)
|
|
23
|
+
* @param password Password to unlock system key
|
|
24
|
+
*/
|
|
25
|
+
async connect(nodeId, url, password) {
|
|
26
|
+
return new Promise(async (resolve, reject) => {
|
|
27
|
+
const ws = new WebSocket(url);
|
|
28
|
+
ws.onopen = async () => {
|
|
29
|
+
try {
|
|
30
|
+
if (password) {
|
|
31
|
+
const keyData = await this.keyring.retrieveKey('system', password);
|
|
32
|
+
const timestamp = Date.now().toString();
|
|
33
|
+
const message = new Uint8Array(Buffer.from(`${nodeId}:${timestamp}`));
|
|
34
|
+
const signature = this.eciesSignature.signMessage(keyData, message);
|
|
35
|
+
const sigHex = this.eciesSignature.signatureUint8ArrayToSignatureString(signature);
|
|
36
|
+
ws.send(JSON.stringify({
|
|
37
|
+
type: 'auth',
|
|
38
|
+
nodeId,
|
|
39
|
+
timestamp,
|
|
40
|
+
signature: sigHex
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
this.connections.set(nodeId, ws);
|
|
44
|
+
resolve();
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
ws.close();
|
|
48
|
+
reject(error);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
ws.onerror = (error) => {
|
|
52
|
+
reject(error);
|
|
53
|
+
};
|
|
54
|
+
ws.onmessage = (event) => {
|
|
55
|
+
const handler = this.messageHandlers.get(nodeId);
|
|
56
|
+
if (handler) {
|
|
57
|
+
handler(event.data);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
ws.onclose = () => {
|
|
61
|
+
this.connections.delete(nodeId);
|
|
62
|
+
};
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Disconnect from a node
|
|
67
|
+
*/
|
|
68
|
+
disconnect(nodeId) {
|
|
69
|
+
const ws = this.connections.get(nodeId);
|
|
70
|
+
if (ws) {
|
|
71
|
+
ws.close();
|
|
72
|
+
this.connections.delete(nodeId);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Register message handler for a node
|
|
77
|
+
*/
|
|
78
|
+
onMessage(nodeId, handler) {
|
|
79
|
+
this.messageHandlers.set(nodeId, handler);
|
|
80
|
+
}
|
|
81
|
+
async sendToNode(recipientId, messageId) {
|
|
82
|
+
const ws = this.connections.get(recipientId);
|
|
83
|
+
if (!ws || ws.readyState !== WebSocket.OPEN) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
try {
|
|
87
|
+
ws.send(JSON.stringify({ type: 'message', messageId }));
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Send acknowledgment for received message
|
|
96
|
+
*/
|
|
97
|
+
async sendAck(recipientId, messageId, status) {
|
|
98
|
+
const ws = this.connections.get(recipientId);
|
|
99
|
+
if (!ws || ws.readyState !== WebSocket.OPEN) {
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
try {
|
|
103
|
+
ws.send(JSON.stringify({ type: 'ack', messageId, status }));
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
async isNodeReachable(nodeId) {
|
|
111
|
+
const ws = this.connections.get(nodeId);
|
|
112
|
+
return ws !== undefined && ws.readyState === WebSocket.OPEN;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
exports.WebSocketTransport = WebSocketTransport;
|
|
116
|
+
//# sourceMappingURL=webSocketTransport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webSocketTransport.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/messaging/webSocketTransport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ECIESService, Member, PlatformID, ShortHexGuid, TypedIdProviderWrapper } from '@digitaldefiance/ecies-lib';
|
|
2
|
+
import { CanUnlockResult, IQuorumMember, IQuorumService, QuorumDocumentInfo, QuorumMemberMetadata, SealedDocumentResult } from '../interfaces/services/quorumService';
|
|
3
|
+
import { QuorumDataRecord } from '../quorumDataRecord';
|
|
4
|
+
import { SimpleStore } from '../stores/simpleStore';
|
|
5
|
+
import { SealingService } from './sealing.service';
|
|
6
|
+
/**
|
|
7
|
+
* QuorumService provides member management and document sealing/unsealing
|
|
8
|
+
* functionality using Shamir's Secret Sharing for secure multi-party access control.
|
|
9
|
+
*
|
|
10
|
+
* This service wraps the existing BrightChainQuorum and SealingService to provide
|
|
11
|
+
* a clean API for quorum operations.
|
|
12
|
+
*/
|
|
13
|
+
export declare class QuorumService<TID extends PlatformID = Uint8Array> implements IQuorumService<TID> {
|
|
14
|
+
protected readonly sealingService: SealingService<TID>;
|
|
15
|
+
protected readonly enhancedProvider: TypedIdProviderWrapper<TID>;
|
|
16
|
+
protected readonly eciesService: ECIESService<TID>;
|
|
17
|
+
protected readonly members: SimpleStore<ShortHexGuid, IQuorumMember<TID>>;
|
|
18
|
+
protected readonly membersByMember: SimpleStore<ShortHexGuid, Member<TID>>;
|
|
19
|
+
protected readonly documents: SimpleStore<ShortHexGuid, QuorumDataRecord<TID>>;
|
|
20
|
+
protected readonly memberIds: Set<ShortHexGuid>;
|
|
21
|
+
protected readonly documentIds: Set<ShortHexGuid>;
|
|
22
|
+
constructor(idProvider?: TypedIdProviderWrapper<TID>, eciesService?: ECIESService<TID>);
|
|
23
|
+
/**
|
|
24
|
+
* Convert a member ID to hex string format
|
|
25
|
+
*/
|
|
26
|
+
protected memberIdToHex(memberId: TID): ShortHexGuid;
|
|
27
|
+
addMember(member: Member<TID>, metadata: QuorumMemberMetadata): Promise<IQuorumMember<TID>>;
|
|
28
|
+
removeMember(memberId: ShortHexGuid): Promise<void>;
|
|
29
|
+
getMember(memberId: ShortHexGuid): Promise<IQuorumMember<TID> | null>;
|
|
30
|
+
listMembers(): Promise<IQuorumMember<TID>[]>;
|
|
31
|
+
sealDocument<T>(agent: Member<TID>, document: T, memberIds: ShortHexGuid[], sharesRequired?: number): Promise<SealedDocumentResult<TID>>;
|
|
32
|
+
unsealDocument<T>(documentId: ShortHexGuid, membersWithPrivateKey: Member<TID>[]): Promise<T>;
|
|
33
|
+
getDocument(documentId: ShortHexGuid): Promise<QuorumDocumentInfo | null>;
|
|
34
|
+
listDocuments(memberId?: ShortHexGuid): Promise<QuorumDocumentInfo[]>;
|
|
35
|
+
deleteDocument(documentId: ShortHexGuid): Promise<void>;
|
|
36
|
+
canUnlock(documentId: ShortHexGuid, memberIds: ShortHexGuid[]): Promise<CanUnlockResult>;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=quorumService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quorumService.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/quorumService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QuorumService = void 0;
|
|
4
|
+
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
5
|
+
const quorumErrorType_1 = require("../enumerations/quorumErrorType");
|
|
6
|
+
const quorumError_1 = require("../errors/quorumError");
|
|
7
|
+
const simpleStore_1 = require("../stores/simpleStore");
|
|
8
|
+
const sealing_service_1 = require("./sealing.service");
|
|
9
|
+
const service_provider_1 = require("./service.provider");
|
|
10
|
+
/**
|
|
11
|
+
* QuorumService provides member management and document sealing/unsealing
|
|
12
|
+
* functionality using Shamir's Secret Sharing for secure multi-party access control.
|
|
13
|
+
*
|
|
14
|
+
* This service wraps the existing BrightChainQuorum and SealingService to provide
|
|
15
|
+
* a clean API for quorum operations.
|
|
16
|
+
*/
|
|
17
|
+
class QuorumService {
|
|
18
|
+
constructor(idProvider, eciesService) {
|
|
19
|
+
// Track IDs for iteration (SimpleStore doesn't support iteration)
|
|
20
|
+
this.memberIds = new Set();
|
|
21
|
+
this.documentIds = new Set();
|
|
22
|
+
// Use ServiceProvider to get properly configured providers if not explicitly provided
|
|
23
|
+
// This ensures consistent configuration across the application
|
|
24
|
+
const serviceProvider = service_provider_1.ServiceProvider.getInstance();
|
|
25
|
+
this.enhancedProvider = idProvider ?? serviceProvider.idProvider;
|
|
26
|
+
this.eciesService = eciesService ?? serviceProvider.eciesService;
|
|
27
|
+
this.sealingService = new sealing_service_1.SealingService(this.eciesService, this.enhancedProvider);
|
|
28
|
+
this.members = new simpleStore_1.SimpleStore();
|
|
29
|
+
this.membersByMember = new simpleStore_1.SimpleStore();
|
|
30
|
+
this.documents = new simpleStore_1.SimpleStore();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Convert a member ID to hex string format
|
|
34
|
+
*/
|
|
35
|
+
memberIdToHex(memberId) {
|
|
36
|
+
return (0, ecies_lib_1.uint8ArrayToHex)(this.enhancedProvider.toBytes(memberId));
|
|
37
|
+
}
|
|
38
|
+
// === Member Management ===
|
|
39
|
+
async addMember(member, metadata) {
|
|
40
|
+
// Use member.idBytes directly instead of converting through provider
|
|
41
|
+
// This ensures we get the correct bytes regardless of provider configuration
|
|
42
|
+
const hexId = (0, ecies_lib_1.uint8ArrayToHex)(member.idBytes);
|
|
43
|
+
const now = new Date();
|
|
44
|
+
const quorumMember = {
|
|
45
|
+
id: hexId,
|
|
46
|
+
publicKey: member.publicKey,
|
|
47
|
+
metadata,
|
|
48
|
+
isActive: true,
|
|
49
|
+
createdAt: now,
|
|
50
|
+
updatedAt: now,
|
|
51
|
+
};
|
|
52
|
+
this.members.set(hexId, quorumMember);
|
|
53
|
+
this.membersByMember.set(hexId, member);
|
|
54
|
+
this.memberIds.add(hexId);
|
|
55
|
+
return quorumMember;
|
|
56
|
+
}
|
|
57
|
+
async removeMember(memberId) {
|
|
58
|
+
if (!this.members.has(memberId)) {
|
|
59
|
+
throw new quorumError_1.QuorumError(quorumErrorType_1.QuorumErrorType.MemberNotFound);
|
|
60
|
+
}
|
|
61
|
+
// Get the member and mark as inactive rather than deleting
|
|
62
|
+
// This preserves their ability to participate in existing documents
|
|
63
|
+
const member = this.members.get(memberId);
|
|
64
|
+
member.isActive = false;
|
|
65
|
+
member.updatedAt = new Date();
|
|
66
|
+
this.members.set(memberId, member);
|
|
67
|
+
// Note: We don't remove from memberIds because the member still exists
|
|
68
|
+
}
|
|
69
|
+
async getMember(memberId) {
|
|
70
|
+
if (!this.members.has(memberId)) {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
return this.members.get(memberId);
|
|
74
|
+
}
|
|
75
|
+
async listMembers() {
|
|
76
|
+
const result = [];
|
|
77
|
+
for (const memberId of this.memberIds) {
|
|
78
|
+
const member = await this.getMember(memberId);
|
|
79
|
+
if (member && member.isActive) {
|
|
80
|
+
result.push(member);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return result;
|
|
84
|
+
}
|
|
85
|
+
// === Document Sealing ===
|
|
86
|
+
async sealDocument(agent, document, memberIds, sharesRequired) {
|
|
87
|
+
// Validate member count
|
|
88
|
+
if (memberIds.length < 2) {
|
|
89
|
+
throw new quorumError_1.QuorumError(quorumErrorType_1.QuorumErrorType.NotEnoughMembers);
|
|
90
|
+
}
|
|
91
|
+
// Get Member objects for the specified IDs
|
|
92
|
+
const members = [];
|
|
93
|
+
for (const memberId of memberIds) {
|
|
94
|
+
if (!this.membersByMember.has(memberId)) {
|
|
95
|
+
throw new quorumError_1.QuorumError(quorumErrorType_1.QuorumErrorType.MemberNotFound);
|
|
96
|
+
}
|
|
97
|
+
members.push(this.membersByMember.get(memberId));
|
|
98
|
+
}
|
|
99
|
+
// Seal the document using the sealing service
|
|
100
|
+
const sealedDoc = await this.sealingService.quorumSeal(agent, document, members, sharesRequired);
|
|
101
|
+
// Store the sealed document
|
|
102
|
+
// Use the document's own enhancedProvider to convert the ID to bytes
|
|
103
|
+
const docHexId = (0, ecies_lib_1.uint8ArrayToHex)(sealedDoc.enhancedProvider.toBytes(sealedDoc.id));
|
|
104
|
+
this.documents.set(docHexId, sealedDoc);
|
|
105
|
+
this.documentIds.add(docHexId);
|
|
106
|
+
return {
|
|
107
|
+
documentId: docHexId,
|
|
108
|
+
encryptedData: sealedDoc.encryptedData,
|
|
109
|
+
memberIds,
|
|
110
|
+
sharesRequired: sealedDoc.sharesRequired,
|
|
111
|
+
createdAt: sealedDoc.dateCreated,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
// === Document Unsealing ===
|
|
115
|
+
async unsealDocument(documentId, membersWithPrivateKey) {
|
|
116
|
+
if (!this.documents.has(documentId)) {
|
|
117
|
+
throw new quorumError_1.QuorumError(quorumErrorType_1.QuorumErrorType.DocumentNotFound);
|
|
118
|
+
}
|
|
119
|
+
const doc = this.documents.get(documentId);
|
|
120
|
+
// Unseal using the sealing service
|
|
121
|
+
return await this.sealingService.quorumUnseal(doc, membersWithPrivateKey);
|
|
122
|
+
}
|
|
123
|
+
// === Document Management ===
|
|
124
|
+
async getDocument(documentId) {
|
|
125
|
+
if (!this.documents.has(documentId)) {
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
const doc = this.documents.get(documentId);
|
|
129
|
+
const creatorHexId = (0, ecies_lib_1.uint8ArrayToHex)(this.enhancedProvider.toBytes(doc.creator.id));
|
|
130
|
+
return {
|
|
131
|
+
id: documentId,
|
|
132
|
+
memberIds: doc.memberIDs.map((id) => (0, ecies_lib_1.uint8ArrayToHex)(this.enhancedProvider.toBytes(id))),
|
|
133
|
+
sharesRequired: doc.sharesRequired,
|
|
134
|
+
createdAt: doc.dateCreated,
|
|
135
|
+
creatorId: creatorHexId,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
async listDocuments(memberId) {
|
|
139
|
+
const result = [];
|
|
140
|
+
for (const docId of this.documentIds) {
|
|
141
|
+
const doc = await this.getDocument(docId);
|
|
142
|
+
if (doc) {
|
|
143
|
+
// Filter by member if specified
|
|
144
|
+
if (!memberId || doc.memberIds.includes(memberId)) {
|
|
145
|
+
result.push(doc);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return result;
|
|
150
|
+
}
|
|
151
|
+
async deleteDocument(documentId) {
|
|
152
|
+
if (!this.documents.has(documentId)) {
|
|
153
|
+
throw new quorumError_1.QuorumError(quorumErrorType_1.QuorumErrorType.DocumentNotFound);
|
|
154
|
+
}
|
|
155
|
+
// Remove from tracking - the document remains in SimpleStore but won't be listed
|
|
156
|
+
this.documentIds.delete(documentId);
|
|
157
|
+
}
|
|
158
|
+
async canUnlock(documentId, memberIds) {
|
|
159
|
+
if (!this.documents.has(documentId)) {
|
|
160
|
+
throw new quorumError_1.QuorumError(quorumErrorType_1.QuorumErrorType.DocumentNotFound);
|
|
161
|
+
}
|
|
162
|
+
const doc = this.documents.get(documentId);
|
|
163
|
+
const docMemberIds = doc.memberIDs.map((id) => (0, ecies_lib_1.uint8ArrayToHex)(this.enhancedProvider.toBytes(id)));
|
|
164
|
+
// Find which provided members are actually in the document
|
|
165
|
+
const validMemberIds = memberIds.filter((id) => docMemberIds.includes(id));
|
|
166
|
+
const missingMembers = docMemberIds.filter((id) => !memberIds.includes(id));
|
|
167
|
+
return {
|
|
168
|
+
canUnlock: validMemberIds.length >= doc.sharesRequired,
|
|
169
|
+
sharesProvided: validMemberIds.length,
|
|
170
|
+
sharesRequired: doc.sharesRequired,
|
|
171
|
+
missingMembers,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
exports.QuorumService = QuorumService;
|
|
176
|
+
//# sourceMappingURL=quorumService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quorumService.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/quorumService.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ export declare class SealingService<TID extends PlatformID = Uint8Array> {
|
|
|
21
21
|
* @param amongstMembers The members to distribute shares to
|
|
22
22
|
* @param sharesRequired Optional number of shares required to unseal (defaults to all members)
|
|
23
23
|
* @returns QuorumDataRecord containing the sealed data and encrypted shares
|
|
24
|
+
* @throws {SealingError} If validation fails or sealing operation fails
|
|
24
25
|
*/
|
|
25
26
|
quorumSeal<T>(agent: Member<TID>, data: T, amongstMembers: Member<TID>[], sharesRequired?: number): Promise<QuorumDataRecord<TID>>;
|
|
26
27
|
/**
|
|
@@ -32,6 +33,7 @@ export declare class SealingService<TID extends PlatformID = Uint8Array> {
|
|
|
32
33
|
* @param document The sealed document
|
|
33
34
|
* @param membersWithPrivateKey Members with loaded private keys
|
|
34
35
|
* @returns Decrypted shares
|
|
36
|
+
* @throws {SealingError} If validation fails or decryption fails
|
|
35
37
|
*/
|
|
36
38
|
decryptShares(document: QuorumDataRecord<TID>, membersWithPrivateKey: Member<TID>[]): Promise<Shares>;
|
|
37
39
|
/**
|
|
@@ -39,6 +41,7 @@ export declare class SealingService<TID extends PlatformID = Uint8Array> {
|
|
|
39
41
|
* @param document The document to unseal
|
|
40
42
|
* @param membersWithPrivateKey Members with loaded private keys
|
|
41
43
|
* @returns The unsealed data
|
|
44
|
+
* @throws {SealingError} If validation fails or unsealing fails
|
|
42
45
|
*/
|
|
43
46
|
quorumUnseal<T>(document: QuorumDataRecord<TID>, membersWithPrivateKey: Member<TID>[]): Promise<T>;
|
|
44
47
|
/**
|
|
@@ -46,6 +49,7 @@ export declare class SealingService<TID extends PlatformID = Uint8Array> {
|
|
|
46
49
|
* @param document The document to unseal
|
|
47
50
|
* @param recoveredShares The shares to use for unsealing
|
|
48
51
|
* @returns The unsealed data
|
|
52
|
+
* @throws {SealingError} If validation fails or unsealing fails
|
|
49
53
|
*/
|
|
50
54
|
quorumUnsealWithShares<T>(document: QuorumDataRecord<TID>, recoveredShares: Shares): Promise<T>;
|
|
51
55
|
/**
|
|
@@ -53,6 +57,7 @@ export declare class SealingService<TID extends PlatformID = Uint8Array> {
|
|
|
53
57
|
* @param shares The shares to encrypt
|
|
54
58
|
* @param members The members to encrypt shares for
|
|
55
59
|
* @returns Map of encrypted shares by member ID
|
|
60
|
+
* @throws {SealingError} If validation fails or encryption fails
|
|
56
61
|
*/
|
|
57
62
|
encryptSharesForMembers(shares: Shares, members: Member<TID>[]): Promise<Map<ShortHexGuid, Uint8Array>>;
|
|
58
63
|
/**
|
|
@@ -60,6 +65,7 @@ export declare class SealingService<TID extends PlatformID = Uint8Array> {
|
|
|
60
65
|
* @param encryptedSharesByMemberId Map of encrypted shares by member ID
|
|
61
66
|
* @param members Members with loaded private keys
|
|
62
67
|
* @returns Decrypted shares
|
|
68
|
+
* @throws {SealingError} If validation fails or decryption fails
|
|
63
69
|
*/
|
|
64
70
|
decryptSharesForMembers(encryptedSharesByMemberId: Map<TID, Uint8Array>, members: Member<TID>[]): Promise<Shares>;
|
|
65
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sealing.service.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/sealing.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sealing.service.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/sealing.service.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,YAAY,EAGZ,MAAM,EACN,UAAU,EACV,YAAY,EACZ,sBAAsB,EAEvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAc,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAKnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAgBvD,qBAAa,cAAc,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IAC7D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA8B;gBAE7D,YAAY,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,EAChC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC,GAAG,CAAC;IAMhD;;;OAGG;IACI,aAAa,CAAC,SAAS,EAAE,MAAM;IAyBtC;;OAEG;WACW,wBAAwB,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU,EACxE,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAC7B,cAAc,CAAC,EAAE,MAAM;IAiBzB;;;;;;;;OAQG;IACU,UAAU,CAAC,CAAC,EACvB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAClB,IAAI,EAAE,CAAC,EACP,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,EAC7B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAoDjC;;OAEG;WACW,wBAAwB,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU,EACxE,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,GACrB,OAAO;IAWV;;;;;;OAMG;IACU,aAAa,CACxB,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAC/B,qBAAqB,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,GACnC,OAAO,CAAC,MAAM,CAAC;IA0ClB;;;;;;OAMG;IACU,YAAY,CAAC,CAAC,EACzB,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAC/B,qBAAqB,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,GACnC,OAAO,CAAC,CAAC,CAAC;IAkBb;;;;;;OAMG;IACU,sBAAsB,CAAC,CAAC,EACnC,QAAQ,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAC/B,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,CAAC,CAAC;IA4Bb;;;;;;OAMG;IACU,uBAAuB,CAClC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,GACrB,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAkCzC;;;;;;OAMG;IACU,uBAAuB,CAClC,yBAAyB,EAAE,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,EAC/C,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,GACrB,OAAO,CAAC,MAAM,CAAC;CAqCnB"}
|