@bsv/wallet-toolbox 2.12.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 +350 -1
- package/README.md +556 -6
- 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/sync-transfer.md +144 -0
- 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 +23 -1
- package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
- package/out/src/sdk/WalletStorage.interfaces.d.ts +49 -3
- package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
- package/out/src/services/ServiceCollection.js +2 -2
- package/out/src/services/ServiceCollection.js.map +1 -1
- package/out/src/services/Services.d.ts +5 -0
- package/out/src/services/Services.d.ts.map +1 -1
- package/out/src/services/Services.js +276 -110
- 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 +6 -3
- package/out/src/storage/StorageIdb.d.ts.map +1 -1
- package/out/src/storage/StorageIdb.js +70 -42
- package/out/src/storage/StorageIdb.js.map +1 -1
- package/out/src/storage/StorageKnex.d.ts +8 -4
- package/out/src/storage/StorageKnex.d.ts.map +1 -1
- package/out/src/storage/StorageKnex.js +185 -92
- 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 +237 -138
- package/out/src/storage/StorageProvider.js.map +1 -1
- package/out/src/storage/StorageReader.d.ts +7 -1
- package/out/src/storage/StorageReader.d.ts.map +1 -1
- package/out/src/storage/StorageReader.js +17 -42
- package/out/src/storage/StorageReader.js.map +1 -1
- package/out/src/storage/StorageReaderWriter.d.ts +2 -0
- package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
- package/out/src/storage/StorageReaderWriter.js +63 -38
- package/out/src/storage/StorageReaderWriter.js.map +1 -1
- package/out/src/storage/StorageSyncReader.d.ts +1 -1
- package/out/src/storage/StorageSyncReader.d.ts.map +1 -1
- package/out/src/storage/StorageSyncReader.js +3 -36
- package/out/src/storage/StorageSyncReader.js.map +1 -1
- package/out/src/storage/WalletStorageManager.d.ts +9 -7
- package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
- package/out/src/storage/WalletStorageManager.js +71 -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/getSyncChunk.d.ts.map +1 -1
- package/out/src/storage/methods/getSyncChunk.js +42 -11
- package/out/src/storage/methods/getSyncChunk.js.map +1 -1
- package/out/src/storage/methods/internalizeAction.d.ts +3 -3
- package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/storage/methods/internalizeAction.js +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 +10 -2
- package/out/src/storage/methods/validateSyncProof.d.ts.map +1 -1
- package/out/src/storage/methods/validateSyncProof.js +27 -4
- 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 +94 -8
- 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 +26 -0
- package/out/src/storage/remoting/KnexSyncTransferStore.d.ts.map +1 -0
- package/out/src/storage/remoting/KnexSyncTransferStore.js +222 -0
- package/out/src/storage/remoting/KnexSyncTransferStore.js.map +1 -0
- package/out/src/storage/remoting/StorageClient.d.ts +6 -1
- package/out/src/storage/remoting/StorageClient.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageClient.js +65 -8
- package/out/src/storage/remoting/StorageClient.js.map +1 -1
- package/out/src/storage/remoting/StorageClientBase.d.ts +53 -10
- package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageClientBase.js +304 -9
- package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
- package/out/src/storage/remoting/StorageMobile.d.ts +5 -0
- package/out/src/storage/remoting/StorageMobile.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageMobile.js +13 -11
- package/out/src/storage/remoting/StorageMobile.js.map +1 -1
- package/out/src/storage/remoting/StorageServer.d.ts +10 -1
- package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageServer.js +206 -21
- package/out/src/storage/remoting/StorageServer.js.map +1 -1
- package/out/src/storage/remoting/SyncTransfer.d.ts +29 -0
- package/out/src/storage/remoting/SyncTransfer.d.ts.map +1 -0
- package/out/src/storage/remoting/SyncTransfer.js +153 -0
- package/out/src/storage/remoting/SyncTransfer.js.map +1 -0
- package/out/src/storage/remoting/entityValidationHelpers.d.ts.map +1 -1
- package/out/src/storage/remoting/entityValidationHelpers.js +35 -0
- package/out/src/storage/remoting/entityValidationHelpers.js.map +1 -1
- package/out/src/storage/remoting/syncChunkBinary.d.ts +4 -0
- package/out/src/storage/remoting/syncChunkBinary.d.ts.map +1 -0
- package/out/src/storage/remoting/syncChunkBinary.js +38 -0
- package/out/src/storage/remoting/syncChunkBinary.js.map +1 -0
- package/out/src/storage/remoting/validateRpcSyncProofs.d.ts +5 -0
- package/out/src/storage/remoting/validateRpcSyncProofs.d.ts.map +1 -0
- package/out/src/storage/remoting/validateRpcSyncProofs.js +82 -0
- package/out/src/storage/remoting/validateRpcSyncProofs.js.map +1 -0
- package/out/src/storage/schema/KnexMigrations.d.ts +3 -0
- package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
- package/out/src/storage/schema/KnexMigrations.js +89 -2
- package/out/src/storage/schema/KnexMigrations.js.map +1 -1
- package/out/src/storage/schema/StorageIdbSchema.d.ts +1 -0
- package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityOutput.js +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 +95 -41
- package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTxReq.js +1 -1
- package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
- package/out/src/storage/schema/entities/EntitySyncState.d.ts +3 -1
- package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntitySyncState.js +7 -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/storage/sync/SyncPageBudget.d.ts +8 -0
- package/out/src/storage/sync/SyncPageBudget.d.ts.map +1 -0
- package/out/src/storage/sync/SyncPageBudget.js +24 -0
- package/out/src/storage/sync/SyncPageBudget.js.map +1 -0
- package/out/src/storage/sync/syncCheckpoint.d.ts +4 -0
- package/out/src/storage/sync/syncCheckpoint.d.ts.map +1 -0
- package/out/src/storage/sync/syncCheckpoint.js +49 -0
- package/out/src/storage/sync/syncCheckpoint.js.map +1 -0
- package/out/src/utility/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 +6 -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) {
|
|
@@ -447,6 +459,45 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
447
459
|
const rs = await q;
|
|
448
460
|
return this.validateEntities(rs, undefined, ['isDeleted']);
|
|
449
461
|
}
|
|
462
|
+
async countSyncQuery(query) {
|
|
463
|
+
const row = await query.count({ count: '*' }).first();
|
|
464
|
+
return Number(row?.count ?? 0);
|
|
465
|
+
}
|
|
466
|
+
async getSyncChunkTotals(args, userId) {
|
|
467
|
+
const since = args.since;
|
|
468
|
+
const [provenTxs, outputBaskets, outputTags, txLabels, transactions, outputs, txLabelMaps, outputTagMaps, certificates, certificateFields, commissions, provenTxReqs] = await Promise.all([
|
|
469
|
+
this.countSyncQuery(this.getProvenTxsForUserQuery({ userId, since })),
|
|
470
|
+
this.countOutputBaskets({ partial: { userId }, since }),
|
|
471
|
+
this.countOutputTags({ partial: { userId }, since }),
|
|
472
|
+
this.countTxLabels({ partial: { userId }, since }),
|
|
473
|
+
this.countTransactions({ partial: { userId }, since, noRawTx: true }),
|
|
474
|
+
this.countOutputs({ partial: { userId }, since, noScript: true }),
|
|
475
|
+
this.countSyncQuery(this.getTxLabelMapsForUserQuery({ userId, since })),
|
|
476
|
+
this.countSyncQuery(this.getOutputTagMapsForUserQuery({ userId, since })),
|
|
477
|
+
this.countCertificates({ partial: { userId }, since }),
|
|
478
|
+
this.countCertificateFields({ partial: { userId }, since }),
|
|
479
|
+
this.countCommissions({ partial: { userId }, since }),
|
|
480
|
+
this.countSyncQuery(this.getProvenTxReqsForUserQuery({ userId, since }))
|
|
481
|
+
]);
|
|
482
|
+
const records = {
|
|
483
|
+
provenTxs,
|
|
484
|
+
outputBaskets,
|
|
485
|
+
outputTags,
|
|
486
|
+
txLabels,
|
|
487
|
+
transactions,
|
|
488
|
+
outputs,
|
|
489
|
+
txLabelMaps,
|
|
490
|
+
outputTagMaps,
|
|
491
|
+
certificates,
|
|
492
|
+
certificateFields,
|
|
493
|
+
commissions,
|
|
494
|
+
provenTxReqs
|
|
495
|
+
};
|
|
496
|
+
return {
|
|
497
|
+
totalRecords: Object.values(records).reduce((total, count) => total + count, 0),
|
|
498
|
+
records
|
|
499
|
+
};
|
|
500
|
+
}
|
|
450
501
|
async listActions(auth, vargs) {
|
|
451
502
|
if (auth.userId == null)
|
|
452
503
|
throw new WERR_errors_1.WERR_UNAUTHORIZED();
|
|
@@ -478,10 +529,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
478
529
|
return row == null ? undefined : this.validateEntity(row, ['expiresAt', 'hardExpiresAt']);
|
|
479
530
|
}
|
|
480
531
|
async findActionBatchForUpdate(userId, batchId, trx) {
|
|
481
|
-
const row = await this.toDb(trx)('action_batches')
|
|
482
|
-
.where({ userId, batchId })
|
|
483
|
-
.forUpdate()
|
|
484
|
-
.first();
|
|
532
|
+
const row = await this.toDb(trx)('action_batches').where({ userId, batchId }).forUpdate().first();
|
|
485
533
|
return row == null ? undefined : this.validateEntity(row, ['expiresAt', 'hardExpiresAt']);
|
|
486
534
|
}
|
|
487
535
|
async findExpiredActionBatches(now, trx) {
|
|
@@ -557,9 +605,9 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
557
605
|
const rows = [];
|
|
558
606
|
const uniqueDigests = [...new Set(digests)];
|
|
559
607
|
for (let offset = 0; offset < uniqueDigests.length; offset += ACTION_BATCH_BLOB_SQL_CHUNK) {
|
|
560
|
-
rows.push(...await this.toDb(trx)('action_batch_blobs')
|
|
608
|
+
rows.push(...(await this.toDb(trx)('action_batch_blobs')
|
|
561
609
|
.where({ actionBatchId })
|
|
562
|
-
.whereIn('digest', uniqueDigests.slice(offset, offset + ACTION_BATCH_BLOB_SQL_CHUNK)));
|
|
610
|
+
.whereIn('digest', uniqueDigests.slice(offset, offset + ACTION_BATCH_BLOB_SQL_CHUNK))));
|
|
563
611
|
}
|
|
564
612
|
for (const row of rows) {
|
|
565
613
|
if (Buffer.isBuffer(row.bytes)) {
|
|
@@ -605,7 +653,8 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
605
653
|
return user.userId;
|
|
606
654
|
}
|
|
607
655
|
async insertCertificateAuth(auth, certificate) {
|
|
608
|
-
if (auth.userId == null ||
|
|
656
|
+
if (auth.userId == null ||
|
|
657
|
+
(certificate.userId != null && certificate.userId !== 0 && certificate.userId !== auth.userId))
|
|
609
658
|
throw new WERR_errors_1.WERR_UNAUTHORIZED();
|
|
610
659
|
certificate.userId = auth.userId;
|
|
611
660
|
return await this.insertCertificate(certificate);
|
|
@@ -901,9 +950,9 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
901
950
|
}
|
|
902
951
|
findCertificatesQuery(args) {
|
|
903
952
|
const q = this.setupQuery('certificates', args);
|
|
904
|
-
if (
|
|
953
|
+
if (args.certifiers != null && args.certifiers.length > 0)
|
|
905
954
|
void q.whereIn('certifier', args.certifiers);
|
|
906
|
-
if (
|
|
955
|
+
if (args.types != null && args.types.length > 0)
|
|
907
956
|
void q.whereIn('type', args.types);
|
|
908
957
|
return q;
|
|
909
958
|
}
|
|
@@ -921,10 +970,30 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
921
970
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.lockingScript', 'undefined. Outputs may not be found by lockingScript value.');
|
|
922
971
|
}
|
|
923
972
|
const q = this.setupQuery('outputs', args);
|
|
924
|
-
if (
|
|
925
|
-
|
|
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
|
+
});
|
|
926
995
|
}
|
|
927
|
-
if (
|
|
996
|
+
if (args.noScript === true && count !== true) {
|
|
928
997
|
const columns = tables_1.outputColumnsWithoutLockingScript.map(c => `outputs.${c}`);
|
|
929
998
|
void q.select(columns);
|
|
930
999
|
}
|
|
@@ -932,7 +1001,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
932
1001
|
}
|
|
933
1002
|
findOutputTagMapsQuery(args) {
|
|
934
1003
|
const q = this.setupQuery('output_tags_map', args);
|
|
935
|
-
if (
|
|
1004
|
+
if (args.tagIds != null && args.tagIds.length > 0)
|
|
936
1005
|
void q.whereIn('outputTagId', args.tagIds);
|
|
937
1006
|
return q;
|
|
938
1007
|
}
|
|
@@ -947,7 +1016,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
947
1016
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.inputBEEF', 'undefined. ProvenTxReqs may not be found by inputBEEF value.');
|
|
948
1017
|
}
|
|
949
1018
|
const q = this.setupQuery('proven_tx_reqs', args);
|
|
950
|
-
if (
|
|
1019
|
+
if (args.status != null && args.status.length > 0)
|
|
951
1020
|
void q.whereIn('status', args.status);
|
|
952
1021
|
if (args.txids != null) {
|
|
953
1022
|
const txids = args.txids.filter(txid => txid !== undefined);
|
|
@@ -990,13 +1059,13 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
990
1059
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('args.partial.inputBEEF', 'undefined. Transactions may not be found by inputBEEF value.');
|
|
991
1060
|
}
|
|
992
1061
|
const q = this.setupQuery('transactions', args);
|
|
993
|
-
if (
|
|
1062
|
+
if (args.status != null && args.status.length > 0)
|
|
994
1063
|
void q.whereIn('status', args.status);
|
|
995
1064
|
if (args.from != null)
|
|
996
1065
|
void q.where('created_at', '>=', this.validateDateForWhere(args.from));
|
|
997
1066
|
if (args.to != null)
|
|
998
1067
|
void q.where('created_at', '<', this.validateDateForWhere(args.to));
|
|
999
|
-
if (
|
|
1068
|
+
if (args.noRawTx === true && count !== true) {
|
|
1000
1069
|
const columns = tables_1.transactionColumnsWithoutRawTx.map(c => `transactions.${c}`);
|
|
1001
1070
|
void q.select(columns);
|
|
1002
1071
|
}
|
|
@@ -1004,7 +1073,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1004
1073
|
}
|
|
1005
1074
|
findTxLabelMapsQuery(args) {
|
|
1006
1075
|
const q = this.setupQuery('tx_labels_map', args);
|
|
1007
|
-
if (
|
|
1076
|
+
if (args.labelIds != null && args.labelIds.length > 0)
|
|
1008
1077
|
void q.whereIn('txLabelId', args.labelIds);
|
|
1009
1078
|
return q;
|
|
1010
1079
|
}
|
|
@@ -1018,19 +1087,32 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1018
1087
|
return this.setupQuery('monitor_events', args);
|
|
1019
1088
|
}
|
|
1020
1089
|
async findCertificatesAuth(auth, args) {
|
|
1021
|
-
if (auth.userId == null ||
|
|
1090
|
+
if (auth.userId == null ||
|
|
1091
|
+
(args.partial.userId != null && args.partial.userId !== 0 && args.partial.userId !== auth.userId))
|
|
1022
1092
|
throw new WERR_errors_1.WERR_UNAUTHORIZED();
|
|
1023
1093
|
args.partial.userId = auth.userId;
|
|
1024
1094
|
return await this.findCertificates(args);
|
|
1025
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
|
+
}
|
|
1026
1106
|
async findOutputBasketsAuth(auth, args) {
|
|
1027
|
-
if (auth.userId == null ||
|
|
1107
|
+
if (auth.userId == null ||
|
|
1108
|
+
(args.partial.userId != null && args.partial.userId !== 0 && args.partial.userId !== auth.userId))
|
|
1028
1109
|
throw new WERR_errors_1.WERR_UNAUTHORIZED();
|
|
1029
1110
|
args.partial.userId = auth.userId;
|
|
1030
1111
|
return await this.findOutputBaskets(args);
|
|
1031
1112
|
}
|
|
1032
1113
|
async findOutputsAuth(auth, args) {
|
|
1033
|
-
if (auth.userId == null ||
|
|
1114
|
+
if (auth.userId == null ||
|
|
1115
|
+
(args.partial.userId != null && args.partial.userId !== 0 && args.partial.userId !== auth.userId))
|
|
1034
1116
|
throw new WERR_errors_1.WERR_UNAUTHORIZED();
|
|
1035
1117
|
args.partial.userId = auth.userId;
|
|
1036
1118
|
return await this.findOutputs(args);
|
|
@@ -1099,6 +1181,12 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1099
1181
|
}
|
|
1100
1182
|
async findSyncStates(args) {
|
|
1101
1183
|
const q = this.findSyncStatesQuery(args);
|
|
1184
|
+
// Serialize sync checkpoint reads with the page transaction on MySQL too.
|
|
1185
|
+
if (args.trx != null &&
|
|
1186
|
+
this.dbtype === 'MySQL' &&
|
|
1187
|
+
args.partial.userId != null &&
|
|
1188
|
+
(args.partial.syncStateId != null || args.partial.storageIdentityKey != null))
|
|
1189
|
+
q.forUpdate();
|
|
1102
1190
|
const r = await q;
|
|
1103
1191
|
return this.validateEntities(r, ['when'], ['init']);
|
|
1104
1192
|
}
|
|
@@ -1210,24 +1298,32 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1210
1298
|
// Check if this is a SQLite database by looking at the Knex client config
|
|
1211
1299
|
const clientName = this.knex.client.config?.client ?? '';
|
|
1212
1300
|
const isSQLite = clientName.includes('sqlite');
|
|
1213
|
-
// For SQLite,
|
|
1214
|
-
// PRAGMA foreign_keys is silently ignored
|
|
1215
|
-
//
|
|
1216
|
-
//
|
|
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`).
|
|
1217
1309
|
if (isSQLite) {
|
|
1218
1310
|
await this.knex.raw('PRAGMA foreign_keys = OFF;');
|
|
1219
1311
|
}
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
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;');
|
|
1229
1326
|
}
|
|
1230
|
-
return version;
|
|
1231
1327
|
}
|
|
1232
1328
|
async dropAllData() {
|
|
1233
1329
|
// Only using migrations to migrate down, don't need valid properties for settings table.
|
|
@@ -1249,24 +1345,22 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1249
1345
|
if (isSQLite) {
|
|
1250
1346
|
await this.knex.raw('PRAGMA foreign_keys = OFF;');
|
|
1251
1347
|
}
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
const
|
|
1255
|
-
if (
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
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');
|
|
1259
1356
|
}
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
// the expected terminal condition, so we stop iterating rather than propagating.
|
|
1263
|
-
console.debug('migrate.down stopped (no more migrations or error):', migrationError);
|
|
1264
|
-
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');
|
|
1265
1359
|
}
|
|
1266
1360
|
}
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1361
|
+
finally {
|
|
1362
|
+
if (isSQLite)
|
|
1363
|
+
await this.knex.raw('PRAGMA foreign_keys = ON;');
|
|
1270
1364
|
}
|
|
1271
1365
|
}
|
|
1272
1366
|
async transaction(scope, trx) {
|
|
@@ -1284,7 +1378,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1284
1378
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1285
1379
|
toDb(trx) {
|
|
1286
1380
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1287
|
-
const db =
|
|
1381
|
+
const db = trx == null ? this.knex : trx;
|
|
1288
1382
|
this.whenLastAccess = new Date();
|
|
1289
1383
|
return db;
|
|
1290
1384
|
}
|
|
@@ -1701,7 +1795,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1701
1795
|
.whereIn('t.status', status)
|
|
1702
1796
|
.sum({ totalSatoshis: 'o.satoshis' })
|
|
1703
1797
|
.first();
|
|
1704
|
-
const total =
|
|
1798
|
+
const total = row != null ? row.totalSatoshis : undefined;
|
|
1705
1799
|
return Number(total ?? 0);
|
|
1706
1800
|
}
|
|
1707
1801
|
/**
|
|
@@ -1731,9 +1825,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1731
1825
|
.whereNot('o.derivationSuffix', '')
|
|
1732
1826
|
.whereNull('o.spentBy')
|
|
1733
1827
|
.whereNotExists(function () {
|
|
1734
|
-
void this.select(1)
|
|
1735
|
-
.from('action_batch_outputs as abo')
|
|
1736
|
-
.whereRaw('abo.outputId = o.outputId');
|
|
1828
|
+
void this.select(1).from('action_batch_outputs as abo').whereRaw('abo.outputId = o.outputId');
|
|
1737
1829
|
})
|
|
1738
1830
|
.whereIn('t.status', status)
|
|
1739
1831
|
.select('o.*')
|
|
@@ -1811,7 +1903,8 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1811
1903
|
for (const df of booleanFields) {
|
|
1812
1904
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
1813
1905
|
if (entity[df] !== undefined)
|
|
1814
|
-
entity[df] =
|
|
1906
|
+
entity[df] =
|
|
1907
|
+
entity[df] !== 0 && entity[df] != null && entity[df] !== false;
|
|
1815
1908
|
}
|
|
1816
1909
|
}
|
|
1817
1910
|
this.deserialiseFromKnex(entity);
|
|
@@ -1836,7 +1929,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
|
|
|
1836
1929
|
orderDescending: true,
|
|
1837
1930
|
paged: { limit: 1 }
|
|
1838
1931
|
}));
|
|
1839
|
-
const monitorStats =
|
|
1932
|
+
const monitorStats = monitorEvent != null ? JSON.parse(monitorEvent.details) : undefined;
|
|
1840
1933
|
const servicesStats = this.getServices().getServicesCallHistory(true);
|
|
1841
1934
|
const oneDayAgo = new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString();
|
|
1842
1935
|
const oneWeekAgo = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000).toISOString();
|