@brightchain/brightchain-lib 0.9.0 → 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/package.json +1 -1
- package/src/browser.d.ts +1 -1
- package/src/browser.d.ts.map +1 -1
- package/src/browser.js +2 -2
- package/src/browser.js.map +1 -1
- package/src/lib/blockMetadata.d.ts.map +1 -1
- package/src/lib/blockMetadata.js +1 -1
- package/src/lib/blockMetadata.js.map +1 -1
- package/src/lib/blocks/cbl.js +3 -3
- package/src/lib/blocks/cbl.js.map +1 -1
- package/src/lib/blocks/cblBase.d.ts +4 -4
- package/src/lib/blocks/cblBase.d.ts.map +1 -1
- package/src/lib/blocks/cblBase.js +27 -18
- 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 +78 -20
- 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 +57 -35
- 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 +26 -5
- 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/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.map +1 -1
- package/src/lib/documents/member/memberDocument.js +3 -1
- 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 +3 -15
- package/src/lib/documents/member/memberHydration.js.map +1 -1
- package/src/lib/documents/member/memberOperational.d.ts.map +1 -1
- package/src/lib/documents/member/memberOperational.js.map +1 -1
- package/src/lib/documents/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/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 +3 -2
- package/src/lib/encryptedBlockMetadata.d.ts.map +1 -1
- package/src/lib/encryptedBlockMetadata.js +3 -2
- package/src/lib/encryptedBlockMetadata.js.map +1 -1
- package/src/lib/ephemeralBlockMetadata.d.ts +4 -2
- package/src/lib/ephemeralBlockMetadata.d.ts.map +1 -1
- package/src/lib/ephemeralBlockMetadata.js +9 -8
- package/src/lib/ephemeralBlockMetadata.js.map +1 -1
- package/src/lib/errors/block/blockCapacity.d.ts.map +1 -1
- package/src/lib/errors/block/blockCapacity.js.map +1 -1
- package/src/lib/errors/block/blockError.d.ts.map +1 -1
- package/src/lib/errors/block/blockError.js.map +1 -1
- package/src/lib/errors/block/cannotDecrypt.d.ts.map +1 -1
- 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.map +1 -1
- package/src/lib/errors/bufferError.d.ts.map +1 -1
- package/src/lib/errors/bufferError.js.map +1 -1
- package/src/lib/errors/cblError.d.ts +1 -1
- package/src/lib/errors/cblError.d.ts.map +1 -1
- package/src/lib/errors/cblError.js +1 -1
- package/src/lib/errors/cblError.js.map +1 -1
- package/src/lib/errors/document.d.ts +1 -1
- package/src/lib/errors/document.d.ts.map +1 -1
- package/src/lib/errors/document.js +1 -1
- package/src/lib/errors/document.js.map +1 -1
- package/src/lib/errors/eciesError.d.ts +1 -1
- package/src/lib/errors/eciesError.d.ts.map +1 -1
- package/src/lib/errors/eciesError.js +1 -1
- package/src/lib/errors/eciesError.js.map +1 -1
- package/src/lib/errors/extendedCblError.d.ts +1 -1
- package/src/lib/errors/extendedCblError.d.ts.map +1 -1
- package/src/lib/errors/extendedCblError.js +1 -1
- package/src/lib/errors/extendedCblError.js.map +1 -1
- package/src/lib/errors/fecError.d.ts +1 -1
- package/src/lib/errors/fecError.d.ts.map +1 -1
- package/src/lib/errors/fecError.js +1 -1
- package/src/lib/errors/fecError.js.map +1 -1
- package/src/lib/errors/handleTupleError.d.ts +1 -1
- package/src/lib/errors/handleTupleError.d.ts.map +1 -1
- package/src/lib/errors/handleTupleError.js +1 -1
- package/src/lib/errors/handleTupleError.js.map +1 -1
- package/src/lib/errors/isolatedKeyError.d.ts +1 -1
- package/src/lib/errors/isolatedKeyError.d.ts.map +1 -1
- package/src/lib/errors/isolatedKeyError.js +1 -1
- package/src/lib/errors/isolatedKeyError.js.map +1 -1
- package/src/lib/errors/memberError.d.ts +1 -1
- package/src/lib/errors/memberError.d.ts.map +1 -1
- package/src/lib/errors/memberError.js +1 -1
- package/src/lib/errors/memberError.js.map +1 -1
- package/src/lib/errors/memoryTupleError.d.ts +1 -1
- package/src/lib/errors/memoryTupleError.d.ts.map +1 -1
- package/src/lib/errors/memoryTupleError.js +1 -1
- package/src/lib/errors/memoryTupleError.js.map +1 -1
- package/src/lib/errors/multiEncryptedError.d.ts +1 -1
- package/src/lib/errors/multiEncryptedError.d.ts.map +1 -1
- package/src/lib/errors/multiEncryptedError.js +1 -1
- package/src/lib/errors/multiEncryptedError.js.map +1 -1
- package/src/lib/errors/quorumError.d.ts +1 -1
- package/src/lib/errors/quorumError.d.ts.map +1 -1
- package/src/lib/errors/quorumError.js +1 -1
- package/src/lib/errors/quorumError.js.map +1 -1
- package/src/lib/errors/sealingError.d.ts +1 -1
- package/src/lib/errors/sealingError.d.ts.map +1 -1
- package/src/lib/errors/sealingError.js +1 -1
- package/src/lib/errors/sealingError.js.map +1 -1
- package/src/lib/errors/secureStorage.d.ts +1 -1
- package/src/lib/errors/secureStorage.d.ts.map +1 -1
- package/src/lib/errors/secureStorage.js +1 -1
- package/src/lib/errors/secureStorage.js.map +1 -1
- package/src/lib/errors/storeError.d.ts +1 -1
- package/src/lib/errors/storeError.d.ts.map +1 -1
- package/src/lib/errors/storeError.js +1 -1
- package/src/lib/errors/storeError.js.map +1 -1
- package/src/lib/errors/streamError.d.ts +1 -1
- package/src/lib/errors/streamError.d.ts.map +1 -1
- package/src/lib/errors/streamError.js +1 -1
- package/src/lib/errors/streamError.js.map +1 -1
- package/src/lib/errors/tupleError.d.ts.map +1 -1
- package/src/lib/errors/tupleError.js.map +1 -1
- package/src/lib/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/index.d.ts +5 -0
- package/src/lib/index.d.ts.map +1 -1
- package/src/lib/index.js +8 -0
- package/src/lib/index.js.map +1 -1
- package/src/lib/init.d.ts.map +1 -1
- package/src/lib/init.js +5 -5
- 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/metadata/index.d.ts +0 -1
- package/src/lib/interfaces/blocks/metadata/index.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 +9 -7
- package/src/lib/interfaces/serviceProvider.interface.d.ts.map +1 -1
- package/src/lib/interfaces/services/cblServices.d.ts +1 -1
- package/src/lib/interfaces/services/cblServices.d.ts.map +1 -1
- 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/logging/blockLogger.d.ts +6 -0
- package/src/lib/logging/blockLogger.d.ts.map +1 -1
- package/src/lib/logging/blockLogger.js +15 -1
- package/src/lib/logging/blockLogger.js.map +1 -1
- 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 +2 -1
- 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 +3 -3
- package/src/lib/quorumDataRecord.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.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/blockFormatService.d.ts +0 -15
- package/src/lib/services/blockFormatService.d.ts.map +1 -1
- package/src/lib/services/blockFormatService.js +2 -32
- package/src/lib/services/blockFormatService.js.map +1 -1
- package/src/lib/services/blockService.d.ts.map +1 -1
- package/src/lib/services/blockService.js +15 -15
- package/src/lib/services/blockService.js.map +1 -1
- package/src/lib/services/cblService.d.ts +3 -2
- package/src/lib/services/cblService.d.ts.map +1 -1
- package/src/lib/services/cblService.js +16 -16
- 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/member/memberCblService.d.ts.map +1 -1
- 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 +91 -54
- 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 -14
- 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 +6 -3
- 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.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 +16 -101
- package/src/lib/utils/constantTime.d.ts.map +1 -1
- package/src/lib/utils/constantTime.js +43 -156
- package/src/lib/utils/constantTime.js.map +1 -1
- package/src/lib/utils/constantTimeXor.d.ts.map +1 -1
- package/src/lib/utils/constantTimeXor.js.map +1 -1
- package/src/lib/utils/typeGuards.d.ts.map +1 -1
- package/src/lib/utils/typeGuards.js +1 -1
- package/src/lib/utils/typeGuards.js.map +1 -1
- 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/package.json
CHANGED
package/src/browser.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export * from './lib/stores/memoryBlockStore';
|
|
|
6
6
|
export { BaseBlock } from './lib/blocks/base';
|
|
7
7
|
export { createBlockHandle, isBlockHandle, type BlockHandle, } from './lib/blocks/handle';
|
|
8
8
|
export { RawDataBlock } from './lib/blocks/rawData';
|
|
9
|
-
export { constantTimeXor, constantTimeXorMultiple,
|
|
9
|
+
export { XorLengthMismatchError, constantTimeXor, constantTimeXorMultiple, } from './lib/utils/constantTimeXor';
|
|
10
10
|
export { ServiceProvider } from './lib/services/service.provider';
|
|
11
11
|
export { initializeBrightChain } from './lib/init';
|
|
12
12
|
export { Checksum } from './lib/types/checksum';
|
package/src/browser.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../brightchain-lib/src/browser.ts"],"names":[],"mappings":"AAGA,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAG9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EACL,eAAe,EACf,uBAAuB,
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../brightchain-lib/src/browser.ts"],"names":[],"mappings":"AAGA,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,mCAAmC,CAAC;AAClD,cAAc,qCAAqC,CAAC;AACpD,cAAc,+BAA+B,CAAC;AAG9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGnD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAC;AAG/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oDAAoD,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AAC/F,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,YAAY,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AACnF,YAAY,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAGrF,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChE,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,uCAAuC,CAAC"}
|
package/src/browser.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Minimal browser-compatible exports
|
|
3
3
|
// Only exports core functionality that works without Node.js modules
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.MessagePriority = exports.MessageEncryptionScheme = exports.MessageDeliveryStatus = exports.MessageCBLService = exports.ChecksumService = exports.CBLService = exports.Checksum = exports.initializeBrightChain = exports.ServiceProvider = exports.
|
|
5
|
+
exports.MessagePriority = exports.MessageEncryptionScheme = exports.MessageDeliveryStatus = exports.MessageCBLService = exports.ChecksumService = exports.CBLService = exports.Checksum = exports.initializeBrightChain = exports.ServiceProvider = exports.constantTimeXorMultiple = exports.constantTimeXor = exports.XorLengthMismatchError = exports.RawDataBlock = exports.isBlockHandle = exports.createBlockHandle = exports.BaseBlock = void 0;
|
|
6
6
|
const tslib_1 = require("tslib");
|
|
7
7
|
tslib_1.__exportStar(require("./lib/brightChain"), exports);
|
|
8
8
|
tslib_1.__exportStar(require("./lib/enumerations/blockSize"), exports);
|
|
@@ -19,9 +19,9 @@ var rawData_1 = require("./lib/blocks/rawData");
|
|
|
19
19
|
Object.defineProperty(exports, "RawDataBlock", { enumerable: true, get: function () { return rawData_1.RawDataBlock; } });
|
|
20
20
|
// Export constant-time XOR utilities (browser-compatible)
|
|
21
21
|
var constantTimeXor_1 = require("./lib/utils/constantTimeXor");
|
|
22
|
+
Object.defineProperty(exports, "XorLengthMismatchError", { enumerable: true, get: function () { return constantTimeXor_1.XorLengthMismatchError; } });
|
|
22
23
|
Object.defineProperty(exports, "constantTimeXor", { enumerable: true, get: function () { return constantTimeXor_1.constantTimeXor; } });
|
|
23
24
|
Object.defineProperty(exports, "constantTimeXorMultiple", { enumerable: true, get: function () { return constantTimeXor_1.constantTimeXorMultiple; } });
|
|
24
|
-
Object.defineProperty(exports, "XorLengthMismatchError", { enumerable: true, get: function () { return constantTimeXor_1.XorLengthMismatchError; } });
|
|
25
25
|
// Export ServiceProvider for advanced usage
|
|
26
26
|
var service_provider_1 = require("./lib/services/service.provider");
|
|
27
27
|
Object.defineProperty(exports, "ServiceProvider", { enumerable: true, get: function () { return service_provider_1.ServiceProvider; } });
|
package/src/browser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../brightchain-lib/src/browser.ts"],"names":[],"mappings":";AAAA,qCAAqC;AACrC,qEAAqE;;;;AAErE,4DAAkC;AAClC,uEAA6C;AAC7C,4EAAkD;AAClD,8EAAoD;AACpD,wEAA8C;AAE9C,qCAAqC;AACrC,0CAA8C;AAArC,iGAAA,SAAS,OAAA;AAClB,8CAI6B;AAH3B,2GAAA,iBAAiB,OAAA;AACjB,uGAAA,aAAa,OAAA;AAGf,gDAAoD;AAA3C,uGAAA,YAAY,OAAA;AAErB,0DAA0D;AAC1D,+DAIqC;AAHnC,kHAAA,eAAe,OAAA;AACf,0HAAA,uBAAuB,OAAA;
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../brightchain-lib/src/browser.ts"],"names":[],"mappings":";AAAA,qCAAqC;AACrC,qEAAqE;;;;AAErE,4DAAkC;AAClC,uEAA6C;AAC7C,4EAAkD;AAClD,8EAAoD;AACpD,wEAA8C;AAE9C,qCAAqC;AACrC,0CAA8C;AAArC,iGAAA,SAAS,OAAA;AAClB,8CAI6B;AAH3B,2GAAA,iBAAiB,OAAA;AACjB,uGAAA,aAAa,OAAA;AAGf,gDAAoD;AAA3C,uGAAA,YAAY,OAAA;AAErB,0DAA0D;AAC1D,+DAIqC;AAHnC,yHAAA,sBAAsB,OAAA;AACtB,kHAAA,eAAe,OAAA;AACf,0HAAA,uBAAuB,OAAA;AAGzB,4CAA4C;AAC5C,oEAAkE;AAAzD,mHAAA,eAAe,OAAA;AAExB,4CAA4C;AAC5C,mCAAmD;AAA1C,6GAAA,qBAAqB,OAAA;AAE9B,kDAAkD;AAClD,iDAAgD;AAAvC,oGAAA,QAAQ,OAAA;AAEjB,kBAAkB;AAClB,wDAAuD;AAA9C,wGAAA,UAAU,OAAA;AACnB,oEAAkE;AAAzD,mHAAA,eAAe,OAAA;AACxB,gFAA+E;AAAtE,sHAAA,iBAAiB,OAAA;AAE1B,wCAAwC;AACxC,4FAA2F;AAAlF,8HAAA,qBAAqB,OAAA;AAC9B,gGAA+F;AAAtF,kIAAA,uBAAuB,OAAA;AAChC,gFAA+E;AAAtE,kHAAA,eAAe,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockMetadata.d.ts","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/blockMetadata.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"blockMetadata.d.ts","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/blockMetadata.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAIhF;;;GAGG;AACH,qBAAa,aAAc,YAAW,kBAAkB;IACtD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAC1C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAO;gBAGlC,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,aAAa,EACvB,oBAAoB,EAAE,MAAM,EAC5B,WAAW,OAAa;IAS1B;;;OAGG;IACI,MAAM,IAAI,MAAM;IAUvB;;;;;;;;;;;;OAYG;WACW,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa;WAiBrC,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAChE,IAAI,EAAE,GAAG,GACR,CAAC;IAIJ,IAAW,IAAI,IAAI,SAAS,CAE3B;IACD,IAAW,IAAI,IAAI,SAAS,CAE3B;IACD,IAAW,QAAQ,IAAI,aAAa,CAEnC;IACD,IAAW,oBAAoB,IAAI,MAAM,CAExC;IACD,IAAW,WAAW,IAAI,IAAI,CAE7B;CACF"}
|
package/src/lib/blockMetadata.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BlockMetadata = void 0;
|
|
4
|
-
const typeGuards_1 = require("./utils/typeGuards");
|
|
5
4
|
const dateUtils_1 = require("./utils/dateUtils");
|
|
5
|
+
const typeGuards_1 = require("./utils/typeGuards");
|
|
6
6
|
/**
|
|
7
7
|
* BlockMetadata provides utility functions for working with block metadata.
|
|
8
8
|
* These functions ensure consistent metadata handling across the system.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockMetadata.js","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/blockMetadata.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"blockMetadata.js","sourceRoot":"","sources":["../../../../brightchain-lib/src/lib/blockMetadata.ts"],"names":[],"mappings":";;;AAKA,iDAA8C;AAC9C,mDAA4D;AAE5D;;;GAGG;AACH,MAAa,aAAa;IAOxB,YACE,IAAe,EACf,IAAe,EACf,QAAuB,EACvB,oBAA4B,EAC5B,WAAW,GAAG,IAAI,IAAI,EAAE;QAExB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;QAClD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IAClC,CAAC;IAED;;;OAGG;IACI,MAAM;QACX,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE;SAC5C,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;OAYG;IACI,MAAM,CAAC,QAAQ,CAAC,IAAY;QACjC,uCAAuC;QACvC,MAAM,IAAI,GAAG,IAAA,mCAAsB,EAAC,IAAI,CAAC,CAAC;QAE1C,yCAAyC;QACzC,MAAM,WAAW,GAAG,IAAA,qBAAS,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAEhD,yCAAyC;QACzC,OAAO,IAAI,aAAa,CACtB,IAAI,CAAC,IAAiB,EACtB,IAAI,CAAC,IAAiB,EACtB,IAAI,CAAC,QAAyB,EAC9B,IAAI,CAAC,oBAAoB,EACzB,WAAW,CACZ,CAAC;IACJ,CAAC;IAEM,MAAM,CAAC,sBAAsB,CAClC,IAAS;QAET,OAAO,EAAO,CAAC;IACjB,CAAC;IAED,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IACD,IAAW,oBAAoB;QAC7B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IACD,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF;AAtFD,sCAsFC"}
|
package/src/lib/blocks/cbl.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ConstituentBlockListBlock = void 0;
|
|
4
4
|
const blockEncryptionType_1 = require("../enumerations/blockEncryptionType");
|
|
5
|
-
const
|
|
5
|
+
const globalServiceProvider_1 = require("../services/globalServiceProvider");
|
|
6
6
|
const cblBase_1 = require("./cblBase");
|
|
7
7
|
/**
|
|
8
8
|
* Constituent Block List
|
|
@@ -55,7 +55,7 @@ class ConstituentBlockListBlock extends cblBase_1.CBLBase {
|
|
|
55
55
|
* @returns The maximum number of addresses
|
|
56
56
|
*/
|
|
57
57
|
get addressCapacity() {
|
|
58
|
-
return
|
|
58
|
+
return (0, globalServiceProvider_1.getGlobalServiceProvider)().cblService.calculateCBLAddressCapacity(this.blockSize, blockEncryptionType_1.BlockEncryptionType.None);
|
|
59
59
|
}
|
|
60
60
|
/**
|
|
61
61
|
* Get the maximum number of addresses that can be stored in an encrypted CBL block.
|
|
@@ -63,7 +63,7 @@ class ConstituentBlockListBlock extends cblBase_1.CBLBase {
|
|
|
63
63
|
* @returns The maximum number of addresses
|
|
64
64
|
*/
|
|
65
65
|
get encryptedAddressCapacity() {
|
|
66
|
-
return
|
|
66
|
+
return (0, globalServiceProvider_1.getGlobalServiceProvider)().cblService.calculateCBLAddressCapacity(this.blockSize, blockEncryptionType_1.BlockEncryptionType.SingleRecipient);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
exports.ConstituentBlockListBlock = ConstituentBlockListBlock;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cbl.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/cbl.ts"],"names":[],"mappings":";;;AACA,6EAA0E;AAI1E
|
|
1
|
+
{"version":3,"file":"cbl.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/cbl.ts"],"names":[],"mappings":";;;AACA,6EAA0E;AAI1E,6EAA6E;AAC7E,uCAAoC;AAEpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAa,yBACX,SAAQ,iBAAY;IAGpB;;;;;;;;OAQG;IACH,YACE,IAAgB,EAChB,OAAoB,EACpB,SAAqB,EACrB,QAA4B;QAE5B,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACH,IAAW,eAAe;QACxB,OAAO,IAAA,gDAAwB,GAAE,CAAC,UAAU,CAAC,2BAA2B,CACtE,IAAI,CAAC,SAAS,EACd,yCAAmB,CAAC,IAAI,CACzB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,IAAW,wBAAwB;QACjC,OAAO,IAAA,gDAAwB,GAAE,CAAC,UAAU,CAAC,2BAA2B,CACtE,IAAI,CAAC,SAAS,EACd,yCAAmB,CAAC,eAAe,CACpC,CAAC;IACJ,CAAC;CACF;AA7CD,8DA6CC"}
|
|
@@ -41,15 +41,15 @@ export declare abstract class CBLBase<TID extends PlatformID = Uint8Array> exten
|
|
|
41
41
|
*/
|
|
42
42
|
protected readonly _services?: ICBLServices<TID>;
|
|
43
43
|
/**
|
|
44
|
-
* Get the CBL service, either from injected services or
|
|
44
|
+
* Get the CBL service, either from injected services or global service provider.
|
|
45
45
|
* @returns The CBL service
|
|
46
46
|
*/
|
|
47
|
-
protected getCblService():
|
|
47
|
+
protected getCblService(): any;
|
|
48
48
|
/**
|
|
49
|
-
* Get the checksum service, either from injected services or
|
|
49
|
+
* Get the checksum service, either from injected services or global service provider.
|
|
50
50
|
* @returns The checksum service
|
|
51
51
|
*/
|
|
52
|
-
protected getChecksumService():
|
|
52
|
+
protected getChecksumService(): any;
|
|
53
53
|
/**
|
|
54
54
|
* Create a new CBL core
|
|
55
55
|
* @param data The data of the CBL
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cblBase.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/cblBase.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"cblBase.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/cblBase.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,mBAAmB,EAEnB,KAAK,UAAU,EAChB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,SAAS,EAAqB,MAAM,2BAA2B,CAAC;AAMzE,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAGlE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,8BAAsB,OAAO,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU,CAC/D,SAAQ,cAAc,CAAC,GAAG,CAC1B,YAAW,QAAQ,CAAC,GAAG,CAAC;IAExB,kCAAkC;IAClC,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAsC;IAEzE,2DAA2D;IAC3D,OAAO,CAAC,mBAAmB,CAAuB;IAElD;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC;IAEjD;;;OAGG;IACH,SAAS,CAAC,aAAa;IAOvB;;;OAGG;IACH,SAAS,CAAC,kBAAkB;IAO5B;;;;;;;;OAQG;gBAED,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EACpB,SAAS,CAAC,EAAE,SAAS,EACrB,QAAQ,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC;IAkG9B;;;OAGG;IACH,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAYvC;;OAEG;IACH,IAAW,eAAe,IAAI,OAAO,CAUpC;IAED;;;OAGG;IACH,IAAW,eAAe,IAAI,MAAM,CAanC;IAED;;OAEG;IACH,IAAW,kBAAkB,IAAI,MAAM,CAGtC;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,MAAM,CAG7B;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,OAAO,CAGlC;IAED;;OAEG;IACH,IAAW,gBAAgB,IAAI,mBAAmB,CAGjD;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,GAAG,CAG1B;IAED;;OAEG;IACH,IAAW,WAAW,IAAI,UAAU,CAGnC;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,QAAQ,EAAE,CAGjC;IAED;;OAEG;IACH,IAAoB,YAAY,IAAI,UAAU,CAE7C;IAED,IAAoB,aAAa,IAAI,MAAM,CAI1C;IAED;;OAEG;IACa,YAAY,IAAI,IAAI;IAapC;;OAEG;IACmB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBpD;;;OAGG;IACI,iBAAiB,IAAI,OAAO;IAcnC;;OAEG;IACH,IAAoB,eAAe,IAAI,UAAU,CAIhD;IAED;;OAEG;IACU,eAAe,CAAC,UAAU,EAAE;QACvC,OAAO,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;KAC/C,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;CA0BrC"}
|
|
@@ -10,7 +10,9 @@ const cblErrorType_1 = require("../enumerations/cblErrorType");
|
|
|
10
10
|
const ephemeralBlockMetadata_1 = require("../ephemeralBlockMetadata");
|
|
11
11
|
const block_1 = require("../errors/block");
|
|
12
12
|
const cblError_1 = require("../errors/cblError");
|
|
13
|
-
const
|
|
13
|
+
const securityAuditLogger_1 = require("../security/securityAuditLogger");
|
|
14
|
+
const globalServiceProvider_1 = require("../services/globalServiceProvider");
|
|
15
|
+
const constantTime_1 = require("../utils/constantTime");
|
|
14
16
|
const ephemeral_1 = require("./ephemeral");
|
|
15
17
|
const handle_1 = require("./handle");
|
|
16
18
|
const handleTuple_1 = require("./handleTuple");
|
|
@@ -40,18 +42,24 @@ const handleTuple_1 = require("./handleTuple");
|
|
|
40
42
|
*/
|
|
41
43
|
class CBLBase extends ephemeral_1.EphemeralBlock {
|
|
42
44
|
/**
|
|
43
|
-
* Get the CBL service, either from injected services or
|
|
45
|
+
* Get the CBL service, either from injected services or global service provider.
|
|
44
46
|
* @returns The CBL service
|
|
45
47
|
*/
|
|
46
48
|
getCblService() {
|
|
47
|
-
|
|
49
|
+
if (this._services?.cblService) {
|
|
50
|
+
return this._services.cblService;
|
|
51
|
+
}
|
|
52
|
+
return (0, globalServiceProvider_1.getGlobalServiceProvider)().cblService;
|
|
48
53
|
}
|
|
49
54
|
/**
|
|
50
|
-
* Get the checksum service, either from injected services or
|
|
55
|
+
* Get the checksum service, either from injected services or global service provider.
|
|
51
56
|
* @returns The checksum service
|
|
52
57
|
*/
|
|
53
58
|
getChecksumService() {
|
|
54
|
-
|
|
59
|
+
if (this._services?.checksumService) {
|
|
60
|
+
return this._services.checksumService;
|
|
61
|
+
}
|
|
62
|
+
return (0, globalServiceProvider_1.getGlobalServiceProvider)().checksumService;
|
|
55
63
|
}
|
|
56
64
|
/**
|
|
57
65
|
* Create a new CBL core
|
|
@@ -65,8 +73,9 @@ class CBLBase extends ephemeral_1.EphemeralBlock {
|
|
|
65
73
|
constructor(data, creator, blockSize, services) {
|
|
66
74
|
// Store services reference for later use
|
|
67
75
|
// Note: We need to access services before calling super(), so we use the parameter directly
|
|
68
|
-
const cblService = services?.cblService ??
|
|
69
|
-
const checksumService = services?.checksumService ??
|
|
76
|
+
const cblService = services?.cblService ?? (0, globalServiceProvider_1.getGlobalServiceProvider)().cblService;
|
|
77
|
+
const checksumService = services?.checksumService ??
|
|
78
|
+
(0, globalServiceProvider_1.getGlobalServiceProvider)().checksumService;
|
|
70
79
|
const isExtendedCbl = cblService.isExtendedHeader(data);
|
|
71
80
|
const checksum = checksumService.calculateChecksum(new Uint8Array(data));
|
|
72
81
|
// Use provided block size or calculate from data length
|
|
@@ -94,8 +103,8 @@ class CBLBase extends ephemeral_1.EphemeralBlock {
|
|
|
94
103
|
if (!memberIdBytes || memberIdBytes.length === 0) {
|
|
95
104
|
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidStructure, 'Failed to extract member ID bytes from provided creator');
|
|
96
105
|
}
|
|
97
|
-
// Use constant-time comparison for security
|
|
98
|
-
if (!(0,
|
|
106
|
+
// Use constant-time comparison for security (prevents timing attacks)
|
|
107
|
+
if (!(0, constantTime_1.constantTimeEqual)(creatorIdBytes, memberIdBytes)) {
|
|
99
108
|
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CreatorIdMismatch, undefined, {
|
|
100
109
|
headerCreatorId: (0, ecies_lib_1.uint8ArrayToHex)(cblService.idProvider.toBytes(creatorId)),
|
|
101
110
|
providedCreatorId: (0, ecies_lib_1.uint8ArrayToHex)(cblService.idProvider.toBytes(creator.id)),
|
|
@@ -112,7 +121,10 @@ class CBLBase extends ephemeral_1.EphemeralBlock {
|
|
|
112
121
|
this._cachedAddressCount = cblService.getCblAddressCount(this._data);
|
|
113
122
|
// Validate signature if creator has a public key
|
|
114
123
|
// Note: Signature validation requires the creator's public key
|
|
115
|
-
|
|
124
|
+
const signatureValid = creator && creator.publicKey && this.validateSignature();
|
|
125
|
+
// Log signature validation
|
|
126
|
+
securityAuditLogger_1.SecurityAuditLogger.getInstance().logSignatureValidation(signatureValid || false, checksum.toHex(), creator?.id?.toString());
|
|
127
|
+
if (creator && creator.publicKey && !signatureValid) {
|
|
116
128
|
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidSignature);
|
|
117
129
|
}
|
|
118
130
|
}
|
|
@@ -123,13 +135,11 @@ class CBLBase extends ephemeral_1.EphemeralBlock {
|
|
|
123
135
|
ensureHeaderValidated() {
|
|
124
136
|
if (!CBLBase.validatedHeaderCache.has(this._data)) {
|
|
125
137
|
if (!this._creator) {
|
|
126
|
-
|
|
138
|
+
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.CreatorUndefined);
|
|
139
|
+
}
|
|
140
|
+
if (!this.validateSignature()) {
|
|
141
|
+
throw new cblError_1.CblError(cblErrorType_1.CblErrorType.InvalidSignature);
|
|
127
142
|
}
|
|
128
|
-
// Temporarily disable signature validation to get basic functionality working
|
|
129
|
-
// TODO: Fix signature validation in CBL creation
|
|
130
|
-
// if (!this.validateSignature()) {
|
|
131
|
-
// throw new CblError(CblErrorType.InvalidSignature);
|
|
132
|
-
// }
|
|
133
143
|
CBLBase.validatedHeaderCache.set(this._data, true);
|
|
134
144
|
}
|
|
135
145
|
}
|
|
@@ -218,8 +228,7 @@ class CBLBase extends ephemeral_1.EphemeralBlock {
|
|
|
218
228
|
return this.addressData;
|
|
219
229
|
}
|
|
220
230
|
get totalOverhead() {
|
|
221
|
-
return (super.totalOverhead +
|
|
222
|
-
this.getCblService().getHeaderLength(this.data));
|
|
231
|
+
return (super.totalOverhead + this.getCblService().getHeaderLength(this.data));
|
|
223
232
|
}
|
|
224
233
|
/**
|
|
225
234
|
* Validate the CBL structure and metadata
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cblBase.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/cblBase.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"cblBase.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/cblBase.ts"],"names":[],"mappings":";;;AAAA,0DAKoC;AACpC,+EAA4E;AAC5E,iEAA0D;AAC1D,yDAAyE;AACzE,yDAAkD;AAClD,+DAA4D;AAC5D,sEAAmE;AACnE,2CAAmD;AACnD,iDAA8C;AAG9C,yEAAsE;AACtE,6EAA6E;AAE7E,wDAA0D;AAC1D,2CAA6C;AAC7C,qCAAsD;AACtD,+CAAiD;AAGjD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAsB,OACpB,SAAQ,0BAAmB;IAe3B;;;OAGG;IACO,aAAa;QACrB,IAAI,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QACnC,CAAC;QACD,OAAO,IAAA,gDAAwB,GAAO,CAAC,UAAU,CAAC;IACpD,CAAC;IAED;;;OAGG;IACO,kBAAkB;QAC1B,IAAI,IAAI,CAAC,SAAS,EAAE,eAAe,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;QACxC,CAAC;QACD,OAAO,IAAA,gDAAwB,GAAO,CAAC,eAAe,CAAC;IACzD,CAAC;IAED;;;;;;;;OAQG;IACH,YACE,IAAgB,EAChB,OAAoB,EACpB,SAAqB,EACrB,QAA4B;QAE5B,yCAAyC;QACzC,4FAA4F;QAC5F,MAAM,UAAU,GACd,QAAQ,EAAE,UAAU,IAAI,IAAA,gDAAwB,GAAO,CAAC,UAAU,CAAC;QACrE,MAAM,eAAe,GACnB,QAAQ,EAAE,eAAe;YACzB,IAAA,gDAAwB,GAAO,CAAC,eAAe,CAAC;QAElD,MAAM,aAAa,GAAG,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,eAAe,CAAC,iBAAiB,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACzE,wDAAwD;QACxD,MAAM,kBAAkB,GAAG,SAAS,IAAI,IAAA,6BAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,aAAa;YAC7B,CAAC,CAAC,mBAAS,CAAC,iCAAiC;YAC7C,CAAC,CAAC,mBAAS,CAAC,oBAAoB,CAAC;QACnC,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAEpD,IAAI,SAAc,CAAC;QACnB,IAAI,CAAC;YACH,SAAS,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,wEAAwE;YACxE,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QACzB,CAAC;QAED,2EAA2E;QAC3E,IAAI,OAAO,YAAY,kBAAM,EAAE,CAAC;YAC9B,MAAM,cAAc,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAChE,MAAM,aAAa,GAAG,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAEhE,yCAAyC;YACzC,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnD,MAAM,IAAI,mBAAQ,CAChB,2BAAY,CAAC,gBAAgB,EAC7B,oDAAoD,CACrD,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACjD,MAAM,IAAI,mBAAQ,CAChB,2BAAY,CAAC,gBAAgB,EAC7B,yDAAyD,CAC1D,CAAC;YACJ,CAAC;YAED,sEAAsE;YACtE,IAAI,CAAC,IAAA,gCAAiB,EAAC,cAAc,EAAE,aAAa,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,mBAAQ,CAAC,2BAAY,CAAC,iBAAiB,EAAE,SAAS,EAAE;oBAC5D,eAAe,EAAE,IAAA,2BAAe,EAC9B,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CACzC;oBACD,iBAAiB,EAAE,IAAA,2BAAe,EAChC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAC1C;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,KAAK,CACH,SAAS,EACT,uBAAa,CAAC,uBAAuB,EACrC,IAAI,EACJ,QAAQ,EACR,IAAI,+CAAsB,CACxB,kBAAkB,EAClB,SAAS,EACT,uBAAa,CAAC,uBAAuB,EACrC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,EACnC,OAAO,YAAY,kBAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,OAAuB,EAC9D,WAAW,CACZ,CACF,CAAC;QApHJ,2DAA2D;QACnD,wBAAmB,GAAkB,IAAI,CAAC;QAqHhD,8CAA8C;QAC9C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAE1B,uDAAuD;QACvD,4DAA4D;QAC5D,IAAI,CAAC,mBAAmB,GAAG,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAErE,iDAAiD;QACjD,+DAA+D;QAC/D,MAAM,cAAc,GAClB,OAAO,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE3D,2BAA2B;QAC3B,yCAAmB,CAAC,WAAW,EAAE,CAAC,sBAAsB,CACtD,cAAc,IAAI,KAAK,EACvB,QAAQ,CAAC,KAAK,EAAE,EAChB,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,CACxB,CAAC;QAEF,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,CAAC;YACpD,MAAM,IAAI,mBAAQ,CAAC,2BAAY,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;;OAGG;IACO,qBAAqB;QAC7B,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,IAAI,mBAAQ,CAAC,2BAAY,CAAC,gBAAgB,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;gBAC9B,MAAM,IAAI,mBAAQ,CAAC,2BAAY,CAAC,gBAAgB,CAAC,CAAC;YACpD,CAAC;YACD,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAW,eAAe;QACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACxC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACrD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;IAC/D,CAAC;IAED;;;OAGG;IACH,IAAW,eAAe;QACxB,6DAA6D;QAC7D,IAAI,IAAI,CAAC,mBAAmB,KAAK,IAAI,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,mBAAmB,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,kBAAkB,CAChE,IAAI,CAAC,KAAK,CACX,CAAC;QACF,iEAAiE;QACjE,qDAAqD;QACrD,OAAO,IAAI,CAAC,mBAA6B,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAW,kBAAkB;QAC3B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,IAAW,aAAa;QACtB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvD,CAAC;IAED;;OAEG;IACH,IAAW,WAAW;QACpB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,IAAoB,YAAY;QAC9B,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,IAAoB,aAAa;QAC/B,OAAO,CACL,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CACtE,CAAC;IACJ,CAAC;IAED;;OAEG;IACa,YAAY;QAC1B,8BAA8B;QAC9B,KAAK,CAAC,YAAY,EAAE,CAAC;QAErB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,mBAAQ,CAAC,2BAAY,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,mBAAQ,CAAC,2BAAY,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;OAEG;IACa,KAAK,CAAC,aAAa;QACjC,8BAA8B;QAC9B,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC;QAE5B,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,IAAI,mBAAQ,CAAC,2BAAY,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,mBAAQ,CAAC,2BAAY,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,IAAI,mBAAQ,CAAC,2BAAY,CAAC,gBAAgB,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,iBAAiB;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,gDAAgD;QAChD,0EAA0E;QAC1E,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,iBAAiB,CAC3C,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,SAAS,CACf,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAoB,eAAe;QACjC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,eAAe,CAAC,UAE5B;QACC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,wBAAgB,CAAC,2CAAoB,CAAC,kBAAkB,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,YAAY,GAA4B,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YACpD,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAClB,IAAA,mCAA0B,EACxB,0BAAc,EACd,UAAU,EACV,IAAI,CAAC,SAAS,EACd,EAAE,EACF,IAAI,EAAE,UAAU;YAChB,IAAI,CACL,CACF,CACF,CAAC;YACF,YAAY,CAAC,IAAI,CAAC,IAAI,8BAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;;AAzWH,0BA0WC;AAtWC,kCAAkC;AACnB,4BAAoB,GAAG,IAAI,OAAO,EAAuB,AAArC,CAAsC"}
|
|
@@ -6,9 +6,33 @@ import { BlockSize } from '../enumerations/blockSize';
|
|
|
6
6
|
import { BlockType } from '../enumerations/blockType';
|
|
7
7
|
import { IEncryptedBlock } from '../interfaces/blocks/encrypted';
|
|
8
8
|
import { IEphemeralBlock } from '../interfaces/blocks/ephemeral';
|
|
9
|
-
import { ServiceProvider } from '../services/service.provider';
|
|
10
9
|
import { Checksum } from '../types/checksum';
|
|
11
10
|
import { EphemeralBlock } from './ephemeral';
|
|
11
|
+
/**
|
|
12
|
+
* Minimal service provider interface to avoid circular dependencies.
|
|
13
|
+
* Only includes the services that EncryptedBlock actually uses.
|
|
14
|
+
*/
|
|
15
|
+
interface IEncryptedBlockServices<TID extends PlatformID> {
|
|
16
|
+
idProvider: TypedIdProviderWrapper<TID>;
|
|
17
|
+
eciesService: {
|
|
18
|
+
parseSingleEncryptedHeader(...args: unknown[]): ISingleEncryptedParsedHeader;
|
|
19
|
+
parseMultiEncryptedHeader(...args: unknown[]): IMultiEncryptedParsedHeader;
|
|
20
|
+
};
|
|
21
|
+
blockService: {
|
|
22
|
+
decrypt(creator: Member<TID>, block: unknown, newBlockType: BlockType): Promise<unknown>;
|
|
23
|
+
decryptMultiple(creator: Member<TID>, block: unknown): Promise<unknown>;
|
|
24
|
+
};
|
|
25
|
+
blockCapacityCalculator: {
|
|
26
|
+
calculateCapacity(options: {
|
|
27
|
+
blockSize: BlockSize;
|
|
28
|
+
blockType: BlockType;
|
|
29
|
+
encryptionType: BlockEncryptionType;
|
|
30
|
+
recipientCount?: number;
|
|
31
|
+
}): {
|
|
32
|
+
availableCapacity: number;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
}
|
|
12
36
|
/**
|
|
13
37
|
* Base class for encrypted blocks.
|
|
14
38
|
* Adds encryption-specific header data and overhead calculations.
|
|
@@ -83,9 +107,13 @@ export declare class EncryptedBlock<TID extends PlatformID = Uint8Array> extends
|
|
|
83
107
|
protected readonly _encryptionType: BlockEncryptionType;
|
|
84
108
|
protected readonly _recipients: Array<TID>;
|
|
85
109
|
protected readonly _recipientWithKey: Member<TID>;
|
|
86
|
-
protected readonly _serviceProvider:
|
|
110
|
+
protected readonly _serviceProvider: IEncryptedBlockServices<TID>;
|
|
111
|
+
/**
|
|
112
|
+
* Get the service provider for this block
|
|
113
|
+
*/
|
|
114
|
+
protected get serviceProvider(): IEncryptedBlockServices<TID>;
|
|
87
115
|
protected readonly _idProvider: TypedIdProviderWrapper<TID>;
|
|
88
|
-
protected _cachedEncryptionDetails?: ISingleEncryptedParsedHeader | IMultiEncryptedParsedHeader<
|
|
116
|
+
protected _cachedEncryptionDetails?: ISingleEncryptedParsedHeader | IMultiEncryptedParsedHeader<PlatformID>;
|
|
89
117
|
/**
|
|
90
118
|
* Creates an instance of EncryptedBlock.
|
|
91
119
|
* @param type - The type of the block
|
|
@@ -107,7 +135,7 @@ export declare class EncryptedBlock<TID extends PlatformID = Uint8Array> extends
|
|
|
107
135
|
*/
|
|
108
136
|
canEncrypt(): boolean;
|
|
109
137
|
canMultiEncrypt(recipientCount: number): boolean;
|
|
110
|
-
encrypt
|
|
138
|
+
encrypt(): Promise<IEncryptedBlock<TID>>;
|
|
111
139
|
/**
|
|
112
140
|
* The type of encryption used for the block
|
|
113
141
|
*/
|
|
@@ -120,7 +148,7 @@ export declare class EncryptedBlock<TID extends PlatformID = Uint8Array> extends
|
|
|
120
148
|
/**
|
|
121
149
|
* The encryption details parsed from the header
|
|
122
150
|
*/
|
|
123
|
-
get encryptionDetails(): ISingleEncryptedParsedHeader | IMultiEncryptedParsedHeader<
|
|
151
|
+
get encryptionDetails(): ISingleEncryptedParsedHeader | IMultiEncryptedParsedHeader<PlatformID>;
|
|
124
152
|
decrypt<D extends IEphemeralBlock<TID>>(newBlockType: BlockType): Promise<D>;
|
|
125
153
|
/**
|
|
126
154
|
* The block type stored in the header
|
|
@@ -182,4 +210,5 @@ export declare class EncryptedBlock<TID extends PlatformID = Uint8Array> extends
|
|
|
182
210
|
*/
|
|
183
211
|
validate(): void;
|
|
184
212
|
}
|
|
213
|
+
export {};
|
|
185
214
|
//# sourceMappingURL=encrypted.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encrypted.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/encrypted.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"encrypted.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/blocks/encrypted.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EncryptedBlock = void 0;
|
|
4
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
5
4
|
const ecies_lib_1 = require("@digitaldefiance/ecies-lib");
|
|
6
5
|
const browserConfig_1 = require("../browserConfig");
|
|
7
6
|
const encryptedBlockMetadata_1 = require("../encryptedBlockMetadata");
|
|
@@ -12,7 +11,7 @@ const blockType_1 = require("../enumerations/blockType");
|
|
|
12
11
|
const blockValidationErrorType_1 = require("../enumerations/blockValidationErrorType");
|
|
13
12
|
const block_1 = require("../errors/block");
|
|
14
13
|
const blockLogger_1 = require("../logging/blockLogger");
|
|
15
|
-
const
|
|
14
|
+
const globalServiceProvider_1 = require("../services/globalServiceProvider");
|
|
16
15
|
const ephemeral_1 = require("./ephemeral");
|
|
17
16
|
/**
|
|
18
17
|
* Base class for encrypted blocks.
|
|
@@ -85,6 +84,12 @@ const ephemeral_1 = require("./ephemeral");
|
|
|
85
84
|
* @see Requirements 2.2, 2.3, 3.3, 8.4
|
|
86
85
|
*/
|
|
87
86
|
class EncryptedBlock extends ephemeral_1.EphemeralBlock {
|
|
87
|
+
/**
|
|
88
|
+
* Get the service provider for this block
|
|
89
|
+
*/
|
|
90
|
+
get serviceProvider() {
|
|
91
|
+
return this._serviceProvider;
|
|
92
|
+
}
|
|
88
93
|
/**
|
|
89
94
|
* Creates an instance of EncryptedBlock.
|
|
90
95
|
* @param type - The type of the block
|
|
@@ -98,7 +103,7 @@ class EncryptedBlock extends ephemeral_1.EphemeralBlock {
|
|
|
98
103
|
constructor(type, dataType, data, checksum, metadata, recipientWithKey, canRead = true, canPersist = true) {
|
|
99
104
|
super(type, dataType, data, checksum, metadata, canRead, canPersist);
|
|
100
105
|
this._cachedEncryptionDetails = undefined;
|
|
101
|
-
this._serviceProvider =
|
|
106
|
+
this._serviceProvider = (0, globalServiceProvider_1.getGlobalServiceProvider)();
|
|
102
107
|
this._idProvider = this._serviceProvider.idProvider;
|
|
103
108
|
// Read encryption type directly from data to avoid circular dependency
|
|
104
109
|
const blockEncryptionType = data[0];
|
|
@@ -321,7 +326,10 @@ class EncryptedBlock extends ephemeral_1.EphemeralBlock {
|
|
|
321
326
|
const expectedHeaderLength = this.layerOverheadSize;
|
|
322
327
|
if (this.layerHeaderData.length !== expectedHeaderLength) {
|
|
323
328
|
const error = new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.InvalidEncryptionHeaderLength);
|
|
324
|
-
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
329
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
330
|
+
blockSize: this.blockSize,
|
|
331
|
+
encryptionType: blockEncryptionType_1.BlockEncryptionType[this.encryptionType],
|
|
332
|
+
});
|
|
325
333
|
throw error;
|
|
326
334
|
}
|
|
327
335
|
if (this.encryptionType === blockEncryptionType_1.BlockEncryptionType.SingleRecipient) {
|
|
@@ -330,17 +338,26 @@ class EncryptedBlock extends ephemeral_1.EphemeralBlock {
|
|
|
330
338
|
// Validate individual components
|
|
331
339
|
if (details.ephemeralPublicKey.length !== ecies_lib_1.ECIES.PUBLIC_KEY_LENGTH) {
|
|
332
340
|
const error = new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.InvalidEphemeralPublicKeyLength);
|
|
333
|
-
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
341
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
342
|
+
blockSize: this.blockSize,
|
|
343
|
+
encryptionType: blockEncryptionType_1.BlockEncryptionType[this.encryptionType],
|
|
344
|
+
});
|
|
334
345
|
throw error;
|
|
335
346
|
}
|
|
336
347
|
if (details.iv.length !== ecies_lib_1.ECIES.IV_SIZE) {
|
|
337
348
|
const error = new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.InvalidIVLength);
|
|
338
|
-
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
349
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
350
|
+
blockSize: this.blockSize,
|
|
351
|
+
encryptionType: blockEncryptionType_1.BlockEncryptionType[this.encryptionType],
|
|
352
|
+
});
|
|
339
353
|
throw error;
|
|
340
354
|
}
|
|
341
355
|
if (details.authTag.length !== ecies_lib_1.ECIES.AUTH_TAG_SIZE) {
|
|
342
356
|
const error = new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.InvalidAuthTagLength);
|
|
343
|
-
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
357
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
358
|
+
blockSize: this.blockSize,
|
|
359
|
+
encryptionType: blockEncryptionType_1.BlockEncryptionType[this.encryptionType],
|
|
360
|
+
});
|
|
344
361
|
throw error;
|
|
345
362
|
}
|
|
346
363
|
}
|
|
@@ -349,24 +366,37 @@ class EncryptedBlock extends ephemeral_1.EphemeralBlock {
|
|
|
349
366
|
.encryptionDetails;
|
|
350
367
|
if (details.recipientCount < 2) {
|
|
351
368
|
const error = new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.InvalidRecipientCount);
|
|
352
|
-
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
369
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
370
|
+
blockSize: this.blockSize,
|
|
371
|
+
encryptionType: blockEncryptionType_1.BlockEncryptionType[this.encryptionType],
|
|
372
|
+
recipientCount: details.recipientCount,
|
|
373
|
+
});
|
|
353
374
|
throw error;
|
|
354
375
|
}
|
|
355
376
|
else if (details.recipientIds.length !== details.recipientCount) {
|
|
356
377
|
const error = new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.InvalidRecipientIds);
|
|
357
|
-
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
378
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
379
|
+
blockSize: this.blockSize,
|
|
380
|
+
encryptionType: blockEncryptionType_1.BlockEncryptionType[this.encryptionType],
|
|
381
|
+
});
|
|
358
382
|
throw error;
|
|
359
383
|
}
|
|
360
384
|
else if (details.recipientIds
|
|
361
385
|
.map((id) => this._idProvider.toBytes(id))
|
|
362
386
|
.some((id) => id.length !== id.byteLength)) {
|
|
363
387
|
const error = new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.InvalidRecipientIds);
|
|
364
|
-
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
388
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
389
|
+
blockSize: this.blockSize,
|
|
390
|
+
encryptionType: blockEncryptionType_1.BlockEncryptionType[this.encryptionType],
|
|
391
|
+
});
|
|
365
392
|
throw error;
|
|
366
393
|
}
|
|
367
394
|
else if (details.recipientKeys.some((k) => k.length !== ecies_lib_1.ECIES.MULTIPLE.ENCRYPTED_KEY_SIZE)) {
|
|
368
395
|
const error = new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.InvalidRecipientKeys);
|
|
369
|
-
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
396
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
397
|
+
blockSize: this.blockSize,
|
|
398
|
+
encryptionType: blockEncryptionType_1.BlockEncryptionType[this.encryptionType],
|
|
399
|
+
});
|
|
370
400
|
throw error;
|
|
371
401
|
}
|
|
372
402
|
}
|
|
@@ -385,7 +415,10 @@ class EncryptedBlock extends ephemeral_1.EphemeralBlock {
|
|
|
385
415
|
recipientCount: this.recipients.length,
|
|
386
416
|
}).availableCapacity) {
|
|
387
417
|
const error = new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.DataLengthExceedsCapacity);
|
|
388
|
-
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
418
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
419
|
+
blockSize: this.blockSize,
|
|
420
|
+
lengthBeforeEncryption: this.lengthBeforeEncryption,
|
|
421
|
+
});
|
|
389
422
|
throw error;
|
|
390
423
|
}
|
|
391
424
|
// Validate encrypted length
|
|
@@ -406,7 +439,10 @@ class EncryptedBlock extends ephemeral_1.EphemeralBlock {
|
|
|
406
439
|
const expectedHeaderLength = this.layerOverheadSize;
|
|
407
440
|
if (this.layerHeaderData.length !== expectedHeaderLength) {
|
|
408
441
|
const error = new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.InvalidEncryptionHeaderLength);
|
|
409
|
-
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
442
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
443
|
+
blockSize: this.blockSize,
|
|
444
|
+
encryptionType: blockEncryptionType_1.BlockEncryptionType[this._encryptionType],
|
|
445
|
+
});
|
|
410
446
|
throw error;
|
|
411
447
|
}
|
|
412
448
|
if (this._encryptionType === blockEncryptionType_1.BlockEncryptionType.SingleRecipient) {
|
|
@@ -414,17 +450,26 @@ class EncryptedBlock extends ephemeral_1.EphemeralBlock {
|
|
|
414
450
|
// Validate individual components
|
|
415
451
|
if (details.ephemeralPublicKey.length !== ecies_lib_1.ECIES.PUBLIC_KEY_LENGTH) {
|
|
416
452
|
const error = new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.InvalidEphemeralPublicKeyLength);
|
|
417
|
-
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
453
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
454
|
+
blockSize: this.blockSize,
|
|
455
|
+
encryptionType: blockEncryptionType_1.BlockEncryptionType[this._encryptionType],
|
|
456
|
+
});
|
|
418
457
|
throw error;
|
|
419
458
|
}
|
|
420
459
|
if (details.iv.length !== ecies_lib_1.ECIES.IV_SIZE) {
|
|
421
460
|
const error = new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.InvalidIVLength);
|
|
422
|
-
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
461
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
462
|
+
blockSize: this.blockSize,
|
|
463
|
+
encryptionType: blockEncryptionType_1.BlockEncryptionType[this._encryptionType],
|
|
464
|
+
});
|
|
423
465
|
throw error;
|
|
424
466
|
}
|
|
425
467
|
if (details.authTag.length !== ecies_lib_1.ECIES.AUTH_TAG_SIZE) {
|
|
426
468
|
const error = new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.InvalidAuthTagLength);
|
|
427
|
-
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
469
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
470
|
+
blockSize: this.blockSize,
|
|
471
|
+
encryptionType: blockEncryptionType_1.BlockEncryptionType[this._encryptionType],
|
|
472
|
+
});
|
|
428
473
|
throw error;
|
|
429
474
|
}
|
|
430
475
|
}
|
|
@@ -432,17 +477,27 @@ class EncryptedBlock extends ephemeral_1.EphemeralBlock {
|
|
|
432
477
|
const details = this.encryptionDetails;
|
|
433
478
|
if (details.recipientCount < 2) {
|
|
434
479
|
const error = new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.InvalidRecipientCount);
|
|
435
|
-
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
480
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
481
|
+
blockSize: this.blockSize,
|
|
482
|
+
encryptionType: blockEncryptionType_1.BlockEncryptionType[this._encryptionType],
|
|
483
|
+
recipientCount: details.recipientCount,
|
|
484
|
+
});
|
|
436
485
|
throw error;
|
|
437
486
|
}
|
|
438
487
|
if (details.recipientIds.length != details.recipientCount) {
|
|
439
488
|
const error = new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.InvalidRecipientIds);
|
|
440
|
-
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
489
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
490
|
+
blockSize: this.blockSize,
|
|
491
|
+
encryptionType: blockEncryptionType_1.BlockEncryptionType[this._encryptionType],
|
|
492
|
+
});
|
|
441
493
|
throw error;
|
|
442
494
|
}
|
|
443
495
|
if (details.recipientKeys.length != details.recipientCount) {
|
|
444
496
|
const error = new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.InvalidRecipientKeys);
|
|
445
|
-
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
497
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
498
|
+
blockSize: this.blockSize,
|
|
499
|
+
encryptionType: blockEncryptionType_1.BlockEncryptionType[this._encryptionType],
|
|
500
|
+
});
|
|
446
501
|
throw error;
|
|
447
502
|
}
|
|
448
503
|
}
|
|
@@ -461,7 +516,10 @@ class EncryptedBlock extends ephemeral_1.EphemeralBlock {
|
|
|
461
516
|
recipientCount: this.recipients.length,
|
|
462
517
|
}).availableCapacity) {
|
|
463
518
|
const error = new block_1.BlockValidationError(blockValidationErrorType_1.BlockValidationErrorType.DataLengthExceedsCapacity);
|
|
464
|
-
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
519
|
+
(0, blockLogger_1.logValidationFailure)(this.idChecksum.toHex(), blockType_1.BlockType[this.blockType], error, {
|
|
520
|
+
blockSize: this.blockSize,
|
|
521
|
+
lengthBeforeEncryption: this.lengthBeforeEncryption,
|
|
522
|
+
});
|
|
465
523
|
throw error;
|
|
466
524
|
}
|
|
467
525
|
// Validate encrypted length
|