@brightchain/brightchain-lib 0.14.0 → 0.15.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/BROWSER_COMPAT.md +54 -0
- package/package.json +15 -4
- package/src/lib/blocks/cblBase.d.ts +16 -1
- package/src/lib/blocks/cblBase.d.ts.map +1 -1
- package/src/lib/blocks/cblBase.js +33 -4
- package/src/lib/blocks/cblBase.js.map +1 -1
- package/src/lib/blocks/extendedCbl.d.ts.map +1 -1
- package/src/lib/blocks/extendedCbl.js +2 -1
- package/src/lib/blocks/extendedCbl.js.map +1 -1
- package/src/lib/blocks/handle.d.ts +5 -0
- package/src/lib/blocks/handle.d.ts.map +1 -1
- package/src/lib/blocks/handle.js.map +1 -1
- package/src/lib/blocks/handleTuple.d.ts +9 -1
- package/src/lib/blocks/handleTuple.d.ts.map +1 -1
- package/src/lib/blocks/handleTuple.js +23 -1
- package/src/lib/blocks/handleTuple.js.map +1 -1
- package/src/lib/blocks/index.d.ts +1 -0
- package/src/lib/blocks/index.d.ts.map +1 -1
- package/src/lib/blocks/index.js +1 -0
- package/src/lib/blocks/index.js.map +1 -1
- package/src/lib/blocks/memoryTuple.d.ts +9 -2
- package/src/lib/blocks/memoryTuple.d.ts.map +1 -1
- package/src/lib/blocks/memoryTuple.js +12 -3
- package/src/lib/blocks/memoryTuple.js.map +1 -1
- package/src/lib/blocks/vcbl.d.ts +27 -0
- package/src/lib/blocks/vcbl.d.ts.map +1 -0
- package/src/lib/blocks/vcbl.js +107 -0
- package/src/lib/blocks/vcbl.js.map +1 -0
- package/src/lib/constants.d.ts +5 -1
- package/src/lib/constants.d.ts.map +1 -1
- package/src/lib/constants.js +4 -0
- package/src/lib/constants.js.map +1 -1
- package/src/lib/crypto/index.d.ts +12 -0
- package/src/lib/crypto/index.d.ts.map +1 -0
- package/src/lib/crypto/index.js +23 -0
- package/src/lib/crypto/index.js.map +1 -0
- package/src/lib/crypto/platformCrypto.d.ts +132 -0
- package/src/lib/crypto/platformCrypto.d.ts.map +1 -0
- package/src/lib/crypto/platformCrypto.js +181 -0
- package/src/lib/crypto/platformCrypto.js.map +1 -0
- package/src/lib/enumeration-translations/blockType.d.ts.map +1 -1
- package/src/lib/enumeration-translations/blockType.js +16 -0
- package/src/lib/enumeration-translations/blockType.js.map +1 -1
- package/src/lib/enumerations/blockType.d.ts +12 -0
- package/src/lib/enumerations/blockType.d.ts.map +1 -1
- package/src/lib/enumerations/blockType.js +14 -0
- package/src/lib/enumerations/blockType.js.map +1 -1
- package/src/lib/enumerations/brightChainStrings.d.ts +4 -0
- package/src/lib/enumerations/brightChainStrings.d.ts.map +1 -1
- package/src/lib/enumerations/brightChainStrings.js +4 -0
- package/src/lib/enumerations/brightChainStrings.js.map +1 -1
- package/src/lib/enumerations/cblErrorType.d.ts +2 -1
- 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/communication.d.ts +57 -0
- package/src/lib/enumerations/communication.d.ts.map +1 -0
- package/src/lib/enumerations/communication.js +89 -0
- package/src/lib/enumerations/communication.js.map +1 -0
- package/src/lib/enumerations/deviceType.d.ts +15 -0
- package/src/lib/enumerations/deviceType.d.ts.map +1 -0
- package/src/lib/enumerations/deviceType.js +19 -0
- package/src/lib/enumerations/deviceType.js.map +1 -0
- package/src/lib/enumerations/handleTupleErrorType.d.ts +2 -1
- package/src/lib/enumerations/handleTupleErrorType.d.ts.map +1 -1
- package/src/lib/enumerations/handleTupleErrorType.js +1 -0
- package/src/lib/enumerations/handleTupleErrorType.js.map +1 -1
- package/src/lib/enumerations/index.d.ts +6 -0
- package/src/lib/enumerations/index.d.ts.map +1 -1
- package/src/lib/enumerations/index.js +11 -0
- package/src/lib/enumerations/index.js.map +1 -1
- package/src/lib/enumerations/paperKeyPurpose.d.ts +15 -0
- package/src/lib/enumerations/paperKeyPurpose.d.ts.map +1 -0
- package/src/lib/enumerations/paperKeyPurpose.js +19 -0
- package/src/lib/enumerations/paperKeyPurpose.js.map +1 -0
- package/src/lib/enumerations/proofPlatform.d.ts +24 -0
- package/src/lib/enumerations/proofPlatform.d.ts.map +1 -0
- package/src/lib/enumerations/proofPlatform.js +28 -0
- package/src/lib/enumerations/proofPlatform.js.map +1 -0
- package/src/lib/enumerations/readConcern.d.ts +22 -0
- package/src/lib/enumerations/readConcern.d.ts.map +1 -0
- package/src/lib/enumerations/readConcern.js +26 -0
- package/src/lib/enumerations/readConcern.js.map +1 -0
- package/src/lib/enumerations/tupleErrorType.d.ts +2 -1
- package/src/lib/enumerations/tupleErrorType.d.ts.map +1 -1
- package/src/lib/enumerations/tupleErrorType.js +1 -0
- package/src/lib/enumerations/tupleErrorType.js.map +1 -1
- package/src/lib/enumerations/verificationStatus.d.ts +17 -0
- package/src/lib/enumerations/verificationStatus.d.ts.map +1 -0
- package/src/lib/enumerations/verificationStatus.js +21 -0
- package/src/lib/enumerations/verificationStatus.js.map +1 -0
- package/src/lib/errors/blockFetchError.d.ts +51 -0
- package/src/lib/errors/blockFetchError.d.ts.map +1 -0
- package/src/lib/errors/blockFetchError.js +63 -0
- package/src/lib/errors/blockFetchError.js.map +1 -0
- package/src/lib/errors/cblError.d.ts.map +1 -1
- package/src/lib/errors/cblError.js +1 -0
- package/src/lib/errors/cblError.js.map +1 -1
- package/src/lib/errors/handleTupleError.d.ts +10 -1
- package/src/lib/errors/handleTupleError.d.ts.map +1 -1
- package/src/lib/errors/handleTupleError.js +10 -1
- package/src/lib/errors/handleTupleError.js.map +1 -1
- package/src/lib/errors/index.d.ts +16 -0
- package/src/lib/errors/index.d.ts.map +1 -1
- package/src/lib/errors/index.js +22 -0
- package/src/lib/errors/index.js.map +1 -1
- package/src/lib/errors/poolDeletionError.d.ts +10 -0
- package/src/lib/errors/poolDeletionError.d.ts.map +1 -0
- package/src/lib/errors/poolDeletionError.js +16 -0
- package/src/lib/errors/poolDeletionError.js.map +1 -0
- package/src/lib/errors/poolDeletionTombstoneError.d.ts +12 -0
- package/src/lib/errors/poolDeletionTombstoneError.d.ts.map +1 -0
- package/src/lib/errors/poolDeletionTombstoneError.js +18 -0
- package/src/lib/errors/poolDeletionTombstoneError.js.map +1 -0
- package/src/lib/errors/tupleError.d.ts.map +1 -1
- package/src/lib/errors/tupleError.js +1 -0
- package/src/lib/errors/tupleError.js.map +1 -1
- package/src/lib/i18n/i18n-setup.d.ts +1 -1
- package/src/lib/i18n/strings/englishUs.d.ts.map +1 -1
- package/src/lib/i18n/strings/englishUs.js +4 -0
- package/src/lib/i18n/strings/englishUs.js.map +1 -1
- package/src/lib/i18n/strings/french.d.ts.map +1 -1
- package/src/lib/i18n/strings/french.js +4 -0
- package/src/lib/i18n/strings/french.js.map +1 -1
- package/src/lib/i18n/strings/german.d.ts.map +1 -1
- package/src/lib/i18n/strings/german.js +4 -0
- package/src/lib/i18n/strings/german.js.map +1 -1
- package/src/lib/i18n/strings/japanese.d.ts.map +1 -1
- package/src/lib/i18n/strings/japanese.js +4 -0
- package/src/lib/i18n/strings/japanese.js.map +1 -1
- package/src/lib/i18n/strings/mandarin.d.ts.map +1 -1
- package/src/lib/i18n/strings/mandarin.js +4 -0
- package/src/lib/i18n/strings/mandarin.js.map +1 -1
- package/src/lib/i18n/strings/spanish.d.ts.map +1 -1
- package/src/lib/i18n/strings/spanish.js +4 -0
- package/src/lib/i18n/strings/spanish.js.map +1 -1
- package/src/lib/i18n/strings/ukrainian.d.ts.map +1 -1
- package/src/lib/i18n/strings/ukrainian.js +4 -0
- package/src/lib/i18n/strings/ukrainian.js.map +1 -1
- package/src/lib/index.d.ts +4 -0
- package/src/lib/index.d.ts.map +1 -1
- package/src/lib/index.js +4 -0
- package/src/lib/index.js.map +1 -1
- package/src/lib/interfaces/auth/index.d.ts +4 -0
- package/src/lib/interfaces/auth/index.d.ts.map +1 -0
- package/src/lib/interfaces/auth/index.js +8 -0
- package/src/lib/interfaces/auth/index.js.map +1 -0
- package/src/lib/interfaces/auth/nodeAuthenticator.d.ts +19 -0
- package/src/lib/interfaces/auth/nodeAuthenticator.d.ts.map +1 -0
- package/src/lib/interfaces/auth/nodeAuthenticator.js +3 -0
- package/src/lib/interfaces/auth/nodeAuthenticator.js.map +1 -0
- package/src/lib/interfaces/auth/poolAcl.d.ts +65 -0
- package/src/lib/interfaces/auth/poolAcl.d.ts.map +1 -0
- package/src/lib/interfaces/auth/poolAcl.js +52 -0
- package/src/lib/interfaces/auth/poolAcl.js.map +1 -0
- package/src/lib/interfaces/availability/availabilityService.d.ts +5 -3
- package/src/lib/interfaces/availability/availabilityService.d.ts.map +1 -1
- package/src/lib/interfaces/availability/availabilityService.js.map +1 -1
- package/src/lib/interfaces/availability/blockRegistry.d.ts +52 -3
- package/src/lib/interfaces/availability/blockRegistry.d.ts.map +1 -1
- package/src/lib/interfaces/availability/blockRegistry.js +1 -1
- package/src/lib/interfaces/availability/discoveryProtocol.d.ts +81 -3
- package/src/lib/interfaces/availability/discoveryProtocol.d.ts.map +1 -1
- package/src/lib/interfaces/availability/discoveryProtocol.js.map +1 -1
- package/src/lib/interfaces/availability/gossipService.d.ts +110 -6
- package/src/lib/interfaces/availability/gossipService.d.ts.map +1 -1
- package/src/lib/interfaces/availability/gossipService.js +94 -1
- package/src/lib/interfaces/availability/gossipService.js.map +1 -1
- package/src/lib/interfaces/availability/index.d.ts +1 -0
- package/src/lib/interfaces/availability/index.d.ts.map +1 -1
- package/src/lib/interfaces/availability/index.js +1 -0
- package/src/lib/interfaces/availability/index.js.map +1 -1
- package/src/lib/interfaces/availability/locationRecord.d.ts +6 -0
- package/src/lib/interfaces/availability/locationRecord.d.ts.map +1 -1
- package/src/lib/interfaces/availability/locationRecord.js +12 -0
- package/src/lib/interfaces/availability/locationRecord.js.map +1 -1
- package/src/lib/interfaces/availability/poolDeletionTombstone.d.ts +40 -0
- package/src/lib/interfaces/availability/poolDeletionTombstone.d.ts.map +1 -0
- package/src/lib/interfaces/availability/poolDeletionTombstone.js +19 -0
- package/src/lib/interfaces/availability/poolDeletionTombstone.js.map +1 -0
- package/src/lib/interfaces/availability/reconciliationService.d.ts +52 -0
- package/src/lib/interfaces/availability/reconciliationService.d.ts.map +1 -1
- package/src/lib/interfaces/availability/reconciliationService.js.map +1 -1
- package/src/lib/interfaces/blockCapacity.d.ts +9 -0
- package/src/lib/interfaces/blockCapacity.d.ts.map +1 -1
- package/src/lib/interfaces/blockEncryption.d.ts +4 -2
- package/src/lib/interfaces/blockEncryption.d.ts.map +1 -1
- package/src/lib/interfaces/blockFetch/blockFetchTransport.d.ts +26 -0
- package/src/lib/interfaces/blockFetch/blockFetchTransport.d.ts.map +1 -0
- package/src/lib/interfaces/blockFetch/blockFetchTransport.js +12 -0
- package/src/lib/interfaces/blockFetch/blockFetchTransport.js.map +1 -0
- package/src/lib/interfaces/blockFetch/blockFetcher.d.ts +71 -0
- package/src/lib/interfaces/blockFetch/blockFetcher.d.ts.map +1 -0
- package/src/lib/interfaces/blockFetch/blockFetcher.js +22 -0
- package/src/lib/interfaces/blockFetch/blockFetcher.js.map +1 -0
- package/src/lib/interfaces/blockFetch/enrichedQueryResult.d.ts +43 -0
- package/src/lib/interfaces/blockFetch/enrichedQueryResult.d.ts.map +1 -0
- package/src/lib/interfaces/blockFetch/enrichedQueryResult.js +13 -0
- package/src/lib/interfaces/blockFetch/enrichedQueryResult.js.map +1 -0
- package/src/lib/interfaces/blockFetch/fetchQueue.d.ts +70 -0
- package/src/lib/interfaces/blockFetch/fetchQueue.d.ts.map +1 -0
- package/src/lib/interfaces/blockFetch/fetchQueue.js +18 -0
- package/src/lib/interfaces/blockFetch/fetchQueue.js.map +1 -0
- package/src/lib/interfaces/blockFetch/index.d.ts +10 -0
- package/src/lib/interfaces/blockFetch/index.d.ts.map +1 -0
- package/src/lib/interfaces/blockFetch/index.js +13 -0
- package/src/lib/interfaces/blockFetch/index.js.map +1 -0
- package/src/lib/interfaces/blocks/index.d.ts +1 -0
- package/src/lib/interfaces/blocks/index.d.ts.map +1 -1
- package/src/lib/interfaces/blocks/vcbl.d.ts +16 -0
- package/src/lib/interfaces/blocks/vcbl.d.ts.map +1 -0
- package/src/lib/interfaces/blocks/vcbl.js +3 -0
- package/src/lib/interfaces/blocks/vcbl.js.map +1 -0
- package/src/lib/interfaces/brightpass/auditLog.d.ts +25 -0
- package/src/lib/interfaces/brightpass/auditLog.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/auditLog.js +21 -0
- package/src/lib/interfaces/brightpass/auditLog.js.map +1 -0
- package/src/lib/interfaces/brightpass/emergencyAccess.d.ts +11 -0
- package/src/lib/interfaces/brightpass/emergencyAccess.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/emergencyAccess.js +3 -0
- package/src/lib/interfaces/brightpass/emergencyAccess.js.map +1 -0
- package/src/lib/interfaces/brightpass/entryPropertyRecord.d.ts +11 -0
- package/src/lib/interfaces/brightpass/entryPropertyRecord.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/entryPropertyRecord.js +3 -0
- package/src/lib/interfaces/brightpass/entryPropertyRecord.js.map +1 -0
- package/src/lib/interfaces/brightpass/importTypes.d.ts +10 -0
- package/src/lib/interfaces/brightpass/importTypes.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/importTypes.js +3 -0
- package/src/lib/interfaces/brightpass/importTypes.js.map +1 -0
- package/src/lib/interfaces/brightpass/index.d.ts +7 -0
- package/src/lib/interfaces/brightpass/index.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/index.js +10 -0
- package/src/lib/interfaces/brightpass/index.js.map +1 -0
- package/src/lib/interfaces/brightpass/vaultEntry.d.ts +48 -0
- package/src/lib/interfaces/brightpass/vaultEntry.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/vaultEntry.js +3 -0
- package/src/lib/interfaces/brightpass/vaultEntry.js.map +1 -0
- package/src/lib/interfaces/brightpass/vaultMetadata.d.ts +34 -0
- package/src/lib/interfaces/brightpass/vaultMetadata.d.ts.map +1 -0
- package/src/lib/interfaces/brightpass/vaultMetadata.js +3 -0
- package/src/lib/interfaces/brightpass/vaultMetadata.js.map +1 -0
- package/src/lib/interfaces/clusterKeys.d.ts +4 -2
- package/src/lib/interfaces/clusterKeys.d.ts.map +1 -1
- package/src/lib/interfaces/communication.d.ts +173 -0
- package/src/lib/interfaces/communication.d.ts.map +1 -0
- package/src/lib/interfaces/communication.js +17 -0
- package/src/lib/interfaces/communication.js.map +1 -0
- package/src/lib/interfaces/communicationEvents.d.ts +168 -0
- package/src/lib/interfaces/communicationEvents.d.ts.map +1 -0
- package/src/lib/interfaces/communicationEvents.js +12 -0
- package/src/lib/interfaces/communicationEvents.js.map +1 -0
- package/src/lib/interfaces/crypto/ethereumWallet.d.ts +72 -0
- package/src/lib/interfaces/crypto/ethereumWallet.d.ts.map +1 -0
- package/src/lib/interfaces/crypto/ethereumWallet.js +12 -0
- package/src/lib/interfaces/crypto/ethereumWallet.js.map +1 -0
- package/src/lib/interfaces/crypto/gitSignature.d.ts +95 -0
- package/src/lib/interfaces/crypto/gitSignature.d.ts.map +1 -0
- package/src/lib/interfaces/crypto/gitSignature.js +12 -0
- package/src/lib/interfaces/crypto/gitSignature.js.map +1 -0
- package/src/lib/interfaces/crypto/index.d.ts +3 -0
- package/src/lib/interfaces/crypto/index.d.ts.map +1 -0
- package/src/lib/interfaces/crypto/index.js +3 -0
- package/src/lib/interfaces/crypto/index.js.map +1 -0
- package/src/lib/interfaces/dataKeyComponents.d.ts +7 -2
- package/src/lib/interfaces/dataKeyComponents.d.ts.map +1 -1
- package/src/lib/interfaces/encryptedBlockCreator.d.ts +4 -2
- package/src/lib/interfaces/encryptedBlockCreator.d.ts.map +1 -1
- package/src/lib/interfaces/events/communicationEventEmitter.d.ts +65 -0
- package/src/lib/interfaces/events/communicationEventEmitter.d.ts.map +1 -0
- package/src/lib/interfaces/events/communicationEventEmitter.js +60 -0
- package/src/lib/interfaces/events/communicationEventEmitter.js.map +1 -0
- package/src/lib/interfaces/events/index.d.ts +2 -0
- package/src/lib/interfaces/events/index.d.ts.map +1 -0
- package/src/lib/interfaces/events/index.js +5 -0
- package/src/lib/interfaces/events/index.js.map +1 -0
- package/src/lib/interfaces/failableResult.d.ts +15 -0
- package/src/lib/interfaces/failableResult.d.ts.map +1 -0
- package/src/lib/interfaces/failableResult.js +3 -0
- package/src/lib/interfaces/failableResult.js.map +1 -0
- package/src/lib/interfaces/identity/device.d.ts +59 -0
- package/src/lib/interfaces/identity/device.d.ts.map +1 -0
- package/src/lib/interfaces/identity/device.js +17 -0
- package/src/lib/interfaces/identity/device.js.map +1 -0
- package/src/lib/interfaces/identity/deviceKeyStorage.d.ts +71 -0
- package/src/lib/interfaces/identity/deviceKeyStorage.d.ts.map +1 -0
- package/src/lib/interfaces/identity/deviceKeyStorage.js +16 -0
- package/src/lib/interfaces/identity/deviceKeyStorage.js.map +1 -0
- package/src/lib/interfaces/identity/identityProof.d.ts +90 -0
- package/src/lib/interfaces/identity/identityProof.d.ts.map +1 -0
- package/src/lib/interfaces/identity/identityProof.js +18 -0
- package/src/lib/interfaces/identity/identityProof.js.map +1 -0
- package/src/lib/interfaces/identity/index.d.ts +7 -0
- package/src/lib/interfaces/identity/index.d.ts.map +1 -0
- package/src/lib/interfaces/identity/index.js +3 -0
- package/src/lib/interfaces/identity/index.js.map +1 -0
- package/src/lib/interfaces/identity/paperKey.d.ts +97 -0
- package/src/lib/interfaces/identity/paperKey.d.ts.map +1 -0
- package/src/lib/interfaces/identity/paperKey.js +17 -0
- package/src/lib/interfaces/identity/paperKey.js.map +1 -0
- package/src/lib/interfaces/identity/publicProfile.d.ts +74 -0
- package/src/lib/interfaces/identity/publicProfile.d.ts.map +1 -0
- package/src/lib/interfaces/identity/publicProfile.js +18 -0
- package/src/lib/interfaces/identity/publicProfile.js.map +1 -0
- package/src/lib/interfaces/identity/splitPaperKey.d.ts +73 -0
- package/src/lib/interfaces/identity/splitPaperKey.d.ts.map +1 -0
- package/src/lib/interfaces/identity/splitPaperKey.js +20 -0
- package/src/lib/interfaces/identity/splitPaperKey.js.map +1 -0
- package/src/lib/interfaces/index.d.ts +11 -2
- package/src/lib/interfaces/index.d.ts.map +1 -1
- package/src/lib/interfaces/index.js +12 -0
- package/src/lib/interfaces/index.js.map +1 -1
- package/src/lib/interfaces/network/node.d.ts +4 -2
- package/src/lib/interfaces/network/node.d.ts.map +1 -1
- package/src/lib/interfaces/network/nodeAdvertisement.d.ts +4 -2
- package/src/lib/interfaces/network/nodeAdvertisement.d.ts.map +1 -1
- package/src/lib/interfaces/privateVotingDerivation.d.ts +7 -2
- package/src/lib/interfaces/privateVotingDerivation.d.ts.map +1 -1
- package/src/lib/interfaces/requests/communicationRequests.d.ts +154 -0
- package/src/lib/interfaces/requests/communicationRequests.d.ts.map +1 -0
- package/src/lib/interfaces/requests/communicationRequests.js +10 -0
- package/src/lib/interfaces/requests/communicationRequests.js.map +1 -0
- package/src/lib/interfaces/requests/index.d.ts +2 -0
- package/src/lib/interfaces/requests/index.d.ts.map +1 -0
- package/src/lib/interfaces/requests/index.js +3 -0
- package/src/lib/interfaces/requests/index.js.map +1 -0
- package/src/lib/interfaces/responses/blockDataResponse.d.ts +11 -0
- package/src/lib/interfaces/responses/blockDataResponse.d.ts.map +1 -0
- package/src/lib/interfaces/responses/blockDataResponse.js +3 -0
- package/src/lib/interfaces/responses/blockDataResponse.js.map +1 -0
- package/src/lib/interfaces/responses/communicationResponses.d.ts +82 -0
- package/src/lib/interfaces/responses/communicationResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/communicationResponses.js +17 -0
- package/src/lib/interfaces/responses/communicationResponses.js.map +1 -0
- package/src/lib/interfaces/responses/cryptoResponses.d.ts +30 -0
- package/src/lib/interfaces/responses/cryptoResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/cryptoResponses.js +12 -0
- package/src/lib/interfaces/responses/cryptoResponses.js.map +1 -0
- package/src/lib/interfaces/responses/deviceResponses.d.ts +26 -0
- package/src/lib/interfaces/responses/deviceResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/deviceResponses.js +15 -0
- package/src/lib/interfaces/responses/deviceResponses.js.map +1 -0
- package/src/lib/interfaces/responses/directoryResponses.d.ts +26 -0
- package/src/lib/interfaces/responses/directoryResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/directoryResponses.js +12 -0
- package/src/lib/interfaces/responses/directoryResponses.js.map +1 -0
- package/src/lib/interfaces/responses/emailResponses.d.ts +40 -0
- package/src/lib/interfaces/responses/emailResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/emailResponses.js +18 -0
- package/src/lib/interfaces/responses/emailResponses.js.map +1 -0
- package/src/lib/interfaces/responses/explodingMessageResponses.d.ts +42 -0
- package/src/lib/interfaces/responses/explodingMessageResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/explodingMessageResponses.js +11 -0
- package/src/lib/interfaces/responses/explodingMessageResponses.js.map +1 -0
- package/src/lib/interfaces/responses/identityProofResponses.d.ts +33 -0
- package/src/lib/interfaces/responses/identityProofResponses.d.ts.map +1 -0
- package/src/lib/interfaces/responses/identityProofResponses.js +12 -0
- package/src/lib/interfaces/responses/identityProofResponses.js.map +1 -0
- package/src/lib/interfaces/responses/index.d.ts +3 -1
- package/src/lib/interfaces/responses/index.d.ts.map +1 -1
- package/src/lib/interfaces/sealResults.d.ts +7 -2
- package/src/lib/interfaces/sealResults.d.ts.map +1 -1
- package/src/lib/interfaces/services/fecService.d.ts +7 -5
- package/src/lib/interfaces/services/fecService.d.ts.map +1 -1
- package/src/lib/interfaces/services/fecService.js +2 -0
- package/src/lib/interfaces/services/fecService.js.map +1 -1
- package/src/lib/interfaces/singleEncryptedBlockDetails.d.ts +7 -2
- package/src/lib/interfaces/singleEncryptedBlockDetails.d.ts.map +1 -1
- package/src/lib/interfaces/storage/blockMetadata.d.ts +8 -1
- package/src/lib/interfaces/storage/blockMetadata.d.ts.map +1 -1
- package/src/lib/interfaces/storage/blockMetadata.js +3 -1
- package/src/lib/interfaces/storage/blockMetadata.js.map +1 -1
- package/src/lib/interfaces/storage/cblIndex.d.ts +141 -0
- package/src/lib/interfaces/storage/cblIndex.d.ts.map +1 -0
- package/src/lib/interfaces/storage/cblIndex.js +28 -0
- package/src/lib/interfaces/storage/cblIndex.js.map +1 -0
- package/src/lib/interfaces/storage/clientSession.d.ts +22 -0
- package/src/lib/interfaces/storage/clientSession.d.ts.map +1 -0
- package/src/lib/interfaces/storage/clientSession.js +3 -0
- package/src/lib/interfaces/storage/clientSession.js.map +1 -0
- package/src/lib/interfaces/storage/collection.d.ts +80 -0
- package/src/lib/interfaces/storage/collection.d.ts.map +1 -0
- package/src/lib/interfaces/storage/collection.js +3 -0
- package/src/lib/interfaces/storage/collection.js.map +1 -0
- package/src/lib/interfaces/storage/database.d.ts +30 -0
- package/src/lib/interfaces/storage/database.d.ts.map +1 -0
- package/src/lib/interfaces/storage/database.js +3 -0
- package/src/lib/interfaces/storage/database.js.map +1 -0
- package/src/lib/interfaces/storage/databaseLifecycleHooks.d.ts +43 -0
- package/src/lib/interfaces/storage/databaseLifecycleHooks.d.ts.map +1 -0
- package/src/lib/interfaces/storage/databaseLifecycleHooks.js +3 -0
- package/src/lib/interfaces/storage/databaseLifecycleHooks.js.map +1 -0
- package/src/lib/interfaces/storage/documentTypes.d.ts +413 -0
- package/src/lib/interfaces/storage/documentTypes.d.ts.map +1 -0
- package/src/lib/interfaces/storage/documentTypes.js +8 -0
- package/src/lib/interfaces/storage/documentTypes.js.map +1 -0
- package/src/lib/interfaces/storage/encryptedPool.d.ts +64 -0
- package/src/lib/interfaces/storage/encryptedPool.d.ts.map +1 -0
- package/src/lib/interfaces/storage/encryptedPool.js +26 -0
- package/src/lib/interfaces/storage/encryptedPool.js.map +1 -0
- package/src/lib/interfaces/storage/headRegistry.d.ts +128 -0
- package/src/lib/interfaces/storage/headRegistry.d.ts.map +1 -0
- package/src/lib/interfaces/storage/headRegistry.js +3 -0
- package/src/lib/interfaces/storage/headRegistry.js.map +1 -0
- package/src/lib/interfaces/storage/index.d.ts +14 -0
- package/src/lib/interfaces/storage/index.d.ts.map +1 -1
- package/src/lib/interfaces/storage/index.js +14 -1
- package/src/lib/interfaces/storage/index.js.map +1 -1
- package/src/lib/interfaces/storage/pooledBlockStore.d.ts +163 -0
- package/src/lib/interfaces/storage/pooledBlockStore.d.ts.map +1 -0
- package/src/lib/interfaces/storage/pooledBlockStore.js +77 -0
- package/src/lib/interfaces/storage/pooledBlockStore.js.map +1 -0
- package/src/lib/interfaces/storage/readConcernBlockStore.d.ts +47 -0
- package/src/lib/interfaces/storage/readConcernBlockStore.d.ts.map +1 -0
- package/src/lib/interfaces/storage/readConcernBlockStore.js +29 -0
- package/src/lib/interfaces/storage/readConcernBlockStore.js.map +1 -0
- package/src/lib/interfaces/symmetricEncryptionResults.d.ts +7 -5
- package/src/lib/interfaces/symmetricEncryptionResults.d.ts.map +1 -1
- package/src/lib/services/blockCapacity.service.d.ts.map +1 -1
- package/src/lib/services/blockCapacity.service.js +15 -0
- package/src/lib/services/blockCapacity.service.js.map +1 -1
- package/src/lib/services/brightpass/auditLogger.d.ts +41 -0
- package/src/lib/services/brightpass/auditLogger.d.ts.map +1 -0
- package/src/lib/services/brightpass/auditLogger.js +47 -0
- package/src/lib/services/brightpass/auditLogger.js.map +1 -0
- package/src/lib/services/brightpass/breachDetector.d.ts +68 -0
- package/src/lib/services/brightpass/breachDetector.d.ts.map +1 -0
- package/src/lib/services/brightpass/breachDetector.js +102 -0
- package/src/lib/services/brightpass/breachDetector.js.map +1 -0
- package/src/lib/services/brightpass/importParser.d.ts +105 -0
- package/src/lib/services/brightpass/importParser.d.ts.map +1 -0
- package/src/lib/services/brightpass/importParser.js +380 -0
- package/src/lib/services/brightpass/importParser.js.map +1 -0
- package/src/lib/services/brightpass/index.d.ts +16 -0
- package/src/lib/services/brightpass/index.d.ts.map +1 -0
- package/src/lib/services/brightpass/index.js +19 -0
- package/src/lib/services/brightpass/index.js.map +1 -0
- package/src/lib/services/brightpass/passwordGenerator.d.ts +111 -0
- package/src/lib/services/brightpass/passwordGenerator.d.ts.map +1 -0
- package/src/lib/services/brightpass/passwordGenerator.js +162 -0
- package/src/lib/services/brightpass/passwordGenerator.js.map +1 -0
- package/src/lib/services/brightpass/totpEngine.d.ts +191 -0
- package/src/lib/services/brightpass/totpEngine.d.ts.map +1 -0
- package/src/lib/services/brightpass/totpEngine.js +198 -0
- package/src/lib/services/brightpass/totpEngine.js.map +1 -0
- package/src/lib/services/brightpass/vaultKeyDerivation.d.ts +26 -0
- package/src/lib/services/brightpass/vaultKeyDerivation.d.ts.map +1 -0
- package/src/lib/services/brightpass/vaultKeyDerivation.js +42 -0
- package/src/lib/services/brightpass/vaultKeyDerivation.js.map +1 -0
- package/src/lib/services/brightpass/vaultSerializer.d.ts +14 -0
- package/src/lib/services/brightpass/vaultSerializer.d.ts.map +1 -0
- package/src/lib/services/brightpass/vaultSerializer.js +77 -0
- package/src/lib/services/brightpass/vaultSerializer.js.map +1 -0
- package/src/lib/services/cblService.d.ts +4 -2
- package/src/lib/services/cblService.d.ts.map +1 -1
- package/src/lib/services/cblService.js +8 -4
- package/src/lib/services/cblService.js.map +1 -1
- package/src/lib/services/communication/channelService.d.ts +208 -0
- package/src/lib/services/communication/channelService.d.ts.map +1 -0
- package/src/lib/services/communication/channelService.js +575 -0
- package/src/lib/services/communication/channelService.js.map +1 -0
- package/src/lib/services/communication/conversationService.d.ts +130 -0
- package/src/lib/services/communication/conversationService.d.ts.map +1 -0
- package/src/lib/services/communication/conversationService.js +279 -0
- package/src/lib/services/communication/conversationService.js.map +1 -0
- package/src/lib/services/communication/explodingMessageService.d.ts +168 -0
- package/src/lib/services/communication/explodingMessageService.d.ts.map +1 -0
- package/src/lib/services/communication/explodingMessageService.js +287 -0
- package/src/lib/services/communication/explodingMessageService.js.map +1 -0
- package/src/lib/services/communication/groupService.d.ts +165 -0
- package/src/lib/services/communication/groupService.d.ts.map +1 -0
- package/src/lib/services/communication/groupService.js +437 -0
- package/src/lib/services/communication/groupService.js.map +1 -0
- package/src/lib/services/communication/index.d.ts +16 -0
- package/src/lib/services/communication/index.d.ts.map +1 -0
- package/src/lib/services/communication/index.js +63 -0
- package/src/lib/services/communication/index.js.map +1 -0
- package/src/lib/services/communication/messageOperationsService.d.ts +81 -0
- package/src/lib/services/communication/messageOperationsService.d.ts.map +1 -0
- package/src/lib/services/communication/messageOperationsService.js +162 -0
- package/src/lib/services/communication/messageOperationsService.js.map +1 -0
- package/src/lib/services/communication/permissionService.d.ts +47 -0
- package/src/lib/services/communication/permissionService.d.ts.map +1 -0
- package/src/lib/services/communication/permissionService.js +82 -0
- package/src/lib/services/communication/permissionService.js.map +1 -0
- package/src/lib/services/communication/searchService.d.ts +30 -0
- package/src/lib/services/communication/searchService.d.ts.map +1 -0
- package/src/lib/services/communication/searchService.js +83 -0
- package/src/lib/services/communication/searchService.js.map +1 -0
- package/src/lib/services/crypto/ethereumWalletService.d.ts +159 -0
- package/src/lib/services/crypto/ethereumWalletService.d.ts.map +1 -0
- package/src/lib/services/crypto/ethereumWalletService.js +345 -0
- package/src/lib/services/crypto/ethereumWalletService.js.map +1 -0
- package/src/lib/services/crypto/gitSigningService.d.ts +145 -0
- package/src/lib/services/crypto/gitSigningService.d.ts.map +1 -0
- package/src/lib/services/crypto/gitSigningService.js +291 -0
- package/src/lib/services/crypto/gitSigningService.js.map +1 -0
- package/src/lib/services/crypto/index.d.ts +3 -0
- package/src/lib/services/crypto/index.d.ts.map +1 -0
- package/src/lib/services/crypto/index.js +6 -0
- package/src/lib/services/crypto/index.js.map +1 -0
- package/src/lib/services/identity/deviceProvisioningService.d.ts +146 -0
- package/src/lib/services/identity/deviceProvisioningService.d.ts.map +1 -0
- package/src/lib/services/identity/deviceProvisioningService.js +219 -0
- package/src/lib/services/identity/deviceProvisioningService.js.map +1 -0
- package/src/lib/services/identity/identityProofService.d.ts +139 -0
- package/src/lib/services/identity/identityProofService.d.ts.map +1 -0
- package/src/lib/services/identity/identityProofService.js +245 -0
- package/src/lib/services/identity/identityProofService.js.map +1 -0
- package/src/lib/services/identity/index.d.ts +14 -0
- package/src/lib/services/identity/index.d.ts.map +1 -0
- package/src/lib/services/identity/index.js +17 -0
- package/src/lib/services/identity/index.js.map +1 -0
- package/src/lib/services/identity/memberIdentityProofService.d.ts +179 -0
- package/src/lib/services/identity/memberIdentityProofService.d.ts.map +1 -0
- package/src/lib/services/identity/memberIdentityProofService.js +232 -0
- package/src/lib/services/identity/memberIdentityProofService.js.map +1 -0
- package/src/lib/services/identity/memberPaperKeyService.d.ts +223 -0
- package/src/lib/services/identity/memberPaperKeyService.d.ts.map +1 -0
- package/src/lib/services/identity/memberPaperKeyService.js +279 -0
- package/src/lib/services/identity/memberPaperKeyService.js.map +1 -0
- package/src/lib/services/identity/paperKeyService.d.ts +106 -0
- package/src/lib/services/identity/paperKeyService.d.ts.map +1 -0
- package/src/lib/services/identity/paperKeyService.js +161 -0
- package/src/lib/services/identity/paperKeyService.js.map +1 -0
- package/src/lib/services/identity/publicKeyDirectoryService.d.ts +210 -0
- package/src/lib/services/identity/publicKeyDirectoryService.d.ts.map +1 -0
- package/src/lib/services/identity/publicKeyDirectoryService.js +328 -0
- package/src/lib/services/identity/publicKeyDirectoryService.js.map +1 -0
- package/src/lib/services/identity/splitPaperKeyService.d.ts +92 -0
- package/src/lib/services/identity/splitPaperKeyService.d.ts.map +1 -0
- package/src/lib/services/identity/splitPaperKeyService.js +305 -0
- package/src/lib/services/identity/splitPaperKeyService.js.map +1 -0
- package/src/lib/services/index.d.ts +4 -0
- package/src/lib/services/index.d.ts.map +1 -1
- package/src/lib/services/index.js +7 -0
- package/src/lib/services/index.js.map +1 -1
- package/src/lib/services/messaging/emailMessageService.d.ts.map +1 -1
- package/src/lib/services/messaging/emailMessageService.js +26 -9
- package/src/lib/services/messaging/emailMessageService.js.map +1 -1
- package/src/lib/services/messaging/emailParser.d.ts +18 -0
- package/src/lib/services/messaging/emailParser.d.ts.map +1 -1
- package/src/lib/services/messaging/emailParser.js +18 -0
- package/src/lib/services/messaging/emailParser.js.map +1 -1
- package/src/lib/services/tuple.service.d.ts +27 -2
- package/src/lib/services/tuple.service.d.ts.map +1 -1
- package/src/lib/services/tuple.service.js +62 -20
- package/src/lib/services/tuple.service.js.map +1 -1
- package/src/lib/services/vcblService.d.ts +36 -0
- package/src/lib/services/vcblService.d.ts.map +1 -0
- package/src/lib/services/vcblService.js +326 -0
- package/src/lib/services/vcblService.js.map +1 -0
- package/src/lib/stores/index.d.ts +1 -0
- package/src/lib/stores/index.d.ts.map +1 -1
- package/src/lib/stores/index.js +1 -0
- package/src/lib/stores/index.js.map +1 -1
- package/src/lib/stores/pooledMemoryBlockStore.d.ts +134 -0
- package/src/lib/stores/pooledMemoryBlockStore.d.ts.map +1 -0
- package/src/lib/stores/pooledMemoryBlockStore.js +583 -0
- package/src/lib/stores/pooledMemoryBlockStore.js.map +1 -0
- package/src/lib/types/checksum.d.ts +11 -0
- package/src/lib/types/checksum.d.ts.map +1 -1
- package/src/lib/types/checksum.js +11 -0
- package/src/lib/types/checksum.js.map +1 -1
- package/src/lib/utils/index.d.ts +9 -0
- package/src/lib/utils/index.d.ts.map +1 -1
- package/src/lib/utils/index.js +12 -0
- package/src/lib/utils/index.js.map +1 -1
- package/src/lib/utils/pagination.d.ts +27 -0
- package/src/lib/utils/pagination.d.ts.map +1 -0
- package/src/lib/utils/pagination.js +38 -0
- package/src/lib/utils/pagination.js.map +1 -0
|
@@ -0,0 +1,583 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PooledMemoryBlockStore = void 0;
|
|
4
|
+
const sha3_1 = require("@noble/hashes/sha3");
|
|
5
|
+
const handle_1 = require("../blocks/handle");
|
|
6
|
+
const rawData_1 = require("../blocks/rawData");
|
|
7
|
+
const constants_1 = require("../constants");
|
|
8
|
+
const enumerations_1 = require("../enumerations");
|
|
9
|
+
const storeErrorType_1 = require("../enumerations/storeErrorType");
|
|
10
|
+
const poolDeletionError_1 = require("../errors/poolDeletionError");
|
|
11
|
+
const storeError_1 = require("../errors/storeError");
|
|
12
|
+
const i18n_1 = require("../i18n");
|
|
13
|
+
const blockMetadata_1 = require("../interfaces/storage/blockMetadata");
|
|
14
|
+
const pooledBlockStore_1 = require("../interfaces/storage/pooledBlockStore");
|
|
15
|
+
const globalServiceProvider_1 = require("../services/globalServiceProvider");
|
|
16
|
+
const xor_1 = require("../services/xor");
|
|
17
|
+
const checksum_1 = require("../types/checksum");
|
|
18
|
+
const xorUtils_1 = require("../utils/xorUtils");
|
|
19
|
+
const memoryBlockStore_1 = require("./memoryBlockStore");
|
|
20
|
+
/**
|
|
21
|
+
* In-memory implementation of IPooledBlockStore.
|
|
22
|
+
*
|
|
23
|
+
* Extends MemoryBlockStore with pool-based namespace isolation.
|
|
24
|
+
* Blocks are stored in a separate pool-scoped map keyed by storage keys
|
|
25
|
+
* (format: "${poolId}:${hash}"). Legacy IBlockStore methods delegate
|
|
26
|
+
* to the DEFAULT_POOL for backward compatibility.
|
|
27
|
+
*
|
|
28
|
+
* @see IPooledBlockStore for the interface definition
|
|
29
|
+
* @see MemoryBlockStore for the base implementation
|
|
30
|
+
*/
|
|
31
|
+
class PooledMemoryBlockStore extends memoryBlockStore_1.MemoryBlockStore {
|
|
32
|
+
constructor(blockSize, fecService, metadataStore) {
|
|
33
|
+
super(blockSize, fecService, metadataStore);
|
|
34
|
+
/** Pool-scoped block storage: storageKey -> block data */
|
|
35
|
+
this.poolBlocks = new Map();
|
|
36
|
+
/** Per-pool statistics */
|
|
37
|
+
this.poolStatsMap = new Map();
|
|
38
|
+
}
|
|
39
|
+
// =========================================================================
|
|
40
|
+
// Pool-Scoped Block Operations
|
|
41
|
+
// =========================================================================
|
|
42
|
+
/**
|
|
43
|
+
* Compute the SHA3-512 hash of data and return as hex string.
|
|
44
|
+
*/
|
|
45
|
+
computeHash(data) {
|
|
46
|
+
const hashBytes = (0, sha3_1.sha3_512)(data);
|
|
47
|
+
return checksum_1.Checksum.fromUint8Array(hashBytes).toHex();
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Update pool statistics after a block is added.
|
|
51
|
+
*/
|
|
52
|
+
recordPut(poolId, dataLength) {
|
|
53
|
+
const now = new Date();
|
|
54
|
+
const existing = this.poolStatsMap.get(poolId);
|
|
55
|
+
if (existing) {
|
|
56
|
+
existing.blockCount += 1;
|
|
57
|
+
existing.totalBytes += dataLength;
|
|
58
|
+
existing.lastAccessedAt = now;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
this.poolStatsMap.set(poolId, {
|
|
62
|
+
poolId,
|
|
63
|
+
blockCount: 1,
|
|
64
|
+
totalBytes: dataLength,
|
|
65
|
+
createdAt: now,
|
|
66
|
+
lastAccessedAt: now,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Update pool statistics after a block is removed.
|
|
72
|
+
*/
|
|
73
|
+
recordDelete(poolId, dataLength) {
|
|
74
|
+
const existing = this.poolStatsMap.get(poolId);
|
|
75
|
+
if (existing) {
|
|
76
|
+
existing.blockCount -= 1;
|
|
77
|
+
existing.totalBytes -= dataLength;
|
|
78
|
+
existing.lastAccessedAt = new Date();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Touch the lastAccessedAt timestamp for a pool.
|
|
83
|
+
*/
|
|
84
|
+
touchPool(poolId) {
|
|
85
|
+
const existing = this.poolStatsMap.get(poolId);
|
|
86
|
+
if (existing) {
|
|
87
|
+
existing.lastAccessedAt = new Date();
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
async hasInPool(pool, hash) {
|
|
91
|
+
(0, pooledBlockStore_1.validatePoolId)(pool);
|
|
92
|
+
const key = (0, pooledBlockStore_1.makeStorageKey)(pool, hash);
|
|
93
|
+
this.touchPool(pool);
|
|
94
|
+
return this.poolBlocks.has(key);
|
|
95
|
+
}
|
|
96
|
+
async getFromPool(pool, hash) {
|
|
97
|
+
(0, pooledBlockStore_1.validatePoolId)(pool);
|
|
98
|
+
const key = (0, pooledBlockStore_1.makeStorageKey)(pool, hash);
|
|
99
|
+
const data = this.poolBlocks.get(key);
|
|
100
|
+
if (!data) {
|
|
101
|
+
throw new storeError_1.StoreError(storeErrorType_1.StoreErrorType.KeyNotFound, undefined, {
|
|
102
|
+
KEY: `${pool}:${hash}`,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
this.touchPool(pool);
|
|
106
|
+
return data;
|
|
107
|
+
}
|
|
108
|
+
async putInPool(pool, data, options) {
|
|
109
|
+
(0, pooledBlockStore_1.validatePoolId)(pool);
|
|
110
|
+
const hash = this.computeHash(data);
|
|
111
|
+
const key = (0, pooledBlockStore_1.makeStorageKey)(pool, hash);
|
|
112
|
+
if (this.poolBlocks.has(key)) {
|
|
113
|
+
// Idempotent — block already exists in this pool
|
|
114
|
+
this.touchPool(pool);
|
|
115
|
+
return hash;
|
|
116
|
+
}
|
|
117
|
+
// Store the block data
|
|
118
|
+
this.poolBlocks.set(key, new Uint8Array(data));
|
|
119
|
+
// Create metadata with poolId
|
|
120
|
+
const metadata = (0, blockMetadata_1.createDefaultBlockMetadata)(hash, data.length, hash, options, pool);
|
|
121
|
+
try {
|
|
122
|
+
await this.getMetadataStore().create(metadata);
|
|
123
|
+
}
|
|
124
|
+
catch {
|
|
125
|
+
// Metadata may already exist if the same hash was stored in another pool
|
|
126
|
+
// Update poolId on existing metadata
|
|
127
|
+
if (this.getMetadataStore().has(hash)) {
|
|
128
|
+
await this.getMetadataStore().update(hash, { poolId: pool });
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
// Update pool stats
|
|
132
|
+
this.recordPut(pool, data.length);
|
|
133
|
+
return hash;
|
|
134
|
+
}
|
|
135
|
+
async deleteFromPool(pool, hash) {
|
|
136
|
+
(0, pooledBlockStore_1.validatePoolId)(pool);
|
|
137
|
+
const key = (0, pooledBlockStore_1.makeStorageKey)(pool, hash);
|
|
138
|
+
const data = this.poolBlocks.get(key);
|
|
139
|
+
if (data) {
|
|
140
|
+
this.poolBlocks.delete(key);
|
|
141
|
+
this.recordDelete(pool, data.length);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
// =========================================================================
|
|
145
|
+
// Pool Management
|
|
146
|
+
// =========================================================================
|
|
147
|
+
async listPools() {
|
|
148
|
+
const pools = [];
|
|
149
|
+
for (const [poolId, stats] of this.poolStatsMap) {
|
|
150
|
+
if (stats.blockCount > 0) {
|
|
151
|
+
pools.push(poolId);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
return pools;
|
|
155
|
+
}
|
|
156
|
+
async *listBlocksInPool(pool, options) {
|
|
157
|
+
(0, pooledBlockStore_1.validatePoolId)(pool);
|
|
158
|
+
const prefix = pool + ':';
|
|
159
|
+
const limit = options?.limit;
|
|
160
|
+
const cursor = options?.cursor;
|
|
161
|
+
let pastCursor = cursor === undefined;
|
|
162
|
+
let yielded = 0;
|
|
163
|
+
for (const key of this.poolBlocks.keys()) {
|
|
164
|
+
if (!key.startsWith(prefix)) {
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
const { hash } = (0, pooledBlockStore_1.parseStorageKey)(key);
|
|
168
|
+
if (!pastCursor) {
|
|
169
|
+
if (hash === cursor) {
|
|
170
|
+
pastCursor = true;
|
|
171
|
+
}
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
yield hash;
|
|
175
|
+
yielded++;
|
|
176
|
+
if (limit !== undefined && yielded >= limit) {
|
|
177
|
+
break;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
async getPoolStats(pool) {
|
|
182
|
+
(0, pooledBlockStore_1.validatePoolId)(pool);
|
|
183
|
+
const stats = this.poolStatsMap.get(pool);
|
|
184
|
+
if (!stats) {
|
|
185
|
+
throw new Error(`Pool "${pool}" not found: no blocks have been stored in this pool`);
|
|
186
|
+
}
|
|
187
|
+
return {
|
|
188
|
+
...stats,
|
|
189
|
+
createdAt: new Date(stats.createdAt.getTime()),
|
|
190
|
+
lastAccessedAt: new Date(stats.lastAccessedAt.getTime()),
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
async deletePool(pool) {
|
|
194
|
+
(0, pooledBlockStore_1.validatePoolId)(pool);
|
|
195
|
+
// Pre-deletion validation
|
|
196
|
+
const validation = await this.validatePoolDeletion(pool);
|
|
197
|
+
if (!validation.safe) {
|
|
198
|
+
throw new poolDeletionError_1.PoolDeletionError(`Cannot delete pool "${pool}": ${validation.dependentPools.length} dependent pool(s) ` +
|
|
199
|
+
`reference ${validation.referencedBlocks.length} block(s). ` +
|
|
200
|
+
`Dependent pools: ${validation.dependentPools.join(', ')}. ` +
|
|
201
|
+
`Use forceDeletePool() to bypass this check.`, validation);
|
|
202
|
+
}
|
|
203
|
+
// Proceed with deletion
|
|
204
|
+
await this.performPoolDeletion(pool);
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Internal deletion logic shared by deletePool (after validation) and forceDeletePool.
|
|
208
|
+
* Removes all blocks with the pool prefix and clears pool stats.
|
|
209
|
+
*/
|
|
210
|
+
async performPoolDeletion(pool) {
|
|
211
|
+
const prefix = pool + ':';
|
|
212
|
+
const keysToDelete = [];
|
|
213
|
+
for (const key of this.poolBlocks.keys()) {
|
|
214
|
+
if (key.startsWith(prefix)) {
|
|
215
|
+
keysToDelete.push(key);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
for (const key of keysToDelete) {
|
|
219
|
+
this.poolBlocks.delete(key);
|
|
220
|
+
}
|
|
221
|
+
this.poolStatsMap.delete(pool);
|
|
222
|
+
}
|
|
223
|
+
// =========================================================================
|
|
224
|
+
// Pool-Scoped Whitening Operations
|
|
225
|
+
// =========================================================================
|
|
226
|
+
/**
|
|
227
|
+
* Get random block checksums scoped to a specific pool.
|
|
228
|
+
* Iterates storage keys with the pool prefix and randomly selects blocks.
|
|
229
|
+
* @param pool - The pool to source random blocks from
|
|
230
|
+
* @param count - Number of random blocks requested
|
|
231
|
+
* @returns Array of checksums (may be fewer than count if pool has insufficient blocks)
|
|
232
|
+
*/
|
|
233
|
+
async getRandomBlocksFromPool(pool, count) {
|
|
234
|
+
(0, pooledBlockStore_1.validatePoolId)(pool);
|
|
235
|
+
const poolPrefix = `${pool}:`;
|
|
236
|
+
const poolKeys = [];
|
|
237
|
+
for (const key of this.poolBlocks.keys()) {
|
|
238
|
+
if (key.startsWith(poolPrefix)) {
|
|
239
|
+
poolKeys.push(key.substring(poolPrefix.length));
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
const actualCount = Math.min(count, poolKeys.length);
|
|
243
|
+
const shuffled = [...poolKeys].sort(() => Math.random() - 0.5);
|
|
244
|
+
return shuffled.slice(0, actualCount).map((hex) => checksum_1.Checksum.fromHex(hex));
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Override getRandomBlocks to use Default_Pool for backward compatibility.
|
|
248
|
+
* Delegates to getRandomBlocksFromPool with DEFAULT_POOL.
|
|
249
|
+
*/
|
|
250
|
+
async getRandomBlocks(count) {
|
|
251
|
+
return this.getRandomBlocksFromPool(pooledBlockStore_1.DEFAULT_POOL, count);
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Seed a pool with cryptographically random blocks for whitening material.
|
|
255
|
+
* Stub — full implementation in task 5.1.
|
|
256
|
+
*/
|
|
257
|
+
async bootstrapPool(pool, blockSize, count) {
|
|
258
|
+
(0, pooledBlockStore_1.validatePoolId)(pool);
|
|
259
|
+
if (count <= 0)
|
|
260
|
+
return;
|
|
261
|
+
for (let i = 0; i < count; i++) {
|
|
262
|
+
const data = new Uint8Array(blockSize);
|
|
263
|
+
crypto.getRandomValues(data);
|
|
264
|
+
await this.putInPool(pool, data);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Check whether a pool can be safely deleted (no cross-pool XOR dependencies).
|
|
269
|
+
* Scans all other pools' blocks looking for CBL-type blocks whose addresses
|
|
270
|
+
* reference checksums stored in the target pool.
|
|
271
|
+
*
|
|
272
|
+
* @param pool - The pool to validate for deletion
|
|
273
|
+
* @returns Validation result with dependency details if unsafe
|
|
274
|
+
*/
|
|
275
|
+
async validatePoolDeletion(pool) {
|
|
276
|
+
(0, pooledBlockStore_1.validatePoolId)(pool);
|
|
277
|
+
// 1. Collect all block hashes in the target pool for O(1) lookup
|
|
278
|
+
const targetPoolPrefix = `${pool}:`;
|
|
279
|
+
const targetPoolHashes = new Set();
|
|
280
|
+
for (const key of this.poolBlocks.keys()) {
|
|
281
|
+
if (key.startsWith(targetPoolPrefix)) {
|
|
282
|
+
const { hash } = (0, pooledBlockStore_1.parseStorageKey)(key);
|
|
283
|
+
targetPoolHashes.add(hash);
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
// If the target pool is empty, it's trivially safe to delete
|
|
287
|
+
if (targetPoolHashes.size === 0) {
|
|
288
|
+
return { safe: true, dependentPools: [], referencedBlocks: [] };
|
|
289
|
+
}
|
|
290
|
+
// 2. Get a CBLService instance from the global service provider
|
|
291
|
+
let cblService = null;
|
|
292
|
+
try {
|
|
293
|
+
const provider = (0, globalServiceProvider_1.getGlobalServiceProvider)();
|
|
294
|
+
cblService = provider.cblService;
|
|
295
|
+
}
|
|
296
|
+
catch {
|
|
297
|
+
// Global service provider not initialized — cannot parse CBLs.
|
|
298
|
+
// Return safe=true since we can't determine dependencies without the service.
|
|
299
|
+
return { safe: true, dependentPools: [], referencedBlocks: [] };
|
|
300
|
+
}
|
|
301
|
+
// 3. Scan all blocks in OTHER pools for CBL-type blocks
|
|
302
|
+
const dependentPoolsSet = new Set();
|
|
303
|
+
const referencedBlocksSet = new Set();
|
|
304
|
+
for (const [key, data] of this.poolBlocks.entries()) {
|
|
305
|
+
// Skip blocks in the target pool itself
|
|
306
|
+
if (key.startsWith(targetPoolPrefix)) {
|
|
307
|
+
continue;
|
|
308
|
+
}
|
|
309
|
+
// Check if this block is a structured CBL block
|
|
310
|
+
if (!this.isCblBlock(data)) {
|
|
311
|
+
continue;
|
|
312
|
+
}
|
|
313
|
+
// Extract the pool this CBL belongs to
|
|
314
|
+
const { poolId: otherPool } = (0, pooledBlockStore_1.parseStorageKey)(key);
|
|
315
|
+
// Try to parse addresses from this CBL
|
|
316
|
+
const addresses = this.extractCblAddresses(data, cblService);
|
|
317
|
+
if (addresses === null) {
|
|
318
|
+
continue; // Encrypted or unparseable — skip
|
|
319
|
+
}
|
|
320
|
+
// Check if any addresses reference blocks in the target pool
|
|
321
|
+
for (const address of addresses) {
|
|
322
|
+
const addressHex = address.toHex();
|
|
323
|
+
if (targetPoolHashes.has(addressHex)) {
|
|
324
|
+
dependentPoolsSet.add(otherPool);
|
|
325
|
+
referencedBlocksSet.add(addressHex);
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
const dependentPools = Array.from(dependentPoolsSet);
|
|
330
|
+
const referencedBlocks = Array.from(referencedBlocksSet);
|
|
331
|
+
const safe = dependentPools.length === 0;
|
|
332
|
+
return { safe, dependentPools, referencedBlocks };
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Check if raw block data represents a CBL-type block.
|
|
336
|
+
* CBL blocks have the BrightChain magic prefix (0xBC) followed by a CBL structured type.
|
|
337
|
+
*/
|
|
338
|
+
isCblBlock(data) {
|
|
339
|
+
if (data.length < 4) {
|
|
340
|
+
return false;
|
|
341
|
+
}
|
|
342
|
+
if (data[0] !== constants_1.BLOCK_HEADER.MAGIC_PREFIX) {
|
|
343
|
+
return false;
|
|
344
|
+
}
|
|
345
|
+
const structuredType = data[1];
|
|
346
|
+
return (structuredType === constants_1.StructuredBlockType.CBL ||
|
|
347
|
+
structuredType === constants_1.StructuredBlockType.ExtendedCBL ||
|
|
348
|
+
structuredType === constants_1.StructuredBlockType.MessageCBL ||
|
|
349
|
+
structuredType === constants_1.StructuredBlockType.SuperCBL ||
|
|
350
|
+
structuredType === constants_1.StructuredBlockType.VaultCBL);
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Extract addresses from a CBL block's raw data.
|
|
354
|
+
* Returns null if the block is encrypted or cannot be parsed.
|
|
355
|
+
*/
|
|
356
|
+
extractCblAddresses(data, cblService) {
|
|
357
|
+
try {
|
|
358
|
+
// Skip encrypted CBLs — we can't parse their addresses
|
|
359
|
+
if (cblService.isEncrypted(data)) {
|
|
360
|
+
return null;
|
|
361
|
+
}
|
|
362
|
+
// SuperCBLs store sub-CBL checksums, not data block addresses
|
|
363
|
+
if (cblService.isSuperCbl(data)) {
|
|
364
|
+
return cblService.getSuperCblSubCblChecksums(data);
|
|
365
|
+
}
|
|
366
|
+
// Regular/Extended/Message/Vault CBLs use addressDataToAddresses
|
|
367
|
+
return cblService.addressDataToAddresses(data);
|
|
368
|
+
}
|
|
369
|
+
catch {
|
|
370
|
+
// If parsing fails for any reason, skip this block
|
|
371
|
+
return null;
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* Delete a pool without checking for cross-pool dependencies.
|
|
376
|
+
* For administrative use only — bypasses validatePoolDeletion.
|
|
377
|
+
*/
|
|
378
|
+
async forceDeletePool(pool) {
|
|
379
|
+
(0, pooledBlockStore_1.validatePoolId)(pool);
|
|
380
|
+
await this.performPoolDeletion(pool);
|
|
381
|
+
}
|
|
382
|
+
// =========================================================================
|
|
383
|
+
// Pool-Scoped CBL Whitening Operations
|
|
384
|
+
// =========================================================================
|
|
385
|
+
/**
|
|
386
|
+
* Store a CBL with XOR whitening, scoped to a specific pool.
|
|
387
|
+
* Both XOR component blocks are stored within the specified pool namespace.
|
|
388
|
+
*
|
|
389
|
+
* @param pool - The pool to store the whitened CBL components in
|
|
390
|
+
* @param cblData - The original CBL data as Uint8Array
|
|
391
|
+
* @param options - Optional storage options (durability, expiration, encryption flag)
|
|
392
|
+
* @returns Result containing block IDs, parity IDs (if any), and magnet URL
|
|
393
|
+
*/
|
|
394
|
+
async storeCBLWithWhiteningInPool(pool, cblData, options) {
|
|
395
|
+
(0, pooledBlockStore_1.validatePoolId)(pool);
|
|
396
|
+
// Validate input
|
|
397
|
+
if (!cblData || cblData.length === 0) {
|
|
398
|
+
throw new storeError_1.StoreError(storeErrorType_1.StoreErrorType.BlockValidationFailed, undefined, {
|
|
399
|
+
ERROR: (0, i18n_1.translate)(enumerations_1.BrightChainStrings.MemoryBlockStore_CBLDataCannotBeEmpty),
|
|
400
|
+
});
|
|
401
|
+
}
|
|
402
|
+
// 1. Pad CBL to block size (includes length prefix)
|
|
403
|
+
const paddedCbl = (0, xorUtils_1.padToBlockSize)(cblData, this.blockSize);
|
|
404
|
+
// Validate that padded CBL fits within block size
|
|
405
|
+
if (paddedCbl.length > this.blockSize) {
|
|
406
|
+
throw new storeError_1.StoreError(storeErrorType_1.StoreErrorType.BlockValidationFailed, undefined, {
|
|
407
|
+
ERROR: (0, i18n_1.translate)(enumerations_1.BrightChainStrings.MemoryBlockStore_CBLDataTooLargeTemplate, {
|
|
408
|
+
LENGTH: paddedCbl.length,
|
|
409
|
+
BLOCK_SIZE: this.blockSize,
|
|
410
|
+
}),
|
|
411
|
+
});
|
|
412
|
+
}
|
|
413
|
+
// 2. Select or generate a random block from the pool for whitening
|
|
414
|
+
const poolRandomBlocks = await this.getRandomBlocksFromPool(pool, 1);
|
|
415
|
+
let randomBlock;
|
|
416
|
+
if (poolRandomBlocks.length > 0) {
|
|
417
|
+
// Use an existing block from the pool as the randomizer
|
|
418
|
+
const existingData = await this.getFromPool(pool, poolRandomBlocks[0].toHex());
|
|
419
|
+
if (existingData.length >= paddedCbl.length) {
|
|
420
|
+
randomBlock = existingData.slice(0, paddedCbl.length);
|
|
421
|
+
}
|
|
422
|
+
else {
|
|
423
|
+
// Existing block too small, generate fresh random data
|
|
424
|
+
randomBlock = xor_1.XorService.generateKey(paddedCbl.length);
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
else {
|
|
428
|
+
// No blocks in pool yet, generate fresh random data
|
|
429
|
+
randomBlock = xor_1.XorService.generateKey(paddedCbl.length);
|
|
430
|
+
}
|
|
431
|
+
// 3. XOR to create second block (CBL XOR R)
|
|
432
|
+
const xorResult = (0, xorUtils_1.xorArrays)(paddedCbl, randomBlock);
|
|
433
|
+
// Track stored blocks for rollback on failure
|
|
434
|
+
let block1Stored = false;
|
|
435
|
+
let block1Id = '';
|
|
436
|
+
try {
|
|
437
|
+
// 4. Store first block (R - the randomizer) in the pool
|
|
438
|
+
block1Id = await this.putInPool(pool, randomBlock, options);
|
|
439
|
+
block1Stored = true;
|
|
440
|
+
// 5. Store second block (CBL XOR R) in the pool
|
|
441
|
+
const block2Id = await this.putInPool(pool, xorResult, options);
|
|
442
|
+
// 6. Get parity block IDs if FEC redundancy was applied
|
|
443
|
+
let block1ParityIds;
|
|
444
|
+
let block2ParityIds;
|
|
445
|
+
const block1Meta = await this.getMetadata(block1Id);
|
|
446
|
+
if (block1Meta?.parityBlockIds?.length) {
|
|
447
|
+
block1ParityIds = block1Meta.parityBlockIds;
|
|
448
|
+
}
|
|
449
|
+
const block2Meta = await this.getMetadata(block2Id);
|
|
450
|
+
if (block2Meta?.parityBlockIds?.length) {
|
|
451
|
+
block2ParityIds = block2Meta.parityBlockIds;
|
|
452
|
+
}
|
|
453
|
+
// 7. Generate magnet URL
|
|
454
|
+
const magnetUrl = this.generateCBLMagnetUrl(block1Id, block2Id, this.blockSize, block1ParityIds, block2ParityIds, options?.isEncrypted);
|
|
455
|
+
return {
|
|
456
|
+
blockId1: block1Id,
|
|
457
|
+
blockId2: block2Id,
|
|
458
|
+
blockSize: this.blockSize,
|
|
459
|
+
magnetUrl,
|
|
460
|
+
block1ParityIds,
|
|
461
|
+
block2ParityIds,
|
|
462
|
+
isEncrypted: options?.isEncrypted,
|
|
463
|
+
};
|
|
464
|
+
}
|
|
465
|
+
catch (error) {
|
|
466
|
+
// Rollback: delete block1 if it was stored by us
|
|
467
|
+
if (block1Stored && block1Id) {
|
|
468
|
+
try {
|
|
469
|
+
await this.deleteFromPool(pool, block1Id);
|
|
470
|
+
}
|
|
471
|
+
catch {
|
|
472
|
+
// Ignore rollback errors
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
throw error;
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* Retrieve and reconstruct a whitened CBL from a specific pool.
|
|
480
|
+
* Both XOR component blocks are retrieved from the specified pool namespace.
|
|
481
|
+
*
|
|
482
|
+
* @param pool - The pool to retrieve the whitened CBL components from
|
|
483
|
+
* @param blockId1 - First block ID (Checksum or hex string)
|
|
484
|
+
* @param blockId2 - Second block ID (Checksum or hex string)
|
|
485
|
+
* @param block1ParityIds - Optional parity block IDs for block 1 recovery
|
|
486
|
+
* @param block2ParityIds - Optional parity block IDs for block 2 recovery
|
|
487
|
+
* @returns The original CBL data as Uint8Array
|
|
488
|
+
*/
|
|
489
|
+
async retrieveCBLFromPool(pool, blockId1, blockId2, _block1ParityIds, _block2ParityIds) {
|
|
490
|
+
(0, pooledBlockStore_1.validatePoolId)(pool);
|
|
491
|
+
const b1Hex = typeof blockId1 === 'string' ? blockId1 : blockId1.toHex();
|
|
492
|
+
const b2Hex = typeof blockId2 === 'string' ? blockId2 : blockId2.toHex();
|
|
493
|
+
// 1. Retrieve first block from the pool
|
|
494
|
+
const hasBlock1 = await this.hasInPool(pool, b1Hex);
|
|
495
|
+
if (!hasBlock1) {
|
|
496
|
+
throw new storeError_1.StoreError(storeErrorType_1.StoreErrorType.KeyNotFound, undefined, {
|
|
497
|
+
KEY: `Block 1 (${b1Hex}) not found in pool "${pool}"`,
|
|
498
|
+
});
|
|
499
|
+
}
|
|
500
|
+
const block1Data = await this.getFromPool(pool, b1Hex);
|
|
501
|
+
// 2. Retrieve second block from the pool
|
|
502
|
+
const hasBlock2 = await this.hasInPool(pool, b2Hex);
|
|
503
|
+
if (!hasBlock2) {
|
|
504
|
+
throw new storeError_1.StoreError(storeErrorType_1.StoreErrorType.KeyNotFound, undefined, {
|
|
505
|
+
KEY: `Block 2 (${b2Hex}) not found in pool "${pool}"`,
|
|
506
|
+
});
|
|
507
|
+
}
|
|
508
|
+
const block2Data = await this.getFromPool(pool, b2Hex);
|
|
509
|
+
// 3. XOR to reconstruct padded CBL (order doesn't matter due to commutativity)
|
|
510
|
+
const reconstructedPadded = (0, xorUtils_1.xorArrays)(block1Data, block2Data);
|
|
511
|
+
// 4. Remove padding to get original CBL
|
|
512
|
+
return (0, xorUtils_1.unpadCblData)(reconstructedPadded);
|
|
513
|
+
}
|
|
514
|
+
// =========================================================================
|
|
515
|
+
// Legacy IBlockStore method overrides — delegate to DEFAULT_POOL
|
|
516
|
+
// =========================================================================
|
|
517
|
+
async has(key) {
|
|
518
|
+
const hash = typeof key === 'string' ? key : key.toHex();
|
|
519
|
+
return this.hasInPool(pooledBlockStore_1.DEFAULT_POOL, hash);
|
|
520
|
+
}
|
|
521
|
+
async getData(key) {
|
|
522
|
+
const hash = key.toHex();
|
|
523
|
+
const data = await this.getFromPool(pooledBlockStore_1.DEFAULT_POOL, hash);
|
|
524
|
+
return new rawData_1.RawDataBlock(this.blockSize, data);
|
|
525
|
+
}
|
|
526
|
+
async setData(block, options) {
|
|
527
|
+
await this.putInPool(pooledBlockStore_1.DEFAULT_POOL, block.data, options);
|
|
528
|
+
}
|
|
529
|
+
async deleteData(key) {
|
|
530
|
+
const hash = key.toHex();
|
|
531
|
+
await this.deleteFromPool(pooledBlockStore_1.DEFAULT_POOL, hash);
|
|
532
|
+
}
|
|
533
|
+
async put(key, data, options) {
|
|
534
|
+
await this.putInPool(pooledBlockStore_1.DEFAULT_POOL, data, options);
|
|
535
|
+
}
|
|
536
|
+
async delete(key) {
|
|
537
|
+
const hash = typeof key === 'string' ? key : key.toHex();
|
|
538
|
+
await this.deleteFromPool(pooledBlockStore_1.DEFAULT_POOL, hash);
|
|
539
|
+
}
|
|
540
|
+
get(key) {
|
|
541
|
+
const hash = typeof key === 'string' ? key : key.toHex();
|
|
542
|
+
const storageKey = (0, pooledBlockStore_1.makeStorageKey)(pooledBlockStore_1.DEFAULT_POOL, hash);
|
|
543
|
+
const data = this.poolBlocks.get(storageKey);
|
|
544
|
+
if (!data) {
|
|
545
|
+
throw new storeError_1.StoreError(storeErrorType_1.StoreErrorType.KeyNotFound, undefined, {
|
|
546
|
+
KEY: hash,
|
|
547
|
+
});
|
|
548
|
+
}
|
|
549
|
+
const checksum = typeof key === 'string' ? checksum_1.Checksum.fromHex(key) : key;
|
|
550
|
+
return (0, handle_1.createBlockHandle)(
|
|
551
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
552
|
+
rawData_1.RawDataBlock, this.blockSize, data, checksum, true, true);
|
|
553
|
+
}
|
|
554
|
+
// =========================================================================
|
|
555
|
+
// Metadata overrides for pool-scoped storage keys
|
|
556
|
+
// =========================================================================
|
|
557
|
+
async getMetadata(key) {
|
|
558
|
+
const hash = typeof key === 'string' ? key : key.toHex();
|
|
559
|
+
return this.getMetadataStore().get(hash);
|
|
560
|
+
}
|
|
561
|
+
async updateMetadata(key, updates) {
|
|
562
|
+
const hash = typeof key === 'string' ? key : key.toHex();
|
|
563
|
+
if (!this.getMetadataStore().has(hash)) {
|
|
564
|
+
throw new storeError_1.StoreError(storeErrorType_1.StoreErrorType.KeyNotFound, undefined, {
|
|
565
|
+
KEY: hash,
|
|
566
|
+
});
|
|
567
|
+
}
|
|
568
|
+
await this.getMetadataStore().update(hash, updates);
|
|
569
|
+
}
|
|
570
|
+
// =========================================================================
|
|
571
|
+
// Utility overrides
|
|
572
|
+
// =========================================================================
|
|
573
|
+
clear() {
|
|
574
|
+
super.clear();
|
|
575
|
+
this.poolBlocks.clear();
|
|
576
|
+
this.poolStatsMap.clear();
|
|
577
|
+
}
|
|
578
|
+
size() {
|
|
579
|
+
return this.poolBlocks.size;
|
|
580
|
+
}
|
|
581
|
+
}
|
|
582
|
+
exports.PooledMemoryBlockStore = PooledMemoryBlockStore;
|
|
583
|
+
//# sourceMappingURL=pooledMemoryBlockStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pooledMemoryBlockStore.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/stores/pooledMemoryBlockStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,6 +65,11 @@ export declare class Checksum {
|
|
|
65
65
|
* @returns A new Checksum instance
|
|
66
66
|
* @throws ChecksumError if buffer length is not equal to SHA3_BUFFER_LENGTH
|
|
67
67
|
*
|
|
68
|
+
* @deprecated Use `Checksum.fromUint8Array()` instead for browser compatibility.
|
|
69
|
+
* This method exists for backward compatibility with Node.js code that uses Buffer.
|
|
70
|
+
* Buffer extends Uint8Array, so `fromUint8Array()` accepts Buffer values directly.
|
|
71
|
+
* @platform Node.js — accepts Node.js `Buffer` type
|
|
72
|
+
*
|
|
68
73
|
* @example
|
|
69
74
|
* ```typescript
|
|
70
75
|
* const buffer = Buffer.from('a'.repeat(128), 'hex'); // 64 bytes
|
|
@@ -72,6 +77,7 @@ export declare class Checksum {
|
|
|
72
77
|
* ```
|
|
73
78
|
*
|
|
74
79
|
* @see Requirement 1.2
|
|
80
|
+
* @see Requirement 18.4 — platform-specific convenience method
|
|
75
81
|
*/
|
|
76
82
|
static fromBuffer(buffer: Buffer): Checksum;
|
|
77
83
|
/**
|
|
@@ -132,6 +138,10 @@ export declare class Checksum {
|
|
|
132
138
|
*
|
|
133
139
|
* @returns A new Buffer containing the checksum data
|
|
134
140
|
*
|
|
141
|
+
* @deprecated Use `toUint8Array()` instead for browser compatibility.
|
|
142
|
+
* This method exists for backward compatibility with Node.js code that expects Buffer.
|
|
143
|
+
* @platform Node.js — returns Node.js `Buffer` type
|
|
144
|
+
*
|
|
135
145
|
* @example
|
|
136
146
|
* ```typescript
|
|
137
147
|
* const checksum = Checksum.fromHex(hexString);
|
|
@@ -139,6 +149,7 @@ export declare class Checksum {
|
|
|
139
149
|
* ```
|
|
140
150
|
*
|
|
141
151
|
* @see Requirement 1.5
|
|
152
|
+
* @see Requirement 18.4 — platform-specific convenience method
|
|
142
153
|
*/
|
|
143
154
|
toBuffer(): Buffer;
|
|
144
155
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/types/checksum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAQH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D;;;;;;;;;;;;;GAaG;AACH,qBAAa,QAAQ;IACnB;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAElC;;;;;;;OAOG;IACH,OAAO;IAkBP
|
|
1
|
+
{"version":3,"file":"checksum.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/types/checksum.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAQH,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D;;;;;;;;;;;;;GAaG;AACH,qBAAa,QAAQ;IACnB;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAElC;;;;;;;OAOG;IACH,OAAO;IAkBP;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ;IAI3C;;;;;;;;;;;;;;;OAeG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ;IAIlD;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ;IA+BrC;;;;;;;;;;;;;;;;;;OAkBG;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAYhC;;;;;;;;;;;;;;;;;OAiBG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;;;;;;;;;;;;OAeG;IACH,YAAY,IAAI,UAAU;IAI1B;;;;;;;;;;;;OAYG;IACH,KAAK,IAAI,MAAM;IAIf;;;;;;;;;;;;;;OAcG;IACH,QAAQ,IAAI,MAAM;IAIlB;;;;OAIG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;CACF;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAE5D"}
|