@brightchain/brightchain-lib 0.11.0 → 0.13.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/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/documents/base/document.js +8 -8
- package/src/lib/documents/base/document.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/documents/quorumDocument.js +4 -4
- 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 +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 +2 -2
- package/src/lib/enumerations/blockSize.d.ts.map +1 -1
- package/src/lib/enumerations/blockSize.js +14 -14
- package/src/lib/enumerations/blockSize.js.map +1 -1
- package/src/lib/enumerations/brightChainStrings.d.ts +544 -537
- package/src/lib/enumerations/brightChainStrings.d.ts.map +1 -1
- package/src/lib/enumerations/brightChainStrings.js +544 -539
- 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/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 +2 -2
- package/src/lib/enumerations/votingDerivationErrorType.d.ts.map +1 -1
- package/src/lib/enumerations/votingDerivationErrorType.js.map +1 -1
- package/src/lib/errors/block/blockAccess.d.ts +2 -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 +2 -2
- package/src/lib/errors/block/blockCapacity.d.ts.map +1 -1
- package/src/lib/errors/block/blockCapacity.js +7 -7
- package/src/lib/errors/block/blockCapacity.js.map +1 -1
- package/src/lib/errors/block/blockError.d.ts +2 -2
- package/src/lib/errors/block/blockError.d.ts.map +1 -1
- package/src/lib/errors/block/blockError.js +15 -15
- package/src/lib/errors/block/blockError.js.map +1 -1
- package/src/lib/errors/block/blockMetadata.d.ts +2 -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 +2 -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/blockServiceError.d.ts +2 -2
- package/src/lib/errors/blockServiceError.d.ts.map +1 -1
- package/src/lib/errors/blockServiceError.js +14 -14
- package/src/lib/errors/blockServiceError.js.map +1 -1
- package/src/lib/errors/bufferError.js +1 -1
- package/src/lib/errors/bufferError.js.map +1 -1
- package/src/lib/errors/cblError.d.ts +2 -2
- package/src/lib/errors/cblError.d.ts.map +1 -1
- package/src/lib/errors/cblError.js +38 -38
- 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 +2 -2
- package/src/lib/errors/document.d.ts.map +1 -1
- package/src/lib/errors/document.js +4 -4
- package/src/lib/errors/document.js.map +1 -1
- package/src/lib/errors/eciesError.d.ts +4 -4
- package/src/lib/errors/eciesError.d.ts.map +1 -1
- package/src/lib/errors/eciesError.js +1 -1
- package/src/lib/errors/eciesError.js.map +1 -1
- package/src/lib/errors/enhancedValidationError.d.ts +2 -2
- package/src/lib/errors/enhancedValidationError.d.ts.map +1 -1
- package/src/lib/errors/enhancedValidationError.js.map +1 -1
- package/src/lib/errors/extendedCblError.d.ts +2 -2
- package/src/lib/errors/extendedCblError.d.ts.map +1 -1
- package/src/lib/errors/extendedCblError.js +24 -24
- package/src/lib/errors/extendedCblError.js.map +1 -1
- package/src/lib/errors/failedToHydrate.js +1 -1
- package/src/lib/errors/failedToHydrate.js.map +1 -1
- package/src/lib/errors/failedToSerialize.js +1 -1
- package/src/lib/errors/failedToSerialize.js.map +1 -1
- package/src/lib/errors/fecError.d.ts +7 -5
- package/src/lib/errors/fecError.d.ts.map +1 -1
- package/src/lib/errors/fecError.js +11 -11
- 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 +4 -4
- package/src/lib/errors/handleTupleError.js.map +1 -1
- package/src/lib/errors/invalidIDFormat.js +1 -1
- package/src/lib/errors/invalidIDFormat.js.map +1 -1
- package/src/lib/errors/isolatedKeyError.d.ts +2 -2
- package/src/lib/errors/isolatedKeyError.d.ts.map +1 -1
- package/src/lib/errors/isolatedKeyError.js +6 -6
- package/src/lib/errors/isolatedKeyError.js.map +1 -1
- package/src/lib/errors/memberError.d.ts +4 -4
- package/src/lib/errors/memberError.d.ts.map +1 -1
- package/src/lib/errors/memberError.js +5 -4
- 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 +6 -6
- package/src/lib/errors/memoryTupleError.js.map +1 -1
- package/src/lib/errors/multiEncryptedError.d.ts +2 -2
- package/src/lib/errors/multiEncryptedError.d.ts.map +1 -1
- package/src/lib/errors/multiEncryptedError.js +10 -10
- package/src/lib/errors/multiEncryptedError.js.map +1 -1
- package/src/lib/errors/notImplemented.js +1 -1
- package/src/lib/errors/notImplemented.js.map +1 -1
- package/src/lib/errors/quorumError.d.ts +2 -2
- package/src/lib/errors/quorumError.d.ts.map +1 -1
- package/src/lib/errors/quorumError.js +7 -7
- package/src/lib/errors/quorumError.js.map +1 -1
- package/src/lib/errors/sealingError.d.ts +2 -2
- package/src/lib/errors/sealingError.d.ts.map +1 -1
- package/src/lib/errors/sealingError.js +8 -8
- package/src/lib/errors/sealingError.js.map +1 -1
- package/src/lib/errors/secureStorage.d.ts +4 -4
- package/src/lib/errors/secureStorage.d.ts.map +1 -1
- package/src/lib/errors/secureStorage.js.map +1 -1
- package/src/lib/errors/storeError.d.ts +4 -3
- package/src/lib/errors/storeError.d.ts.map +1 -1
- package/src/lib/errors/storeError.js +19 -19
- package/src/lib/errors/storeError.js.map +1 -1
- package/src/lib/errors/streamError.d.ts +2 -2
- package/src/lib/errors/streamError.d.ts.map +1 -1
- package/src/lib/errors/streamError.js +7 -7
- package/src/lib/errors/streamError.js.map +1 -1
- package/src/lib/errors/symmetricError.d.ts +4 -4
- 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 +3 -3
- package/src/lib/errors/systemKeyringError.js.map +1 -1
- package/src/lib/errors/translatableBrightChainError.d.ts +3 -3
- package/src/lib/errors/translatableBrightChainError.d.ts.map +1 -1
- package/src/lib/errors/translatableBrightChainError.js.map +1 -1
- package/src/lib/errors/tupleError.d.ts +2 -2
- package/src/lib/errors/tupleError.d.ts.map +1 -1
- package/src/lib/errors/tupleError.js +12 -12
- 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 +3 -3
- package/src/lib/errors/typedWithReasonError.d.ts.map +1 -1
- package/src/lib/errors/typedWithReasonError.js.map +1 -1
- package/src/lib/errors/whitenedError.d.ts +2 -2
- package/src/lib/errors/whitenedError.d.ts.map +1 -1
- package/src/lib/errors/whitenedError.js +4 -4
- package/src/lib/errors/whitenedError.js.map +1 -1
- package/src/lib/i18n/i18n-setup.d.ts +81 -0
- package/src/lib/i18n/i18n-setup.d.ts.map +1 -0
- package/src/lib/i18n/i18n-setup.js +231 -0
- package/src/lib/i18n/i18n-setup.js.map +1 -0
- package/src/lib/i18n/index.d.ts +1 -66
- package/src/lib/i18n/index.d.ts.map +1 -1
- package/src/lib/i18n/index.js +1 -242
- package/src/lib/i18n/index.js.map +1 -1
- package/src/lib/i18n/strings/englishUK.d.ts +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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/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/dependencyStatus.js +3 -0
- 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/network/index.d.ts +5 -0
- 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/network/nodeEvent.js +3 -0
- 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/interfaces/walletSeed.d.ts +1 -1
- package/src/lib/interfaces/walletSeed.d.ts.map +1 -1
- package/src/lib/schemas/network/networkDocumentSchema.js +5 -5
- 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 +6 -6
- 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/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
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MemberStore = void 0;
|
|
4
4
|
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
5
|
+
const blockMetadata_1 = require("../blocks/blockMetadata");
|
|
6
|
+
const cbl_1 = require("../blocks/cbl");
|
|
5
7
|
const rawData_1 = require("../blocks/rawData");
|
|
6
8
|
const memberDocument_1 = require("../documents/member/memberDocument");
|
|
7
9
|
const memberProfileDocument_1 = require("../documents/member/memberProfileDocument");
|
|
10
|
+
const memberProfileHydration_1 = require("../documents/member/memberProfileHydration");
|
|
8
11
|
const blockDataType_1 = require("../enumerations/blockDataType");
|
|
9
12
|
const blockType_1 = require("../enumerations/blockType");
|
|
10
13
|
const brightChainStrings_1 = require("../enumerations/brightChainStrings");
|
|
@@ -13,6 +16,7 @@ const memberStatusType_1 = require("../enumerations/memberStatusType");
|
|
|
13
16
|
const memberError_1 = require("../errors/memberError");
|
|
14
17
|
const notImplemented_1 = require("../errors/notImplemented");
|
|
15
18
|
const i18n_1 = require("../i18n");
|
|
19
|
+
const memberCblService_1 = require("./member/memberCblService");
|
|
16
20
|
const service_provider_1 = require("./service.provider");
|
|
17
21
|
/**
|
|
18
22
|
* Service for storing and retrieving member data
|
|
@@ -24,6 +28,60 @@ class MemberStore {
|
|
|
24
28
|
this.regionIndex = new Map();
|
|
25
29
|
this.nameIndex = new Map();
|
|
26
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Extract and parse JSON data from a CBL block.
|
|
33
|
+
* Handles XOR tuple reconstruction and null byte trimming.
|
|
34
|
+
*
|
|
35
|
+
* @param cbl - The ConstituentBlockListBlock to extract data from
|
|
36
|
+
* @returns The parsed JSON data as a storage data object
|
|
37
|
+
* @throws MemberError if extraction or parsing fails
|
|
38
|
+
* @requirements 1.1, 1.2
|
|
39
|
+
*/
|
|
40
|
+
async extractProfileDataFromCBL(cbl) {
|
|
41
|
+
try {
|
|
42
|
+
// Get tuples from CBL
|
|
43
|
+
const tuples = await cbl.getHandleTuples(this.blockStore);
|
|
44
|
+
// XOR each tuple to reconstruct original blocks
|
|
45
|
+
const blocks = [];
|
|
46
|
+
for (const tuple of tuples) {
|
|
47
|
+
// Create metadata for XORed block
|
|
48
|
+
const metadata = new blockMetadata_1.BlockMetadata(this.blockStore.blockSize, blockType_1.BlockType.RawData, blockDataType_1.BlockDataType.PublicMemberData, Number(cbl.originalDataLength), new Date());
|
|
49
|
+
const xoredBlock = await tuple.xor(this.blockStore, metadata);
|
|
50
|
+
blocks.push(xoredBlock.data);
|
|
51
|
+
}
|
|
52
|
+
// Combine blocks
|
|
53
|
+
const combinedLength = blocks.reduce((acc, block) => acc + block.length, 0);
|
|
54
|
+
const combined = new Uint8Array(combinedLength);
|
|
55
|
+
let offset = 0;
|
|
56
|
+
for (const block of blocks) {
|
|
57
|
+
combined.set(block, offset);
|
|
58
|
+
offset += block.length;
|
|
59
|
+
}
|
|
60
|
+
// Trim null bytes from the end to get actual JSON data
|
|
61
|
+
let actualLength = combined.length;
|
|
62
|
+
for (let i = combined.length - 1; i >= 0; i--) {
|
|
63
|
+
if (combined[i] !== 0) {
|
|
64
|
+
actualLength = i + 1;
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const trimmedData = combined.subarray(0, actualLength);
|
|
69
|
+
const jsonString = new TextDecoder().decode(trimmedData);
|
|
70
|
+
// Parse JSON
|
|
71
|
+
try {
|
|
72
|
+
return JSON.parse(jsonString);
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.InvalidMemberData);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
if (error instanceof memberError_1.MemberError) {
|
|
80
|
+
throw error;
|
|
81
|
+
}
|
|
82
|
+
throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.FailedToHydrateMember);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
27
85
|
/**
|
|
28
86
|
* Create a new member
|
|
29
87
|
*/
|
|
@@ -85,21 +143,104 @@ class MemberStore {
|
|
|
85
143
|
// Step 3: Generate CBLs for both documents
|
|
86
144
|
await doc.generateCBLs();
|
|
87
145
|
await profileDoc.generateCBLs();
|
|
88
|
-
|
|
89
|
-
const
|
|
90
|
-
const
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
146
|
+
// Step 4: Get the actual CBL data (not just checksums)
|
|
147
|
+
const publicCBLData = await doc.toPublicCBL();
|
|
148
|
+
const privateCBLData = await doc.toPrivateCBL();
|
|
149
|
+
const publicProfileCBLData = await profileDoc.toPublicCBL();
|
|
150
|
+
const privateProfileCBLData = await profileDoc.toPrivateCBL();
|
|
151
|
+
// Step 5: Copy constituent blocks from MemberDocument's internal block store
|
|
152
|
+
// to the MemberStore's block store so they can be retrieved during hydration
|
|
153
|
+
const docBlockStore = doc.cblService.getBlockStore();
|
|
154
|
+
const profileDocBlockStore = profileDoc.cblService.getBlockStore();
|
|
155
|
+
// Use CBLService to get addresses from CBL data without creating ConstituentBlockListBlock
|
|
156
|
+
// This avoids signature validation issues during the copy process
|
|
157
|
+
const cblService = service_provider_1.ServiceProvider.getInstance().cblService;
|
|
158
|
+
// Copy constituent blocks for identity CBLs
|
|
159
|
+
try {
|
|
160
|
+
const publicAddresses = cblService.addressDataToAddresses(publicCBLData);
|
|
161
|
+
for (const address of publicAddresses) {
|
|
162
|
+
try {
|
|
163
|
+
const block = await docBlockStore.getData(address);
|
|
164
|
+
await this.blockStore.setData(block);
|
|
165
|
+
rollbackOperations.push(async () => {
|
|
166
|
+
await this.blockStore.deleteData(address);
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
// Block might already exist, which is fine
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
catch {
|
|
175
|
+
// If we can't parse the CBL, skip copying constituent blocks
|
|
176
|
+
// The CBL data will still be stored and can be used for hydration
|
|
177
|
+
}
|
|
178
|
+
try {
|
|
179
|
+
const privateAddresses = cblService.addressDataToAddresses(privateCBLData);
|
|
180
|
+
for (const address of privateAddresses) {
|
|
181
|
+
try {
|
|
182
|
+
const block = await docBlockStore.getData(address);
|
|
183
|
+
await this.blockStore.setData(block);
|
|
184
|
+
rollbackOperations.push(async () => {
|
|
185
|
+
await this.blockStore.deleteData(address);
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
catch {
|
|
189
|
+
// Block might already exist, which is fine
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
// If we can't parse the CBL, skip copying constituent blocks
|
|
195
|
+
}
|
|
196
|
+
// Copy constituent blocks for profile CBLs
|
|
197
|
+
try {
|
|
198
|
+
const publicProfileAddresses = cblService.addressDataToAddresses(publicProfileCBLData);
|
|
199
|
+
for (const address of publicProfileAddresses) {
|
|
200
|
+
try {
|
|
201
|
+
const block = await profileDocBlockStore.getData(address);
|
|
202
|
+
await this.blockStore.setData(block);
|
|
203
|
+
rollbackOperations.push(async () => {
|
|
204
|
+
await this.blockStore.deleteData(address);
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
catch {
|
|
208
|
+
// Block might already exist, which is fine
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
catch {
|
|
213
|
+
// If we can't parse the CBL, skip copying constituent blocks
|
|
214
|
+
}
|
|
215
|
+
try {
|
|
216
|
+
const privateProfileAddresses = cblService.addressDataToAddresses(privateProfileCBLData);
|
|
217
|
+
for (const address of privateProfileAddresses) {
|
|
218
|
+
try {
|
|
219
|
+
const block = await profileDocBlockStore.getData(address);
|
|
220
|
+
await this.blockStore.setData(block);
|
|
221
|
+
rollbackOperations.push(async () => {
|
|
222
|
+
await this.blockStore.deleteData(address);
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
catch {
|
|
226
|
+
// Block might already exist, which is fine
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
catch {
|
|
231
|
+
// If we can't parse the CBL, skip copying constituent blocks
|
|
232
|
+
}
|
|
233
|
+
// Step 6: Create blocks for identity CBL data
|
|
234
|
+
publicBlock = new rawData_1.RawDataBlock(this.blockStore.blockSize, publicCBLData, doc.dateCreated, undefined, // Let RawDataBlock calculate the checksum
|
|
94
235
|
blockType_1.BlockType.RawData, blockDataType_1.BlockDataType.PublicMemberData);
|
|
95
|
-
privateBlock = new rawData_1.RawDataBlock(this.blockStore.blockSize,
|
|
236
|
+
privateBlock = new rawData_1.RawDataBlock(this.blockStore.blockSize, privateCBLData, doc.dateCreated, undefined, // Let RawDataBlock calculate the checksum
|
|
96
237
|
blockType_1.BlockType.RawData, blockDataType_1.BlockDataType.PrivateMemberData);
|
|
97
|
-
// Step
|
|
98
|
-
publicProfileBlock = new rawData_1.RawDataBlock(this.blockStore.blockSize,
|
|
238
|
+
// Step 7: Create blocks for profile CBL data
|
|
239
|
+
publicProfileBlock = new rawData_1.RawDataBlock(this.blockStore.blockSize, publicProfileCBLData, profileDoc.dateCreated, undefined, // Let RawDataBlock calculate the checksum
|
|
99
240
|
blockType_1.BlockType.RawData, blockDataType_1.BlockDataType.PublicMemberData);
|
|
100
|
-
privateProfileBlock = new rawData_1.RawDataBlock(this.blockStore.blockSize,
|
|
241
|
+
privateProfileBlock = new rawData_1.RawDataBlock(this.blockStore.blockSize, privateProfileCBLData, profileDoc.dateCreated, undefined, // Let RawDataBlock calculate the checksum
|
|
101
242
|
blockType_1.BlockType.RawData, blockDataType_1.BlockDataType.PrivateMemberData);
|
|
102
|
-
// Step
|
|
243
|
+
// Step 8: Store identity blocks
|
|
103
244
|
await this.blockStore.setData(publicBlock);
|
|
104
245
|
rollbackOperations.push(async () => {
|
|
105
246
|
if (publicBlock) {
|
|
@@ -112,7 +253,7 @@ class MemberStore {
|
|
|
112
253
|
await this.blockStore.deleteData(privateBlock.idChecksum);
|
|
113
254
|
}
|
|
114
255
|
});
|
|
115
|
-
// Step
|
|
256
|
+
// Step 9: Store profile blocks
|
|
116
257
|
await this.blockStore.setData(publicProfileBlock);
|
|
117
258
|
rollbackOperations.push(async () => {
|
|
118
259
|
if (publicProfileBlock) {
|
|
@@ -125,7 +266,7 @@ class MemberStore {
|
|
|
125
266
|
await this.blockStore.deleteData(privateProfileBlock.idChecksum);
|
|
126
267
|
}
|
|
127
268
|
});
|
|
128
|
-
// Step
|
|
269
|
+
// Step 10: Update index
|
|
129
270
|
const provider = service_provider_1.ServiceProvider.getInstance().idProvider;
|
|
130
271
|
const indexEntry = {
|
|
131
272
|
id: provider.fromBytes((0, ecies_lib_1.hexToUint8Array)(doc.id)),
|
|
@@ -181,24 +322,75 @@ class MemberStore {
|
|
|
181
322
|
}
|
|
182
323
|
/**
|
|
183
324
|
* Get a member by ID
|
|
325
|
+
* Reconstructs the member from stored CBL blocks.
|
|
326
|
+
*
|
|
327
|
+
* @param id - The member ID
|
|
328
|
+
* @returns The reconstructed Member object
|
|
329
|
+
* @throws MemberError if member not found or reconstruction fails
|
|
330
|
+
* @requirements 2.1, 2.2
|
|
184
331
|
*/
|
|
185
332
|
async getMember(id) {
|
|
186
333
|
const indexEntry = this.memberIndex.get((0, ecies_lib_1.uint8ArrayToHex)(service_provider_1.ServiceProvider.getInstance().idProvider.toBytes(id)));
|
|
187
334
|
if (!indexEntry) {
|
|
188
335
|
throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.MemberNotFound);
|
|
189
336
|
}
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
337
|
+
try {
|
|
338
|
+
// Retrieve public CBL block from block store
|
|
339
|
+
const publicBlock = await this.blockStore.getData(indexEntry.publicCBL);
|
|
340
|
+
// Extract creator ID from CBL header to create a member with the correct ID
|
|
341
|
+
const cblServiceInstance = service_provider_1.ServiceProvider.getInstance().cblService;
|
|
342
|
+
const creatorId = cblServiceInstance.getCreatorId(publicBlock.data);
|
|
343
|
+
// Create a temporary member with the correct ID for CBL validation
|
|
344
|
+
// We use the creator ID from the header to ensure the ID matches
|
|
345
|
+
const eciesService = service_provider_1.ServiceProvider.getInstance().eciesService;
|
|
346
|
+
const { member: tempMember } = ecies_lib_1.Member.newMember(eciesService, indexEntry.type, 'temp-member', new ecies_lib_1.EmailString('temp@example.com'));
|
|
347
|
+
// Override the temp member's ID with the creator ID from the header
|
|
348
|
+
// This is a workaround to pass the creator ID check in the CBL constructor
|
|
349
|
+
// Note: This member won't have the correct public key, so signature validation
|
|
350
|
+
// will be skipped (which is fine for retrieval)
|
|
351
|
+
const memberWithCorrectId = Object.create(tempMember);
|
|
352
|
+
Object.defineProperty(memberWithCorrectId, 'id', {
|
|
353
|
+
get: () => creatorId,
|
|
354
|
+
configurable: true,
|
|
355
|
+
});
|
|
356
|
+
Object.defineProperty(memberWithCorrectId, 'idBytes', {
|
|
357
|
+
get: () => service_provider_1.ServiceProvider.getInstance().idProvider.toBytes(creatorId),
|
|
358
|
+
configurable: true,
|
|
359
|
+
});
|
|
360
|
+
// Remove public key to skip signature validation
|
|
361
|
+
Object.defineProperty(memberWithCorrectId, 'publicKey', {
|
|
362
|
+
get: () => undefined,
|
|
363
|
+
configurable: true,
|
|
364
|
+
});
|
|
365
|
+
// Create ConstituentBlockListBlock from block data
|
|
366
|
+
let cbl;
|
|
367
|
+
try {
|
|
368
|
+
cbl = new cbl_1.ConstituentBlockListBlock(publicBlock.data, memberWithCorrectId, this.blockStore.blockSize);
|
|
369
|
+
}
|
|
370
|
+
catch {
|
|
371
|
+
// If CBL creation fails, the data might be corrupted
|
|
372
|
+
throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.InvalidMemberData);
|
|
373
|
+
}
|
|
374
|
+
// Use MemberCblService to hydrate member from CBL
|
|
375
|
+
const cblService = new memberCblService_1.MemberCblService(this.blockStore);
|
|
376
|
+
const member = await cblService.hydrateMember(cbl);
|
|
377
|
+
return member;
|
|
378
|
+
}
|
|
379
|
+
catch (error) {
|
|
380
|
+
if (error instanceof memberError_1.MemberError) {
|
|
381
|
+
throw error;
|
|
382
|
+
}
|
|
383
|
+
throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.FailedToHydrateMember);
|
|
384
|
+
}
|
|
199
385
|
}
|
|
200
386
|
/**
|
|
201
387
|
* Get member profile document by ID
|
|
388
|
+
* Deserializes CBL data to retrieve public and private profile data.
|
|
389
|
+
*
|
|
390
|
+
* @param id - The member ID
|
|
391
|
+
* @returns Object containing public and private profile data (null if not available)
|
|
392
|
+
* @throws MemberError if member not found or deserialization fails
|
|
393
|
+
* @requirements 1.1, 1.2, 1.3, 1.4
|
|
202
394
|
*/
|
|
203
395
|
async getMemberProfile(id) {
|
|
204
396
|
const indexEntry = this.memberIndex.get((0, ecies_lib_1.uint8ArrayToHex)(service_provider_1.ServiceProvider.getInstance().idProvider.toBytes(id)));
|
|
@@ -209,35 +401,250 @@ class MemberStore {
|
|
|
209
401
|
let privateProfile = null;
|
|
210
402
|
// Get profile CBLs if they exist
|
|
211
403
|
if (indexEntry.publicProfileCBL) {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
404
|
+
try {
|
|
405
|
+
const publicProfileBlock = await this.blockStore.getData(indexEntry.publicProfileCBL);
|
|
406
|
+
// Try to parse the block data as JSON directly
|
|
407
|
+
// Profile data may be stored as raw JSON or as CBL block data
|
|
408
|
+
const blockData = publicProfileBlock.data;
|
|
409
|
+
// Attempt to decode as JSON first (for direct JSON storage)
|
|
410
|
+
try {
|
|
411
|
+
// Trim null bytes from the end
|
|
412
|
+
let actualLength = blockData.length;
|
|
413
|
+
for (let i = blockData.length - 1; i >= 0; i--) {
|
|
414
|
+
if (blockData[i] !== 0) {
|
|
415
|
+
actualLength = i + 1;
|
|
416
|
+
break;
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
const trimmedData = blockData.subarray(0, actualLength);
|
|
420
|
+
const jsonString = new TextDecoder().decode(trimmedData);
|
|
421
|
+
const storageData = JSON.parse(jsonString);
|
|
422
|
+
// Validate required fields
|
|
423
|
+
if (!storageData.id ||
|
|
424
|
+
!storageData.status ||
|
|
425
|
+
!storageData.dateCreated ||
|
|
426
|
+
!storageData.dateUpdated) {
|
|
427
|
+
throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.InvalidMemberData);
|
|
428
|
+
}
|
|
429
|
+
// Hydrate the storage data
|
|
430
|
+
const schema = (0, memberProfileHydration_1.publicMemberProfileHydrationSchema)();
|
|
431
|
+
publicProfile = schema.hydrate(storageData);
|
|
432
|
+
}
|
|
433
|
+
catch {
|
|
434
|
+
// If JSON parsing fails, try to interpret as CBL block data
|
|
435
|
+
try {
|
|
436
|
+
// Get the member to use as creator for CBL validation
|
|
437
|
+
const member = await this.getMember(id);
|
|
438
|
+
const cbl = new cbl_1.ConstituentBlockListBlock(blockData, member, this.blockStore.blockSize);
|
|
439
|
+
const storageData = await this.extractProfileDataFromCBL(cbl);
|
|
440
|
+
// Validate required fields
|
|
441
|
+
if (!storageData.id ||
|
|
442
|
+
!storageData.status ||
|
|
443
|
+
!storageData.dateCreated ||
|
|
444
|
+
!storageData.dateUpdated) {
|
|
445
|
+
throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.InvalidMemberData);
|
|
446
|
+
}
|
|
447
|
+
const schema = (0, memberProfileHydration_1.publicMemberProfileHydrationSchema)();
|
|
448
|
+
publicProfile = schema.hydrate(storageData);
|
|
449
|
+
}
|
|
450
|
+
catch (cblError) {
|
|
451
|
+
// If both approaches fail, the data is corrupted
|
|
452
|
+
if (cblError instanceof memberError_1.MemberError) {
|
|
453
|
+
throw cblError;
|
|
454
|
+
}
|
|
455
|
+
throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.InvalidMemberData);
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
catch (error) {
|
|
460
|
+
if (error instanceof memberError_1.MemberError) {
|
|
461
|
+
throw error;
|
|
462
|
+
}
|
|
463
|
+
throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.FailedToHydrateMember);
|
|
464
|
+
}
|
|
216
465
|
}
|
|
217
466
|
if (indexEntry.privateProfileCBL) {
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
467
|
+
try {
|
|
468
|
+
const privateProfileBlock = await this.blockStore.getData(indexEntry.privateProfileCBL);
|
|
469
|
+
// Try to parse the block data as JSON directly
|
|
470
|
+
const blockData = privateProfileBlock.data;
|
|
471
|
+
// Attempt to decode as JSON first (for direct JSON storage)
|
|
472
|
+
try {
|
|
473
|
+
// Trim null bytes from the end
|
|
474
|
+
let actualLength = blockData.length;
|
|
475
|
+
for (let i = blockData.length - 1; i >= 0; i--) {
|
|
476
|
+
if (blockData[i] !== 0) {
|
|
477
|
+
actualLength = i + 1;
|
|
478
|
+
break;
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
const trimmedData = blockData.subarray(0, actualLength);
|
|
482
|
+
const jsonString = new TextDecoder().decode(trimmedData);
|
|
483
|
+
const storageData = JSON.parse(jsonString);
|
|
484
|
+
// Validate required fields
|
|
485
|
+
if (!storageData.id ||
|
|
486
|
+
!storageData.trustedPeers ||
|
|
487
|
+
!storageData.blockedPeers ||
|
|
488
|
+
!storageData.settings) {
|
|
489
|
+
throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.InvalidMemberData);
|
|
490
|
+
}
|
|
491
|
+
// Hydrate the storage data
|
|
492
|
+
const schema = (0, memberProfileHydration_1.privateMemberProfileHydrationSchema)();
|
|
493
|
+
privateProfile = schema.hydrate(storageData);
|
|
494
|
+
}
|
|
495
|
+
catch {
|
|
496
|
+
// If JSON parsing fails, try to interpret as CBL block data
|
|
497
|
+
try {
|
|
498
|
+
// Get the member to use as creator for CBL validation
|
|
499
|
+
const member = await this.getMember(id);
|
|
500
|
+
const cbl = new cbl_1.ConstituentBlockListBlock(blockData, member, this.blockStore.blockSize);
|
|
501
|
+
const storageData = await this.extractProfileDataFromCBL(cbl);
|
|
502
|
+
// Validate required fields
|
|
503
|
+
if (!storageData.id ||
|
|
504
|
+
!storageData.trustedPeers ||
|
|
505
|
+
!storageData.blockedPeers ||
|
|
506
|
+
!storageData.settings) {
|
|
507
|
+
throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.InvalidMemberData);
|
|
508
|
+
}
|
|
509
|
+
const schema = (0, memberProfileHydration_1.privateMemberProfileHydrationSchema)();
|
|
510
|
+
privateProfile = schema.hydrate(storageData);
|
|
511
|
+
}
|
|
512
|
+
catch (cblError) {
|
|
513
|
+
// If both approaches fail, the data is corrupted
|
|
514
|
+
if (cblError instanceof memberError_1.MemberError) {
|
|
515
|
+
throw cblError;
|
|
516
|
+
}
|
|
517
|
+
throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.InvalidMemberData);
|
|
518
|
+
}
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
catch (error) {
|
|
522
|
+
if (error instanceof memberError_1.MemberError) {
|
|
523
|
+
throw error;
|
|
524
|
+
}
|
|
525
|
+
throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.FailedToHydrateMember);
|
|
526
|
+
}
|
|
222
527
|
}
|
|
223
528
|
return { publicProfile, privateProfile };
|
|
224
529
|
}
|
|
225
530
|
/**
|
|
226
531
|
* Update a member
|
|
532
|
+
*
|
|
533
|
+
* Persists profile changes to CBL blocks and updates the member index.
|
|
534
|
+
* Implements rollback mechanism for failed updates.
|
|
535
|
+
*
|
|
536
|
+
* @param id - The member ID
|
|
537
|
+
* @param changes - The changes to apply
|
|
538
|
+
* @throws MemberError if member not found or update fails
|
|
539
|
+
* @requirements 3.1, 3.2, 3.3, 3.4
|
|
227
540
|
*/
|
|
228
541
|
async updateMember(id, changes) {
|
|
229
|
-
const
|
|
542
|
+
const idHex = (0, ecies_lib_1.uint8ArrayToHex)(service_provider_1.ServiceProvider.getInstance().idProvider.toBytes(id));
|
|
543
|
+
const indexEntry = this.memberIndex.get(idHex);
|
|
230
544
|
if (!indexEntry) {
|
|
231
545
|
throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.MemberNotFound);
|
|
232
546
|
}
|
|
233
|
-
//
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
547
|
+
// Track rollback operations for transactional behavior
|
|
548
|
+
const rollbackOperations = [];
|
|
549
|
+
// Save original index entry for rollback
|
|
550
|
+
const originalEntry = { ...indexEntry };
|
|
551
|
+
try {
|
|
552
|
+
// If profile changes exist, create new profile blocks
|
|
553
|
+
if (changes.publicChanges || changes.privateChanges) {
|
|
554
|
+
// Get current profile data
|
|
555
|
+
const currentProfile = await this.getMemberProfile(id);
|
|
556
|
+
// Create updated public profile data by merging changes
|
|
557
|
+
const updatedPublicProfile = {
|
|
558
|
+
id: id,
|
|
559
|
+
status: changes.publicChanges?.status ??
|
|
560
|
+
currentProfile.publicProfile?.status ??
|
|
561
|
+
memberStatusType_1.MemberStatusType.Active,
|
|
562
|
+
reputation: changes.publicChanges?.reputation ??
|
|
563
|
+
currentProfile.publicProfile?.reputation ??
|
|
564
|
+
0,
|
|
565
|
+
storageQuota: currentProfile.publicProfile?.storageQuota ??
|
|
566
|
+
BigInt(1024 * 1024 * 100),
|
|
567
|
+
storageUsed: currentProfile.publicProfile?.storageUsed ?? BigInt(0),
|
|
568
|
+
lastActive: changes.publicChanges?.lastSeen ??
|
|
569
|
+
currentProfile.publicProfile?.lastActive ??
|
|
570
|
+
new Date(),
|
|
571
|
+
dateCreated: currentProfile.publicProfile?.dateCreated ?? new Date(),
|
|
572
|
+
dateUpdated: new Date(),
|
|
573
|
+
};
|
|
574
|
+
// Create updated private profile data by merging changes
|
|
575
|
+
const updatedPrivateProfile = {
|
|
576
|
+
id: id,
|
|
577
|
+
trustedPeers: changes.privateChanges?.trustedPeers ??
|
|
578
|
+
currentProfile.privateProfile?.trustedPeers ??
|
|
579
|
+
[],
|
|
580
|
+
blockedPeers: changes.privateChanges?.blockedPeers ??
|
|
581
|
+
currentProfile.privateProfile?.blockedPeers ??
|
|
582
|
+
[],
|
|
583
|
+
settings: changes.privateChanges?.settings ??
|
|
584
|
+
currentProfile.privateProfile?.settings ?? {
|
|
585
|
+
autoReplication: true,
|
|
586
|
+
minRedundancy: 3,
|
|
587
|
+
preferredRegions: [],
|
|
588
|
+
},
|
|
589
|
+
activityLog: currentProfile.privateProfile?.activityLog ?? [],
|
|
590
|
+
dateCreated: currentProfile.privateProfile?.dateCreated ?? new Date(),
|
|
591
|
+
dateUpdated: new Date(),
|
|
592
|
+
};
|
|
593
|
+
// Dehydrate profile data to storage format and serialize to JSON
|
|
594
|
+
const publicSchema = (0, memberProfileHydration_1.publicMemberProfileHydrationSchema)();
|
|
595
|
+
const privateSchema = (0, memberProfileHydration_1.privateMemberProfileHydrationSchema)();
|
|
596
|
+
const publicStorageData = publicSchema.dehydrate(updatedPublicProfile);
|
|
597
|
+
const privateStorageData = privateSchema.dehydrate(updatedPrivateProfile);
|
|
598
|
+
const publicProfileJson = JSON.stringify(publicStorageData);
|
|
599
|
+
const privateProfileJson = JSON.stringify(privateStorageData);
|
|
600
|
+
// Encode JSON to bytes
|
|
601
|
+
const publicProfileBytes = new TextEncoder().encode(publicProfileJson);
|
|
602
|
+
const privateProfileBytes = new TextEncoder().encode(privateProfileJson);
|
|
603
|
+
// Create new blocks for profile data
|
|
604
|
+
const newPublicProfileBlock = new rawData_1.RawDataBlock(this.blockStore.blockSize, publicProfileBytes, new Date(), undefined, // Let RawDataBlock calculate the checksum
|
|
605
|
+
blockType_1.BlockType.RawData, blockDataType_1.BlockDataType.PublicMemberData);
|
|
606
|
+
const newPrivateProfileBlock = new rawData_1.RawDataBlock(this.blockStore.blockSize, privateProfileBytes, new Date(), undefined, // Let RawDataBlock calculate the checksum
|
|
607
|
+
blockType_1.BlockType.RawData, blockDataType_1.BlockDataType.PrivateMemberData);
|
|
608
|
+
// Store new blocks in block store
|
|
609
|
+
await this.blockStore.setData(newPublicProfileBlock);
|
|
610
|
+
rollbackOperations.push(async () => {
|
|
611
|
+
await this.blockStore.deleteData(newPublicProfileBlock.idChecksum);
|
|
612
|
+
});
|
|
613
|
+
await this.blockStore.setData(newPrivateProfileBlock);
|
|
614
|
+
rollbackOperations.push(async () => {
|
|
615
|
+
await this.blockStore.deleteData(newPrivateProfileBlock.idChecksum);
|
|
616
|
+
});
|
|
617
|
+
// Update member index with new profile block checksums
|
|
618
|
+
indexEntry.publicProfileCBL = newPublicProfileBlock.idChecksum;
|
|
619
|
+
indexEntry.privateProfileCBL = newPrivateProfileBlock.idChecksum;
|
|
620
|
+
}
|
|
621
|
+
// Apply index changes if provided
|
|
622
|
+
if (changes.indexChanges) {
|
|
623
|
+
Object.assign(indexEntry, changes.indexChanges);
|
|
624
|
+
}
|
|
625
|
+
// Update timestamp
|
|
626
|
+
indexEntry.lastUpdate = new Date();
|
|
627
|
+
// Update the index
|
|
628
|
+
await this.updateIndex(indexEntry);
|
|
629
|
+
}
|
|
630
|
+
catch (error) {
|
|
631
|
+
// Execute rollbacks in reverse order on failure
|
|
632
|
+
for (const rollback of rollbackOperations.reverse()) {
|
|
633
|
+
try {
|
|
634
|
+
await rollback();
|
|
635
|
+
}
|
|
636
|
+
catch (rollbackError) {
|
|
637
|
+
// Log rollback errors but continue with remaining rollbacks
|
|
638
|
+
console.error((0, i18n_1.translate)(brightChainStrings_1.BrightChainStrings.Error_MemberStore_RollbackFailed), rollbackError);
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
// Restore original index entry on failure
|
|
642
|
+
this.memberIndex.set(idHex, originalEntry);
|
|
643
|
+
// Re-throw the original error
|
|
644
|
+
if (error instanceof memberError_1.MemberError) {
|
|
645
|
+
throw error;
|
|
646
|
+
}
|
|
647
|
+
throw new memberError_1.MemberError(memberErrorType_1.MemberErrorType.FailedToCreateMemberBlocks);
|
|
241
648
|
}
|
|
242
649
|
}
|
|
243
650
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memberStore.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/memberStore.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"memberStore.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/services/memberStore.ts"],"names":[],"mappings":"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"}
|