@brightchain/brightchain-lib 0.12.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/src/browser.d.ts +1 -1
- package/src/browser.d.ts.map +1 -1
- package/src/browser.js +3 -3
- package/src/browser.js.map +1 -1
- package/src/lib/blocks/cblBase.d.ts.map +1 -1
- package/src/lib/blocks/cblBase.js +8 -1
- package/src/lib/blocks/cblBase.js.map +1 -1
- package/src/lib/blocks/encryptedBlockFactory.d.ts +6 -1
- package/src/lib/blocks/encryptedBlockFactory.d.ts.map +1 -1
- package/src/lib/blocks/encryptedBlockFactory.js +14 -5
- package/src/lib/blocks/encryptedBlockFactory.js.map +1 -1
- package/src/lib/documents/member/memberDocument.d.ts +12 -1
- package/src/lib/documents/member/memberDocument.d.ts.map +1 -1
- package/src/lib/documents/member/memberDocument.js +24 -4
- package/src/lib/documents/member/memberDocument.js.map +1 -1
- package/src/lib/documents/member/memberProfileHydration.d.ts.map +1 -1
- package/src/lib/documents/member/memberProfileHydration.js +23 -23
- package/src/lib/documents/member/memberProfileHydration.js.map +1 -1
- package/src/lib/enumeration-translations/blockSize.d.ts.map +1 -1
- package/src/lib/enumeration-translations/blockSize.js +58 -59
- 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 +2 -2
- package/src/lib/enumeration-translations/blockType.js.map +1 -1
- package/src/lib/enumeration-translations/index.d.ts +8 -0
- package/src/lib/enumeration-translations/index.d.ts.map +1 -1
- package/src/lib/enumeration-translations/index.js +7 -0
- package/src/lib/enumeration-translations/index.js.map +1 -1
- package/src/lib/enumeration-translations/memberType.d.ts.map +1 -1
- package/src/lib/enumeration-translations/memberType.js +2 -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/enumeration-translations/security-event-severity.d.ts.map +1 -1
- package/src/lib/enumeration-translations/security-event-severity.js +2 -2
- package/src/lib/enumeration-translations/security-event-severity.js.map +1 -1
- package/src/lib/enumeration-translations/security-event-type.d.ts.map +1 -1
- package/src/lib/enumeration-translations/security-event-type.js +2 -2
- package/src/lib/enumeration-translations/security-event-type.js.map +1 -1
- package/src/lib/enumerations/blockSize.d.ts.map +1 -1
- package/src/lib/enumerations/brightChainStrings.d.ts +10 -4
- package/src/lib/enumerations/brightChainStrings.d.ts.map +1 -1
- package/src/lib/enumerations/brightChainStrings.js +9 -4
- package/src/lib/enumerations/brightChainStrings.js.map +1 -1
- package/src/lib/enumerations/durabilityLevel.d.ts +4 -0
- package/src/lib/enumerations/durabilityLevel.d.ts.map +1 -1
- package/src/lib/enumerations/durabilityLevel.js +10 -1
- package/src/lib/enumerations/durabilityLevel.js.map +1 -1
- package/src/lib/enumerations/healthStatus.d.ts +10 -0
- package/src/lib/enumerations/healthStatus.d.ts.map +1 -0
- package/src/lib/enumerations/healthStatus.js +14 -0
- package/src/lib/enumerations/healthStatus.js.map +1 -0
- package/src/lib/enumerations/index.d.ts +4 -0
- package/src/lib/enumerations/index.d.ts.map +1 -1
- package/src/lib/enumerations/index.js +4 -0
- package/src/lib/enumerations/index.js.map +1 -1
- package/src/lib/enumerations/memberErrorType.d.ts +5 -1
- package/src/lib/enumerations/memberErrorType.d.ts.map +1 -1
- package/src/lib/enumerations/memberErrorType.js +4 -0
- package/src/lib/enumerations/memberErrorType.js.map +1 -1
- package/src/lib/enumerations/messaging/deliveryStatus.d.ts +50 -0
- package/src/lib/enumerations/messaging/deliveryStatus.d.ts.map +1 -0
- package/src/lib/enumerations/messaging/deliveryStatus.js +68 -0
- package/src/lib/enumerations/messaging/deliveryStatus.js.map +1 -0
- package/src/lib/enumerations/messaging/emailErrorType.d.ts +36 -0
- package/src/lib/enumerations/messaging/emailErrorType.d.ts.map +1 -0
- package/src/lib/enumerations/messaging/emailErrorType.js +46 -0
- package/src/lib/enumerations/messaging/emailErrorType.js.map +1 -0
- package/src/lib/enumerations/messaging/index.d.ts +2 -1
- package/src/lib/enumerations/messaging/index.d.ts.map +1 -1
- package/src/lib/enumerations/messaging/index.js +2 -1
- package/src/lib/enumerations/messaging/index.js.map +1 -1
- package/src/lib/enumerations/messaging/messageEncryptionScheme.d.ts +4 -2
- package/src/lib/enumerations/messaging/messageEncryptionScheme.d.ts.map +1 -1
- package/src/lib/enumerations/messaging/messageEncryptionScheme.js +3 -1
- package/src/lib/enumerations/messaging/messageEncryptionScheme.js.map +1 -1
- package/src/lib/enumerations/nodeCapability.d.ts +12 -0
- package/src/lib/enumerations/nodeCapability.d.ts.map +1 -0
- package/src/lib/enumerations/nodeCapability.js +16 -0
- package/src/lib/enumerations/nodeCapability.js.map +1 -0
- package/src/lib/enumerations/nodeEventType.d.ts +13 -0
- package/src/lib/enumerations/nodeEventType.d.ts.map +1 -0
- package/src/lib/enumerations/nodeEventType.js +17 -0
- package/src/lib/enumerations/nodeEventType.js.map +1 -0
- package/src/lib/enumerations/nodeStatus.d.ts +12 -0
- package/src/lib/enumerations/nodeStatus.d.ts.map +1 -0
- package/src/lib/enumerations/nodeStatus.js +16 -0
- package/src/lib/enumerations/nodeStatus.js.map +1 -0
- package/src/lib/enumerations/votingDerivationErrorType.d.ts.map +1 -1
- 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.map +1 -1
- package/src/lib/errors/block/blockCapacity.js.map +1 -1
- 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.map +1 -1
- package/src/lib/errors/block/blockMetadata.js.map +1 -1
- 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/blockServiceError.d.ts.map +1 -1
- package/src/lib/errors/blockServiceError.js.map +1 -1
- package/src/lib/errors/bufferError.js.map +1 -1
- package/src/lib/errors/cblError.d.ts.map +1 -1
- package/src/lib/errors/cblError.js.map +1 -1
- package/src/lib/errors/disposed.d.ts.map +1 -1
- package/src/lib/errors/disposed.js +1 -1
- package/src/lib/errors/disposed.js.map +1 -1
- 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.map +1 -1
- package/src/lib/errors/eciesError.js.map +1 -1
- package/src/lib/errors/enhancedValidationError.d.ts.map +1 -1
- package/src/lib/errors/extendedCblError.d.ts.map +1 -1
- package/src/lib/errors/extendedCblError.js.map +1 -1
- package/src/lib/errors/failedToHydrate.js.map +1 -1
- package/src/lib/errors/fecError.d.ts +3 -1
- 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.map +1 -1
- package/src/lib/errors/handleTupleError.js.map +1 -1
- package/src/lib/errors/invalidIDFormat.js.map +1 -1
- 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.map +1 -1
- package/src/lib/errors/memberError.js +1 -0
- package/src/lib/errors/memberError.js.map +1 -1
- package/src/lib/errors/memoryTupleError.d.ts.map +1 -1
- package/src/lib/errors/memoryTupleError.js.map +1 -1
- package/src/lib/errors/messaging/emailError.d.ts +55 -0
- package/src/lib/errors/messaging/emailError.d.ts.map +1 -0
- package/src/lib/errors/messaging/emailError.js +64 -0
- package/src/lib/errors/messaging/emailError.js.map +1 -0
- package/src/lib/errors/messaging/index.d.ts +1 -0
- package/src/lib/errors/messaging/index.d.ts.map +1 -1
- package/src/lib/errors/messaging/index.js +1 -0
- package/src/lib/errors/messaging/index.js.map +1 -1
- package/src/lib/errors/multiEncryptedError.d.ts.map +1 -1
- package/src/lib/errors/multiEncryptedError.js.map +1 -1
- package/src/lib/errors/notImplemented.js.map +1 -1
- package/src/lib/errors/quorumError.d.ts.map +1 -1
- package/src/lib/errors/quorumError.js.map +1 -1
- 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.map +1 -1
- package/src/lib/errors/storeError.d.ts +2 -1
- package/src/lib/errors/storeError.d.ts.map +1 -1
- package/src/lib/errors/storeError.js.map +1 -1
- 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.map +1 -1
- package/src/lib/errors/symmetricError.js.map +1 -1
- package/src/lib/errors/systemKeyringError.d.ts.map +1 -1
- package/src/lib/errors/systemKeyringError.js.map +1 -1
- package/src/lib/errors/translatableBrightChainError.d.ts.map +1 -1
- package/src/lib/errors/tupleError.d.ts.map +1 -1
- package/src/lib/errors/tupleError.js.map +1 -1
- package/src/lib/errors/typedError.d.ts +5 -5
- package/src/lib/errors/typedError.d.ts.map +1 -1
- package/src/lib/errors/typedError.js +2 -2
- package/src/lib/errors/typedError.js.map +1 -1
- package/src/lib/errors/typedWithReasonError.d.ts.map +1 -1
- package/src/lib/errors/whitenedError.d.ts.map +1 -1
- package/src/lib/errors/whitenedError.js.map +1 -1
- package/src/lib/i18n/i18n-setup.d.ts +86 -0
- package/src/lib/i18n/i18n-setup.d.ts.map +1 -0
- package/src/lib/i18n/i18n-setup.js +291 -0
- package/src/lib/i18n/i18n-setup.js.map +1 -0
- package/src/lib/i18n/index.d.ts +1 -54
- package/src/lib/i18n/index.d.ts.map +1 -1
- package/src/lib/i18n/index.js +1 -257
- package/src/lib/i18n/index.js.map +1 -1
- package/src/lib/i18n/strings/englishUK.d.ts.map +1 -1
- package/src/lib/i18n/strings/englishUK.js.map +1 -1
- package/src/lib/i18n/strings/englishUs.d.ts.map +1 -1
- package/src/lib/i18n/strings/englishUs.js +4 -0
- package/src/lib/i18n/strings/englishUs.js.map +1 -1
- package/src/lib/i18n/strings/french.d.ts.map +1 -1
- package/src/lib/i18n/strings/french.js +4 -0
- package/src/lib/i18n/strings/french.js.map +1 -1
- package/src/lib/i18n/strings/german.d.ts.map +1 -1
- package/src/lib/i18n/strings/german.js +4 -0
- package/src/lib/i18n/strings/german.js.map +1 -1
- package/src/lib/i18n/strings/japanese.d.ts.map +1 -1
- package/src/lib/i18n/strings/japanese.js +4 -0
- package/src/lib/i18n/strings/japanese.js.map +1 -1
- package/src/lib/i18n/strings/mandarin.d.ts.map +1 -1
- package/src/lib/i18n/strings/mandarin.js +4 -0
- package/src/lib/i18n/strings/mandarin.js.map +1 -1
- package/src/lib/i18n/strings/spanish.d.ts.map +1 -1
- package/src/lib/i18n/strings/spanish.js +4 -0
- package/src/lib/i18n/strings/spanish.js.map +1 -1
- package/src/lib/i18n/strings/ukrainian.d.ts.map +1 -1
- package/src/lib/i18n/strings/ukrainian.js +4 -0
- package/src/lib/i18n/strings/ukrainian.js.map +1 -1
- package/src/lib/interfaces/availability/gossipService.d.ts +171 -4
- package/src/lib/interfaces/availability/gossipService.d.ts.map +1 -1
- package/src/lib/interfaces/availability/gossipService.js +139 -0
- package/src/lib/interfaces/availability/gossipService.js.map +1 -1
- package/src/lib/interfaces/blockLocationInfo.d.ts +10 -0
- package/src/lib/interfaces/blockLocationInfo.d.ts.map +1 -0
- package/src/lib/interfaces/blockLocationInfo.js +3 -0
- package/src/lib/interfaces/blockLocationInfo.js.map +1 -0
- package/src/lib/interfaces/dependencyStatus.d.ts +11 -0
- package/src/lib/interfaces/dependencyStatus.d.ts.map +1 -0
- package/src/lib/interfaces/{network/networkTransport.js → dependencyStatus.js} +1 -1
- package/src/lib/interfaces/dependencyStatus.js.map +1 -0
- package/src/lib/interfaces/index.d.ts +4 -0
- package/src/lib/interfaces/index.d.ts.map +1 -1
- package/src/lib/interfaces/index.js.map +1 -1
- package/src/lib/interfaces/messaging/attachmentMetadata.d.ts +47 -0
- package/src/lib/interfaces/messaging/attachmentMetadata.d.ts.map +1 -0
- package/src/lib/interfaces/messaging/attachmentMetadata.js +3 -0
- package/src/lib/interfaces/messaging/attachmentMetadata.js.map +1 -0
- package/src/lib/interfaces/messaging/emailAddress.d.ts +210 -0
- package/src/lib/interfaces/messaging/emailAddress.d.ts.map +1 -0
- package/src/lib/interfaces/messaging/emailAddress.js +213 -0
- package/src/lib/interfaces/messaging/emailAddress.js.map +1 -0
- package/src/lib/interfaces/messaging/emailDelivery.d.ts +80 -0
- package/src/lib/interfaces/messaging/emailDelivery.d.ts.map +1 -0
- package/src/lib/interfaces/messaging/emailDelivery.js +50 -0
- package/src/lib/interfaces/messaging/emailDelivery.js.map +1 -0
- package/src/lib/interfaces/messaging/emailMetadata.d.ts +269 -0
- package/src/lib/interfaces/messaging/emailMetadata.d.ts.map +1 -0
- package/src/lib/interfaces/messaging/emailMetadata.js +16 -0
- package/src/lib/interfaces/messaging/emailMetadata.js.map +1 -0
- package/src/lib/interfaces/messaging/index.d.ts +5 -1
- package/src/lib/interfaces/messaging/index.d.ts.map +1 -1
- package/src/lib/interfaces/messaging/index.js +5 -1
- package/src/lib/interfaces/messaging/index.js.map +1 -1
- package/src/lib/interfaces/messaging/messageMetadata.d.ts +2 -2
- package/src/lib/interfaces/messaging/messageMetadata.d.ts.map +1 -1
- package/src/lib/interfaces/messaging/messageMetadataStore.d.ts +2 -2
- package/src/lib/interfaces/messaging/messageMetadataStore.d.ts.map +1 -1
- package/src/lib/interfaces/messaging/mimePart.d.ts +214 -0
- package/src/lib/interfaces/messaging/mimePart.d.ts.map +1 -0
- package/src/lib/interfaces/messaging/mimePart.js +71 -0
- package/src/lib/interfaces/messaging/mimePart.js.map +1 -0
- package/src/lib/interfaces/network/index.d.ts +5 -1
- package/src/lib/interfaces/network/index.d.ts.map +1 -1
- package/src/lib/interfaces/network/node.d.ts +5 -107
- package/src/lib/interfaces/network/node.d.ts.map +1 -1
- package/src/lib/interfaces/network/node.js +0 -37
- package/src/lib/interfaces/network/node.js.map +1 -1
- package/src/lib/interfaces/network/nodeAdvertisement.d.ts +22 -0
- package/src/lib/interfaces/network/nodeAdvertisement.d.ts.map +1 -0
- package/src/lib/interfaces/network/nodeAdvertisement.js +3 -0
- package/src/lib/interfaces/network/nodeAdvertisement.js.map +1 -0
- package/src/lib/interfaces/network/nodeConfig.d.ts +14 -0
- package/src/lib/interfaces/network/nodeConfig.d.ts.map +1 -0
- package/src/lib/interfaces/{responses/apiMessage.js → network/nodeConfig.js} +1 -1
- package/src/lib/interfaces/network/nodeConfig.js.map +1 -0
- package/src/lib/interfaces/network/nodeEvent.d.ts +12 -0
- package/src/lib/interfaces/network/nodeEvent.d.ts.map +1 -0
- package/src/lib/interfaces/{messaging/messageRouter.js → network/nodeEvent.js} +1 -1
- package/src/lib/interfaces/network/nodeEvent.js.map +1 -0
- package/src/lib/interfaces/network/nodeLocation.d.ts +15 -0
- package/src/lib/interfaces/network/nodeLocation.d.ts.map +1 -0
- package/src/lib/interfaces/network/nodeLocation.js +3 -0
- package/src/lib/interfaces/network/nodeLocation.js.map +1 -0
- package/src/lib/interfaces/network/nodeResources.d.ts +20 -0
- package/src/lib/interfaces/network/nodeResources.d.ts.map +1 -0
- package/src/lib/interfaces/network/nodeResources.js +3 -0
- package/src/lib/interfaces/network/nodeResources.js.map +1 -0
- package/src/lib/interfaces/nodeInfo.d.ts +13 -0
- package/src/lib/interfaces/nodeInfo.d.ts.map +1 -0
- package/src/lib/interfaces/nodeInfo.js +3 -0
- package/src/lib/interfaces/nodeInfo.js.map +1 -0
- package/src/lib/interfaces/replicationNodeResult.d.ts +9 -0
- package/src/lib/interfaces/replicationNodeResult.d.ts.map +1 -0
- package/src/lib/interfaces/replicationNodeResult.js +3 -0
- package/src/lib/interfaces/replicationNodeResult.js.map +1 -0
- package/src/lib/interfaces/responses/apiError.d.ts +1 -1
- package/src/lib/interfaces/responses/apiError.d.ts.map +1 -1
- package/src/lib/interfaces/responses/apiExpressValidationError.d.ts +1 -1
- package/src/lib/interfaces/responses/apiExpressValidationError.d.ts.map +1 -1
- package/src/lib/interfaces/responses/blockLocationResponse.d.ts +11 -0
- package/src/lib/interfaces/responses/blockLocationResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/blockLocationResponse.js +3 -0
- package/src/lib/interfaces/responses/blockLocationResponse.js.map +1 -0
- package/src/lib/interfaces/responses/deleteMessageResponse.d.ts +11 -0
- package/src/lib/interfaces/responses/deleteMessageResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/deleteMessageResponse.js +3 -0
- package/src/lib/interfaces/responses/deleteMessageResponse.js.map +1 -0
- package/src/lib/interfaces/responses/detailedHealthResponse.d.ts +14 -0
- package/src/lib/interfaces/responses/detailedHealthResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/detailedHealthResponse.js +3 -0
- package/src/lib/interfaces/responses/detailedHealthResponse.js.map +1 -0
- package/src/lib/interfaces/responses/discoverBlockResponse.d.ts +17 -0
- package/src/lib/interfaces/responses/discoverBlockResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/discoverBlockResponse.js +3 -0
- package/src/lib/interfaces/responses/discoverBlockResponse.js.map +1 -0
- package/src/lib/interfaces/responses/getBlock.d.ts +1 -1
- package/src/lib/interfaces/responses/getBlock.d.ts.map +1 -1
- package/src/lib/interfaces/responses/getCbl.d.ts +1 -1
- package/src/lib/interfaces/responses/getCbl.d.ts.map +1 -1
- package/src/lib/interfaces/responses/getMessageResponse.d.ts +11 -0
- package/src/lib/interfaces/responses/getMessageResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/getMessageResponse.js +3 -0
- package/src/lib/interfaces/responses/getMessageResponse.js.map +1 -0
- package/src/lib/interfaces/responses/getNodeResponse.d.ts +10 -0
- package/src/lib/interfaces/responses/getNodeResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/getNodeResponse.js +3 -0
- package/src/lib/interfaces/responses/getNodeResponse.js.map +1 -0
- package/src/lib/interfaces/responses/healthResponse.d.ts +13 -0
- package/src/lib/interfaces/responses/healthResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/healthResponse.js +3 -0
- package/src/lib/interfaces/responses/healthResponse.js.map +1 -0
- package/src/lib/interfaces/responses/index.d.ts +16 -1
- package/src/lib/interfaces/responses/index.d.ts.map +1 -1
- package/src/lib/interfaces/responses/listNodesResponse.d.ts +11 -0
- package/src/lib/interfaces/responses/listNodesResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/listNodesResponse.js +3 -0
- package/src/lib/interfaces/responses/listNodesResponse.js.map +1 -0
- package/src/lib/interfaces/responses/members.d.ts +4 -2
- package/src/lib/interfaces/responses/members.d.ts.map +1 -1
- package/src/lib/interfaces/responses/queryMessageResponse.d.ts +18 -0
- package/src/lib/interfaces/responses/queryMessageResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/queryMessageResponse.js +3 -0
- package/src/lib/interfaces/responses/queryMessageResponse.js.map +1 -0
- package/src/lib/interfaces/responses/reconcileResponse.d.ts +10 -0
- package/src/lib/interfaces/responses/reconcileResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/reconcileResponse.js +3 -0
- package/src/lib/interfaces/responses/reconcileResponse.js.map +1 -0
- package/src/lib/interfaces/responses/registerNodeResponse.d.ts +10 -0
- package/src/lib/interfaces/responses/registerNodeResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/registerNodeResponse.js +3 -0
- package/src/lib/interfaces/responses/registerNodeResponse.js.map +1 -0
- package/src/lib/interfaces/responses/replicateBlockResponse.d.ts +11 -0
- package/src/lib/interfaces/responses/replicateBlockResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/replicateBlockResponse.js +3 -0
- package/src/lib/interfaces/responses/replicateBlockResponse.js.map +1 -0
- package/src/lib/interfaces/responses/retrieveSCBLResponse.d.ts +10 -0
- package/src/lib/interfaces/responses/retrieveSCBLResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/retrieveSCBLResponse.js +3 -0
- package/src/lib/interfaces/responses/retrieveSCBLResponse.js.map +1 -0
- package/src/lib/interfaces/responses/sendMessageResponse.d.ts +13 -0
- package/src/lib/interfaces/responses/sendMessageResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/sendMessageResponse.js +3 -0
- package/src/lib/interfaces/responses/sendMessageResponse.js.map +1 -0
- package/src/lib/interfaces/responses/storeBlock.d.ts +1 -1
- package/src/lib/interfaces/responses/storeBlock.d.ts.map +1 -1
- package/src/lib/interfaces/responses/storeCbl.d.ts +1 -1
- package/src/lib/interfaces/responses/storeCbl.d.ts.map +1 -1
- package/src/lib/interfaces/responses/storeSCBLResponse.d.ts +15 -0
- package/src/lib/interfaces/responses/storeSCBLResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/storeSCBLResponse.js +3 -0
- package/src/lib/interfaces/responses/storeSCBLResponse.js.map +1 -0
- package/src/lib/interfaces/responses/syncRequestResponse.d.ts +11 -0
- package/src/lib/interfaces/responses/syncRequestResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/syncRequestResponse.js +3 -0
- package/src/lib/interfaces/responses/syncRequestResponse.js.map +1 -0
- package/src/lib/interfaces/services/quorumService.d.ts +6 -6
- package/src/lib/interfaces/services/quorumService.d.ts.map +1 -1
- package/src/lib/schemas/messaging/messageMetadataSchema.d.ts.map +1 -1
- package/src/lib/schemas/messaging/messageMetadataSchema.js.map +1 -1
- package/src/lib/schemas/network/networkDocumentSchema.js.map +1 -1
- package/src/lib/security/securityAuditLogger.js +1 -1
- package/src/lib/security/securityAuditLogger.js.map +1 -1
- package/src/lib/services/fec.service.js +2 -2
- package/src/lib/services/fec.service.js.map +1 -1
- package/src/lib/services/member/memberCblService.d.ts +7 -1
- package/src/lib/services/member/memberCblService.d.ts.map +1 -1
- package/src/lib/services/member/memberCblService.js +87 -29
- package/src/lib/services/member/memberCblService.js.map +1 -1
- package/src/lib/services/memberStore.d.ts +30 -0
- package/src/lib/services/memberStore.d.ts.map +1 -1
- package/src/lib/services/memberStore.js +446 -39
- package/src/lib/services/memberStore.js.map +1 -1
- package/src/lib/services/messaging/deliveryTimeoutService.js +2 -2
- package/src/lib/services/messaging/deliveryTimeoutService.js.map +1 -1
- package/src/lib/services/messaging/emailEncryptionService.d.ts +250 -0
- package/src/lib/services/messaging/emailEncryptionService.d.ts.map +1 -0
- package/src/lib/services/messaging/emailEncryptionService.js +420 -0
- package/src/lib/services/messaging/emailEncryptionService.js.map +1 -0
- package/src/lib/services/messaging/emailMessageService.d.ts +669 -0
- package/src/lib/services/messaging/emailMessageService.d.ts.map +1 -0
- package/src/lib/services/messaging/emailMessageService.js +1013 -0
- package/src/lib/services/messaging/emailMessageService.js.map +1 -0
- package/src/lib/services/messaging/emailParser.d.ts +458 -0
- package/src/lib/services/messaging/emailParser.d.ts.map +1 -0
- package/src/lib/services/messaging/emailParser.js +1298 -0
- package/src/lib/services/messaging/emailParser.js.map +1 -0
- package/src/lib/services/messaging/emailSerializer.d.ts +403 -0
- package/src/lib/services/messaging/emailSerializer.d.ts.map +1 -0
- package/src/lib/services/messaging/emailSerializer.js +852 -0
- package/src/lib/services/messaging/emailSerializer.js.map +1 -0
- package/src/lib/services/messaging/emailValidator.d.ts +448 -0
- package/src/lib/services/messaging/emailValidator.d.ts.map +1 -0
- package/src/lib/services/messaging/emailValidator.js +810 -0
- package/src/lib/services/messaging/emailValidator.js.map +1 -0
- package/src/lib/services/messaging/gossipRetryService.d.ts +204 -0
- package/src/lib/services/messaging/gossipRetryService.d.ts.map +1 -0
- package/src/lib/services/messaging/gossipRetryService.js +319 -0
- package/src/lib/services/messaging/gossipRetryService.js.map +1 -0
- package/src/lib/services/messaging/inMemoryEmailMetadataStore.d.ts +60 -0
- package/src/lib/services/messaging/inMemoryEmailMetadataStore.d.ts.map +1 -0
- package/src/lib/services/messaging/inMemoryEmailMetadataStore.js +281 -0
- package/src/lib/services/messaging/inMemoryEmailMetadataStore.js.map +1 -0
- package/src/lib/services/messaging/index.d.ts +11 -5
- package/src/lib/services/messaging/index.d.ts.map +1 -1
- package/src/lib/services/messaging/index.js +19 -5
- package/src/lib/services/messaging/index.js.map +1 -1
- package/src/lib/services/messaging/messageCBLService.js +2 -2
- package/src/lib/services/messaging/messageCBLService.js.map +1 -1
- package/src/lib/stores/messaging/memoryMessageMetadataStore.d.ts +2 -2
- package/src/lib/stores/messaging/memoryMessageMetadataStore.d.ts.map +1 -1
- package/src/lib/stores/messaging/memoryMessageMetadataStore.js +2 -2
- package/src/lib/stores/messaging/memoryMessageMetadataStore.js.map +1 -1
- package/src/lib/enumerations/messaging/messageDeliveryStatus.d.ts +0 -18
- package/src/lib/enumerations/messaging/messageDeliveryStatus.d.ts.map +0 -1
- package/src/lib/enumerations/messaging/messageDeliveryStatus.js +0 -22
- package/src/lib/enumerations/messaging/messageDeliveryStatus.js.map +0 -1
- package/src/lib/enumerations/messaging/routingStrategy.d.ts +0 -12
- package/src/lib/enumerations/messaging/routingStrategy.d.ts.map +0 -1
- package/src/lib/enumerations/messaging/routingStrategy.js +0 -16
- package/src/lib/enumerations/messaging/routingStrategy.js.map +0 -1
- package/src/lib/interfaces/messaging/messageRouter.d.ts +0 -48
- package/src/lib/interfaces/messaging/messageRouter.d.ts.map +0 -1
- package/src/lib/interfaces/messaging/messageRouter.js.map +0 -1
- package/src/lib/interfaces/network/networkTransport.d.ts +0 -19
- package/src/lib/interfaces/network/networkTransport.d.ts.map +0 -1
- package/src/lib/interfaces/network/networkTransport.js.map +0 -1
- package/src/lib/interfaces/responses/apiMessage.d.ts +0 -4
- package/src/lib/interfaces/responses/apiMessage.d.ts.map +0 -1
- package/src/lib/interfaces/responses/apiMessage.js.map +0 -1
- package/src/lib/services/messaging/broadcastMessageRouter.d.ts +0 -18
- package/src/lib/services/messaging/broadcastMessageRouter.d.ts.map +0 -1
- package/src/lib/services/messaging/broadcastMessageRouter.js +0 -32
- package/src/lib/services/messaging/broadcastMessageRouter.js.map +0 -1
- package/src/lib/services/messaging/directMessageRouter.d.ts +0 -25
- package/src/lib/services/messaging/directMessageRouter.d.ts.map +0 -1
- package/src/lib/services/messaging/directMessageRouter.js +0 -58
- package/src/lib/services/messaging/directMessageRouter.js.map +0 -1
- package/src/lib/services/messaging/messageForwardingService.d.ts +0 -40
- package/src/lib/services/messaging/messageForwardingService.d.ts.map +0 -1
- package/src/lib/services/messaging/messageForwardingService.js +0 -74
- package/src/lib/services/messaging/messageForwardingService.js.map +0 -1
- package/src/lib/services/messaging/messageRouter.d.ts +0 -24
- package/src/lib/services/messaging/messageRouter.d.ts.map +0 -1
- package/src/lib/services/messaging/messageRouter.js +0 -111
- package/src/lib/services/messaging/messageRouter.js.map +0 -1
- package/src/lib/services/messaging/webSocketTransport.d.ts +0 -34
- package/src/lib/services/messaging/webSocketTransport.d.ts.map +0 -1
- package/src/lib/services/messaging/webSocketTransport.js +0 -115
- package/src/lib/services/messaging/webSocketTransport.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"messageRouter.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/messageRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAE/E;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAE9E;;;;;OAKG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1E;;;;;;OAMG;IACH,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAAE,EACpB,cAAc,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,aAAa,CAAC,CAAC;IAE1B;;;;OAIG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;CAC1D;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,QAAQ,EAAE,eAAe,CAAC;IAC1B,wCAAwC;IACxC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,qCAAqC;IACrC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,2CAA2C;IAC3C,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"messageRouter.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/messaging/messageRouter.ts"],"names":[],"mappings":""}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Network transport interface for message transmission
|
|
3
|
-
*/
|
|
4
|
-
export interface INetworkTransport {
|
|
5
|
-
/**
|
|
6
|
-
* Send message to specific recipient node
|
|
7
|
-
* @param recipientId Target node ID
|
|
8
|
-
* @param messageId Message ID to send
|
|
9
|
-
* @returns Promise resolving to success status
|
|
10
|
-
*/
|
|
11
|
-
sendToNode(recipientId: string, messageId: string): Promise<boolean>;
|
|
12
|
-
/**
|
|
13
|
-
* Check if node is reachable
|
|
14
|
-
* @param nodeId Node ID to check
|
|
15
|
-
* @returns Promise resolving to reachability status
|
|
16
|
-
*/
|
|
17
|
-
isNodeReachable(nodeId: string): Promise<boolean>;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=networkTransport.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"networkTransport.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/network/networkTransport.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAErE;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACnD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"networkTransport.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/network/networkTransport.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apiMessage.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/responses/apiMessage.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"apiMessage.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/interfaces/responses/apiMessage.ts"],"names":[],"mappings":""}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { IGossipService } from '../../interfaces/availability/gossipService';
|
|
2
|
-
import { IMessageMetadataStore } from '../../interfaces/messaging/messageMetadataStore';
|
|
3
|
-
/**
|
|
4
|
-
* Broadcast message router using gossip protocol
|
|
5
|
-
* Routes messages to all network nodes via gossip propagation
|
|
6
|
-
*/
|
|
7
|
-
export declare class BroadcastMessageRouter {
|
|
8
|
-
private readonly gossipService;
|
|
9
|
-
private readonly metadataStore;
|
|
10
|
-
constructor(gossipService: IGossipService, metadataStore: IMessageMetadataStore);
|
|
11
|
-
/**
|
|
12
|
-
* Broadcast message to network via gossip protocol
|
|
13
|
-
* @param messageId Message ID to broadcast
|
|
14
|
-
* @returns Promise resolving to success status
|
|
15
|
-
*/
|
|
16
|
-
broadcastMessage(messageId: string, _ttl?: number): Promise<boolean>;
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=broadcastMessageRouter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"broadcastMessageRouter.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/messaging/broadcastMessageRouter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AAExF;;;GAGG;AACH,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADb,aAAa,EAAE,cAAc,EAC7B,aAAa,EAAE,qBAAqB;IAGvD;;;;OAIG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAmB3E"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BroadcastMessageRouter = void 0;
|
|
4
|
-
const messageDeliveryStatus_1 = require("../../enumerations/messaging/messageDeliveryStatus");
|
|
5
|
-
/**
|
|
6
|
-
* Broadcast message router using gossip protocol
|
|
7
|
-
* Routes messages to all network nodes via gossip propagation
|
|
8
|
-
*/
|
|
9
|
-
class BroadcastMessageRouter {
|
|
10
|
-
constructor(gossipService, metadataStore) {
|
|
11
|
-
this.gossipService = gossipService;
|
|
12
|
-
this.metadataStore = metadataStore;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Broadcast message to network via gossip protocol
|
|
16
|
-
* @param messageId Message ID to broadcast
|
|
17
|
-
* @returns Promise resolving to success status
|
|
18
|
-
*/
|
|
19
|
-
async broadcastMessage(messageId, _ttl) {
|
|
20
|
-
try {
|
|
21
|
-
await this.metadataStore.updateDeliveryStatus(messageId, 'broadcast', messageDeliveryStatus_1.MessageDeliveryStatus.IN_TRANSIT);
|
|
22
|
-
await this.gossipService.announceBlock(messageId);
|
|
23
|
-
return true;
|
|
24
|
-
}
|
|
25
|
-
catch {
|
|
26
|
-
await this.metadataStore.updateDeliveryStatus(messageId, 'broadcast', messageDeliveryStatus_1.MessageDeliveryStatus.FAILED);
|
|
27
|
-
return false;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
exports.BroadcastMessageRouter = BroadcastMessageRouter;
|
|
32
|
-
//# sourceMappingURL=broadcastMessageRouter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"broadcastMessageRouter.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/messaging/broadcastMessageRouter.ts"],"names":[],"mappings":";;;AAAA,8FAA2F;AAI3F;;;GAGG;AACH,MAAa,sBAAsB;IACjC,YACmB,aAA6B,EAC7B,aAAoC;QADpC,kBAAa,GAAb,aAAa,CAAgB;QAC7B,kBAAa,GAAb,aAAa,CAAuB;IACpD,CAAC;IAEJ;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,SAAiB,EAAE,IAAa;QACrD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAC3C,SAAS,EACT,WAAW,EACX,6CAAqB,CAAC,UAAU,CACjC,CAAC;YAEF,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAC3C,SAAS,EACT,WAAW,EACX,6CAAqB,CAAC,MAAM,CAC7B,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;CACF;AA9BD,wDA8BC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { IMessageMetadataStore } from '../../interfaces/messaging/messageMetadataStore';
|
|
2
|
-
import { INetworkTransport } from '../../interfaces/network/networkTransport';
|
|
3
|
-
/**
|
|
4
|
-
* Direct message routing service
|
|
5
|
-
* Routes messages to specific recipient nodes via network transport
|
|
6
|
-
*/
|
|
7
|
-
export declare class DirectMessageRouter {
|
|
8
|
-
private readonly transport;
|
|
9
|
-
private readonly metadataStore;
|
|
10
|
-
constructor(transport: INetworkTransport, metadataStore: IMessageMetadataStore);
|
|
11
|
-
/**
|
|
12
|
-
* Route message to specific recipients
|
|
13
|
-
* @param messageId Message ID to route
|
|
14
|
-
* @param recipients List of recipient node IDs
|
|
15
|
-
* @returns Map of recipient ID to routing success status
|
|
16
|
-
*/
|
|
17
|
-
routeToRecipients(messageId: string, recipients: string[]): Promise<Map<string, boolean>>;
|
|
18
|
-
/**
|
|
19
|
-
* Check if recipients are reachable
|
|
20
|
-
* @param recipients List of recipient node IDs
|
|
21
|
-
* @returns Map of recipient ID to reachability status
|
|
22
|
-
*/
|
|
23
|
-
checkReachability(recipients: string[]): Promise<Map<string, boolean>>;
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=directMessageRouter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"directMessageRouter.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/messaging/directMessageRouter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAE9E;;;GAGG;AACH,qBAAa,mBAAmB;IAE5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBADb,SAAS,EAAE,iBAAiB,EAC5B,aAAa,EAAE,qBAAqB;IAGvD;;;;;OAKG;IACG,iBAAiB,CACrB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAkChC;;;;OAIG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAc7E"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DirectMessageRouter = void 0;
|
|
4
|
-
const messageDeliveryStatus_1 = require("../../enumerations/messaging/messageDeliveryStatus");
|
|
5
|
-
/**
|
|
6
|
-
* Direct message routing service
|
|
7
|
-
* Routes messages to specific recipient nodes via network transport
|
|
8
|
-
*/
|
|
9
|
-
class DirectMessageRouter {
|
|
10
|
-
constructor(transport, metadataStore) {
|
|
11
|
-
this.transport = transport;
|
|
12
|
-
this.metadataStore = metadataStore;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Route message to specific recipients
|
|
16
|
-
* @param messageId Message ID to route
|
|
17
|
-
* @param recipients List of recipient node IDs
|
|
18
|
-
* @returns Map of recipient ID to routing success status
|
|
19
|
-
*/
|
|
20
|
-
async routeToRecipients(messageId, recipients) {
|
|
21
|
-
const results = new Map();
|
|
22
|
-
for (const recipientId of recipients) {
|
|
23
|
-
try {
|
|
24
|
-
await this.metadataStore.updateDeliveryStatus(messageId, recipientId, messageDeliveryStatus_1.MessageDeliveryStatus.IN_TRANSIT);
|
|
25
|
-
const success = await this.transport.sendToNode(recipientId, messageId);
|
|
26
|
-
results.set(recipientId, success);
|
|
27
|
-
if (!success) {
|
|
28
|
-
await this.metadataStore.updateDeliveryStatus(messageId, recipientId, messageDeliveryStatus_1.MessageDeliveryStatus.FAILED);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
catch {
|
|
32
|
-
results.set(recipientId, false);
|
|
33
|
-
await this.metadataStore.updateDeliveryStatus(messageId, recipientId, messageDeliveryStatus_1.MessageDeliveryStatus.FAILED);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return results;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Check if recipients are reachable
|
|
40
|
-
* @param recipients List of recipient node IDs
|
|
41
|
-
* @returns Map of recipient ID to reachability status
|
|
42
|
-
*/
|
|
43
|
-
async checkReachability(recipients) {
|
|
44
|
-
const results = new Map();
|
|
45
|
-
for (const recipientId of recipients) {
|
|
46
|
-
try {
|
|
47
|
-
const reachable = await this.transport.isNodeReachable(recipientId);
|
|
48
|
-
results.set(recipientId, reachable);
|
|
49
|
-
}
|
|
50
|
-
catch {
|
|
51
|
-
results.set(recipientId, false);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return results;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
exports.DirectMessageRouter = DirectMessageRouter;
|
|
58
|
-
//# sourceMappingURL=directMessageRouter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"directMessageRouter.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/messaging/directMessageRouter.ts"],"names":[],"mappings":";;;AAAA,8FAA2F;AAI3F;;;GAGG;AACH,MAAa,mBAAmB;IAC9B,YACmB,SAA4B,EAC5B,aAAoC;QADpC,cAAS,GAAT,SAAS,CAAmB;QAC5B,kBAAa,GAAb,aAAa,CAAuB;IACpD,CAAC;IAEJ;;;;;OAKG;IACH,KAAK,CAAC,iBAAiB,CACrB,SAAiB,EACjB,UAAoB;QAEpB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;QAE3C,KAAK,MAAM,WAAW,IAAI,UAAU,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAC3C,SAAS,EACT,WAAW,EACX,6CAAqB,CAAC,UAAU,CACjC,CAAC;gBAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;gBACxE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBAElC,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAC3C,SAAS,EACT,WAAW,EACX,6CAAqB,CAAC,MAAM,CAC7B,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBAChC,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAC3C,SAAS,EACT,WAAW,EACX,6CAAqB,CAAC,MAAM,CAC7B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,iBAAiB,CAAC,UAAoB;QAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;QAE3C,KAAK,MAAM,WAAW,IAAI,UAAU,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;gBACpE,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AApED,kDAoEC"}
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import { IMessageMetadataStore } from '../../interfaces/messaging/messageMetadataStore';
|
|
2
|
-
import { INetworkTransport } from '../../interfaces/network/networkTransport';
|
|
3
|
-
/**
|
|
4
|
-
* Message forwarding service with loop detection
|
|
5
|
-
* Forwards messages through intermediate nodes to reach recipients
|
|
6
|
-
*/
|
|
7
|
-
export declare class MessageForwardingService {
|
|
8
|
-
private readonly transport;
|
|
9
|
-
private readonly metadataStore;
|
|
10
|
-
private readonly nodeId;
|
|
11
|
-
private readonly forwardingPaths;
|
|
12
|
-
constructor(transport: INetworkTransport, metadataStore: IMessageMetadataStore, nodeId: string);
|
|
13
|
-
/**
|
|
14
|
-
* Forward message to recipient via intermediate node
|
|
15
|
-
* @param messageId Message ID to forward
|
|
16
|
-
* @param recipientId Target recipient node ID
|
|
17
|
-
* @param intermediateNodeId Intermediate node to forward through
|
|
18
|
-
* @returns Promise resolving to success status
|
|
19
|
-
*/
|
|
20
|
-
forwardMessage(messageId: string, recipientId: string, intermediateNodeId: string): Promise<boolean>;
|
|
21
|
-
/**
|
|
22
|
-
* Detect forwarding loop
|
|
23
|
-
* @param messageId Message ID
|
|
24
|
-
* @param nodeId Node ID to check
|
|
25
|
-
* @returns True if loop detected
|
|
26
|
-
*/
|
|
27
|
-
private detectLoop;
|
|
28
|
-
/**
|
|
29
|
-
* Track forwarding path for loop detection
|
|
30
|
-
* @param messageId Message ID
|
|
31
|
-
* @param nodeId Node ID to add to path
|
|
32
|
-
*/
|
|
33
|
-
private trackForwardingPath;
|
|
34
|
-
/**
|
|
35
|
-
* Clear forwarding path for message
|
|
36
|
-
* @param messageId Message ID
|
|
37
|
-
*/
|
|
38
|
-
clearPath(messageId: string): void;
|
|
39
|
-
}
|
|
40
|
-
//# sourceMappingURL=messageForwardingService.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"messageForwardingService.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/messaging/messageForwardingService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAE9E;;;GAGG;AACH,qBAAa,wBAAwB;IAIjC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkC;gBAG/C,SAAS,EAAE,iBAAiB,EAC5B,aAAa,EAAE,qBAAqB,EACpC,MAAM,EAAE,MAAM;IAGjC;;;;;;OAMG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,OAAO,CAAC;IAsCnB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAQlB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;;OAGG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAGnC"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MessageForwardingService = void 0;
|
|
4
|
-
const messageDeliveryStatus_1 = require("../../enumerations/messaging/messageDeliveryStatus");
|
|
5
|
-
/**
|
|
6
|
-
* Message forwarding service with loop detection
|
|
7
|
-
* Forwards messages through intermediate nodes to reach recipients
|
|
8
|
-
*/
|
|
9
|
-
class MessageForwardingService {
|
|
10
|
-
constructor(transport, metadataStore, nodeId) {
|
|
11
|
-
this.transport = transport;
|
|
12
|
-
this.metadataStore = metadataStore;
|
|
13
|
-
this.nodeId = nodeId;
|
|
14
|
-
this.forwardingPaths = new Map();
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Forward message to recipient via intermediate node
|
|
18
|
-
* @param messageId Message ID to forward
|
|
19
|
-
* @param recipientId Target recipient node ID
|
|
20
|
-
* @param intermediateNodeId Intermediate node to forward through
|
|
21
|
-
* @returns Promise resolving to success status
|
|
22
|
-
*/
|
|
23
|
-
async forwardMessage(messageId, recipientId, intermediateNodeId) {
|
|
24
|
-
if (this.detectLoop(messageId, intermediateNodeId)) {
|
|
25
|
-
return false;
|
|
26
|
-
}
|
|
27
|
-
this.trackForwardingPath(messageId, intermediateNodeId);
|
|
28
|
-
try {
|
|
29
|
-
await this.metadataStore.updateDeliveryStatus(messageId, recipientId, messageDeliveryStatus_1.MessageDeliveryStatus.IN_TRANSIT);
|
|
30
|
-
const success = await this.transport.sendToNode(intermediateNodeId, messageId);
|
|
31
|
-
if (!success) {
|
|
32
|
-
await this.metadataStore.updateDeliveryStatus(messageId, recipientId, messageDeliveryStatus_1.MessageDeliveryStatus.FAILED);
|
|
33
|
-
}
|
|
34
|
-
return success;
|
|
35
|
-
}
|
|
36
|
-
catch {
|
|
37
|
-
await this.metadataStore.updateDeliveryStatus(messageId, recipientId, messageDeliveryStatus_1.MessageDeliveryStatus.FAILED);
|
|
38
|
-
return false;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Detect forwarding loop
|
|
43
|
-
* @param messageId Message ID
|
|
44
|
-
* @param nodeId Node ID to check
|
|
45
|
-
* @returns True if loop detected
|
|
46
|
-
*/
|
|
47
|
-
detectLoop(messageId, nodeId) {
|
|
48
|
-
if (nodeId === this.nodeId) {
|
|
49
|
-
return true;
|
|
50
|
-
}
|
|
51
|
-
const path = this.forwardingPaths.get(messageId);
|
|
52
|
-
return path ? path.has(nodeId) : false;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Track forwarding path for loop detection
|
|
56
|
-
* @param messageId Message ID
|
|
57
|
-
* @param nodeId Node ID to add to path
|
|
58
|
-
*/
|
|
59
|
-
trackForwardingPath(messageId, nodeId) {
|
|
60
|
-
if (!this.forwardingPaths.has(messageId)) {
|
|
61
|
-
this.forwardingPaths.set(messageId, new Set());
|
|
62
|
-
}
|
|
63
|
-
this.forwardingPaths.get(messageId).add(nodeId);
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Clear forwarding path for message
|
|
67
|
-
* @param messageId Message ID
|
|
68
|
-
*/
|
|
69
|
-
clearPath(messageId) {
|
|
70
|
-
this.forwardingPaths.delete(messageId);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
exports.MessageForwardingService = MessageForwardingService;
|
|
74
|
-
//# sourceMappingURL=messageForwardingService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"messageForwardingService.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/messaging/messageForwardingService.ts"],"names":[],"mappings":";;;AAAA,8FAA2F;AAI3F;;;GAGG;AACH,MAAa,wBAAwB;IAGnC,YACmB,SAA4B,EAC5B,aAAoC,EACpC,MAAc;QAFd,cAAS,GAAT,SAAS,CAAmB;QAC5B,kBAAa,GAAb,aAAa,CAAuB;QACpC,WAAM,GAAN,MAAM,CAAQ;QALhB,oBAAe,GAAG,IAAI,GAAG,EAAuB,CAAC;IAM/D,CAAC;IAEJ;;;;;;OAMG;IACH,KAAK,CAAC,cAAc,CAClB,SAAiB,EACjB,WAAmB,EACnB,kBAA0B;QAE1B,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,kBAAkB,CAAC,EAAE,CAAC;YACnD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;QAExD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAC3C,SAAS,EACT,WAAW,EACX,6CAAqB,CAAC,UAAU,CACjC,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAC7C,kBAAkB,EAClB,SAAS,CACV,CAAC;YAEF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAC3C,SAAS,EACT,WAAW,EACX,6CAAqB,CAAC,MAAM,CAC7B,CAAC;YACJ,CAAC;YAED,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAC3C,SAAS,EACT,WAAW,EACX,6CAAqB,CAAC,MAAM,CAC7B,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,UAAU,CAAC,SAAiB,EAAE,MAAc;QAClD,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CAAC,SAAiB,EAAE,MAAc;QAC3D,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,SAAiB;QACzB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;CACF;AA3FD,4DA2FC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { RoutingStrategy } from '../../enumerations/messaging/routingStrategy';
|
|
2
|
-
import { IMessageMetadataStore } from '../../interfaces/messaging/messageMetadataStore';
|
|
3
|
-
import { IMessageRouter, RoutingResult } from '../../interfaces/messaging/messageRouter';
|
|
4
|
-
import { IMessageSystemConfig } from '../../interfaces/messaging/messageSystemConfig';
|
|
5
|
-
import { IMessageLogger } from './messageLogger';
|
|
6
|
-
import { IMessageMetricsCollector } from './messageMetrics';
|
|
7
|
-
/**
|
|
8
|
-
* @description Message router for routing messages to recipients
|
|
9
|
-
* Note: This is a minimal implementation. Network transport (WebSocket, gossip)
|
|
10
|
-
* integration is deferred to higher-level services.
|
|
11
|
-
*/
|
|
12
|
-
export declare class MessageRouter implements IMessageRouter {
|
|
13
|
-
private readonly metadataStore;
|
|
14
|
-
private readonly localNodeId;
|
|
15
|
-
private readonly metrics?;
|
|
16
|
-
private readonly logger?;
|
|
17
|
-
private readonly config;
|
|
18
|
-
constructor(metadataStore: IMessageMetadataStore, localNodeId: string, config?: Partial<IMessageSystemConfig>, metrics?: IMessageMetricsCollector | undefined, logger?: IMessageLogger | undefined);
|
|
19
|
-
routeMessage(messageId: string, recipients: string[]): Promise<RoutingResult>;
|
|
20
|
-
handleIncomingMessage(messageId: string, _senderId: string): Promise<void>;
|
|
21
|
-
forwardMessage(messageId: string, recipients: string[], forwardingPath: string[]): Promise<RoutingResult>;
|
|
22
|
-
determineStrategy(recipients: string[]): RoutingStrategy;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=messageRouter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"messageRouter.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/messaging/messageRouter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAI/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EACL,cAAc,EACd,aAAa,EACd,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAEL,oBAAoB,EACrB,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D;;;;GAIG;AACH,qBAAa,aAAc,YAAW,cAAc;IAIhD,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAP1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuB;gBAG3B,aAAa,EAAE,qBAAqB,EACpC,WAAW,EAAE,MAAM,EACpC,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,EACrB,OAAO,CAAC,EAAE,wBAAwB,YAAA,EAClC,MAAM,CAAC,EAAE,cAAc,YAAA;IAKpC,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,aAAa,CAAC;IA6EnB,qBAAqB,CACzB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;IAcV,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAAE,EACpB,cAAc,EAAE,MAAM,EAAE,GACvB,OAAO,CAAC,aAAa,CAAC;IAwBzB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,eAAe;CASzD"}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MessageRouter = void 0;
|
|
4
|
-
const brightChainStrings_1 = require("../../enumerations/brightChainStrings");
|
|
5
|
-
const messageDeliveryStatus_1 = require("../../enumerations/messaging/messageDeliveryStatus");
|
|
6
|
-
const messageErrorType_1 = require("../../enumerations/messaging/messageErrorType");
|
|
7
|
-
const routingStrategy_1 = require("../../enumerations/messaging/routingStrategy");
|
|
8
|
-
const messageError_1 = require("../../errors/messaging/messageError");
|
|
9
|
-
const translatableBrightChainError_1 = require("../../errors/translatableBrightChainError");
|
|
10
|
-
const i18n_1 = require("../../i18n");
|
|
11
|
-
const messageSystemConfig_1 = require("../../interfaces/messaging/messageSystemConfig");
|
|
12
|
-
/**
|
|
13
|
-
* @description Message router for routing messages to recipients
|
|
14
|
-
* Note: This is a minimal implementation. Network transport (WebSocket, gossip)
|
|
15
|
-
* integration is deferred to higher-level services.
|
|
16
|
-
*/
|
|
17
|
-
class MessageRouter {
|
|
18
|
-
constructor(metadataStore, localNodeId, config, metrics, logger) {
|
|
19
|
-
this.metadataStore = metadataStore;
|
|
20
|
-
this.localNodeId = localNodeId;
|
|
21
|
-
this.metrics = metrics;
|
|
22
|
-
this.logger = logger;
|
|
23
|
-
this.config = { ...messageSystemConfig_1.DEFAULT_MESSAGE_SYSTEM_CONFIG, ...config };
|
|
24
|
-
}
|
|
25
|
-
async routeMessage(messageId, recipients) {
|
|
26
|
-
const startTime = Date.now();
|
|
27
|
-
const strategy = this.determineStrategy(recipients);
|
|
28
|
-
this.logger?.logRoutingDecision(messageId, strategy, recipients.length);
|
|
29
|
-
const successfulRecipients = [];
|
|
30
|
-
const failedRecipients = [];
|
|
31
|
-
const errors = new Map();
|
|
32
|
-
for (const recipient of recipients) {
|
|
33
|
-
try {
|
|
34
|
-
await Promise.race([
|
|
35
|
-
this.metadataStore.updateDeliveryStatus(messageId, recipient, messageDeliveryStatus_1.MessageDeliveryStatus.IN_TRANSIT),
|
|
36
|
-
new Promise((_, reject) => setTimeout(() => reject(new translatableBrightChainError_1.TranslatableBrightChainError(brightChainStrings_1.BrightChainStrings.MessageRouter_RoutingTimeout)), this.config.routingTimeoutMs)),
|
|
37
|
-
]);
|
|
38
|
-
successfulRecipients.push(recipient);
|
|
39
|
-
}
|
|
40
|
-
catch (error) {
|
|
41
|
-
failedRecipients.push(recipient);
|
|
42
|
-
const errorMsg = error instanceof Error
|
|
43
|
-
? error.message
|
|
44
|
-
: new translatableBrightChainError_1.TranslatableBrightChainError(brightChainStrings_1.BrightChainStrings.Error_Unexpected_Error).message;
|
|
45
|
-
errors.set(recipient, errorMsg);
|
|
46
|
-
this.logger?.logDeliveryFailure(messageId, recipient, errorMsg);
|
|
47
|
-
try {
|
|
48
|
-
await this.metadataStore.updateDeliveryStatus(messageId, recipient, messageDeliveryStatus_1.MessageDeliveryStatus.FAILED);
|
|
49
|
-
}
|
|
50
|
-
catch {
|
|
51
|
-
// Ignore metadata update errors
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
if (failedRecipients.length === recipients.length &&
|
|
56
|
-
recipients.length > 0) {
|
|
57
|
-
this.metrics?.recordMessageFailed();
|
|
58
|
-
throw new messageError_1.MessageError(messageErrorType_1.MessageErrorType.DELIVERY_FAILED, (0, i18n_1.translate)(brightChainStrings_1.BrightChainStrings.MessageRouter_FailedToRouteToAnyRecipient), { messageId, failedRecipients, errors: Object.fromEntries(errors) });
|
|
59
|
-
}
|
|
60
|
-
const latency = Date.now() - startTime;
|
|
61
|
-
if (successfulRecipients.length > 0) {
|
|
62
|
-
this.metrics?.recordMessageDelivered(latency);
|
|
63
|
-
}
|
|
64
|
-
return {
|
|
65
|
-
strategy,
|
|
66
|
-
successfulRecipients,
|
|
67
|
-
failedRecipients,
|
|
68
|
-
errors,
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
async handleIncomingMessage(messageId, _senderId) {
|
|
72
|
-
// Verify message exists in metadata store
|
|
73
|
-
const metadata = await this.metadataStore.get(messageId);
|
|
74
|
-
if (!metadata) {
|
|
75
|
-
throw new translatableBrightChainError_1.TranslatableBrightChainError(brightChainStrings_1.BrightChainStrings.Error_MessageRouter_MessageNotFoundTemplate, { MESSAGE_ID: messageId });
|
|
76
|
-
}
|
|
77
|
-
// Message received successfully - actual storage is handled by MessageCBLService
|
|
78
|
-
// This method is called after the message has been stored locally
|
|
79
|
-
}
|
|
80
|
-
async forwardMessage(messageId, recipients, forwardingPath) {
|
|
81
|
-
// Prevent forwarding loops
|
|
82
|
-
if (forwardingPath.includes(this.localNodeId)) {
|
|
83
|
-
return {
|
|
84
|
-
strategy: routingStrategy_1.RoutingStrategy.DIRECT,
|
|
85
|
-
successfulRecipients: [],
|
|
86
|
-
failedRecipients: recipients,
|
|
87
|
-
errors: new Map(recipients.map((r) => [
|
|
88
|
-
r,
|
|
89
|
-
(0, i18n_1.translate)(brightChainStrings_1.BrightChainStrings.MessageRouter_ForwardingLoopDetected),
|
|
90
|
-
])),
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
// Add this node to forwarding path
|
|
94
|
-
const _newPath = [...forwardingPath, this.localNodeId];
|
|
95
|
-
// Forward using same logic as routeMessage
|
|
96
|
-
// In a full implementation, this would pass the forwarding path to the transport layer
|
|
97
|
-
return this.routeMessage(messageId, recipients);
|
|
98
|
-
}
|
|
99
|
-
determineStrategy(recipients) {
|
|
100
|
-
if (recipients.length === 0) {
|
|
101
|
-
// Empty recipients = broadcast via gossip
|
|
102
|
-
return routingStrategy_1.RoutingStrategy.GOSSIP;
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
// Non-empty recipients = direct routing
|
|
106
|
-
return routingStrategy_1.RoutingStrategy.DIRECT;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
exports.MessageRouter = MessageRouter;
|
|
111
|
-
//# sourceMappingURL=messageRouter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"messageRouter.js","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/messaging/messageRouter.ts"],"names":[],"mappings":";;;AAAA,8EAA2E;AAC3E,8FAA2F;AAC3F,oFAAiF;AACjF,kFAA+E;AAC/E,sEAAmE;AACnE,4FAAyF;AACzF,qCAAuC;AAMvC,wFAGwD;AAIxD;;;;GAIG;AACH,MAAa,aAAa;IAGxB,YACmB,aAAoC,EACpC,WAAmB,EACpC,MAAsC,EACrB,OAAkC,EAClC,MAAuB;QAJvB,kBAAa,GAAb,aAAa,CAAuB;QACpC,gBAAW,GAAX,WAAW,CAAQ;QAEnB,YAAO,GAAP,OAAO,CAA2B;QAClC,WAAM,GAAN,MAAM,CAAiB;QAExC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,mDAA6B,EAAE,GAAG,MAAM,EAAE,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,SAAiB,EACjB,UAAoB;QAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;QACxE,MAAM,oBAAoB,GAAa,EAAE,CAAC;QAC1C,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QAEzC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,CAAC;oBACjB,IAAI,CAAC,aAAa,CAAC,oBAAoB,CACrC,SAAS,EACT,SAAS,EACT,6CAAqB,CAAC,UAAU,CACjC;oBACD,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACxB,UAAU,CACR,GAAG,EAAE,CACH,MAAM,CACJ,IAAI,2DAA4B,CAC9B,uCAAkB,CAAC,4BAA4B,CAChD,CACF,EACH,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAC7B,CACF;iBACF,CAAC,CAAC;gBACH,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjC,MAAM,QAAQ,GACZ,KAAK,YAAY,KAAK;oBACpB,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,IAAI,2DAA4B,CAC9B,uCAAkB,CAAC,sBAAsB,CAC1C,CAAC,OAAO,CAAC;gBAChB,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAChC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;gBAEhE,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAC3C,SAAS,EACT,SAAS,EACT,6CAAqB,CAAC,MAAM,CAC7B,CAAC;gBACJ,CAAC;gBAAC,MAAM,CAAC;oBACP,gCAAgC;gBAClC,CAAC;YACH,CAAC;QACH,CAAC;QAED,IACE,gBAAgB,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;YAC7C,UAAU,CAAC,MAAM,GAAG,CAAC,EACrB,CAAC;YACD,IAAI,CAAC,OAAO,EAAE,mBAAmB,EAAE,CAAC;YACpC,MAAM,IAAI,2BAAY,CACpB,mCAAgB,CAAC,eAAe,EAChC,IAAA,gBAAS,EAAC,uCAAkB,CAAC,yCAAyC,CAAC,EACvE,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CACpE,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACvC,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;QAED,OAAO;YACL,QAAQ;YACR,oBAAoB;YACpB,gBAAgB;YAChB,MAAM;SACP,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,SAAiB,EACjB,SAAiB;QAEjB,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,2DAA4B,CACpC,uCAAkB,CAAC,2CAA2C,EAC9D,EAAE,UAAU,EAAE,SAAS,EAAE,CAC1B,CAAC;QACJ,CAAC;QAED,iFAAiF;QACjF,kEAAkE;IACpE,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,SAAiB,EACjB,UAAoB,EACpB,cAAwB;QAExB,2BAA2B;QAC3B,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9C,OAAO;gBACL,QAAQ,EAAE,iCAAe,CAAC,MAAM;gBAChC,oBAAoB,EAAE,EAAE;gBACxB,gBAAgB,EAAE,UAAU;gBAC5B,MAAM,EAAE,IAAI,GAAG,CACb,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;oBACpB,CAAC;oBACD,IAAA,gBAAS,EAAC,uCAAkB,CAAC,oCAAoC,CAAC;iBACnE,CAAC,CACH;aACF,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,MAAM,QAAQ,GAAG,CAAC,GAAG,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAEvD,2CAA2C;QAC3C,uFAAuF;QACvF,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAClD,CAAC;IAED,iBAAiB,CAAC,UAAoB;QACpC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,0CAA0C;YAC1C,OAAO,iCAAe,CAAC,MAAM,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,OAAO,iCAAe,CAAC,MAAM,CAAC;QAChC,CAAC;IACH,CAAC;CACF;AAnJD,sCAmJC"}
|
|
@@ -1,34 +0,0 @@
|
|
|
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 eciesService;
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webSocketTransport.d.ts","sourceRoot":"","sources":["../../../../../../brightchain-lib/src/lib/services/messaging/webSocketTransport.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAG9E;;;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,YAAY,CAAe;;IAOnC;;;;;OAKG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkD5E;;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,CACX,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC;IAcb,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAIxD"}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WebSocketTransport = void 0;
|
|
4
|
-
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
5
|
-
const ecies_config_1 = require("../../ecies-config");
|
|
6
|
-
const systemKeyring_1 = require("../../systemKeyring");
|
|
7
|
-
/**
|
|
8
|
-
* Browser-compatible WebSocket network transport for message transmission
|
|
9
|
-
* Uses native browser WebSocket API with ECIES authentication
|
|
10
|
-
*/
|
|
11
|
-
class WebSocketTransport {
|
|
12
|
-
constructor() {
|
|
13
|
-
this.connections = new Map();
|
|
14
|
-
this.messageHandlers = new Map();
|
|
15
|
-
this.keyring = systemKeyring_1.SystemKeyring.getInstance();
|
|
16
|
-
this.eciesService = new ecies_lib_1.ECIESService(ecies_config_1.EciesConfig);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Connect to a node via WebSocket with authentication
|
|
20
|
-
* @param nodeId Node identifier
|
|
21
|
-
* @param url WebSocket URL (e.g., ws://localhost:8080)
|
|
22
|
-
* @param password Password to unlock system key
|
|
23
|
-
*/
|
|
24
|
-
async connect(nodeId, url, password) {
|
|
25
|
-
return new Promise((resolve, reject) => {
|
|
26
|
-
const ws = new WebSocket(url);
|
|
27
|
-
ws.onopen = async () => {
|
|
28
|
-
try {
|
|
29
|
-
if (password) {
|
|
30
|
-
const keyData = await this.keyring.retrieveKey('system', password);
|
|
31
|
-
const timestamp = Date.now().toString();
|
|
32
|
-
const message = new Uint8Array(Buffer.from(`${nodeId}:${timestamp}`));
|
|
33
|
-
const signature = this.eciesService.signMessage(keyData, message);
|
|
34
|
-
const sigHex = this.eciesService.signatureBufferToSignatureString(signature);
|
|
35
|
-
ws.send(JSON.stringify({
|
|
36
|
-
type: 'auth',
|
|
37
|
-
nodeId,
|
|
38
|
-
timestamp,
|
|
39
|
-
signature: sigHex,
|
|
40
|
-
}));
|
|
41
|
-
}
|
|
42
|
-
this.connections.set(nodeId, ws);
|
|
43
|
-
resolve();
|
|
44
|
-
}
|
|
45
|
-
catch (err) {
|
|
46
|
-
ws.close();
|
|
47
|
-
reject(err);
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
ws.onerror = (err) => {
|
|
51
|
-
reject(err);
|
|
52
|
-
};
|
|
53
|
-
ws.onmessage = (event) => {
|
|
54
|
-
const handler = this.messageHandlers.get(nodeId);
|
|
55
|
-
if (handler) {
|
|
56
|
-
handler(event.data);
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
ws.onclose = () => {
|
|
60
|
-
this.connections.delete(nodeId);
|
|
61
|
-
};
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Disconnect from a node
|
|
66
|
-
*/
|
|
67
|
-
disconnect(nodeId) {
|
|
68
|
-
const ws = this.connections.get(nodeId);
|
|
69
|
-
if (ws) {
|
|
70
|
-
ws.close();
|
|
71
|
-
this.connections.delete(nodeId);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Register message handler for a node
|
|
76
|
-
*/
|
|
77
|
-
onMessage(nodeId, handler) {
|
|
78
|
-
this.messageHandlers.set(nodeId, handler);
|
|
79
|
-
}
|
|
80
|
-
async sendToNode(recipientId, messageId) {
|
|
81
|
-
const ws = this.connections.get(recipientId);
|
|
82
|
-
if (!ws || ws.readyState !== WebSocket.OPEN) {
|
|
83
|
-
return false;
|
|
84
|
-
}
|
|
85
|
-
try {
|
|
86
|
-
ws.send(JSON.stringify({ type: 'message', messageId }));
|
|
87
|
-
return true;
|
|
88
|
-
}
|
|
89
|
-
catch {
|
|
90
|
-
return false;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Send acknowledgment for received message
|
|
95
|
-
*/
|
|
96
|
-
async sendAck(recipientId, messageId, status) {
|
|
97
|
-
const ws = this.connections.get(recipientId);
|
|
98
|
-
if (!ws || ws.readyState !== WebSocket.OPEN) {
|
|
99
|
-
return false;
|
|
100
|
-
}
|
|
101
|
-
try {
|
|
102
|
-
ws.send(JSON.stringify({ type: 'ack', messageId, status }));
|
|
103
|
-
return true;
|
|
104
|
-
}
|
|
105
|
-
catch {
|
|
106
|
-
return false;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
async isNodeReachable(nodeId) {
|
|
110
|
-
const ws = this.connections.get(nodeId);
|
|
111
|
-
return ws !== undefined && ws.readyState === WebSocket.OPEN;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
exports.WebSocketTransport = WebSocketTransport;
|
|
115
|
-
//# sourceMappingURL=webSocketTransport.js.map
|