@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
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Block Logger Module
|
|
3
|
+
*
|
|
4
|
+
* Provides structured logging for block operations in BrightChain.
|
|
5
|
+
* Supports configurable log levels and JSON-formatted output.
|
|
6
|
+
*
|
|
7
|
+
* @module logging/blockLogger
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { BlockLogger, LogLevel } from 'brightchain-lib';
|
|
12
|
+
*
|
|
13
|
+
* const logger = new BlockLogger();
|
|
14
|
+
* logger.setLevel(LogLevel.DEBUG);
|
|
15
|
+
*
|
|
16
|
+
* logger.info('encrypt', { blockId: '0x123...', blockType: 'EncryptedBlock' });
|
|
17
|
+
* logger.error('decrypt', new Error('Decryption failed'), { blockId: '0x456...' });
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @see Requirements 8.1, 8.2, 8.3, 8.4, 8.5, 8.6
|
|
21
|
+
*/
|
|
22
|
+
/**
|
|
23
|
+
* Log levels for block operations.
|
|
24
|
+
* Ordered from most verbose (DEBUG) to least verbose (ERROR).
|
|
25
|
+
*/
|
|
26
|
+
export declare enum LogLevel {
|
|
27
|
+
DEBUG = "debug",
|
|
28
|
+
INFO = "info",
|
|
29
|
+
WARN = "warn",
|
|
30
|
+
ERROR = "error"
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Structured log entry for block operations.
|
|
34
|
+
* All entries are JSON-serializable for machine parsing.
|
|
35
|
+
*
|
|
36
|
+
* @see Requirement 8.4 - Structured JSON format
|
|
37
|
+
*/
|
|
38
|
+
export interface BlockLogEntry {
|
|
39
|
+
/** ISO 8601 timestamp of the log entry */
|
|
40
|
+
timestamp: string;
|
|
41
|
+
/** Log level (debug, info, warn, error) */
|
|
42
|
+
level: LogLevel;
|
|
43
|
+
/** Operation being performed (e.g., 'encrypt', 'decrypt', 'validate') */
|
|
44
|
+
operation: string;
|
|
45
|
+
/** Block ID (hex-encoded checksum) - not sensitive */
|
|
46
|
+
blockId?: string;
|
|
47
|
+
/** Block type name */
|
|
48
|
+
blockType?: string;
|
|
49
|
+
/** Additional metadata (never contains sensitive data) */
|
|
50
|
+
metadata?: Record<string, unknown>;
|
|
51
|
+
/** Error information if applicable */
|
|
52
|
+
error?: {
|
|
53
|
+
/** Error class name */
|
|
54
|
+
type: string;
|
|
55
|
+
/** Error message (sanitized) */
|
|
56
|
+
message: string;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Interface for block logging operations.
|
|
61
|
+
* Implementations must ensure sensitive data is never logged.
|
|
62
|
+
*
|
|
63
|
+
* @see Requirement 8.6 - No sensitive data in logs
|
|
64
|
+
*/
|
|
65
|
+
export interface IBlockLogger {
|
|
66
|
+
/**
|
|
67
|
+
* Log a debug-level message.
|
|
68
|
+
* @param operation - The operation being performed
|
|
69
|
+
* @param metadata - Optional metadata (must not contain sensitive data)
|
|
70
|
+
*/
|
|
71
|
+
debug(operation: string, metadata?: Record<string, unknown>): void;
|
|
72
|
+
/**
|
|
73
|
+
* Log an info-level message.
|
|
74
|
+
* @param operation - The operation being performed
|
|
75
|
+
* @param metadata - Optional metadata (must not contain sensitive data)
|
|
76
|
+
*/
|
|
77
|
+
info(operation: string, metadata?: Record<string, unknown>): void;
|
|
78
|
+
/**
|
|
79
|
+
* Log a warning-level message.
|
|
80
|
+
* @param operation - The operation being performed
|
|
81
|
+
* @param metadata - Optional metadata (must not contain sensitive data)
|
|
82
|
+
*/
|
|
83
|
+
warn(operation: string, metadata?: Record<string, unknown>): void;
|
|
84
|
+
/**
|
|
85
|
+
* Log an error-level message.
|
|
86
|
+
* @param operation - The operation being performed
|
|
87
|
+
* @param error - The error that occurred
|
|
88
|
+
* @param metadata - Optional metadata (must not contain sensitive data)
|
|
89
|
+
*/
|
|
90
|
+
error(operation: string, error: Error, metadata?: Record<string, unknown>): void;
|
|
91
|
+
/**
|
|
92
|
+
* Set the minimum log level.
|
|
93
|
+
* Messages below this level will be suppressed.
|
|
94
|
+
* @param level - The minimum log level to emit
|
|
95
|
+
*/
|
|
96
|
+
setLevel(level: LogLevel): void;
|
|
97
|
+
/**
|
|
98
|
+
* Get the current log level.
|
|
99
|
+
* @returns The current minimum log level
|
|
100
|
+
*/
|
|
101
|
+
getLevel(): LogLevel;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* BlockLogger implementation with configurable output and log levels.
|
|
105
|
+
*
|
|
106
|
+
* Features:
|
|
107
|
+
* - Structured JSON log entries
|
|
108
|
+
* - Configurable log levels with filtering
|
|
109
|
+
* - Automatic sensitive data sanitization
|
|
110
|
+
* - Configurable output destination
|
|
111
|
+
*
|
|
112
|
+
* @see Requirements 8.4, 8.5, 8.6
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```typescript
|
|
116
|
+
* // Create logger with custom output
|
|
117
|
+
* const entries: BlockLogEntry[] = [];
|
|
118
|
+
* const logger = new BlockLogger((entry) => entries.push(entry));
|
|
119
|
+
*
|
|
120
|
+
* // Set log level
|
|
121
|
+
* logger.setLevel(LogLevel.WARN);
|
|
122
|
+
*
|
|
123
|
+
* // These will be suppressed
|
|
124
|
+
* logger.debug('operation', { detail: 'value' });
|
|
125
|
+
* logger.info('operation', { detail: 'value' });
|
|
126
|
+
*
|
|
127
|
+
* // These will be logged
|
|
128
|
+
* logger.warn('operation', { detail: 'value' });
|
|
129
|
+
* logger.error('operation', new Error('Failed'), { detail: 'value' });
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
132
|
+
export declare class BlockLogger implements IBlockLogger {
|
|
133
|
+
private level;
|
|
134
|
+
private output;
|
|
135
|
+
private _silent;
|
|
136
|
+
/**
|
|
137
|
+
* Create a new BlockLogger.
|
|
138
|
+
* @param output - Optional custom output function. Defaults to console output.
|
|
139
|
+
*/
|
|
140
|
+
constructor(output?: (entry: BlockLogEntry) => void);
|
|
141
|
+
/**
|
|
142
|
+
* Enable or disable all output (useful for tests)
|
|
143
|
+
*/
|
|
144
|
+
set silent(value: boolean);
|
|
145
|
+
get silent(): boolean;
|
|
146
|
+
/**
|
|
147
|
+
* Set the minimum log level.
|
|
148
|
+
* @param level - The minimum log level to emit
|
|
149
|
+
*/
|
|
150
|
+
setLevel(level: LogLevel): void;
|
|
151
|
+
/**
|
|
152
|
+
* Get the current log level.
|
|
153
|
+
* @returns The current minimum log level
|
|
154
|
+
*/
|
|
155
|
+
getLevel(): LogLevel;
|
|
156
|
+
/**
|
|
157
|
+
* Check if a log level should be emitted based on current level setting.
|
|
158
|
+
* @param level - The level to check
|
|
159
|
+
* @returns true if the level should be emitted
|
|
160
|
+
*/
|
|
161
|
+
private shouldLog;
|
|
162
|
+
/**
|
|
163
|
+
* Create a log entry with common fields.
|
|
164
|
+
* @param level - The log level
|
|
165
|
+
* @param operation - The operation being performed
|
|
166
|
+
* @param metadata - Optional metadata
|
|
167
|
+
* @returns The log entry
|
|
168
|
+
*/
|
|
169
|
+
private createEntry;
|
|
170
|
+
/**
|
|
171
|
+
* Emit a log entry if the level is enabled.
|
|
172
|
+
* @param entry - The log entry to emit
|
|
173
|
+
*/
|
|
174
|
+
private emit;
|
|
175
|
+
/**
|
|
176
|
+
* Log a debug-level message.
|
|
177
|
+
* @param operation - The operation being performed
|
|
178
|
+
* @param metadata - Optional metadata (must not contain sensitive data)
|
|
179
|
+
*/
|
|
180
|
+
debug(operation: string, metadata?: Record<string, unknown>): void;
|
|
181
|
+
/**
|
|
182
|
+
* Log an info-level message.
|
|
183
|
+
* @param operation - The operation being performed
|
|
184
|
+
* @param metadata - Optional metadata (must not contain sensitive data)
|
|
185
|
+
*/
|
|
186
|
+
info(operation: string, metadata?: Record<string, unknown>): void;
|
|
187
|
+
/**
|
|
188
|
+
* Log a warning-level message.
|
|
189
|
+
* @param operation - The operation being performed
|
|
190
|
+
* @param metadata - Optional metadata (must not contain sensitive data)
|
|
191
|
+
*/
|
|
192
|
+
warn(operation: string, metadata?: Record<string, unknown>): void;
|
|
193
|
+
/**
|
|
194
|
+
* Log an error-level message.
|
|
195
|
+
* @param operation - The operation being performed
|
|
196
|
+
* @param error - The error that occurred
|
|
197
|
+
* @param metadata - Optional metadata (must not contain sensitive data)
|
|
198
|
+
*/
|
|
199
|
+
error(operation: string, error: Error, metadata?: Record<string, unknown>): void;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Global block logger instance.
|
|
203
|
+
* Can be used directly or replaced with a custom logger.
|
|
204
|
+
*/
|
|
205
|
+
export declare const blockLogger: BlockLogger;
|
|
206
|
+
/**
|
|
207
|
+
* Log a validation failure with error type and metadata.
|
|
208
|
+
* This is a convenience function for block validation operations.
|
|
209
|
+
*
|
|
210
|
+
* @param blockId - The block ID (hex-encoded checksum)
|
|
211
|
+
* @param blockType - The block type name
|
|
212
|
+
* @param error - The validation error
|
|
213
|
+
* @param metadata - Optional additional metadata
|
|
214
|
+
*
|
|
215
|
+
* @see Requirement 8.3 - Validation failure logging
|
|
216
|
+
*/
|
|
217
|
+
export declare function logValidationFailure(blockId: string | undefined, blockType: string | undefined, error: Error, metadata?: Record<string, unknown>): void;
|
|
218
|
+
//# sourceMappingURL=blockLogger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockLogger.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/logging/blockLogger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Block Logger Module
|
|
4
|
+
*
|
|
5
|
+
* Provides structured logging for block operations in BrightChain.
|
|
6
|
+
* Supports configurable log levels and JSON-formatted output.
|
|
7
|
+
*
|
|
8
|
+
* @module logging/blockLogger
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { BlockLogger, LogLevel } from 'brightchain-lib';
|
|
13
|
+
*
|
|
14
|
+
* const logger = new BlockLogger();
|
|
15
|
+
* logger.setLevel(LogLevel.DEBUG);
|
|
16
|
+
*
|
|
17
|
+
* logger.info('encrypt', { blockId: '0x123...', blockType: 'EncryptedBlock' });
|
|
18
|
+
* logger.error('decrypt', new Error('Decryption failed'), { blockId: '0x456...' });
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @see Requirements 8.1, 8.2, 8.3, 8.4, 8.5, 8.6
|
|
22
|
+
*/
|
|
23
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
24
|
+
exports.blockLogger = exports.BlockLogger = exports.LogLevel = void 0;
|
|
25
|
+
exports.logValidationFailure = logValidationFailure;
|
|
26
|
+
/**
|
|
27
|
+
* Log levels for block operations.
|
|
28
|
+
* Ordered from most verbose (DEBUG) to least verbose (ERROR).
|
|
29
|
+
*/
|
|
30
|
+
var LogLevel;
|
|
31
|
+
(function (LogLevel) {
|
|
32
|
+
LogLevel["DEBUG"] = "debug";
|
|
33
|
+
LogLevel["INFO"] = "info";
|
|
34
|
+
LogLevel["WARN"] = "warn";
|
|
35
|
+
LogLevel["ERROR"] = "error";
|
|
36
|
+
})(LogLevel || (exports.LogLevel = LogLevel = {}));
|
|
37
|
+
/**
|
|
38
|
+
* Numeric priority for log levels (higher = more severe).
|
|
39
|
+
* Used for log level filtering.
|
|
40
|
+
*/
|
|
41
|
+
const LOG_LEVEL_PRIORITY = {
|
|
42
|
+
[LogLevel.DEBUG]: 0,
|
|
43
|
+
[LogLevel.INFO]: 1,
|
|
44
|
+
[LogLevel.WARN]: 2,
|
|
45
|
+
[LogLevel.ERROR]: 3,
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* Default output function that writes to console.
|
|
49
|
+
* @param entry - The log entry to output
|
|
50
|
+
*/
|
|
51
|
+
function defaultOutput(entry) {
|
|
52
|
+
const json = JSON.stringify(entry);
|
|
53
|
+
switch (entry.level) {
|
|
54
|
+
case LogLevel.DEBUG:
|
|
55
|
+
console.debug(json);
|
|
56
|
+
break;
|
|
57
|
+
case LogLevel.INFO:
|
|
58
|
+
console.info(json);
|
|
59
|
+
break;
|
|
60
|
+
case LogLevel.WARN:
|
|
61
|
+
console.warn(json);
|
|
62
|
+
break;
|
|
63
|
+
case LogLevel.ERROR:
|
|
64
|
+
console.error(json);
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Patterns that indicate sensitive data that should never be logged.
|
|
70
|
+
* Used to sanitize metadata before logging.
|
|
71
|
+
*/
|
|
72
|
+
const SENSITIVE_PATTERNS = [
|
|
73
|
+
/privateKey/i,
|
|
74
|
+
/secretKey/i,
|
|
75
|
+
/password/i,
|
|
76
|
+
/secret/i,
|
|
77
|
+
/credential/i,
|
|
78
|
+
/token/i,
|
|
79
|
+
/apiKey/i,
|
|
80
|
+
/encryptionKey/i,
|
|
81
|
+
/decryptionKey/i,
|
|
82
|
+
/plaintext/i,
|
|
83
|
+
/cleartext/i,
|
|
84
|
+
];
|
|
85
|
+
/**
|
|
86
|
+
* Check if a key name indicates sensitive data.
|
|
87
|
+
* @param key - The key name to check
|
|
88
|
+
* @returns true if the key indicates sensitive data
|
|
89
|
+
*/
|
|
90
|
+
function isSensitiveKey(key) {
|
|
91
|
+
return SENSITIVE_PATTERNS.some((pattern) => pattern.test(key));
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Check if a value looks like a private key (long hex string in key-related context).
|
|
95
|
+
* @param value - The value to check
|
|
96
|
+
* @param key - Optional key name to check for safe fields
|
|
97
|
+
* @returns true if the value looks like a private key
|
|
98
|
+
*/
|
|
99
|
+
function looksLikePrivateKey(value, key) {
|
|
100
|
+
if (typeof value !== 'string') {
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
// Known safe fields that may contain long hex strings (like checksums/block IDs)
|
|
104
|
+
const safeHexFields = ['blockId', 'checksum', 'id', 'hash', 'signature'];
|
|
105
|
+
if (key &&
|
|
106
|
+
safeHexFields.some((safe) => key.toLowerCase().includes(safe.toLowerCase()))) {
|
|
107
|
+
return false;
|
|
108
|
+
}
|
|
109
|
+
// Private keys are typically 64+ hex characters
|
|
110
|
+
return /^(0x)?[0-9a-fA-F]{64,}$/.test(value);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Sanitize metadata to remove any sensitive data.
|
|
114
|
+
* @param metadata - The metadata to sanitize
|
|
115
|
+
* @returns Sanitized metadata safe for logging
|
|
116
|
+
*/
|
|
117
|
+
function sanitizeMetadata(metadata) {
|
|
118
|
+
if (!metadata) {
|
|
119
|
+
return undefined;
|
|
120
|
+
}
|
|
121
|
+
const sanitized = {};
|
|
122
|
+
for (const [key, value] of Object.entries(metadata)) {
|
|
123
|
+
// Skip sensitive keys entirely
|
|
124
|
+
if (isSensitiveKey(key)) {
|
|
125
|
+
sanitized[key] = '[REDACTED]';
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
// Check for values that look like private keys (pass key for context)
|
|
129
|
+
if (looksLikePrivateKey(value, key)) {
|
|
130
|
+
sanitized[key] = '[REDACTED]';
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
// Recursively sanitize nested objects
|
|
134
|
+
if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
|
|
135
|
+
sanitized[key] = sanitizeMetadata(value);
|
|
136
|
+
}
|
|
137
|
+
else if (Array.isArray(value)) {
|
|
138
|
+
// Sanitize array elements
|
|
139
|
+
sanitized[key] = value.map((item) => {
|
|
140
|
+
if (looksLikePrivateKey(item)) {
|
|
141
|
+
return '[REDACTED]';
|
|
142
|
+
}
|
|
143
|
+
if (item !== null && typeof item === 'object') {
|
|
144
|
+
return sanitizeMetadata(item);
|
|
145
|
+
}
|
|
146
|
+
return item;
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
sanitized[key] = value;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return sanitized;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* BlockLogger implementation with configurable output and log levels.
|
|
157
|
+
*
|
|
158
|
+
* Features:
|
|
159
|
+
* - Structured JSON log entries
|
|
160
|
+
* - Configurable log levels with filtering
|
|
161
|
+
* - Automatic sensitive data sanitization
|
|
162
|
+
* - Configurable output destination
|
|
163
|
+
*
|
|
164
|
+
* @see Requirements 8.4, 8.5, 8.6
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* ```typescript
|
|
168
|
+
* // Create logger with custom output
|
|
169
|
+
* const entries: BlockLogEntry[] = [];
|
|
170
|
+
* const logger = new BlockLogger((entry) => entries.push(entry));
|
|
171
|
+
*
|
|
172
|
+
* // Set log level
|
|
173
|
+
* logger.setLevel(LogLevel.WARN);
|
|
174
|
+
*
|
|
175
|
+
* // These will be suppressed
|
|
176
|
+
* logger.debug('operation', { detail: 'value' });
|
|
177
|
+
* logger.info('operation', { detail: 'value' });
|
|
178
|
+
*
|
|
179
|
+
* // These will be logged
|
|
180
|
+
* logger.warn('operation', { detail: 'value' });
|
|
181
|
+
* logger.error('operation', new Error('Failed'), { detail: 'value' });
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
class BlockLogger {
|
|
185
|
+
/**
|
|
186
|
+
* Create a new BlockLogger.
|
|
187
|
+
* @param output - Optional custom output function. Defaults to console output.
|
|
188
|
+
*/
|
|
189
|
+
constructor(output) {
|
|
190
|
+
this.level = LogLevel.INFO;
|
|
191
|
+
this._silent = false;
|
|
192
|
+
this.output = output ?? defaultOutput;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Enable or disable all output (useful for tests)
|
|
196
|
+
*/
|
|
197
|
+
set silent(value) {
|
|
198
|
+
this._silent = value;
|
|
199
|
+
}
|
|
200
|
+
get silent() {
|
|
201
|
+
return this._silent;
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Set the minimum log level.
|
|
205
|
+
* @param level - The minimum log level to emit
|
|
206
|
+
*/
|
|
207
|
+
setLevel(level) {
|
|
208
|
+
this.level = level;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Get the current log level.
|
|
212
|
+
* @returns The current minimum log level
|
|
213
|
+
*/
|
|
214
|
+
getLevel() {
|
|
215
|
+
return this.level;
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Check if a log level should be emitted based on current level setting.
|
|
219
|
+
* @param level - The level to check
|
|
220
|
+
* @returns true if the level should be emitted
|
|
221
|
+
*/
|
|
222
|
+
shouldLog(level) {
|
|
223
|
+
return LOG_LEVEL_PRIORITY[level] >= LOG_LEVEL_PRIORITY[this.level];
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Create a log entry with common fields.
|
|
227
|
+
* @param level - The log level
|
|
228
|
+
* @param operation - The operation being performed
|
|
229
|
+
* @param metadata - Optional metadata
|
|
230
|
+
* @returns The log entry
|
|
231
|
+
*/
|
|
232
|
+
createEntry(level, operation, metadata) {
|
|
233
|
+
const sanitizedMetadata = sanitizeMetadata(metadata);
|
|
234
|
+
const entry = {
|
|
235
|
+
timestamp: new Date().toISOString(),
|
|
236
|
+
level,
|
|
237
|
+
operation,
|
|
238
|
+
};
|
|
239
|
+
// Extract blockId and blockType from metadata if present
|
|
240
|
+
if (sanitizedMetadata) {
|
|
241
|
+
if (typeof sanitizedMetadata['blockId'] === 'string') {
|
|
242
|
+
entry.blockId = sanitizedMetadata['blockId'];
|
|
243
|
+
delete sanitizedMetadata['blockId'];
|
|
244
|
+
}
|
|
245
|
+
if (typeof sanitizedMetadata['blockType'] === 'string') {
|
|
246
|
+
entry.blockType = sanitizedMetadata['blockType'];
|
|
247
|
+
delete sanitizedMetadata['blockType'];
|
|
248
|
+
}
|
|
249
|
+
// Only include metadata if there are remaining fields
|
|
250
|
+
if (Object.keys(sanitizedMetadata).length > 0) {
|
|
251
|
+
entry.metadata = sanitizedMetadata;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
return entry;
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Emit a log entry if the level is enabled.
|
|
258
|
+
* @param entry - The log entry to emit
|
|
259
|
+
*/
|
|
260
|
+
emit(entry) {
|
|
261
|
+
// Skip output in silent mode (useful for tests)
|
|
262
|
+
if (this._silent)
|
|
263
|
+
return;
|
|
264
|
+
if (this.shouldLog(entry.level)) {
|
|
265
|
+
try {
|
|
266
|
+
this.output(entry);
|
|
267
|
+
}
|
|
268
|
+
catch {
|
|
269
|
+
// Never let logging failures affect block operations
|
|
270
|
+
// Silently ignore logging errors
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Log a debug-level message.
|
|
276
|
+
* @param operation - The operation being performed
|
|
277
|
+
* @param metadata - Optional metadata (must not contain sensitive data)
|
|
278
|
+
*/
|
|
279
|
+
debug(operation, metadata) {
|
|
280
|
+
const entry = this.createEntry(LogLevel.DEBUG, operation, metadata);
|
|
281
|
+
this.emit(entry);
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Log an info-level message.
|
|
285
|
+
* @param operation - The operation being performed
|
|
286
|
+
* @param metadata - Optional metadata (must not contain sensitive data)
|
|
287
|
+
*/
|
|
288
|
+
info(operation, metadata) {
|
|
289
|
+
const entry = this.createEntry(LogLevel.INFO, operation, metadata);
|
|
290
|
+
this.emit(entry);
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Log a warning-level message.
|
|
294
|
+
* @param operation - The operation being performed
|
|
295
|
+
* @param metadata - Optional metadata (must not contain sensitive data)
|
|
296
|
+
*/
|
|
297
|
+
warn(operation, metadata) {
|
|
298
|
+
const entry = this.createEntry(LogLevel.WARN, operation, metadata);
|
|
299
|
+
this.emit(entry);
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Log an error-level message.
|
|
303
|
+
* @param operation - The operation being performed
|
|
304
|
+
* @param error - The error that occurred
|
|
305
|
+
* @param metadata - Optional metadata (must not contain sensitive data)
|
|
306
|
+
*/
|
|
307
|
+
error(operation, error, metadata) {
|
|
308
|
+
const entry = this.createEntry(LogLevel.ERROR, operation, metadata);
|
|
309
|
+
entry.error = {
|
|
310
|
+
type: error.constructor.name,
|
|
311
|
+
message: error.message,
|
|
312
|
+
};
|
|
313
|
+
this.emit(entry);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
exports.BlockLogger = BlockLogger;
|
|
317
|
+
/**
|
|
318
|
+
* Global block logger instance.
|
|
319
|
+
* Can be used directly or replaced with a custom logger.
|
|
320
|
+
*/
|
|
321
|
+
exports.blockLogger = new BlockLogger();
|
|
322
|
+
/**
|
|
323
|
+
* Log a validation failure with error type and metadata.
|
|
324
|
+
* This is a convenience function for block validation operations.
|
|
325
|
+
*
|
|
326
|
+
* @param blockId - The block ID (hex-encoded checksum)
|
|
327
|
+
* @param blockType - The block type name
|
|
328
|
+
* @param error - The validation error
|
|
329
|
+
* @param metadata - Optional additional metadata
|
|
330
|
+
*
|
|
331
|
+
* @see Requirement 8.3 - Validation failure logging
|
|
332
|
+
*/
|
|
333
|
+
function logValidationFailure(blockId, blockType, error, metadata) {
|
|
334
|
+
exports.blockLogger.error('validate', error, {
|
|
335
|
+
blockId,
|
|
336
|
+
blockType,
|
|
337
|
+
errorType: error.constructor.name,
|
|
338
|
+
...metadata,
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
//# sourceMappingURL=blockLogger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockLogger.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/logging/blockLogger.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Logging Module for BrightChain
|
|
3
|
+
*
|
|
4
|
+
* This module exports logging utilities for block operations.
|
|
5
|
+
*
|
|
6
|
+
* @module logging
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import { BlockLogger, LogLevel, blockLogger } from 'brightchain-lib';
|
|
11
|
+
*
|
|
12
|
+
* // Use the global logger
|
|
13
|
+
* blockLogger.setLevel(LogLevel.DEBUG);
|
|
14
|
+
* blockLogger.info('encrypt', { blockId: '0x123...', recipientCount: 1 });
|
|
15
|
+
*
|
|
16
|
+
* // Or create a custom logger
|
|
17
|
+
* const customLogger = new BlockLogger((entry) => {
|
|
18
|
+
* // Custom output handling
|
|
19
|
+
* myLoggingService.log(entry);
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export * from './blockLogger';
|
|
24
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/logging/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Logging Module for BrightChain
|
|
4
|
+
*
|
|
5
|
+
* This module exports logging utilities for block operations.
|
|
6
|
+
*
|
|
7
|
+
* @module logging
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* import { BlockLogger, LogLevel, blockLogger } from 'brightchain-lib';
|
|
12
|
+
*
|
|
13
|
+
* // Use the global logger
|
|
14
|
+
* blockLogger.setLevel(LogLevel.DEBUG);
|
|
15
|
+
* blockLogger.info('encrypt', { blockId: '0x123...', recipientCount: 1 });
|
|
16
|
+
*
|
|
17
|
+
* // Or create a custom logger
|
|
18
|
+
* const customLogger = new BlockLogger((entry) => {
|
|
19
|
+
* // Custom output handling
|
|
20
|
+
* myLoggingService.log(entry);
|
|
21
|
+
* });
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
const tslib_1 = require("tslib");
|
|
26
|
+
tslib_1.__exportStar(require("./blockLogger"), exports);
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/logging/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAEH,wDAA8B"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Log levels for structured logging
|
|
3
|
+
*/
|
|
4
|
+
export declare enum LogLevel {
|
|
5
|
+
Debug = "DEBUG",
|
|
6
|
+
Info = "INFO",
|
|
7
|
+
Warning = "WARNING",
|
|
8
|
+
Error = "ERROR"
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Log entry structure
|
|
12
|
+
*/
|
|
13
|
+
export interface LogEntry {
|
|
14
|
+
timestamp: Date;
|
|
15
|
+
level: LogLevel;
|
|
16
|
+
operation: string;
|
|
17
|
+
message: string;
|
|
18
|
+
metadata?: Record<string, unknown>;
|
|
19
|
+
error?: Error;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Structured logger for BrightChain operations
|
|
23
|
+
*/
|
|
24
|
+
export declare class StructuredLogger {
|
|
25
|
+
private static instance;
|
|
26
|
+
private logs;
|
|
27
|
+
private maxLogs;
|
|
28
|
+
private minLevel;
|
|
29
|
+
private constructor();
|
|
30
|
+
static getInstance(): StructuredLogger;
|
|
31
|
+
setLevel(level: LogLevel): void;
|
|
32
|
+
debug(operation: string, message: string, metadata?: Record<string, unknown>): void;
|
|
33
|
+
info(operation: string, message: string, metadata?: Record<string, unknown>): void;
|
|
34
|
+
warn(operation: string, message: string, metadata?: Record<string, unknown>): void;
|
|
35
|
+
error(operation: string, message: string, error?: Error, metadata?: Record<string, unknown>): void;
|
|
36
|
+
private log;
|
|
37
|
+
private shouldLog;
|
|
38
|
+
private output;
|
|
39
|
+
getLogs(limit?: number): LogEntry[];
|
|
40
|
+
clear(): void;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=structuredLogger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"structuredLogger.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/logging/structuredLogger.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,QAAQ;IAClB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,QAAQ,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAC1C,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAA2B;IAE3C,OAAO;WAEO,WAAW,IAAI,gBAAgB;IAOtC,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI/B,KAAK,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,IAAI;IAIA,IAAI,CACT,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,IAAI;IAIA,IAAI,CACT,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,IAAI;IAIA,KAAK,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,KAAK,EACb,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,IAAI;IAOP,OAAO,CAAC,GAAG;IAyBX,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,MAAM;IAeP,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,EAAE;IAInC,KAAK,IAAI,IAAI;CAGrB"}
|