@brightchain/brightchain-lib 0.8.1 → 0.10.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/brightchain-lib/BLOCK_COVERAGE_AUDIT.md +169 -0
- package/package.json +2 -2
- package/src/browser.d.ts +1 -4
- package/src/browser.d.ts.map +1 -1
- package/src/browser.js +6 -9
- package/src/browser.js.map +1 -1
- package/src/lib/blockMetadata.d.ts +10 -9
- package/src/lib/blockMetadata.d.ts.map +1 -1
- package/src/lib/blockMetadata.js +20 -36
- package/src/lib/blockMetadata.js.map +1 -1
- package/src/lib/blocks/base.d.ts +23 -0
- package/src/lib/blocks/base.d.ts.map +1 -1
- package/src/lib/blocks/base.js +33 -15
- package/src/lib/blocks/base.js.map +1 -1
- package/src/lib/blocks/cbl.d.ts +34 -1
- package/src/lib/blocks/cbl.d.ts.map +1 -1
- package/src/lib/blocks/cbl.js +36 -3
- package/src/lib/blocks/cbl.js.map +1 -1
- package/src/lib/blocks/cblBase.d.ts +45 -1
- package/src/lib/blocks/cblBase.d.ts.map +1 -1
- package/src/lib/blocks/cblBase.js +106 -52
- package/src/lib/blocks/cblBase.js.map +1 -1
- package/src/lib/blocks/encrypted.d.ts +34 -5
- package/src/lib/blocks/encrypted.d.ts.map +1 -1
- package/src/lib/blocks/encrypted.js +129 -24
- package/src/lib/blocks/encrypted.js.map +1 -1
- package/src/lib/blocks/encryptedBlockFactory.js +2 -2
- package/src/lib/blocks/encryptedBlockFactory.js.map +1 -1
- package/src/lib/blocks/ephemeral.d.ts +35 -9
- package/src/lib/blocks/ephemeral.d.ts.map +1 -1
- package/src/lib/blocks/ephemeral.js +71 -42
- package/src/lib/blocks/ephemeral.js.map +1 -1
- package/src/lib/blocks/extendedCbl.d.ts +1 -1
- package/src/lib/blocks/extendedCbl.d.ts.map +1 -1
- package/src/lib/blocks/extendedCbl.js +7 -7
- package/src/lib/blocks/extendedCbl.js.map +1 -1
- package/src/lib/blocks/handle.js +2 -2
- package/src/lib/blocks/handle.js.map +1 -1
- package/src/lib/blocks/handleTuple.js +2 -2
- package/src/lib/blocks/handleTuple.js.map +1 -1
- package/src/lib/blocks/random.d.ts +2 -1
- package/src/lib/blocks/random.d.ts.map +1 -1
- package/src/lib/blocks/random.js +7 -4
- package/src/lib/blocks/random.js.map +1 -1
- package/src/lib/blocks/rawData.d.ts +3 -1
- package/src/lib/blocks/rawData.d.ts.map +1 -1
- package/src/lib/blocks/rawData.js +31 -6
- package/src/lib/blocks/rawData.js.map +1 -1
- package/src/lib/blocks/whitened.d.ts +2 -1
- package/src/lib/blocks/whitened.d.ts.map +1 -1
- package/src/lib/blocks/whitened.js +7 -5
- package/src/lib/blocks/whitened.js.map +1 -1
- package/src/lib/config/constants.d.ts +2 -0
- package/src/lib/config/constants.d.ts.map +1 -0
- package/src/lib/config/constants.js +5 -0
- package/src/lib/config/constants.js.map +1 -0
- package/src/lib/constants.d.ts +37 -0
- package/src/lib/constants.d.ts.map +1 -1
- package/src/lib/constants.js +40 -1
- package/src/lib/constants.js.map +1 -1
- package/src/lib/cpus/index.d.ts +2 -3
- package/src/lib/cpus/index.d.ts.map +1 -1
- package/src/lib/cpus/index.js +5 -0
- package/src/lib/cpus/index.js.map +1 -1
- package/src/lib/cpus/instructionFactory.d.ts +56 -0
- package/src/lib/cpus/instructionFactory.d.ts.map +1 -0
- package/src/lib/cpus/instructionFactory.js +190 -0
- package/src/lib/cpus/instructionFactory.js.map +1 -0
- package/src/lib/cpus/instructionTables.d.ts +14 -12
- package/src/lib/cpus/instructionTables.d.ts.map +1 -1
- package/src/lib/cpus/instructionTables.js +17 -147
- package/src/lib/cpus/instructionTables.js.map +1 -1
- package/src/lib/cpus/riscvCpu.d.ts +51 -0
- package/src/lib/cpus/riscvCpu.d.ts.map +1 -0
- package/src/lib/cpus/riscvCpu.js +131 -0
- package/src/lib/cpus/riscvCpu.js.map +1 -0
- package/src/lib/documents/base/document.d.ts +1 -1
- package/src/lib/documents/base/document.d.ts.map +1 -1
- package/src/lib/documents/member/index.d.ts +2 -0
- package/src/lib/documents/member/index.d.ts.map +1 -1
- package/src/lib/documents/member/index.js +2 -0
- package/src/lib/documents/member/index.js.map +1 -1
- package/src/lib/documents/member/memberDocument.d.ts +4 -3
- package/src/lib/documents/member/memberDocument.d.ts.map +1 -1
- package/src/lib/documents/member/memberDocument.js +11 -8
- 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 +7 -21
- 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 +2 -2
- package/src/lib/documents/member/memberOperational.js.map +1 -1
- package/src/lib/documents/member/memberProfileDocument.d.ts +138 -0
- package/src/lib/documents/member/memberProfileDocument.d.ts.map +1 -0
- package/src/lib/documents/member/memberProfileDocument.js +326 -0
- package/src/lib/documents/member/memberProfileDocument.js.map +1 -0
- package/src/lib/documents/member/memberProfileHydration.d.ts +12 -0
- package/src/lib/documents/member/memberProfileHydration.d.ts.map +1 -0
- package/src/lib/documents/member/memberProfileHydration.js +143 -0
- package/src/lib/documents/member/memberProfileHydration.js.map +1 -0
- package/src/lib/documents/network/networkDocument.d.ts.map +1 -1
- package/src/lib/documents/network/networkDocument.js +4 -3
- package/src/lib/documents/network/networkDocument.js.map +1 -1
- package/src/lib/documents/quorumDocument.d.ts +3 -14
- package/src/lib/documents/quorumDocument.d.ts.map +1 -1
- package/src/lib/documents/quorumDocument.js +4 -2
- package/src/lib/documents/quorumDocument.js.map +1 -1
- package/src/lib/encryptedBlockMetadata.d.ts +13 -5
- package/src/lib/encryptedBlockMetadata.d.ts.map +1 -1
- package/src/lib/encryptedBlockMetadata.js +31 -23
- package/src/lib/encryptedBlockMetadata.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 +15 -15
- package/src/lib/enumerations/blockSize.js.map +1 -1
- package/src/lib/enumerations/{stringNames.d.ts → brightChainStrings.d.ts} +4 -3
- package/src/lib/enumerations/brightChainStrings.d.ts.map +1 -0
- package/src/lib/enumerations/brightChainStrings.js +437 -0
- package/src/lib/enumerations/brightChainStrings.js.map +1 -0
- package/src/lib/enumerations/cblErrorType.d.ts +1 -0
- package/src/lib/enumerations/cblErrorType.d.ts.map +1 -1
- package/src/lib/enumerations/cblErrorType.js +1 -0
- package/src/lib/enumerations/cblErrorType.js.map +1 -1
- package/src/lib/enumerations/index.d.ts +1 -1
- package/src/lib/enumerations/index.d.ts.map +1 -1
- package/src/lib/enumerations/index.js +1 -1
- package/src/lib/enumerations/index.js.map +1 -1
- 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 +11 -11
- package/src/lib/enumerations/votingDerivationErrorType.js.map +1 -1
- package/src/lib/ephemeralBlockMetadata.d.ts +13 -8
- package/src/lib/ephemeralBlockMetadata.d.ts.map +1 -1
- package/src/lib/ephemeralBlockMetadata.js +27 -19
- package/src/lib/ephemeralBlockMetadata.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 +8 -8
- 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 +8 -8
- 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 +16 -16
- 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 +8 -8
- 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 +36 -36
- package/src/lib/errors/block/blockValidation.js.map +1 -1
- package/src/lib/errors/block/cannotDecrypt.d.ts.map +1 -1
- package/src/lib/errors/block/cannotDecrypt.js +2 -2
- package/src/lib/errors/block/cannotDecrypt.js.map +1 -1
- package/src/lib/errors/block/cannotEncrypt.d.ts.map +1 -1
- package/src/lib/errors/block/cannotEncrypt.js +2 -2
- package/src/lib/errors/block/cannotEncrypt.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 +15 -15
- package/src/lib/errors/blockServiceError.js.map +1 -1
- package/src/lib/errors/bufferError.d.ts.map +1 -1
- package/src/lib/errors/bufferError.js +2 -2
- 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 +37 -36
- package/src/lib/errors/cblError.js.map +1 -1
- package/src/lib/errors/checksumMismatch.js +2 -2
- package/src/lib/errors/checksumMismatch.js.map +1 -1
- package/src/lib/errors/disposed.js +2 -2
- 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 +5 -5
- package/src/lib/errors/document.js.map +1 -1
- package/src/lib/errors/eciesError.d.ts +2 -2
- package/src/lib/errors/eciesError.d.ts.map +1 -1
- package/src/lib/errors/eciesError.js +20 -20
- package/src/lib/errors/eciesError.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 +25 -25
- package/src/lib/errors/extendedCblError.js.map +1 -1
- package/src/lib/errors/failedToHydrate.js +2 -2
- package/src/lib/errors/failedToHydrate.js.map +1 -1
- package/src/lib/errors/failedToSerialize.js +2 -2
- package/src/lib/errors/failedToSerialize.js.map +1 -1
- package/src/lib/errors/fecError.d.ts +2 -2
- package/src/lib/errors/fecError.d.ts.map +1 -1
- package/src/lib/errors/fecError.js +19 -19
- 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 +5 -5
- package/src/lib/errors/handleTupleError.js.map +1 -1
- package/src/lib/errors/index.d.ts +0 -6
- package/src/lib/errors/index.d.ts.map +1 -1
- package/src/lib/errors/index.js +0 -9
- package/src/lib/errors/index.js.map +1 -1
- package/src/lib/errors/invalidBlockSize.js +2 -2
- package/src/lib/errors/invalidBlockSize.js.map +1 -1
- package/src/lib/errors/invalidBlockSizeLength.js +2 -2
- package/src/lib/errors/invalidBlockSizeLength.js.map +1 -1
- package/src/lib/errors/invalidCredentials.js +2 -2
- package/src/lib/errors/invalidCredentials.js.map +1 -1
- package/src/lib/errors/invalidIDFormat.js +2 -2
- package/src/lib/errors/invalidIDFormat.js.map +1 -1
- package/src/lib/errors/invalidSessionID.js +2 -2
- package/src/lib/errors/invalidSessionID.js.map +1 -1
- package/src/lib/errors/invalidTupleCount.js +2 -2
- package/src/lib/errors/invalidTupleCount.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 +7 -7
- package/src/lib/errors/isolatedKeyError.js.map +1 -1
- package/src/lib/errors/memberError.d.ts +2 -2
- package/src/lib/errors/memberError.d.ts.map +1 -1
- package/src/lib/errors/memberError.js +27 -27
- 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 +7 -7
- package/src/lib/errors/memoryTupleError.js.map +1 -1
- package/src/lib/errors/metadataMismatch.js +2 -2
- package/src/lib/errors/metadataMismatch.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 +11 -11
- package/src/lib/errors/multiEncryptedError.js.map +1 -1
- package/src/lib/errors/notImplemented.js +2 -2
- 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 +8 -8
- 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 +9 -9
- package/src/lib/errors/sealingError.js.map +1 -1
- package/src/lib/errors/secureStorage.d.ts +2 -2
- package/src/lib/errors/secureStorage.d.ts.map +1 -1
- package/src/lib/errors/secureStorage.js +4 -4
- package/src/lib/errors/secureStorage.js.map +1 -1
- package/src/lib/errors/storeError.d.ts +2 -2
- package/src/lib/errors/storeError.d.ts.map +1 -1
- package/src/lib/errors/storeError.js +20 -20
- 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 +8 -8
- package/src/lib/errors/streamError.js.map +1 -1
- package/src/lib/errors/symmetricError.d.ts +2 -2
- package/src/lib/errors/symmetricError.d.ts.map +1 -1
- package/src/lib/errors/symmetricError.js +3 -3
- 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 +4 -4
- package/src/lib/errors/systemKeyringError.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 +13 -13
- package/src/lib/errors/tupleError.js.map +1 -1
- package/src/lib/errors/typedError.d.ts +2 -2
- package/src/lib/errors/typedError.d.ts.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/userNotFound.js +2 -2
- package/src/lib/errors/userNotFound.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 +5 -5
- package/src/lib/errors/whitenedError.js.map +1 -1
- package/src/lib/factories/blockFactory.d.ts +23 -0
- package/src/lib/factories/blockFactory.d.ts.map +1 -0
- package/src/lib/factories/blockFactory.js +43 -0
- package/src/lib/factories/blockFactory.js.map +1 -0
- package/src/lib/i18n/index.d.ts +2 -2
- package/src/lib/i18n/index.d.ts.map +1 -1
- package/src/lib/i18n/index.js +2 -2
- package/src/lib/i18n/index.js.map +1 -1
- package/src/lib/index.d.ts +9 -0
- package/src/lib/index.d.ts.map +1 -1
- package/src/lib/index.js +12 -0
- package/src/lib/index.js.map +1 -1
- package/src/lib/init.d.ts +10 -0
- package/src/lib/init.d.ts.map +1 -1
- package/src/lib/init.js +24 -4
- package/src/lib/init.js.map +1 -1
- package/src/lib/interfaces/blockCapacity.d.ts +8 -0
- package/src/lib/interfaces/blockCapacity.d.ts.map +1 -1
- package/src/lib/interfaces/blocks/encrypted.d.ts +1 -1
- package/src/lib/interfaces/blocks/encrypted.d.ts.map +1 -1
- package/src/lib/interfaces/blocks/ephemeral.d.ts +4 -7
- package/src/lib/interfaces/blocks/ephemeral.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/superCblHeader.d.ts +63 -0
- package/src/lib/interfaces/blocks/headers/superCblHeader.d.ts.map +1 -0
- package/src/lib/interfaces/{storage/superCbl.js → blocks/headers/superCblHeader.js} +1 -1
- package/src/lib/interfaces/blocks/headers/superCblHeader.js.map +1 -0
- package/src/lib/interfaces/blocks/metadata/index.d.ts +0 -1
- package/src/lib/interfaces/blocks/metadata/index.d.ts.map +1 -1
- package/src/lib/interfaces/constants.d.ts +29 -0
- package/src/lib/interfaces/constants.d.ts.map +1 -1
- package/src/lib/interfaces/document/quorumDocument.d.ts +15 -0
- package/src/lib/interfaces/document/quorumDocument.d.ts.map +1 -0
- package/src/lib/interfaces/document/quorumDocument.js +3 -0
- package/src/lib/interfaces/document/quorumDocument.js.map +1 -0
- package/src/lib/interfaces/member/memberData.d.ts +2 -0
- package/src/lib/interfaces/member/memberData.d.ts.map +1 -1
- package/src/lib/interfaces/member/profileStorage.d.ts +77 -0
- package/src/lib/interfaces/member/profileStorage.d.ts.map +1 -0
- package/src/lib/interfaces/member/profileStorage.js +3 -0
- package/src/lib/interfaces/member/profileStorage.js.map +1 -0
- package/src/lib/interfaces/serviceProvider.interface.d.ts +11 -8
- package/src/lib/interfaces/serviceProvider.interface.d.ts.map +1 -1
- package/src/lib/interfaces/services/cblServices.d.ts +148 -0
- package/src/lib/interfaces/services/cblServices.d.ts.map +1 -0
- package/src/lib/interfaces/services/cblServices.js +11 -0
- package/src/lib/interfaces/services/cblServices.js.map +1 -0
- package/src/lib/interfaces/services/ephemeralBlockServices.d.ts +15 -0
- package/src/lib/interfaces/services/ephemeralBlockServices.d.ts.map +1 -0
- package/src/lib/interfaces/services/ephemeralBlockServices.js +3 -0
- package/src/lib/interfaces/services/ephemeralBlockServices.js.map +1 -0
- package/src/lib/interfaces/services/index.d.ts +1 -0
- package/src/lib/interfaces/services/index.d.ts.map +1 -1
- package/src/lib/interfaces/storage/index.d.ts +0 -1
- package/src/lib/interfaces/storage/index.d.ts.map +1 -1
- package/src/lib/logging/blockLogger.d.ts +218 -0
- package/src/lib/logging/blockLogger.d.ts.map +1 -0
- package/src/lib/logging/blockLogger.js +341 -0
- package/src/lib/logging/blockLogger.js.map +1 -0
- package/src/lib/logging/index.d.ts +24 -0
- package/src/lib/logging/index.d.ts.map +1 -0
- package/src/lib/logging/index.js +27 -0
- package/src/lib/logging/index.js.map +1 -0
- package/src/lib/logging/structuredLogger.d.ts +42 -0
- package/src/lib/logging/structuredLogger.d.ts.map +1 -0
- package/src/lib/logging/structuredLogger.js +93 -0
- package/src/lib/logging/structuredLogger.js.map +1 -0
- package/src/lib/primeTupleGeneratorStream.d.ts.map +1 -1
- package/src/lib/primeTupleGeneratorStream.js +4 -2
- package/src/lib/primeTupleGeneratorStream.js.map +1 -1
- package/src/lib/quorum.d.ts.map +1 -1
- package/src/lib/quorum.js +7 -5
- package/src/lib/quorum.js.map +1 -1
- package/src/lib/quorumDataRecord.d.ts +1 -1
- 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/network/networkDocumentSchema.d.ts.map +1 -1
- package/src/lib/schemas/network/networkDocumentSchema.js +9 -8
- package/src/lib/schemas/network/networkDocumentSchema.js.map +1 -1
- package/src/lib/schemas/quorumDocument.d.ts +1 -1
- package/src/lib/schemas/quorumDocument.d.ts.map +1 -1
- package/src/lib/schemas/quorumDocument.js +6 -4
- package/src/lib/schemas/quorumDocument.js.map +1 -1
- package/src/lib/security/dosProtection.d.ts +13 -0
- package/src/lib/security/dosProtection.d.ts.map +1 -0
- package/src/lib/security/dosProtection.js +29 -0
- package/src/lib/security/dosProtection.js.map +1 -0
- package/src/lib/security/dosProtectionValidator.d.ts +27 -0
- package/src/lib/security/dosProtectionValidator.d.ts.map +1 -0
- package/src/lib/security/dosProtectionValidator.js +60 -0
- package/src/lib/security/dosProtectionValidator.js.map +1 -0
- package/src/lib/security/index.d.ts +12 -0
- package/src/lib/security/index.d.ts.map +1 -0
- package/src/lib/security/index.js +15 -0
- package/src/lib/security/index.js.map +1 -0
- package/src/lib/security/rateLimitTypes.d.ts +20 -0
- package/src/lib/security/rateLimitTypes.d.ts.map +1 -0
- package/src/lib/security/rateLimitTypes.js +15 -0
- package/src/lib/security/rateLimitTypes.js.map +1 -0
- package/src/lib/security/rateLimiter.d.ts +29 -0
- package/src/lib/security/rateLimiter.d.ts.map +1 -0
- package/src/lib/security/rateLimiter.js +107 -0
- package/src/lib/security/rateLimiter.js.map +1 -0
- package/src/lib/security/securityAuditLogger.d.ts +59 -0
- package/src/lib/security/securityAuditLogger.d.ts.map +1 -0
- package/src/lib/security/securityAuditLogger.js +120 -0
- package/src/lib/security/securityAuditLogger.js.map +1 -0
- package/src/lib/security/securityEvent.d.ts +45 -0
- package/src/lib/security/securityEvent.d.ts.map +1 -0
- package/src/lib/security/securityEvent.js +44 -0
- package/src/lib/security/securityEvent.js.map +1 -0
- package/src/lib/services/blockCapacity.service.d.ts.map +1 -1
- package/src/lib/services/blockCapacity.service.js +14 -5
- package/src/lib/services/blockCapacity.service.js.map +1 -1
- package/src/lib/services/blockFormatService.d.ts +41 -0
- package/src/lib/services/blockFormatService.d.ts.map +1 -0
- package/src/lib/services/blockFormatService.js +252 -0
- package/src/lib/services/blockFormatService.js.map +1 -0
- package/src/lib/services/blockService.d.ts +6 -0
- package/src/lib/services/blockService.d.ts.map +1 -1
- package/src/lib/services/blockService.js +130 -28
- package/src/lib/services/blockService.js.map +1 -1
- package/src/lib/services/cblService.d.ts +162 -3
- package/src/lib/services/cblService.d.ts.map +1 -1
- package/src/lib/services/cblService.js +502 -21
- package/src/lib/services/cblService.js.map +1 -1
- package/src/lib/services/globalServiceProvider.d.ts +4 -0
- package/src/lib/services/globalServiceProvider.d.ts.map +1 -0
- package/src/lib/services/globalServiceProvider.js +26 -0
- package/src/lib/services/globalServiceProvider.js.map +1 -0
- package/src/lib/services/index.d.ts +0 -2
- package/src/lib/services/index.d.ts.map +1 -1
- package/src/lib/services/index.js +0 -2
- 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 +11 -8
- package/src/lib/services/member/memberCblService.js.map +1 -1
- package/src/lib/services/memberStore.d.ts +8 -0
- package/src/lib/services/memberStore.d.ts.map +1 -1
- package/src/lib/services/memberStore.js +105 -76
- package/src/lib/services/memberStore.js.map +1 -1
- package/src/lib/services/sealing.service.d.ts +1 -1
- package/src/lib/services/sealing.service.d.ts.map +1 -1
- package/src/lib/services/sealing.service.js +4 -13
- package/src/lib/services/sealing.service.js.map +1 -1
- package/src/lib/services/service.provider.d.ts +2 -0
- package/src/lib/services/service.provider.d.ts.map +1 -1
- package/src/lib/services/service.provider.js +7 -12
- package/src/lib/services/service.provider.js.map +1 -1
- package/src/lib/services/serviceLocator.d.ts.map +1 -1
- package/src/lib/services/serviceLocator.js +2 -0
- package/src/lib/services/serviceLocator.js.map +1 -1
- package/src/lib/services/tuple.service.js +4 -4
- package/src/lib/services/tuple.service.js.map +1 -1
- package/src/lib/sharedTypes.d.ts +1 -22
- package/src/lib/sharedTypes.d.ts.map +1 -1
- package/src/lib/sharedTypes.js.map +1 -1
- package/src/lib/strings/englishUs.d.ts.map +1 -1
- package/src/lib/strings/englishUs.js +392 -392
- package/src/lib/strings/englishUs.js.map +1 -1
- package/src/lib/test/service.initializer.helper.d.ts +2 -1
- package/src/lib/test/service.initializer.helper.d.ts.map +1 -1
- package/src/lib/test/service.initializer.helper.js +11 -15
- package/src/lib/test/service.initializer.helper.js.map +1 -1
- package/src/lib/types/schema.d.ts +38 -0
- package/src/lib/types/schema.d.ts.map +1 -0
- package/src/lib/types/schema.js +7 -0
- package/src/lib/types/schema.js.map +1 -0
- package/src/lib/utils/constantTime.d.ts +27 -0
- package/src/lib/utils/constantTime.d.ts.map +1 -0
- package/src/lib/utils/constantTime.js +67 -0
- package/src/lib/utils/constantTime.js.map +1 -0
- package/src/lib/utils/constantTimeXor.d.ts +76 -0
- package/src/lib/utils/constantTimeXor.d.ts.map +1 -0
- package/src/lib/utils/constantTimeXor.js +122 -0
- package/src/lib/utils/constantTimeXor.js.map +1 -0
- package/src/lib/utils/dateUtils.d.ts +67 -0
- package/src/lib/utils/dateUtils.d.ts.map +1 -0
- package/src/lib/utils/dateUtils.js +136 -0
- package/src/lib/utils/dateUtils.js.map +1 -0
- package/src/lib/utils/index.d.ts +57 -0
- package/src/lib/utils/index.d.ts.map +1 -1
- package/src/lib/utils/index.js +69 -0
- package/src/lib/utils/index.js.map +1 -1
- package/src/lib/utils/typeGuards.d.ts +102 -0
- package/src/lib/utils/typeGuards.d.ts.map +1 -0
- package/src/lib/utils/typeGuards.js +244 -0
- package/src/lib/utils/typeGuards.js.map +1 -0
- package/src/lib/cpus/instructions.d.ts +0 -35
- package/src/lib/cpus/instructions.d.ts.map +0 -1
- package/src/lib/cpus/instructions.js +0 -285
- package/src/lib/cpus/instructions.js.map +0 -1
- package/src/lib/cpus/mach-o.d.ts +0 -7
- package/src/lib/cpus/mach-o.d.ts.map +0 -1
- package/src/lib/cpus/mach-o.js +0 -99
- package/src/lib/cpus/mach-o.js.map +0 -1
- package/src/lib/cpus/x86Cpu.d.ts +0 -21
- package/src/lib/cpus/x86Cpu.d.ts.map +0 -1
- package/src/lib/cpus/x86Cpu.js +0 -89
- package/src/lib/cpus/x86Cpu.js.map +0 -1
- package/src/lib/enumerations/stringNames.d.ts.map +0 -1
- package/src/lib/enumerations/stringNames.js +0 -436
- package/src/lib/enumerations/stringNames.js.map +0 -1
- package/src/lib/errors/superCbl.d.ts +0 -24
- package/src/lib/errors/superCbl.d.ts.map +0 -1
- package/src/lib/errors/superCbl.js +0 -43
- package/src/lib/errors/superCbl.js.map +0 -1
- package/src/lib/interfaces/storage/superCbl.d.ts +0 -102
- package/src/lib/interfaces/storage/superCbl.d.ts.map +0 -1
- package/src/lib/interfaces/storage/superCbl.js.map +0 -1
- package/src/lib/services/jsonCblCapacity.service.d.ts +0 -80
- package/src/lib/services/jsonCblCapacity.service.d.ts.map +0 -1
- package/src/lib/services/jsonCblCapacity.service.js +0 -147
- package/src/lib/services/jsonCblCapacity.service.js.map +0 -1
- package/src/lib/services/superCbl.service.d.ts +0 -68
- package/src/lib/services/superCbl.service.d.ts.map +0 -1
- package/src/lib/services/superCbl.service.js +0 -213
- package/src/lib/services/superCbl.service.js.map +0 -1
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EphemeralBlock = void 0;
|
|
4
4
|
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
5
|
-
const browserCrypto_1 = require("../browserCrypto");
|
|
6
5
|
const browserStream_1 = require("../browserStream");
|
|
7
6
|
const blockAccessErrorType_1 = require("../enumerations/blockAccessErrorType");
|
|
8
7
|
const blockErrorType_1 = require("../enumerations/blockErrorType");
|
|
@@ -12,7 +11,8 @@ const blockValidationErrorType_1 = require("../enumerations/blockValidationError
|
|
|
12
11
|
const ephemeralBlockMetadata_1 = require("../ephemeralBlockMetadata");
|
|
13
12
|
const block_1 = require("../errors/block");
|
|
14
13
|
const checksumMismatch_1 = require("../errors/checksumMismatch");
|
|
15
|
-
const
|
|
14
|
+
const blockLogger_1 = require("../logging/blockLogger");
|
|
15
|
+
const globalServiceProvider_1 = require("../services/globalServiceProvider");
|
|
16
16
|
const base_1 = require("./base");
|
|
17
17
|
// Remove circular import
|
|
18
18
|
// import { EncryptedBlock } from './encrypted';
|
|
@@ -23,11 +23,26 @@ const blockEncryptionType_1 = require("../enumerations/blockEncryptionType");
|
|
|
23
23
|
*/
|
|
24
24
|
class EphemeralBlock extends base_1.BaseBlock {
|
|
25
25
|
/**
|
|
26
|
-
* Creates a new ephemeral block
|
|
26
|
+
* Creates a new ephemeral block.
|
|
27
|
+
*
|
|
28
|
+
* Ephemeral blocks represent user data in memory - either input data being
|
|
29
|
+
* prepared for storage, or reconstituted data read back from the OFF system.
|
|
30
|
+
* They are NOT padded; padding happens during the whitening/storage process.
|
|
31
|
+
*
|
|
32
|
+
* @param type - The block type
|
|
33
|
+
* @param dataType - The data type
|
|
34
|
+
* @param blockSize - The block size category (data can be smaller)
|
|
35
|
+
* @param data - The user data
|
|
36
|
+
* @param checksum - The checksum of the data
|
|
37
|
+
* @param creator - The member who created this block
|
|
38
|
+
* @param dateCreated - When the block was created
|
|
39
|
+
* @param lengthBeforeEncryption - Original data length (if encrypted)
|
|
40
|
+
* @param canRead - Whether the block can be read
|
|
41
|
+
* @param canPersist - Whether the block can be persisted
|
|
27
42
|
*/
|
|
28
43
|
static async from(type, dataType, blockSize, data, checksum, creator, dateCreated, lengthBeforeEncryption, canRead = true, canPersist = true) {
|
|
29
|
-
//
|
|
30
|
-
const calculatedChecksum = await
|
|
44
|
+
// Validate the provided checksum matches the data
|
|
45
|
+
const calculatedChecksum = await (0, globalServiceProvider_1.getGlobalServiceProvider)().checksumService.calculateChecksum(data);
|
|
31
46
|
if (!calculatedChecksum.equals(checksum)) {
|
|
32
47
|
throw new checksumMismatch_1.ChecksumMismatchError(checksum, calculatedChecksum);
|
|
33
48
|
}
|
|
@@ -35,47 +50,51 @@ class EphemeralBlock extends base_1.BaseBlock {
|
|
|
35
50
|
return new EphemeralBlock(type, dataType, data, checksum, metadata, canRead, canPersist);
|
|
36
51
|
}
|
|
37
52
|
/**
|
|
38
|
-
* Create a new ephemeral block
|
|
53
|
+
* Create a new ephemeral block.
|
|
54
|
+
*
|
|
55
|
+
* Ephemeral blocks represent user data that has been read/reconstituted from
|
|
56
|
+
* the OFF system. They are NOT padded - padding happens during the whitening
|
|
57
|
+
* process when data is prepared for storage.
|
|
58
|
+
*
|
|
39
59
|
* @param type - The type of the block
|
|
40
60
|
* @param dataType - The type of data in the block
|
|
41
|
-
* @param
|
|
42
|
-
* @param
|
|
43
|
-
* @param
|
|
44
|
-
* @param dateCreated - The date the block was created
|
|
45
|
-
* @param metadata - Optional block metadata
|
|
61
|
+
* @param data - The user data (NOT padded)
|
|
62
|
+
* @param checksum - The checksum of the data
|
|
63
|
+
* @param metadata - Block metadata including the block size category
|
|
46
64
|
* @param canRead - Whether the block can be read
|
|
47
65
|
* @param canPersist - Whether the block can be persisted (defaults to false for ephemeral blocks)
|
|
48
|
-
* @param encrypted - Whether the block is encrypted
|
|
49
66
|
*/
|
|
50
67
|
constructor(type, dataType, data, checksum, metadata, canRead = true, canPersist = false) {
|
|
51
68
|
if (data instanceof browserStream_1.Readable) {
|
|
52
69
|
throw new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.EphemeralBlockOnlySupportsBufferData);
|
|
53
70
|
}
|
|
54
|
-
// Initialize base class
|
|
55
|
-
super(type, dataType, checksum, metadata, canRead, canPersist);
|
|
56
71
|
// Validate data length against block size
|
|
72
|
+
// Data can be smaller than block size - padding happens during whitening, not here
|
|
57
73
|
const maxDataSize = metadata.size;
|
|
58
74
|
if (data.length > maxDataSize) {
|
|
59
75
|
throw new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.DataLengthExceedsCapacity);
|
|
60
76
|
}
|
|
61
|
-
//
|
|
62
|
-
|
|
63
|
-
if (paddedData.length < maxDataSize) {
|
|
64
|
-
// Pad with random data to reach the full block size
|
|
65
|
-
const padding = (0, browserCrypto_1.randomBytes)(maxDataSize - paddedData.length);
|
|
66
|
-
const result = new Uint8Array(paddedData.length + padding.length);
|
|
67
|
-
result.set(paddedData);
|
|
68
|
-
result.set(padding, paddedData.length);
|
|
69
|
-
paddedData = result;
|
|
70
|
-
}
|
|
77
|
+
// Initialize base class
|
|
78
|
+
super(type, dataType, checksum, metadata, canRead, canPersist);
|
|
71
79
|
if (!metadata) {
|
|
72
80
|
throw new block_1.BlockMetadataError(blockMetadataErrorType_1.BlockMetadataErrorType.MetadataRequired);
|
|
73
81
|
}
|
|
74
|
-
// Store
|
|
75
|
-
this._data =
|
|
82
|
+
// Store the data as-is (no padding for ephemeral blocks)
|
|
83
|
+
this._data = data;
|
|
76
84
|
// Handle creator from metadata
|
|
77
85
|
this._creator = metadata.creator;
|
|
78
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* The block's checksum (hash of the user data).
|
|
89
|
+
*
|
|
90
|
+
* Note: For ephemeral blocks, this is the checksum of the actual user data,
|
|
91
|
+
* not a content-addressed block ID. Ephemeral blocks are transient in-memory
|
|
92
|
+
* representations and don't have persistent IDs in the OFF system sense.
|
|
93
|
+
* The block only gets a "real" ID after whitening and storage.
|
|
94
|
+
*/
|
|
95
|
+
get idChecksum() {
|
|
96
|
+
return this._checksum;
|
|
97
|
+
}
|
|
79
98
|
/**
|
|
80
99
|
* The data in the block
|
|
81
100
|
*/
|
|
@@ -108,7 +127,7 @@ class EphemeralBlock extends base_1.BaseBlock {
|
|
|
108
127
|
else if (this.blockType === blockType_1.BlockType.EncryptedExtendedConstituentBlockListBlock) {
|
|
109
128
|
encryptedBlockType = blockType_1.BlockType.EncryptedExtendedConstituentBlockListBlock;
|
|
110
129
|
}
|
|
111
|
-
const capacity =
|
|
130
|
+
const capacity = (0, globalServiceProvider_1.getGlobalServiceProvider)().blockCapacityCalculator.calculateCapacity({
|
|
112
131
|
blockSize: this.blockSize,
|
|
113
132
|
blockType: encryptedBlockType,
|
|
114
133
|
encryptionType: blockEncryptionType_1.BlockEncryptionType.SingleRecipient,
|
|
@@ -129,13 +148,13 @@ class EphemeralBlock extends base_1.BaseBlock {
|
|
|
129
148
|
else if (this.blockType === blockType_1.BlockType.EncryptedExtendedConstituentBlockListBlock) {
|
|
130
149
|
encryptedBlockType = blockType_1.BlockType.EncryptedExtendedConstituentBlockListBlock;
|
|
131
150
|
}
|
|
132
|
-
const capacity =
|
|
151
|
+
const capacity = (0, globalServiceProvider_1.getGlobalServiceProvider)().blockCapacityCalculator.calculateCapacity({
|
|
133
152
|
blockSize: this.blockSize,
|
|
134
153
|
blockType: encryptedBlockType,
|
|
135
154
|
recipientCount: recipientCount,
|
|
136
155
|
encryptionType: blockEncryptionType_1.BlockEncryptionType.MultiRecipient,
|
|
137
156
|
});
|
|
138
|
-
const overhead =
|
|
157
|
+
const overhead = (0, globalServiceProvider_1.getGlobalServiceProvider)().eciesService.calculateECIESMultipleRecipientOverhead(recipientCount, true);
|
|
139
158
|
return (this._lengthBeforeEncryption + overhead <= capacity.availableCapacity);
|
|
140
159
|
}
|
|
141
160
|
/**
|
|
@@ -146,13 +165,19 @@ class EphemeralBlock extends base_1.BaseBlock {
|
|
|
146
165
|
// For both encrypted and unencrypted blocks,
|
|
147
166
|
// validate against the provided checksum
|
|
148
167
|
if (!this.idChecksum) {
|
|
149
|
-
|
|
168
|
+
const error = new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.NoChecksum);
|
|
169
|
+
(0, blockLogger_1.logValidationFailure)(undefined, blockType_1.BlockType[this.blockType], error, {
|
|
170
|
+
blockSize: this.blockSize,
|
|
171
|
+
});
|
|
172
|
+
throw error;
|
|
150
173
|
}
|
|
151
174
|
// Calculate checksum on actual data length, excluding padding
|
|
152
|
-
const computedChecksum =
|
|
175
|
+
const computedChecksum = (0, globalServiceProvider_1.getGlobalServiceProvider)().checksumService.calculateChecksum(this._data);
|
|
153
176
|
const validated = computedChecksum.equals(this.idChecksum);
|
|
154
177
|
if (!validated) {
|
|
155
|
-
|
|
178
|
+
const error = new checksumMismatch_1.ChecksumMismatchError(this.idChecksum, computedChecksum);
|
|
179
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, { blockSize: this.blockSize });
|
|
180
|
+
throw error;
|
|
156
181
|
}
|
|
157
182
|
}
|
|
158
183
|
/**
|
|
@@ -163,13 +188,19 @@ class EphemeralBlock extends base_1.BaseBlock {
|
|
|
163
188
|
// For both encrypted and unencrypted blocks,
|
|
164
189
|
// validate against the provided checksum
|
|
165
190
|
if (!this.idChecksum) {
|
|
166
|
-
|
|
191
|
+
const error = new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.NoChecksum);
|
|
192
|
+
(0, blockLogger_1.logValidationFailure)(undefined, blockType_1.BlockType[this.blockType], error, {
|
|
193
|
+
blockSize: this.blockSize,
|
|
194
|
+
});
|
|
195
|
+
throw error;
|
|
167
196
|
}
|
|
168
197
|
// Calculate checksum on actual data length, excluding padding
|
|
169
|
-
const computedChecksum = await
|
|
198
|
+
const computedChecksum = await (0, globalServiceProvider_1.getGlobalServiceProvider)().checksumService.calculateChecksum(this._data);
|
|
170
199
|
const validated = computedChecksum.equals(this.idChecksum);
|
|
171
200
|
if (!validated) {
|
|
172
|
-
|
|
201
|
+
const error = new checksumMismatch_1.ChecksumMismatchError(this.idChecksum, computedChecksum);
|
|
202
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, { blockSize: this.blockSize });
|
|
203
|
+
throw error;
|
|
173
204
|
}
|
|
174
205
|
}
|
|
175
206
|
/**
|
|
@@ -245,17 +276,15 @@ class EphemeralBlock extends base_1.BaseBlock {
|
|
|
245
276
|
}
|
|
246
277
|
// Encrypt using BlockService
|
|
247
278
|
const encryptedBlock = encryptedBlockType === blockEncryptionType_1.BlockEncryptionType.MultiRecipient && recipients
|
|
248
|
-
? await
|
|
249
|
-
: await
|
|
279
|
+
? await (0, globalServiceProvider_1.getGlobalServiceProvider)().blockService.encryptMultiple(newBlockType, this, recipients)
|
|
280
|
+
: await (0, globalServiceProvider_1.getGlobalServiceProvider)().blockService.encrypt(newBlockType, this, recipients ? recipients[0] : undefined);
|
|
250
281
|
// We can't use instanceof EncryptedBlock here due to circular dependency
|
|
251
|
-
// Instead, check if it implements IEncryptedBlock interface
|
|
282
|
+
// Instead, check if it implements IEncryptedBlock interface
|
|
252
283
|
if (!encryptedBlock ||
|
|
253
284
|
typeof encryptedBlock !== 'object' ||
|
|
254
285
|
!('decrypt' in encryptedBlock) ||
|
|
255
|
-
(
|
|
256
|
-
|
|
257
|
-
(encryptedBlockType === blockEncryptionType_1.BlockEncryptionType.MultiRecipient &&
|
|
258
|
-
!('recipientKeys' in encryptedBlock))) {
|
|
286
|
+
!('encryptionDetails' in encryptedBlock) ||
|
|
287
|
+
!('encryptionType' in encryptedBlock)) {
|
|
259
288
|
throw new block_1.BlockError(blockErrorType_1.BlockErrorType.UnexpectedEncryptedBlockType);
|
|
260
289
|
}
|
|
261
290
|
return encryptedBlock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ephemeral.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/ephemeral.ts"],"names":[],"mappings":";;;AAAA,0DAA4E;AAC5E,
|
|
1
|
+
{"version":3,"file":"ephemeral.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/ephemeral.ts"],"names":[],"mappings":"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"}
|
|
@@ -72,7 +72,7 @@ export declare class ExtendedCBL<TID extends PlatformID = Uint8Array> implements
|
|
|
72
72
|
canMultiEncrypt(recipientCount: number): boolean;
|
|
73
73
|
validateSignature(creator?: Member<TID>): boolean;
|
|
74
74
|
validate(): void;
|
|
75
|
-
encrypt
|
|
75
|
+
encrypt(newBlockType: BlockType, recipients?: Member<TID>[]): Promise<IEncryptedBlock<TID>>;
|
|
76
76
|
getHandleTuples(getDiskBlockPath: any): Promise<any[]>;
|
|
77
77
|
}
|
|
78
78
|
//# sourceMappingURL=extendedCbl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extendedCbl.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/extendedCbl.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,MAAM,EACN,UAAU,EACV,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAItD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,kCAAkC,EAAE,MAAM,kCAAkC,CAAC;AAEtF,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;;GAIG;AACH,qBAAa,WAAW,CACtB,GAAG,SAAS,UAAU,GAAG,UAAU,CACnC,YAAW,kCAAkC,CAAC,GAAG,CAAC;IAElD,OAAO,CAAC,SAAS,CAAM;gBAEX,GAAG,IAAI,EAAE,GAAG,EAAE;IAS1B,SAAS,KAAK,KAAK,IAAI,UAAU,CAEhC;IAED,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAOvC;;OAEG;IACH,IAAW,QAAQ,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"extendedCbl.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/extendedCbl.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ exports.ExtendedCBL = void 0;
|
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
5
5
|
const extendedCblErrorType_1 = require("../enumerations/extendedCblErrorType");
|
|
6
6
|
const extendedCblError_1 = require("../errors/extendedCblError");
|
|
7
|
-
const
|
|
7
|
+
const globalServiceProvider_1 = require("../services/globalServiceProvider");
|
|
8
8
|
/**
|
|
9
9
|
* Extended CBL class, which extends the CBL class with additional properties
|
|
10
10
|
* for extended CBLs (fileName + mimeType).
|
|
@@ -33,8 +33,8 @@ class ExtendedCBL {
|
|
|
33
33
|
*/
|
|
34
34
|
get fileName() {
|
|
35
35
|
this.ensureHeaderValidated();
|
|
36
|
-
const filename =
|
|
37
|
-
|
|
36
|
+
const filename = (0, globalServiceProvider_1.getGlobalServiceProvider)().cblService.getFileName(this._data);
|
|
37
|
+
(0, globalServiceProvider_1.getGlobalServiceProvider)().cblService.validateFileNameFormat(filename);
|
|
38
38
|
return filename;
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
@@ -42,15 +42,15 @@ class ExtendedCBL {
|
|
|
42
42
|
*/
|
|
43
43
|
get fileNameLength() {
|
|
44
44
|
this.ensureHeaderValidated();
|
|
45
|
-
return
|
|
45
|
+
return (0, globalServiceProvider_1.getGlobalServiceProvider)().cblService.getFileNameLength(this._data);
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
48
|
* The MIME type of the file represented by the CBL
|
|
49
49
|
*/
|
|
50
50
|
get mimeType() {
|
|
51
51
|
this.ensureHeaderValidated();
|
|
52
|
-
const mimeType =
|
|
53
|
-
|
|
52
|
+
const mimeType = (0, globalServiceProvider_1.getGlobalServiceProvider)().cblService.getMimeType(this._data);
|
|
53
|
+
(0, globalServiceProvider_1.getGlobalServiceProvider)().cblService.validateMimeTypeFormat(mimeType);
|
|
54
54
|
return mimeType;
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
@@ -58,7 +58,7 @@ class ExtendedCBL {
|
|
|
58
58
|
*/
|
|
59
59
|
get mimeTypeLength() {
|
|
60
60
|
this.ensureHeaderValidated();
|
|
61
|
-
return
|
|
61
|
+
return (0, globalServiceProvider_1.getGlobalServiceProvider)().cblService.getMimeTypeLength(this._data);
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
64
|
* Validate the CBL structure and metadata
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extendedCbl.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/extendedCbl.ts"],"names":[],"mappings":";;;AASA,uDAAuD;AACvD,+EAA4E;AAC5E,iEAA8D;AAG9D
|
|
1
|
+
{"version":3,"file":"extendedCbl.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/extendedCbl.ts"],"names":[],"mappings":"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"}
|
package/src/lib/blocks/handle.js
CHANGED
|
@@ -7,7 +7,7 @@ exports.isBlockHandle = isBlockHandle;
|
|
|
7
7
|
const blockDataType_1 = require("../enumerations/blockDataType");
|
|
8
8
|
const blockType_1 = require("../enumerations/blockType");
|
|
9
9
|
const enhancedValidationError_1 = require("../errors/enhancedValidationError");
|
|
10
|
-
const
|
|
10
|
+
const globalServiceProvider_1 = require("../services/globalServiceProvider");
|
|
11
11
|
const checksum_1 = require("../types/checksum");
|
|
12
12
|
const rawData_1 = require("./rawData");
|
|
13
13
|
/**
|
|
@@ -118,7 +118,7 @@ blockConstructor, blockSize, data, checksum, canRead = true, canPersist = true,
|
|
|
118
118
|
configurable: true,
|
|
119
119
|
});
|
|
120
120
|
instance.calculateChecksum = function () {
|
|
121
|
-
return
|
|
121
|
+
return (0, globalServiceProvider_1.getGlobalServiceProvider)().checksumService.calculateChecksum(this.fullData);
|
|
122
122
|
};
|
|
123
123
|
instance.clearCache = function () {
|
|
124
124
|
this._cachedData = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/handle.ts"],"names":[],"mappings":";;;AA6JA,8CAmHC;AA0CD,gEAqBC;AAoCD,sCAwBC;AA3YD,iEAA8D;AAE9D,yDAAsD;AACtD,+EAA4E;AAC5E,
|
|
1
|
+
{"version":3,"file":"handle.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/handle.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ const blockDataType_1 = require("../enumerations/blockDataType");
|
|
|
6
6
|
const blockType_1 = require("../enumerations/blockType");
|
|
7
7
|
const handleTupleErrorType_1 = require("../enumerations/handleTupleErrorType");
|
|
8
8
|
const handleTupleError_1 = require("../errors/handleTupleError");
|
|
9
|
-
const
|
|
9
|
+
const globalServiceProvider_1 = require("../services/globalServiceProvider");
|
|
10
10
|
const rawData_1 = require("./rawData");
|
|
11
11
|
/**
|
|
12
12
|
* A tuple of block handles that can be XORed together.
|
|
@@ -112,7 +112,7 @@ class BlockHandleTuple {
|
|
|
112
112
|
result = xored;
|
|
113
113
|
}
|
|
114
114
|
// Calculate checksum for the result
|
|
115
|
-
const checksum =
|
|
115
|
+
const checksum = (0, globalServiceProvider_1.getGlobalServiceProvider)().checksumService.calculateChecksum(result);
|
|
116
116
|
// Create a RawDataBlock for the result with the provided metadata
|
|
117
117
|
const block = new rawData_1.RawDataBlock(this.handles[0].blockSize, result, destBlockMetadata.dateCreated
|
|
118
118
|
? new Date(destBlockMetadata.dateCreated)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handleTuple.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/handleTuple.ts"],"names":[],"mappings":";;;AAAA,4CAAqC;AACrC,iEAA0D;AAC1D,yDAAkD;AAClD,+EAA4E;AAC5E,iEAA8D;AAE9D,
|
|
1
|
+
{"version":3,"file":"handleTuple.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/handleTuple.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BlockDataType } from '../enumerations/blockDataType';
|
|
2
2
|
import { BlockSize } from '../enumerations/blockSize';
|
|
3
3
|
import { BlockType } from '../enumerations/blockType';
|
|
4
|
+
import type { ChecksumService } from '../services/checksum.service';
|
|
4
5
|
import { Checksum } from '../types/checksum';
|
|
5
6
|
import { BaseBlock } from './base';
|
|
6
7
|
import { RawDataBlock } from './rawData';
|
|
@@ -10,7 +11,7 @@ import { RawDataBlock } from './rawData';
|
|
|
10
11
|
* where data blocks are XORed with random blocks to make them meaningless on their own.
|
|
11
12
|
*/
|
|
12
13
|
export declare class RandomBlock extends RawDataBlock {
|
|
13
|
-
constructor(blockSize: BlockSize, data: Uint8Array, dateCreated?: Date, checksum?: Checksum);
|
|
14
|
+
constructor(blockSize: BlockSize, data: Uint8Array, dateCreated?: Date, checksum?: Checksum, checksumService?: ChecksumService);
|
|
14
15
|
/**
|
|
15
16
|
* Create a new random block
|
|
16
17
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/random.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"random.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/random.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,YAAY;gBAEzC,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,UAAU,EAChB,WAAW,CAAC,EAAE,IAAI,EAClB,QAAQ,CAAC,EAAE,QAAQ,EACnB,eAAe,CAAC,EAAE,eAAe;IAmBnC;;OAEG;WACW,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,WAAW;IAKxE;;OAEG;WACW,YAAY,CACxB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,UAAU,EAChB,WAAW,CAAC,EAAE,IAAI,EAClB,QAAQ,CAAC,EAAE,QAAQ,GAClB,WAAW;IAId;;OAEG;IACH,IAAoB,SAAS,IAAI,SAAS,CAEzC;IAED;;OAEG;IACH,IAAoB,aAAa,IAAI,aAAa,CAEjD;IAED;;OAEG;IACH,IAAoB,UAAU,IAAI,OAAO,CAExC;IAED;;OAEG;IACH,IAAoB,UAAU,IAAI,OAAO,CAExC;IAED;;OAEG;IACH,IAAoB,eAAe,IAAI,UAAU,CAGhD;IAED;;;;OAIG;mBACkB,kBAAkB;IAiBvC;;;;OAIG;mBACkB,YAAY;IASjC;;OAEG;IACU,GAAG,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAoC5D"}
|
package/src/lib/blocks/random.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.RandomBlock = void 0;
|
|
|
4
4
|
const browserCrypto_1 = require("../browserCrypto");
|
|
5
5
|
const blockDataType_1 = require("../enumerations/blockDataType");
|
|
6
6
|
const blockType_1 = require("../enumerations/blockType");
|
|
7
|
-
const
|
|
7
|
+
const globalServiceProvider_1 = require("../services/globalServiceProvider");
|
|
8
8
|
const rawData_1 = require("./rawData");
|
|
9
9
|
/**
|
|
10
10
|
* RandomBlock represents a block containing cryptographically secure random data.
|
|
@@ -12,12 +12,13 @@ const rawData_1 = require("./rawData");
|
|
|
12
12
|
* where data blocks are XORed with random blocks to make them meaningless on their own.
|
|
13
13
|
*/
|
|
14
14
|
class RandomBlock extends rawData_1.RawDataBlock {
|
|
15
|
-
constructor(blockSize, data, dateCreated, checksum) {
|
|
15
|
+
constructor(blockSize, data, dateCreated, checksum, checksumService) {
|
|
16
16
|
if (data.length !== blockSize) {
|
|
17
17
|
throw new Error('Data length must match block size');
|
|
18
18
|
}
|
|
19
19
|
super(blockSize, data, dateCreated, checksum, blockType_1.BlockType.Random, blockDataType_1.BlockDataType.RawData, true, // canRead
|
|
20
|
-
true
|
|
20
|
+
true, // canPersist
|
|
21
|
+
checksumService);
|
|
21
22
|
}
|
|
22
23
|
/**
|
|
23
24
|
* Create a new random block
|
|
@@ -106,9 +107,11 @@ class RandomBlock extends rawData_1.RawDataBlock {
|
|
|
106
107
|
for (let i = 0; i < thisData.length; i++) {
|
|
107
108
|
result[i] = thisData[i] ^ otherData[i];
|
|
108
109
|
}
|
|
110
|
+
// Use global service provider for checksum calculation
|
|
111
|
+
const checksum = (0, globalServiceProvider_1.getGlobalServiceProvider)().checksumService.calculateChecksum(result);
|
|
109
112
|
// Create a new instance of the same type as the input block
|
|
110
113
|
const Constructor = other.constructor;
|
|
111
|
-
return new Constructor(this.blockSize, result, new Date(),
|
|
114
|
+
return new Constructor(this.blockSize, result, new Date(), checksum, this.canRead && other.canRead, this.canPersist && other.canPersist);
|
|
112
115
|
}
|
|
113
116
|
}
|
|
114
117
|
exports.RandomBlock = RandomBlock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"random.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/random.ts"],"names":[],"mappings":";;;AAAA,oDAA+C;AAE/C,iEAA8D;AAE9D,yDAAsD;
|
|
1
|
+
{"version":3,"file":"random.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/random.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BlockDataType } from '../enumerations/blockDataType';
|
|
2
2
|
import { BlockSize } from '../enumerations/blockSize';
|
|
3
3
|
import { BlockType } from '../enumerations/blockType';
|
|
4
|
+
import type { ChecksumService } from '../services/checksum.service';
|
|
4
5
|
import { Checksum } from '../types/checksum';
|
|
5
6
|
import { BaseBlock } from './base';
|
|
6
7
|
/**
|
|
@@ -9,7 +10,8 @@ import { BaseBlock } from './base';
|
|
|
9
10
|
*/
|
|
10
11
|
export declare class RawDataBlock extends BaseBlock {
|
|
11
12
|
private readonly _data;
|
|
12
|
-
|
|
13
|
+
private readonly _checksumService?;
|
|
14
|
+
constructor(blockSize: BlockSize, data: Uint8Array, dateCreated?: Date, checksum?: Checksum, blockType?: BlockType, blockDataType?: BlockDataType, canRead?: boolean, canPersist?: boolean, checksumService?: ChecksumService);
|
|
13
15
|
/**
|
|
14
16
|
* The raw data in the block
|
|
15
17
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rawData.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/rawData.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAItD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC;;;GAGG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;
|
|
1
|
+
{"version":3,"file":"rawData.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/rawData.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAItD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAEpE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC;;;GAGG;AACH,qBAAa,YAAa,SAAQ,SAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAkB;gBAGlD,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,UAAU,EAChB,WAAW,CAAC,EAAE,IAAI,EAClB,QAAQ,CAAC,EAAE,QAAQ,EACnB,SAAS,GAAE,SAA6B,EACxC,aAAa,GAAE,aAAqC,EACpD,OAAO,UAAO,EACd,UAAU,UAAO,EACjB,eAAe,CAAC,EAAE,eAAe;IA4CnC;;OAEG;IACH,IAAoB,IAAI,IAAI,UAAU,CAKrC;IAED;;OAEG;IACH,IAAoB,YAAY,IAAI,UAAU,CAM7C;IAED,IAAW,iBAAiB,IAAI,MAAM,CAErC;IAED,IAAW,gBAAgB,IAAI,MAAM,CAEpC;IAED,IAAW,SAAS,IAAI,UAAU,CAKjC;IAED;;OAEG;IACH,IAAW,sBAAsB,IAAI,MAAM,CAE1C;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED;;OAEG;IACH,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED;;;OAGG;IACH,SAAS,CAAC,gBAAgB,IAAI,IAAI;IA6BlC;;;OAGG;IACa,YAAY,IAAI,IAAI;IAIpC;;;OAGG;IACmB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpD;;;OAGG;IACa,QAAQ,IAAI,IAAI;IAIhC;;OAEG;IACH,IAAoB,eAAe,IAAI,UAAU,CAGhD;CACF"}
|
|
@@ -7,14 +7,15 @@ const blockDataType_1 = require("../enumerations/blockDataType");
|
|
|
7
7
|
const blockType_1 = require("../enumerations/blockType");
|
|
8
8
|
const block_1 = require("../errors/block");
|
|
9
9
|
const checksumMismatch_1 = require("../errors/checksumMismatch");
|
|
10
|
-
const
|
|
10
|
+
const blockLogger_1 = require("../logging/blockLogger");
|
|
11
|
+
const globalServiceProvider_1 = require("../services/globalServiceProvider");
|
|
11
12
|
const base_1 = require("./base");
|
|
12
13
|
/**
|
|
13
14
|
* RawDataBlock represents a block containing raw, unencrypted data.
|
|
14
15
|
* It provides basic data storage and validation capabilities.
|
|
15
16
|
*/
|
|
16
17
|
class RawDataBlock extends base_1.BaseBlock {
|
|
17
|
-
constructor(blockSize, data, dateCreated, checksum, blockType = blockType_1.BlockType.RawData, blockDataType = blockDataType_1.BlockDataType.RawData, canRead = true, canPersist = true) {
|
|
18
|
+
constructor(blockSize, data, dateCreated, checksum, blockType = blockType_1.BlockType.RawData, blockDataType = blockDataType_1.BlockDataType.RawData, canRead = true, canPersist = true, checksumService) {
|
|
18
19
|
if (!data) {
|
|
19
20
|
throw new Error('Data cannot be null or undefined');
|
|
20
21
|
}
|
|
@@ -22,10 +23,23 @@ class RawDataBlock extends base_1.BaseBlock {
|
|
|
22
23
|
if (data.length > blockSize) {
|
|
23
24
|
throw new Error(`Data length (${data.length}) exceeds block size (${blockSize})`);
|
|
24
25
|
}
|
|
25
|
-
|
|
26
|
+
// Calculate checksum if not provided
|
|
27
|
+
let calculatedChecksum;
|
|
28
|
+
if (checksum) {
|
|
29
|
+
calculatedChecksum = checksum;
|
|
30
|
+
}
|
|
31
|
+
else if (checksumService) {
|
|
32
|
+
calculatedChecksum = checksumService.calculateChecksum(data);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
// Use global service provider for backward compatibility
|
|
36
|
+
calculatedChecksum =
|
|
37
|
+
(0, globalServiceProvider_1.getGlobalServiceProvider)().checksumService.calculateChecksum(data);
|
|
38
|
+
}
|
|
26
39
|
const metadata = new blockMetadata_1.BlockMetadata(blockSize, blockType, blockDataType, data.length, dateCreated ?? now);
|
|
27
|
-
super(blockType, blockDataType,
|
|
40
|
+
super(blockType, blockDataType, calculatedChecksum, metadata, canRead, canPersist);
|
|
28
41
|
this._data = data;
|
|
42
|
+
this._checksumService = checksumService;
|
|
29
43
|
}
|
|
30
44
|
/**
|
|
31
45
|
* The raw data in the block
|
|
@@ -87,10 +101,21 @@ class RawDataBlock extends base_1.BaseBlock {
|
|
|
87
101
|
* @throws {ChecksumMismatchError} If validation fails due to checksum mismatch
|
|
88
102
|
*/
|
|
89
103
|
validateInternal() {
|
|
90
|
-
|
|
104
|
+
let calculatedChecksum;
|
|
105
|
+
if (this._checksumService) {
|
|
106
|
+
calculatedChecksum = this._checksumService.calculateChecksum(this._data);
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
// Use global service provider for backward compatibility
|
|
110
|
+
calculatedChecksum =
|
|
111
|
+
(0, globalServiceProvider_1.getGlobalServiceProvider)().checksumService.calculateChecksum(this._data);
|
|
112
|
+
}
|
|
91
113
|
// Compare checksums using the Checksum.equals() method
|
|
92
114
|
if (!calculatedChecksum.equals(this.idChecksum)) {
|
|
93
|
-
|
|
115
|
+
const error = new checksumMismatch_1.ChecksumMismatchError(this.idChecksum, calculatedChecksum);
|
|
116
|
+
// Log validation failure with error type and metadata
|
|
117
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, { blockSize: this.blockSize });
|
|
118
|
+
throw error;
|
|
94
119
|
}
|
|
95
120
|
}
|
|
96
121
|
/**
|