@bopen-io/wallet-toolbox 2.6.2-brc153.5 → 2.14.6
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/CHANGELOG.md +744 -1
- package/LICENSES/Open-BSV-License-4-wallet-pre-2026.txt +28 -0
- package/README.md +823 -14
- package/THIRD_PARTY_NOTICES.md +35 -0
- package/docs/README.md +44 -31
- package/docs/action-batch-planning.md +80 -37
- package/docs/client.md +12996 -4571
- package/docs/identity-verification.md +218 -0
- package/docs/local-first-chaintracks.md +129 -0
- package/docs/managed-change-liquidity.md +258 -0
- package/docs/managed-change-policy.md +14 -1
- package/docs/monitor.md +505 -190
- package/docs/no-send-expiry.md +167 -0
- package/docs/prepared-beef.md +197 -0
- package/docs/services.md +4013 -1153
- package/docs/setup.md +107 -56
- package/docs/storage.md +5781 -1599
- package/docs/sync-transfer.md +144 -0
- package/docs/wab-shamir.md +5 -1
- package/docs/wallet.md +10188 -10904
- package/out/src/CWIStyleWalletManager.d.ts +39 -31
- package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
- package/out/src/CWIStyleWalletManager.js +309 -258
- package/out/src/CWIStyleWalletManager.js.map +1 -1
- package/out/src/Setup.d.ts +14 -0
- package/out/src/Setup.d.ts.map +1 -1
- package/out/src/Setup.js +6 -2
- package/out/src/Setup.js.map +1 -1
- package/out/src/SetupClient.d.ts +3 -0
- package/out/src/SetupClient.d.ts.map +1 -1
- package/out/src/SetupClient.js +1 -0
- package/out/src/SetupClient.js.map +1 -1
- package/out/src/SetupWallet.d.ts +3 -0
- package/out/src/SetupWallet.d.ts.map +1 -1
- package/out/src/ShamirWalletManager.d.ts.map +1 -1
- package/out/src/ShamirWalletManager.js +34 -19
- package/out/src/ShamirWalletManager.js.map +1 -1
- package/out/src/SimpleWalletManager.d.ts.map +1 -1
- package/out/src/SimpleWalletManager.js +7 -6
- package/out/src/SimpleWalletManager.js.map +1 -1
- package/out/src/Wallet.d.ts +54 -14
- package/out/src/Wallet.d.ts.map +1 -1
- package/out/src/Wallet.js +216 -114
- package/out/src/Wallet.js.map +1 -1
- package/out/src/WalletAuthenticationManager.d.ts +32 -0
- package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
- package/out/src/WalletAuthenticationManager.js +531 -78
- package/out/src/WalletAuthenticationManager.js.map +1 -1
- package/out/src/WalletLogger.js +1 -1
- package/out/src/WalletLogger.js.map +1 -1
- package/out/src/WalletPermissionsManager.d.ts +101 -43
- package/out/src/WalletPermissionsManager.d.ts.map +1 -1
- package/out/src/WalletPermissionsManager.js +897 -414
- package/out/src/WalletPermissionsManager.js.map +1 -1
- package/out/src/WalletSettingsManager.d.ts +3 -2
- package/out/src/WalletSettingsManager.d.ts.map +1 -1
- package/out/src/WalletSettingsManager.js +143 -8
- package/out/src/WalletSettingsManager.js.map +1 -1
- package/out/src/entropy/EntropyCollector.d.ts.map +1 -1
- package/out/src/entropy/EntropyCollector.js +3 -2
- package/out/src/entropy/EntropyCollector.js.map +1 -1
- package/out/src/fundWalletP2PKH.d.ts.map +1 -1
- package/out/src/fundWalletP2PKH.js +143 -44
- package/out/src/fundWalletP2PKH.js.map +1 -1
- package/out/src/index.client.d.ts +6 -0
- package/out/src/index.client.d.ts.map +1 -1
- package/out/src/index.client.js +16 -1
- package/out/src/index.client.js.map +1 -1
- package/out/src/index.mobile.d.ts +7 -0
- package/out/src/index.mobile.d.ts.map +1 -1
- package/out/src/index.mobile.js +17 -1
- package/out/src/index.mobile.js.map +1 -1
- package/out/src/mockchain/MockChainTracker.d.ts.map +1 -1
- package/out/src/mockchain/MockChainTracker.js +5 -5
- package/out/src/mockchain/MockChainTracker.js.map +1 -1
- package/out/src/mockchain/MockServices.d.ts +2 -0
- package/out/src/mockchain/MockServices.d.ts.map +1 -1
- package/out/src/mockchain/MockServices.js +54 -14
- package/out/src/mockchain/MockServices.js.map +1 -1
- package/out/src/monitor/Monitor.d.ts +51 -0
- package/out/src/monitor/Monitor.d.ts.map +1 -1
- package/out/src/monitor/Monitor.js +282 -41
- package/out/src/monitor/Monitor.js.map +1 -1
- package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
- package/out/src/monitor/MonitorDaemon.js +64 -16
- package/out/src/monitor/MonitorDaemon.js.map +1 -1
- package/out/src/monitor/monitorValidation.d.ts +12 -0
- package/out/src/monitor/monitorValidation.d.ts.map +1 -0
- package/out/src/monitor/monitorValidation.js +133 -0
- package/out/src/monitor/monitorValidation.js.map +1 -0
- package/out/src/monitor/tasks/TaskArcSSE.d.ts +6 -1
- package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskArcSSE.js +117 -74
- package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +5 -0
- package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.js +29 -24
- package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.js +11 -3
- package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
- package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskFailAbandoned.js +9 -4
- package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.js +3 -1
- package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
- package/out/src/monitor/tasks/TaskNoSendExpiry.d.ts +19 -0
- package/out/src/monitor/tasks/TaskNoSendExpiry.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskNoSendExpiry.js +47 -0
- package/out/src/monitor/tasks/TaskNoSendExpiry.js.map +1 -0
- package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts +27 -0
- package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js +242 -0
- package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js.map +1 -0
- package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReorg.js +4 -4
- package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +31 -9
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +18 -1
- package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReviewProvenTxs.js +99 -21
- package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +33 -6
- package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.js +189 -13
- package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
- package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskSendWaiting.js +52 -11
- package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
- package/out/src/monitor/tasks/TaskUnFail.d.ts +1 -0
- package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskUnFail.js +26 -8
- package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
- package/out/src/monitor/tasks/index.all.d.ts +2 -0
- package/out/src/monitor/tasks/index.all.d.ts.map +1 -1
- package/out/src/monitor/tasks/index.all.js +2 -0
- package/out/src/monitor/tasks/index.all.js.map +1 -1
- package/out/src/sdk/ActionBatch.interfaces.d.ts +23 -0
- package/out/src/sdk/ActionBatch.interfaces.d.ts.map +1 -1
- package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
- package/out/src/sdk/PrivilegedKeyManager.js +3 -2
- package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
- package/out/src/sdk/WERR_errors.d.ts +23 -0
- package/out/src/sdk/WERR_errors.d.ts.map +1 -1
- package/out/src/sdk/WERR_errors.js +51 -7
- package/out/src/sdk/WERR_errors.js.map +1 -1
- package/out/src/sdk/WalletError.d.ts.map +1 -1
- package/out/src/sdk/WalletError.js +7 -21
- package/out/src/sdk/WalletError.js.map +1 -1
- package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
- package/out/src/sdk/WalletErrorFromJson.js +121 -3
- package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
- package/out/src/sdk/WalletServices.interfaces.d.ts +45 -2
- package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
- package/out/src/sdk/WalletStorage.interfaces.d.ts +87 -4
- package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
- package/out/src/sdk/types.d.ts +3 -2
- package/out/src/sdk/types.d.ts.map +1 -1
- package/out/src/sdk/types.js +3 -2
- package/out/src/sdk/types.js.map +1 -1
- package/out/src/services/ServiceCollection.js +2 -2
- package/out/src/services/ServiceCollection.js.map +1 -1
- package/out/src/services/Services.d.ts +5 -0
- package/out/src/services/Services.d.ts.map +1 -1
- package/out/src/services/Services.js +346 -120
- package/out/src/services/Services.js.map +1 -1
- package/out/src/services/chaintracker/BHServiceClient.d.ts +21 -4
- package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
- package/out/src/services/chaintracker/BHServiceClient.js +269 -66
- package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +25 -3
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.js +188 -53
- package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
- package/out/src/services/chaintracker/LocalChainTracker.d.ts +122 -0
- package/out/src/services/chaintracker/LocalChainTracker.d.ts.map +1 -0
- package/out/src/services/chaintracker/LocalChainTracker.js +465 -0
- package/out/src/services/chaintracker/LocalChainTracker.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js +59 -7
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.d.ts +48 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.js +3 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.d.ts +70 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.js +21 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +6 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +53 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +9 -2
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +9 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +28 -3
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js +282 -64
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +16 -0
- package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +150 -26
- package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +30 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +348 -30
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts +32 -1
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +378 -44
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +28 -3
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +33 -9
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js +4 -2
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +2 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +17 -4
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts +2 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +40 -20
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +14 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts +6 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +56 -9
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js +6 -3
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +4 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +27 -9
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts +8 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +49 -5
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +90 -21
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +3 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +185 -38
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +59 -6
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts +2 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +89 -39
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +10 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +230 -28
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +2 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +265 -96
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +3 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +240 -87
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +3 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +121 -35
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts +8 -0
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +6 -3
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +1 -7
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js +1 -7
- package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +1 -7
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.all.d.ts +3 -0
- package/out/src/services/chaintracker/chaintracks/index.all.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.all.js +3 -0
- package/out/src/services/chaintracker/chaintracks/index.all.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +5 -0
- package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.mobile.js +5 -0
- package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts +51 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js +394 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +45 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +733 -166
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +17 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts +32 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js +40 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +99 -30
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +3 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +23 -15
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +38 -4
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +191 -47
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts +2 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js +57 -11
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts +48 -0
- package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js +280 -0
- package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts +30 -0
- package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.js +57 -0
- package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts +14 -0
- package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js +148 -0
- package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts +41 -0
- package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js +271 -0
- package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +3 -0
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +15 -0
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +17 -4
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +362 -105
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts +4 -0
- package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js +33 -0
- package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
- package/out/src/services/chaintracker/index.all.d.ts +1 -0
- package/out/src/services/chaintracker/index.all.d.ts.map +1 -1
- package/out/src/services/chaintracker/index.all.js +1 -0
- package/out/src/services/chaintracker/index.all.js.map +1 -1
- package/out/src/services/chaintracker/index.client.d.ts +1 -0
- package/out/src/services/chaintracker/index.client.d.ts.map +1 -1
- package/out/src/services/chaintracker/index.client.js +1 -0
- package/out/src/services/chaintracker/index.client.js.map +1 -1
- package/out/src/services/chaintracker/index.mobile.d.ts +1 -0
- package/out/src/services/chaintracker/index.mobile.d.ts.map +1 -1
- package/out/src/services/chaintracker/index.mobile.js +1 -0
- package/out/src/services/chaintracker/index.mobile.js.map +1 -1
- package/out/src/services/classifyOutputUtxo.d.ts +25 -0
- package/out/src/services/classifyOutputUtxo.d.ts.map +1 -0
- package/out/src/services/classifyOutputUtxo.js +96 -0
- package/out/src/services/classifyOutputUtxo.js.map +1 -0
- package/out/src/services/createDefaultWalletServicesOptions.d.ts +16 -3
- package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.js +38 -8
- package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
- package/out/src/services/fiatRateValidation.d.ts +12 -0
- package/out/src/services/fiatRateValidation.d.ts.map +1 -0
- package/out/src/services/fiatRateValidation.js +138 -0
- package/out/src/services/fiatRateValidation.js.map +1 -0
- package/out/src/services/getCanonicalMerklePath.d.ts +15 -0
- package/out/src/services/getCanonicalMerklePath.d.ts.map +1 -0
- package/out/src/services/getCanonicalMerklePath.js +90 -0
- package/out/src/services/getCanonicalMerklePath.js.map +1 -0
- package/out/src/services/providers/ARC.d.ts +3 -16
- package/out/src/services/providers/ARC.d.ts.map +1 -1
- package/out/src/services/providers/ARC.js +36 -37
- package/out/src/services/providers/ARC.js.map +1 -1
- package/out/src/services/providers/ArcSSEClient.d.ts +38 -23
- package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
- package/out/src/services/providers/ArcSSEClient.js +384 -63
- package/out/src/services/providers/ArcSSEClient.js.map +1 -1
- package/out/src/services/providers/Arcade.d.ts +11 -1
- package/out/src/services/providers/Arcade.d.ts.map +1 -1
- package/out/src/services/providers/Arcade.js +111 -33
- package/out/src/services/providers/Arcade.js.map +1 -1
- package/out/src/services/providers/Bitails.d.ts +3 -0
- package/out/src/services/providers/Bitails.d.ts.map +1 -1
- package/out/src/services/providers/Bitails.js +79 -12
- package/out/src/services/providers/Bitails.js.map +1 -1
- package/out/src/services/providers/SdkWhatsOnChain.d.ts +8 -2
- package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
- package/out/src/services/providers/SdkWhatsOnChain.js +83 -10
- package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
- package/out/src/services/providers/WhatsOnChain.d.ts +3 -0
- package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
- package/out/src/services/providers/WhatsOnChain.js +221 -69
- package/out/src/services/providers/WhatsOnChain.js.map +1 -1
- package/out/src/services/providers/arcProviderConfig.d.ts +27 -0
- package/out/src/services/providers/arcProviderConfig.d.ts.map +1 -0
- package/out/src/services/providers/arcProviderConfig.js +83 -0
- package/out/src/services/providers/arcProviderConfig.js.map +1 -0
- package/out/src/services/providers/arcTxDataValidation.d.ts +4 -0
- package/out/src/services/providers/arcTxDataValidation.d.ts.map +1 -0
- package/out/src/services/providers/arcTxDataValidation.js +92 -0
- package/out/src/services/providers/arcTxDataValidation.js.map +1 -0
- package/out/src/services/providers/arcadeStatus.d.ts +18 -0
- package/out/src/services/providers/arcadeStatus.d.ts.map +1 -0
- package/out/src/services/providers/arcadeStatus.js +56 -0
- package/out/src/services/providers/arcadeStatus.js.map +1 -0
- package/out/src/services/providers/exchangeRates.d.ts +3 -3
- package/out/src/services/providers/exchangeRates.d.ts.map +1 -1
- package/out/src/services/providers/exchangeRates.js +153 -226
- package/out/src/services/providers/exchangeRates.js.map +1 -1
- package/out/src/services/providers/getBeefForTxid.d.ts.map +1 -1
- package/out/src/services/providers/getBeefForTxid.js.map +1 -1
- package/out/src/services/providers/whatsOnChainHelpers.d.ts +2 -2
- package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +1 -1
- package/out/src/services/providers/whatsOnChainHelpers.js +11 -8
- package/out/src/services/providers/whatsOnChainHelpers.js.map +1 -1
- package/out/src/services/validateMerklePathResult.d.ts +30 -0
- package/out/src/services/validateMerklePathResult.d.ts.map +1 -0
- package/out/src/services/validateMerklePathResult.js +272 -0
- package/out/src/services/validateMerklePathResult.js.map +1 -0
- package/out/src/services/validatePostBeefResult.d.ts +17 -0
- package/out/src/services/validatePostBeefResult.d.ts.map +1 -0
- package/out/src/services/validatePostBeefResult.js +334 -0
- package/out/src/services/validatePostBeefResult.js.map +1 -0
- package/out/src/services/validateRawTxResult.d.ts +6 -0
- package/out/src/services/validateRawTxResult.d.ts.map +1 -0
- package/out/src/services/validateRawTxResult.js +77 -0
- package/out/src/services/validateRawTxResult.js.map +1 -0
- package/out/src/services/validateScriptHashHistoryResult.d.ts +5 -0
- package/out/src/services/validateScriptHashHistoryResult.d.ts.map +1 -0
- package/out/src/services/validateScriptHashHistoryResult.js +99 -0
- package/out/src/services/validateScriptHashHistoryResult.js.map +1 -0
- package/out/src/services/validateStatusForTxidsResult.d.ts +8 -0
- package/out/src/services/validateStatusForTxidsResult.d.ts.map +1 -0
- package/out/src/services/validateStatusForTxidsResult.js +181 -0
- package/out/src/services/validateStatusForTxidsResult.js.map +1 -0
- package/out/src/services/validateUtxoStatusResult.d.ts +6 -0
- package/out/src/services/validateUtxoStatusResult.d.ts.map +1 -0
- package/out/src/services/validateUtxoStatusResult.js +126 -0
- package/out/src/services/validateUtxoStatusResult.js.map +1 -0
- package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts +3 -2
- package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts.map +1 -1
- package/out/src/signer/actionBatch/ActionBatchPlanner.js +29 -6
- package/out/src/signer/actionBatch/ActionBatchPlanner.js.map +1 -1
- package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts +8 -5
- package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +1 -1
- package/out/src/signer/actionBatch/ActionBatchWorkspace.js +186 -73
- package/out/src/signer/actionBatch/ActionBatchWorkspace.js.map +1 -1
- package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts +2 -2
- package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts.map +1 -1
- package/out/src/signer/actionBatch/actionBatchBootstrap.js +3 -3
- package/out/src/signer/actionBatch/actionBatchBootstrap.js.map +1 -1
- package/out/src/signer/methods/acquireDirectCertificate.d.ts +3 -2
- package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -1
- package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
- package/out/src/signer/methods/buildSignableTransaction.d.ts +6 -5
- package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
- package/out/src/signer/methods/buildSignableTransaction.js +6 -11
- package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
- package/out/src/signer/methods/createAction.d.ts +35 -3
- package/out/src/signer/methods/createAction.d.ts.map +1 -1
- package/out/src/signer/methods/createAction.js +50 -2
- package/out/src/signer/methods/createAction.js.map +1 -1
- package/out/src/signer/methods/createNoSendExpiryAction.d.ts +7 -0
- package/out/src/signer/methods/createNoSendExpiryAction.d.ts.map +1 -0
- package/out/src/signer/methods/createNoSendExpiryAction.js +254 -0
- package/out/src/signer/methods/createNoSendExpiryAction.js.map +1 -0
- package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/signer/methods/internalizeAction.js +9 -5
- package/out/src/signer/methods/internalizeAction.js.map +1 -1
- package/out/src/signer/methods/proveCertificate.d.ts +3 -2
- package/out/src/signer/methods/proveCertificate.d.ts.map +1 -1
- package/out/src/signer/methods/proveCertificate.js.map +1 -1
- package/out/src/signer/methods/signAction.d.ts.map +1 -1
- package/out/src/signer/methods/signAction.js +20 -3
- package/out/src/signer/methods/signAction.js.map +1 -1
- package/out/src/signer/methods/verifyUnlockScripts.d.ts.map +1 -1
- package/out/src/signer/methods/verifyUnlockScripts.js +12 -17
- package/out/src/signer/methods/verifyUnlockScripts.js.map +1 -1
- package/out/src/storage/StorageIdb.d.ts +11 -3
- package/out/src/storage/StorageIdb.d.ts.map +1 -1
- package/out/src/storage/StorageIdb.js +134 -44
- package/out/src/storage/StorageIdb.js.map +1 -1
- package/out/src/storage/StorageKnex.d.ts +68 -7
- package/out/src/storage/StorageKnex.d.ts.map +1 -1
- package/out/src/storage/StorageKnex.js +551 -105
- package/out/src/storage/StorageKnex.js.map +1 -1
- package/out/src/storage/StorageProvider.d.ts +41 -10
- package/out/src/storage/StorageProvider.d.ts.map +1 -1
- package/out/src/storage/StorageProvider.js +397 -107
- package/out/src/storage/StorageProvider.js.map +1 -1
- package/out/src/storage/StorageReader.d.ts +9 -3
- package/out/src/storage/StorageReader.d.ts.map +1 -1
- package/out/src/storage/StorageReader.js +21 -43
- package/out/src/storage/StorageReader.js.map +1 -1
- package/out/src/storage/StorageReaderWriter.d.ts +4 -0
- package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
- package/out/src/storage/StorageReaderWriter.js +68 -38
- package/out/src/storage/StorageReaderWriter.js.map +1 -1
- package/out/src/storage/StorageSyncReader.d.ts +1 -1
- package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
- package/out/src/storage/StorageSyncReader.js +3 -36
- package/out/src/storage/StorageSyncReader.js.map +1 -1
- package/out/src/storage/WalletStorageManager.d.ts +31 -6
- package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
- package/out/src/storage/WalletStorageManager.js +166 -75
- package/out/src/storage/WalletStorageManager.js.map +1 -1
- package/out/src/storage/adminServer/adminServer.d.ts +3 -1
- package/out/src/storage/adminServer/adminServer.d.ts.map +1 -1
- package/out/src/storage/adminServer/adminServer.js +38 -49
- package/out/src/storage/adminServer/adminServer.js.map +1 -1
- package/out/src/storage/adminServer/adminUi.d.ts.map +1 -1
- package/out/src/storage/adminServer/adminUi.js +32 -9
- package/out/src/storage/adminServer/adminUi.js.map +1 -1
- package/out/src/storage/adminServer/reviewUtxos.d.ts +27 -0
- package/out/src/storage/adminServer/reviewUtxos.d.ts.map +1 -0
- package/out/src/storage/adminServer/reviewUtxos.js +62 -0
- package/out/src/storage/adminServer/reviewUtxos.js.map +1 -0
- package/out/src/storage/idbHelpers.d.ts.map +1 -1
- package/out/src/storage/idbHelpers.js +14 -2
- package/out/src/storage/idbHelpers.js.map +1 -1
- package/out/src/storage/index.all.d.ts +3 -0
- package/out/src/storage/index.all.d.ts.map +1 -1
- package/out/src/storage/index.all.js +3 -0
- package/out/src/storage/index.all.js.map +1 -1
- package/out/src/storage/index.client.d.ts +1 -0
- package/out/src/storage/index.client.d.ts.map +1 -1
- package/out/src/storage/index.client.js +1 -0
- package/out/src/storage/index.client.js.map +1 -1
- package/out/src/storage/index.mobile.d.ts +1 -0
- package/out/src/storage/index.mobile.d.ts.map +1 -1
- package/out/src/storage/index.mobile.js +1 -0
- package/out/src/storage/index.mobile.js.map +1 -1
- package/out/src/storage/methods/ListActionsSpecOp.d.ts +2 -2
- package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
- package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
- package/out/src/storage/methods/ListOutputsSpecOp.d.ts +7 -4
- package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
- package/out/src/storage/methods/ListOutputsSpecOp.js +5 -44
- package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
- package/out/src/storage/methods/actionBatch.d.ts +9 -2
- package/out/src/storage/methods/actionBatch.d.ts.map +1 -1
- package/out/src/storage/methods/actionBatch.js +260 -67
- package/out/src/storage/methods/actionBatch.js.map +1 -1
- package/out/src/storage/methods/actionBatchBlobs.d.ts +2 -0
- package/out/src/storage/methods/actionBatchBlobs.d.ts.map +1 -1
- package/out/src/storage/methods/actionBatchBlobs.js +47 -26
- package/out/src/storage/methods/actionBatchBlobs.js.map +1 -1
- package/out/src/storage/methods/actionBatchValidation.d.ts.map +1 -1
- package/out/src/storage/methods/actionBatchValidation.js +22 -30
- package/out/src/storage/methods/actionBatchValidation.js.map +1 -1
- package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +7 -2
- package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js +59 -110
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
- package/out/src/storage/methods/availableManagedChange.d.ts +8 -1
- package/out/src/storage/methods/availableManagedChange.d.ts.map +1 -1
- package/out/src/storage/methods/availableManagedChange.js.map +1 -1
- package/out/src/storage/methods/createAction.d.ts +60 -3
- package/out/src/storage/methods/createAction.d.ts.map +1 -1
- package/out/src/storage/methods/createAction.js +396 -106
- package/out/src/storage/methods/createAction.js.map +1 -1
- package/out/src/storage/methods/generateChange.d.ts +21 -5
- package/out/src/storage/methods/generateChange.d.ts.map +1 -1
- package/out/src/storage/methods/generateChange.js +194 -27
- package/out/src/storage/methods/generateChange.js.map +1 -1
- package/out/src/storage/methods/getBeefForTransaction.js +5 -7
- package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
- package/out/src/storage/methods/getSyncChunk.d.ts.map +1 -1
- package/out/src/storage/methods/getSyncChunk.js +42 -11
- package/out/src/storage/methods/getSyncChunk.js.map +1 -1
- package/out/src/storage/methods/internalizeAction.d.ts +3 -3
- package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/storage/methods/internalizeAction.js +171 -133
- package/out/src/storage/methods/internalizeAction.js.map +1 -1
- package/out/src/storage/methods/listActionsIdb.d.ts +3 -2
- package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
- package/out/src/storage/methods/listActionsIdb.js +2 -2
- package/out/src/storage/methods/listActionsIdb.js.map +1 -1
- package/out/src/storage/methods/listActionsKnex.d.ts +3 -2
- package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -1
- package/out/src/storage/methods/listActionsKnex.js +22 -11
- package/out/src/storage/methods/listActionsKnex.js.map +1 -1
- package/out/src/storage/methods/listCertificates.d.ts +3 -2
- package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
- package/out/src/storage/methods/listCertificates.js.map +1 -1
- package/out/src/storage/methods/listOutputsIdb.d.ts +3 -2
- package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
- package/out/src/storage/methods/listOutputsIdb.js +25 -18
- package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
- package/out/src/storage/methods/listOutputsKnex.d.ts +3 -2
- package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -1
- package/out/src/storage/methods/listOutputsKnex.js +33 -31
- package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
- package/out/src/storage/methods/managedChangePolicy.d.ts +44 -0
- package/out/src/storage/methods/managedChangePolicy.d.ts.map +1 -0
- package/out/src/storage/methods/managedChangePolicy.js +58 -0
- package/out/src/storage/methods/managedChangePolicy.js.map +1 -0
- package/out/src/storage/methods/maxPossibleSatoshis.d.ts +13 -0
- package/out/src/storage/methods/maxPossibleSatoshis.d.ts.map +1 -0
- package/out/src/storage/methods/maxPossibleSatoshis.js +16 -0
- package/out/src/storage/methods/maxPossibleSatoshis.js.map +1 -0
- package/out/src/storage/methods/noSendExpiry.d.ts +11 -0
- package/out/src/storage/methods/noSendExpiry.d.ts.map +1 -0
- package/out/src/storage/methods/noSendExpiry.js +369 -0
- package/out/src/storage/methods/noSendExpiry.js.map +1 -0
- package/out/src/storage/methods/noSendExpiryLifecycle.d.ts +14 -0
- package/out/src/storage/methods/noSendExpiryLifecycle.d.ts.map +1 -0
- package/out/src/storage/methods/noSendExpiryLifecycle.js +691 -0
- package/out/src/storage/methods/noSendExpiryLifecycle.js.map +1 -0
- package/out/src/storage/methods/preparedBeef.d.ts +104 -0
- package/out/src/storage/methods/preparedBeef.d.ts.map +1 -0
- package/out/src/storage/methods/preparedBeef.js +524 -0
- package/out/src/storage/methods/preparedBeef.js.map +1 -0
- package/out/src/storage/methods/processAction.d.ts.map +1 -1
- package/out/src/storage/methods/processAction.js +144 -32
- package/out/src/storage/methods/processAction.js.map +1 -1
- package/out/src/storage/methods/purgeData.d.ts.map +1 -1
- package/out/src/storage/methods/purgeData.js +21 -3
- package/out/src/storage/methods/purgeData.js.map +1 -1
- package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts +32 -0
- package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts.map +1 -0
- package/out/src/storage/methods/reconcileFailedTransactionInputs.js +142 -0
- package/out/src/storage/methods/reconcileFailedTransactionInputs.js.map +1 -0
- package/out/src/storage/methods/reviewStatus.d.ts.map +1 -1
- package/out/src/storage/methods/reviewStatus.js +7 -4
- package/out/src/storage/methods/reviewStatus.js.map +1 -1
- package/out/src/storage/methods/reviewStatusIdb.d.ts +1 -1
- package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -1
- package/out/src/storage/methods/reviewStatusIdb.js.map +1 -1
- package/out/src/storage/methods/reviewUtxoOutputs.d.ts +38 -0
- package/out/src/storage/methods/reviewUtxoOutputs.d.ts.map +1 -0
- package/out/src/storage/methods/reviewUtxoOutputs.js +197 -0
- package/out/src/storage/methods/reviewUtxoOutputs.js.map +1 -0
- package/out/src/storage/methods/validateSyncProof.d.ts +32 -0
- package/out/src/storage/methods/validateSyncProof.d.ts.map +1 -0
- package/out/src/storage/methods/validateSyncProof.js +139 -0
- package/out/src/storage/methods/validateSyncProof.js.map +1 -0
- package/out/src/storage/portable/index.d.ts.map +1 -1
- package/out/src/storage/portable/index.js +25 -15
- package/out/src/storage/portable/index.js.map +1 -1
- package/out/src/storage/remoting/BinaryJson.d.ts +11 -0
- package/out/src/storage/remoting/BinaryJson.d.ts.map +1 -1
- package/out/src/storage/remoting/BinaryJson.js +94 -8
- package/out/src/storage/remoting/BinaryJson.js.map +1 -1
- package/out/src/storage/remoting/KnexPaymentReplayStore.d.ts.map +1 -1
- package/out/src/storage/remoting/KnexPaymentReplayStore.js +1 -0
- package/out/src/storage/remoting/KnexPaymentReplayStore.js.map +1 -1
- package/out/src/storage/remoting/KnexSessionManager.d.ts +26 -2
- package/out/src/storage/remoting/KnexSessionManager.d.ts.map +1 -1
- package/out/src/storage/remoting/KnexSessionManager.js +221 -40
- package/out/src/storage/remoting/KnexSessionManager.js.map +1 -1
- package/out/src/storage/remoting/KnexSyncTransferStore.d.ts +26 -0
- package/out/src/storage/remoting/KnexSyncTransferStore.d.ts.map +1 -0
- package/out/src/storage/remoting/KnexSyncTransferStore.js +222 -0
- package/out/src/storage/remoting/KnexSyncTransferStore.js.map +1 -0
- package/out/src/storage/remoting/StorageClient.d.ts +6 -1
- package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageClient.js +65 -8
- package/out/src/storage/remoting/StorageClient.js.map +1 -1
- package/out/src/storage/remoting/StorageClientBase.d.ts +57 -10
- package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageClientBase.js +382 -10
- package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
- package/out/src/storage/remoting/StorageMobile.d.ts +5 -0
- package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageMobile.js +13 -11
- package/out/src/storage/remoting/StorageMobile.js.map +1 -1
- package/out/src/storage/remoting/StorageServer.d.ts +10 -1
- package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageServer.js +232 -20
- package/out/src/storage/remoting/StorageServer.js.map +1 -1
- package/out/src/storage/remoting/SyncTransfer.d.ts +29 -0
- package/out/src/storage/remoting/SyncTransfer.d.ts.map +1 -0
- package/out/src/storage/remoting/SyncTransfer.js +153 -0
- package/out/src/storage/remoting/SyncTransfer.js.map +1 -0
- package/out/src/storage/remoting/entityValidationHelpers.d.ts.map +1 -1
- package/out/src/storage/remoting/entityValidationHelpers.js +35 -0
- package/out/src/storage/remoting/entityValidationHelpers.js.map +1 -1
- package/out/src/storage/remoting/syncChunkBinary.d.ts +14 -0
- package/out/src/storage/remoting/syncChunkBinary.d.ts.map +1 -0
- package/out/src/storage/remoting/syncChunkBinary.js +42 -0
- package/out/src/storage/remoting/syncChunkBinary.js.map +1 -0
- package/out/src/storage/remoting/validateRpcSyncProofs.d.ts +5 -0
- package/out/src/storage/remoting/validateRpcSyncProofs.d.ts.map +1 -0
- package/out/src/storage/remoting/validateRpcSyncProofs.js +82 -0
- package/out/src/storage/remoting/validateRpcSyncProofs.js.map +1 -0
- package/out/src/storage/schema/KnexMigrations.d.ts +6 -0
- package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
- package/out/src/storage/schema/KnexMigrations.js +194 -5
- package/out/src/storage/schema/KnexMigrations.js.map +1 -1
- package/out/src/storage/schema/StorageIdbSchema.d.ts +3 -0
- package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityOutput.js +24 -4
- package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputBasket.js +5 -2
- package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTx.d.ts +4 -1
- package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTx.js +125 -41
- package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTxReq.js +1 -1
- package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
- package/out/src/storage/schema/entities/EntitySyncState.d.ts +4 -2
- package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntitySyncState.js +12 -6
- package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
- package/out/src/storage/schema/entities/EntityTransaction.d.ts +26 -0
- package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityTransaction.js +221 -21
- package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -1
- package/out/src/storage/schema/tables/TableCertificate.d.ts +1 -1
- package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableCertificateField.d.ts +1 -1
- package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableCommission.d.ts +1 -1
- package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +1 -1
- package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableOutput.d.ts +1 -1
- package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableOutputBasket.d.ts +1 -1
- package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableOutputTag.d.ts +1 -1
- package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +1 -1
- package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.d.ts +23 -0
- package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.d.ts.map +1 -0
- package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.js +3 -0
- package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.js.map +1 -0
- package/out/src/storage/schema/tables/TableProvenTx.d.ts +1 -1
- package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +1 -1
- package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableSettings.d.ts +2 -2
- package/out/src/storage/schema/tables/TableSettings.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableSyncState.d.ts +1 -1
- package/out/src/storage/schema/tables/TableSyncState.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableTransaction.d.ts +17 -1
- package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableTransaction.js +14 -1
- package/out/src/storage/schema/tables/TableTransaction.js.map +1 -1
- package/out/src/storage/schema/tables/TableTxLabel.d.ts +1 -1
- package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +1 -1
- package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableUser.d.ts +1 -1
- package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -1
- package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -1
- package/out/src/storage/sync/StorageMySQLDojoReader.js +8 -7
- package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
- package/out/src/storage/sync/SyncPageBudget.d.ts +8 -0
- package/out/src/storage/sync/SyncPageBudget.d.ts.map +1 -0
- package/out/src/storage/sync/SyncPageBudget.js +24 -0
- package/out/src/storage/sync/SyncPageBudget.js.map +1 -0
- package/out/src/storage/sync/syncCheckpoint.d.ts +4 -0
- package/out/src/storage/sync/syncCheckpoint.d.ts.map +1 -0
- package/out/src/storage/sync/syncCheckpoint.js +49 -0
- package/out/src/storage/sync/syncCheckpoint.js.map +1 -0
- package/out/src/utility/Argon2idBackend.d.ts +36 -0
- package/out/src/utility/Argon2idBackend.d.ts.map +1 -0
- package/out/src/utility/Argon2idBackend.js +60 -0
- package/out/src/utility/Argon2idBackend.js.map +1 -0
- package/out/src/utility/actionBatchDigest.d.ts.map +1 -1
- package/out/src/utility/actionBatchDigest.js +9 -7
- package/out/src/utility/actionBatchDigest.js.map +1 -1
- package/out/src/utility/actionBatchPack.d.ts.map +1 -1
- package/out/src/utility/actionBatchPack.js +7 -12
- package/out/src/utility/actionBatchPack.js.map +1 -1
- package/out/src/utility/beefForTxids.d.ts +12 -3
- package/out/src/utility/beefForTxids.d.ts.map +1 -1
- package/out/src/utility/beefForTxids.js +69 -21
- package/out/src/utility/beefForTxids.js.map +1 -1
- package/out/src/utility/brc153ReferenceLabels.d.ts +16 -0
- package/out/src/utility/brc153ReferenceLabels.d.ts.map +1 -1
- package/out/src/utility/brc153ReferenceLabels.js +20 -5
- package/out/src/utility/brc153ReferenceLabels.js.map +1 -1
- package/out/src/utility/brc177NoSendExpiry.d.ts +34 -0
- package/out/src/utility/brc177NoSendExpiry.d.ts.map +1 -0
- package/out/src/utility/brc177NoSendExpiry.js +81 -0
- package/out/src/utility/brc177NoSendExpiry.js.map +1 -0
- package/out/src/utility/canonicalizeAtomicBeef.d.ts +12 -0
- package/out/src/utility/canonicalizeAtomicBeef.d.ts.map +1 -0
- package/out/src/utility/canonicalizeAtomicBeef.js +23 -0
- package/out/src/utility/canonicalizeAtomicBeef.js.map +1 -0
- package/out/src/utility/exactActionSpend.d.ts +9 -0
- package/out/src/utility/exactActionSpend.d.ts.map +1 -0
- package/out/src/utility/exactActionSpend.js +26 -0
- package/out/src/utility/exactActionSpend.js.map +1 -0
- package/out/src/utility/hashWasm.d.ts +1 -1
- package/out/src/utility/hashWasm.d.ts.map +1 -1
- package/out/src/utility/hashWasm.js +83 -1
- package/out/src/utility/hashWasm.js.map +1 -1
- package/out/src/utility/identityUtils.d.ts +44 -4
- package/out/src/utility/identityUtils.d.ts.map +1 -1
- package/out/src/utility/identityUtils.js +523 -61
- package/out/src/utility/identityUtils.js.map +1 -1
- package/out/src/utility/index.all.d.ts +2 -0
- package/out/src/utility/index.all.d.ts.map +1 -1
- package/out/src/utility/index.all.js +2 -0
- package/out/src/utility/index.all.js.map +1 -1
- package/out/src/utility/index.client.d.ts +2 -0
- package/out/src/utility/index.client.d.ts.map +1 -1
- package/out/src/utility/index.client.js +2 -0
- package/out/src/utility/index.client.js.map +1 -1
- package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -1
- package/out/src/utility/parseTxScriptOffsets.js +1 -19
- package/out/src/utility/parseTxScriptOffsets.js.map +1 -1
- package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
- package/out/src/utility/tscProofToMerklePath.js +35 -4
- package/out/src/utility/tscProofToMerklePath.js.map +1 -1
- package/out/src/utility/utilityHelpers.d.ts +1 -1
- package/out/src/utility/utilityHelpers.d.ts.map +1 -1
- package/out/src/utility/utilityHelpers.js +10 -7
- package/out/src/utility/utilityHelpers.js.map +1 -1
- package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
- package/out/src/utility/utilityHelpers.noBuffer.js +6 -6
- package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
- package/out/src/utility/verifyOverlayOutput.d.ts +12 -0
- package/out/src/utility/verifyOverlayOutput.d.ts.map +1 -0
- package/out/src/utility/verifyOverlayOutput.js +22 -0
- package/out/src/utility/verifyOverlayOutput.js.map +1 -0
- package/out/src/utility/walletResultGuards.d.ts +14 -0
- package/out/src/utility/walletResultGuards.d.ts.map +1 -0
- package/out/src/utility/walletResultGuards.js +28 -0
- package/out/src/utility/walletResultGuards.js.map +1 -0
- package/out/src/wab-client/WABClient.d.ts +4 -17
- package/out/src/wab-client/WABClient.d.ts.map +1 -1
- package/out/src/wab-client/WABClient.js +35 -12
- package/out/src/wab-client/WABClient.js.map +1 -1
- package/out/src/wab-client/WABResponseValidation.d.ts +48 -0
- package/out/src/wab-client/WABResponseValidation.d.ts.map +1 -0
- package/out/src/wab-client/WABResponseValidation.js +321 -0
- package/out/src/wab-client/WABResponseValidation.js.map +1 -0
- package/out/src/wab-client/WABTransport.d.ts +17 -23
- package/out/src/wab-client/WABTransport.d.ts.map +1 -1
- package/out/src/wab-client/WABTransport.js +130 -142
- package/out/src/wab-client/WABTransport.js.map +1 -1
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +8 -0
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +3 -2
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
- package/package.json +45 -41
- package/docs/open-rpc/index.html +0 -46
|
@@ -6,6 +6,7 @@ const blockHeaderUtilities_1 = require("../util/blockHeaderUtilities");
|
|
|
6
6
|
const HeightRange_1 = require("../util/HeightRange");
|
|
7
7
|
const WERR_errors_1 = require("../../../../sdk/WERR_errors");
|
|
8
8
|
const idb_1 = require("idb");
|
|
9
|
+
const BulkFileDataManager_1 = require("../util/BulkFileDataManager");
|
|
9
10
|
function createInsertHeaderResult() {
|
|
10
11
|
return {
|
|
11
12
|
added: false,
|
|
@@ -65,6 +66,7 @@ class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageB
|
|
|
65
66
|
* @returns number of deleted records
|
|
66
67
|
*/
|
|
67
68
|
async deleteOlderLiveBlockHeaders(maxHeight) {
|
|
69
|
+
this.validateHeight(maxHeight, 'maxHeight');
|
|
68
70
|
await this.makeAvailable();
|
|
69
71
|
const trx = this.toDbTrxReadWrite(['live_headers']);
|
|
70
72
|
const store = trx.objectStore('live_headers');
|
|
@@ -76,8 +78,10 @@ class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageB
|
|
|
76
78
|
const headerIdsToDelete = new Set(headersToDelete.map(header => header.headerId));
|
|
77
79
|
const deletedCount = headersToDelete.length;
|
|
78
80
|
for (const id of headerIdsToDelete) {
|
|
79
|
-
const
|
|
80
|
-
|
|
81
|
+
const headersToUpdate = await previousHeaderIdIndex.getAll(id);
|
|
82
|
+
for (const headerToUpdate of headersToUpdate) {
|
|
83
|
+
await store.put({ ...headerToUpdate, previousHeaderId: null });
|
|
84
|
+
}
|
|
81
85
|
}
|
|
82
86
|
// Delete the headers
|
|
83
87
|
for (const id of headerIdsToDelete) {
|
|
@@ -106,12 +110,14 @@ class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageB
|
|
|
106
110
|
const trx = this.toDbTrxReadOnly(['live_headers']);
|
|
107
111
|
const store = trx.objectStore('live_headers');
|
|
108
112
|
const activeTipIndex = store.index('activeTip');
|
|
109
|
-
|
|
110
|
-
header = this.repairStoredLiveHeader(header);
|
|
113
|
+
const headers = (await activeTipIndex.getAll([1, 1])).map(header => this.repairStoredLiveHeader(header));
|
|
111
114
|
await trx.done;
|
|
112
|
-
|
|
115
|
+
if (headers.length > 1)
|
|
116
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION('multiple active chain tips exist in IndexedDB');
|
|
117
|
+
return headers[0];
|
|
113
118
|
}
|
|
114
119
|
async findLiveHeaderForBlockHash(hash) {
|
|
120
|
+
this.validateHash(hash);
|
|
115
121
|
await this.makeAvailable();
|
|
116
122
|
const trx = this.toDbTrxReadOnly(['live_headers']);
|
|
117
123
|
const store = trx.objectStore('live_headers');
|
|
@@ -122,6 +128,9 @@ class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageB
|
|
|
122
128
|
return header;
|
|
123
129
|
}
|
|
124
130
|
async findLiveHeaderForHeaderId(headerId) {
|
|
131
|
+
if (!Number.isSafeInteger(headerId) || headerId < 1) {
|
|
132
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('headerId', 'a positive safe integer');
|
|
133
|
+
}
|
|
125
134
|
await this.makeAvailable();
|
|
126
135
|
const trx = this.toDbTrxReadOnly(['live_headers']);
|
|
127
136
|
const store = trx.objectStore('live_headers');
|
|
@@ -131,35 +140,37 @@ class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageB
|
|
|
131
140
|
return header;
|
|
132
141
|
}
|
|
133
142
|
async findLiveHeaderForHeight(height) {
|
|
143
|
+
this.validateHeight(height);
|
|
134
144
|
await this.makeAvailable();
|
|
135
145
|
const trx = this.toDbTrxReadOnly(['live_headers']);
|
|
136
146
|
const store = trx.objectStore('live_headers');
|
|
137
147
|
const heightIndex = store.index('height');
|
|
138
|
-
|
|
139
|
-
|
|
148
|
+
const headers = (await heightIndex.getAll(height))
|
|
149
|
+
.map(header => this.repairStoredLiveHeader(header))
|
|
150
|
+
.filter(header => header.isActive);
|
|
140
151
|
await trx.done;
|
|
141
|
-
|
|
152
|
+
if (headers.length > 1)
|
|
153
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION(`multiple active headers exist at height ${height}`);
|
|
154
|
+
return headers[0] ?? null;
|
|
142
155
|
}
|
|
143
156
|
async findLiveHeaderForMerkleRoot(merkleRoot) {
|
|
157
|
+
this.validateHash(merkleRoot, 'merkleRoot');
|
|
144
158
|
await this.makeAvailable();
|
|
145
159
|
const trx = this.toDbTrxReadOnly(['live_headers']);
|
|
146
160
|
const store = trx.objectStore('live_headers');
|
|
147
161
|
const merkleRootIndex = store.index('merkleRoot');
|
|
148
|
-
|
|
149
|
-
header = this.repairStoredLiveHeader(header);
|
|
162
|
+
const headers = (await merkleRootIndex.getAll(merkleRoot)).map(header => this.repairStoredLiveHeader(header));
|
|
150
163
|
await trx.done;
|
|
151
|
-
return header
|
|
164
|
+
return headers.find(header => header.isActive) ?? headers[0] ?? null;
|
|
152
165
|
}
|
|
153
166
|
async findLiveHeightRange() {
|
|
154
167
|
await this.makeAvailable();
|
|
155
168
|
const trx = this.toDbTrxReadOnly(['live_headers']);
|
|
156
169
|
const store = trx.objectStore('live_headers');
|
|
157
|
-
const
|
|
158
|
-
const
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
const maxValue = maxCursor?.value.height ?? null;
|
|
162
|
-
const range = minValue === null || maxValue === null ? HeightRange_1.HeightRange.empty : new HeightRange_1.HeightRange(minValue, maxValue);
|
|
170
|
+
const active = (await store.getAll()).map(header => this.repairStoredLiveHeader(header)).filter(h => h.isActive);
|
|
171
|
+
const range = active.length === 0
|
|
172
|
+
? HeightRange_1.HeightRange.empty
|
|
173
|
+
: new HeightRange_1.HeightRange(Math.min(...active.map(header => header.height)), Math.max(...active.map(header => header.height)));
|
|
163
174
|
await trx.done;
|
|
164
175
|
return range;
|
|
165
176
|
}
|
|
@@ -173,8 +184,11 @@ class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageB
|
|
|
173
184
|
return maxValue;
|
|
174
185
|
}
|
|
175
186
|
async liveHeadersForBulk(count) {
|
|
187
|
+
if (!Number.isSafeInteger(count) || count < 1 || count > 100_000) {
|
|
188
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('count', 'an integer from 1 through 100000');
|
|
189
|
+
}
|
|
176
190
|
await this.makeAvailable();
|
|
177
|
-
const trx = this.
|
|
191
|
+
const trx = this.toDbTrxReadOnly(['live_headers']);
|
|
178
192
|
const store = trx.objectStore('live_headers');
|
|
179
193
|
const heightIndex = store.index('height');
|
|
180
194
|
let cursor = await heightIndex.openCursor(null, 'next');
|
|
@@ -191,17 +205,18 @@ class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageB
|
|
|
191
205
|
return headers;
|
|
192
206
|
}
|
|
193
207
|
async getLiveHeaders(range) {
|
|
208
|
+
this.validateRange(range);
|
|
194
209
|
if (range.isEmpty)
|
|
195
210
|
return [];
|
|
196
211
|
await this.makeAvailable();
|
|
197
|
-
const trx = this.
|
|
212
|
+
const trx = this.toDbTrxReadOnly(['live_headers']);
|
|
198
213
|
const store = trx.objectStore('live_headers');
|
|
199
214
|
const heightIndex = store.index('height');
|
|
200
|
-
let cursor = await heightIndex.openCursor(
|
|
215
|
+
let cursor = await heightIndex.openCursor(IDBKeyRange.bound(range.minHeight, range.maxHeight), 'next');
|
|
201
216
|
const headers = [];
|
|
202
217
|
while (cursor != null) {
|
|
203
218
|
const header = this.repairStoredLiveHeader(cursor.value);
|
|
204
|
-
if (header
|
|
219
|
+
if (header?.isActive) {
|
|
205
220
|
headers.push(header);
|
|
206
221
|
}
|
|
207
222
|
cursor = await cursor.continue();
|
|
@@ -237,12 +252,19 @@ class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageB
|
|
|
237
252
|
async findActiveAncestor(trx, oneBack, result) {
|
|
238
253
|
const store = trx.objectStore('live_headers');
|
|
239
254
|
let activeAncestor = oneBack;
|
|
255
|
+
const visited = new Set();
|
|
240
256
|
while (!activeAncestor.isActive) {
|
|
257
|
+
this.recordTraversalVisit(visited, activeAncestor, 'finding the active ancestor');
|
|
258
|
+
if (activeAncestor.previousHeaderId == null) {
|
|
259
|
+
result.noActiveAncestor = true;
|
|
260
|
+
return undefined;
|
|
261
|
+
}
|
|
241
262
|
const previousHeader = this.repairStoredLiveHeader(await store.get(activeAncestor.previousHeaderId));
|
|
242
263
|
if (previousHeader == null) {
|
|
243
264
|
result.noActiveAncestor = true;
|
|
244
265
|
return undefined;
|
|
245
266
|
}
|
|
267
|
+
this.validateStoredParentLink(activeAncestor, previousHeader);
|
|
246
268
|
activeAncestor = previousHeader;
|
|
247
269
|
}
|
|
248
270
|
return activeAncestor;
|
|
@@ -252,19 +274,46 @@ class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageB
|
|
|
252
274
|
return;
|
|
253
275
|
const store = trx.objectStore('live_headers');
|
|
254
276
|
const activeTipIndex = store.index('activeTip');
|
|
255
|
-
|
|
277
|
+
const activeTips = (await activeTipIndex.getAll([1, 1])).map(header => this.repairStoredLiveHeader(header));
|
|
278
|
+
if (activeTips.length !== 1) {
|
|
279
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION(`expected one active chain tip, found ${activeTips.length}`);
|
|
280
|
+
}
|
|
281
|
+
let headerToDeactivate = activeTips[0];
|
|
282
|
+
const deactivated = new Set();
|
|
256
283
|
while (headerToDeactivate != null && headerToDeactivate.headerId !== activeAncestor.headerId) {
|
|
284
|
+
this.recordTraversalVisit(deactivated, headerToDeactivate, 'deactivating the prior active chain');
|
|
257
285
|
result.deactivatedHeaders.push(headerToDeactivate);
|
|
258
286
|
await store.put(this.prepareStoredLiveHeader({
|
|
259
287
|
...headerToDeactivate,
|
|
260
288
|
isActive: false
|
|
261
289
|
}));
|
|
262
|
-
|
|
290
|
+
if (headerToDeactivate.previousHeaderId == null) {
|
|
291
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION('active chain does not reach the selected reorganization ancestor');
|
|
292
|
+
}
|
|
293
|
+
const previousHeader = this.repairStoredLiveHeader(await store.get(headerToDeactivate.previousHeaderId));
|
|
294
|
+
if (previousHeader == null) {
|
|
295
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION('active chain contains a missing parent header');
|
|
296
|
+
}
|
|
297
|
+
this.validateStoredParentLink(headerToDeactivate, previousHeader);
|
|
298
|
+
headerToDeactivate = previousHeader;
|
|
299
|
+
}
|
|
300
|
+
if (headerToDeactivate == null) {
|
|
301
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION('active chain does not reach the selected reorganization ancestor');
|
|
263
302
|
}
|
|
264
303
|
let headerToActivate = oneBack;
|
|
304
|
+
const activated = new Set();
|
|
265
305
|
while (headerToActivate.headerId !== activeAncestor.headerId) {
|
|
306
|
+
this.recordTraversalVisit(activated, headerToActivate, 'activating the replacement chain');
|
|
266
307
|
await store.put(this.prepareStoredLiveHeader({ ...headerToActivate, isActive: true }));
|
|
267
|
-
|
|
308
|
+
if (headerToActivate.previousHeaderId == null) {
|
|
309
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION('replacement chain does not reach the selected reorganization ancestor');
|
|
310
|
+
}
|
|
311
|
+
const previousHeader = this.repairStoredLiveHeader(await store.get(headerToActivate.previousHeaderId));
|
|
312
|
+
if (previousHeader == null) {
|
|
313
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION('replacement chain contains a missing parent header');
|
|
314
|
+
}
|
|
315
|
+
this.validateStoredParentLink(headerToActivate, previousHeader);
|
|
316
|
+
headerToActivate = previousHeader;
|
|
268
317
|
}
|
|
269
318
|
}
|
|
270
319
|
async prepareActiveTip(trx, header, oneBack, result) {
|
|
@@ -280,124 +329,238 @@ class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageB
|
|
|
280
329
|
return true;
|
|
281
330
|
}
|
|
282
331
|
async insertHeader(header) {
|
|
332
|
+
header = this.validateIncomingHeader(header);
|
|
283
333
|
await this.makeAvailable();
|
|
284
334
|
const trx = this.toDbTrxReadWrite(['live_headers']);
|
|
285
335
|
const store = trx.objectStore('live_headers');
|
|
286
336
|
const hashIndex = store.index('hash');
|
|
287
337
|
const activeTipIndex = store.index('activeTip');
|
|
288
338
|
const r = createInsertHeaderResult();
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
return r;
|
|
294
|
-
}
|
|
295
|
-
// let all = await store.getAll()
|
|
296
|
-
// console.log(`idb store length: ${all.length} last: ${all[all.length - 1]?.height}`)
|
|
297
|
-
// let allHash = await hashIndex.getAll()
|
|
298
|
-
// Find previous header
|
|
299
|
-
const oneBack = this.repairStoredLiveHeader(await hashIndex.get(header.previousHash));
|
|
300
|
-
if (oneBack == null) {
|
|
301
|
-
if (await this.insertFirstHeader(trx, header, r)) {
|
|
339
|
+
try {
|
|
340
|
+
// Check for duplicate
|
|
341
|
+
if (await hashIndex.get(header.hash)) {
|
|
342
|
+
r.dupe = true;
|
|
302
343
|
await trx.done;
|
|
303
344
|
return r;
|
|
304
345
|
}
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
346
|
+
// let all = await store.getAll()
|
|
347
|
+
// console.log(`idb store length: ${all.length} last: ${all[all.length - 1]?.height}`)
|
|
348
|
+
// let allHash = await hashIndex.getAll()
|
|
349
|
+
// Find previous header
|
|
350
|
+
const oneBack = this.repairStoredLiveHeader(await hashIndex.get(header.previousHash));
|
|
351
|
+
if (oneBack == null) {
|
|
352
|
+
if (await this.insertFirstHeader(trx, header, r)) {
|
|
353
|
+
await trx.done;
|
|
354
|
+
return r;
|
|
355
|
+
}
|
|
356
|
+
r.noPrev = true;
|
|
357
|
+
await trx.done;
|
|
358
|
+
return r;
|
|
359
|
+
}
|
|
360
|
+
if (oneBack.height + 1 !== header.height) {
|
|
361
|
+
r.badPrev = true;
|
|
362
|
+
await trx.done;
|
|
363
|
+
return r;
|
|
364
|
+
}
|
|
365
|
+
if (oneBack.isActive && oneBack.isChainTip) {
|
|
366
|
+
r.priorTip = oneBack;
|
|
367
|
+
}
|
|
368
|
+
else {
|
|
369
|
+
const activeTips = (await activeTipIndex.getAll([1, 1])).map(tip => this.repairStoredLiveHeader(tip));
|
|
370
|
+
if (activeTips.length > 1) {
|
|
371
|
+
trx.abort();
|
|
372
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION('multiple active chain tips exist in IndexedDB');
|
|
373
|
+
}
|
|
374
|
+
r.priorTip = activeTips[0];
|
|
375
|
+
}
|
|
376
|
+
if (r.priorTip == null) {
|
|
377
|
+
// No active chain tip found. This is a logic error in state of live headers.
|
|
378
|
+
r.noTip = true;
|
|
379
|
+
await trx.done;
|
|
380
|
+
return r;
|
|
381
|
+
}
|
|
382
|
+
// We have an acceptable new live header...and live headers has an active chain tip.
|
|
383
|
+
const chainWork = (0, blockHeaderUtilities_1.addWork)(oneBack.chainWork, (0, blockHeaderUtilities_1.convertBitsToWork)(header.bits));
|
|
384
|
+
r.isActiveTip = (0, blockHeaderUtilities_1.isMoreWork)(chainWork, r.priorTip.chainWork);
|
|
385
|
+
const newHeader = {
|
|
386
|
+
...header,
|
|
387
|
+
headerId: 0,
|
|
388
|
+
previousHeaderId: oneBack.headerId,
|
|
389
|
+
chainWork,
|
|
390
|
+
isChainTip: r.isActiveTip,
|
|
391
|
+
isActive: r.isActiveTip
|
|
392
|
+
};
|
|
393
|
+
if (!(await this.prepareActiveTip(trx, header, oneBack, r))) {
|
|
394
|
+
await trx.done;
|
|
395
|
+
return r;
|
|
396
|
+
}
|
|
397
|
+
if (oneBack.isChainTip) {
|
|
398
|
+
await store.put(this.prepareStoredLiveHeader({ ...oneBack, isChainTip: false }));
|
|
399
|
+
}
|
|
400
|
+
await store.put(this.prepareStoredLiveHeader(newHeader, true));
|
|
401
|
+
r.added = true;
|
|
402
|
+
// all = await store.getAll()
|
|
403
|
+
// console.log(`idb store length: ${all.length} last: ${all[all.length - 1]?.height}`)
|
|
404
|
+
if (r.added && r.isActiveTip) {
|
|
405
|
+
// this.pruneLiveBlockHeaders(newHeader.height)
|
|
406
|
+
}
|
|
333
407
|
await trx.done;
|
|
334
408
|
return r;
|
|
335
409
|
}
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
410
|
+
catch (error) {
|
|
411
|
+
try {
|
|
412
|
+
trx.abort();
|
|
413
|
+
}
|
|
414
|
+
catch {
|
|
415
|
+
// The transaction may already have aborted because an IndexedDB
|
|
416
|
+
// request failed. Either way, never mask the original failure.
|
|
417
|
+
}
|
|
418
|
+
await trx.done.catch(() => { });
|
|
419
|
+
throw error;
|
|
345
420
|
}
|
|
346
|
-
await trx.done;
|
|
347
|
-
return r;
|
|
348
421
|
}
|
|
349
422
|
async deleteBulkFile(fileId) {
|
|
423
|
+
if (!Number.isSafeInteger(fileId) || fileId < 1) {
|
|
424
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('fileId', 'a positive safe integer');
|
|
425
|
+
}
|
|
350
426
|
await this.makeAvailable();
|
|
351
427
|
const trx = this.toDbTrxReadWrite(['bulk_headers']);
|
|
352
428
|
const store = trx.objectStore('bulk_headers');
|
|
429
|
+
const existed = (await store.get(fileId)) != null;
|
|
353
430
|
await store.delete(fileId);
|
|
354
431
|
await trx.done;
|
|
355
|
-
|
|
356
|
-
return 1;
|
|
432
|
+
return existed ? 1 : 0;
|
|
357
433
|
}
|
|
358
434
|
async insertBulkFile(file) {
|
|
359
435
|
await this.makeAvailable();
|
|
436
|
+
const canonical = (0, BulkFileDataManager_1.normalizeBulkHeaderFileInfo)(file, true);
|
|
437
|
+
if (canonical.chain !== this.chain)
|
|
438
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('file.chain', this.chain);
|
|
360
439
|
const trx = this.toDbTrxReadWrite(['bulk_headers']);
|
|
361
440
|
const store = trx.objectStore('bulk_headers');
|
|
362
|
-
const fileObj = { ...
|
|
441
|
+
const fileObj = { ...canonical };
|
|
363
442
|
delete fileObj['fileId'];
|
|
364
|
-
|
|
443
|
+
const fileId = Number(await store.put(fileObj));
|
|
365
444
|
await trx.done;
|
|
366
|
-
return
|
|
445
|
+
return fileId;
|
|
367
446
|
}
|
|
368
447
|
async updateBulkFile(fileId, file) {
|
|
448
|
+
if (!Number.isSafeInteger(fileId) || fileId < 1) {
|
|
449
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('fileId', 'a positive safe integer');
|
|
450
|
+
}
|
|
369
451
|
await this.makeAvailable();
|
|
452
|
+
const canonical = (0, BulkFileDataManager_1.normalizeBulkHeaderFileInfo)(file, true);
|
|
453
|
+
if (canonical.chain !== this.chain)
|
|
454
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('file.chain', this.chain);
|
|
455
|
+
if (canonical.fileId !== undefined && canonical.fileId !== fileId) {
|
|
456
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('file.fileId', 'undefined or equal to fileId');
|
|
457
|
+
}
|
|
370
458
|
const trx = this.toDbTrxReadWrite(['bulk_headers']);
|
|
371
459
|
const store = trx.objectStore('bulk_headers');
|
|
372
|
-
|
|
373
|
-
await store.put(file);
|
|
460
|
+
await store.put({ ...canonical, fileId });
|
|
374
461
|
await trx.done;
|
|
375
462
|
// return number of records affected
|
|
376
463
|
return 1;
|
|
377
464
|
}
|
|
378
|
-
async
|
|
465
|
+
async replaceBulkFiles(files) {
|
|
466
|
+
const canonical = (0, BulkFileDataManager_1.normalizeBulkHeaderFileSequence)(files, true).map(value => {
|
|
467
|
+
if (value.chain !== this.chain)
|
|
468
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('file.chain', this.chain);
|
|
469
|
+
return value;
|
|
470
|
+
});
|
|
379
471
|
await this.makeAvailable();
|
|
380
472
|
const trx = this.toDbTrxReadWrite(['bulk_headers']);
|
|
381
473
|
const store = trx.objectStore('bulk_headers');
|
|
382
|
-
|
|
474
|
+
try {
|
|
475
|
+
const current = await store.getAll();
|
|
476
|
+
const currentById = new Map();
|
|
477
|
+
for (const file of current) {
|
|
478
|
+
const value = (0, BulkFileDataManager_1.normalizeBulkHeaderFileInfo)(file, true);
|
|
479
|
+
if (value.fileId === undefined || currentById.has(value.fileId)) {
|
|
480
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION('IndexedDB contains an invalid or duplicate bulk-file id');
|
|
481
|
+
}
|
|
482
|
+
currentById.set(value.fileId, value);
|
|
483
|
+
}
|
|
484
|
+
const retainedIds = new Set();
|
|
485
|
+
const committed = [];
|
|
486
|
+
for (const file of canonical) {
|
|
487
|
+
let fileId = file.fileId;
|
|
488
|
+
if (fileId !== undefined) {
|
|
489
|
+
const prior = currentById.get(fileId);
|
|
490
|
+
if (prior == null || retainedIds.has(fileId)) {
|
|
491
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('file.fileId', 'a unique id belonging to the current bulk-file set');
|
|
492
|
+
}
|
|
493
|
+
const stored = { ...file, data: file.data ?? prior.data, fileId };
|
|
494
|
+
await store.put(stored);
|
|
495
|
+
}
|
|
496
|
+
else {
|
|
497
|
+
const stored = { ...file };
|
|
498
|
+
delete stored.fileId;
|
|
499
|
+
fileId = Number(await store.add(stored));
|
|
500
|
+
if (!Number.isSafeInteger(fileId) || fileId < 1) {
|
|
501
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION('IndexedDB returned an invalid bulk-file id');
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
retainedIds.add(fileId);
|
|
505
|
+
committed.push({ ...file, fileId });
|
|
506
|
+
}
|
|
507
|
+
for (const fileId of currentById.keys()) {
|
|
508
|
+
if (!retainedIds.has(fileId))
|
|
509
|
+
await store.delete(fileId);
|
|
510
|
+
}
|
|
511
|
+
await trx.done;
|
|
512
|
+
return committed;
|
|
513
|
+
}
|
|
514
|
+
catch (error) {
|
|
515
|
+
try {
|
|
516
|
+
trx.abort();
|
|
517
|
+
}
|
|
518
|
+
catch {
|
|
519
|
+
// The transaction may already have aborted. Preserve the first error.
|
|
520
|
+
}
|
|
521
|
+
await trx.done.catch(() => { });
|
|
522
|
+
throw error;
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
async getBulkFiles() {
|
|
526
|
+
await this.makeAvailable();
|
|
527
|
+
const trx = this.toDbTrxReadOnly(['bulk_headers']);
|
|
528
|
+
const store = trx.objectStore('bulk_headers');
|
|
529
|
+
const files = (await store.getAll()).map(file => (0, BulkFileDataManager_1.normalizeBulkHeaderFileInfo)(file, true));
|
|
383
530
|
files.sort((a, b) => a.firstHeight - b.firstHeight);
|
|
384
531
|
for (const file of files)
|
|
385
532
|
file.data = undefined;
|
|
386
533
|
return files;
|
|
387
534
|
}
|
|
388
535
|
async getBulkFileData(fileId, offset, length) {
|
|
389
|
-
if (!Number.
|
|
390
|
-
throw new WERR_errors_1.WERR_INVALID_PARAMETER('fileId', 'a
|
|
536
|
+
if (!Number.isSafeInteger(fileId) || fileId < 1) {
|
|
537
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('fileId', 'a positive safe integer bulk_files fileId');
|
|
538
|
+
}
|
|
539
|
+
const hasOffset = offset !== undefined;
|
|
540
|
+
const hasLength = length !== undefined;
|
|
541
|
+
if (hasOffset !== hasLength) {
|
|
542
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('offset and length', 'both defined or both undefined');
|
|
543
|
+
}
|
|
544
|
+
if (hasOffset &&
|
|
545
|
+
(!Number.isSafeInteger(offset) ||
|
|
546
|
+
!Number.isSafeInteger(length) ||
|
|
547
|
+
offset < 0 ||
|
|
548
|
+
length < 0 ||
|
|
549
|
+
!Number.isSafeInteger(offset + length))) {
|
|
550
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('offset and length', 'non-negative safe integers with a safe sum');
|
|
551
|
+
}
|
|
391
552
|
await this.makeAvailable();
|
|
392
|
-
const trx = this.
|
|
553
|
+
const trx = this.toDbTrxReadOnly(['bulk_headers']);
|
|
393
554
|
const store = trx.objectStore('bulk_headers');
|
|
394
555
|
const info = await store.get(fileId);
|
|
395
556
|
if (info == null)
|
|
396
557
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('fileId', `an existing record. ${fileId} not found`);
|
|
397
558
|
let data;
|
|
398
|
-
if (info.data == null)
|
|
559
|
+
if (info.data == null) {
|
|
560
|
+
await trx.done;
|
|
399
561
|
return undefined;
|
|
400
|
-
|
|
562
|
+
}
|
|
563
|
+
if (hasOffset) {
|
|
401
564
|
data = info.data.slice(offset, offset + length);
|
|
402
565
|
}
|
|
403
566
|
else {
|
|
@@ -418,12 +581,16 @@ class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageB
|
|
|
418
581
|
repairStoredLiveHeader(header) {
|
|
419
582
|
if (header == null)
|
|
420
583
|
return undefined;
|
|
584
|
+
if (![undefined, true, 1].includes(header.isActive) ||
|
|
585
|
+
![undefined, true, 1].includes(header.isChainTip)) {
|
|
586
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION('IndexedDB contains a non-canonical live-header boolean');
|
|
587
|
+
}
|
|
421
588
|
const h = {
|
|
422
589
|
...header,
|
|
423
|
-
isActive:
|
|
424
|
-
isChainTip:
|
|
590
|
+
isActive: header.isActive === true || header.isActive === 1,
|
|
591
|
+
isChainTip: header.isChainTip === true || header.isChainTip === 1
|
|
425
592
|
};
|
|
426
|
-
return h;
|
|
593
|
+
return this.validateLiveHeaderRecord(h);
|
|
427
594
|
}
|
|
428
595
|
prepareStoredLiveHeader(header, forInsert) {
|
|
429
596
|
const h = { ...header };
|
|
@@ -440,12 +607,14 @@ class ChaintracksStorageIdb extends ChaintracksStorageBase_1.ChaintracksStorageB
|
|
|
440
607
|
return h;
|
|
441
608
|
}
|
|
442
609
|
async insertLiveHeader(header) {
|
|
610
|
+
await this.makeAvailable();
|
|
611
|
+
const canonical = this.validateLiveHeaderRecord(header, true);
|
|
443
612
|
const trx = this.toDbTrxReadWrite(['live_headers']);
|
|
444
613
|
const store = trx.objectStore('live_headers');
|
|
445
|
-
const h = this.prepareStoredLiveHeader(
|
|
446
|
-
|
|
614
|
+
const h = this.prepareStoredLiveHeader(canonical, true);
|
|
615
|
+
canonical.headerId = Number(await store.add(h));
|
|
447
616
|
await trx.done;
|
|
448
|
-
return
|
|
617
|
+
return canonical;
|
|
449
618
|
}
|
|
450
619
|
async initDB() {
|
|
451
620
|
const db = await (0, idb_1.openDB)(this.dbName, 1, {
|