@bsv/wallet-toolbox 2.13.0 → 2.13.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +283 -1
- package/README.md +403 -5
- package/docs/README.md +8 -1
- package/docs/client.md +13057 -4632
- package/docs/identity-verification.md +196 -0
- package/docs/monitor.md +505 -190
- package/docs/services.md +4013 -1153
- package/docs/setup.md +98 -58
- package/docs/storage.md +5780 -1609
- package/docs/wallet.md +10155 -10871
- package/out/src/CWIStyleWalletManager.d.ts +6 -8
- package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
- package/out/src/CWIStyleWalletManager.js +170 -125
- package/out/src/CWIStyleWalletManager.js.map +1 -1
- package/out/src/Setup.d.ts +2 -0
- package/out/src/Setup.d.ts.map +1 -1
- package/out/src/Setup.js +3 -2
- package/out/src/Setup.js.map +1 -1
- package/out/src/ShamirWalletManager.d.ts.map +1 -1
- package/out/src/ShamirWalletManager.js +34 -19
- package/out/src/ShamirWalletManager.js.map +1 -1
- package/out/src/SimpleWalletManager.d.ts.map +1 -1
- package/out/src/SimpleWalletManager.js +7 -6
- package/out/src/SimpleWalletManager.js.map +1 -1
- package/out/src/Wallet.d.ts +50 -11
- package/out/src/Wallet.d.ts.map +1 -1
- package/out/src/Wallet.js +183 -107
- package/out/src/Wallet.js.map +1 -1
- package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
- package/out/src/WalletAuthenticationManager.js +282 -26
- package/out/src/WalletAuthenticationManager.js.map +1 -1
- package/out/src/WalletLogger.js +1 -1
- package/out/src/WalletLogger.js.map +1 -1
- package/out/src/WalletPermissionsManager.d.ts +30 -17
- package/out/src/WalletPermissionsManager.d.ts.map +1 -1
- package/out/src/WalletPermissionsManager.js +540 -312
- package/out/src/WalletPermissionsManager.js.map +1 -1
- package/out/src/WalletSettingsManager.d.ts +3 -2
- package/out/src/WalletSettingsManager.d.ts.map +1 -1
- package/out/src/WalletSettingsManager.js +141 -6
- package/out/src/WalletSettingsManager.js.map +1 -1
- package/out/src/entropy/EntropyCollector.d.ts.map +1 -1
- package/out/src/entropy/EntropyCollector.js +3 -2
- package/out/src/entropy/EntropyCollector.js.map +1 -1
- package/out/src/fundWalletP2PKH.d.ts.map +1 -1
- package/out/src/fundWalletP2PKH.js +143 -44
- package/out/src/fundWalletP2PKH.js.map +1 -1
- package/out/src/mockchain/MockChainTracker.d.ts.map +1 -1
- package/out/src/mockchain/MockChainTracker.js +5 -5
- package/out/src/mockchain/MockChainTracker.js.map +1 -1
- package/out/src/mockchain/MockServices.d.ts.map +1 -1
- package/out/src/mockchain/MockServices.js +32 -8
- package/out/src/mockchain/MockServices.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 +206 -42
- package/out/src/monitor/Monitor.js.map +1 -1
- package/out/src/monitor/MonitorDaemon.d.ts.map +1 -1
- package/out/src/monitor/MonitorDaemon.js +64 -16
- package/out/src/monitor/MonitorDaemon.js.map +1 -1
- package/out/src/monitor/monitorValidation.d.ts +12 -0
- package/out/src/monitor/monitorValidation.d.ts.map +1 -0
- package/out/src/monitor/monitorValidation.js +133 -0
- package/out/src/monitor/monitorValidation.js.map +1 -0
- package/out/src/monitor/tasks/TaskArcSSE.d.ts +2 -0
- package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskArcSSE.js +28 -12
- package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +5 -0
- package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.js +29 -24
- package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.js +11 -3
- package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
- package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskFailAbandoned.js +9 -4
- package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.js +3 -1
- package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
- package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js +9 -3
- package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js.map +1 -1
- package/out/src/monitor/tasks/TaskReorg.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReorg.js +4 -4
- package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +17 -7
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +18 -1
- package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReviewProvenTxs.js +99 -21
- package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +4 -4
- package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.js +41 -13
- package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
- package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskSendWaiting.js +52 -11
- package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
- package/out/src/monitor/tasks/TaskUnFail.d.ts +1 -0
- package/out/src/monitor/tasks/TaskUnFail.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskUnFail.js +26 -8
- package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
- package/out/src/sdk/PrivilegedKeyManager.d.ts.map +1 -1
- package/out/src/sdk/PrivilegedKeyManager.js +3 -2
- package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
- package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
- package/out/src/sdk/WalletErrorFromJson.js +112 -2
- package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
- package/out/src/sdk/WalletServices.interfaces.d.ts +17 -1
- package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
- package/out/src/services/Services.d.ts +4 -0
- package/out/src/services/Services.d.ts.map +1 -1
- package/out/src/services/Services.js +260 -117
- package/out/src/services/Services.js.map +1 -1
- package/out/src/services/chaintracker/BHServiceClient.d.ts +21 -4
- package/out/src/services/chaintracker/BHServiceClient.d.ts.map +1 -1
- package/out/src/services/chaintracker/BHServiceClient.js +267 -66
- package/out/src/services/chaintracker/BHServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +25 -3
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.js +188 -53
- package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
- package/out/src/services/chaintracker/LocalChainTracker.d.ts +26 -0
- package/out/src/services/chaintracker/LocalChainTracker.d.ts.map +1 -1
- package/out/src/services/chaintracker/LocalChainTracker.js +180 -10
- package/out/src/services/chaintracker/LocalChainTracker.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js +59 -7
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +6 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +7 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +2 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +9 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +19 -0
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js +237 -61
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts +16 -0
- package/out/src/services/chaintracker/chaintracks/ChaintracksService.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksService.js +150 -26
- package/out/src/services/chaintracker/chaintracks/ChaintracksService.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +30 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +346 -30
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts +32 -1
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +375 -43
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +28 -3
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +33 -9
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js +4 -2
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorChaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +2 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +17 -4
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts +2 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js +40 -20
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainWs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +14 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts +6 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +56 -9
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js +6 -3
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorTeranodeP2P.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +4 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +27 -9
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts +8 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js +49 -5
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainWs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +90 -21
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +3 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +185 -38
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +59 -6
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts +2 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js +89 -39
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksKnexMigrations.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +10 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +225 -24
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +2 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +265 -96
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +3 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +225 -86
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +3 -0
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +121 -35
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +2 -2
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultKnexChaintracksOptions.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +1 -7
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js +1 -7
- package/out/src/services/chaintracker/chaintracks/createKnexChaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +1 -7
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts +18 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js +204 -14
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.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 +486 -82
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +17 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js +12 -2
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.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 +99 -30
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +1 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +23 -15
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +7 -0
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +90 -24
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts +2 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js +57 -11
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts +9 -0
- package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js +100 -14
- package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.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.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts +2 -0
- package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js +104 -8
- package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts +1 -0
- package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js +79 -15
- package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +3 -0
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +15 -0
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +6 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +311 -93
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts +4 -0
- package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js +33 -0
- package/out/src/services/chaintracker/chaintracks/util/safeDiagnostic.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
- package/out/src/services/classifyOutputUtxo.d.ts.map +1 -1
- package/out/src/services/classifyOutputUtxo.js +19 -10
- package/out/src/services/classifyOutputUtxo.js.map +1 -1
- package/out/src/services/fiatRateValidation.d.ts +12 -0
- package/out/src/services/fiatRateValidation.d.ts.map +1 -0
- package/out/src/services/fiatRateValidation.js +138 -0
- package/out/src/services/fiatRateValidation.js.map +1 -0
- package/out/src/services/getCanonicalMerklePath.d.ts +15 -0
- package/out/src/services/getCanonicalMerklePath.d.ts.map +1 -0
- package/out/src/services/getCanonicalMerklePath.js +90 -0
- package/out/src/services/getCanonicalMerklePath.js.map +1 -0
- package/out/src/services/providers/ARC.d.ts +3 -16
- package/out/src/services/providers/ARC.d.ts.map +1 -1
- package/out/src/services/providers/ARC.js +36 -37
- package/out/src/services/providers/ARC.js.map +1 -1
- package/out/src/services/providers/ArcSSEClient.d.ts +25 -19
- package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
- package/out/src/services/providers/ArcSSEClient.js +352 -85
- package/out/src/services/providers/ArcSSEClient.js.map +1 -1
- package/out/src/services/providers/Arcade.d.ts +1 -0
- package/out/src/services/providers/Arcade.d.ts.map +1 -1
- package/out/src/services/providers/Arcade.js +56 -41
- package/out/src/services/providers/Arcade.js.map +1 -1
- package/out/src/services/providers/Bitails.d.ts +3 -0
- package/out/src/services/providers/Bitails.d.ts.map +1 -1
- package/out/src/services/providers/Bitails.js +79 -12
- package/out/src/services/providers/Bitails.js.map +1 -1
- package/out/src/services/providers/SdkWhatsOnChain.d.ts +8 -2
- package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +1 -1
- package/out/src/services/providers/SdkWhatsOnChain.js +83 -10
- package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
- package/out/src/services/providers/WhatsOnChain.d.ts +3 -0
- package/out/src/services/providers/WhatsOnChain.d.ts.map +1 -1
- package/out/src/services/providers/WhatsOnChain.js +221 -69
- package/out/src/services/providers/WhatsOnChain.js.map +1 -1
- package/out/src/services/providers/arcProviderConfig.d.ts +27 -0
- package/out/src/services/providers/arcProviderConfig.d.ts.map +1 -0
- package/out/src/services/providers/arcProviderConfig.js +83 -0
- package/out/src/services/providers/arcProviderConfig.js.map +1 -0
- package/out/src/services/providers/arcTxDataValidation.d.ts +4 -0
- package/out/src/services/providers/arcTxDataValidation.d.ts.map +1 -0
- package/out/src/services/providers/arcTxDataValidation.js +92 -0
- package/out/src/services/providers/arcTxDataValidation.js.map +1 -0
- package/out/src/services/providers/exchangeRates.d.ts +3 -3
- package/out/src/services/providers/exchangeRates.d.ts.map +1 -1
- package/out/src/services/providers/exchangeRates.js +153 -226
- package/out/src/services/providers/exchangeRates.js.map +1 -1
- package/out/src/services/providers/getBeefForTxid.d.ts.map +1 -1
- package/out/src/services/providers/getBeefForTxid.js.map +1 -1
- package/out/src/services/providers/whatsOnChainHelpers.d.ts +2 -2
- package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +1 -1
- package/out/src/services/providers/whatsOnChainHelpers.js +11 -8
- package/out/src/services/providers/whatsOnChainHelpers.js.map +1 -1
- package/out/src/services/validateMerklePathResult.d.ts +30 -0
- package/out/src/services/validateMerklePathResult.d.ts.map +1 -0
- package/out/src/services/validateMerklePathResult.js +272 -0
- package/out/src/services/validateMerklePathResult.js.map +1 -0
- package/out/src/services/validatePostBeefResult.d.ts +17 -0
- package/out/src/services/validatePostBeefResult.d.ts.map +1 -0
- package/out/src/services/validatePostBeefResult.js +334 -0
- package/out/src/services/validatePostBeefResult.js.map +1 -0
- package/out/src/services/validateRawTxResult.d.ts +6 -0
- package/out/src/services/validateRawTxResult.d.ts.map +1 -0
- package/out/src/services/validateRawTxResult.js +77 -0
- package/out/src/services/validateRawTxResult.js.map +1 -0
- package/out/src/services/validateScriptHashHistoryResult.d.ts +5 -0
- package/out/src/services/validateScriptHashHistoryResult.d.ts.map +1 -0
- package/out/src/services/validateScriptHashHistoryResult.js +99 -0
- package/out/src/services/validateScriptHashHistoryResult.js.map +1 -0
- package/out/src/services/validateStatusForTxidsResult.d.ts +8 -0
- package/out/src/services/validateStatusForTxidsResult.d.ts.map +1 -0
- package/out/src/services/validateStatusForTxidsResult.js +181 -0
- package/out/src/services/validateStatusForTxidsResult.js.map +1 -0
- package/out/src/services/validateUtxoStatusResult.d.ts +6 -0
- package/out/src/services/validateUtxoStatusResult.d.ts.map +1 -0
- package/out/src/services/validateUtxoStatusResult.js +126 -0
- package/out/src/services/validateUtxoStatusResult.js.map +1 -0
- package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts +3 -2
- package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts.map +1 -1
- package/out/src/signer/actionBatch/ActionBatchPlanner.js +4 -3
- package/out/src/signer/actionBatch/ActionBatchPlanner.js.map +1 -1
- package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts +6 -5
- package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +1 -1
- package/out/src/signer/actionBatch/ActionBatchWorkspace.js +70 -76
- package/out/src/signer/actionBatch/ActionBatchWorkspace.js.map +1 -1
- package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts +2 -2
- package/out/src/signer/actionBatch/actionBatchBootstrap.d.ts.map +1 -1
- package/out/src/signer/actionBatch/actionBatchBootstrap.js +3 -3
- package/out/src/signer/actionBatch/actionBatchBootstrap.js.map +1 -1
- package/out/src/signer/methods/acquireDirectCertificate.d.ts +3 -2
- package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +1 -1
- package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
- package/out/src/signer/methods/buildSignableTransaction.d.ts +6 -5
- package/out/src/signer/methods/buildSignableTransaction.d.ts.map +1 -1
- package/out/src/signer/methods/buildSignableTransaction.js +6 -11
- package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
- package/out/src/signer/methods/createAction.d.ts +4 -3
- package/out/src/signer/methods/createAction.d.ts.map +1 -1
- package/out/src/signer/methods/createAction.js +4 -2
- package/out/src/signer/methods/createAction.js.map +1 -1
- package/out/src/signer/methods/createNoSendExpiryAction.d.ts +3 -3
- package/out/src/signer/methods/createNoSendExpiryAction.d.ts.map +1 -1
- package/out/src/signer/methods/createNoSendExpiryAction.js +9 -4
- package/out/src/signer/methods/createNoSendExpiryAction.js.map +1 -1
- package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/signer/methods/internalizeAction.js +2 -2
- package/out/src/signer/methods/internalizeAction.js.map +1 -1
- package/out/src/signer/methods/proveCertificate.d.ts +3 -2
- package/out/src/signer/methods/proveCertificate.d.ts.map +1 -1
- package/out/src/signer/methods/proveCertificate.js.map +1 -1
- package/out/src/signer/methods/signAction.d.ts.map +1 -1
- package/out/src/signer/methods/signAction.js +3 -2
- package/out/src/signer/methods/signAction.js.map +1 -1
- package/out/src/signer/methods/verifyUnlockScripts.d.ts.map +1 -1
- package/out/src/signer/methods/verifyUnlockScripts.js +12 -17
- package/out/src/signer/methods/verifyUnlockScripts.js.map +1 -1
- package/out/src/storage/StorageIdb.d.ts +5 -3
- package/out/src/storage/StorageIdb.d.ts.map +1 -1
- package/out/src/storage/StorageIdb.js +15 -20
- package/out/src/storage/StorageIdb.js.map +1 -1
- package/out/src/storage/StorageKnex.d.ts +5 -3
- package/out/src/storage/StorageKnex.d.ts.map +1 -1
- package/out/src/storage/StorageKnex.js +143 -93
- package/out/src/storage/StorageKnex.js.map +1 -1
- package/out/src/storage/StorageProvider.d.ts +19 -9
- package/out/src/storage/StorageProvider.d.ts.map +1 -1
- package/out/src/storage/StorageProvider.js +229 -145
- package/out/src/storage/StorageProvider.js.map +1 -1
- package/out/src/storage/StorageReader.d.ts +1 -1
- package/out/src/storage/StorageReader.d.ts.map +1 -1
- package/out/src/storage/StorageReader.js +9 -42
- package/out/src/storage/StorageReader.js.map +1 -1
- package/out/src/storage/StorageReaderWriter.d.ts +1 -0
- package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
- package/out/src/storage/StorageReaderWriter.js +37 -36
- package/out/src/storage/StorageReaderWriter.js.map +1 -1
- package/out/src/storage/StorageSyncReader.d.ts +1 -1
- package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
- package/out/src/storage/StorageSyncReader.js +3 -36
- package/out/src/storage/StorageSyncReader.js.map +1 -1
- package/out/src/storage/WalletStorageManager.d.ts +8 -7
- package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
- package/out/src/storage/WalletStorageManager.js +38 -65
- package/out/src/storage/WalletStorageManager.js.map +1 -1
- package/out/src/storage/adminServer/adminServer.d.ts +1 -1
- package/out/src/storage/adminServer/adminServer.d.ts.map +1 -1
- package/out/src/storage/adminServer/adminServer.js +16 -44
- package/out/src/storage/adminServer/adminServer.js.map +1 -1
- package/out/src/storage/methods/ListActionsSpecOp.d.ts +2 -2
- package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
- package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
- package/out/src/storage/methods/ListOutputsSpecOp.d.ts +7 -4
- package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
- package/out/src/storage/methods/ListOutputsSpecOp.js +1 -0
- package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
- package/out/src/storage/methods/actionBatch.d.ts.map +1 -1
- package/out/src/storage/methods/actionBatch.js +3 -2
- package/out/src/storage/methods/actionBatch.js.map +1 -1
- package/out/src/storage/methods/actionBatchBlobs.d.ts +2 -0
- package/out/src/storage/methods/actionBatchBlobs.d.ts.map +1 -1
- package/out/src/storage/methods/actionBatchBlobs.js +40 -22
- package/out/src/storage/methods/actionBatchBlobs.js.map +1 -1
- package/out/src/storage/methods/actionBatchValidation.d.ts.map +1 -1
- package/out/src/storage/methods/actionBatchValidation.js +22 -30
- package/out/src/storage/methods/actionBatchValidation.js.map +1 -1
- package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +7 -2
- package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +1 -1
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js +57 -44
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
- package/out/src/storage/methods/createAction.d.ts +7 -6
- package/out/src/storage/methods/createAction.d.ts.map +1 -1
- package/out/src/storage/methods/createAction.js +7 -5
- 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 +12 -11
- package/out/src/storage/methods/generateChange.js.map +1 -1
- package/out/src/storage/methods/getBeefForTransaction.js +5 -7
- package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
- package/out/src/storage/methods/internalizeAction.d.ts +3 -3
- package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/storage/methods/internalizeAction.js +134 -129
- package/out/src/storage/methods/internalizeAction.js.map +1 -1
- package/out/src/storage/methods/listActionsIdb.d.ts +3 -2
- package/out/src/storage/methods/listActionsIdb.d.ts.map +1 -1
- package/out/src/storage/methods/listActionsIdb.js +2 -2
- package/out/src/storage/methods/listActionsIdb.js.map +1 -1
- package/out/src/storage/methods/listActionsKnex.d.ts +3 -2
- package/out/src/storage/methods/listActionsKnex.d.ts.map +1 -1
- package/out/src/storage/methods/listActionsKnex.js +10 -9
- package/out/src/storage/methods/listActionsKnex.js.map +1 -1
- package/out/src/storage/methods/listCertificates.d.ts +3 -2
- package/out/src/storage/methods/listCertificates.d.ts.map +1 -1
- package/out/src/storage/methods/listCertificates.js.map +1 -1
- package/out/src/storage/methods/listOutputsIdb.d.ts +3 -2
- package/out/src/storage/methods/listOutputsIdb.d.ts.map +1 -1
- package/out/src/storage/methods/listOutputsIdb.js +11 -11
- package/out/src/storage/methods/listOutputsIdb.js.map +1 -1
- package/out/src/storage/methods/listOutputsKnex.d.ts +3 -2
- package/out/src/storage/methods/listOutputsKnex.d.ts.map +1 -1
- package/out/src/storage/methods/listOutputsKnex.js +15 -23
- package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
- package/out/src/storage/methods/noSendExpiry.d.ts +3 -3
- package/out/src/storage/methods/noSendExpiry.d.ts.map +1 -1
- package/out/src/storage/methods/noSendExpiry.js +10 -8
- package/out/src/storage/methods/noSendExpiry.js.map +1 -1
- package/out/src/storage/methods/preparedBeef.d.ts.map +1 -1
- package/out/src/storage/methods/preparedBeef.js +13 -14
- package/out/src/storage/methods/preparedBeef.js.map +1 -1
- package/out/src/storage/methods/processAction.d.ts.map +1 -1
- package/out/src/storage/methods/processAction.js +37 -6
- package/out/src/storage/methods/processAction.js.map +1 -1
- package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts +1 -1
- package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts.map +1 -1
- package/out/src/storage/methods/reconcileFailedTransactionInputs.js.map +1 -1
- package/out/src/storage/methods/reviewStatusIdb.d.ts +1 -1
- package/out/src/storage/methods/reviewStatusIdb.d.ts.map +1 -1
- package/out/src/storage/methods/reviewStatusIdb.js.map +1 -1
- package/out/src/storage/methods/reviewUtxoOutputs.d.ts +1 -0
- package/out/src/storage/methods/reviewUtxoOutputs.d.ts.map +1 -1
- package/out/src/storage/methods/reviewUtxoOutputs.js +51 -4
- package/out/src/storage/methods/reviewUtxoOutputs.js.map +1 -1
- package/out/src/storage/methods/validateSyncProof.d.ts.map +1 -1
- package/out/src/storage/methods/validateSyncProof.js +3 -3
- package/out/src/storage/methods/validateSyncProof.js.map +1 -1
- package/out/src/storage/portable/index.d.ts.map +1 -1
- package/out/src/storage/portable/index.js +21 -13
- package/out/src/storage/portable/index.js.map +1 -1
- package/out/src/storage/remoting/BinaryJson.d.ts +11 -0
- package/out/src/storage/remoting/BinaryJson.d.ts.map +1 -1
- package/out/src/storage/remoting/BinaryJson.js +37 -0
- package/out/src/storage/remoting/BinaryJson.js.map +1 -1
- package/out/src/storage/remoting/KnexSessionManager.d.ts +26 -2
- package/out/src/storage/remoting/KnexSessionManager.d.ts.map +1 -1
- package/out/src/storage/remoting/KnexSessionManager.js +222 -30
- package/out/src/storage/remoting/KnexSessionManager.js.map +1 -1
- package/out/src/storage/remoting/KnexSyncTransferStore.d.ts.map +1 -1
- package/out/src/storage/remoting/KnexSyncTransferStore.js +3 -4
- package/out/src/storage/remoting/KnexSyncTransferStore.js.map +1 -1
- package/out/src/storage/remoting/StorageClient.d.ts +6 -1
- package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageClient.js +63 -6
- package/out/src/storage/remoting/StorageClient.js.map +1 -1
- package/out/src/storage/remoting/StorageClientBase.d.ts +23 -6
- package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageClientBase.js +148 -19
- package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
- package/out/src/storage/remoting/StorageMobile.d.ts +5 -0
- package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageMobile.js +11 -9
- package/out/src/storage/remoting/StorageMobile.js.map +1 -1
- package/out/src/storage/remoting/StorageServer.d.ts +5 -1
- package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageServer.js +95 -19
- package/out/src/storage/remoting/StorageServer.js.map +1 -1
- package/out/src/storage/remoting/SyncTransfer.d.ts.map +1 -1
- package/out/src/storage/remoting/SyncTransfer.js +3 -2
- package/out/src/storage/remoting/SyncTransfer.js.map +1 -1
- package/out/src/storage/schema/KnexMigrations.d.ts +1 -0
- package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
- package/out/src/storage/schema/KnexMigrations.js +28 -6
- package/out/src/storage/schema/KnexMigrations.js.map +1 -1
- package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityOutput.js +11 -4
- package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTx.d.ts +2 -1
- package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTx.js +93 -39
- package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTxReq.js +1 -1
- package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
- package/out/src/storage/schema/entities/EntitySyncState.js +1 -1
- package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
- package/out/src/storage/schema/tables/TableCertificate.d.ts +1 -1
- package/out/src/storage/schema/tables/TableCertificate.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableCertificateField.d.ts +1 -1
- package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableCommission.d.ts +1 -1
- package/out/src/storage/schema/tables/TableCommission.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +1 -1
- package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableOutput.d.ts +1 -1
- package/out/src/storage/schema/tables/TableOutput.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableOutputBasket.d.ts +1 -1
- package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableOutputTag.d.ts +1 -1
- package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +1 -1
- package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableProvenTx.d.ts +1 -1
- package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +1 -1
- package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableSettings.d.ts +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/TableTransaction.js.map +1 -1
- package/out/src/storage/schema/tables/TableTxLabel.d.ts +1 -1
- package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +1 -1
- package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableUser.d.ts +1 -1
- package/out/src/storage/schema/tables/TableUser.d.ts.map +1 -1
- package/out/src/storage/sync/StorageMySQLDojoReader.d.ts.map +1 -1
- package/out/src/storage/sync/StorageMySQLDojoReader.js +8 -7
- package/out/src/storage/sync/StorageMySQLDojoReader.js.map +1 -1
- package/out/src/utility/actionBatchDigest.d.ts.map +1 -1
- package/out/src/utility/actionBatchDigest.js +9 -7
- package/out/src/utility/actionBatchDigest.js.map +1 -1
- package/out/src/utility/actionBatchPack.d.ts.map +1 -1
- package/out/src/utility/actionBatchPack.js +7 -12
- package/out/src/utility/actionBatchPack.js.map +1 -1
- package/out/src/utility/brc153ReferenceLabels.d.ts.map +1 -1
- package/out/src/utility/brc153ReferenceLabels.js +4 -4
- package/out/src/utility/brc153ReferenceLabels.js.map +1 -1
- package/out/src/utility/brc177NoSendExpiry.d.ts +2 -2
- package/out/src/utility/brc177NoSendExpiry.d.ts.map +1 -1
- package/out/src/utility/canonicalizeAtomicBeef.js +2 -2
- package/out/src/utility/canonicalizeAtomicBeef.js.map +1 -1
- package/out/src/utility/exactActionSpend.d.ts +11 -0
- package/out/src/utility/exactActionSpend.d.ts.map +1 -0
- package/out/src/utility/exactActionSpend.js +11 -0
- package/out/src/utility/exactActionSpend.js.map +1 -0
- package/out/src/utility/identityUtils.d.ts +44 -4
- package/out/src/utility/identityUtils.d.ts.map +1 -1
- package/out/src/utility/identityUtils.js +376 -61
- package/out/src/utility/identityUtils.js.map +1 -1
- package/out/src/utility/parseTxScriptOffsets.d.ts.map +1 -1
- package/out/src/utility/parseTxScriptOffsets.js +1 -19
- package/out/src/utility/parseTxScriptOffsets.js.map +1 -1
- package/out/src/utility/tscProofToMerklePath.d.ts.map +1 -1
- package/out/src/utility/tscProofToMerklePath.js +35 -4
- package/out/src/utility/tscProofToMerklePath.js.map +1 -1
- package/out/src/utility/utilityHelpers.d.ts.map +1 -1
- package/out/src/utility/utilityHelpers.js +8 -6
- package/out/src/utility/utilityHelpers.js.map +1 -1
- package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +1 -1
- package/out/src/utility/utilityHelpers.noBuffer.js +6 -6
- package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
- package/out/src/utility/verifyOverlayOutput.d.ts +12 -0
- package/out/src/utility/verifyOverlayOutput.d.ts.map +1 -0
- package/out/src/utility/verifyOverlayOutput.js +22 -0
- package/out/src/utility/verifyOverlayOutput.js.map +1 -0
- package/out/src/utility/walletResultGuards.d.ts +14 -0
- package/out/src/utility/walletResultGuards.d.ts.map +1 -0
- package/out/src/utility/walletResultGuards.js +28 -0
- package/out/src/utility/walletResultGuards.js.map +1 -0
- package/out/src/wab-client/WABClient.d.ts +3 -17
- package/out/src/wab-client/WABClient.d.ts.map +1 -1
- package/out/src/wab-client/WABClient.js +30 -14
- package/out/src/wab-client/WABClient.js.map +1 -1
- package/out/src/wab-client/WABResponseValidation.d.ts +48 -0
- package/out/src/wab-client/WABResponseValidation.d.ts.map +1 -0
- package/out/src/wab-client/WABResponseValidation.js +321 -0
- package/out/src/wab-client/WABResponseValidation.js.map +1 -0
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +3 -2
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
- package/package.json +5 -5
|
@@ -74,9 +74,15 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
74
74
|
this.querySpans.delete(query.__knexQueryUid);
|
|
75
75
|
span.end(error == null ? {} : { status: 'error', error });
|
|
76
76
|
}
|
|
77
|
-
supportsActionBatchPersistence() {
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
supportsActionBatchPersistence() {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
supportsNoSendExpiryPersistence() {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
requiresActionBatchCleanupBeforeCreateAction() {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
80
86
|
async makeAvailable() {
|
|
81
87
|
const settings = await super.makeAvailable();
|
|
82
88
|
this.startPreparedBeefBackfill();
|
|
@@ -104,7 +110,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
104
110
|
.select('rawTx', 'inputBEEF'));
|
|
105
111
|
if (reqRawTx != null) {
|
|
106
112
|
r.rawTx = Array.from(reqRawTx.rawTx);
|
|
107
|
-
r.inputBEEF = Array.from(reqRawTx.inputBEEF);
|
|
113
|
+
r.inputBEEF = reqRawTx.inputBEEF == null ? undefined : Array.from(reqRawTx.inputBEEF);
|
|
108
114
|
}
|
|
109
115
|
}
|
|
110
116
|
return r;
|
|
@@ -162,10 +168,10 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
162
168
|
const unique = [...new Set(rootTxids)];
|
|
163
169
|
if (unique.length === 0)
|
|
164
170
|
return 0;
|
|
165
|
-
const row = await this.knex('prepared_beefs')
|
|
171
|
+
const row = (await this.knex('prepared_beefs')
|
|
166
172
|
.where({ userId, state: 'ready', formatVersion: preparedBeef_1.PREPARED_BEEF_FORMAT_VERSION })
|
|
167
173
|
.whereIn('rootTxid', unique)
|
|
168
|
-
.first({ byteLength: this.knex.raw('coalesce(sum(length(??)), 0)', ['beef']) });
|
|
174
|
+
.first({ byteLength: this.knex.raw('coalesce(sum(length(??)), 0)', ['beef']) }));
|
|
169
175
|
return Number(row?.byteLength ?? 0);
|
|
170
176
|
}
|
|
171
177
|
async readPreparedBeefProofEpoch(trx) {
|
|
@@ -183,21 +189,22 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
183
189
|
*/
|
|
184
190
|
async readPreparedBeefSourceByteLength(rootTxid) {
|
|
185
191
|
const byteLength = (...columns) => this.knex.raw(columns.map(() => 'coalesce(length(??), 0)').join(' + '), columns);
|
|
186
|
-
const proven = await this.knex('proven_txs')
|
|
192
|
+
const proven = (await this.knex('proven_txs')
|
|
187
193
|
.where({ txid: rootTxid })
|
|
188
|
-
.first({ byteLength: byteLength('rawTx', 'merklePath') });
|
|
194
|
+
.first({ byteLength: byteLength('rawTx', 'merklePath') }));
|
|
189
195
|
if (proven != null)
|
|
190
196
|
return Number(proven.byteLength);
|
|
191
|
-
const request = await this.knex('proven_tx_reqs')
|
|
197
|
+
const request = (await this.knex('proven_tx_reqs')
|
|
192
198
|
.where({ txid: rootTxid })
|
|
193
199
|
.whereIn('status', ['unsent', 'unmined', 'unconfirmed', 'sending', 'nosend', 'completed'])
|
|
194
|
-
.first({ byteLength: byteLength('rawTx', 'inputBEEF') });
|
|
200
|
+
.first({ byteLength: byteLength('rawTx', 'inputBEEF') }));
|
|
195
201
|
return request == null ? undefined : Number(request.byteLength);
|
|
196
202
|
}
|
|
197
203
|
async upsertPreparedBeef(artifact, expectedProofEpoch) {
|
|
198
204
|
return await this.transaction(async (trx) => {
|
|
199
|
-
let epochQuery = this.toDb(trx)('prepared_beef_metadata')
|
|
200
|
-
|
|
205
|
+
let epochQuery = this.toDb(trx)('prepared_beef_metadata').where({
|
|
206
|
+
preparedBeefMetadataId: 1
|
|
207
|
+
});
|
|
201
208
|
// Serialize a worker commit with proof invalidation across MySQL server
|
|
202
209
|
// processes. SQLite serializes the subsequent write transaction.
|
|
203
210
|
if (this.dbtype === 'MySQL')
|
|
@@ -226,7 +233,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
226
233
|
});
|
|
227
234
|
}
|
|
228
235
|
async findPreparedBeefBackfillRoots(limit, formatVersion) {
|
|
229
|
-
const rows = await this.knex('outputs as o')
|
|
236
|
+
const rows = (await this.knex('outputs as o')
|
|
230
237
|
.join('transactions as t', function () {
|
|
231
238
|
this.on('t.transactionId', '=', 'o.transactionId').andOn('t.userId', '=', 'o.userId');
|
|
232
239
|
})
|
|
@@ -253,7 +260,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
253
260
|
.select('o.userId', 'o.txid as rootTxid')
|
|
254
261
|
.groupBy('o.userId', 'o.txid')
|
|
255
262
|
.orderByRaw('MIN(o.outputId)')
|
|
256
|
-
.limit(limit);
|
|
263
|
+
.limit(limit));
|
|
257
264
|
return rows;
|
|
258
265
|
}
|
|
259
266
|
async invalidatePreparedBeefs(trx) {
|
|
@@ -323,18 +330,14 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
323
330
|
async stopPreparedBeefTasks() {
|
|
324
331
|
await this.preparedBeefCoordinator.stop();
|
|
325
332
|
}
|
|
326
|
-
rawTxSliceExpression(offset, length) {
|
|
327
|
-
const sql =
|
|
328
|
-
? 'substring(?? from ? for ?)'
|
|
329
|
-
: 'substr(??, ?, ?)';
|
|
333
|
+
rawTxSliceExpression(offset, length, dbtype) {
|
|
334
|
+
const sql = dbtype === 'MySQL' ? 'substring(?? from ? for ?)' : 'substr(??, ?, ?)';
|
|
330
335
|
return this.knex.raw(sql, ['rawTx', offset + 1, length]);
|
|
331
336
|
}
|
|
332
|
-
async getRawTxSlice(txid, offset, length, trx) {
|
|
337
|
+
async getRawTxSlice(txid, offset, length, dbtype, trx) {
|
|
333
338
|
const k = this.toDb(trx);
|
|
334
|
-
const slice = this.rawTxSliceExpression(offset, length);
|
|
335
|
-
const proven = (0, utilityHelpers_1.verifyOneOrNone)(await k('proven_txs')
|
|
336
|
-
.select({ rawTx: slice })
|
|
337
|
-
.where({ txid }));
|
|
339
|
+
const slice = this.rawTxSliceExpression(offset, length, dbtype);
|
|
340
|
+
const proven = (0, utilityHelpers_1.verifyOneOrNone)(await k('proven_txs').select({ rawTx: slice }).where({ txid }));
|
|
338
341
|
if (proven?.rawTx != null)
|
|
339
342
|
return Array.from(proven.rawTx);
|
|
340
343
|
const req = (0, utilityHelpers_1.verifyOneOrNone)(await k('proven_tx_reqs')
|
|
@@ -351,18 +354,27 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
351
354
|
if (hasOffset !== hasLength) {
|
|
352
355
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('offset and length', 'both defined or both undefined');
|
|
353
356
|
}
|
|
354
|
-
if (hasOffset &&
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
357
|
+
if (hasOffset &&
|
|
358
|
+
(!/^[0-9a-f]{64}$/i.test(txid) ||
|
|
359
|
+
!Number.isSafeInteger(offset) ||
|
|
360
|
+
!Number.isSafeInteger(length) ||
|
|
361
|
+
offset < 0 ||
|
|
362
|
+
length < 0 ||
|
|
363
|
+
!Number.isSafeInteger(offset + length))) {
|
|
360
364
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('txid, offset and length', 'a hexadecimal transaction id and non-negative safe slice integers with a safe sum');
|
|
361
365
|
}
|
|
362
|
-
|
|
363
|
-
|
|
366
|
+
// A cold caller may already own SQLite's only connection. Read settings
|
|
367
|
+
// through that transaction without caching uncommitted state or starting
|
|
368
|
+
// the background backfill before the caller commits.
|
|
369
|
+
let settings;
|
|
370
|
+
if (this.isAvailable())
|
|
371
|
+
settings = this.getSettings();
|
|
372
|
+
else if (trx != null)
|
|
373
|
+
settings = await this.readSettings(trx);
|
|
374
|
+
else
|
|
375
|
+
settings = await this.makeAvailable();
|
|
364
376
|
if (hasOffset) {
|
|
365
|
-
return await this.getRawTxSlice(txid, offset, length, trx);
|
|
377
|
+
return await this.getRawTxSlice(txid, offset, length, settings.dbtype, trx);
|
|
366
378
|
}
|
|
367
379
|
const r = await this.getProvenOrRawTx(txid, trx);
|
|
368
380
|
return r.proven != null ? r.proven.rawTx : r.rawTx;
|
|
@@ -373,7 +385,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
373
385
|
void this.whereExists(k
|
|
374
386
|
.select('*')
|
|
375
387
|
.from('transactions')
|
|
376
|
-
.whereRaw(
|
|
388
|
+
.whereRaw('proven_txs.provenTxId = transactions.provenTxId and transactions.userId = ?', [args.userId]));
|
|
377
389
|
});
|
|
378
390
|
if (args.paged != null) {
|
|
379
391
|
q = q.limit(args.paged.limit);
|
|
@@ -394,7 +406,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
394
406
|
void this.whereExists(k
|
|
395
407
|
.select('*')
|
|
396
408
|
.from('transactions')
|
|
397
|
-
.whereRaw(
|
|
409
|
+
.whereRaw('proven_tx_reqs.txid = transactions.txid and transactions.userId = ?', [args.userId]));
|
|
398
410
|
});
|
|
399
411
|
if (args.paged != null) {
|
|
400
412
|
q = q.limit(args.paged.limit);
|
|
@@ -414,7 +426,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
414
426
|
let q = k('tx_labels_map').whereExists(k
|
|
415
427
|
.select('*')
|
|
416
428
|
.from('tx_labels')
|
|
417
|
-
.whereRaw(
|
|
429
|
+
.whereRaw('tx_labels.txLabelId = tx_labels_map.txLabelId and tx_labels.userId = ?', [args.userId]));
|
|
418
430
|
if (args.since != null)
|
|
419
431
|
q = q.where('updated_at', '>=', this.validateDateForWhere(args.since));
|
|
420
432
|
if (args.paged != null) {
|
|
@@ -433,7 +445,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
433
445
|
let q = k('output_tags_map').whereExists(k
|
|
434
446
|
.select('*')
|
|
435
447
|
.from('output_tags')
|
|
436
|
-
.whereRaw(
|
|
448
|
+
.whereRaw('output_tags.outputTagId = output_tags_map.outputTagId and output_tags.userId = ?', [args.userId]));
|
|
437
449
|
if (args.since != null)
|
|
438
450
|
q = q.where('updated_at', '>=', this.validateDateForWhere(args.since));
|
|
439
451
|
if (args.paged != null) {
|
|
@@ -517,10 +529,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
517
529
|
return row == null ? undefined : this.validateEntity(row, ['expiresAt', 'hardExpiresAt']);
|
|
518
530
|
}
|
|
519
531
|
async findActionBatchForUpdate(userId, batchId, trx) {
|
|
520
|
-
const row = await this.toDb(trx)('action_batches')
|
|
521
|
-
.where({ userId, batchId })
|
|
522
|
-
.forUpdate()
|
|
523
|
-
.first();
|
|
532
|
+
const row = await this.toDb(trx)('action_batches').where({ userId, batchId }).forUpdate().first();
|
|
524
533
|
return row == null ? undefined : this.validateEntity(row, ['expiresAt', 'hardExpiresAt']);
|
|
525
534
|
}
|
|
526
535
|
async findExpiredActionBatches(now, trx) {
|
|
@@ -596,9 +605,9 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
596
605
|
const rows = [];
|
|
597
606
|
const uniqueDigests = [...new Set(digests)];
|
|
598
607
|
for (let offset = 0; offset < uniqueDigests.length; offset += ACTION_BATCH_BLOB_SQL_CHUNK) {
|
|
599
|
-
rows.push(...await this.toDb(trx)('action_batch_blobs')
|
|
608
|
+
rows.push(...(await this.toDb(trx)('action_batch_blobs')
|
|
600
609
|
.where({ actionBatchId })
|
|
601
|
-
.whereIn('digest', uniqueDigests.slice(offset, offset + ACTION_BATCH_BLOB_SQL_CHUNK)));
|
|
610
|
+
.whereIn('digest', uniqueDigests.slice(offset, offset + ACTION_BATCH_BLOB_SQL_CHUNK))));
|
|
602
611
|
}
|
|
603
612
|
for (const row of rows) {
|
|
604
613
|
if (Buffer.isBuffer(row.bytes)) {
|
|
@@ -644,7 +653,8 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
644
653
|
return user.userId;
|
|
645
654
|
}
|
|
646
655
|
async insertCertificateAuth(auth, certificate) {
|
|
647
|
-
if (auth.userId == null ||
|
|
656
|
+
if (auth.userId == null ||
|
|
657
|
+
(certificate.userId != null && certificate.userId !== 0 && certificate.userId !== auth.userId))
|
|
648
658
|
throw new WERR_errors_1.WERR_UNAUTHORIZED();
|
|
649
659
|
certificate.userId = auth.userId;
|
|
650
660
|
return await this.insertCertificate(certificate);
|
|
@@ -940,9 +950,9 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
940
950
|
}
|
|
941
951
|
findCertificatesQuery(args) {
|
|
942
952
|
const q = this.setupQuery('certificates', args);
|
|
943
|
-
if (
|
|
953
|
+
if (args.certifiers != null && args.certifiers.length > 0)
|
|
944
954
|
void q.whereIn('certifier', args.certifiers);
|
|
945
|
-
if (
|
|
955
|
+
if (args.types != null && args.types.length > 0)
|
|
946
956
|
void q.whereIn('type', args.types);
|
|
947
957
|
return q;
|
|
948
958
|
}
|
|
@@ -960,10 +970,30 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
960
970
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.lockingScript', 'undefined. Outputs may not be found by lockingScript value.');
|
|
961
971
|
}
|
|
962
972
|
const q = this.setupQuery('outputs', args);
|
|
963
|
-
if (
|
|
964
|
-
|
|
973
|
+
if (args.txStatus != null && args.txStatus.length > 0) {
|
|
974
|
+
const allowedStatuses = new Set([
|
|
975
|
+
'completed',
|
|
976
|
+
'failed',
|
|
977
|
+
'unprocessed',
|
|
978
|
+
'sending',
|
|
979
|
+
'unproven',
|
|
980
|
+
'unsigned',
|
|
981
|
+
'nosend',
|
|
982
|
+
'nonfinal',
|
|
983
|
+
'unfail'
|
|
984
|
+
]);
|
|
985
|
+
if (args.txStatus.some(status => !allowedStatuses.has(status))) {
|
|
986
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.txStatus', 'supported transaction statuses');
|
|
987
|
+
}
|
|
988
|
+
const statuses = [...new Set(args.txStatus)];
|
|
989
|
+
void q.whereExists(function () {
|
|
990
|
+
void this.select(1)
|
|
991
|
+
.from('transactions')
|
|
992
|
+
.whereRaw('?? = ??', ['transactions.transactionId', 'outputs.transactionId'])
|
|
993
|
+
.whereIn('transactions.status', statuses);
|
|
994
|
+
});
|
|
965
995
|
}
|
|
966
|
-
if (
|
|
996
|
+
if (args.noScript === true && count !== true) {
|
|
967
997
|
const columns = tables_1.outputColumnsWithoutLockingScript.map(c => `outputs.${c}`);
|
|
968
998
|
void q.select(columns);
|
|
969
999
|
}
|
|
@@ -971,7 +1001,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
971
1001
|
}
|
|
972
1002
|
findOutputTagMapsQuery(args) {
|
|
973
1003
|
const q = this.setupQuery('output_tags_map', args);
|
|
974
|
-
if (
|
|
1004
|
+
if (args.tagIds != null && args.tagIds.length > 0)
|
|
975
1005
|
void q.whereIn('outputTagId', args.tagIds);
|
|
976
1006
|
return q;
|
|
977
1007
|
}
|
|
@@ -986,7 +1016,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
986
1016
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.inputBEEF', 'undefined. ProvenTxReqs may not be found by inputBEEF value.');
|
|
987
1017
|
}
|
|
988
1018
|
const q = this.setupQuery('proven_tx_reqs', args);
|
|
989
|
-
if (
|
|
1019
|
+
if (args.status != null && args.status.length > 0)
|
|
990
1020
|
void q.whereIn('status', args.status);
|
|
991
1021
|
if (args.txids != null) {
|
|
992
1022
|
const txids = args.txids.filter(txid => txid !== undefined);
|
|
@@ -1029,13 +1059,13 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1029
1059
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.inputBEEF', 'undefined. Transactions may not be found by inputBEEF value.');
|
|
1030
1060
|
}
|
|
1031
1061
|
const q = this.setupQuery('transactions', args);
|
|
1032
|
-
if (
|
|
1062
|
+
if (args.status != null && args.status.length > 0)
|
|
1033
1063
|
void q.whereIn('status', args.status);
|
|
1034
1064
|
if (args.from != null)
|
|
1035
1065
|
void q.where('created_at', '>=', this.validateDateForWhere(args.from));
|
|
1036
1066
|
if (args.to != null)
|
|
1037
1067
|
void q.where('created_at', '<', this.validateDateForWhere(args.to));
|
|
1038
|
-
if (
|
|
1068
|
+
if (args.noRawTx === true && count !== true) {
|
|
1039
1069
|
const columns = tables_1.transactionColumnsWithoutRawTx.map(c => `transactions.${c}`);
|
|
1040
1070
|
void q.select(columns);
|
|
1041
1071
|
}
|
|
@@ -1043,7 +1073,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1043
1073
|
}
|
|
1044
1074
|
findTxLabelMapsQuery(args) {
|
|
1045
1075
|
const q = this.setupQuery('tx_labels_map', args);
|
|
1046
|
-
if (
|
|
1076
|
+
if (args.labelIds != null && args.labelIds.length > 0)
|
|
1047
1077
|
void q.whereIn('txLabelId', args.labelIds);
|
|
1048
1078
|
return q;
|
|
1049
1079
|
}
|
|
@@ -1057,19 +1087,32 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1057
1087
|
return this.setupQuery('monitor_events', args);
|
|
1058
1088
|
}
|
|
1059
1089
|
async findCertificatesAuth(auth, args) {
|
|
1060
|
-
if (auth.userId == null ||
|
|
1090
|
+
if (auth.userId == null ||
|
|
1091
|
+
(args.partial.userId != null && args.partial.userId !== 0 && args.partial.userId !== auth.userId))
|
|
1061
1092
|
throw new WERR_errors_1.WERR_UNAUTHORIZED();
|
|
1062
1093
|
args.partial.userId = auth.userId;
|
|
1063
1094
|
return await this.findCertificates(args);
|
|
1064
1095
|
}
|
|
1096
|
+
async findProvenTxReqsAuth(auth, args) {
|
|
1097
|
+
const userId = (0, utilityHelpers_1.verifyId)(auth.userId);
|
|
1098
|
+
const k = this.toDb(args.trx);
|
|
1099
|
+
const q = this.findProvenTxReqsQuery(args).whereExists(k
|
|
1100
|
+
.select(1)
|
|
1101
|
+
.from('transactions')
|
|
1102
|
+
.whereRaw('proven_tx_reqs.txid = transactions.txid')
|
|
1103
|
+
.where('transactions.userId', userId));
|
|
1104
|
+
return this.validateEntities(await q, undefined, ['notified', 'wasBroadcast']);
|
|
1105
|
+
}
|
|
1065
1106
|
async findOutputBasketsAuth(auth, args) {
|
|
1066
|
-
if (auth.userId == null ||
|
|
1107
|
+
if (auth.userId == null ||
|
|
1108
|
+
(args.partial.userId != null && args.partial.userId !== 0 && args.partial.userId !== auth.userId))
|
|
1067
1109
|
throw new WERR_errors_1.WERR_UNAUTHORIZED();
|
|
1068
1110
|
args.partial.userId = auth.userId;
|
|
1069
1111
|
return await this.findOutputBaskets(args);
|
|
1070
1112
|
}
|
|
1071
1113
|
async findOutputsAuth(auth, args) {
|
|
1072
|
-
if (auth.userId == null ||
|
|
1114
|
+
if (auth.userId == null ||
|
|
1115
|
+
(args.partial.userId != null && args.partial.userId !== 0 && args.partial.userId !== auth.userId))
|
|
1073
1116
|
throw new WERR_errors_1.WERR_UNAUTHORIZED();
|
|
1074
1117
|
args.partial.userId = auth.userId;
|
|
1075
1118
|
return await this.findOutputs(args);
|
|
@@ -1139,7 +1182,9 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1139
1182
|
async findSyncStates(args) {
|
|
1140
1183
|
const q = this.findSyncStatesQuery(args);
|
|
1141
1184
|
// Serialize sync checkpoint reads with the page transaction on MySQL too.
|
|
1142
|
-
if (args.trx != null &&
|
|
1185
|
+
if (args.trx != null &&
|
|
1186
|
+
this.dbtype === 'MySQL' &&
|
|
1187
|
+
args.partial.userId != null &&
|
|
1143
1188
|
(args.partial.syncStateId != null || args.partial.storageIdentityKey != null))
|
|
1144
1189
|
q.forUpdate();
|
|
1145
1190
|
const r = await q;
|
|
@@ -1253,24 +1298,32 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1253
1298
|
// Check if this is a SQLite database by looking at the Knex client config
|
|
1254
1299
|
const clientName = this.knex.client.config?.client ?? '';
|
|
1255
1300
|
const isSQLite = clientName.includes('sqlite');
|
|
1256
|
-
// For SQLite,
|
|
1257
|
-
// PRAGMA foreign_keys is silently ignored
|
|
1258
|
-
//
|
|
1259
|
-
//
|
|
1301
|
+
// For SQLite, turn foreign keys off for the duration of the migration.
|
|
1302
|
+
// PRAGMA foreign_keys is silently ignored *when executed inside* a
|
|
1303
|
+
// transaction (https://github.com/knex/knex/issues/4155), so it is issued
|
|
1304
|
+
// here, outside migrate.latest(). SQLite's single-connection pool means
|
|
1305
|
+
// knex's per-migration transaction runs on this same connection and
|
|
1306
|
+
// inherits the setting, and knex's own SQLite alter-table rebuild leaves an
|
|
1307
|
+
// ambient pragma alone while transacting (sqlite3/schema/ddl.js: alter()
|
|
1308
|
+
// uses `enforceForeignCheck = this.client.transacting ? null : false`).
|
|
1260
1309
|
if (isSQLite) {
|
|
1261
1310
|
await this.knex.raw('PRAGMA foreign_keys = OFF;');
|
|
1262
1311
|
}
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1312
|
+
try {
|
|
1313
|
+
const config = {
|
|
1314
|
+
migrationSource: new KnexMigrations_1.KnexMigrations(this.chain, storageName, storageIdentityKey, 1024),
|
|
1315
|
+
// Keep DDL and its migration journal entry in the same transaction.
|
|
1316
|
+
disableTransactions: false
|
|
1317
|
+
};
|
|
1318
|
+
await this.knex.migrate.latest(config);
|
|
1319
|
+
return await this.knex.migrate.currentVersion(config);
|
|
1320
|
+
}
|
|
1321
|
+
finally {
|
|
1322
|
+
// Leaving foreign-key enforcement disabled after a failed migration would
|
|
1323
|
+
// weaken every subsequent write on this connection.
|
|
1324
|
+
if (isSQLite)
|
|
1325
|
+
await this.knex.raw('PRAGMA foreign_keys = ON;');
|
|
1272
1326
|
}
|
|
1273
|
-
return version;
|
|
1274
1327
|
}
|
|
1275
1328
|
async dropAllData() {
|
|
1276
1329
|
// Only using migrations to migrate down, don't need valid properties for settings table.
|
|
@@ -1292,24 +1345,22 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1292
1345
|
if (isSQLite) {
|
|
1293
1346
|
await this.knex.raw('PRAGMA foreign_keys = OFF;');
|
|
1294
1347
|
}
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
const
|
|
1298
|
-
if (
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1348
|
+
try {
|
|
1349
|
+
for (let i = 0; i < count; i++) {
|
|
1350
|
+
const version = await this.knex.migrate.currentVersion(config);
|
|
1351
|
+
if (version === 'none')
|
|
1352
|
+
return;
|
|
1353
|
+
const result = await this.knex.migrate.down(config);
|
|
1354
|
+
if (result == null)
|
|
1355
|
+
throw new WERR_errors_1.WERR_INTERNAL('database migration rollback returned no result');
|
|
1302
1356
|
}
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
// the expected terminal condition, so we stop iterating rather than propagating.
|
|
1306
|
-
console.debug('migrate.down stopped (no more migrations or error):', migrationError);
|
|
1307
|
-
break;
|
|
1357
|
+
if ((await this.knex.migrate.currentVersion(config)) !== 'none') {
|
|
1358
|
+
throw new WERR_errors_1.WERR_INTERNAL('database migration rollback did not reach the empty schema');
|
|
1308
1359
|
}
|
|
1309
1360
|
}
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1361
|
+
finally {
|
|
1362
|
+
if (isSQLite)
|
|
1363
|
+
await this.knex.raw('PRAGMA foreign_keys = ON;');
|
|
1313
1364
|
}
|
|
1314
1365
|
}
|
|
1315
1366
|
async transaction(scope, trx) {
|
|
@@ -1327,7 +1378,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1327
1378
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1328
1379
|
toDb(trx) {
|
|
1329
1380
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1330
|
-
const db =
|
|
1381
|
+
const db = trx == null ? this.knex : trx;
|
|
1331
1382
|
this.whenLastAccess = new Date();
|
|
1332
1383
|
return db;
|
|
1333
1384
|
}
|
|
@@ -1744,7 +1795,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1744
1795
|
.whereIn('t.status', status)
|
|
1745
1796
|
.sum({ totalSatoshis: 'o.satoshis' })
|
|
1746
1797
|
.first();
|
|
1747
|
-
const total =
|
|
1798
|
+
const total = row != null ? row.totalSatoshis : undefined;
|
|
1748
1799
|
return Number(total ?? 0);
|
|
1749
1800
|
}
|
|
1750
1801
|
/**
|
|
@@ -1774,9 +1825,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1774
1825
|
.whereNot('o.derivationSuffix', '')
|
|
1775
1826
|
.whereNull('o.spentBy')
|
|
1776
1827
|
.whereNotExists(function () {
|
|
1777
|
-
void this.select(1)
|
|
1778
|
-
.from('action_batch_outputs as abo')
|
|
1779
|
-
.whereRaw('abo.outputId = o.outputId');
|
|
1828
|
+
void this.select(1).from('action_batch_outputs as abo').whereRaw('abo.outputId = o.outputId');
|
|
1780
1829
|
})
|
|
1781
1830
|
.whereIn('t.status', status)
|
|
1782
1831
|
.select('o.*')
|
|
@@ -1854,7 +1903,8 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1854
1903
|
for (const df of booleanFields) {
|
|
1855
1904
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1856
1905
|
if (entity[df] !== undefined)
|
|
1857
|
-
entity[df] =
|
|
1906
|
+
entity[df] =
|
|
1907
|
+
entity[df] !== 0 && entity[df] != null && entity[df] !== false;
|
|
1858
1908
|
}
|
|
1859
1909
|
}
|
|
1860
1910
|
this.deserialiseFromKnex(entity);
|
|
@@ -1879,7 +1929,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1879
1929
|
orderDescending: true,
|
|
1880
1930
|
paged: { limit: 1 }
|
|
1881
1931
|
}));
|
|
1882
|
-
const monitorStats =
|
|
1932
|
+
const monitorStats = monitorEvent != null ? JSON.parse(monitorEvent.details) : undefined;
|
|
1883
1933
|
const servicesStats = this.getServices().getServicesCallHistory(true);
|
|
1884
1934
|
const oneDayAgo = new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
|
|
1885
1935
|
const oneWeekAgo = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString();
|