@bsv/wallet-toolbox-client 2.1.24 → 2.1.26
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 +8 -8
- 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 +201 -243
- 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/Monitor.d.ts +17 -0
- package/out/src/monitor/Monitor.d.ts.map +1 -1
- package/out/src/monitor/Monitor.js +63 -80
- package/out/src/monitor/Monitor.js.map +1 -1
- 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 +2 -2
- package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.js +28 -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 +32 -24
- 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 +28 -20
- 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 +4 -4
- package/out/src/sdk/types.d.ts.map +1 -1
- package/out/src/sdk/types.js +3 -3
- 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 +6 -8
- 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 +190 -196
- 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/createIdbChaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.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 +578 -1258
- package/out/src/storage/StorageIdb.js.map +1 -1
- package/out/src/storage/StorageProvider.d.ts +10 -0
- package/out/src/storage/StorageProvider.d.ts.map +1 -1
- package/out/src/storage/StorageProvider.js +171 -197
- 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 +14 -13
- package/out/src/storage/StorageReader.js.map +1 -1
- package/out/src/storage/StorageReaderWriter.d.ts +0 -1
- package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
- package/out/src/storage/StorageReaderWriter.js +32 -35
- 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 +4 -4
- 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 +95 -84
- package/out/src/storage/WalletStorageManager.js.map +1 -1
- package/out/src/storage/idbHelpers.d.ts +42 -0
- package/out/src/storage/idbHelpers.d.ts.map +1 -0
- package/out/src/storage/idbHelpers.js +375 -0
- package/out/src/storage/idbHelpers.js.map +1 -0
- package/out/src/storage/index.client.d.ts +3 -0
- package/out/src/storage/index.client.d.ts.map +1 -1
- package/out/src/storage/index.client.js +3 -0
- package/out/src/storage/index.client.js.map +1 -1
- 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 +224 -61
- 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 +230 -270
- 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.js +41 -51
- 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 +90 -83
- 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/portable/index.d.ts +55 -0
- package/out/src/storage/portable/index.d.ts.map +1 -0
- package/out/src/storage/portable/index.js +830 -0
- package/out/src/storage/portable/index.js.map +1 -0
- 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 +1 -1
- 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/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/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 +3 -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/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/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 +4 -2
- 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 +17 -10
- package/out/src/utility/brc114ActionTimeLabels.js.map +1 -1
- package/out/src/utility/identityUtils.d.ts.map +1 -1
- package/out/src/utility/identityUtils.js +6 -6
- package/out/src/utility/identityUtils.js.map +1 -1
- package/out/src/utility/index.client.d.ts +1 -0
- package/out/src/utility/index.client.d.ts.map +1 -1
- package/out/src/utility/index.client.js +1 -0
- package/out/src/utility/index.client.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 +6 -4
- 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 +12 -12
- 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 +3 -3
- 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/out/tsconfig.client.tsbuildinfo +1 -1
- package/package.json +7 -6
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.StorageProvider = void 0;
|
|
4
4
|
exports.validateStorageFeeModel = validateStorageFeeModel;
|
|
5
5
|
const sdk_1 = require("@bsv/sdk");
|
|
6
|
+
const storageProviderHelpers_1 = require("./storageProviderHelpers");
|
|
6
7
|
const getBeefForTransaction_1 = require("./methods/getBeefForTransaction");
|
|
7
8
|
const processAction_1 = require("./methods/processAction");
|
|
8
9
|
const attemptToPostReqsToNetwork_1 = require("./methods/attemptToPostReqsToNetwork");
|
|
@@ -17,11 +18,12 @@ const WalletError_1 = require("../sdk/WalletError");
|
|
|
17
18
|
const utilityHelpers_noBuffer_1 = require("../utility/utilityHelpers.noBuffer");
|
|
18
19
|
class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
19
20
|
static defaultOptions() {
|
|
20
|
-
|
|
21
|
+
const opts = {
|
|
21
22
|
feeModel: { model: 'sat/kb', value: 1 },
|
|
22
23
|
commissionSatoshis: 0,
|
|
23
24
|
commissionPubKeyHex: undefined
|
|
24
25
|
};
|
|
26
|
+
return opts;
|
|
25
27
|
}
|
|
26
28
|
static createStorageBaseOptions(chain) {
|
|
27
29
|
const options = {
|
|
@@ -50,7 +52,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
50
52
|
async findStaleMerkleRoots(args) {
|
|
51
53
|
let provenTxs = await this.findProvenTxs({ partial: { height: args.height } });
|
|
52
54
|
provenTxs = provenTxs.filter(ptx => ptx.merkleRoot !== args.merkleRoot);
|
|
53
|
-
|
|
55
|
+
const roots = Array.from(new Set(provenTxs.map(ptx => ptx.merkleRoot)));
|
|
54
56
|
return roots;
|
|
55
57
|
}
|
|
56
58
|
async findOutputsByOutpoints(userId, outpoints, trx) {
|
|
@@ -84,7 +86,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
84
86
|
noScript: true,
|
|
85
87
|
trx
|
|
86
88
|
});
|
|
87
|
-
return rows.reduce((a, r) => a +
|
|
89
|
+
return rows.reduce((a, r) => { var _a; return a + ((_a = r.satoshis) !== null && _a !== void 0 ? _a : 0); }, 0);
|
|
88
90
|
}
|
|
89
91
|
async recentlyActiveUsers(limit = 50, trx) {
|
|
90
92
|
const outputs = await this.findOutputs({
|
|
@@ -98,7 +100,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
98
100
|
continue;
|
|
99
101
|
const createdAt = this.validateDate(output.created_at);
|
|
100
102
|
const prior = latestByUserId.get(output.userId);
|
|
101
|
-
if (
|
|
103
|
+
if ((prior == null) || createdAt > prior) {
|
|
102
104
|
latestByUserId.set(output.userId, createdAt);
|
|
103
105
|
}
|
|
104
106
|
}
|
|
@@ -106,8 +108,8 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
106
108
|
.sort((a, b) => b[1].getTime() - a[1].getTime())
|
|
107
109
|
.slice(0, limit)
|
|
108
110
|
.map(([userId]) => userId);
|
|
109
|
-
const users = await Promise.all(sortedUserIds.map(userId => this.findUserById(userId, trx)));
|
|
110
|
-
return users.filter((user) =>
|
|
111
|
+
const users = await Promise.all(sortedUserIds.map(async (userId) => await this.findUserById(userId, trx)));
|
|
112
|
+
return users.filter((user) => user != null);
|
|
111
113
|
}
|
|
112
114
|
isStorageProvider() {
|
|
113
115
|
return true;
|
|
@@ -116,23 +118,23 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
116
118
|
this._services = v;
|
|
117
119
|
}
|
|
118
120
|
getServices() {
|
|
119
|
-
if (
|
|
121
|
+
if (this._services == null)
|
|
120
122
|
throw new WERR_errors_1.WERR_INVALID_OPERATION('Must setServices first.');
|
|
121
123
|
return this._services;
|
|
122
124
|
}
|
|
123
125
|
async abortAction(auth, args) {
|
|
124
|
-
if (
|
|
126
|
+
if (auth.userId == null)
|
|
125
127
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('auth.userId', 'valid');
|
|
126
128
|
const userId = auth.userId;
|
|
127
129
|
let reference = args.reference;
|
|
128
|
-
let txid
|
|
130
|
+
let txid;
|
|
129
131
|
const r = await this.transaction(async (trx) => {
|
|
130
132
|
let tx = (0, utilityHelpers_1.verifyOneOrNone)(await this.findTransactions({
|
|
131
133
|
partial: { reference, userId },
|
|
132
134
|
noRawTx: true,
|
|
133
135
|
trx
|
|
134
136
|
}));
|
|
135
|
-
if (
|
|
137
|
+
if ((tx == null) && args.reference.length === 64) {
|
|
136
138
|
// reference may also be a txid
|
|
137
139
|
txid = reference;
|
|
138
140
|
reference = undefined;
|
|
@@ -143,12 +145,13 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
143
145
|
}));
|
|
144
146
|
}
|
|
145
147
|
const unAbortableStatus = ['completed', 'failed', 'sending', 'unproven'];
|
|
146
|
-
if (
|
|
148
|
+
if ((tx == null) || !tx.isOutgoing || unAbortableStatus.findIndex(s => s === tx.status) > -1) {
|
|
147
149
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('reference', 'an inprocess, outgoing action that has not been signed and shared to the network.');
|
|
150
|
+
}
|
|
148
151
|
await this.updateTransactionStatus('failed', tx.transactionId, userId, reference, trx);
|
|
149
|
-
if (tx.txid) {
|
|
152
|
+
if (tx.txid != null && tx.txid !== '') {
|
|
150
153
|
const req = await entities_1.EntityProvenTxReq.fromStorageTxid(this, tx.txid, trx);
|
|
151
|
-
if (req) {
|
|
154
|
+
if (req != null) {
|
|
152
155
|
req.addHistoryNote({ what: 'abortAction', reference: args.reference });
|
|
153
156
|
req.status = 'invalid';
|
|
154
157
|
await req.updateStorageDynamicProperties(this, trx);
|
|
@@ -190,43 +193,24 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
190
193
|
r.details.push(d);
|
|
191
194
|
try {
|
|
192
195
|
d.proven = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxs({ partial: { txid }, trx }));
|
|
193
|
-
if (d.proven)
|
|
196
|
+
if (d.proven != null) {
|
|
194
197
|
d.status = 'alreadySent';
|
|
198
|
+
continue;
|
|
199
|
+
}
|
|
200
|
+
d.req = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxReqs({ partial: { txid }, trx }));
|
|
201
|
+
if (d.req == null) {
|
|
202
|
+
d.status = 'error';
|
|
203
|
+
d.error = `ERR_UNKNOWN_TXID: ${txid} was not found.`;
|
|
204
|
+
}
|
|
195
205
|
else {
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
d.req
|
|
200
|
-
if (!d.req) {
|
|
201
|
-
d.status = 'error';
|
|
202
|
-
d.error = `ERR_UNKNOWN_TXID: ${txid} was not found.`;
|
|
203
|
-
}
|
|
204
|
-
else if (errorStatus.indexOf(d.req.status) > -1) {
|
|
205
|
-
d.status = 'error';
|
|
206
|
-
d.error = `ERR_INVALID_PARAMETER: ${txid} is not ready to send.`;
|
|
207
|
-
}
|
|
208
|
-
else if (alreadySentStatus.indexOf(d.req.status) > -1) {
|
|
209
|
-
d.status = 'alreadySent';
|
|
210
|
-
}
|
|
211
|
-
else if (readyToSendStatus.indexOf(d.req.status) > -1) {
|
|
212
|
-
if (!d.req.rawTx || !d.req.inputBEEF) {
|
|
213
|
-
d.status = 'error';
|
|
214
|
-
d.error = `ERR_INTERNAL: ${txid} req is missing rawTx or beef.`;
|
|
215
|
-
}
|
|
216
|
-
else
|
|
217
|
-
d.status = 'readyToSend';
|
|
218
|
-
}
|
|
219
|
-
else {
|
|
220
|
-
d.status = 'error';
|
|
221
|
-
d.error = `ERR_INTERNAL: ${txid} has unexpected req status ${d.req.status}`;
|
|
222
|
-
}
|
|
223
|
-
if (d.status === 'readyToSend') {
|
|
224
|
-
await this.mergeReqToBeefToShareExternally(d.req, r.beef, knownTxids, trx);
|
|
225
|
-
}
|
|
206
|
+
(0, storageProviderHelpers_1.classifyReqStatus)(d, d.req);
|
|
207
|
+
}
|
|
208
|
+
if (d.status === 'readyToSend') {
|
|
209
|
+
await this.mergeReqToBeefToShareExternally(d.req, r.beef, knownTxids, trx);
|
|
226
210
|
}
|
|
227
211
|
}
|
|
228
|
-
catch (
|
|
229
|
-
const e = WalletError_1.WalletError.fromUnknown(
|
|
212
|
+
catch (error_) {
|
|
213
|
+
const e = WalletError_1.WalletError.fromUnknown(error_);
|
|
230
214
|
d.error = `${e.name}: ${e.message}`;
|
|
231
215
|
}
|
|
232
216
|
}
|
|
@@ -234,23 +218,11 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
234
218
|
}
|
|
235
219
|
async mergeReqToBeefToShareExternally(req, mergeToBeef, knownTxids, trx) {
|
|
236
220
|
const { rawTx, inputBEEF: beef } = req;
|
|
237
|
-
if (
|
|
238
|
-
throw new WERR_errors_1.WERR_INTERNAL(
|
|
221
|
+
if (rawTx == null || beef == null)
|
|
222
|
+
throw new WERR_errors_1.WERR_INTERNAL('req rawTx and beef must be valid.');
|
|
239
223
|
mergeToBeef.mergeRawTx((0, utilityHelpers_noBuffer_1.asArray)(rawTx));
|
|
240
224
|
mergeToBeef.mergeBeef((0, utilityHelpers_noBuffer_1.asArray)(beef));
|
|
241
|
-
|
|
242
|
-
for (const input of tx.inputs) {
|
|
243
|
-
if (!input.sourceTXID)
|
|
244
|
-
throw new WERR_errors_1.WERR_INTERNAL(`req all transaction inputs must have valid sourceTXID`);
|
|
245
|
-
const txid = input.sourceTXID;
|
|
246
|
-
const btx = mergeToBeef.findTxid(txid);
|
|
247
|
-
if (!btx) {
|
|
248
|
-
if (knownTxids && knownTxids.indexOf(txid) > -1)
|
|
249
|
-
mergeToBeef.mergeTxidOnly(txid);
|
|
250
|
-
else
|
|
251
|
-
await this.getValidBeefForKnownTxid(txid, mergeToBeef, undefined, knownTxids, trx);
|
|
252
|
-
}
|
|
253
|
-
}
|
|
225
|
+
await (0, storageProviderHelpers_1.mergeInputsIntoBeef)((0, utilityHelpers_noBuffer_1.asArray)(rawTx), mergeToBeef, knownTxids, trx, async (txid, beef, _trust, knownTxids, trx) => { await this.getValidBeefForKnownTxid(txid, beef, undefined, knownTxids, trx); });
|
|
254
226
|
}
|
|
255
227
|
/**
|
|
256
228
|
* Checks if txid is a known valid ProvenTx and returns it if found.
|
|
@@ -266,33 +238,37 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
266
238
|
* @param trx
|
|
267
239
|
* @returns
|
|
268
240
|
*/
|
|
241
|
+
async upsertProvenTxReq(txid, newReq, trx) {
|
|
242
|
+
const existing = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxReqs({ partial: { txid }, trx }));
|
|
243
|
+
if (existing == null && newReq == null)
|
|
244
|
+
return undefined;
|
|
245
|
+
if (existing == null) {
|
|
246
|
+
await this.insertProvenTxReq(newReq, trx);
|
|
247
|
+
return newReq;
|
|
248
|
+
}
|
|
249
|
+
if (newReq != null) {
|
|
250
|
+
const req1 = new entities_1.EntityProvenTxReq(existing);
|
|
251
|
+
req1.mergeHistory(newReq, undefined, true);
|
|
252
|
+
req1.mergeNotifyTransactionIds(newReq);
|
|
253
|
+
await req1.updateStorageDynamicProperties(this, trx);
|
|
254
|
+
}
|
|
255
|
+
return existing;
|
|
256
|
+
}
|
|
269
257
|
async getProvenOrReq(txid, newReq, trx) {
|
|
270
|
-
if (newReq && txid !== newReq.txid)
|
|
271
|
-
throw new WERR_errors_1.WERR_INVALID_PARAMETER('newReq',
|
|
258
|
+
if ((newReq != null) && txid !== newReq.txid)
|
|
259
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('newReq', 'same txid');
|
|
272
260
|
const r = { proven: undefined, req: undefined };
|
|
273
261
|
r.proven = (0, utilityHelpers_1.verifyOneOrNone)(await this.findProvenTxs({ partial: { txid }, trx }));
|
|
274
|
-
if (r.proven)
|
|
262
|
+
if (r.proven != null)
|
|
275
263
|
return r;
|
|
276
264
|
for (let retry = 0;; retry++) {
|
|
277
265
|
try {
|
|
278
|
-
r.req =
|
|
279
|
-
if (!r.req && !newReq)
|
|
280
|
-
break;
|
|
281
|
-
if (!r.req && newReq) {
|
|
282
|
-
await this.insertProvenTxReq(newReq, trx);
|
|
283
|
-
}
|
|
284
|
-
if (r.req && newReq) {
|
|
285
|
-
// Merge history and notify into existing
|
|
286
|
-
const req1 = new entities_1.EntityProvenTxReq(r.req);
|
|
287
|
-
req1.mergeHistory(newReq, undefined, true);
|
|
288
|
-
req1.mergeNotifyTransactionIds(newReq);
|
|
289
|
-
await req1.updateStorageDynamicProperties(this, trx);
|
|
290
|
-
}
|
|
266
|
+
r.req = await this.upsertProvenTxReq(txid, newReq, trx);
|
|
291
267
|
break;
|
|
292
268
|
}
|
|
293
|
-
catch (
|
|
269
|
+
catch (error_) {
|
|
294
270
|
if (retry > 0)
|
|
295
|
-
throw
|
|
271
|
+
throw error_;
|
|
296
272
|
}
|
|
297
273
|
}
|
|
298
274
|
return r;
|
|
@@ -316,26 +292,29 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
316
292
|
* @param trx
|
|
317
293
|
*/
|
|
318
294
|
async updateTransactionStatus(status, transactionId, userId, reference, trx) {
|
|
319
|
-
if (
|
|
295
|
+
if (transactionId == null && !(userId != null && reference != null && reference !== '')) {
|
|
320
296
|
throw new WERR_errors_1.WERR_MISSING_PARAMETER('either transactionId or userId and reference');
|
|
297
|
+
}
|
|
321
298
|
await this.transaction(async (trx) => {
|
|
322
299
|
const where = {};
|
|
323
|
-
if (transactionId)
|
|
300
|
+
if (transactionId != null)
|
|
324
301
|
where.transactionId = transactionId;
|
|
325
|
-
if (userId)
|
|
302
|
+
if (userId != null)
|
|
326
303
|
where.userId = userId;
|
|
327
|
-
if (reference)
|
|
304
|
+
if (reference != null && reference !== '')
|
|
328
305
|
where.reference = reference;
|
|
329
306
|
const tx = (0, utilityHelpers_1.verifyOne)(await this.findTransactions({ partial: where, noRawTx: true, trx }));
|
|
330
|
-
//if (tx.status === status)
|
|
307
|
+
// if (tx.status === status)
|
|
331
308
|
// no change required. Assume inputs and outputs spendable and spentBy are valid for status.
|
|
332
|
-
//return
|
|
309
|
+
// return
|
|
333
310
|
// Once completed, this method cannot be used to "uncomplete" transaction.
|
|
334
|
-
if ((status !== 'completed' && tx.status === 'completed') || tx.provenTxId)
|
|
311
|
+
if ((status !== 'completed' && tx.status === 'completed') || tx.provenTxId != null) {
|
|
335
312
|
throw new WERR_errors_1.WERR_INVALID_OPERATION('The status of a "completed" transaction cannot be changed.');
|
|
313
|
+
}
|
|
336
314
|
// It is not possible to un-fail a transaction. Information is lost and not recoverable.
|
|
337
|
-
if (status !== 'failed' && tx.status === 'failed')
|
|
338
|
-
throw new WERR_errors_1.WERR_INVALID_OPERATION(
|
|
315
|
+
if (status !== 'failed' && tx.status === 'failed') {
|
|
316
|
+
throw new WERR_errors_1.WERR_INVALID_OPERATION('A "failed" transaction may not be un-failed by this method.');
|
|
317
|
+
}
|
|
339
318
|
switch (status) {
|
|
340
319
|
case 'failed':
|
|
341
320
|
{
|
|
@@ -364,12 +343,12 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
364
343
|
}, trx);
|
|
365
344
|
}
|
|
366
345
|
async createAction(auth, args) {
|
|
367
|
-
if (
|
|
346
|
+
if (auth.userId == null)
|
|
368
347
|
throw new WERR_errors_1.WERR_UNAUTHORIZED();
|
|
369
348
|
return await (0, createAction_1.createAction)(this, auth, args);
|
|
370
349
|
}
|
|
371
350
|
async processAction(auth, args) {
|
|
372
|
-
if (
|
|
351
|
+
if (auth.userId == null)
|
|
373
352
|
throw new WERR_errors_1.WERR_UNAUTHORIZED();
|
|
374
353
|
return await (0, processAction_1.processAction)(this, auth, args);
|
|
375
354
|
}
|
|
@@ -381,7 +360,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
381
360
|
}
|
|
382
361
|
async verifyKnownValidTransaction(txid, trx) {
|
|
383
362
|
const { proven, rawTx } = await this.getProvenOrRawTx(txid, trx);
|
|
384
|
-
return proven
|
|
363
|
+
return proven !== undefined || rawTx !== undefined;
|
|
385
364
|
}
|
|
386
365
|
/**
|
|
387
366
|
* Pulls data from storage to build a valid beef for a txid.
|
|
@@ -399,64 +378,72 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
399
378
|
*/
|
|
400
379
|
async getValidBeefForKnownTxid(txid, mergeToBeef, trustSelf, knownTxids, trx, requiredLevels) {
|
|
401
380
|
const beef = await this.getValidBeefForTxid(txid, mergeToBeef, trustSelf, knownTxids, trx, requiredLevels);
|
|
402
|
-
if (
|
|
381
|
+
if (beef == null)
|
|
403
382
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('txid', `known to storage. ${txid} is not known.`);
|
|
404
383
|
return beef;
|
|
405
384
|
}
|
|
385
|
+
/**
|
|
386
|
+
* Handles the proven-tx branch of getValidBeefForTxid.
|
|
387
|
+
*
|
|
388
|
+
* Returns the beef if the proof was merged and we can stop, or `undefined` to
|
|
389
|
+
* signal that the caller should fall through to the rawTx path. May also
|
|
390
|
+
* populate `r.rawTx` so the rawTx path can proceed without re-fetching.
|
|
391
|
+
*/
|
|
392
|
+
async handleProvenTxBranch(txid, r, beef, trustSelf, requiredLevels, chainTracker, skipInvalidProofs) {
|
|
393
|
+
const proven = r.proven;
|
|
394
|
+
if (proven == null)
|
|
395
|
+
return undefined;
|
|
396
|
+
if ((requiredLevels !== null && requiredLevels !== void 0 ? requiredLevels : 0) > 0) {
|
|
397
|
+
// Need more levels — caller should proceed via rawTx path
|
|
398
|
+
r.rawTx = proven.rawTx;
|
|
399
|
+
return undefined;
|
|
400
|
+
}
|
|
401
|
+
if (trustSelf === 'known') {
|
|
402
|
+
beef.mergeTxidOnly(txid);
|
|
403
|
+
return beef;
|
|
404
|
+
}
|
|
405
|
+
const mp = new entities_1.EntityProvenTx(proven).getMerklePath();
|
|
406
|
+
if (chainTracker != null) {
|
|
407
|
+
const root = mp.computeRoot();
|
|
408
|
+
const isValid = await chainTracker.isValidRootForHeight(root, proven.height);
|
|
409
|
+
if (!isValid) {
|
|
410
|
+
if (skipInvalidProofs !== true)
|
|
411
|
+
throw new WERR_errors_1.WERR_INVALID_MERKLE_ROOT(proven.blockHash, proven.height, root, txid);
|
|
412
|
+
// Proof is currently invalid — recurse deeper via rawTx path
|
|
413
|
+
r.rawTx = proven.rawTx;
|
|
414
|
+
r.proven = undefined;
|
|
415
|
+
return undefined;
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
// Proof is good — merge and return
|
|
419
|
+
beef.mergeRawTx(proven.rawTx);
|
|
420
|
+
beef.mergeBump(mp);
|
|
421
|
+
return beef;
|
|
422
|
+
}
|
|
406
423
|
async getValidBeefForTxid(txid, mergeToBeef, trustSelf, knownTxids, trx, requiredLevels, chainTracker, skipInvalidProofs) {
|
|
407
|
-
const beef = mergeToBeef
|
|
424
|
+
const beef = mergeToBeef !== null && mergeToBeef !== void 0 ? mergeToBeef : new sdk_1.Beef();
|
|
408
425
|
const r = await this.getProvenOrRawTx(txid, trx);
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
if (trustSelf === 'known')
|
|
415
|
-
beef.mergeTxidOnly(txid);
|
|
416
|
-
else {
|
|
417
|
-
const mp = new entities_1.EntityProvenTx(r.proven).getMerklePath();
|
|
418
|
-
if (chainTracker) {
|
|
419
|
-
const root = mp.computeRoot();
|
|
420
|
-
const isValid = await chainTracker.isValidRootForHeight(root, r.proven.height);
|
|
421
|
-
if (!isValid) {
|
|
422
|
-
if (!skipInvalidProofs) {
|
|
423
|
-
throw new WERR_errors_1.WERR_INVALID_MERKLE_ROOT(r.proven.blockHash, r.proven.height, root, txid);
|
|
424
|
-
}
|
|
425
|
-
// ignore this currently invalid proof and try to recurse deeper
|
|
426
|
-
r.rawTx = r.proven.rawTx;
|
|
427
|
-
r.proven = undefined;
|
|
428
|
-
}
|
|
429
|
-
}
|
|
430
|
-
if (r.proven) {
|
|
431
|
-
// If we still like this proof, merge it and return
|
|
432
|
-
beef.mergeRawTx(r.proven.rawTx);
|
|
433
|
-
beef.mergeBump(mp);
|
|
434
|
-
return beef;
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
}
|
|
426
|
+
// --- proven-tx path ---
|
|
427
|
+
if (r.proven != null) {
|
|
428
|
+
const result = await this.handleProvenTxBranch(txid, r, beef, trustSelf, requiredLevels, chainTracker, skipInvalidProofs);
|
|
429
|
+
if (result != null || r.rawTx == null)
|
|
430
|
+
return result;
|
|
438
431
|
}
|
|
439
|
-
|
|
432
|
+
// --- rawTx path ---
|
|
433
|
+
if (r.rawTx == null)
|
|
440
434
|
return undefined;
|
|
441
435
|
if (trustSelf === 'known') {
|
|
442
436
|
beef.mergeTxidOnly(txid);
|
|
443
437
|
}
|
|
444
438
|
else {
|
|
445
439
|
beef.mergeRawTx(r.rawTx);
|
|
446
|
-
if (r.inputBEEF)
|
|
440
|
+
if (r.inputBEEF != null)
|
|
447
441
|
beef.mergeBeef(r.inputBEEF);
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
if (!btx) {
|
|
454
|
-
if (!requiredLevels && knownTxids && knownTxids.indexOf(input.sourceTXID) > -1)
|
|
455
|
-
beef.mergeTxidOnly(input.sourceTXID);
|
|
456
|
-
else
|
|
457
|
-
await this.getValidBeefForKnownTxid(input.sourceTXID, beef, trustSelf, knownTxids, trx, requiredLevels);
|
|
458
|
-
}
|
|
459
|
-
}
|
|
442
|
+
if ((requiredLevels !== null && requiredLevels !== void 0 ? requiredLevels : 0) > 0)
|
|
443
|
+
requiredLevels = requiredLevels - 1;
|
|
444
|
+
await (0, storageProviderHelpers_1.mergeInputBeefs)(r.rawTx, beef, trustSelf, knownTxids, trx, requiredLevels, async (sourceTXID, beef, trustSelf, knownTxids, trx, requiredLevels) => {
|
|
445
|
+
await this.getValidBeefForKnownTxid(sourceTXID, beef, trustSelf, knownTxids, trx, requiredLevels);
|
|
446
|
+
});
|
|
460
447
|
}
|
|
461
448
|
return beef;
|
|
462
449
|
}
|
|
@@ -511,9 +498,10 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
511
498
|
* Alterations of "typically" to handle:
|
|
512
499
|
*/
|
|
513
500
|
async updateProvenTxReqWithNewProvenTx(args) {
|
|
501
|
+
var _a;
|
|
514
502
|
const req = await entities_1.EntityProvenTxReq.fromStorageId(this, args.provenTxReqId);
|
|
515
503
|
let proven;
|
|
516
|
-
if (req.provenTxId) {
|
|
504
|
+
if (req.provenTxId != null && req.provenTxId > 0) {
|
|
517
505
|
// Someone beat us to it, grab what we need for results...
|
|
518
506
|
proven = new entities_1.EntityProvenTx((0, utilityHelpers_1.verifyOne)(await this.findProvenTxs({ partial: { txid: args.txid } })));
|
|
519
507
|
}
|
|
@@ -542,24 +530,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
542
530
|
return { proven, isNew };
|
|
543
531
|
}));
|
|
544
532
|
if (isNew) {
|
|
545
|
-
|
|
546
|
-
if (ids.length > 0) {
|
|
547
|
-
for (const id of ids) {
|
|
548
|
-
try {
|
|
549
|
-
await this.updateTransaction(id, {
|
|
550
|
-
provenTxId: proven.provenTxId,
|
|
551
|
-
status: 'completed'
|
|
552
|
-
});
|
|
553
|
-
req.addHistoryNote({ what: 'notifyTxOfProof', transactionId: id });
|
|
554
|
-
}
|
|
555
|
-
catch (eu) {
|
|
556
|
-
const { code, description } = WalletError_1.WalletError.fromUnknown(eu);
|
|
557
|
-
const { provenTxId } = proven;
|
|
558
|
-
req.addHistoryNote({ what: 'notifyTxOfProofError', id, provenTxId, code, description });
|
|
559
|
-
}
|
|
560
|
-
}
|
|
561
|
-
await req.updateStorageDynamicProperties(this);
|
|
562
|
-
}
|
|
533
|
+
await (0, storageProviderHelpers_1.notifyTransactionsOfProof)((_a = req.notify.transactionIds) !== null && _a !== void 0 ? _a : [], proven.provenTxId, note => req.addHistoryNote(note), async () => { await req.updateStorageDynamicProperties(this); }, async (id, update) => { await this.updateTransaction(id, update); });
|
|
563
534
|
}
|
|
564
535
|
}
|
|
565
536
|
const r = {
|
|
@@ -579,56 +550,58 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
579
550
|
async confirmSpendableOutputs() {
|
|
580
551
|
const invalidSpendableOutputs = [];
|
|
581
552
|
const users = await this.findUsers({ partial: {} });
|
|
553
|
+
const services = this.getServices();
|
|
582
554
|
for (const { userId } of users) {
|
|
583
555
|
const defaultBasket = (0, utilityHelpers_1.verifyOne)(await this.findOutputBaskets({ partial: { userId, name: 'default' } }));
|
|
584
|
-
const
|
|
585
|
-
userId,
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
const oid = (0, utilityHelpers_1.verifyId)(o.outputId);
|
|
594
|
-
if (o.spendable) {
|
|
595
|
-
let ok = false;
|
|
596
|
-
if (o.lockingScript && o.lockingScript.length > 0) {
|
|
597
|
-
const hash = services.hashOutputScript((0, utilityHelpers_noBuffer_1.asString)(o.lockingScript));
|
|
598
|
-
const r = await services.getUtxoStatus(hash, undefined, `${o.txid}.${o.vout}`);
|
|
599
|
-
if (r.isUtxo === true)
|
|
600
|
-
ok = true;
|
|
601
|
-
}
|
|
602
|
-
if (!ok)
|
|
603
|
-
invalidSpendableOutputs.push(o);
|
|
604
|
-
}
|
|
556
|
+
const outputs = await this.findOutputs({
|
|
557
|
+
partial: { userId, basketId: defaultBasket.basketId, spendable: true }
|
|
558
|
+
});
|
|
559
|
+
for (const o of outputs) {
|
|
560
|
+
if (!o.spendable)
|
|
561
|
+
continue;
|
|
562
|
+
const isUtxo = await this.checkOutputIsUtxo(o, services);
|
|
563
|
+
if (!isUtxo)
|
|
564
|
+
invalidSpendableOutputs.push(o);
|
|
605
565
|
}
|
|
606
566
|
}
|
|
607
567
|
return { invalidSpendableOutputs };
|
|
608
568
|
}
|
|
569
|
+
async checkOutputIsUtxo(o, services) {
|
|
570
|
+
var _a, _b;
|
|
571
|
+
if ((o.lockingScript == null) || o.lockingScript.length === 0)
|
|
572
|
+
return false;
|
|
573
|
+
const hash = services.hashOutputScript((0, utilityHelpers_noBuffer_1.asString)(o.lockingScript));
|
|
574
|
+
const r = await services.getUtxoStatus(hash, undefined, `${(_a = o.txid) !== null && _a !== void 0 ? _a : ''}.${(_b = o.vout) !== null && _b !== void 0 ? _b : ''}`);
|
|
575
|
+
return r.isUtxo === true;
|
|
576
|
+
}
|
|
609
577
|
async updateProvenTxReqDynamics(id, update, trx) {
|
|
578
|
+
var _a, _b;
|
|
610
579
|
const partial = {};
|
|
611
|
-
if (update
|
|
612
|
-
partial
|
|
613
|
-
if (update
|
|
614
|
-
partial
|
|
615
|
-
if (update
|
|
616
|
-
partial
|
|
617
|
-
if (Number.isInteger(update
|
|
618
|
-
partial
|
|
619
|
-
if (update
|
|
620
|
-
partial
|
|
621
|
-
if (update
|
|
622
|
-
partial
|
|
623
|
-
if (update
|
|
624
|
-
partial
|
|
625
|
-
if (update
|
|
626
|
-
partial
|
|
580
|
+
if (update.updated_at != null)
|
|
581
|
+
partial.updated_at = update.updated_at;
|
|
582
|
+
if (update.provenTxId != null && update.provenTxId > 0)
|
|
583
|
+
partial.provenTxId = update.provenTxId;
|
|
584
|
+
if (update.status != null)
|
|
585
|
+
partial.status = update.status;
|
|
586
|
+
if (Number.isInteger(update.attempts))
|
|
587
|
+
partial.attempts = update.attempts;
|
|
588
|
+
if (update.notified !== undefined)
|
|
589
|
+
partial.notified = update.notified;
|
|
590
|
+
if (update.batch != null && update.batch !== '')
|
|
591
|
+
partial.batch = update.batch;
|
|
592
|
+
if (update.history != null && update.history !== '')
|
|
593
|
+
partial.history = update.history;
|
|
594
|
+
if (update.notify != null && update.notify !== '')
|
|
595
|
+
partial.notify = update.notify;
|
|
596
|
+
if (update.wasBroadcast !== undefined)
|
|
597
|
+
partial.wasBroadcast = (_a = update.wasBroadcast) !== null && _a !== void 0 ? _a : false;
|
|
598
|
+
if (Number.isInteger(update.rebroadcastAttempts))
|
|
599
|
+
partial.rebroadcastAttempts = (_b = update.rebroadcastAttempts) !== null && _b !== void 0 ? _b : 0;
|
|
627
600
|
return await this.updateProvenTxReq(id, partial, trx);
|
|
628
601
|
}
|
|
629
602
|
async extendOutput(o, includeBasket = false, includeTags = false, trx) {
|
|
630
603
|
const ox = o;
|
|
631
|
-
if (includeBasket && ox.basketId)
|
|
604
|
+
if (includeBasket && ox.basketId != null && ox.basketId > 0)
|
|
632
605
|
ox.basket = await this.findOutputBasketById(o.basketId, trx);
|
|
633
606
|
if (includeTags) {
|
|
634
607
|
ox.tags = await this.getTagsForOutputId(o.outputId);
|
|
@@ -636,15 +609,16 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
636
609
|
return o;
|
|
637
610
|
}
|
|
638
611
|
async validateOutputScript(o, trx) {
|
|
612
|
+
var _a;
|
|
639
613
|
// without offset and length values return what we have (make no changes)
|
|
640
|
-
if (
|
|
614
|
+
if (o.scriptLength == null || o.scriptLength === 0 || o.scriptOffset == null || o.scriptOffset === 0 || o.txid == null || o.txid === '')
|
|
641
615
|
return;
|
|
642
616
|
// if there is an outputScript and its length is the expected length return what we have.
|
|
643
|
-
if (o.lockingScript
|
|
617
|
+
if (((_a = o.lockingScript) === null || _a === void 0 ? void 0 : _a.length) === o.scriptLength)
|
|
644
618
|
return;
|
|
645
619
|
// outputScript is missing or has incorrect length...
|
|
646
620
|
const script = await this.getRawTxOfKnownValidTransaction(o.txid, o.scriptOffset, o.scriptLength, trx);
|
|
647
|
-
if (
|
|
621
|
+
if (script == null)
|
|
648
622
|
return;
|
|
649
623
|
o.lockingScript = script;
|
|
650
624
|
}
|
|
@@ -657,7 +631,7 @@ function validateStorageFeeModel(v) {
|
|
|
657
631
|
};
|
|
658
632
|
if (typeof v === 'object') {
|
|
659
633
|
if (v.model !== 'sat/kb')
|
|
660
|
-
throw new WERR_errors_1.WERR_INVALID_PARAMETER('StorageFeeModel.model',
|
|
634
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('StorageFeeModel.model', '"sat/kb"');
|
|
661
635
|
if (typeof v.value === 'number') {
|
|
662
636
|
r.value = v.value;
|
|
663
637
|
}
|