@brightchain/brightchain-lib 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/brightchain-lib/DEPRECATIONS.md +454 -0
- package/brightchain-lib/DEPRECATIONS_REMOVED.md +160 -0
- package/brightchain-lib/MIGRATION.md +801 -0
- package/brightchain-lib/NAMING_AUDIT.md +233 -0
- package/brightchain-lib/NAMING_CONVENTIONS.md +346 -0
- package/{README.md → brightchain-lib/README.md} +168 -0
- package/package.json +5 -4
- package/src/browser.d.ts +3 -2
- package/src/browser.d.ts.map +1 -1
- package/src/browser.js +5 -2
- package/src/browser.js.map +1 -1
- package/src/index.d.ts +2 -10
- package/src/index.d.ts.map +1 -1
- package/src/index.js +8 -17
- package/src/index.js.map +1 -1
- package/src/lib/access/checksum.d.ts +5 -5
- package/src/lib/access/checksum.d.ts.map +1 -1
- package/src/lib/access/checksum.js.map +1 -1
- package/src/lib/blockPaddingTransform.d.ts.map +1 -1
- package/src/lib/blockPaddingTransform.js +2 -1
- package/src/lib/blockPaddingTransform.js.map +1 -1
- package/src/lib/blocks/base.d.ts +6 -5
- package/src/lib/blocks/base.d.ts.map +1 -1
- package/src/lib/blocks/base.js +1 -2
- package/src/lib/blocks/base.js.map +1 -1
- package/src/lib/blocks/cblBase.d.ts +4 -3
- package/src/lib/blocks/cblBase.d.ts.map +1 -1
- package/src/lib/blocks/cblBase.js.map +1 -1
- package/src/lib/blocks/encrypted.d.ts +4 -3
- package/src/lib/blocks/encrypted.d.ts.map +1 -1
- package/src/lib/blocks/encrypted.js +2 -2
- package/src/lib/blocks/encrypted.js.map +1 -1
- package/src/lib/blocks/encryptedBlockCreator.d.ts +4 -3
- package/src/lib/blocks/encryptedBlockCreator.d.ts.map +1 -1
- package/src/lib/blocks/encryptedBlockCreator.js.map +1 -1
- package/src/lib/blocks/encryptedBlockFactory.d.ts +4 -3
- package/src/lib/blocks/encryptedBlockFactory.d.ts.map +1 -1
- package/src/lib/blocks/encryptedBlockFactory.js +2 -7
- package/src/lib/blocks/encryptedBlockFactory.js.map +1 -1
- package/src/lib/blocks/ephemeral.d.ts +4 -3
- package/src/lib/blocks/ephemeral.d.ts.map +1 -1
- package/src/lib/blocks/ephemeral.js +3 -4
- package/src/lib/blocks/ephemeral.js.map +1 -1
- package/src/lib/blocks/extendedCbl.d.ts +4 -3
- package/src/lib/blocks/extendedCbl.d.ts.map +1 -1
- package/src/lib/blocks/extendedCbl.js.map +1 -1
- package/src/lib/blocks/handle.d.ts +208 -12
- package/src/lib/blocks/handle.d.ts.map +1 -1
- package/src/lib/blocks/handle.js +175 -3
- package/src/lib/blocks/handle.js.map +1 -1
- package/src/lib/blocks/handleTuple.d.ts +36 -7
- package/src/lib/blocks/handleTuple.d.ts.map +1 -1
- package/src/lib/blocks/handleTuple.js +32 -3
- package/src/lib/blocks/handleTuple.js.map +1 -1
- package/src/lib/blocks/memoryTuple.d.ts +34 -7
- package/src/lib/blocks/memoryTuple.d.ts.map +1 -1
- package/src/lib/blocks/memoryTuple.js +29 -3
- package/src/lib/blocks/memoryTuple.js.map +1 -1
- package/src/lib/blocks/parity.d.ts +2 -2
- package/src/lib/blocks/parity.d.ts.map +1 -1
- package/src/lib/blocks/parity.js.map +1 -1
- package/src/lib/blocks/random.d.ts +3 -3
- package/src/lib/blocks/random.d.ts.map +1 -1
- package/src/lib/blocks/random.js.map +1 -1
- package/src/lib/blocks/rawData.d.ts +2 -2
- package/src/lib/blocks/rawData.d.ts.map +1 -1
- package/src/lib/blocks/rawData.js +2 -7
- package/src/lib/blocks/rawData.js.map +1 -1
- package/src/lib/blocks/whitened.d.ts +3 -3
- package/src/lib/blocks/whitened.d.ts.map +1 -1
- package/src/lib/blocks/whitened.js.map +1 -1
- package/src/lib/brightChain.d.ts +2 -2
- package/src/lib/brightChain.d.ts.map +1 -1
- package/src/lib/brightChain.js +6 -3
- package/src/lib/brightChain.js.map +1 -1
- package/src/lib/browserBrightChain.d.ts +2 -2
- package/src/lib/browserBrightChain.d.ts.map +1 -1
- package/src/lib/browserBrightChain.js +6 -3
- package/src/lib/browserBrightChain.js.map +1 -1
- package/src/lib/browserConfig.d.ts.map +1 -1
- package/src/lib/browserConfig.js +0 -1
- package/src/lib/browserConfig.js.map +1 -1
- package/src/lib/browserKeyring.d.ts.map +1 -1
- package/src/lib/browserKeyring.js +6 -4
- package/src/lib/browserKeyring.js.map +1 -1
- package/src/lib/browserStream.d.ts +2 -2
- package/src/lib/browserStream.d.ts.map +1 -1
- package/src/lib/browserStream.js +7 -6
- package/src/lib/browserStream.js.map +1 -1
- package/src/lib/bufferUtils.d.ts.map +1 -1
- package/src/lib/bufferUtils.js +3 -2
- package/src/lib/bufferUtils.js.map +1 -1
- package/src/lib/cblStream.d.ts +5 -4
- package/src/lib/cblStream.d.ts.map +1 -1
- package/src/lib/cblStream.js +2 -2
- package/src/lib/cblStream.js.map +1 -1
- package/src/lib/constants.d.ts +55 -2
- package/src/lib/constants.d.ts.map +1 -1
- package/src/lib/constants.js.map +1 -1
- package/src/lib/documents/member/baseMemberDocument.d.ts +7 -6
- package/src/lib/documents/member/baseMemberDocument.d.ts.map +1 -1
- package/src/lib/documents/member/baseMemberDocument.js.map +1 -1
- package/src/lib/documents/member/memberDocument.d.ts +81 -5
- package/src/lib/documents/member/memberDocument.d.ts.map +1 -1
- package/src/lib/documents/member/memberDocument.js +92 -2
- package/src/lib/documents/member/memberDocument.js.map +1 -1
- package/src/lib/documents/member/memberHydration.d.ts.map +1 -1
- package/src/lib/documents/member/memberHydration.js +1 -1
- package/src/lib/documents/member/memberHydration.js.map +1 -1
- package/src/lib/documents/member/memberOperational.d.ts.map +1 -1
- package/src/lib/documents/member/memberOperational.js.map +1 -1
- package/src/lib/documents/memberDocument.d.ts +43 -3
- package/src/lib/documents/memberDocument.d.ts.map +1 -1
- package/src/lib/documents/memberDocument.js +43 -2
- package/src/lib/documents/memberDocument.js.map +1 -1
- package/src/lib/documents/quorumDocument.d.ts +4 -3
- package/src/lib/documents/quorumDocument.d.ts.map +1 -1
- package/src/lib/documents/quorumDocument.js +1 -2
- package/src/lib/documents/quorumDocument.js.map +1 -1
- package/src/lib/enumeration-translations/blockSize.d.ts.map +1 -1
- package/src/lib/enumeration-translations/blockSize.js +2 -2
- package/src/lib/enumeration-translations/blockSize.js.map +1 -1
- package/src/lib/enumeration-translations/blockType.d.ts.map +1 -1
- package/src/lib/enumeration-translations/blockType.js +3 -2
- package/src/lib/enumeration-translations/blockType.js.map +1 -1
- package/src/lib/enumeration-translations/memberType.d.ts.map +1 -1
- package/src/lib/enumeration-translations/memberType.js +3 -2
- package/src/lib/enumeration-translations/memberType.js.map +1 -1
- package/src/lib/enumeration-translations/quorumDataRecordAction.d.ts.map +1 -1
- package/src/lib/enumeration-translations/quorumDataRecordAction.js +2 -2
- package/src/lib/enumeration-translations/quorumDataRecordAction.js.map +1 -1
- package/src/lib/enumerations/availabilityState.d.ts +41 -0
- package/src/lib/enumerations/availabilityState.d.ts.map +1 -0
- package/src/lib/enumerations/availabilityState.js +51 -0
- package/src/lib/enumerations/availabilityState.js.map +1 -0
- package/src/lib/enumerations/durabilityLevel.d.ts +39 -0
- package/src/lib/enumerations/durabilityLevel.d.ts.map +1 -0
- package/src/lib/enumerations/durabilityLevel.js +55 -0
- package/src/lib/enumerations/durabilityLevel.js.map +1 -0
- package/src/lib/enumerations/index.d.ts +57 -54
- package/src/lib/enumerations/index.d.ts.map +1 -1
- package/src/lib/enumerations/index.js +61 -0
- package/src/lib/enumerations/index.js.map +1 -1
- package/src/lib/enumerations/messaging/index.d.ts +6 -0
- package/src/lib/enumerations/messaging/index.d.ts.map +1 -0
- package/src/lib/enumerations/messaging/index.js +9 -0
- package/src/lib/enumerations/messaging/index.js.map +1 -0
- package/src/lib/enumerations/messaging/messageDeliveryStatus.d.ts +18 -0
- package/src/lib/enumerations/messaging/messageDeliveryStatus.d.ts.map +1 -0
- package/src/lib/enumerations/messaging/messageDeliveryStatus.js +22 -0
- package/src/lib/enumerations/messaging/messageDeliveryStatus.js.map +1 -0
- package/src/lib/enumerations/messaging/messageEncryptionScheme.d.ts +16 -0
- package/src/lib/enumerations/messaging/messageEncryptionScheme.d.ts.map +1 -0
- package/src/lib/enumerations/messaging/messageEncryptionScheme.js +20 -0
- package/src/lib/enumerations/messaging/messageEncryptionScheme.js.map +1 -0
- package/src/lib/enumerations/messaging/messageErrorType.d.ts +31 -0
- package/src/lib/enumerations/messaging/messageErrorType.d.ts.map +1 -0
- package/src/lib/enumerations/messaging/messageErrorType.js +41 -0
- package/src/lib/enumerations/messaging/messageErrorType.js.map +1 -0
- package/src/lib/enumerations/messaging/messagePassingType.d.ts +20 -0
- package/src/lib/enumerations/messaging/messagePassingType.d.ts.map +1 -0
- package/src/lib/enumerations/messaging/messagePassingType.js +24 -0
- package/src/lib/enumerations/messaging/messagePassingType.js.map +1 -0
- package/src/lib/enumerations/messaging/messagePriority.d.ts +14 -0
- package/src/lib/enumerations/messaging/messagePriority.d.ts.map +1 -0
- package/src/lib/enumerations/messaging/messagePriority.js +18 -0
- package/src/lib/enumerations/messaging/messagePriority.js.map +1 -0
- package/src/lib/enumerations/messaging/routingStrategy.d.ts +12 -0
- package/src/lib/enumerations/messaging/routingStrategy.d.ts.map +1 -0
- package/src/lib/enumerations/messaging/routingStrategy.js +16 -0
- package/src/lib/enumerations/messaging/routingStrategy.js.map +1 -0
- package/src/lib/enumerations/quorumErrorType.d.ts +3 -1
- package/src/lib/enumerations/quorumErrorType.d.ts.map +1 -1
- package/src/lib/enumerations/quorumErrorType.js +2 -0
- package/src/lib/enumerations/quorumErrorType.js.map +1 -1
- package/src/lib/enumerations/replicationStatus.d.ts +42 -0
- package/src/lib/enumerations/replicationStatus.d.ts.map +1 -0
- package/src/lib/enumerations/replicationStatus.js +51 -0
- package/src/lib/enumerations/replicationStatus.js.map +1 -0
- package/src/lib/enumerations/storeErrorType.d.ts +3 -1
- package/src/lib/enumerations/storeErrorType.d.ts.map +1 -1
- package/src/lib/enumerations/storeErrorType.js +2 -0
- package/src/lib/enumerations/storeErrorType.js.map +1 -1
- package/src/lib/enumerations/stringNames.d.ts +4 -0
- package/src/lib/enumerations/stringNames.d.ts.map +1 -1
- package/src/lib/enumerations/stringNames.js +4 -0
- package/src/lib/enumerations/stringNames.js.map +1 -1
- package/src/lib/errors/block/blockAccess.d.ts +1 -2
- package/src/lib/errors/block/blockAccess.d.ts.map +1 -1
- package/src/lib/errors/block/blockAccess.js.map +1 -1
- package/src/lib/errors/block/blockCapacity.d.ts +1 -2
- package/src/lib/errors/block/blockCapacity.d.ts.map +1 -1
- package/src/lib/errors/block/blockCapacity.js.map +1 -1
- package/src/lib/errors/block/blockError.d.ts +1 -2
- package/src/lib/errors/block/blockError.d.ts.map +1 -1
- package/src/lib/errors/block/blockError.js.map +1 -1
- package/src/lib/errors/block/blockMetadata.d.ts +1 -2
- package/src/lib/errors/block/blockMetadata.d.ts.map +1 -1
- package/src/lib/errors/block/blockMetadata.js.map +1 -1
- package/src/lib/errors/block/blockValidation.d.ts +1 -2
- package/src/lib/errors/block/blockValidation.d.ts.map +1 -1
- package/src/lib/errors/block/blockValidation.js.map +1 -1
- package/src/lib/errors/block/cannotDecrypt.d.ts +1 -2
- package/src/lib/errors/block/cannotDecrypt.d.ts.map +1 -1
- package/src/lib/errors/block/cannotDecrypt.js.map +1 -1
- package/src/lib/errors/block/cannotEncrypt.d.ts +1 -2
- package/src/lib/errors/block/cannotEncrypt.d.ts.map +1 -1
- package/src/lib/errors/block/cannotEncrypt.js.map +1 -1
- package/src/lib/errors/blockServiceError.d.ts +1 -2
- package/src/lib/errors/blockServiceError.d.ts.map +1 -1
- package/src/lib/errors/blockServiceError.js.map +1 -1
- package/src/lib/errors/brightChainError.d.ts +77 -0
- package/src/lib/errors/brightChainError.d.ts.map +1 -0
- package/src/lib/errors/brightChainError.js +100 -0
- package/src/lib/errors/brightChainError.js.map +1 -0
- package/src/lib/errors/bufferError.d.ts +1 -2
- package/src/lib/errors/bufferError.d.ts.map +1 -1
- package/src/lib/errors/bufferError.js.map +1 -1
- package/src/lib/errors/cblError.d.ts +1 -2
- package/src/lib/errors/cblError.d.ts.map +1 -1
- package/src/lib/errors/cblError.js.map +1 -1
- package/src/lib/errors/checksumError.d.ts +122 -0
- package/src/lib/errors/checksumError.d.ts.map +1 -0
- package/src/lib/errors/checksumError.js +132 -0
- package/src/lib/errors/checksumError.js.map +1 -0
- package/src/lib/errors/checksumMismatch.d.ts +4 -5
- package/src/lib/errors/checksumMismatch.d.ts.map +1 -1
- package/src/lib/errors/checksumMismatch.js +2 -3
- package/src/lib/errors/checksumMismatch.js.map +1 -1
- package/src/lib/errors/document.d.ts +1 -2
- package/src/lib/errors/document.d.ts.map +1 -1
- package/src/lib/errors/document.js.map +1 -1
- package/src/lib/errors/eciesError.d.ts +1 -2
- package/src/lib/errors/eciesError.d.ts.map +1 -1
- package/src/lib/errors/eciesError.js.map +1 -1
- package/src/lib/errors/enhancedValidationError.d.ts +73 -0
- package/src/lib/errors/enhancedValidationError.d.ts.map +1 -0
- package/src/lib/errors/enhancedValidationError.js +82 -0
- package/src/lib/errors/enhancedValidationError.js.map +1 -0
- package/src/lib/errors/extendedCblError.d.ts +1 -2
- package/src/lib/errors/extendedCblError.d.ts.map +1 -1
- package/src/lib/errors/extendedCblError.js.map +1 -1
- package/src/lib/errors/factoryPatternViolationError.d.ts +91 -0
- package/src/lib/errors/factoryPatternViolationError.d.ts.map +1 -0
- package/src/lib/errors/factoryPatternViolationError.js +100 -0
- package/src/lib/errors/factoryPatternViolationError.js.map +1 -0
- package/src/lib/errors/failedToHydrate.d.ts +1 -2
- package/src/lib/errors/failedToHydrate.d.ts.map +1 -1
- package/src/lib/errors/failedToHydrate.js.map +1 -1
- package/src/lib/errors/failedToSerialize.d.ts +1 -2
- package/src/lib/errors/failedToSerialize.d.ts.map +1 -1
- package/src/lib/errors/failedToSerialize.js.map +1 -1
- package/src/lib/errors/fecError.d.ts +1 -2
- package/src/lib/errors/fecError.d.ts.map +1 -1
- package/src/lib/errors/fecError.js.map +1 -1
- package/src/lib/errors/handleTupleError.d.ts +2 -2
- package/src/lib/errors/handleTupleError.d.ts.map +1 -1
- package/src/lib/errors/handleTupleError.js.map +1 -1
- package/src/lib/errors/index.d.ts +200 -39
- package/src/lib/errors/index.d.ts.map +1 -1
- package/src/lib/errors/index.js +273 -0
- package/src/lib/errors/index.js.map +1 -1
- package/src/lib/errors/invalidBlockSize.d.ts +1 -2
- package/src/lib/errors/invalidBlockSize.d.ts.map +1 -1
- package/src/lib/errors/invalidBlockSize.js.map +1 -1
- package/src/lib/errors/invalidBlockSizeLength.d.ts +1 -2
- package/src/lib/errors/invalidBlockSizeLength.d.ts.map +1 -1
- package/src/lib/errors/invalidBlockSizeLength.js.map +1 -1
- package/src/lib/errors/invalidCredentials.d.ts +1 -2
- package/src/lib/errors/invalidCredentials.d.ts.map +1 -1
- package/src/lib/errors/invalidCredentials.js.map +1 -1
- package/src/lib/errors/invalidIDFormat.d.ts +1 -2
- package/src/lib/errors/invalidIDFormat.d.ts.map +1 -1
- package/src/lib/errors/invalidIDFormat.js.map +1 -1
- package/src/lib/errors/invalidSessionID.d.ts +1 -2
- package/src/lib/errors/invalidSessionID.d.ts.map +1 -1
- package/src/lib/errors/invalidSessionID.js.map +1 -1
- package/src/lib/errors/invalidTupleCount.d.ts +1 -2
- package/src/lib/errors/invalidTupleCount.d.ts.map +1 -1
- package/src/lib/errors/invalidTupleCount.js.map +1 -1
- package/src/lib/errors/isolatedKeyError.d.ts +1 -2
- package/src/lib/errors/isolatedKeyError.d.ts.map +1 -1
- package/src/lib/errors/isolatedKeyError.js.map +1 -1
- package/src/lib/errors/memberError.d.ts +1 -2
- package/src/lib/errors/memberError.d.ts.map +1 -1
- package/src/lib/errors/memberError.js +1 -1
- package/src/lib/errors/memberError.js.map +1 -1
- package/src/lib/errors/memoryTupleError.d.ts +2 -2
- package/src/lib/errors/memoryTupleError.d.ts.map +1 -1
- package/src/lib/errors/memoryTupleError.js.map +1 -1
- package/src/lib/errors/messaging/index.d.ts +2 -0
- package/src/lib/errors/messaging/index.d.ts.map +1 -0
- package/src/lib/{models → errors/messaging}/index.js +1 -1
- package/src/lib/errors/messaging/index.js.map +1 -0
- package/src/lib/errors/messaging/messageError.d.ts +26 -0
- package/src/lib/errors/messaging/messageError.d.ts.map +1 -0
- package/src/lib/errors/messaging/messageError.js +32 -0
- package/src/lib/errors/messaging/messageError.js.map +1 -0
- package/src/lib/errors/metadataMismatch.d.ts +1 -2
- package/src/lib/errors/metadataMismatch.d.ts.map +1 -1
- package/src/lib/errors/metadataMismatch.js.map +1 -1
- package/src/lib/errors/multiEncryptedError.d.ts +1 -2
- package/src/lib/errors/multiEncryptedError.d.ts.map +1 -1
- package/src/lib/errors/multiEncryptedError.js.map +1 -1
- package/src/lib/errors/quorumError.d.ts +1 -2
- package/src/lib/errors/quorumError.d.ts.map +1 -1
- package/src/lib/errors/quorumError.js +2 -0
- package/src/lib/errors/quorumError.js.map +1 -1
- package/src/lib/errors/sealingError.d.ts +1 -2
- package/src/lib/errors/sealingError.d.ts.map +1 -1
- package/src/lib/errors/sealingError.js.map +1 -1
- package/src/lib/errors/secureStorage.d.ts +1 -2
- package/src/lib/errors/secureStorage.d.ts.map +1 -1
- package/src/lib/errors/secureStorage.js +1 -1
- package/src/lib/errors/secureStorage.js.map +1 -1
- package/src/lib/errors/storeError.d.ts +1 -2
- package/src/lib/errors/storeError.d.ts.map +1 -1
- package/src/lib/errors/storeError.js +2 -0
- package/src/lib/errors/storeError.js.map +1 -1
- package/src/lib/errors/streamError.d.ts +1 -2
- package/src/lib/errors/streamError.d.ts.map +1 -1
- package/src/lib/errors/streamError.js.map +1 -1
- package/src/lib/errors/symmetricError.d.ts +1 -2
- package/src/lib/errors/symmetricError.d.ts.map +1 -1
- package/src/lib/errors/symmetricError.js.map +1 -1
- package/src/lib/errors/systemKeyringError.d.ts +2 -2
- package/src/lib/errors/systemKeyringError.d.ts.map +1 -1
- package/src/lib/errors/systemKeyringError.js.map +1 -1
- package/src/lib/errors/tupleError.d.ts +1 -2
- package/src/lib/errors/tupleError.d.ts.map +1 -1
- package/src/lib/errors/tupleError.js.map +1 -1
- package/src/lib/errors/typeGuards.d.ts +201 -0
- package/src/lib/errors/typeGuards.d.ts.map +1 -0
- package/src/lib/errors/typeGuards.js +219 -0
- package/src/lib/errors/typeGuards.js.map +1 -0
- package/src/lib/errors/typedError.d.ts +2 -3
- package/src/lib/errors/typedError.d.ts.map +1 -1
- package/src/lib/errors/typedError.js.map +1 -1
- package/src/lib/errors/userNotFound.d.ts +1 -2
- package/src/lib/errors/userNotFound.d.ts.map +1 -1
- package/src/lib/errors/userNotFound.js.map +1 -1
- package/src/lib/errors/whitenedError.d.ts +1 -2
- package/src/lib/errors/whitenedError.d.ts.map +1 -1
- package/src/lib/errors/whitenedError.js.map +1 -1
- package/src/lib/i18n/index.d.ts +28 -5
- package/src/lib/i18n/index.d.ts.map +1 -1
- package/src/lib/i18n/index.js +28 -7
- package/src/lib/i18n/index.js.map +1 -1
- package/src/lib/index.d.ts +131 -18
- package/src/lib/index.d.ts.map +1 -1
- package/src/lib/index.js +164 -19
- package/src/lib/index.js.map +1 -1
- package/src/lib/init.d.ts.map +1 -1
- package/src/lib/init.js +2 -1
- package/src/lib/init.js.map +1 -1
- package/src/lib/interfaces/active-context.d.ts +7 -4
- package/src/lib/interfaces/active-context.d.ts.map +1 -1
- package/src/lib/interfaces/availability/availabilityService.d.ts +319 -0
- package/src/lib/interfaces/availability/availabilityService.d.ts.map +1 -0
- package/src/lib/interfaces/availability/availabilityService.js +22 -0
- package/src/lib/interfaces/availability/availabilityService.js.map +1 -0
- package/src/lib/interfaces/availability/blockRegistry.d.ts +135 -0
- package/src/lib/interfaces/availability/blockRegistry.d.ts.map +1 -0
- package/src/lib/interfaces/availability/blockRegistry.js +11 -0
- package/src/lib/interfaces/availability/blockRegistry.js.map +1 -0
- package/src/lib/interfaces/availability/discoveryProtocol.d.ts +179 -0
- package/src/lib/interfaces/availability/discoveryProtocol.d.ts.map +1 -0
- package/src/lib/interfaces/availability/discoveryProtocol.js +23 -0
- package/src/lib/interfaces/availability/discoveryProtocol.js.map +1 -0
- package/src/lib/interfaces/availability/gossipService.d.ts +166 -0
- package/src/lib/interfaces/availability/gossipService.d.ts.map +1 -0
- package/src/lib/interfaces/availability/gossipService.js +22 -0
- package/src/lib/interfaces/availability/gossipService.js.map +1 -0
- package/src/lib/interfaces/availability/heartbeatMonitor.d.ts +179 -0
- package/src/lib/interfaces/availability/heartbeatMonitor.d.ts.map +1 -0
- package/src/lib/interfaces/availability/heartbeatMonitor.js +20 -0
- package/src/lib/interfaces/availability/heartbeatMonitor.js.map +1 -0
- package/src/lib/interfaces/availability/index.d.ts +8 -0
- package/src/lib/interfaces/availability/index.d.ts.map +1 -0
- package/src/lib/interfaces/availability/index.js +11 -0
- package/src/lib/interfaces/availability/index.js.map +1 -0
- package/src/lib/interfaces/availability/locationRecord.d.ts +110 -0
- package/src/lib/interfaces/availability/locationRecord.d.ts.map +1 -0
- package/src/lib/interfaces/availability/locationRecord.js +199 -0
- package/src/lib/interfaces/availability/locationRecord.js.map +1 -0
- package/src/lib/interfaces/availability/reconciliationService.d.ts +310 -0
- package/src/lib/interfaces/availability/reconciliationService.d.ts.map +1 -0
- package/src/lib/interfaces/availability/reconciliationService.js +23 -0
- package/src/lib/interfaces/availability/reconciliationService.js.map +1 -0
- package/src/lib/interfaces/backupCodeConsts.d.ts +26 -0
- package/src/lib/interfaces/backupCodeConsts.d.ts.map +1 -1
- package/src/lib/interfaces/basicObjectDto.d.ts +26 -0
- package/src/lib/interfaces/basicObjectDto.d.ts.map +1 -1
- package/src/lib/interfaces/blockCapacity.d.ts +71 -0
- package/src/lib/interfaces/blockCapacity.d.ts.map +1 -1
- package/src/lib/interfaces/blockEncryption.d.ts +3 -2
- package/src/lib/interfaces/blockEncryption.d.ts.map +1 -1
- package/src/lib/interfaces/blocks/base.d.ts +3 -2
- package/src/lib/interfaces/blocks/base.d.ts.map +1 -1
- package/src/lib/interfaces/blocks/cblBase.d.ts +3 -2
- package/src/lib/interfaces/blocks/cblBase.d.ts.map +1 -1
- package/src/lib/interfaces/blocks/headers/index.d.ts +1 -0
- package/src/lib/interfaces/blocks/headers/index.d.ts.map +1 -1
- package/src/lib/interfaces/blocks/headers/messageCblHeader.d.ts +13 -0
- package/src/lib/interfaces/blocks/headers/messageCblHeader.d.ts.map +1 -0
- package/src/lib/interfaces/blocks/headers/messageCblHeader.js +3 -0
- package/src/lib/interfaces/blocks/headers/messageCblHeader.js.map +1 -0
- package/src/lib/interfaces/cblIndexEntry.d.ts +32 -0
- package/src/lib/interfaces/cblIndexEntry.d.ts.map +1 -1
- package/src/lib/interfaces/clusterKeys.d.ts +18 -0
- package/src/lib/interfaces/clusterKeys.d.ts.map +1 -1
- package/src/lib/interfaces/constants.d.ts +244 -18
- package/src/lib/interfaces/constants.d.ts.map +1 -1
- package/src/lib/interfaces/dataAndSigningKeys.d.ts +18 -0
- package/src/lib/interfaces/dataAndSigningKeys.d.ts.map +1 -1
- package/src/lib/interfaces/encryptedBlockCreator.d.ts +3 -2
- package/src/lib/interfaces/encryptedBlockCreator.d.ts.map +1 -1
- package/src/lib/interfaces/energyTransaction.d.ts +3 -3
- package/src/lib/interfaces/energyTransaction.d.ts.map +1 -1
- package/src/lib/interfaces/handleableErrorOptions.d.ts +25 -0
- package/src/lib/interfaces/handleableErrorOptions.d.ts.map +1 -1
- package/src/lib/interfaces/index.d.ts +4 -1
- package/src/lib/interfaces/index.d.ts.map +1 -1
- package/src/lib/interfaces/index.js +3 -0
- package/src/lib/interfaces/index.js.map +1 -1
- package/src/lib/interfaces/keyringEntry.d.ts +31 -0
- package/src/lib/interfaces/keyringEntry.d.ts.map +1 -1
- package/src/lib/interfaces/languageContext.d.ts +15 -0
- package/src/lib/interfaces/languageContext.d.ts.map +1 -1
- package/src/lib/interfaces/member/memberData.d.ts +5 -4
- package/src/lib/interfaces/member/memberData.d.ts.map +1 -1
- package/src/lib/interfaces/messaging/index.d.ts +5 -0
- package/src/lib/interfaces/messaging/index.d.ts.map +1 -0
- package/src/lib/interfaces/messaging/index.js +8 -0
- package/src/lib/interfaces/messaging/index.js.map +1 -0
- package/src/lib/interfaces/messaging/messageMetadata.d.ts +41 -0
- package/src/lib/interfaces/messaging/messageMetadata.d.ts.map +1 -0
- package/src/lib/interfaces/messaging/messageMetadata.js +3 -0
- package/src/lib/interfaces/messaging/messageMetadata.js.map +1 -0
- package/src/lib/interfaces/messaging/messageMetadataStore.d.ts +83 -0
- package/src/lib/interfaces/messaging/messageMetadataStore.d.ts.map +1 -0
- package/src/lib/interfaces/messaging/messageMetadataStore.js +3 -0
- package/src/lib/interfaces/messaging/messageMetadataStore.js.map +1 -0
- package/src/lib/interfaces/messaging/messageRouter.d.ts +48 -0
- package/src/lib/interfaces/messaging/messageRouter.d.ts.map +1 -0
- package/src/lib/interfaces/messaging/messageRouter.js +3 -0
- package/src/lib/interfaces/messaging/messageRouter.js.map +1 -0
- package/src/lib/interfaces/messaging/messageSystemConfig.d.ts +16 -0
- package/src/lib/interfaces/messaging/messageSystemConfig.d.ts.map +1 -0
- package/src/lib/interfaces/messaging/messageSystemConfig.js +33 -0
- package/src/lib/interfaces/messaging/messageSystemConfig.js.map +1 -0
- package/src/lib/interfaces/network/index.d.ts +1 -0
- package/src/lib/interfaces/network/index.d.ts.map +1 -1
- package/src/lib/interfaces/network/networkTransport.d.ts +19 -0
- package/src/lib/interfaces/network/networkTransport.d.ts.map +1 -0
- package/src/lib/interfaces/network/networkTransport.js +3 -0
- package/src/lib/interfaces/network/networkTransport.js.map +1 -0
- package/src/lib/interfaces/network/node.d.ts +5 -4
- package/src/lib/interfaces/network/node.d.ts.map +1 -1
- package/src/lib/interfaces/network/node.js.map +1 -1
- package/src/lib/interfaces/readOnlyBasicObjectDto.d.ts +22 -0
- package/src/lib/interfaces/readOnlyBasicObjectDto.d.ts.map +1 -1
- package/src/lib/interfaces/requestUser.d.ts +33 -0
- package/src/lib/interfaces/requestUser.d.ts.map +1 -1
- package/src/lib/interfaces/role.d.ts +26 -0
- package/src/lib/interfaces/role.d.ts.map +1 -1
- package/src/lib/interfaces/services/fecService.d.ts +116 -0
- package/src/lib/interfaces/services/fecService.d.ts.map +1 -0
- package/src/lib/interfaces/services/fecService.js +14 -0
- package/src/lib/interfaces/services/fecService.js.map +1 -0
- package/src/lib/interfaces/services/index.d.ts +3 -0
- package/src/lib/interfaces/services/index.d.ts.map +1 -0
- package/src/lib/interfaces/services/index.js +3 -0
- package/src/lib/interfaces/services/index.js.map +1 -0
- package/src/lib/interfaces/services/quorumService.d.ts +133 -0
- package/src/lib/interfaces/services/quorumService.d.ts.map +1 -0
- package/src/lib/interfaces/services/quorumService.js +3 -0
- package/src/lib/interfaces/services/quorumService.js.map +1 -0
- package/src/lib/interfaces/storage/blockMetadata.d.ts +124 -0
- package/src/lib/interfaces/storage/blockMetadata.d.ts.map +1 -0
- package/src/lib/interfaces/storage/blockMetadata.js +31 -0
- package/src/lib/interfaces/storage/blockMetadata.js.map +1 -0
- package/src/lib/interfaces/storage/blockMetadataStore.d.ts +60 -0
- package/src/lib/interfaces/storage/blockMetadataStore.d.ts.map +1 -0
- package/src/lib/interfaces/storage/blockMetadataStore.js +3 -0
- package/src/lib/interfaces/storage/blockMetadataStore.js.map +1 -0
- package/src/lib/interfaces/storage/blockStore.d.ts +105 -10
- package/src/lib/interfaces/storage/blockStore.d.ts.map +1 -1
- package/src/lib/interfaces/storage/cblStore.d.ts +36 -0
- package/src/lib/interfaces/storage/cblStore.d.ts.map +1 -0
- package/src/lib/interfaces/storage/cblStore.js +3 -0
- package/src/lib/interfaces/storage/cblStore.js.map +1 -0
- package/src/lib/interfaces/storage/index.d.ts +4 -0
- package/src/lib/interfaces/storage/index.d.ts.map +1 -1
- package/src/lib/interfaces/storage/index.js +3 -0
- package/src/lib/interfaces/storage/index.js.map +1 -1
- package/src/lib/interfaces/storage/universalBlockStore.d.ts +5 -5
- package/src/lib/interfaces/storage/universalBlockStore.d.ts.map +1 -1
- package/src/lib/interfaces/symmetricEncryptionResults.d.ts +18 -0
- package/src/lib/interfaces/symmetricEncryptionResults.d.ts.map +1 -1
- package/src/lib/interfaces/tuple.d.ts +10 -1
- package/src/lib/interfaces/tuple.d.ts.map +1 -1
- package/src/lib/interfaces/tupleConfig.d.ts +18 -0
- package/src/lib/interfaces/tupleConfig.d.ts.map +1 -1
- package/src/lib/primeTupleGeneratorStream.d.ts +1 -1
- package/src/lib/primeTupleGeneratorStream.d.ts.map +1 -1
- package/src/lib/primeTupleGeneratorStream.js +2 -5
- package/src/lib/primeTupleGeneratorStream.js.map +1 -1
- package/src/lib/quorumDataRecord.d.ts +4 -3
- package/src/lib/quorumDataRecord.d.ts.map +1 -1
- package/src/lib/quorumDataRecord.js +5 -4
- package/src/lib/quorumDataRecord.js.map +1 -1
- package/src/lib/schemas/index.d.ts +1 -0
- package/src/lib/schemas/index.d.ts.map +1 -1
- package/src/lib/schemas/index.js +1 -0
- package/src/lib/schemas/index.js.map +1 -1
- package/src/lib/schemas/member/memberSchema.d.ts.map +1 -1
- package/src/lib/schemas/member/memberSchema.js.map +1 -1
- package/src/lib/schemas/messaging/index.d.ts +2 -0
- package/src/lib/schemas/messaging/index.d.ts.map +1 -0
- package/src/lib/schemas/messaging/index.js +5 -0
- package/src/lib/schemas/messaging/index.js.map +1 -0
- package/src/lib/schemas/messaging/messageMetadataSchema.d.ts +14 -0
- package/src/lib/schemas/messaging/messageMetadataSchema.d.ts.map +1 -0
- package/src/lib/schemas/messaging/messageMetadataSchema.js +90 -0
- package/src/lib/schemas/messaging/messageMetadataSchema.js.map +1 -0
- package/src/lib/schemas/network/networkDocumentSchema.d.ts.map +1 -1
- package/src/lib/schemas/network/networkDocumentSchema.js.map +1 -1
- package/src/lib/schemas/quorumDocument.d.ts.map +1 -1
- package/src/lib/schemas/quorumDocument.js +6 -6
- package/src/lib/schemas/quorumDocument.js.map +1 -1
- package/src/lib/services/blockCapacity.service.d.ts +36 -2
- package/src/lib/services/blockCapacity.service.d.ts.map +1 -1
- package/src/lib/services/blockCapacity.service.js +141 -77
- package/src/lib/services/blockCapacity.service.js.map +1 -1
- package/src/lib/services/blockService.d.ts +33 -0
- package/src/lib/services/blockService.d.ts.map +1 -1
- package/src/lib/services/blockService.js +127 -37
- package/src/lib/services/blockService.js.map +1 -1
- package/src/lib/services/cblService.d.ts +129 -18
- package/src/lib/services/cblService.d.ts.map +1 -1
- package/src/lib/services/cblService.js +295 -77
- package/src/lib/services/cblService.js.map +1 -1
- package/src/lib/services/checksum.service.d.ts +92 -23
- package/src/lib/services/checksum.service.d.ts.map +1 -1
- package/src/lib/services/checksum.service.js +89 -41
- package/src/lib/services/checksum.service.js.map +1 -1
- package/src/lib/services/fec.service.d.ts +43 -1
- package/src/lib/services/fec.service.d.ts.map +1 -1
- package/src/lib/services/fec.service.js +71 -2
- package/src/lib/services/fec.service.js.map +1 -1
- package/src/lib/services/index.d.ts +2 -0
- package/src/lib/services/index.d.ts.map +1 -1
- package/src/lib/services/index.js +2 -0
- package/src/lib/services/index.js.map +1 -1
- package/src/lib/services/member/memberCblService.d.ts.map +1 -1
- package/src/lib/services/member/memberCblService.js +14 -11
- package/src/lib/services/member/memberCblService.js.map +1 -1
- package/src/lib/services/memberStore.d.ts.map +1 -1
- package/src/lib/services/memberStore.js +5 -5
- package/src/lib/services/memberStore.js.map +1 -1
- package/src/lib/services/messaging/alertMonitor.d.ts +23 -0
- package/src/lib/services/messaging/alertMonitor.d.ts.map +1 -0
- package/src/lib/services/messaging/alertMonitor.js +39 -0
- package/src/lib/services/messaging/alertMonitor.js.map +1 -0
- package/src/lib/services/messaging/broadcastMessageRouter.d.ts +19 -0
- package/src/lib/services/messaging/broadcastMessageRouter.d.ts.map +1 -0
- package/src/lib/services/messaging/broadcastMessageRouter.js +33 -0
- package/src/lib/services/messaging/broadcastMessageRouter.js.map +1 -0
- package/src/lib/services/messaging/deliveryTimeoutService.d.ts +64 -0
- package/src/lib/services/messaging/deliveryTimeoutService.d.ts.map +1 -0
- package/src/lib/services/messaging/deliveryTimeoutService.js +125 -0
- package/src/lib/services/messaging/deliveryTimeoutService.js.map +1 -0
- package/src/lib/services/messaging/directMessageRouter.d.ts +25 -0
- package/src/lib/services/messaging/directMessageRouter.d.ts.map +1 -0
- package/src/lib/services/messaging/directMessageRouter.js +58 -0
- package/src/lib/services/messaging/directMessageRouter.js.map +1 -0
- package/src/lib/services/messaging/index.d.ts +9 -0
- package/src/lib/services/messaging/index.d.ts.map +1 -0
- package/src/lib/services/messaging/index.js +12 -0
- package/src/lib/services/messaging/index.js.map +1 -0
- package/src/lib/services/messaging/messageCBLService.d.ts +41 -0
- package/src/lib/services/messaging/messageCBLService.d.ts.map +1 -0
- package/src/lib/services/messaging/messageCBLService.js +187 -0
- package/src/lib/services/messaging/messageCBLService.js.map +1 -0
- package/src/lib/services/messaging/messageEncryptionService.d.ts +43 -0
- package/src/lib/services/messaging/messageEncryptionService.d.ts.map +1 -0
- package/src/lib/services/messaging/messageEncryptionService.js +89 -0
- package/src/lib/services/messaging/messageEncryptionService.js.map +1 -0
- package/src/lib/services/messaging/messageForwardingService.d.ts +40 -0
- package/src/lib/services/messaging/messageForwardingService.d.ts.map +1 -0
- package/src/lib/services/messaging/messageForwardingService.js +74 -0
- package/src/lib/services/messaging/messageForwardingService.js.map +1 -0
- package/src/lib/services/messaging/messageLogger.d.ts +26 -0
- package/src/lib/services/messaging/messageLogger.d.ts.map +1 -0
- package/src/lib/services/messaging/messageLogger.js +42 -0
- package/src/lib/services/messaging/messageLogger.js.map +1 -0
- package/src/lib/services/messaging/messageMetrics.d.ts +35 -0
- package/src/lib/services/messaging/messageMetrics.d.ts.map +1 -0
- package/src/lib/services/messaging/messageMetrics.js +68 -0
- package/src/lib/services/messaging/messageMetrics.js.map +1 -0
- package/src/lib/services/messaging/messageRouter.d.ts +24 -0
- package/src/lib/services/messaging/messageRouter.d.ts.map +1 -0
- package/src/lib/services/messaging/messageRouter.js +102 -0
- package/src/lib/services/messaging/messageRouter.js.map +1 -0
- package/src/lib/services/messaging/recipientKeyManager.d.ts +40 -0
- package/src/lib/services/messaging/recipientKeyManager.d.ts.map +1 -0
- package/src/lib/services/messaging/recipientKeyManager.js +83 -0
- package/src/lib/services/messaging/recipientKeyManager.js.map +1 -0
- package/src/lib/services/messaging/webSocketTransport.d.ts +34 -0
- package/src/lib/services/messaging/webSocketTransport.d.ts.map +1 -0
- package/src/lib/services/messaging/webSocketTransport.js +116 -0
- package/src/lib/services/messaging/webSocketTransport.js.map +1 -0
- package/src/lib/services/quorumService.d.ts +38 -0
- package/src/lib/services/quorumService.d.ts.map +1 -0
- package/src/lib/services/quorumService.js +176 -0
- package/src/lib/services/quorumService.js.map +1 -0
- package/src/lib/services/sealing.service.d.ts +11 -5
- package/src/lib/services/sealing.service.d.ts.map +1 -1
- package/src/lib/services/sealing.service.js +51 -5
- package/src/lib/services/sealing.service.js.map +1 -1
- package/src/lib/services/tuple.service.d.ts +40 -3
- package/src/lib/services/tuple.service.d.ts.map +1 -1
- package/src/lib/services/tuple.service.js +69 -33
- package/src/lib/services/tuple.service.js.map +1 -1
- package/src/lib/simpleBrightChain.d.ts.map +1 -1
- package/src/lib/simpleBrightChain.js +2 -1
- package/src/lib/simpleBrightChain.js.map +1 -1
- package/src/lib/stores/blockStoreAdapter.d.ts +21 -9
- package/src/lib/stores/blockStoreAdapter.d.ts.map +1 -1
- package/src/lib/stores/blockStoreAdapter.js +44 -7
- package/src/lib/stores/blockStoreAdapter.js.map +1 -1
- package/src/lib/stores/cblStore.d.ts +7 -6
- package/src/lib/stores/cblStore.d.ts.map +1 -1
- package/src/lib/stores/cblStore.js +3 -4
- package/src/lib/stores/cblStore.js.map +1 -1
- package/src/lib/stores/index.d.ts +3 -1
- package/src/lib/stores/index.d.ts.map +1 -1
- package/src/lib/stores/index.js +3 -1
- package/src/lib/stores/index.js.map +1 -1
- package/src/lib/stores/memoryBlockMetadataStore.d.ts +82 -0
- package/src/lib/stores/memoryBlockMetadataStore.d.ts.map +1 -0
- package/src/lib/stores/memoryBlockMetadataStore.js +165 -0
- package/src/lib/stores/memoryBlockMetadataStore.js.map +1 -0
- package/src/lib/stores/memoryBlockStore.d.ts +141 -15
- package/src/lib/stores/memoryBlockStore.d.ts.map +1 -1
- package/src/lib/stores/memoryBlockStore.js +439 -23
- package/src/lib/stores/memoryBlockStore.js.map +1 -1
- package/src/lib/stores/memoryCblStore.d.ts +25 -0
- package/src/lib/stores/memoryCblStore.d.ts.map +1 -0
- package/src/lib/stores/memoryCblStore.js +105 -0
- package/src/lib/stores/memoryCblStore.js.map +1 -0
- package/src/lib/stores/messaging/index.d.ts +2 -0
- package/src/lib/stores/messaging/index.d.ts.map +1 -0
- package/src/lib/stores/messaging/index.js +5 -0
- package/src/lib/stores/messaging/index.js.map +1 -0
- package/src/lib/stores/messaging/memoryMessageMetadataStore.d.ts +24 -0
- package/src/lib/stores/messaging/memoryMessageMetadataStore.d.ts.map +1 -0
- package/src/lib/stores/messaging/memoryMessageMetadataStore.js +123 -0
- package/src/lib/stores/messaging/memoryMessageMetadataStore.js.map +1 -0
- package/src/lib/strings/englishUs.d.ts.map +1 -1
- package/src/lib/strings/englishUs.js +4 -0
- package/src/lib/strings/englishUs.js.map +1 -1
- package/src/lib/systemKeyring.d.ts.map +1 -1
- package/src/lib/systemKeyring.js.map +1 -1
- package/src/lib/test/testMembers.js +3 -3
- package/src/lib/test/testMembers.js.map +1 -1
- package/src/lib/test/testUtils.d.ts +18 -0
- package/src/lib/test/testUtils.d.ts.map +1 -1
- package/src/lib/test/testUtils.js +23 -0
- package/src/lib/test/testUtils.js.map +1 -1
- package/src/lib/types/checksum.d.ts +215 -0
- package/src/lib/types/checksum.d.ts.map +1 -0
- package/src/lib/types/checksum.js +266 -0
- package/src/lib/types/checksum.js.map +1 -0
- package/src/lib/types/enumTranslation.d.ts +54 -0
- package/src/lib/types/enumTranslation.d.ts.map +1 -0
- package/src/lib/types/enumTranslation.js +34 -0
- package/src/lib/types/enumTranslation.js.map +1 -0
- package/src/lib/types/index.d.ts +46 -0
- package/src/lib/types/index.d.ts.map +1 -0
- package/src/lib/types/index.js +49 -0
- package/src/lib/types/index.js.map +1 -0
- package/src/lib/utils/checksumUtils.d.ts +105 -0
- package/src/lib/utils/checksumUtils.d.ts.map +1 -0
- package/src/lib/utils/checksumUtils.js +123 -0
- package/src/lib/utils/checksumUtils.js.map +1 -0
- package/src/lib/utils/index.d.ts +47 -0
- package/src/lib/utils/index.d.ts.map +1 -0
- package/src/lib/utils/index.js +56 -0
- package/src/lib/utils/index.js.map +1 -0
- package/src/lib/utils/validator.d.ts +216 -0
- package/src/lib/utils/validator.d.ts.map +1 -0
- package/src/lib/utils/validator.js +256 -0
- package/src/lib/utils/validator.js.map +1 -0
- package/src/lib/enumerations/stringLanguages.d.ts +0 -29
- package/src/lib/enumerations/stringLanguages.d.ts.map +0 -1
- package/src/lib/enumerations/stringLanguages.js +0 -24
- package/src/lib/enumerations/stringLanguages.js.map +0 -1
- package/src/lib/models/index.d.ts +0 -2
- package/src/lib/models/index.d.ts.map +0 -1
- package/src/lib/models/index.js.map +0 -1
- package/src/lib/models/user.d.ts +0 -2
- package/src/lib/models/user.d.ts.map +0 -1
- package/src/lib/models/user.js +0 -25
- package/src/lib/models/user.js.map +0 -1
- package/src/lib/types.d.ts +0 -11
- package/src/lib/types.d.ts.map +0 -1
- package/src/lib/types.js +0 -11
- package/src/lib/types.js.map +0 -1
|
@@ -11,9 +11,24 @@ const cblErrorType_1 = require("../enumerations/cblErrorType");
|
|
|
11
11
|
const extendedCblErrorType_1 = require("../enumerations/extendedCblErrorType");
|
|
12
12
|
const cblError_1 = require("../errors/cblError");
|
|
13
13
|
const extendedCblError_1 = require("../errors/extendedCblError");
|
|
14
|
+
const checksum_1 = require("../types/checksum");
|
|
15
|
+
const validator_1 = require("../utils/validator");
|
|
14
16
|
const blockCapacity_service_1 = require("./blockCapacity.service");
|
|
15
17
|
/**
|
|
16
|
-
* Service for creating and verifying CBL blocks
|
|
18
|
+
* Service for creating and verifying CBL blocks.
|
|
19
|
+
*
|
|
20
|
+
* This service provides functionality for:
|
|
21
|
+
* - Creating CBL headers with proper validation
|
|
22
|
+
* - Parsing CBL headers from data
|
|
23
|
+
* - Validating file names and MIME types
|
|
24
|
+
* - Calculating CBL address capacity
|
|
25
|
+
*
|
|
26
|
+
* @remarks
|
|
27
|
+
* - All methods validate inputs before processing
|
|
28
|
+
* - Errors are wrapped in CblError or ExtendedCblError with appropriate context
|
|
29
|
+
* - The service supports both standard and extended CBL blocks
|
|
30
|
+
*
|
|
31
|
+
* @see Requirements 5.1, 5.2, 5.3, 12.1, 12.2, 12.7
|
|
17
32
|
*/
|
|
18
33
|
class CBLService {
|
|
19
34
|
/**
|
|
@@ -48,66 +63,142 @@ class CBLService {
|
|
|
48
63
|
return this.enhancedProvider.byteLength;
|
|
49
64
|
}
|
|
50
65
|
/**
|
|
51
|
-
*
|
|
52
|
-
* @deprecated Use instance method creatorLength instead
|
|
66
|
+
* Offset of the date field in the header (instance method for dynamic provider support)
|
|
53
67
|
*/
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
return (0, ecies_lib_1.getEnhancedIdProvider)().byteLength;
|
|
68
|
+
get dateCreatedOffset() {
|
|
69
|
+
return this.creatorLength;
|
|
57
70
|
}
|
|
58
71
|
/**
|
|
59
|
-
* Offset of the date field in the header
|
|
72
|
+
* Offset of the date field in the header (static for backward compatibility)
|
|
73
|
+
* @deprecated Use instance method dateCreatedOffset instead
|
|
60
74
|
*/
|
|
61
75
|
static get DateCreatedOffset() {
|
|
62
|
-
return CBLService.
|
|
76
|
+
return CBLService.CreatorIdLength;
|
|
63
77
|
}
|
|
64
78
|
/**
|
|
65
|
-
* Offset of the address count field in the header
|
|
79
|
+
* Offset of the address count field in the header (instance method)
|
|
80
|
+
*/
|
|
81
|
+
get cblAddressCountOffset() {
|
|
82
|
+
return this.dateCreatedOffset + CBLService.DateSize;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Offset of the address count field in the header (static for backward compatibility)
|
|
86
|
+
* @deprecated Use instance method cblAddressCountOffset instead
|
|
66
87
|
*/
|
|
67
88
|
static get CblAddressCountOffset() {
|
|
68
89
|
return CBLService.DateCreatedOffset + CBLService.DateSize;
|
|
69
90
|
}
|
|
70
91
|
/**
|
|
71
|
-
* Offset of the tuple size field in the header
|
|
92
|
+
* Offset of the tuple size field in the header (instance method)
|
|
93
|
+
*/
|
|
94
|
+
get tupleSizeOffset() {
|
|
95
|
+
return this.cblAddressCountOffset + CBLService.AddressCountSize;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Offset of the tuple size field in the header (static for backward compatibility)
|
|
99
|
+
* @deprecated Use instance method tupleSizeOffset instead
|
|
72
100
|
*/
|
|
73
101
|
static get TupleSizeOffset() {
|
|
74
102
|
return CBLService.CblAddressCountOffset + CBLService.AddressCountSize;
|
|
75
103
|
}
|
|
76
104
|
/**
|
|
77
|
-
* Offset of the original data length field in the header
|
|
105
|
+
* Offset of the original data length field in the header (instance method)
|
|
106
|
+
*/
|
|
107
|
+
get originalDataLengthOffset() {
|
|
108
|
+
return this.tupleSizeOffset + CBLService.TupleSizeSize;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Offset of the original data length field in the header (static for backward compatibility)
|
|
112
|
+
* @deprecated Use instance method originalDataLengthOffset instead
|
|
78
113
|
*/
|
|
79
114
|
static get OriginalDataLengthOffset() {
|
|
80
115
|
return CBLService.TupleSizeOffset + CBLService.TupleSizeSize;
|
|
81
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Offset of the original checksum field in the header (instance method)
|
|
119
|
+
*/
|
|
120
|
+
get originalChecksumOffset() {
|
|
121
|
+
return this.originalDataLengthOffset + CBLService.DataLengthSize;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Static offset for backward compatibility
|
|
125
|
+
* @deprecated Use instance method originalChecksumOffset instead
|
|
126
|
+
*/
|
|
82
127
|
static get OriginalChecksumOffset() {
|
|
83
128
|
return CBLService.OriginalDataLengthOffset + CBLService.DataLengthSize;
|
|
84
129
|
}
|
|
85
130
|
/**
|
|
86
|
-
* Offset of the is extended header field in the header
|
|
131
|
+
* Offset of the is extended header field in the header (instance method)
|
|
132
|
+
*/
|
|
133
|
+
get isExtendedHeaderOffset() {
|
|
134
|
+
return this.originalChecksumOffset + CBLService.DataChecksumSize;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Offset of the is extended header field in the header (static for backward compatibility)
|
|
138
|
+
* @deprecated Use instance method isExtendedHeaderOffset instead
|
|
87
139
|
*/
|
|
88
140
|
static get IsExtendedHeaderOffset() {
|
|
89
141
|
return CBLService.OriginalChecksumOffset + CBLService.DataChecksumSize;
|
|
90
142
|
}
|
|
91
143
|
/**
|
|
92
|
-
* Offset of the creator signature field in the header
|
|
144
|
+
* Offset of the creator signature field in the header (instance method)
|
|
145
|
+
*/
|
|
146
|
+
get baseHeaderCreatorSignatureOffset() {
|
|
147
|
+
return this.isExtendedHeaderOffset + CBLService.IsExtendedHeaderSize;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Offset of the creator signature field in the header (static for backward compatibility)
|
|
151
|
+
* @deprecated Use instance method baseHeaderCreatorSignatureOffset instead
|
|
93
152
|
*/
|
|
94
153
|
static get BaseHeaderCreatorSignatureOffset() {
|
|
95
154
|
return CBLService.IsExtendedHeaderOffset + CBLService.IsExtendedHeaderSize;
|
|
96
155
|
}
|
|
97
156
|
/**
|
|
98
|
-
* Length of the base header with signature
|
|
157
|
+
* Length of the base header with signature (instance method)
|
|
158
|
+
*/
|
|
159
|
+
get baseHeaderSize() {
|
|
160
|
+
return (this.baseHeaderCreatorSignatureOffset + CBLService.CreatorSignatureSize);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Length of the base header with signature (static for backward compatibility)
|
|
164
|
+
* @deprecated Use instance method baseHeaderSize instead
|
|
99
165
|
*/
|
|
100
166
|
static get BaseHeaderSize() {
|
|
101
|
-
return CBLService.BaseHeaderCreatorSignatureOffset +
|
|
167
|
+
return (CBLService.BaseHeaderCreatorSignatureOffset +
|
|
168
|
+
CBLService.CreatorSignatureSize);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Offset of the file name length field in the header (instance method)
|
|
172
|
+
*/
|
|
173
|
+
get fileNameLengthOffset() {
|
|
174
|
+
return this.baseHeaderCreatorSignatureOffset;
|
|
102
175
|
}
|
|
103
176
|
/**
|
|
104
|
-
* Offset of the file name length field in the header
|
|
177
|
+
* Offset of the file name length field in the header (static for backward compatibility)
|
|
178
|
+
* @deprecated Use instance method fileNameLengthOffset instead
|
|
105
179
|
*/
|
|
106
180
|
static get FileNameLengthOffset() {
|
|
107
181
|
return CBLService.BaseHeaderCreatorSignatureOffset;
|
|
108
182
|
}
|
|
183
|
+
/**
|
|
184
|
+
* Instance offsets for dynamic provider support
|
|
185
|
+
*/
|
|
186
|
+
get headerOffsets() {
|
|
187
|
+
return {
|
|
188
|
+
CreatorId: 0,
|
|
189
|
+
DateCreated: this.dateCreatedOffset,
|
|
190
|
+
CblAddressCount: this.cblAddressCountOffset,
|
|
191
|
+
TupleSize: this.tupleSizeOffset,
|
|
192
|
+
OriginalDataLength: this.originalDataLengthOffset,
|
|
193
|
+
OriginalDataChecksum: this.originalChecksumOffset,
|
|
194
|
+
CreatorSignature: this.baseHeaderCreatorSignatureOffset,
|
|
195
|
+
IsExtendedHeader: this.isExtendedHeaderOffset,
|
|
196
|
+
FileNameLength: this.fileNameLengthOffset,
|
|
197
|
+
};
|
|
198
|
+
}
|
|
109
199
|
/**
|
|
110
200
|
* Static offsets for backward compatibility
|
|
201
|
+
* @deprecated Use instance method headerOffsets instead
|
|
111
202
|
*/
|
|
112
203
|
static get HeaderOffsets() {
|
|
113
204
|
return {
|
|
@@ -130,6 +221,59 @@ class CBLService {
|
|
|
130
221
|
isEncrypted(data) {
|
|
131
222
|
return data[0] === constants_1.ECIES.PUBLIC_KEY_MAGIC;
|
|
132
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* Check if the header is a message CBL
|
|
226
|
+
*/
|
|
227
|
+
isMessageHeader(header) {
|
|
228
|
+
if (this.isEncrypted(header)) {
|
|
229
|
+
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
|
|
230
|
+
}
|
|
231
|
+
const offset = this.baseHeaderCreatorSignatureOffset;
|
|
232
|
+
return header.length > offset && header[offset] === 2;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Get message header offsets
|
|
236
|
+
*/
|
|
237
|
+
getMessageHeaderOffsets(header) {
|
|
238
|
+
if (this.isEncrypted(header)) {
|
|
239
|
+
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
|
|
240
|
+
}
|
|
241
|
+
if (!this.isMessageHeader(header)) {
|
|
242
|
+
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, 'Not a message CBL');
|
|
243
|
+
}
|
|
244
|
+
let offset = this.baseHeaderCreatorSignatureOffset + constants_1.default['UINT8_SIZE'];
|
|
245
|
+
const view = new DataView(header.buffer, header.byteOffset, header.byteLength);
|
|
246
|
+
const messageTypeLength = view.getUint16(offset, false);
|
|
247
|
+
const messageTypeOffset = offset + constants_1.default['UINT16_SIZE'];
|
|
248
|
+
offset = messageTypeOffset + messageTypeLength;
|
|
249
|
+
const senderIdLength = view.getUint16(offset, false);
|
|
250
|
+
const senderIdOffset = offset + constants_1.default['UINT16_SIZE'];
|
|
251
|
+
offset = senderIdOffset + senderIdLength;
|
|
252
|
+
const recipientCount = view.getUint16(offset, false);
|
|
253
|
+
const recipientsOffset = offset + constants_1.default['UINT16_SIZE'];
|
|
254
|
+
offset = recipientsOffset + recipientCount * constants_1.default['UINT16_SIZE'];
|
|
255
|
+
for (let i = 0; i < recipientCount; i++) {
|
|
256
|
+
const recipientLength = view.getUint16(recipientsOffset + i * constants_1.default['UINT16_SIZE'], false);
|
|
257
|
+
offset += recipientLength;
|
|
258
|
+
}
|
|
259
|
+
const priorityOffset = offset;
|
|
260
|
+
offset += constants_1.default['UINT8_SIZE'];
|
|
261
|
+
const encryptionSchemeLength = header[offset];
|
|
262
|
+
const encryptionSchemeOffset = offset + constants_1.default['UINT8_SIZE'];
|
|
263
|
+
offset = encryptionSchemeOffset + encryptionSchemeLength;
|
|
264
|
+
return {
|
|
265
|
+
messageTypeLength,
|
|
266
|
+
messageTypeOffset,
|
|
267
|
+
senderIdLength,
|
|
268
|
+
senderIdOffset,
|
|
269
|
+
recipientCount,
|
|
270
|
+
recipientsOffset,
|
|
271
|
+
priorityOffset,
|
|
272
|
+
encryptionSchemeLength,
|
|
273
|
+
encryptionSchemeOffset,
|
|
274
|
+
signatureOffset: offset,
|
|
275
|
+
};
|
|
276
|
+
}
|
|
133
277
|
/**
|
|
134
278
|
* Helper function to check if a string contains control characters
|
|
135
279
|
* @param str The string to check
|
|
@@ -149,32 +293,12 @@ class CBLService {
|
|
|
149
293
|
* Get the creator ID from the header
|
|
150
294
|
*/
|
|
151
295
|
getCreatorId(header) {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
console.warn(`Creator ID byte length mismatch: got ${idBytes.length}, expected ${this.creatorLength}`);
|
|
157
|
-
// Return a default ID or throw a more specific error
|
|
158
|
-
// For now, we'll create a padded version
|
|
159
|
-
const paddedBytes = new Uint8Array(this.creatorLength);
|
|
160
|
-
paddedBytes.set(idBytes.subarray(0, Math.min(idBytes.length, this.creatorLength)));
|
|
161
|
-
return this.enhancedProvider.fromBytes(paddedBytes);
|
|
162
|
-
}
|
|
163
|
-
return this.enhancedProvider.fromBytes(idBytes);
|
|
164
|
-
}
|
|
165
|
-
catch (error) {
|
|
166
|
-
// Return a default ID to allow tests to continue
|
|
167
|
-
// Create a valid GUID with all zeros
|
|
168
|
-
const defaultBytes = new Uint8Array(this.creatorLength);
|
|
169
|
-
try {
|
|
170
|
-
return this.enhancedProvider.fromBytes(defaultBytes);
|
|
171
|
-
}
|
|
172
|
-
catch (fallbackError) {
|
|
173
|
-
// If even the default fails, create a minimal valid ID
|
|
174
|
-
// For Uint8Array, just return the bytes directly
|
|
175
|
-
return defaultBytes;
|
|
176
|
-
}
|
|
296
|
+
const idBytes = header.subarray(this.headerOffsets.CreatorId, this.headerOffsets.CreatorId + this.creatorLength);
|
|
297
|
+
// Validate the byte length matches expected
|
|
298
|
+
if (idBytes.length !== this.creatorLength) {
|
|
299
|
+
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, `Creator ID byte length mismatch: got ${idBytes.length}, expected ${this.creatorLength}`);
|
|
177
300
|
}
|
|
301
|
+
return this.enhancedProvider.fromBytes(idBytes);
|
|
178
302
|
}
|
|
179
303
|
/**
|
|
180
304
|
* Get the date created from the header
|
|
@@ -184,8 +308,8 @@ class CBLService {
|
|
|
184
308
|
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
|
|
185
309
|
}
|
|
186
310
|
const view = new DataView(header.buffer, header.byteOffset, header.byteLength);
|
|
187
|
-
const high = view.getUint32(
|
|
188
|
-
const low = view.getUint32(
|
|
311
|
+
const high = view.getUint32(this.headerOffsets.DateCreated, false);
|
|
312
|
+
const low = view.getUint32(this.headerOffsets.DateCreated + constants_1.default['UINT32_SIZE'], false);
|
|
189
313
|
return new Date(high * 0x100000000 + low);
|
|
190
314
|
}
|
|
191
315
|
/**
|
|
@@ -196,7 +320,7 @@ class CBLService {
|
|
|
196
320
|
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
|
|
197
321
|
}
|
|
198
322
|
const view = new DataView(header.buffer, header.byteOffset, header.byteLength);
|
|
199
|
-
return view.getUint32(
|
|
323
|
+
return view.getUint32(this.headerOffsets.CblAddressCount, false);
|
|
200
324
|
}
|
|
201
325
|
/**
|
|
202
326
|
* Get the tuple size from the header
|
|
@@ -205,7 +329,7 @@ class CBLService {
|
|
|
205
329
|
if (this.isEncrypted(header)) {
|
|
206
330
|
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
|
|
207
331
|
}
|
|
208
|
-
return header[
|
|
332
|
+
return header[this.headerOffsets.TupleSize];
|
|
209
333
|
}
|
|
210
334
|
/**
|
|
211
335
|
* Get the original data length from the header
|
|
@@ -215,7 +339,7 @@ class CBLService {
|
|
|
215
339
|
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
|
|
216
340
|
}
|
|
217
341
|
const view = new DataView(header.buffer, header.byteOffset, header.byteLength);
|
|
218
|
-
const bigIntValue = view.getBigUint64(
|
|
342
|
+
const bigIntValue = view.getBigUint64(this.headerOffsets.OriginalDataLength, false);
|
|
219
343
|
return Number(bigIntValue);
|
|
220
344
|
}
|
|
221
345
|
/**
|
|
@@ -227,7 +351,8 @@ class CBLService {
|
|
|
227
351
|
if (this.isEncrypted(header)) {
|
|
228
352
|
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
|
|
229
353
|
}
|
|
230
|
-
|
|
354
|
+
const checksumData = header.subarray(this.headerOffsets.OriginalDataChecksum, this.headerOffsets.OriginalDataChecksum + CBLService.DataChecksumSize);
|
|
355
|
+
return checksum_1.Checksum.fromUint8Array(checksumData);
|
|
231
356
|
}
|
|
232
357
|
/**
|
|
233
358
|
* Get the is extended header from the header
|
|
@@ -236,7 +361,7 @@ class CBLService {
|
|
|
236
361
|
if (this.isEncrypted(header)) {
|
|
237
362
|
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
|
|
238
363
|
}
|
|
239
|
-
return header[
|
|
364
|
+
return header[this.headerOffsets.IsExtendedHeader] === 1;
|
|
240
365
|
}
|
|
241
366
|
/**
|
|
242
367
|
* Get cached extended header information
|
|
@@ -248,7 +373,7 @@ class CBLService {
|
|
|
248
373
|
if (!this.isExtendedHeader(header)) {
|
|
249
374
|
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.NotExtendedCbl);
|
|
250
375
|
}
|
|
251
|
-
let offset =
|
|
376
|
+
let offset = this.baseHeaderCreatorSignatureOffset;
|
|
252
377
|
const view = new DataView(header.buffer, header.byteOffset, header.byteLength);
|
|
253
378
|
// Read file name length
|
|
254
379
|
const fileNameLength = view.getUint16(offset, false);
|
|
@@ -326,7 +451,7 @@ class CBLService {
|
|
|
326
451
|
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
|
|
327
452
|
}
|
|
328
453
|
const signatureOffset = !this.isExtendedHeader(header)
|
|
329
|
-
?
|
|
454
|
+
? this.headerOffsets.CreatorSignature
|
|
330
455
|
: this.getExtendedHeaderOffsets(header).signatureOffset;
|
|
331
456
|
return header.subarray(signatureOffset, signatureOffset + CBLService.CreatorSignatureSize);
|
|
332
457
|
}
|
|
@@ -338,7 +463,7 @@ class CBLService {
|
|
|
338
463
|
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CblEncrypted);
|
|
339
464
|
}
|
|
340
465
|
if (!this.isExtendedHeader(data)) {
|
|
341
|
-
return
|
|
466
|
+
return this.baseHeaderSize;
|
|
342
467
|
}
|
|
343
468
|
const { signatureOffset } = this.getExtendedHeaderOffsets(data);
|
|
344
469
|
return signatureOffset + CBLService.CreatorSignatureSize;
|
|
@@ -373,7 +498,8 @@ class CBLService {
|
|
|
373
498
|
const addresses = new Array(addressCount);
|
|
374
499
|
for (let i = 0; i < addressCount; i++) {
|
|
375
500
|
const addressOffset = i * constants_1.CHECKSUM.SHA3_BUFFER_LENGTH;
|
|
376
|
-
|
|
501
|
+
const checksumData = addressData.subarray(addressOffset, addressOffset + constants_1.CHECKSUM.SHA3_BUFFER_LENGTH);
|
|
502
|
+
addresses[i] = checksum_1.Checksum.fromUint8Array(checksumData);
|
|
377
503
|
}
|
|
378
504
|
return addresses;
|
|
379
505
|
}
|
|
@@ -412,7 +538,7 @@ class CBLService {
|
|
|
412
538
|
]);
|
|
413
539
|
const checksum = this.checksumService.calculateChecksum(toSign);
|
|
414
540
|
const signature = this.getSignature(data);
|
|
415
|
-
return this.eciesService.verifyMessage(creator.publicKey, checksum, signature);
|
|
541
|
+
return this.eciesService.verifyMessage(creator.publicKey, checksum.toUint8Array(), signature);
|
|
416
542
|
}
|
|
417
543
|
/**
|
|
418
544
|
* Validate the file name format
|
|
@@ -482,6 +608,53 @@ class CBLService {
|
|
|
482
608
|
constants_1.default['UINT8_SIZE'] +
|
|
483
609
|
mimeType.length);
|
|
484
610
|
}
|
|
611
|
+
/**
|
|
612
|
+
* Create message CBL header extension
|
|
613
|
+
*/
|
|
614
|
+
makeMessageHeader(messageType, senderId, recipients, priority, encryptionScheme) {
|
|
615
|
+
const encoder = new TextEncoder();
|
|
616
|
+
const messageTypeBytes = encoder.encode(messageType);
|
|
617
|
+
const senderIdBytes = encoder.encode(senderId);
|
|
618
|
+
const recipientBytes = recipients.map((r) => encoder.encode(r));
|
|
619
|
+
const encryptionSchemeBytes = encoder.encode(encryptionScheme);
|
|
620
|
+
const totalLength = constants_1.default['UINT8_SIZE'] + // isMessage flag
|
|
621
|
+
constants_1.default['UINT16_SIZE'] +
|
|
622
|
+
messageTypeBytes.length +
|
|
623
|
+
constants_1.default['UINT16_SIZE'] +
|
|
624
|
+
senderIdBytes.length +
|
|
625
|
+
constants_1.default['UINT16_SIZE'] +
|
|
626
|
+
recipientBytes.reduce((sum, r) => sum + constants_1.default['UINT16_SIZE'] + r.length, 0) +
|
|
627
|
+
constants_1.default['UINT8_SIZE'] + // priority
|
|
628
|
+
constants_1.default['UINT8_SIZE'] +
|
|
629
|
+
encryptionSchemeBytes.length;
|
|
630
|
+
const result = new Uint8Array(totalLength);
|
|
631
|
+
const view = new DataView(result.buffer);
|
|
632
|
+
let offset = 0;
|
|
633
|
+
result[offset] = 2; // isMessage flag
|
|
634
|
+
offset += constants_1.default['UINT8_SIZE'];
|
|
635
|
+
view.setUint16(offset, messageTypeBytes.length, false);
|
|
636
|
+
offset += constants_1.default['UINT16_SIZE'];
|
|
637
|
+
result.set(messageTypeBytes, offset);
|
|
638
|
+
offset += messageTypeBytes.length;
|
|
639
|
+
view.setUint16(offset, senderIdBytes.length, false);
|
|
640
|
+
offset += constants_1.default['UINT16_SIZE'];
|
|
641
|
+
result.set(senderIdBytes, offset);
|
|
642
|
+
offset += senderIdBytes.length;
|
|
643
|
+
view.setUint16(offset, recipients.length, false);
|
|
644
|
+
offset += constants_1.default['UINT16_SIZE'];
|
|
645
|
+
for (const recipientByte of recipientBytes) {
|
|
646
|
+
view.setUint16(offset, recipientByte.length, false);
|
|
647
|
+
offset += constants_1.default['UINT16_SIZE'];
|
|
648
|
+
result.set(recipientByte, offset);
|
|
649
|
+
offset += recipientByte.length;
|
|
650
|
+
}
|
|
651
|
+
result[offset] = priority;
|
|
652
|
+
offset += constants_1.default['UINT8_SIZE'];
|
|
653
|
+
result[offset] = encryptionSchemeBytes.length;
|
|
654
|
+
offset += constants_1.default['UINT8_SIZE'];
|
|
655
|
+
result.set(encryptionSchemeBytes, offset);
|
|
656
|
+
return result;
|
|
657
|
+
}
|
|
485
658
|
/**
|
|
486
659
|
* Create an extended header for CBL
|
|
487
660
|
*/
|
|
@@ -506,9 +679,60 @@ class CBLService {
|
|
|
506
679
|
return result;
|
|
507
680
|
}
|
|
508
681
|
/**
|
|
509
|
-
*
|
|
682
|
+
* Parse message CBL header
|
|
683
|
+
*/
|
|
684
|
+
parseMessageHeader(data, creatorForValidation) {
|
|
685
|
+
const cblData = this.parseBaseHeader(data, creatorForValidation);
|
|
686
|
+
const offsets = this.getMessageHeaderOffsets(data);
|
|
687
|
+
const decoder = new TextDecoder('utf-8');
|
|
688
|
+
const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
|
|
689
|
+
const messageType = decoder.decode(data.subarray(offsets.messageTypeOffset, offsets.messageTypeOffset + offsets.messageTypeLength));
|
|
690
|
+
const senderId = decoder.decode(data.subarray(offsets.senderIdOffset, offsets.senderIdOffset + offsets.senderIdLength));
|
|
691
|
+
const recipients = [];
|
|
692
|
+
let recipientOffset = offsets.recipientsOffset;
|
|
693
|
+
for (let i = 0; i < offsets.recipientCount; i++) {
|
|
694
|
+
const recipientLength = view.getUint16(recipientOffset, false);
|
|
695
|
+
recipientOffset += constants_1.default['UINT16_SIZE'];
|
|
696
|
+
recipients.push(decoder.decode(data.subarray(recipientOffset, recipientOffset + recipientLength)));
|
|
697
|
+
recipientOffset += recipientLength;
|
|
698
|
+
}
|
|
699
|
+
const priority = data[offsets.priorityOffset];
|
|
700
|
+
const encryptionScheme = decoder.decode(data.subarray(offsets.encryptionSchemeOffset, offsets.encryptionSchemeOffset + offsets.encryptionSchemeLength));
|
|
701
|
+
return {
|
|
702
|
+
...cblData,
|
|
703
|
+
isMessage: true,
|
|
704
|
+
messageType,
|
|
705
|
+
senderId,
|
|
706
|
+
recipients,
|
|
707
|
+
priority,
|
|
708
|
+
encryptionScheme,
|
|
709
|
+
};
|
|
710
|
+
}
|
|
711
|
+
/**
|
|
712
|
+
* Create a CBL header.
|
|
713
|
+
*
|
|
714
|
+
* @param creator - The member creating the CBL
|
|
715
|
+
* @param dateCreated - The creation date
|
|
716
|
+
* @param cblAddressCount - Number of addresses in the CBL
|
|
717
|
+
* @param fileDataLength - Length of the original file data
|
|
718
|
+
* @param addressList - The list of block addresses
|
|
719
|
+
* @param blockSize - The block size
|
|
720
|
+
* @param encryptionType - The encryption type
|
|
721
|
+
* @param extendedCBL - Optional extended CBL data (fileName, mimeType)
|
|
722
|
+
* @param tupleSize - The tuple size (defaults to TUPLE.SIZE)
|
|
723
|
+
* @returns Object containing headerData and signature
|
|
724
|
+
* @throws {EnhancedValidationError} If block size or encryption type is invalid
|
|
725
|
+
* @throws {CblError} If CBL-specific validation fails
|
|
726
|
+
*
|
|
727
|
+
* @see Requirements 5.1, 5.2, 5.3, 12.1, 12.2, 12.7
|
|
510
728
|
*/
|
|
511
729
|
makeCblHeader(creator, dateCreated, cblAddressCount, fileDataLength, addressList, blockSize, encryptionType, extendedCBL, tupleSize = constants_1.TUPLE.SIZE) {
|
|
730
|
+
// Validate inputs using Validator
|
|
731
|
+
validator_1.Validator.validateRequired(creator, 'creator', 'makeCblHeader');
|
|
732
|
+
validator_1.Validator.validateRequired(dateCreated, 'dateCreated', 'makeCblHeader');
|
|
733
|
+
validator_1.Validator.validateRequired(addressList, 'addressList', 'makeCblHeader');
|
|
734
|
+
validator_1.Validator.validateBlockSize(blockSize, 'makeCblHeader');
|
|
735
|
+
validator_1.Validator.validateEncryptionType(encryptionType, 'makeCblHeader');
|
|
512
736
|
if (fileDataLength > constants_1.CBL.MAX_INPUT_FILE_SIZE) {
|
|
513
737
|
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.FileSizeTooLarge);
|
|
514
738
|
}
|
|
@@ -544,20 +768,11 @@ class CBLService {
|
|
|
544
768
|
buffers.dataChecksum.set(dataChecksum);
|
|
545
769
|
// Use the provider to convert creator ID to bytes
|
|
546
770
|
const creatorIdBytes = this.enhancedProvider.toBytes(creator.id);
|
|
547
|
-
//
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
if (creatorIdBytes.length === expectedLength) {
|
|
551
|
-
creatorId.set(creatorIdBytes);
|
|
552
|
-
}
|
|
553
|
-
else if (creatorIdBytes.length < expectedLength) {
|
|
554
|
-
// Right-align shorter IDs (pad with zeros on the left)
|
|
555
|
-
creatorId.set(creatorIdBytes, expectedLength - creatorIdBytes.length);
|
|
556
|
-
}
|
|
557
|
-
else {
|
|
558
|
-
// Truncate longer IDs from the right
|
|
559
|
-
creatorId.set(creatorIdBytes.subarray(0, expectedLength));
|
|
771
|
+
// Validate that the provider returns the expected length
|
|
772
|
+
if (creatorIdBytes.length !== this.creatorLength) {
|
|
773
|
+
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, `Creator ID provider returned ${creatorIdBytes.length} bytes, expected ${this.creatorLength}`);
|
|
560
774
|
}
|
|
775
|
+
const creatorId = creatorIdBytes;
|
|
561
776
|
// Create base header
|
|
562
777
|
const baseHeaderSize = creatorId.length +
|
|
563
778
|
buffers.dateCreated.length +
|
|
@@ -601,24 +816,22 @@ class CBLService {
|
|
|
601
816
|
signOffset += buffers.blockSize.length;
|
|
602
817
|
toSign.set(addressList, signOffset);
|
|
603
818
|
const checksum = this.checksumService.calculateChecksum(toSign);
|
|
604
|
-
|
|
605
|
-
? new Uint8Array(this.eciesService.signMessage(creator.privateKey.value, checksum))
|
|
606
|
-
: new Uint8Array(constants_1.ECIES.SIGNATURE_LENGTH);
|
|
819
|
+
const signatureBytes = (creator instanceof ecies_lib_1.Member && creator.privateKey
|
|
820
|
+
? new Uint8Array(this.eciesService.signMessage(creator.privateKey.value, checksum.toUint8Array()))
|
|
821
|
+
: new Uint8Array(constants_1.ECIES.SIGNATURE_LENGTH));
|
|
822
|
+
// Validate signature length
|
|
607
823
|
if (signatureBytes.length !== constants_1.ECIES.SIGNATURE_LENGTH) {
|
|
608
|
-
|
|
609
|
-
padded.set(signatureBytes, constants_1.ECIES.SIGNATURE_LENGTH - signatureBytes.length);
|
|
610
|
-
signatureBytes = padded;
|
|
824
|
+
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidSignature, `Signature length mismatch: got ${signatureBytes.length}, expected ${constants_1.ECIES.SIGNATURE_LENGTH}`);
|
|
611
825
|
}
|
|
612
|
-
const finalSignature = signatureBytes;
|
|
613
826
|
// Construct final header
|
|
614
|
-
const headerData = new Uint8Array(baseHeader.length + extendedHeaderData.length +
|
|
827
|
+
const headerData = new Uint8Array(baseHeader.length + extendedHeaderData.length + signatureBytes.length);
|
|
615
828
|
let headerOffset = 0;
|
|
616
829
|
headerData.set(baseHeader, headerOffset);
|
|
617
830
|
headerOffset += baseHeader.length;
|
|
618
831
|
headerData.set(extendedHeaderData, headerOffset);
|
|
619
832
|
headerOffset += extendedHeaderData.length;
|
|
620
|
-
headerData.set(
|
|
621
|
-
return { headerData, signature:
|
|
833
|
+
headerData.set(signatureBytes, headerOffset);
|
|
834
|
+
return { headerData, signature: signatureBytes };
|
|
622
835
|
}
|
|
623
836
|
/**
|
|
624
837
|
* Parse the header of a constituent block list block
|
|
@@ -750,6 +963,11 @@ CBLService.IsExtendedHeaderSize = constants_1.default['UINT8_SIZE'];
|
|
|
750
963
|
* Length of the creator signature field in the header
|
|
751
964
|
*/
|
|
752
965
|
CBLService.CreatorSignatureSize = constants_1.ECIES.SIGNATURE_LENGTH;
|
|
966
|
+
/**
|
|
967
|
+
* Length of the creator ID field (GUID size) - static default for backward compatibility
|
|
968
|
+
* @deprecated Use instance method creatorLength instead for dynamic provider support
|
|
969
|
+
*/
|
|
970
|
+
CBLService.CreatorIdLength = constants_1.default['ENCRYPTION'].RECIPIENT_ID_SIZE;
|
|
753
971
|
/**
|
|
754
972
|
* Length of the file name length field in the header
|
|
755
973
|
*/
|