@brightchain/brightchain-lib 0.30.1 → 0.31.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/README.md +34 -5
- package/package.json +4 -4
- package/src/browser.d.ts +7 -0
- package/src/browser.d.ts.map +1 -1
- package/src/browser.js +21 -1
- package/src/browser.js.map +1 -1
- package/src/lib/asset/assetAccount.d.ts +66 -0
- package/src/lib/asset/assetAccount.d.ts.map +1 -0
- package/src/lib/asset/assetAccount.js +192 -0
- package/src/lib/asset/assetAccount.js.map +1 -0
- package/src/lib/asset/formatAssetAmount.d.ts +30 -0
- package/src/lib/asset/formatAssetAmount.d.ts.map +1 -0
- package/src/lib/asset/formatAssetAmount.js +54 -0
- package/src/lib/asset/formatAssetAmount.js.map +1 -0
- package/src/lib/asset/index.d.ts +11 -0
- package/src/lib/asset/index.d.ts.map +1 -0
- package/src/lib/asset/index.js +14 -0
- package/src/lib/asset/index.js.map +1 -0
- package/src/lib/asset/jouleConstants.d.ts +21 -0
- package/src/lib/asset/jouleConstants.d.ts.map +1 -0
- package/src/lib/asset/jouleConstants.js +24 -0
- package/src/lib/asset/jouleConstants.js.map +1 -0
- package/src/lib/asset/microunits.d.ts +19 -0
- package/src/lib/asset/microunits.d.ts.map +1 -0
- package/src/lib/asset/microunits.js +36 -0
- package/src/lib/asset/microunits.js.map +1 -0
- package/src/lib/constants.d.ts +3 -1
- package/src/lib/constants.d.ts.map +1 -1
- package/src/lib/constants.js +23 -1
- package/src/lib/constants.js.map +1 -1
- package/src/lib/db/driverBackedHeadRegistry.d.ts +42 -0
- package/src/lib/db/driverBackedHeadRegistry.d.ts.map +1 -0
- package/src/lib/db/driverBackedHeadRegistry.js +146 -0
- package/src/lib/db/driverBackedHeadRegistry.js.map +1 -0
- package/src/lib/db/headRegistryGossipTransport.d.ts +74 -0
- package/src/lib/db/headRegistryGossipTransport.d.ts.map +1 -0
- package/src/lib/db/headRegistryGossipTransport.js +153 -0
- package/src/lib/db/headRegistryGossipTransport.js.map +1 -0
- package/src/lib/db/inMemoryHeadRegistry.d.ts +9 -0
- package/src/lib/db/inMemoryHeadRegistry.d.ts.map +1 -1
- package/src/lib/db/inMemoryHeadRegistry.js +48 -0
- package/src/lib/db/inMemoryHeadRegistry.js.map +1 -1
- package/src/lib/db/inMemoryHeadRegistryDriver.d.ts +13 -0
- package/src/lib/db/inMemoryHeadRegistryDriver.d.ts.map +1 -0
- package/src/lib/db/inMemoryHeadRegistryDriver.js +24 -0
- package/src/lib/db/inMemoryHeadRegistryDriver.js.map +1 -0
- package/src/lib/db/index.d.ts +3 -0
- package/src/lib/db/index.d.ts.map +1 -1
- package/src/lib/db/index.js +3 -0
- package/src/lib/db/index.js.map +1 -1
- package/src/lib/energyAccount.d.ts +15 -62
- package/src/lib/energyAccount.d.ts.map +1 -1
- package/src/lib/energyAccount.js +20 -118
- package/src/lib/energyAccount.js.map +1 -1
- package/src/lib/enumerations/brightChainStrings.d.ts +123 -0
- package/src/lib/enumerations/brightChainStrings.d.ts.map +1 -1
- package/src/lib/enumerations/brightChainStrings.js +130 -0
- package/src/lib/enumerations/brightChainStrings.js.map +1 -1
- package/src/lib/enumerations/difficultyTier.d.ts +20 -0
- package/src/lib/enumerations/difficultyTier.d.ts.map +1 -0
- package/src/lib/enumerations/difficultyTier.js +25 -0
- package/src/lib/enumerations/difficultyTier.js.map +1 -0
- package/src/lib/enumerations/index.d.ts +2 -1
- package/src/lib/enumerations/index.d.ts.map +1 -1
- package/src/lib/enumerations/index.js +3 -1
- package/src/lib/enumerations/index.js.map +1 -1
- package/src/lib/errors/asset/assetUnknownError.d.ts +12 -0
- package/src/lib/errors/asset/assetUnknownError.d.ts.map +1 -0
- package/src/lib/errors/asset/assetUnknownError.js +21 -0
- package/src/lib/errors/asset/assetUnknownError.js.map +1 -0
- package/src/lib/errors/asset/index.d.ts +13 -0
- package/src/lib/errors/asset/index.d.ts.map +1 -0
- package/src/lib/errors/asset/index.js +16 -0
- package/src/lib/errors/asset/index.js.map +1 -0
- package/src/lib/errors/asset/insufficientAvailableBalanceError.d.ts +13 -0
- package/src/lib/errors/asset/insufficientAvailableBalanceError.d.ts.map +1 -0
- package/src/lib/errors/asset/insufficientAvailableBalanceError.js +25 -0
- package/src/lib/errors/asset/insufficientAvailableBalanceError.js.map +1 -0
- package/src/lib/errors/asset/invalidAmountError.d.ts +11 -0
- package/src/lib/errors/asset/invalidAmountError.d.ts.map +1 -0
- package/src/lib/errors/asset/invalidAmountError.js +20 -0
- package/src/lib/errors/asset/invalidAmountError.js.map +1 -0
- package/src/lib/errors/asset/ledgerAlreadyAttachedError.d.ts +11 -0
- package/src/lib/errors/asset/ledgerAlreadyAttachedError.d.ts.map +1 -0
- package/src/lib/errors/asset/ledgerAlreadyAttachedError.js +19 -0
- package/src/lib/errors/asset/ledgerAlreadyAttachedError.js.map +1 -0
- package/src/lib/errors/asset/mixedAssetError.d.ts +12 -0
- package/src/lib/errors/asset/mixedAssetError.d.ts.map +1 -0
- package/src/lib/errors/asset/mixedAssetError.js +22 -0
- package/src/lib/errors/asset/mixedAssetError.js.map +1 -0
- package/src/lib/errors/asset/reservationExpiredError.d.ts +13 -0
- package/src/lib/errors/asset/reservationExpiredError.d.ts.map +1 -0
- package/src/lib/errors/asset/reservationExpiredError.js +24 -0
- package/src/lib/errors/asset/reservationExpiredError.js.map +1 -0
- package/src/lib/errors/asset/reservationNotFoundError.d.ts +11 -0
- package/src/lib/errors/asset/reservationNotFoundError.d.ts.map +1 -0
- package/src/lib/errors/asset/reservationNotFoundError.js +20 -0
- package/src/lib/errors/asset/reservationNotFoundError.js.map +1 -0
- package/src/lib/errors/encryptionErrors.d.ts.map +1 -1
- package/src/lib/errors/encryptionErrors.js.map +1 -1
- package/src/lib/errors/friendsServiceError.d.ts.map +1 -1
- package/src/lib/errors/friendsServiceError.js.map +1 -1
- package/src/lib/errors/index.d.ts +18 -0
- package/src/lib/errors/index.d.ts.map +1 -1
- package/src/lib/errors/index.js +21 -0
- package/src/lib/errors/index.js.map +1 -1
- package/src/lib/i18n/strings/englishUs.d.ts.map +1 -1
- package/src/lib/i18n/strings/englishUs.js +131 -1
- 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 +133 -3
- 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 +131 -1
- 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 +131 -1
- 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 +131 -1
- 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 +131 -1
- 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 +131 -1
- package/src/lib/i18n/strings/ukrainian.js.map +1 -1
- package/src/lib/index.d.ts +36 -1
- package/src/lib/index.d.ts.map +1 -1
- package/src/lib/index.js +48 -1
- package/src/lib/index.js.map +1 -1
- package/src/lib/interfaces/appSubsystemPlugin.d.ts +6 -1
- package/src/lib/interfaces/appSubsystemPlugin.d.ts.map +1 -1
- package/src/lib/interfaces/assetAccount.d.ts +91 -0
- package/src/lib/interfaces/assetAccount.d.ts.map +1 -0
- package/src/lib/interfaces/assetAccount.js +3 -0
- package/src/lib/interfaces/assetAccount.js.map +1 -0
- package/src/lib/interfaces/brightpass/vaultEntry.d.ts +38 -0
- package/src/lib/interfaces/brightpass/vaultEntry.d.ts.map +1 -1
- package/src/lib/interfaces/brightpass/vaultMetadata.d.ts +11 -0
- package/src/lib/interfaces/brightpass/vaultMetadata.d.ts.map +1 -1
- package/src/lib/interfaces/communication/chatStorageProvider.d.ts +1 -1
- package/src/lib/interfaces/communication/chatStorageProvider.d.ts.map +1 -1
- package/src/lib/interfaces/communication/index.d.ts +2 -0
- package/src/lib/interfaces/communication/index.d.ts.map +1 -1
- package/src/lib/interfaces/communication/index.js +2 -0
- package/src/lib/interfaces/communication/index.js.map +1 -1
- package/src/lib/interfaces/communication/server.d.ts +8 -0
- package/src/lib/interfaces/communication/server.d.ts.map +1 -1
- package/src/lib/interfaces/communication/serverIconConfig.d.ts +32 -0
- package/src/lib/interfaces/communication/serverIconConfig.d.ts.map +1 -0
- package/src/lib/interfaces/communication/serverIconConfig.js +35 -0
- package/src/lib/interfaces/communication/serverIconConfig.js.map +1 -0
- package/src/lib/interfaces/communication/serverIconRequest.d.ts +12 -0
- package/src/lib/interfaces/communication/serverIconRequest.d.ts.map +1 -0
- package/src/lib/interfaces/communication/serverIconRequest.js +3 -0
- package/src/lib/interfaces/communication/serverIconRequest.js.map +1 -0
- package/src/lib/interfaces/constants.d.ts +14 -0
- package/src/lib/interfaces/constants.d.ts.map +1 -1
- package/src/lib/interfaces/energyAccount.d.ts +13 -34
- package/src/lib/interfaces/energyAccount.d.ts.map +1 -1
- package/src/lib/interfaces/energyTransaction.d.ts +25 -6
- package/src/lib/interfaces/energyTransaction.d.ts.map +1 -1
- package/src/lib/interfaces/identity/brightChainIdentity.d.ts +29 -0
- package/src/lib/interfaces/identity/brightChainIdentity.d.ts.map +1 -0
- package/src/lib/interfaces/identity/brightChainIdentity.js +3 -0
- package/src/lib/interfaces/identity/brightChainIdentity.js.map +1 -0
- package/src/lib/interfaces/identity/index.d.ts +1 -0
- package/src/lib/interfaces/identity/index.d.ts.map +1 -1
- package/src/lib/interfaces/index.d.ts +5 -0
- package/src/lib/interfaces/index.d.ts.map +1 -1
- package/src/lib/interfaces/index.js +8 -0
- package/src/lib/interfaces/index.js.map +1 -1
- package/src/lib/interfaces/messaging/attachmentMetadata.d.ts +12 -0
- package/src/lib/interfaces/messaging/attachmentMetadata.d.ts.map +1 -1
- package/src/lib/interfaces/messaging/emailMetadata.d.ts +55 -0
- package/src/lib/interfaces/messaging/emailMetadata.d.ts.map +1 -1
- package/src/lib/interfaces/messaging/emailMetadata.js.map +1 -1
- package/src/lib/interfaces/pouw/challengeToken.d.ts +20 -0
- package/src/lib/interfaces/pouw/challengeToken.d.ts.map +1 -0
- package/src/lib/interfaces/pouw/challengeToken.js +3 -0
- package/src/lib/interfaces/pouw/challengeToken.js.map +1 -0
- package/src/lib/interfaces/pouw/index.d.ts +8 -0
- package/src/lib/interfaces/pouw/index.d.ts.map +1 -0
- package/src/lib/interfaces/pouw/index.js +12 -0
- package/src/lib/interfaces/pouw/index.js.map +1 -0
- package/src/lib/interfaces/pouw/pouwConfig.d.ts +91 -0
- package/src/lib/interfaces/pouw/pouwConfig.d.ts.map +1 -0
- package/src/lib/interfaces/pouw/pouwConfig.js +24 -0
- package/src/lib/interfaces/pouw/pouwConfig.js.map +1 -0
- package/src/lib/interfaces/pouw/pouwMetrics.d.ts +23 -0
- package/src/lib/interfaces/pouw/pouwMetrics.d.ts.map +1 -0
- package/src/lib/interfaces/pouw/pouwMetrics.js +3 -0
- package/src/lib/interfaces/pouw/pouwMetrics.js.map +1 -0
- package/src/lib/interfaces/pouw/workResult.d.ts +19 -0
- package/src/lib/interfaces/pouw/workResult.d.ts.map +1 -0
- package/src/lib/interfaces/pouw/workResult.js +3 -0
- package/src/lib/interfaces/pouw/workResult.js.map +1 -0
- package/src/lib/interfaces/pouw/workUnit.d.ts +48 -0
- package/src/lib/interfaces/pouw/workUnit.d.ts.map +1 -0
- package/src/lib/interfaces/pouw/workUnit.js +14 -0
- package/src/lib/interfaces/pouw/workUnit.js.map +1 -0
- package/src/lib/interfaces/responses/adminDashboardResponse.d.ts +7 -0
- package/src/lib/interfaces/responses/adminDashboardResponse.d.ts.map +1 -1
- package/src/lib/interfaces/responses/communicationResponses.d.ts +2 -0
- package/src/lib/interfaces/responses/communicationResponses.d.ts.map +1 -1
- package/src/lib/interfaces/responses/identityResponseData.d.ts +10 -0
- package/src/lib/interfaces/responses/identityResponseData.d.ts.map +1 -0
- package/src/lib/interfaces/responses/identityResponseData.js +3 -0
- package/src/lib/interfaces/responses/identityResponseData.js.map +1 -0
- package/src/lib/interfaces/responses/index.d.ts +1 -0
- package/src/lib/interfaces/responses/index.d.ts.map +1 -1
- package/src/lib/interfaces/staging/commitRequest.d.ts +28 -0
- package/src/lib/interfaces/staging/commitRequest.d.ts.map +1 -0
- package/src/lib/interfaces/staging/commitRequest.js +3 -0
- package/src/lib/interfaces/staging/commitRequest.js.map +1 -0
- package/src/lib/interfaces/staging/commitResponse.d.ts +17 -0
- package/src/lib/interfaces/staging/commitResponse.d.ts.map +1 -0
- package/src/lib/interfaces/staging/commitResponse.js +3 -0
- package/src/lib/interfaces/staging/commitResponse.js.map +1 -0
- package/src/lib/interfaces/staging/index.d.ts +7 -0
- package/src/lib/interfaces/staging/index.d.ts.map +1 -0
- package/src/lib/interfaces/staging/index.js +6 -0
- package/src/lib/interfaces/staging/index.js.map +1 -0
- package/src/lib/interfaces/staging/processingParams.d.ts +16 -0
- package/src/lib/interfaces/staging/processingParams.d.ts.map +1 -0
- package/src/lib/interfaces/staging/processingParams.js +3 -0
- package/src/lib/interfaces/staging/processingParams.js.map +1 -0
- package/src/lib/interfaces/staging/stagedFileRecord.d.ts +23 -0
- package/src/lib/interfaces/staging/stagedFileRecord.d.ts.map +1 -0
- package/src/lib/interfaces/staging/stagedFileRecord.js +3 -0
- package/src/lib/interfaces/staging/stagedFileRecord.js.map +1 -0
- package/src/lib/interfaces/staging/stagingConfig.d.ts +19 -0
- package/src/lib/interfaces/staging/stagingConfig.d.ts.map +1 -0
- package/src/lib/interfaces/staging/stagingConfig.js +11 -0
- package/src/lib/interfaces/staging/stagingConfig.js.map +1 -0
- package/src/lib/interfaces/staging/tempUploadResponse.d.ts +19 -0
- package/src/lib/interfaces/staging/tempUploadResponse.d.ts.map +1 -0
- package/src/lib/interfaces/staging/tempUploadResponse.js +3 -0
- package/src/lib/interfaces/staging/tempUploadResponse.js.map +1 -0
- package/src/lib/interfaces/storage/blockStore.d.ts +22 -4
- package/src/lib/interfaces/storage/blockStore.d.ts.map +1 -1
- package/src/lib/interfaces/storage/headRegistry.d.ts +38 -0
- package/src/lib/interfaces/storage/headRegistry.d.ts.map +1 -1
- package/src/lib/interfaces/storage/headRegistryDriver.d.ts +47 -0
- package/src/lib/interfaces/storage/headRegistryDriver.d.ts.map +1 -0
- package/src/lib/interfaces/storage/headRegistryDriver.js +15 -0
- package/src/lib/interfaces/storage/headRegistryDriver.js.map +1 -0
- package/src/lib/interfaces/storage/index.d.ts +1 -0
- package/src/lib/interfaces/storage/index.d.ts.map +1 -1
- package/src/lib/interfaces/storage/index.js.map +1 -1
- package/src/lib/joule/formatJoule.d.ts +44 -0
- package/src/lib/joule/formatJoule.d.ts.map +1 -0
- package/src/lib/joule/formatJoule.js +121 -0
- package/src/lib/joule/formatJoule.js.map +1 -0
- package/src/lib/joule/index.d.ts +10 -0
- package/src/lib/joule/index.d.ts.map +1 -0
- package/src/lib/joule/index.js +13 -0
- package/src/lib/joule/index.js.map +1 -0
- package/src/lib/joule/jouleConstants.d.ts +13 -0
- package/src/lib/joule/jouleConstants.d.ts.map +1 -0
- package/src/lib/joule/jouleConstants.js +18 -0
- package/src/lib/joule/jouleConstants.js.map +1 -0
- package/src/lib/joule/rateTable.d.ts +55 -0
- package/src/lib/joule/rateTable.d.ts.map +1 -0
- package/src/lib/joule/rateTable.js +58 -0
- package/src/lib/joule/rateTable.js.map +1 -0
- package/src/lib/joule/resourceClass.d.ts +18 -0
- package/src/lib/joule/resourceClass.d.ts.map +1 -0
- package/src/lib/joule/resourceClass.js +28 -0
- package/src/lib/joule/resourceClass.js.map +1 -0
- package/src/lib/operationCost.d.ts +12 -7
- package/src/lib/operationCost.d.ts.map +1 -1
- package/src/lib/operationCost.js +11 -4
- package/src/lib/operationCost.js.map +1 -1
- package/src/lib/pouw/computeWorkUnit.d.ts +41 -0
- package/src/lib/pouw/computeWorkUnit.d.ts.map +1 -0
- package/src/lib/pouw/computeWorkUnit.js +92 -0
- package/src/lib/pouw/computeWorkUnit.js.map +1 -0
- package/src/lib/pouw/index.d.ts +8 -0
- package/src/lib/pouw/index.d.ts.map +1 -0
- package/src/lib/pouw/index.js +12 -0
- package/src/lib/pouw/index.js.map +1 -0
- package/src/lib/serializers/index.d.ts +2 -0
- package/src/lib/serializers/index.d.ts.map +1 -0
- package/src/lib/serializers/index.js +10 -0
- package/src/lib/serializers/index.js.map +1 -0
- package/src/lib/serializers/workUnitSerializer.d.ts +39 -0
- package/src/lib/serializers/workUnitSerializer.d.ts.map +1 -0
- package/src/lib/serializers/workUnitSerializer.js +150 -0
- package/src/lib/serializers/workUnitSerializer.js.map +1 -0
- package/src/lib/services/communication/__tests__/mockChatStorageProvider.d.ts +1 -1
- package/src/lib/services/communication/__tests__/mockChatStorageProvider.d.ts.map +1 -1
- package/src/lib/services/communication/__tests__/mockChatStorageProvider.js +5 -3
- package/src/lib/services/communication/__tests__/mockChatStorageProvider.js.map +1 -1
- package/src/lib/services/communication/__tests__/mockStorageProvider.d.ts +6 -0
- package/src/lib/services/communication/__tests__/mockStorageProvider.d.ts.map +1 -0
- package/src/lib/services/communication/__tests__/mockStorageProvider.js +41 -0
- package/src/lib/services/communication/__tests__/mockStorageProvider.js.map +1 -0
- package/src/lib/services/communication/channelService.d.ts +1 -1
- package/src/lib/services/communication/channelService.d.ts.map +1 -1
- package/src/lib/services/communication/channelService.js +2 -2
- package/src/lib/services/communication/channelService.js.map +1 -1
- package/src/lib/services/communication/conversationService.d.ts +1 -1
- package/src/lib/services/communication/conversationService.d.ts.map +1 -1
- package/src/lib/services/communication/conversationService.js +2 -2
- package/src/lib/services/communication/conversationService.js.map +1 -1
- package/src/lib/services/communication/groupService.d.ts +1 -1
- package/src/lib/services/communication/groupService.d.ts.map +1 -1
- package/src/lib/services/communication/groupService.js +2 -2
- package/src/lib/services/communication/groupService.js.map +1 -1
- package/src/lib/services/communication/rehydrationHelpers.d.ts.map +1 -1
- package/src/lib/services/communication/rehydrationHelpers.js +1 -2
- package/src/lib/services/communication/rehydrationHelpers.js.map +1 -1
- package/src/lib/services/communication/serverService.d.ts +13 -115
- package/src/lib/services/communication/serverService.d.ts.map +1 -1
- package/src/lib/services/communication/serverService.js +91 -235
- package/src/lib/services/communication/serverService.js.map +1 -1
- package/src/lib/services/copyOnWrite.service.d.ts.map +1 -1
- package/src/lib/services/copyOnWrite.service.js +1 -2
- package/src/lib/services/copyOnWrite.service.js.map +1 -1
- package/src/lib/services/messaging/emailMessageService.d.ts +89 -0
- package/src/lib/services/messaging/emailMessageService.d.ts.map +1 -1
- package/src/lib/services/messaging/emailMessageService.js +207 -28
- package/src/lib/services/messaging/emailMessageService.js.map +1 -1
- package/src/lib/services/messaging/emailParser.d.ts.map +1 -1
- package/src/lib/services/messaging/emailParser.js +1 -0
- package/src/lib/services/messaging/emailParser.js.map +1 -1
- package/src/lib/stores/assetAccountStore.d.ts +102 -0
- package/src/lib/stores/assetAccountStore.d.ts.map +1 -0
- package/src/lib/stores/assetAccountStore.js +276 -0
- package/src/lib/stores/assetAccountStore.js.map +1 -0
- package/src/lib/stores/blockStoreAdapter.d.ts +2 -0
- package/src/lib/stores/blockStoreAdapter.d.ts.map +1 -1
- package/src/lib/stores/blockStoreAdapter.js +3 -0
- package/src/lib/stores/blockStoreAdapter.js.map +1 -1
- package/src/lib/stores/energyAccountStore.d.ts +22 -36
- package/src/lib/stores/energyAccountStore.d.ts.map +1 -1
- package/src/lib/stores/energyAccountStore.js +33 -63
- package/src/lib/stores/energyAccountStore.js.map +1 -1
- package/src/lib/stores/memoryBlockStore.d.ts +16 -1
- package/src/lib/stores/memoryBlockStore.d.ts.map +1 -1
- package/src/lib/stores/memoryBlockStore.js +42 -6
- package/src/lib/stores/memoryBlockStore.js.map +1 -1
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AssetAccountStore = void 0;
|
|
4
|
+
const assetAccount_1 = require("../asset/assetAccount");
|
|
5
|
+
const jouleConstants_1 = require("../asset/jouleConstants");
|
|
6
|
+
const insufficientAvailableBalanceError_1 = require("../errors/asset/insufficientAvailableBalanceError");
|
|
7
|
+
const ledgerAlreadyAttachedError_1 = require("../errors/asset/ledgerAlreadyAttachedError");
|
|
8
|
+
const mixedAssetError_1 = require("../errors/asset/mixedAssetError");
|
|
9
|
+
const reservationExpiredError_1 = require("../errors/asset/reservationExpiredError");
|
|
10
|
+
const reservationNotFoundError_1 = require("../errors/asset/reservationNotFoundError");
|
|
11
|
+
/**
|
|
12
|
+
* Asset-agnostic, in-memory account store keyed by `(memberId, assetId)`.
|
|
13
|
+
*
|
|
14
|
+
* The legacy {@link EnergyAccountStore} is preserved untouched during the
|
|
15
|
+
* additive refactor. A future phase will fold it onto this base via
|
|
16
|
+
* subclassing with `defaultAssetId = 'joule'`.
|
|
17
|
+
*
|
|
18
|
+
* @see asset-account-store-generalization spec, Phase 4.
|
|
19
|
+
*/
|
|
20
|
+
class AssetAccountStore {
|
|
21
|
+
defaultAssetId;
|
|
22
|
+
/**
|
|
23
|
+
* Eventual-consistency contract for this tier. Surfaced as a runtime
|
|
24
|
+
* value so call sites can assert / log it.
|
|
25
|
+
*/
|
|
26
|
+
operationalSemantics = 'operational projection cache; may lag the asset ledger by up to one batch window once Layer 3 is enabled.';
|
|
27
|
+
accounts = new Map();
|
|
28
|
+
reservations = new Map();
|
|
29
|
+
ledger = null;
|
|
30
|
+
constructor(defaultAssetId = jouleConstants_1.JOULE_ASSET_ID) {
|
|
31
|
+
this.defaultAssetId = defaultAssetId;
|
|
32
|
+
if (typeof defaultAssetId !== 'string' || defaultAssetId.length === 0) {
|
|
33
|
+
throw new Error('defaultAssetId must be a non-empty string');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// ---------------------------------------------------------------------
|
|
37
|
+
// Keying
|
|
38
|
+
// ---------------------------------------------------------------------
|
|
39
|
+
static key(memberId, assetId) {
|
|
40
|
+
return `${memberId.toHex()}::${assetId}`;
|
|
41
|
+
}
|
|
42
|
+
// ---------------------------------------------------------------------
|
|
43
|
+
// Single-arity convenience methods (use defaultAssetId)
|
|
44
|
+
// ---------------------------------------------------------------------
|
|
45
|
+
get(memberId) {
|
|
46
|
+
return this.getForAsset(memberId, this.defaultAssetId);
|
|
47
|
+
}
|
|
48
|
+
set(memberId, account) {
|
|
49
|
+
this.setForAsset(memberId, account.assetId, account);
|
|
50
|
+
}
|
|
51
|
+
has(memberId) {
|
|
52
|
+
return this.hasForAsset(memberId, this.defaultAssetId);
|
|
53
|
+
}
|
|
54
|
+
delete(memberId) {
|
|
55
|
+
return this.deleteForAsset(memberId, this.defaultAssetId);
|
|
56
|
+
}
|
|
57
|
+
// ---------------------------------------------------------------------
|
|
58
|
+
// Two-arity composite-key methods
|
|
59
|
+
// ---------------------------------------------------------------------
|
|
60
|
+
getForAsset(memberId, assetId) {
|
|
61
|
+
return this.accounts.get(AssetAccountStore.key(memberId, assetId));
|
|
62
|
+
}
|
|
63
|
+
setForAsset(memberId, assetId, account) {
|
|
64
|
+
if (account.assetId !== assetId) {
|
|
65
|
+
throw new mixedAssetError_1.MixedAssetError([account.assetId, assetId], `Account assetId '${account.assetId}' does not match key assetId '${assetId}'.`);
|
|
66
|
+
}
|
|
67
|
+
if (memberId.toHex() !== account.memberId.toHex()) {
|
|
68
|
+
throw new Error('Account memberId does not match key memberId.');
|
|
69
|
+
}
|
|
70
|
+
this.accounts.set(AssetAccountStore.key(memberId, assetId), account);
|
|
71
|
+
}
|
|
72
|
+
hasForAsset(memberId, assetId) {
|
|
73
|
+
return this.accounts.has(AssetAccountStore.key(memberId, assetId));
|
|
74
|
+
}
|
|
75
|
+
deleteForAsset(memberId, assetId) {
|
|
76
|
+
return this.accounts.delete(AssetAccountStore.key(memberId, assetId));
|
|
77
|
+
}
|
|
78
|
+
getAllForAsset(assetId) {
|
|
79
|
+
const out = [];
|
|
80
|
+
for (const account of this.accounts.values()) {
|
|
81
|
+
if (account.assetId === assetId)
|
|
82
|
+
out.push(account);
|
|
83
|
+
}
|
|
84
|
+
return out;
|
|
85
|
+
}
|
|
86
|
+
getAllAccounts() {
|
|
87
|
+
return Array.from(this.accounts.values());
|
|
88
|
+
}
|
|
89
|
+
get size() {
|
|
90
|
+
return this.accounts.size;
|
|
91
|
+
}
|
|
92
|
+
clear() {
|
|
93
|
+
this.accounts.clear();
|
|
94
|
+
this.reservations.clear();
|
|
95
|
+
}
|
|
96
|
+
// ---------------------------------------------------------------------
|
|
97
|
+
// Reservations
|
|
98
|
+
// ---------------------------------------------------------------------
|
|
99
|
+
/**
|
|
100
|
+
* Reserve `amount` microunits against the available balance of
|
|
101
|
+
* `(memberId, assetId)`. The reservation expires after `ttlMs` ms; an
|
|
102
|
+
* expired reservation is reaped lazily on next read or settlement
|
|
103
|
+
* attempt.
|
|
104
|
+
*/
|
|
105
|
+
reserve(memberId, assetId, amount, ttlMs) {
|
|
106
|
+
this.reapExpiredFor(memberId, assetId);
|
|
107
|
+
const account = this.getForAsset(memberId, assetId);
|
|
108
|
+
if (!account) {
|
|
109
|
+
throw new reservationNotFoundError_1.ReservationNotFoundError(AssetAccountStore.key(memberId, assetId), `No account exists for member '${memberId.toHex()}' under asset '${assetId}'.`);
|
|
110
|
+
}
|
|
111
|
+
if (account instanceof assetAccount_1.AssetAccount) {
|
|
112
|
+
account.reserve(amount); // throws InsufficientAvailableBalanceError on overdraw
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
// Plain IAssetAccount — replicate the bigint logic inline.
|
|
116
|
+
const available = account.balance - account.reserved > 0n
|
|
117
|
+
? account.balance - account.reserved
|
|
118
|
+
: 0n;
|
|
119
|
+
if (typeof amount !== 'bigint' || amount < 0n) {
|
|
120
|
+
throw new Error('amount must be a non-negative bigint');
|
|
121
|
+
}
|
|
122
|
+
if (amount > available) {
|
|
123
|
+
throw new insufficientAvailableBalanceError_1.InsufficientAvailableBalanceError(assetId, amount, available);
|
|
124
|
+
}
|
|
125
|
+
account.reserved += amount;
|
|
126
|
+
account.lastUpdated = new Date();
|
|
127
|
+
}
|
|
128
|
+
const now = Date.now();
|
|
129
|
+
const handle = {
|
|
130
|
+
reservationId: globalThis.crypto.randomUUID(),
|
|
131
|
+
memberId,
|
|
132
|
+
assetId,
|
|
133
|
+
amount,
|
|
134
|
+
createdAt: new Date(now),
|
|
135
|
+
expiresAt: new Date(now + ttlMs),
|
|
136
|
+
};
|
|
137
|
+
this.reservations.set(handle.reservationId, handle);
|
|
138
|
+
return handle;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Settle `actualAmount` of a reservation: deduct from `balance`,
|
|
142
|
+
* increment `spent`, and return any remainder to the available balance.
|
|
143
|
+
* No ledger entry is emitted here — that is a Layer-2 concern.
|
|
144
|
+
*/
|
|
145
|
+
settle(handle, actualAmount) {
|
|
146
|
+
const live = this.reservations.get(handle.reservationId);
|
|
147
|
+
if (!live) {
|
|
148
|
+
throw new reservationNotFoundError_1.ReservationNotFoundError(handle.reservationId);
|
|
149
|
+
}
|
|
150
|
+
if (live.expiresAt.getTime() <= Date.now()) {
|
|
151
|
+
this.reservations.delete(live.reservationId);
|
|
152
|
+
this.releaseHold(live);
|
|
153
|
+
throw new reservationExpiredError_1.ReservationExpiredError(live.reservationId, live.expiresAt);
|
|
154
|
+
}
|
|
155
|
+
if (typeof actualAmount !== 'bigint' || actualAmount < 0n) {
|
|
156
|
+
throw new Error('actualAmount must be a non-negative bigint');
|
|
157
|
+
}
|
|
158
|
+
if (actualAmount > live.amount) {
|
|
159
|
+
throw new Error(`Settlement amount ${actualAmount} exceeds reserved ${live.amount}.`);
|
|
160
|
+
}
|
|
161
|
+
const account = this.getForAsset(live.memberId, live.assetId);
|
|
162
|
+
if (!account) {
|
|
163
|
+
this.reservations.delete(live.reservationId);
|
|
164
|
+
throw new reservationNotFoundError_1.ReservationNotFoundError(live.reservationId, 'Account vanished between reserve and settle.');
|
|
165
|
+
}
|
|
166
|
+
// Move actualAmount from reserved → spent (deducted from balance).
|
|
167
|
+
account.reserved -= live.amount; // release the full hold
|
|
168
|
+
account.balance -= actualAmount;
|
|
169
|
+
account.spent += actualAmount;
|
|
170
|
+
account.lastUpdated = new Date();
|
|
171
|
+
this.reservations.delete(live.reservationId);
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Release the full reservation back to the available balance with no
|
|
175
|
+
* spend recorded.
|
|
176
|
+
*/
|
|
177
|
+
release(handle) {
|
|
178
|
+
const live = this.reservations.get(handle.reservationId);
|
|
179
|
+
if (!live) {
|
|
180
|
+
throw new reservationNotFoundError_1.ReservationNotFoundError(handle.reservationId);
|
|
181
|
+
}
|
|
182
|
+
this.releaseHold(live);
|
|
183
|
+
this.reservations.delete(live.reservationId);
|
|
184
|
+
}
|
|
185
|
+
releaseHold(handle) {
|
|
186
|
+
const account = this.getForAsset(handle.memberId, handle.assetId);
|
|
187
|
+
if (!account)
|
|
188
|
+
return;
|
|
189
|
+
account.reserved =
|
|
190
|
+
account.reserved > handle.amount ? account.reserved - handle.amount : 0n;
|
|
191
|
+
account.lastUpdated = new Date();
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Reap any expired reservations belonging to `(memberId, assetId)`.
|
|
195
|
+
* Idempotent — re-running produces identical state.
|
|
196
|
+
*/
|
|
197
|
+
reapExpiredFor(memberId, assetId) {
|
|
198
|
+
const now = Date.now();
|
|
199
|
+
for (const [id, h] of this.reservations) {
|
|
200
|
+
if (h.memberId.toHex() === memberId.toHex() &&
|
|
201
|
+
h.assetId === assetId &&
|
|
202
|
+
h.expiresAt.getTime() <= now) {
|
|
203
|
+
this.releaseHold(h);
|
|
204
|
+
this.reservations.delete(id);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/** Reap every expired reservation in the store. */
|
|
209
|
+
reapAllExpired() {
|
|
210
|
+
const now = Date.now();
|
|
211
|
+
let count = 0;
|
|
212
|
+
for (const [id, h] of this.reservations) {
|
|
213
|
+
if (h.expiresAt.getTime() <= now) {
|
|
214
|
+
this.releaseHold(h);
|
|
215
|
+
this.reservations.delete(id);
|
|
216
|
+
count++;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
return count;
|
|
220
|
+
}
|
|
221
|
+
// ---------------------------------------------------------------------
|
|
222
|
+
// Aggregate helpers
|
|
223
|
+
// ---------------------------------------------------------------------
|
|
224
|
+
/**
|
|
225
|
+
* Sum the `balance` field across `accounts`. Throws
|
|
226
|
+
* {@link MixedAssetError} if the input contains more than one
|
|
227
|
+
* `assetId`.
|
|
228
|
+
*/
|
|
229
|
+
static sumBalances(accounts) {
|
|
230
|
+
if (accounts.length === 0)
|
|
231
|
+
return 0n;
|
|
232
|
+
const ids = new Set();
|
|
233
|
+
let total = 0n;
|
|
234
|
+
for (const a of accounts) {
|
|
235
|
+
ids.add(a.assetId);
|
|
236
|
+
if (ids.size > 1) {
|
|
237
|
+
throw new mixedAssetError_1.MixedAssetError(Array.from(ids));
|
|
238
|
+
}
|
|
239
|
+
total += a.balance;
|
|
240
|
+
}
|
|
241
|
+
return total;
|
|
242
|
+
}
|
|
243
|
+
sumBalances(accounts) {
|
|
244
|
+
return AssetAccountStore.sumBalances(accounts);
|
|
245
|
+
}
|
|
246
|
+
// ---------------------------------------------------------------------
|
|
247
|
+
// Ledger attachment (Layer 3 hook)
|
|
248
|
+
// ---------------------------------------------------------------------
|
|
249
|
+
/**
|
|
250
|
+
* One-shot setter wiring this operational store to a Layer-3 ledger
|
|
251
|
+
* writer. Throws {@link LedgerAlreadyAttachedError} on second call so
|
|
252
|
+
* the system-of-record never silently switches mid-lifetime.
|
|
253
|
+
*/
|
|
254
|
+
attachLedger(writer) {
|
|
255
|
+
if (this.ledger !== null) {
|
|
256
|
+
throw new ledgerAlreadyAttachedError_1.LedgerAlreadyAttachedError();
|
|
257
|
+
}
|
|
258
|
+
this.ledger = writer;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Returns the timestamp of the most recently settled batch for the
|
|
262
|
+
* supplied asset, or `null` if no ledger is attached. Never throws.
|
|
263
|
+
*/
|
|
264
|
+
getLastSettledAt(assetId) {
|
|
265
|
+
if (this.ledger === null)
|
|
266
|
+
return null;
|
|
267
|
+
try {
|
|
268
|
+
return this.ledger.getLastSettledAt(assetId);
|
|
269
|
+
}
|
|
270
|
+
catch {
|
|
271
|
+
return null;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
exports.AssetAccountStore = AssetAccountStore;
|
|
276
|
+
//# sourceMappingURL=assetAccountStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assetAccountStore.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/stores/assetAccountStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { BlockSize } from '../enumerations/blockSize';
|
|
|
5
5
|
import { BlockStoreOptions, BrightenResult, IBlockMetadata, RecoveryResult } from '../interfaces/storage/blockMetadata';
|
|
6
6
|
import { IBlockStore } from '../interfaces/storage/blockStore';
|
|
7
7
|
import { CBLMagnetComponents, CBLStorageResult, CBLWhiteningOptions } from '../interfaces/storage/cblWhitening';
|
|
8
|
+
import type { IHeadRegistry } from '../interfaces/storage/headRegistry';
|
|
8
9
|
import { Checksum } from '../types/checksum';
|
|
9
10
|
type BlockId = string | Checksum;
|
|
10
11
|
export declare class MemoryBlockStoreAdapter implements IBlockStore {
|
|
@@ -39,6 +40,7 @@ export declare class MemoryBlockStoreAdapter implements IBlockStore {
|
|
|
39
40
|
retrieveCBL(blockId1: Checksum | string, blockId2: Checksum | string, block1ParityIds?: string[], block2ParityIds?: string[]): Promise<Uint8Array>;
|
|
40
41
|
parseCBLMagnetUrl(magnetUrl: string): CBLMagnetComponents;
|
|
41
42
|
generateCBLMagnetUrl(blockId1: Checksum | string, blockId2: Checksum | string, blockSize: number, block1ParityIds?: string[], block2ParityIds?: string[], isEncrypted?: boolean): string;
|
|
43
|
+
createHeadRegistry(): IHeadRegistry;
|
|
42
44
|
}
|
|
43
45
|
export {};
|
|
44
46
|
//# sourceMappingURL=blockStoreAdapter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockStoreAdapter.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/stores/blockStoreAdapter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"blockStoreAdapter.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/stores/blockStoreAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -113,6 +113,9 @@ class MemoryBlockStoreAdapter {
|
|
|
113
113
|
generateCBLMagnetUrl(blockId1, blockId2, blockSize, block1ParityIds, block2ParityIds, isEncrypted) {
|
|
114
114
|
return this.store.generateCBLMagnetUrl(blockId1, blockId2, blockSize, block1ParityIds, block2ParityIds, isEncrypted);
|
|
115
115
|
}
|
|
116
|
+
createHeadRegistry() {
|
|
117
|
+
return this.store.createHeadRegistry();
|
|
118
|
+
}
|
|
116
119
|
}
|
|
117
120
|
exports.MemoryBlockStoreAdapter = MemoryBlockStoreAdapter;
|
|
118
121
|
//# sourceMappingURL=blockStoreAdapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockStoreAdapter.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/stores/blockStoreAdapter.ts"],"names":[],"mappings":";;;AAEA,+CAAiD;AACjD,kDAAqD;AAErD,yFAAsF;
|
|
1
|
+
{"version":3,"file":"blockStoreAdapter.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/stores/blockStoreAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,57 +1,43 @@
|
|
|
1
1
|
import { EnergyAccount } from '../energyAccount';
|
|
2
|
+
import { IAssetAccount } from '../interfaces/assetAccount';
|
|
2
3
|
import { IEnergyAccountDto } from '../interfaces/energyAccount';
|
|
3
4
|
import { ITypedCollection } from '../interfaces/storage/documentStore';
|
|
4
5
|
import { Checksum } from '../types/checksum';
|
|
6
|
+
import { AssetAccountStore } from './assetAccountStore';
|
|
5
7
|
/**
|
|
6
|
-
*
|
|
8
|
+
* Energy-specific account store.
|
|
7
9
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
10
|
+
* Extends {@link AssetAccountStore} with `defaultAssetId = 'joule'` and
|
|
11
|
+
* optional typed-collection persistence for startup hydration.
|
|
12
|
+
*
|
|
13
|
+
* When constructed without an {@link ITypedCollection} the store is purely
|
|
14
|
+
* in-memory (backward-compatible with existing callers). When a typed
|
|
15
|
+
* collection is provided (e.g. a Model from brightchain-db), every write is
|
|
16
|
+
* mirrored to the backing store and `loadFromStore()` can hydrate the
|
|
17
|
+
* in-memory map on startup.
|
|
13
18
|
*/
|
|
14
|
-
export declare class EnergyAccountStore {
|
|
15
|
-
private accounts;
|
|
19
|
+
export declare class EnergyAccountStore extends AssetAccountStore {
|
|
16
20
|
private readonly typedCollection;
|
|
17
21
|
constructor(typedCollection?: ITypedCollection<IEnergyAccountDto, EnergyAccount>);
|
|
18
22
|
/**
|
|
19
|
-
*
|
|
20
|
-
*
|
|
23
|
+
* Store the account in memory and persist to the backing collection.
|
|
24
|
+
*
|
|
25
|
+
* Overrides the synchronous parent method with an async variant so that
|
|
26
|
+
* callers can `await` the full write-through.
|
|
21
27
|
*/
|
|
22
|
-
|
|
28
|
+
set(memberId: Checksum, account: IAssetAccount): Promise<void>;
|
|
23
29
|
/**
|
|
24
|
-
* Get account
|
|
25
|
-
*/
|
|
26
|
-
get(memberId: Checksum): EnergyAccount | undefined;
|
|
27
|
-
/**
|
|
28
|
-
* Get or create account with trial credits
|
|
30
|
+
* Get or create account with trial credits.
|
|
29
31
|
*/
|
|
30
32
|
getOrCreate(memberId: Checksum): Promise<EnergyAccount>;
|
|
31
33
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*/
|
|
35
|
-
set(memberId: Checksum, account: EnergyAccount): Promise<void>;
|
|
36
|
-
/**
|
|
37
|
-
* Check if account exists
|
|
38
|
-
*/
|
|
39
|
-
has(memberId: Checksum): boolean;
|
|
40
|
-
/**
|
|
41
|
-
* Delete account
|
|
34
|
+
* Hydrate the in-memory map from the backing typed collection.
|
|
35
|
+
* No-op when no collection is configured.
|
|
42
36
|
*/
|
|
43
|
-
|
|
37
|
+
loadFromStore(): Promise<void>;
|
|
44
38
|
/**
|
|
45
|
-
* Get all accounts
|
|
39
|
+
* Get all joule accounts.
|
|
46
40
|
*/
|
|
47
41
|
getAll(): EnergyAccount[];
|
|
48
|
-
/**
|
|
49
|
-
* Get account count
|
|
50
|
-
*/
|
|
51
|
-
get size(): number;
|
|
52
|
-
/**
|
|
53
|
-
* Clear all accounts
|
|
54
|
-
*/
|
|
55
|
-
clear(): void;
|
|
56
42
|
}
|
|
57
43
|
//# sourceMappingURL=energyAccountStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"energyAccountStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/stores/energyAccountStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"energyAccountStore.d.ts","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/stores/energyAccountStore.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,qBAAa,kBAAmB,SAAQ,iBAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAGvB;gBAGP,eAAe,CAAC,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,aAAa,CAAC;IAMtE;;;;;OAKG;IACY,GAAG,CAChB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,IAAI,CAAC;IAYhB;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;IAS7D;;;OAGG;IACG,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAQpC;;OAEG;IACH,MAAM,IAAI,aAAa,EAAE;CAG1B"}
|
|
@@ -1,47 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EnergyAccountStore = void 0;
|
|
4
|
-
const
|
|
4
|
+
const jouleConstants_1 = require("../asset/jouleConstants");
|
|
5
5
|
const energyAccount_1 = require("../energyAccount");
|
|
6
|
+
const assetAccountStore_1 = require("./assetAccountStore");
|
|
6
7
|
/**
|
|
7
|
-
*
|
|
8
|
+
* Energy-specific account store.
|
|
8
9
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
10
|
+
* Extends {@link AssetAccountStore} with `defaultAssetId = 'joule'` and
|
|
11
|
+
* optional typed-collection persistence for startup hydration.
|
|
12
|
+
*
|
|
13
|
+
* When constructed without an {@link ITypedCollection} the store is purely
|
|
14
|
+
* in-memory (backward-compatible with existing callers). When a typed
|
|
15
|
+
* collection is provided (e.g. a Model from brightchain-db), every write is
|
|
16
|
+
* mirrored to the backing store and `loadFromStore()` can hydrate the
|
|
17
|
+
* in-memory map on startup.
|
|
14
18
|
*/
|
|
15
|
-
class EnergyAccountStore {
|
|
16
|
-
accounts;
|
|
19
|
+
class EnergyAccountStore extends assetAccountStore_1.AssetAccountStore {
|
|
17
20
|
typedCollection;
|
|
18
21
|
constructor(typedCollection) {
|
|
19
|
-
|
|
22
|
+
super(jouleConstants_1.JOULE_ASSET_ID);
|
|
20
23
|
this.typedCollection = typedCollection ?? null;
|
|
21
24
|
}
|
|
22
25
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
26
|
+
* Store the account in memory and persist to the backing collection.
|
|
27
|
+
*
|
|
28
|
+
* Overrides the synchronous parent method with an async variant so that
|
|
29
|
+
* callers can `await` the full write-through.
|
|
25
30
|
*/
|
|
26
|
-
async
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
// The collection already hydrates — account is an EnergyAccount
|
|
32
|
-
const key = account.memberId.toHex();
|
|
33
|
-
this.accounts.set(key, account);
|
|
31
|
+
async set(memberId, account) {
|
|
32
|
+
super.set(memberId, account);
|
|
33
|
+
if (this.typedCollection) {
|
|
34
|
+
const key = memberId.toHex();
|
|
35
|
+
await this.typedCollection.replaceOne({ memberId: key }, account, { upsert: true });
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
38
|
/**
|
|
37
|
-
* Get account
|
|
38
|
-
*/
|
|
39
|
-
get(memberId) {
|
|
40
|
-
const key = (0, ecies_lib_1.uint8ArrayToHex)(memberId.toUint8Array());
|
|
41
|
-
return this.accounts.get(key);
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Get or create account with trial credits
|
|
39
|
+
* Get or create account with trial credits.
|
|
45
40
|
*/
|
|
46
41
|
async getOrCreate(memberId) {
|
|
47
42
|
let account = this.get(memberId);
|
|
@@ -52,47 +47,22 @@ class EnergyAccountStore {
|
|
|
52
47
|
return account;
|
|
53
48
|
}
|
|
54
49
|
/**
|
|
55
|
-
*
|
|
56
|
-
*
|
|
50
|
+
* Hydrate the in-memory map from the backing typed collection.
|
|
51
|
+
* No-op when no collection is configured.
|
|
57
52
|
*/
|
|
58
|
-
async
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
53
|
+
async loadFromStore() {
|
|
54
|
+
if (!this.typedCollection)
|
|
55
|
+
return;
|
|
56
|
+
const docs = await this.typedCollection.find({}).toArray();
|
|
57
|
+
for (const account of docs) {
|
|
58
|
+
super.set(account.memberId, account);
|
|
63
59
|
}
|
|
64
60
|
}
|
|
65
61
|
/**
|
|
66
|
-
*
|
|
67
|
-
*/
|
|
68
|
-
has(memberId) {
|
|
69
|
-
const key = (0, ecies_lib_1.uint8ArrayToHex)(memberId.toUint8Array());
|
|
70
|
-
return this.accounts.has(key);
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Delete account
|
|
74
|
-
*/
|
|
75
|
-
delete(memberId) {
|
|
76
|
-
const key = (0, ecies_lib_1.uint8ArrayToHex)(memberId.toUint8Array());
|
|
77
|
-
return this.accounts.delete(key);
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Get all accounts
|
|
62
|
+
* Get all joule accounts.
|
|
81
63
|
*/
|
|
82
64
|
getAll() {
|
|
83
|
-
return
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Get account count
|
|
87
|
-
*/
|
|
88
|
-
get size() {
|
|
89
|
-
return this.accounts.size;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Clear all accounts
|
|
93
|
-
*/
|
|
94
|
-
clear() {
|
|
95
|
-
this.accounts.clear();
|
|
65
|
+
return this.getAllForAsset(jouleConstants_1.JOULE_ASSET_ID);
|
|
96
66
|
}
|
|
97
67
|
}
|
|
98
68
|
exports.EnergyAccountStore = EnergyAccountStore;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"energyAccountStore.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/stores/energyAccountStore.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"energyAccountStore.js","sourceRoot":"","sources":["../../../../../brightchain-lib/src/lib/stores/energyAccountStore.ts"],"names":[],"mappings":";;;AAAA,4DAAyD;AACzD,oDAAiD;AAKjD,2DAAwD;AAExD;;;;;;;;;;;GAWG;AACH,MAAa,kBAAmB,SAAQ,qCAAiB;IACtC,eAAe,CAGvB;IAET,YACE,eAAoE;QAEpE,KAAK,CAAC,+BAAc,CAAC,CAAC;QACtB,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,IAAI,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACM,KAAK,CAAC,GAAG,CAChB,QAAkB,EAClB,OAAsB;QAEtB,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CACnC,EAAE,QAAQ,EAAE,GAAG,EAAgC,EAC/C,OAAwB,EACxB,EAAE,MAAM,EAAE,IAAI,EAAE,CACjB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,QAAkB;QAClC,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAA8B,CAAC;QAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,6BAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;YACzD,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa;QACjB,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,OAAO;QAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3D,KAAK,MAAM,OAAO,IAAI,IAAI,EAAE,CAAC;YAC3B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,cAAc,CAAC,+BAAc,CAAoB,CAAC;IAChE,CAAC;CACF;AAhED,gDAgEC"}
|
|
@@ -6,6 +6,7 @@ import { IFecService } from '../interfaces/services/fecService';
|
|
|
6
6
|
import { BlockStoreOptions, BrightenResult, IBlockMetadata, RecoveryResult } from '../interfaces/storage/blockMetadata';
|
|
7
7
|
import { IBlockStore } from '../interfaces/storage/blockStore';
|
|
8
8
|
import { CBLMagnetComponents, CBLStorageResult, CBLWhiteningOptions } from '../interfaces/storage/cblWhitening';
|
|
9
|
+
import type { IHeadRegistry } from '../interfaces/storage/headRegistry';
|
|
9
10
|
import { Checksum } from '../types/checksum';
|
|
10
11
|
import { MemoryBlockMetadataStore } from './memoryBlockMetadataStore';
|
|
11
12
|
/**
|
|
@@ -115,7 +116,9 @@ export declare class MemoryBlockStore implements IBlockStore {
|
|
|
115
116
|
getRandomBlocks(count: number, blockSize: BlockSize): Promise<Checksum[]>;
|
|
116
117
|
/**
|
|
117
118
|
* Store raw data with a key (convenience method).
|
|
118
|
-
*
|
|
119
|
+
* Picks the smallest supported block size that fits the data. Throws
|
|
120
|
+
* `StoreError(BlockValidationFailed)` when no configured size can hold
|
|
121
|
+
* the data.
|
|
119
122
|
*/
|
|
120
123
|
put(key: Checksum | string, data: Uint8Array, options?: BlockStoreOptions): Promise<void>;
|
|
121
124
|
/**
|
|
@@ -276,5 +279,17 @@ export declare class MemoryBlockStore implements IBlockStore {
|
|
|
276
279
|
* @returns The magnet URL string
|
|
277
280
|
*/
|
|
278
281
|
generateCBLMagnetUrl(blockId1: Checksum | string, blockId2: Checksum | string, blockSize: number, block1ParityIds?: string[], block2ParityIds?: string[], isEncrypted?: boolean): string;
|
|
282
|
+
createHeadRegistry(): IHeadRegistry;
|
|
283
|
+
/**
|
|
284
|
+
* List all block IDs in the store with optional cursor-based pagination.
|
|
285
|
+
*/
|
|
286
|
+
listBlockIds(options?: {
|
|
287
|
+
limit?: number;
|
|
288
|
+
cursor?: string;
|
|
289
|
+
}): AsyncIterable<string>;
|
|
290
|
+
/**
|
|
291
|
+
* Get the total number of blocks in the store.
|
|
292
|
+
*/
|
|
293
|
+
getBlockCount(): Promise<number>;
|
|
279
294
|
}
|
|
280
295
|
//# sourceMappingURL=memoryBlockStore.d.ts.map
|