@bsv/wallet-toolbox-client 2.1.24 → 3.0.0-alpha.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/out/src/CWIStyleWalletManager.d.ts +33 -7
- package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
- package/out/src/CWIStyleWalletManager.js +281 -313
- package/out/src/CWIStyleWalletManager.js.map +1 -1
- package/out/src/SetupClient.d.ts +6 -6
- package/out/src/SetupClient.d.ts.map +1 -1
- package/out/src/SetupClient.js +5 -5
- package/out/src/SetupClient.js.map +1 -1
- package/out/src/SetupWallet.d.ts.map +1 -1
- package/out/src/SimpleWalletManager.d.ts +12 -2
- package/out/src/SimpleWalletManager.d.ts.map +1 -1
- package/out/src/SimpleWalletManager.js +46 -30
- package/out/src/SimpleWalletManager.js.map +1 -1
- package/out/src/Wallet.d.ts +1 -1
- package/out/src/Wallet.d.ts.map +1 -1
- package/out/src/Wallet.js +102 -100
- package/out/src/Wallet.js.map +1 -1
- package/out/src/WalletAuthenticationManager.d.ts +1 -1
- package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
- package/out/src/WalletAuthenticationManager.js +3 -3
- package/out/src/WalletAuthenticationManager.js.map +1 -1
- package/out/src/WalletLogger.d.ts.map +1 -1
- package/out/src/WalletLogger.js +16 -8
- package/out/src/WalletLogger.js.map +1 -1
- package/out/src/WalletPermissionsManager.d.ts +89 -18
- package/out/src/WalletPermissionsManager.d.ts.map +1 -1
- package/out/src/WalletPermissionsManager.js +656 -870
- package/out/src/WalletPermissionsManager.js.map +1 -1
- package/out/src/WalletSettingsManager.d.ts +2 -2
- package/out/src/WalletSettingsManager.d.ts.map +1 -1
- package/out/src/WalletSettingsManager.js.map +1 -1
- package/out/src/fundWalletP2PKH.d.ts +2 -2
- package/out/src/fundWalletP2PKH.d.ts.map +1 -1
- package/out/src/fundWalletP2PKH.js +11 -10
- package/out/src/fundWalletP2PKH.js.map +1 -1
- package/out/src/mockchain/MockChainMigrations.d.ts +3 -3
- package/out/src/mockchain/MockChainMigrations.d.ts.map +1 -1
- package/out/src/mockchain/MockChainMigrations.js.map +1 -1
- package/out/src/mockchain/MockChainStorage.d.ts.map +1 -1
- package/out/src/mockchain/MockChainStorage.js +5 -5
- package/out/src/mockchain/MockChainStorage.js.map +1 -1
- package/out/src/mockchain/MockChainTracker.d.ts.map +1 -1
- package/out/src/mockchain/MockChainTracker.js +10 -10
- package/out/src/mockchain/MockChainTracker.js.map +1 -1
- package/out/src/mockchain/MockMiner.d.ts.map +1 -1
- package/out/src/mockchain/MockMiner.js +3 -3
- package/out/src/mockchain/MockMiner.js.map +1 -1
- package/out/src/mockchain/MockServices.d.ts +9 -0
- package/out/src/mockchain/MockServices.d.ts.map +1 -1
- package/out/src/mockchain/MockServices.js +195 -238
- package/out/src/mockchain/MockServices.js.map +1 -1
- package/out/src/mockchain/merkleTree.d.ts.map +1 -1
- package/out/src/mockchain/merkleTree.js +21 -12
- package/out/src/mockchain/merkleTree.js.map +1 -1
- package/out/src/monitor/LeasedMonitorTask.d.ts +43 -0
- package/out/src/monitor/LeasedMonitorTask.d.ts.map +1 -0
- package/out/src/monitor/LeasedMonitorTask.js +89 -0
- package/out/src/monitor/LeasedMonitorTask.js.map +1 -0
- package/out/src/monitor/Monitor.d.ts +24 -0
- package/out/src/monitor/Monitor.d.ts.map +1 -1
- package/out/src/monitor/Monitor.js +63 -75
- package/out/src/monitor/Monitor.js.map +1 -1
- package/out/src/monitor/V7LeasedTask.d.ts +43 -0
- package/out/src/monitor/V7LeasedTask.d.ts.map +1 -0
- package/out/src/monitor/V7LeasedTask.js +89 -0
- package/out/src/monitor/V7LeasedTask.js.map +1 -0
- package/out/src/monitor/tasks/TaskArcSSE.d.ts +2 -2
- package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskArcSSE.js +10 -23
- package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +4 -2
- package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.js +83 -16
- package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +1 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.js +1 -2
- package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
- package/out/src/monitor/tasks/TaskClock.d.ts +1 -1
- package/out/src/monitor/tasks/TaskClock.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskClock.js +0 -1
- package/out/src/monitor/tasks/TaskClock.js.map +1 -1
- package/out/src/monitor/tasks/TaskFailAbandoned.d.ts +1 -1
- package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
- package/out/src/monitor/tasks/TaskMineBlock.d.ts +1 -1
- package/out/src/monitor/tasks/TaskMineBlock.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskMineBlock.js.map +1 -1
- package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts +1 -1
- package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskMonitorCallHistory.js +1 -1
- package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.d.ts +2 -2
- package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.js +7 -5
- package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
- package/out/src/monitor/tasks/TaskPurge.d.ts +1 -1
- package/out/src/monitor/tasks/TaskPurge.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskPurge.js.map +1 -1
- package/out/src/monitor/tasks/TaskReorg.d.ts +1 -1
- package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReorg.js +2 -2
- package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts +1 -1
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +10 -10
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +1 -1
- package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReviewProvenTxs.js +2 -2
- package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewStatus.d.ts +1 -1
- package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +1 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
- package/out/src/monitor/tasks/TaskSendWaiting.d.ts +1 -1
- package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskSendWaiting.js +4 -5
- package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
- package/out/src/monitor/tasks/TaskUnFail.d.ts +1 -1
- package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskUnFail.js +13 -15
- package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
- package/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +1 -1
- package/out/src/monitor/tasks/WalletMonitorTask.js +3 -1
- package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -1
- package/out/src/sdk/CertOpsWallet.d.ts +3 -3
- package/out/src/sdk/CertOpsWallet.d.ts.map +1 -1
- package/out/src/sdk/PrivilegedKeyManager.d.ts +3 -3
- package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
- package/out/src/sdk/PrivilegedKeyManager.js +26 -21
- package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
- package/out/src/sdk/WERR_errors.d.ts.map +1 -1
- package/out/src/sdk/WERR_errors.js +5 -5
- package/out/src/sdk/WERR_errors.js.map +1 -1
- package/out/src/sdk/WalletError.d.ts +1 -1
- package/out/src/sdk/WalletError.d.ts.map +1 -1
- package/out/src/sdk/WalletError.js +10 -3
- 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 +1 -3
- package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
- package/out/src/sdk/WalletServices.interfaces.d.ts +19 -19
- package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
- package/out/src/sdk/WalletStorage.interfaces.d.ts +59 -59
- package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
- package/out/src/sdk/types.d.ts +36 -4
- package/out/src/sdk/types.d.ts.map +1 -1
- package/out/src/sdk/types.js +53 -4
- package/out/src/sdk/types.js.map +1 -1
- package/out/src/services/ServiceCollection.d.ts +6 -6
- package/out/src/services/ServiceCollection.d.ts.map +1 -1
- package/out/src/services/ServiceCollection.js +3 -4
- 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 +174 -182
- package/out/src/services/Services.js.map +1 -1
- package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
- package/out/src/services/chaintracker/BHServiceClient.js +7 -7
- package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.js +5 -5
- package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts +5 -3
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +20 -10
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js +228 -221
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +9 -10
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.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 +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts +1 -2
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +3 -3
- 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/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +3 -3
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.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 +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +2 -2
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +2 -2
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +6 -39
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +3 -3
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +8 -6
- 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 +9 -16
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +34 -22
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +31 -30
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +2 -2
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +11 -10
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.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/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.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +6 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +247 -227
- 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 +8 -7
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +35 -25
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +5 -5
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +13 -11
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +0 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +21 -13
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +2 -2
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +28 -24
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +9 -10
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.js +3 -3
- package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
- package/out/src/services/providers/ARC.d.ts.map +1 -1
- package/out/src/services/providers/ARC.js +7 -14
- package/out/src/services/providers/ARC.js.map +1 -1
- package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
- package/out/src/services/providers/ArcSSEClient.js +1 -1
- package/out/src/services/providers/ArcSSEClient.js.map +1 -1
- package/out/src/services/providers/Bitails.d.ts.map +1 -1
- package/out/src/services/providers/Bitails.js +17 -17
- package/out/src/services/providers/Bitails.js.map +1 -1
- package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
- package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
- package/out/src/services/providers/WhatsOnChain.d.ts +2 -0
- package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
- package/out/src/services/providers/WhatsOnChain.js +109 -233
- package/out/src/services/providers/WhatsOnChain.js.map +1 -1
- package/out/src/services/providers/exchangeRates.d.ts.map +1 -1
- package/out/src/services/providers/exchangeRates.js +3 -3
- package/out/src/services/providers/exchangeRates.js.map +1 -1
- package/out/src/services/providers/getBeefForTxid.d.ts +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 +68 -0
- package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +1 -0
- package/out/src/services/providers/whatsOnChainHelpers.js +147 -0
- package/out/src/services/providers/whatsOnChainHelpers.js.map +1 -0
- package/out/src/signer/WalletSigner.d.ts.map +1 -1
- package/out/src/signer/WalletSigner.js.map +1 -1
- package/out/src/signer/methods/acquireDirectCertificate.js +1 -1
- package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
- package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
- package/out/src/signer/methods/buildSignableTransaction.js +21 -13
- package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
- package/out/src/signer/methods/completeSignedTransaction.d.ts.map +1 -1
- package/out/src/signer/methods/completeSignedTransaction.js +20 -21
- package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
- package/out/src/signer/methods/createAction.d.ts.map +1 -1
- package/out/src/signer/methods/createAction.js +8 -7
- package/out/src/signer/methods/createAction.js.map +1 -1
- package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/signer/methods/internalizeAction.js +8 -6
- package/out/src/signer/methods/internalizeAction.js.map +1 -1
- package/out/src/signer/methods/proveCertificate.js +1 -1
- package/out/src/signer/methods/signAction.d.ts.map +1 -1
- package/out/src/signer/methods/signAction.js +8 -10
- package/out/src/signer/methods/signAction.js.map +1 -1
- package/out/src/storage/StorageIdb.d.ts +16 -1
- package/out/src/storage/StorageIdb.d.ts.map +1 -1
- package/out/src/storage/StorageIdb.js +544 -1224
- package/out/src/storage/StorageIdb.js.map +1 -1
- package/out/src/storage/StorageProvider.d.ts +124 -1
- package/out/src/storage/StorageProvider.d.ts.map +1 -1
- package/out/src/storage/StorageProvider.js +316 -186
- package/out/src/storage/StorageProvider.js.map +1 -1
- package/out/src/storage/StorageReader.d.ts.map +1 -1
- package/out/src/storage/StorageReader.js +8 -7
- package/out/src/storage/StorageReader.js.map +1 -1
- package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
- package/out/src/storage/StorageReaderWriter.js +32 -32
- package/out/src/storage/StorageReaderWriter.js.map +1 -1
- package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
- package/out/src/storage/StorageSyncReader.js +3 -3
- package/out/src/storage/StorageSyncReader.js.map +1 -1
- package/out/src/storage/WalletStorageManager.d.ts +3 -0
- package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
- package/out/src/storage/WalletStorageManager.js +83 -73
- package/out/src/storage/WalletStorageManager.js.map +1 -1
- package/out/src/storage/idbHelpers.d.ts +47 -0
- package/out/src/storage/idbHelpers.d.ts.map +1 -0
- package/out/src/storage/idbHelpers.js +417 -0
- package/out/src/storage/idbHelpers.js.map +1 -0
- package/out/src/storage/methods/ListActionsSpecOp.d.ts +6 -1
- package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
- package/out/src/storage/methods/ListActionsSpecOp.js +28 -2
- package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
- package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
- package/out/src/storage/methods/ListOutputsSpecOp.js +8 -11
- package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
- package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +83 -0
- package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js +338 -63
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
- package/out/src/storage/methods/createAction.d.ts.map +1 -1
- package/out/src/storage/methods/createAction.js +251 -274
- package/out/src/storage/methods/createAction.js.map +1 -1
- package/out/src/storage/methods/generateChange.d.ts.map +1 -1
- package/out/src/storage/methods/generateChange.js +99 -80
- package/out/src/storage/methods/generateChange.js.map +1 -1
- package/out/src/storage/methods/getBeefForTransaction.js +15 -13
- 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 +4 -3
- package/out/src/storage/methods/getSyncChunk.js.map +1 -1
- package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/storage/methods/internalizeAction.js +213 -56
- package/out/src/storage/methods/internalizeAction.js.map +1 -1
- package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
- package/out/src/storage/methods/listActionsIdb.js +85 -110
- package/out/src/storage/methods/listActionsIdb.js.map +1 -1
- package/out/src/storage/methods/listCertificates.d.ts +1 -1
- package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
- package/out/src/storage/methods/listCertificates.js +7 -7
- package/out/src/storage/methods/listCertificates.js.map +1 -1
- package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
- package/out/src/storage/methods/listOutputsIdb.js +24 -27
- package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
- package/out/src/storage/methods/offsetKey.d.ts +1 -1
- package/out/src/storage/methods/offsetKey.d.ts.map +1 -1
- package/out/src/storage/methods/offsetKey.js +3 -5
- package/out/src/storage/methods/offsetKey.js.map +1 -1
- package/out/src/storage/methods/processAction.d.ts +0 -11
- package/out/src/storage/methods/processAction.d.ts.map +1 -1
- package/out/src/storage/methods/processAction.js +168 -93
- package/out/src/storage/methods/processAction.js.map +1 -1
- package/out/src/storage/methods/purgeDataIdb.d.ts.map +1 -1
- package/out/src/storage/methods/purgeDataIdb.js +1 -1
- package/out/src/storage/methods/purgeDataIdb.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/utils.d.ts.map +1 -1
- package/out/src/storage/methods/utils.js +7 -1
- package/out/src/storage/methods/utils.js.map +1 -1
- package/out/src/storage/remoting/StorageClient.d.ts +4 -270
- package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageClient.js +16 -423
- package/out/src/storage/remoting/StorageClient.js.map +1 -1
- package/out/src/storage/remoting/StorageClientBase.d.ts +289 -0
- package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -0
- package/out/src/storage/remoting/StorageClientBase.js +375 -0
- package/out/src/storage/remoting/StorageClientBase.js.map +1 -0
- package/out/src/storage/remoting/entityValidationHelpers.d.ts +29 -0
- package/out/src/storage/remoting/entityValidationHelpers.d.ts.map +1 -0
- package/out/src/storage/remoting/entityValidationHelpers.js +91 -0
- package/out/src/storage/remoting/entityValidationHelpers.js.map +1 -0
- package/out/src/storage/schema/StorageIdbSchema.d.ts +43 -2
- package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityBase.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
- package/out/src/storage/schema/entities/EntityCertificate.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityCertificate.js +5 -4
- package/out/src/storage/schema/entities/EntityCertificate.js.map +1 -1
- package/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityCertificateField.js +5 -7
- package/out/src/storage/schema/entities/EntityCertificateField.js.map +1 -1
- package/out/src/storage/schema/entities/EntityCommission.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityCommission.js +6 -8
- package/out/src/storage/schema/entities/EntityCommission.js.map +1 -1
- package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityOutput.js +21 -24
- 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 +6 -6
- package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputTag.js +2 -2
- package/out/src/storage/schema/entities/EntityOutputTag.js.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputTagMap.js +4 -6
- package/out/src/storage/schema/entities/EntityOutputTagMap.js.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTx.d.ts +3 -3
- package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTx.js +22 -23
- package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +9 -0
- package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTxReq.js +116 -68
- package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
- package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntitySyncState.js +19 -18
- package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
- package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityTransaction.js +25 -26
- package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -1
- package/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityTxLabel.js +2 -2
- package/out/src/storage/schema/entities/EntityTxLabel.js.map +1 -1
- package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityTxLabelMap.js +4 -6
- package/out/src/storage/schema/entities/EntityTxLabelMap.js.map +1 -1
- package/out/src/storage/schema/entities/EntityUser.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityUser.js +3 -3
- package/out/src/storage/schema/entities/EntityUser.js.map +1 -1
- package/out/src/storage/schema/entities/MergeEntity.d.ts.map +1 -1
- package/out/src/storage/schema/entities/MergeEntity.js +6 -6
- package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
- package/out/src/storage/schema/monitorLease.d.ts +57 -0
- package/out/src/storage/schema/monitorLease.d.ts.map +1 -0
- package/out/src/storage/schema/monitorLease.js +101 -0
- package/out/src/storage/schema/monitorLease.js.map +1 -0
- package/out/src/storage/schema/processingFsm.d.ts +27 -0
- package/out/src/storage/schema/processingFsm.d.ts.map +1 -0
- package/out/src/storage/schema/processingFsm.js +132 -0
- package/out/src/storage/schema/processingFsm.js.map +1 -0
- package/out/src/storage/schema/tables/TableAction.d.ts +38 -0
- package/out/src/storage/schema/tables/TableAction.d.ts.map +1 -0
- package/out/src/storage/schema/tables/TableAction.js +3 -0
- package/out/src/storage/schema/tables/TableAction.js.map +1 -0
- package/out/src/storage/schema/tables/TableCertificate.d.ts +2 -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/TableChainTip.d.ts +17 -0
- package/out/src/storage/schema/tables/TableChainTip.d.ts.map +1 -0
- package/out/src/storage/schema/tables/TableChainTip.js +3 -0
- package/out/src/storage/schema/tables/TableChainTip.js.map +1 -0
- 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/TableMonitorLease.d.ts +23 -0
- package/out/src/storage/schema/tables/TableMonitorLease.d.ts.map +1 -0
- package/out/src/storage/schema/tables/TableMonitorLease.js +3 -0
- package/out/src/storage/schema/tables/TableMonitorLease.js.map +1 -0
- package/out/src/storage/schema/tables/TableOutput.d.ts +10 -2
- package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableOutput.js +1 -1
- package/out/src/storage/schema/tables/TableOutput.js.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/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 +24 -1
- package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableSettings.d.ts +1 -1
- 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 +1 -1
- package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableTransactionNew.d.ts +50 -0
- package/out/src/storage/schema/tables/TableTransactionNew.d.ts.map +1 -0
- package/out/src/storage/schema/tables/TableTransactionNew.js +3 -0
- package/out/src/storage/schema/tables/TableTransactionNew.js.map +1 -0
- package/out/src/storage/schema/tables/TableTransactionV7.d.ts +50 -0
- package/out/src/storage/schema/tables/TableTransactionV7.d.ts.map +1 -0
- package/out/src/storage/schema/tables/TableTransactionV7.js +3 -0
- package/out/src/storage/schema/tables/TableTransactionV7.js.map +1 -0
- package/out/src/storage/schema/tables/TableTxAudit.d.ts +26 -0
- package/out/src/storage/schema/tables/TableTxAudit.d.ts.map +1 -0
- package/out/src/storage/schema/tables/TableTxAudit.js +3 -0
- package/out/src/storage/schema/tables/TableTxAudit.js.map +1 -0
- 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/schema/tables/index.d.ts +5 -0
- package/out/src/storage/schema/tables/index.d.ts.map +1 -1
- package/out/src/storage/schema/tables/index.js +5 -0
- package/out/src/storage/schema/tables/index.js.map +1 -1
- package/out/src/storage/schema/transactionCrud.d.ts +41 -0
- package/out/src/storage/schema/transactionCrud.d.ts.map +1 -0
- package/out/src/storage/schema/transactionCrud.js +205 -0
- package/out/src/storage/schema/transactionCrud.js.map +1 -0
- package/out/src/storage/schema/transactionService.d.ts +315 -0
- package/out/src/storage/schema/transactionService.d.ts.map +1 -0
- package/out/src/storage/schema/transactionService.js +783 -0
- package/out/src/storage/schema/transactionService.js.map +1 -0
- package/out/src/storage/schema/txAudit.d.ts +33 -0
- package/out/src/storage/schema/txAudit.d.ts.map +1 -0
- package/out/src/storage/schema/txAudit.js +64 -0
- package/out/src/storage/schema/txAudit.js.map +1 -0
- package/out/src/storage/schema/v7Crud.d.ts +41 -0
- package/out/src/storage/schema/v7Crud.d.ts.map +1 -0
- package/out/src/storage/schema/v7Crud.js +205 -0
- package/out/src/storage/schema/v7Crud.js.map +1 -0
- package/out/src/storage/schema/v7Fsm.d.ts +27 -0
- package/out/src/storage/schema/v7Fsm.d.ts.map +1 -0
- package/out/src/storage/schema/v7Fsm.js +124 -0
- package/out/src/storage/schema/v7Fsm.js.map +1 -0
- package/out/src/storage/schema/v7MonitorLease.d.ts +57 -0
- package/out/src/storage/schema/v7MonitorLease.d.ts.map +1 -0
- package/out/src/storage/schema/v7MonitorLease.js +101 -0
- package/out/src/storage/schema/v7MonitorLease.js.map +1 -0
- package/out/src/storage/schema/v7Service.d.ts +305 -0
- package/out/src/storage/schema/v7Service.d.ts.map +1 -0
- package/out/src/storage/schema/v7Service.js +757 -0
- package/out/src/storage/schema/v7Service.js.map +1 -0
- package/out/src/storage/schema/v7TxAudit.d.ts +33 -0
- package/out/src/storage/schema/v7TxAudit.d.ts.map +1 -0
- package/out/src/storage/schema/v7TxAudit.js +64 -0
- package/out/src/storage/schema/v7TxAudit.js.map +1 -0
- package/out/src/storage/storageProviderHelpers.d.ts +34 -0
- package/out/src/storage/storageProviderHelpers.d.ts.map +1 -0
- package/out/src/storage/storageProviderHelpers.js +100 -0
- package/out/src/storage/storageProviderHelpers.js.map +1 -0
- package/out/src/utility/ScriptTemplateBRC29.d.ts.map +1 -1
- package/out/src/utility/ScriptTemplateBRC29.js +2 -1
- package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
- package/out/src/utility/aggregateResults.d.ts +1 -1
- package/out/src/utility/aggregateResults.d.ts.map +1 -1
- package/out/src/utility/aggregateResults.js +2 -2
- package/out/src/utility/aggregateResults.js.map +1 -1
- package/out/src/utility/brc114ActionTimeLabels.d.ts +2 -2
- package/out/src/utility/brc114ActionTimeLabels.d.ts.map +1 -1
- package/out/src/utility/brc114ActionTimeLabels.js +16 -9
- package/out/src/utility/brc114ActionTimeLabels.js.map +1 -1
- package/out/src/utility/identityUtils.js +1 -1
- package/out/src/utility/identityUtils.js.map +1 -1
- package/out/src/utility/parseTxScriptOffsets.d.ts +4 -4
- package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -1
- package/out/src/utility/parseTxScriptOffsets.js.map +1 -1
- package/out/src/utility/stampLog.d.ts.map +1 -1
- package/out/src/utility/stampLog.js +7 -5
- package/out/src/utility/stampLog.js.map +1 -1
- package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
- package/out/src/utility/tscProofToMerklePath.js +1 -1
- package/out/src/utility/tscProofToMerklePath.js.map +1 -1
- package/out/src/utility/utilityHelpers.d.ts +1 -2
- package/out/src/utility/utilityHelpers.d.ts.map +1 -1
- package/out/src/utility/utilityHelpers.js +10 -10
- package/out/src/utility/utilityHelpers.js.map +1 -1
- package/out/src/utility/utilityHelpers.noBuffer.d.ts +7 -3
- package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
- package/out/src/utility/utilityHelpers.noBuffer.js +3 -3
- package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
- package/out/src/wab-client/WABClient.d.ts +1 -1
- package/out/src/wab-client/WABClient.d.ts.map +1 -1
- package/out/src/wab-client/WABClient.js +12 -12
- package/out/src/wab-client/WABClient.js.map +1 -1
- 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 -3
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
- package/package.json +7 -6
|
@@ -15,20 +15,27 @@ function computeMerkleRoot(txids) {
|
|
|
15
15
|
throw new Error('Cannot compute merkle root of empty txid list');
|
|
16
16
|
}
|
|
17
17
|
// Convert txids to byte arrays (reverse to little-endian for hashing)
|
|
18
|
-
let level = txids.map(txid =>
|
|
18
|
+
let level = txids.map(txid => {
|
|
19
|
+
const txidBytes = (0, utilityHelpers_noBuffer_1.asArray)(txid);
|
|
20
|
+
txidBytes.reverse();
|
|
21
|
+
return txidBytes;
|
|
22
|
+
});
|
|
19
23
|
while (level.length > 1) {
|
|
20
24
|
const next = [];
|
|
21
25
|
for (let i = 0; i < level.length; i += 2) {
|
|
22
26
|
const left = level[i];
|
|
23
27
|
const right = i + 1 < level.length ? level[i + 1] : level[i]; // duplicate last if odd
|
|
24
28
|
const combined = [...left, ...right];
|
|
25
|
-
const hash = (0, utilityHelpers_1.doubleSha256BE)(combined)
|
|
29
|
+
const hash = (0, utilityHelpers_1.doubleSha256BE)(combined); // doubleSha256BE returns BE, reverse to LE for next level
|
|
30
|
+
hash.reverse();
|
|
26
31
|
next.push(hash);
|
|
27
32
|
}
|
|
28
33
|
level = next;
|
|
29
34
|
}
|
|
30
35
|
// Final root in LE, reverse to BE for return
|
|
31
|
-
|
|
36
|
+
const root = [...level[0]];
|
|
37
|
+
root.reverse();
|
|
38
|
+
return (0, utilityHelpers_noBuffer_1.asString)(root);
|
|
32
39
|
}
|
|
33
40
|
/**
|
|
34
41
|
* Compute the MerklePath for a target transaction at `targetIndex` within a block at `blockHeight`.
|
|
@@ -53,7 +60,7 @@ function computeMerklePath(txids, targetIndex, blockHeight) {
|
|
|
53
60
|
treeHeight++;
|
|
54
61
|
n = Math.ceil(n / 2);
|
|
55
62
|
}
|
|
56
|
-
const path = Array(treeHeight)
|
|
63
|
+
const path = new Array(treeHeight)
|
|
57
64
|
.fill(0)
|
|
58
65
|
.map(() => []);
|
|
59
66
|
let index = targetIndex;
|
|
@@ -87,20 +94,22 @@ function computeMerklePath(txids, targetIndex, blockHeight) {
|
|
|
87
94
|
}
|
|
88
95
|
}
|
|
89
96
|
}
|
|
97
|
+
else if (siblingIndex >= levelTxids.length) {
|
|
98
|
+
// Higher levels: duplicate sibling when odd
|
|
99
|
+
path[level].push({ offset: siblingIndex, duplicate: true });
|
|
100
|
+
}
|
|
90
101
|
else {
|
|
91
102
|
// Higher levels: we only need the sibling hash
|
|
92
|
-
|
|
93
|
-
path[level].push({ offset: siblingIndex, duplicate: true });
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
path[level].push({ offset: siblingIndex, hash: levelTxids[siblingIndex] });
|
|
97
|
-
}
|
|
103
|
+
path[level].push({ offset: siblingIndex, hash: levelTxids[siblingIndex] });
|
|
98
104
|
}
|
|
99
105
|
// Compute next level hashes
|
|
100
106
|
const nextLevel = [];
|
|
101
107
|
for (let i = 0; i < levelTxids.length; i += 2) {
|
|
102
|
-
const left = (0, utilityHelpers_noBuffer_1.asArray)(levelTxids[i])
|
|
103
|
-
|
|
108
|
+
const left = (0, utilityHelpers_noBuffer_1.asArray)(levelTxids[i]);
|
|
109
|
+
left.reverse();
|
|
110
|
+
const right = i + 1 < levelTxids.length ? (0, utilityHelpers_noBuffer_1.asArray)(levelTxids[i + 1]) : left;
|
|
111
|
+
if (right !== left)
|
|
112
|
+
right.reverse();
|
|
104
113
|
const combined = [...left, ...right];
|
|
105
114
|
const hash = (0, utilityHelpers_1.doubleSha256BE)(combined); // returns BE
|
|
106
115
|
nextLevel.push((0, utilityHelpers_noBuffer_1.asString)(hash));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merkleTree.js","sourceRoot":"","sources":["../../../../src/mockchain/merkleTree.ts"],"names":[],"mappings":";;AASA,
|
|
1
|
+
{"version":3,"file":"merkleTree.js","sourceRoot":"","sources":["../../../../src/mockchain/merkleTree.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { TransactionService } from '../storage/schema/transactionService';
|
|
2
|
+
/**
|
|
3
|
+
* Helper that wraps a long-running monitor task body in `monitor_lease`
|
|
4
|
+
* acquire / renew / release semantics.
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* ```typescript
|
|
8
|
+
* const helper = new LeasedMonitorTask(txSvc)
|
|
9
|
+
* const { ran } = await helper.run('proof-acquisition', ownerId, 30_000, async () => {
|
|
10
|
+
* // task body runs only when lease is acquired
|
|
11
|
+
* })
|
|
12
|
+
* if (!ran) {
|
|
13
|
+
* console.log('lease held by another instance – skipping')
|
|
14
|
+
* }
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* Lease renewal is driven by a `setInterval` firing at `ttlMs * 0.4` so the
|
|
18
|
+
* lease is always refreshed well before it would expire (40 % window). The
|
|
19
|
+
* interval is cleared in the `finally` block before `releaseLease` is called.
|
|
20
|
+
*
|
|
21
|
+
* Logging writes to `console.log` so that lease activity is visible in the
|
|
22
|
+
* same stream as other Monitor diagnostics.
|
|
23
|
+
*/
|
|
24
|
+
export declare class LeasedMonitorTask {
|
|
25
|
+
private readonly svc;
|
|
26
|
+
constructor(svc: TransactionService);
|
|
27
|
+
/**
|
|
28
|
+
* Attempt to claim the named lease and, if successful, execute `body`.
|
|
29
|
+
*
|
|
30
|
+
* @param taskName Logical task identifier stored in `monitor_lease.task_name`.
|
|
31
|
+
* @param ownerId Stable identifier for this Monitor instance.
|
|
32
|
+
* @param ttlMs Lease TTL in milliseconds. Renewal fires at `ttlMs * 0.4`.
|
|
33
|
+
* @param body Async work to perform while holding the lease.
|
|
34
|
+
*
|
|
35
|
+
* @returns `{ ran: true }` when the lease was acquired and `body` completed
|
|
36
|
+
* (even if `body` threw — the error is re-thrown after cleanup).
|
|
37
|
+
* `{ ran: false }` when another owner holds a live lease.
|
|
38
|
+
*/
|
|
39
|
+
run(taskName: string, ownerId: string, ttlMs: number, body: () => Promise<void>): Promise<{
|
|
40
|
+
ran: boolean;
|
|
41
|
+
}>;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=LeasedMonitorTask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LeasedMonitorTask.d.ts","sourceRoot":"","sources":["../../../../src/monitor/LeasedMonitorTask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAEzE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,iBAAiB;IACf,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,kBAAkB;IAErD;;;;;;;;;;;OAWG;IACG,GAAG,CACP,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GACxB,OAAO,CAAC;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE,CAAC;CA2C7B"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LeasedMonitorTask = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Helper that wraps a long-running monitor task body in `monitor_lease`
|
|
6
|
+
* acquire / renew / release semantics.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* ```typescript
|
|
10
|
+
* const helper = new LeasedMonitorTask(txSvc)
|
|
11
|
+
* const { ran } = await helper.run('proof-acquisition', ownerId, 30_000, async () => {
|
|
12
|
+
* // task body runs only when lease is acquired
|
|
13
|
+
* })
|
|
14
|
+
* if (!ran) {
|
|
15
|
+
* console.log('lease held by another instance – skipping')
|
|
16
|
+
* }
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* Lease renewal is driven by a `setInterval` firing at `ttlMs * 0.4` so the
|
|
20
|
+
* lease is always refreshed well before it would expire (40 % window). The
|
|
21
|
+
* interval is cleared in the `finally` block before `releaseLease` is called.
|
|
22
|
+
*
|
|
23
|
+
* Logging writes to `console.log` so that lease activity is visible in the
|
|
24
|
+
* same stream as other Monitor diagnostics.
|
|
25
|
+
*/
|
|
26
|
+
class LeasedMonitorTask {
|
|
27
|
+
constructor(svc) {
|
|
28
|
+
this.svc = svc;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Attempt to claim the named lease and, if successful, execute `body`.
|
|
32
|
+
*
|
|
33
|
+
* @param taskName Logical task identifier stored in `monitor_lease.task_name`.
|
|
34
|
+
* @param ownerId Stable identifier for this Monitor instance.
|
|
35
|
+
* @param ttlMs Lease TTL in milliseconds. Renewal fires at `ttlMs * 0.4`.
|
|
36
|
+
* @param body Async work to perform while holding the lease.
|
|
37
|
+
*
|
|
38
|
+
* @returns `{ ran: true }` when the lease was acquired and `body` completed
|
|
39
|
+
* (even if `body` threw — the error is re-thrown after cleanup).
|
|
40
|
+
* `{ ran: false }` when another owner holds a live lease.
|
|
41
|
+
*/
|
|
42
|
+
async run(taskName, ownerId, ttlMs, body) {
|
|
43
|
+
const claim = await this.svc.tryClaimLease({ taskName, ownerId, ttlMs });
|
|
44
|
+
if (!claim.acquired) {
|
|
45
|
+
console.log(`[LeasedMonitorTask] ${taskName}: lease held by another owner — skipping`);
|
|
46
|
+
return { ran: false };
|
|
47
|
+
}
|
|
48
|
+
console.log(`[LeasedMonitorTask] ${taskName}: lease acquired by ${ownerId} (ttl=${ttlMs}ms)`);
|
|
49
|
+
// Renew at 40 % of TTL so there is always a healthy margin before expiry.
|
|
50
|
+
const renewIntervalMs = Math.max(1000, Math.floor(ttlMs * 0.4));
|
|
51
|
+
let renewFailures = 0;
|
|
52
|
+
const renewTimer = setInterval(async () => {
|
|
53
|
+
var _a, _b;
|
|
54
|
+
try {
|
|
55
|
+
const result = await this.svc.renewLease({ taskName, ownerId, ttlMs });
|
|
56
|
+
if (result.acquired) {
|
|
57
|
+
renewFailures = 0;
|
|
58
|
+
console.log(`[LeasedMonitorTask] ${taskName}: lease renewed (renewCount=${(_b = (_a = result.lease) === null || _a === void 0 ? void 0 : _a.renewCount) !== null && _b !== void 0 ? _b : '?'})`);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
renewFailures++;
|
|
62
|
+
console.log(`[LeasedMonitorTask] ${taskName}: lease renew failed (attempt ${renewFailures}) — may have been taken over`);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
renewFailures++;
|
|
67
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
68
|
+
console.log(`[LeasedMonitorTask] ${taskName}: lease renew error (attempt ${renewFailures}): ${msg}`);
|
|
69
|
+
}
|
|
70
|
+
}, renewIntervalMs);
|
|
71
|
+
try {
|
|
72
|
+
await body();
|
|
73
|
+
return { ran: true };
|
|
74
|
+
}
|
|
75
|
+
finally {
|
|
76
|
+
clearInterval(renewTimer);
|
|
77
|
+
try {
|
|
78
|
+
const released = await this.svc.releaseLease({ taskName, ownerId });
|
|
79
|
+
console.log(`[LeasedMonitorTask] ${taskName}: lease released by ${ownerId} (deleted=${released})`);
|
|
80
|
+
}
|
|
81
|
+
catch (releaseErr) {
|
|
82
|
+
const msg = releaseErr instanceof Error ? releaseErr.message : String(releaseErr);
|
|
83
|
+
console.log(`[LeasedMonitorTask] ${taskName}: lease release error: ${msg}`);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.LeasedMonitorTask = LeasedMonitorTask;
|
|
89
|
+
//# sourceMappingURL=LeasedMonitorTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LeasedMonitorTask.js","sourceRoot":"","sources":["../../../../src/monitor/LeasedMonitorTask.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAa,iBAAiB;IAC5B,YAA8B,GAAuB;QAAvB,QAAG,GAAH,GAAG,CAAoB;IAAG,CAAC;IAEzD;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,GAAG,CACP,QAAgB,EAChB,OAAe,EACf,KAAa,EACb,IAAyB;QAEzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QACxE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,0CAA0C,CAAC,CAAA;YACtF,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;QACvB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,uBAAuB,OAAO,SAAS,KAAK,KAAK,CAAC,CAAA;QAE7F,0EAA0E;QAC1E,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAA;QAC/D,IAAI,aAAa,GAAG,CAAC,CAAA;QACrB,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;;YACxC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;gBACtE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACpB,aAAa,GAAG,CAAC,CAAA;oBACjB,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,+BAA+B,MAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,UAAU,mCAAI,GAAG,GAAG,CAAC,CAAA;gBAC/G,CAAC;qBAAM,CAAC;oBACN,aAAa,EAAE,CAAA;oBACf,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,iCAAiC,aAAa,8BAA8B,CAAC,CAAA;gBAC1H,CAAC;YACH,CAAC;YAAC,OAAO,GAAY,EAAE,CAAC;gBACtB,aAAa,EAAE,CAAA;gBACf,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAC5D,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,gCAAgC,aAAa,MAAM,GAAG,EAAE,CAAC,CAAA;YACtG,CAAC;QACH,CAAC,EAAE,eAAe,CAAC,CAAA;QAEnB,IAAI,CAAC;YACH,MAAM,IAAI,EAAE,CAAA;YACZ,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;QACtB,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,UAAU,CAAC,CAAA;YACzB,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;gBACnE,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,uBAAuB,OAAO,aAAa,QAAQ,GAAG,CAAC,CAAA;YACpG,CAAC;YAAC,OAAO,UAAmB,EAAE,CAAC;gBAC7B,MAAM,GAAG,GAAG,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;gBACjF,OAAO,CAAC,GAAG,CAAC,uBAAuB,QAAQ,0BAA0B,GAAG,EAAE,CAAC,CAAA;YAC7E,CAAC;QACH,CAAC;IACH,CAAC;CACF;AA/DD,8CA+DC"}
|
|
@@ -24,6 +24,15 @@ export interface MonitorOptions {
|
|
|
24
24
|
abandonedMsecs: number;
|
|
25
25
|
unprovenAttemptsLimitTest: number;
|
|
26
26
|
unprovenAttemptsLimitMain: number;
|
|
27
|
+
/**
|
|
28
|
+
* Maximum number of times a broadcast transaction may be reset to 'unsent' for
|
|
29
|
+
* rebroadcast after proof check timeout (circuit breaker).
|
|
30
|
+
*
|
|
31
|
+
* Default 0 means unlimited — the tx is rebroadcast indefinitely until a proof
|
|
32
|
+
* is found. Set to a positive integer to cap rebroadcast cycles; once the limit
|
|
33
|
+
* is reached the req is marked 'invalid'.
|
|
34
|
+
*/
|
|
35
|
+
maxRebroadcastAttempts: number;
|
|
27
36
|
/**
|
|
28
37
|
* Stable callback token for ARC SSE event streaming.
|
|
29
38
|
* When set, TaskArcadeSSE will open an SSE connection to Arcade's
|
|
@@ -50,6 +59,13 @@ export interface MonitorOptions {
|
|
|
50
59
|
*/
|
|
51
60
|
export declare class Monitor {
|
|
52
61
|
static createDefaultWalletMonitorOptions(chain: Chain, storage: MonitorStorage, services?: Services, chaintracks?: Chaintracks, startupTaskMode?: MonitorStartupTaskMode): MonitorOptions;
|
|
62
|
+
/**
|
|
63
|
+
* Stable identifier for this Monitor instance, used as the `ownerId` when
|
|
64
|
+
* acquiring monitor_lease rows. Generated once at construction time via
|
|
65
|
+
* 8 cryptographically random bytes (16 hex chars). Callers may override this
|
|
66
|
+
* after construction if a deterministic / persisted id is preferred.
|
|
67
|
+
*/
|
|
68
|
+
instanceId: string;
|
|
53
69
|
options: MonitorOptions;
|
|
54
70
|
services: Services | WalletServices;
|
|
55
71
|
chain: Chain;
|
|
@@ -61,7 +77,15 @@ export declare class Monitor {
|
|
|
61
77
|
onTransactionBroadcasted?: (broadcastResult: ReviewActionResult) => Promise<void>;
|
|
62
78
|
onTransactionProven?: (txStatus: ProvenTransactionStatus) => Promise<void>;
|
|
63
79
|
onTransactionStatusChanged?: (txid: string, newStatus: string) => Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Resolves once the optional Chaintracks subscriptions have been registered.
|
|
82
|
+
* Await this before calling `startTasks()` if `chaintracksWithEvents` is provided
|
|
83
|
+
* and you need subscriptions to be active before the first task loop runs.
|
|
84
|
+
*/
|
|
85
|
+
get ready(): Promise<void>;
|
|
86
|
+
private _readyInit?;
|
|
64
87
|
constructor(options: MonitorOptions);
|
|
88
|
+
private _init;
|
|
65
89
|
private applyStartupTaskMode;
|
|
66
90
|
destroy(): Promise<void>;
|
|
67
91
|
static readonly oneSecond = 1000;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Monitor.d.ts","sourceRoot":"","sources":["../../../../src/monitor/Monitor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAEtE,OAAO,EAAa,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAiB9D,OAAO,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AAGpE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,oBAAoB,
|
|
1
|
+
{"version":3,"file":"Monitor.d.ts","sourceRoot":"","sources":["../../../../src/monitor/Monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,8 +27,8 @@ const Services_1 = require("../services/Services");
|
|
|
27
27
|
*/
|
|
28
28
|
class Monitor {
|
|
29
29
|
static createDefaultWalletMonitorOptions(chain, storage, services, chaintracks, startupTaskMode = 'none') {
|
|
30
|
-
services
|
|
31
|
-
if (
|
|
30
|
+
services !== null && services !== void 0 ? services : (services = new Services_1.Services(chain));
|
|
31
|
+
if (services.options.chaintracks == null)
|
|
32
32
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('services.options.chaintracks', 'valid');
|
|
33
33
|
const o = {
|
|
34
34
|
chain,
|
|
@@ -37,15 +37,34 @@ class Monitor {
|
|
|
37
37
|
msecsWaitPerMerkleProofServiceReq: 500,
|
|
38
38
|
taskRunWaitMsecs: 5000,
|
|
39
39
|
abandonedMsecs: 1000 * 60 * 5,
|
|
40
|
-
unprovenAttemptsLimitTest:
|
|
40
|
+
unprovenAttemptsLimitTest: 100,
|
|
41
41
|
unprovenAttemptsLimitMain: 144,
|
|
42
|
+
maxRebroadcastAttempts: 0,
|
|
42
43
|
chaintracks: services.options.chaintracks,
|
|
43
44
|
chaintracksWithEvents: chaintracks,
|
|
44
45
|
startupTaskMode
|
|
45
46
|
};
|
|
46
47
|
return o;
|
|
47
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* Resolves once the optional Chaintracks subscriptions have been registered.
|
|
51
|
+
* Await this before calling `startTasks()` if `chaintracksWithEvents` is provided
|
|
52
|
+
* and you need subscriptions to be active before the first task loop runs.
|
|
53
|
+
*/
|
|
54
|
+
get ready() {
|
|
55
|
+
if (this._readyInit === undefined) {
|
|
56
|
+
this._readyInit = this._init();
|
|
57
|
+
}
|
|
58
|
+
return this._readyInit;
|
|
59
|
+
}
|
|
48
60
|
constructor(options) {
|
|
61
|
+
/**
|
|
62
|
+
* Stable identifier for this Monitor instance, used as the `ownerId` when
|
|
63
|
+
* acquiring monitor_lease rows. Generated once at construction time via
|
|
64
|
+
* 8 cryptographically random bytes (16 hex chars). Callers may override this
|
|
65
|
+
* after construction if a deterministic / persisted id is preferred.
|
|
66
|
+
*/
|
|
67
|
+
this.instanceId = (0, utilityHelpers_1.randomBytesHex)(8);
|
|
49
68
|
/**
|
|
50
69
|
* _tasks are typically run by the scheduler but may also be run by runTask.
|
|
51
70
|
*/
|
|
@@ -75,13 +94,15 @@ class Monitor {
|
|
|
75
94
|
this.onTransactionProven = options.onTransactionProven;
|
|
76
95
|
this.onTransactionBroadcasted = options.onTransactionBroadcasted;
|
|
77
96
|
this.onTransactionStatusChanged = options.onTransactionStatusChanged;
|
|
78
|
-
if (this.chaintracksWithEvents) {
|
|
79
|
-
const c = this.chaintracksWithEvents;
|
|
80
|
-
this.reorgSubscriptionPromise = c.subscribeReorgs(this.processReorg.bind(this));
|
|
81
|
-
this.headersSubscriptionPromise = c.subscribeHeaders(this.processHeader.bind(this));
|
|
82
|
-
}
|
|
83
97
|
this.applyStartupTaskMode(options.startupTaskMode || 'none');
|
|
84
98
|
}
|
|
99
|
+
async _init() {
|
|
100
|
+
if (this.chaintracksWithEvents != null) {
|
|
101
|
+
this.reorgSubscriptionPromise = this.chaintracksWithEvents.subscribeReorgs(this.processReorg.bind(this));
|
|
102
|
+
this.headersSubscriptionPromise = this.chaintracksWithEvents.subscribeHeaders(this.processHeader.bind(this));
|
|
103
|
+
await Promise.all([this.reorgSubscriptionPromise, this.headersSubscriptionPromise]);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
85
106
|
applyStartupTaskMode(mode) {
|
|
86
107
|
switch (mode) {
|
|
87
108
|
case 'default':
|
|
@@ -96,34 +117,20 @@ class Monitor {
|
|
|
96
117
|
case 'none':
|
|
97
118
|
break;
|
|
98
119
|
default:
|
|
99
|
-
throw new WERR_errors_1.WERR_INVALID_PARAMETER('startupTaskMode',
|
|
120
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('startupTaskMode', '\'none\', \'default\', \'multiuser\', or \'alltoother\'');
|
|
100
121
|
}
|
|
101
122
|
}
|
|
102
123
|
async destroy() {
|
|
103
|
-
if (this.chaintracksWithEvents) {
|
|
124
|
+
if (this.chaintracksWithEvents != null) {
|
|
104
125
|
const c = this.chaintracksWithEvents;
|
|
105
|
-
if (this.reorgSubscriptionPromise)
|
|
126
|
+
if (this.reorgSubscriptionPromise != null)
|
|
106
127
|
await c.unsubscribe(await this.reorgSubscriptionPromise);
|
|
107
|
-
if (this.headersSubscriptionPromise)
|
|
128
|
+
if (this.headersSubscriptionPromise != null)
|
|
108
129
|
await c.unsubscribe(await this.headersSubscriptionPromise);
|
|
109
130
|
}
|
|
110
131
|
}
|
|
111
132
|
addAllTasksToOther() {
|
|
112
|
-
this._otherTasks.push(new TaskClock_1.TaskClock(this));
|
|
113
|
-
this._otherTasks.push(new TaskNewHeader_1.TaskNewHeader(this));
|
|
114
|
-
this._otherTasks.push(new TaskMonitorCallHistory_1.TaskMonitorCallHistory(this));
|
|
115
|
-
this._otherTasks.push(new TaskSendWaiting_1.TaskSendWaiting(this));
|
|
116
|
-
this._otherTasks.push(new TaskCheckForProofs_1.TaskCheckForProofs(this));
|
|
117
|
-
this._otherTasks.push(new TaskCheckNoSends_1.TaskCheckNoSends(this));
|
|
118
|
-
this._otherTasks.push(new TaskFailAbandoned_1.TaskFailAbandoned(this));
|
|
119
|
-
this._otherTasks.push(new TaskUnFail_1.TaskUnFail(this));
|
|
120
|
-
this._otherTasks.push(new TaskReviewStatus_1.TaskReviewStatus(this));
|
|
121
|
-
this._otherTasks.push(new TaskReorg_1.TaskReorg(this));
|
|
122
|
-
this._otherTasks.push(new TaskReviewUtxos_1.TaskReviewUtxos(this));
|
|
123
|
-
this._otherTasks.push(new TaskReviewDoubleSpends_1.TaskReviewDoubleSpends(this));
|
|
124
|
-
this._otherTasks.push(new TaskReviewProvenTxs_1.TaskReviewProvenTxs(this));
|
|
125
|
-
this._otherTasks.push(new TaskPurge_1.TaskPurge(this, this.defaultPurgeParams));
|
|
126
|
-
//this._otherTasks.push(new TaskSyncWhenIdle(this))
|
|
133
|
+
this._otherTasks.push(new TaskClock_1.TaskClock(this), new TaskNewHeader_1.TaskNewHeader(this), new TaskMonitorCallHistory_1.TaskMonitorCallHistory(this), new TaskSendWaiting_1.TaskSendWaiting(this), new TaskCheckForProofs_1.TaskCheckForProofs(this), new TaskCheckNoSends_1.TaskCheckNoSends(this), new TaskFailAbandoned_1.TaskFailAbandoned(this), new TaskUnFail_1.TaskUnFail(this), new TaskReviewStatus_1.TaskReviewStatus(this), new TaskReorg_1.TaskReorg(this), new TaskReviewUtxos_1.TaskReviewUtxos(this), new TaskReviewDoubleSpends_1.TaskReviewDoubleSpends(this), new TaskReviewProvenTxs_1.TaskReviewProvenTxs(this), new TaskPurge_1.TaskPurge(this, this.defaultPurgeParams));
|
|
127
134
|
if (this.chain === 'mock') {
|
|
128
135
|
this._otherTasks.push(new TaskMineBlock_1.TaskMineBlock(this));
|
|
129
136
|
}
|
|
@@ -132,21 +139,10 @@ class Monitor {
|
|
|
132
139
|
* Default tasks with settings appropriate for a single user storage
|
|
133
140
|
*/
|
|
134
141
|
addDefaultTasks() {
|
|
135
|
-
this._tasks.push(new TaskClock_1.TaskClock(this))
|
|
136
|
-
|
|
137
|
-
this.
|
|
138
|
-
this.
|
|
139
|
-
this._tasks.push(new TaskCheckForProofs_1.TaskCheckForProofs(this, 2 * Monitor.oneHour)); // Every two hours if no block found
|
|
140
|
-
this._tasks.push(new TaskCheckNoSends_1.TaskCheckNoSends(this));
|
|
141
|
-
this._tasks.push(new TaskFailAbandoned_1.TaskFailAbandoned(this, 8 * Monitor.oneMinute));
|
|
142
|
-
this._tasks.push(new TaskUnFail_1.TaskUnFail(this));
|
|
143
|
-
this._tasks.push(new TaskReviewStatus_1.TaskReviewStatus(this));
|
|
144
|
-
this._tasks.push(new TaskReorg_1.TaskReorg(this));
|
|
145
|
-
this._tasks.push(new TaskReviewDoubleSpends_1.TaskReviewDoubleSpends(this));
|
|
146
|
-
this._tasks.push(new TaskReviewProvenTxs_1.TaskReviewProvenTxs(this));
|
|
147
|
-
this._otherTasks.push(new TaskPurge_1.TaskPurge(this, this.defaultPurgeParams, 6 * Monitor.oneHour));
|
|
148
|
-
this._otherTasks.push(new TaskReviewUtxos_1.TaskReviewUtxos(this));
|
|
149
|
-
this._tasks.push(new TaskArcSSE_1.TaskArcadeSSE(this));
|
|
142
|
+
this._tasks.push(new TaskClock_1.TaskClock(this), new TaskNewHeader_1.TaskNewHeader(this), new TaskMonitorCallHistory_1.TaskMonitorCallHistory(this), new TaskSendWaiting_1.TaskSendWaiting(this, 8 * Monitor.oneSecond, 7 * Monitor.oneSecond), // Check every 8 seconds but must be 7 seconds old
|
|
143
|
+
new TaskCheckForProofs_1.TaskCheckForProofs(this, 2 * Monitor.oneHour), // Every two hours if no block found
|
|
144
|
+
new TaskCheckNoSends_1.TaskCheckNoSends(this), new TaskFailAbandoned_1.TaskFailAbandoned(this, 8 * Monitor.oneMinute), new TaskUnFail_1.TaskUnFail(this), new TaskReviewStatus_1.TaskReviewStatus(this), new TaskReorg_1.TaskReorg(this), new TaskReviewDoubleSpends_1.TaskReviewDoubleSpends(this), new TaskReviewProvenTxs_1.TaskReviewProvenTxs(this), new TaskArcSSE_1.TaskArcadeSSE(this));
|
|
145
|
+
this._otherTasks.push(new TaskPurge_1.TaskPurge(this, this.defaultPurgeParams, 6 * Monitor.oneHour), new TaskReviewUtxos_1.TaskReviewUtxos(this));
|
|
150
146
|
if (this.chain === 'mock') {
|
|
151
147
|
this._tasks.push(new TaskMineBlock_1.TaskMineBlock(this));
|
|
152
148
|
}
|
|
@@ -155,27 +151,18 @@ class Monitor {
|
|
|
155
151
|
* Tasks appropriate for multi-user storage
|
|
156
152
|
*/
|
|
157
153
|
addMultiUserTasks() {
|
|
158
|
-
this._tasks.push(new TaskClock_1.TaskClock(this))
|
|
159
|
-
|
|
160
|
-
this.
|
|
161
|
-
this.
|
|
162
|
-
this._tasks.push(new TaskCheckForProofs_1.TaskCheckForProofs(this, 2 * Monitor.oneHour)); // Every two hours if no block found
|
|
163
|
-
this._tasks.push(new TaskCheckNoSends_1.TaskCheckNoSends(this));
|
|
164
|
-
this._tasks.push(new TaskFailAbandoned_1.TaskFailAbandoned(this, 8 * Monitor.oneMinute));
|
|
165
|
-
this._tasks.push(new TaskUnFail_1.TaskUnFail(this));
|
|
166
|
-
this._tasks.push(new TaskReviewStatus_1.TaskReviewStatus(this));
|
|
167
|
-
this._tasks.push(new TaskReorg_1.TaskReorg(this));
|
|
168
|
-
this._tasks.push(new TaskReviewDoubleSpends_1.TaskReviewDoubleSpends(this));
|
|
169
|
-
this._tasks.push(new TaskReviewProvenTxs_1.TaskReviewProvenTxs(this));
|
|
170
|
-
this._otherTasks.push(new TaskPurge_1.TaskPurge(this, this.defaultPurgeParams));
|
|
171
|
-
this._otherTasks.push(new TaskReviewUtxos_1.TaskReviewUtxos(this));
|
|
154
|
+
this._tasks.push(new TaskClock_1.TaskClock(this), new TaskNewHeader_1.TaskNewHeader(this), new TaskMonitorCallHistory_1.TaskMonitorCallHistory(this), new TaskSendWaiting_1.TaskSendWaiting(this, 8 * Monitor.oneSecond, 7 * Monitor.oneSecond), // Check every 8 seconds but must be 7 seconds old
|
|
155
|
+
new TaskCheckForProofs_1.TaskCheckForProofs(this, 2 * Monitor.oneHour), // Every two hours if no block found
|
|
156
|
+
new TaskCheckNoSends_1.TaskCheckNoSends(this), new TaskFailAbandoned_1.TaskFailAbandoned(this, 8 * Monitor.oneMinute), new TaskUnFail_1.TaskUnFail(this), new TaskReviewStatus_1.TaskReviewStatus(this), new TaskReorg_1.TaskReorg(this), new TaskReviewDoubleSpends_1.TaskReviewDoubleSpends(this), new TaskReviewProvenTxs_1.TaskReviewProvenTxs(this));
|
|
157
|
+
this._otherTasks.push(new TaskPurge_1.TaskPurge(this, this.defaultPurgeParams), new TaskReviewUtxos_1.TaskReviewUtxos(this));
|
|
172
158
|
if (this.chain === 'mock') {
|
|
173
159
|
this._tasks.push(new TaskMineBlock_1.TaskMineBlock(this));
|
|
174
160
|
}
|
|
175
161
|
}
|
|
176
162
|
addTask(task) {
|
|
177
|
-
if (this._tasks.some(t => t.name === task.name))
|
|
163
|
+
if (this._tasks.some(t => t.name === task.name)) {
|
|
178
164
|
throw new WERR_errors_1.WERR_BAD_REQUEST(`task ${task.name} has already been added.`);
|
|
165
|
+
}
|
|
179
166
|
this._tasks.push(task);
|
|
180
167
|
}
|
|
181
168
|
removeTask(name) {
|
|
@@ -184,9 +171,8 @@ class Monitor {
|
|
|
184
171
|
async runTask(name) {
|
|
185
172
|
let task = this._tasks.find(t => t.name === name);
|
|
186
173
|
let log = '';
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
if (task) {
|
|
174
|
+
task !== null && task !== void 0 ? task : (task = this._otherTasks.find(t => t.name === name));
|
|
175
|
+
if (task != null) {
|
|
190
176
|
await task.asyncSetup();
|
|
191
177
|
log = await task.runTask();
|
|
192
178
|
}
|
|
@@ -198,8 +184,8 @@ class Monitor {
|
|
|
198
184
|
try {
|
|
199
185
|
await t.asyncSetup();
|
|
200
186
|
}
|
|
201
|
-
catch (
|
|
202
|
-
const e = WalletError_1.WalletError.fromUnknown(
|
|
187
|
+
catch (error_) {
|
|
188
|
+
const e = WalletError_1.WalletError.fromUnknown(error_);
|
|
203
189
|
const details = `monitor task ${t.name} asyncSetup error ${e.code} ${e.description}`;
|
|
204
190
|
console.log(details);
|
|
205
191
|
await this.logEvent('error0', details);
|
|
@@ -211,14 +197,14 @@ class Monitor {
|
|
|
211
197
|
}
|
|
212
198
|
if (this.storage.getActive().isStorageProvider()) {
|
|
213
199
|
const tasksToRun = [];
|
|
214
|
-
const now =
|
|
200
|
+
const now = Date.now();
|
|
215
201
|
for (const t of this._tasks) {
|
|
216
202
|
try {
|
|
217
203
|
if (t.trigger(now).run)
|
|
218
204
|
tasksToRun.push(t);
|
|
219
205
|
}
|
|
220
|
-
catch (
|
|
221
|
-
const e = WalletError_1.WalletError.fromUnknown(
|
|
206
|
+
catch (error_) {
|
|
207
|
+
const e = WalletError_1.WalletError.fromUnknown(error_);
|
|
222
208
|
const details = `monitor task ${t.name} trigger error ${e.code} ${e.description}`;
|
|
223
209
|
console.log(details);
|
|
224
210
|
await this.logEvent('error0', details);
|
|
@@ -238,14 +224,14 @@ class Monitor {
|
|
|
238
224
|
}
|
|
239
225
|
}
|
|
240
226
|
}
|
|
241
|
-
catch (
|
|
242
|
-
const e = WalletError_1.WalletError.fromUnknown(
|
|
227
|
+
catch (error_) {
|
|
228
|
+
const e = WalletError_1.WalletError.fromUnknown(error_);
|
|
243
229
|
const details = `monitor task ${ttr.name} runTask error ${e.code} ${e.description}\n${e.stack}`;
|
|
244
230
|
console.log(details);
|
|
245
231
|
await this.logEvent('error1', details);
|
|
246
232
|
}
|
|
247
233
|
finally {
|
|
248
|
-
ttr.lastRunMsecsSinceEpoch =
|
|
234
|
+
ttr.lastRunMsecsSinceEpoch = Date.now();
|
|
249
235
|
}
|
|
250
236
|
}
|
|
251
237
|
}
|
|
@@ -257,12 +243,12 @@ class Monitor {
|
|
|
257
243
|
this._tasksRunningPromise = new Promise(resolve => {
|
|
258
244
|
this.resolveCompletion = resolve;
|
|
259
245
|
});
|
|
260
|
-
|
|
246
|
+
while (this._tasksRunning) {
|
|
261
247
|
await this.runOnce();
|
|
262
248
|
// console.log(`${new Date().toISOString()} tasks run, waiting...`)
|
|
263
249
|
await (0, utilityHelpers_1.wait)(this.options.taskRunWaitMsecs);
|
|
264
250
|
}
|
|
265
|
-
if (this.resolveCompletion) {
|
|
251
|
+
if (this.resolveCompletion != null) {
|
|
266
252
|
this.resolveCompletion();
|
|
267
253
|
this.resolveCompletion = undefined;
|
|
268
254
|
}
|
|
@@ -304,7 +290,7 @@ class Monitor {
|
|
|
304
290
|
* @param broadcastResult
|
|
305
291
|
*/
|
|
306
292
|
callOnBroadcastedTransaction(broadcastResult) {
|
|
307
|
-
if (this.onTransactionBroadcasted) {
|
|
293
|
+
if (this.onTransactionBroadcasted != null) {
|
|
308
294
|
this.onTransactionBroadcasted(broadcastResult);
|
|
309
295
|
}
|
|
310
296
|
}
|
|
@@ -316,7 +302,7 @@ class Monitor {
|
|
|
316
302
|
* @param txStatus
|
|
317
303
|
*/
|
|
318
304
|
callOnProvenTransaction(txStatus) {
|
|
319
|
-
if (this.onTransactionProven) {
|
|
305
|
+
if (this.onTransactionProven != null) {
|
|
320
306
|
this.onTransactionProven(txStatus);
|
|
321
307
|
}
|
|
322
308
|
}
|
|
@@ -324,7 +310,7 @@ class Monitor {
|
|
|
324
310
|
* Called by TaskArcadeSSE when an SSE status event is received from Arcade.
|
|
325
311
|
*/
|
|
326
312
|
callOnTransactionStatusChanged(txid, newStatus) {
|
|
327
|
-
if (this.onTransactionStatusChanged) {
|
|
313
|
+
if (this.onTransactionStatusChanged != null) {
|
|
328
314
|
this.onTransactionStatusChanged(txid, newStatus);
|
|
329
315
|
}
|
|
330
316
|
}
|
|
@@ -349,7 +335,7 @@ class Monitor {
|
|
|
349
335
|
*/
|
|
350
336
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
351
337
|
processReorg(depth, oldTip, newTip, deactivatedHeaders) {
|
|
352
|
-
if (deactivatedHeaders) {
|
|
338
|
+
if (deactivatedHeaders != null) {
|
|
353
339
|
for (const header of deactivatedHeaders) {
|
|
354
340
|
this.deactivatedHeaders.push({
|
|
355
341
|
whenMsecs: Date.now(),
|
|
@@ -368,7 +354,9 @@ class Monitor {
|
|
|
368
354
|
* @param header
|
|
369
355
|
*/
|
|
370
356
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
371
|
-
processHeader(header) {
|
|
357
|
+
processHeader(header) {
|
|
358
|
+
// Intentional no-op: new headers are aged via TaskNewHeader before processing
|
|
359
|
+
}
|
|
372
360
|
}
|
|
373
361
|
exports.Monitor = Monitor;
|
|
374
362
|
Monitor.oneSecond = 1000;
|