@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
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.StorageServer = void 0;
|
|
7
|
+
const StorageKnex_1 = require("../StorageKnex");
|
|
8
|
+
const KnexSyncTransferStore_1 = require("./KnexSyncTransferStore");
|
|
9
|
+
const SyncTransfer_1 = require("./SyncTransfer");
|
|
10
|
+
const syncChunkBinary_1 = require("./syncChunkBinary");
|
|
2
11
|
/**
|
|
3
12
|
* StorageServer.ts
|
|
4
13
|
*
|
|
5
14
|
* A server-side class that "has a" local WalletStorage (like a StorageKnex instance),
|
|
6
15
|
* and exposes it via a JSON-RPC POST endpoint using Express.
|
|
7
16
|
*/
|
|
8
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.StorageServer = void 0;
|
|
13
17
|
const sdk_1 = require("@bsv/sdk");
|
|
14
18
|
const express_1 = __importDefault(require("express"));
|
|
15
19
|
const auth_express_middleware_1 = require("@bsv/auth-express-middleware");
|
|
@@ -25,7 +29,7 @@ const RateLimitPolicy_1 = require("./RateLimitPolicy");
|
|
|
25
29
|
const edgePolicy_1 = require("./edgePolicy");
|
|
26
30
|
const actionBatchPack_1 = require("../../utility/actionBatchPack");
|
|
27
31
|
const actionBatchBlobs_1 = require("../methods/actionBatchBlobs");
|
|
28
|
-
const
|
|
32
|
+
const validateRpcSyncProofs_1 = require("./validateRpcSyncProofs");
|
|
29
33
|
const storageRpcMethods = new Set([
|
|
30
34
|
'abortAction',
|
|
31
35
|
'abortActionBatch',
|
|
@@ -40,6 +44,7 @@ const storageRpcMethods = new Set([
|
|
|
40
44
|
'extendActionBatch',
|
|
41
45
|
'findCertificatesAuth',
|
|
42
46
|
'findOrInsertSyncStateAuth',
|
|
47
|
+
'getSyncCheckpoint',
|
|
43
48
|
'findOrInsertUser',
|
|
44
49
|
'findOutputBaskets',
|
|
45
50
|
'findOutputBasketsAuth',
|
|
@@ -66,6 +71,21 @@ const storageRpcMethods = new Set([
|
|
|
66
71
|
'setActive',
|
|
67
72
|
'updateProvenTxReqWithNewProvenTx'
|
|
68
73
|
]);
|
|
74
|
+
/**
|
|
75
|
+
* Serialize an error for an authenticated network peer without exposing
|
|
76
|
+
* provider, database, filesystem, or other server-internal diagnostics.
|
|
77
|
+
*
|
|
78
|
+
* WalletError subclasses are the storage protocol's explicit public error
|
|
79
|
+
* contract. WERR_INTERNAL and unknown exceptions are deliberately collapsed
|
|
80
|
+
* to the stable default message; operators can still capture the original
|
|
81
|
+
* exception through the explicitly configured server logger and telemetry.
|
|
82
|
+
*/
|
|
83
|
+
function publicWalletErrorJson(error) {
|
|
84
|
+
if (!(error instanceof WalletError_1.WalletError) || error.name === 'WERR_INTERNAL' || error.name === 'WERR_UNKNOWN') {
|
|
85
|
+
return WalletError_1.WalletError.unknownToJson(new WERR_errors_1.WERR_INTERNAL());
|
|
86
|
+
}
|
|
87
|
+
return WalletError_1.WalletError.unknownToJson(error);
|
|
88
|
+
}
|
|
69
89
|
const authIdRpcMethods = new Set([
|
|
70
90
|
'abortAction',
|
|
71
91
|
'abortActionBatch',
|
|
@@ -78,6 +98,7 @@ const authIdRpcMethods = new Set([
|
|
|
78
98
|
'extendActionBatch',
|
|
79
99
|
'findCertificatesAuth',
|
|
80
100
|
'findOrInsertSyncStateAuth',
|
|
101
|
+
'getSyncCheckpoint',
|
|
81
102
|
'findOutputBaskets',
|
|
82
103
|
'findOutputBasketsAuth',
|
|
83
104
|
'findOutputsAuth',
|
|
@@ -106,7 +127,8 @@ const activeStorageRpcMethods = new Set([
|
|
|
106
127
|
'prepareActionBatchCommit',
|
|
107
128
|
'prepareNoSendExpiry',
|
|
108
129
|
'renewActionBatch',
|
|
109
|
-
'resumeActionBatch'
|
|
130
|
+
'resumeActionBatch',
|
|
131
|
+
'updateProvenTxReqWithNewProvenTx'
|
|
110
132
|
]);
|
|
111
133
|
const topLevelLimitArgument = new Map([
|
|
112
134
|
['listActions', 1],
|
|
@@ -127,11 +149,16 @@ function requiredAuthenticatedIdentityKey(req) {
|
|
|
127
149
|
}
|
|
128
150
|
return identityKey;
|
|
129
151
|
}
|
|
152
|
+
function escapeRpcJson(serialized) {
|
|
153
|
+
const escapes = { '<': String.raw `\u003c`, '>': String.raw `\u003e`, '&': String.raw `\u0026` };
|
|
154
|
+
return serialized.replace(/[<>&]/g, character => escapes[character]);
|
|
155
|
+
}
|
|
130
156
|
function firstRequestHeader(req, name) {
|
|
131
157
|
const value = req.headers[name.toLowerCase()];
|
|
132
158
|
return Array.isArray(value) ? value[0] : value;
|
|
133
159
|
}
|
|
134
160
|
class StorageServer {
|
|
161
|
+
syncTransfers;
|
|
135
162
|
app = (0, express_1.default)();
|
|
136
163
|
host;
|
|
137
164
|
port;
|
|
@@ -154,6 +181,7 @@ class StorageServer {
|
|
|
154
181
|
telemetryConfig;
|
|
155
182
|
defaultRpcListLimit;
|
|
156
183
|
maxRpcListLimit;
|
|
184
|
+
maxRpcListOffset;
|
|
157
185
|
maxRpcArrayItems;
|
|
158
186
|
maxRpcResponseBytes;
|
|
159
187
|
paymentReplayStore;
|
|
@@ -194,6 +222,9 @@ class StorageServer {
|
|
|
194
222
|
this.maxRpcListLimit =
|
|
195
223
|
options.maxRpcListLimit ??
|
|
196
224
|
(0, edgePolicy_1.readResourceLimit)('WALLET_STORAGE', 'RPC_MAX_LIST_LIMIT', (0, edgePolicy_1.profileValue)(profile, { small: 500, standard: 1_000, highThroughput: 5_000 }));
|
|
225
|
+
this.maxRpcListOffset =
|
|
226
|
+
options.maxRpcListOffset ??
|
|
227
|
+
(0, edgePolicy_1.readResourceLimit)('WALLET_STORAGE', 'RPC_MAX_LIST_OFFSET', (0, edgePolicy_1.profileValue)(profile, { small: 100_000, standard: 1_000_000, highThroughput: 10_000_000 }));
|
|
197
228
|
this.maxRpcArrayItems =
|
|
198
229
|
options.maxRpcArrayItems ??
|
|
199
230
|
(0, edgePolicy_1.readResourceLimit)('WALLET_STORAGE', 'RPC_MAX_ARRAY_ITEMS', (0, edgePolicy_1.profileValue)(profile, { small: 250_000, standard: 1_000_000, highThroughput: 4_000_000 }));
|
|
@@ -209,6 +240,26 @@ class StorageServer {
|
|
|
209
240
|
this.defaultRpcListLimit > this.maxRpcListLimit) {
|
|
210
241
|
throw new RangeError('defaultRpcListLimit must not exceed maxRpcListLimit');
|
|
211
242
|
}
|
|
243
|
+
if (!Number.isSafeInteger(this.maxRpcListOffset) || this.maxRpcListOffset < -1) {
|
|
244
|
+
throw new RangeError('maxRpcListOffset must be -1 or a non-negative safe integer');
|
|
245
|
+
}
|
|
246
|
+
const jsonBodyLimit = (0, edgePolicy_1.readBodyLimitBytes)('WALLET_STORAGE_JSON', (0, edgePolicy_1.profileValue)(profile, {
|
|
247
|
+
small: 2 * 1024 * 1024,
|
|
248
|
+
standard: 8 * 1024 * 1024,
|
|
249
|
+
highThroughput: 32 * 1024 * 1024
|
|
250
|
+
}));
|
|
251
|
+
// Keep legacy configurations working when their envelopes cannot fit even a minimum part.
|
|
252
|
+
if (options.syncTransfers !== false &&
|
|
253
|
+
storage instanceof StorageKnex_1.StorageKnex &&
|
|
254
|
+
jsonBodyLimit >= 4096 &&
|
|
255
|
+
(this.maxRpcResponseBytes === -1 || this.maxRpcResponseBytes >= 4096)) {
|
|
256
|
+
this.syncTransfers = new KnexSyncTransferStore_1.KnexSyncTransferStore(storage.knex, {
|
|
257
|
+
version: 1,
|
|
258
|
+
maxBytes: SyncTransfer_1.SYNC_TRANSFER_MAX_BYTES,
|
|
259
|
+
inlineBytes: Math.min(6 * 1024 * 1024, Math.floor(jsonBodyLimit / 2), this.maxRpcResponseBytes === -1 ? SyncTransfer_1.SYNC_TRANSFER_MAX_BYTES : Math.floor(this.maxRpcResponseBytes / 2)),
|
|
260
|
+
partBytes: Math.min(SyncTransfer_1.SYNC_TRANSFER_PART_BYTES, Math.floor(jsonBodyLimit / 4), this.maxRpcResponseBytes === -1 ? SyncTransfer_1.SYNC_TRANSFER_PART_BYTES : Math.floor(this.maxRpcResponseBytes / 4))
|
|
261
|
+
});
|
|
262
|
+
}
|
|
212
263
|
const legacyLogShortReqs = options['logShortReqs'];
|
|
213
264
|
if (legacyLogShortReqs) {
|
|
214
265
|
this.setupShortReqLogging();
|
|
@@ -340,7 +391,7 @@ class StorageServer {
|
|
|
340
391
|
res.status(200).json({ uploaded: true });
|
|
341
392
|
}
|
|
342
393
|
catch (error) {
|
|
343
|
-
const json =
|
|
394
|
+
const json = publicWalletErrorJson(error);
|
|
344
395
|
res.status(400).json(JSON.parse(json));
|
|
345
396
|
}
|
|
346
397
|
});
|
|
@@ -356,7 +407,7 @@ class StorageServer {
|
|
|
356
407
|
res.status(200).json({ uploaded: true });
|
|
357
408
|
}
|
|
358
409
|
catch (error) {
|
|
359
|
-
const json =
|
|
410
|
+
const json = publicWalletErrorJson(error);
|
|
360
411
|
res.status(400).json(JSON.parse(json));
|
|
361
412
|
}
|
|
362
413
|
});
|
|
@@ -389,7 +440,9 @@ class StorageServer {
|
|
|
389
440
|
const logObj = this.createRpcLog(req, method, id, params);
|
|
390
441
|
try {
|
|
391
442
|
this.enforceRpcRequestBudgets(method, params);
|
|
392
|
-
const dispatch =
|
|
443
|
+
const dispatch = method.endsWith('SyncTransfer') || method.endsWith('SyncTransferPart')
|
|
444
|
+
? await this.dispatchSyncTransfer(method, params, req)
|
|
445
|
+
: await this.dispatchRpcCall(method, params, req, logObj, rpcSpan);
|
|
393
446
|
if (!dispatch.found) {
|
|
394
447
|
return this.sendRpc(res, useBinary, {
|
|
395
448
|
jsonrpc: '2.0',
|
|
@@ -397,12 +450,30 @@ class StorageServer {
|
|
|
397
450
|
id
|
|
398
451
|
}, 400);
|
|
399
452
|
}
|
|
400
|
-
|
|
453
|
+
const result = useBinary && method === 'getSyncChunk' ? (0, syncChunkBinary_1.syncChunkBinary)(dispatch.result) : dispatch.result;
|
|
454
|
+
// JSON-RPC success responses must carry a result member. Preserve an
|
|
455
|
+
// explicit null for void storage methods rather than letting
|
|
456
|
+
// JSON.stringify silently omit an undefined result.
|
|
457
|
+
const payload = { jsonrpc: '2.0', result: result ?? null, id };
|
|
458
|
+
const serialized = escapeRpcJson((0, BinaryJson_1.stringifyJsonRpc)(payload, useBinary));
|
|
459
|
+
// Apply the response bound before consulting any client transport preference.
|
|
460
|
+
if (this.maxRpcResponseBytes !== -1 && Buffer.byteLength(serialized, 'utf8') > this.maxRpcResponseBytes) {
|
|
461
|
+
return await this.sendOversizedSyncResponse(req, res, useBinary, method, params, payload);
|
|
462
|
+
}
|
|
463
|
+
return this.sendRpc(res, useBinary, payload, 200, serialized);
|
|
401
464
|
}
|
|
402
465
|
catch (error) {
|
|
403
466
|
return this.sendRpcError(res, useBinary, id, error);
|
|
404
467
|
}
|
|
405
468
|
}
|
|
469
|
+
async sendOversizedSyncResponse(req, res, useBinary, method, params, payload) {
|
|
470
|
+
// Dispatch already applied normal RPC authorization. Negotiation changes only framing.
|
|
471
|
+
if (method !== 'getSyncChunk' || params[0]?.syncTransferVersion !== 1 || this.syncTransfers == null) {
|
|
472
|
+
return this.sendRpc(res, useBinary, payload);
|
|
473
|
+
}
|
|
474
|
+
const manifest = await this.syncTransfers.beginRead(requiredAuthenticatedIdentityKey(req), (0, SyncTransfer_1.syncTransferDigest)((0, SyncTransfer_1.encodeSyncTransfer)(params[0])), (0, SyncTransfer_1.encodeSyncTransfer)((0, syncChunkBinary_1.syncChunkBinary)(payload.result)));
|
|
475
|
+
return this.sendRpc(res, useBinary, { ...payload, result: { syncTransfer: manifest } });
|
|
476
|
+
}
|
|
406
477
|
traceHttpRequest(req, res, next) {
|
|
407
478
|
const span = this.telemetry.startSpan('wallet.storage.http.request', {
|
|
408
479
|
component: 'wallet-storage-server',
|
|
@@ -436,9 +507,8 @@ class StorageServer {
|
|
|
436
507
|
});
|
|
437
508
|
next();
|
|
438
509
|
}
|
|
439
|
-
sendRpc(res, useBinary, payload, status = 200) {
|
|
510
|
+
sendRpc(res, useBinary, payload, status = 200, serialized = escapeRpcJson((0, BinaryJson_1.stringifyJsonRpc)(payload, useBinary))) {
|
|
440
511
|
res.set('X-Content-Type-Options', 'nosniff');
|
|
441
|
-
const serialized = (0, BinaryJson_1.stringifyJsonRpc)(payload, useBinary);
|
|
442
512
|
if (this.maxRpcResponseBytes !== -1 && Buffer.byteLength(serialized, 'utf8') > this.maxRpcResponseBytes) {
|
|
443
513
|
return res.status(413).json({
|
|
444
514
|
jsonrpc: '2.0',
|
|
@@ -459,6 +529,7 @@ class StorageServer {
|
|
|
459
529
|
if (topLevelIndex != null) {
|
|
460
530
|
const args = this.objectArgument(params, topLevelIndex);
|
|
461
531
|
args.limit = this.normalizedRpcLimit(args.limit);
|
|
532
|
+
args.offset = this.normalizedRpcOffset(args.offset);
|
|
462
533
|
}
|
|
463
534
|
const pagedIndex = pagedLimitArgument.get(method);
|
|
464
535
|
if (pagedIndex != null) {
|
|
@@ -468,8 +539,22 @@ class StorageServer {
|
|
|
468
539
|
throw new TypeError('paged must be an object');
|
|
469
540
|
}
|
|
470
541
|
paged.limit = this.normalizedRpcLimit(paged.limit);
|
|
542
|
+
paged.offset = this.normalizedRpcOffset(paged.offset);
|
|
471
543
|
args.paged = paged;
|
|
472
544
|
}
|
|
545
|
+
if (method === 'getSyncChunk' || method === 'processSyncChunk') {
|
|
546
|
+
const args = this.objectArgument(params, 0);
|
|
547
|
+
if (args.offsets != null) {
|
|
548
|
+
if (!Array.isArray(args.offsets))
|
|
549
|
+
throw new TypeError('offsets must be an array');
|
|
550
|
+
for (const entry of args.offsets) {
|
|
551
|
+
if (entry == null || typeof entry !== 'object' || Array.isArray(entry)) {
|
|
552
|
+
throw new TypeError('offset entries must be objects');
|
|
553
|
+
}
|
|
554
|
+
entry.offset = this.normalizedRpcOffset(entry.offset);
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
}
|
|
473
558
|
if (method === 'getSyncChunk') {
|
|
474
559
|
const args = this.objectArgument(params, 0);
|
|
475
560
|
args.maxItems = this.normalizedRpcLimit(args.maxItems);
|
|
@@ -490,6 +575,9 @@ class StorageServer {
|
|
|
490
575
|
throw new RangeError('RPC parameter nesting exceeds 64 levels');
|
|
491
576
|
if (current.value == null || typeof current.value !== 'object')
|
|
492
577
|
continue;
|
|
578
|
+
// Decoded binary values are bounded by the HTTP body limit, not item cardinality.
|
|
579
|
+
if (current.value instanceof Uint8Array)
|
|
580
|
+
continue;
|
|
493
581
|
if (seen.has(current.value))
|
|
494
582
|
continue;
|
|
495
583
|
seen.add(current.value);
|
|
@@ -526,12 +614,24 @@ class StorageServer {
|
|
|
526
614
|
}
|
|
527
615
|
return limit;
|
|
528
616
|
}
|
|
617
|
+
normalizedRpcOffset(value) {
|
|
618
|
+
if (value == null)
|
|
619
|
+
return 0;
|
|
620
|
+
if (!Number.isSafeInteger(value) || Number(value) < 0) {
|
|
621
|
+
throw new RangeError('RPC list offsets must be non-negative safe integers');
|
|
622
|
+
}
|
|
623
|
+
const offset = Number(value);
|
|
624
|
+
if (this.maxRpcListOffset !== -1 && offset > this.maxRpcListOffset) {
|
|
625
|
+
throw new RangeError(`RPC list offsets must not exceed ${this.maxRpcListOffset}`);
|
|
626
|
+
}
|
|
627
|
+
return offset;
|
|
628
|
+
}
|
|
529
629
|
sendRpcError(res, useBinary, id, error) {
|
|
530
630
|
/**
|
|
531
631
|
* Convert errors to standard JSON object format that can be converted back
|
|
532
632
|
* to WalletError derived objects on the client side and re-thrown.
|
|
533
633
|
*/
|
|
534
|
-
const json =
|
|
634
|
+
const json = publicWalletErrorJson(error);
|
|
535
635
|
return this.sendRpc(res, useBinary, {
|
|
536
636
|
jsonrpc: '2.0',
|
|
537
637
|
error: JSON.parse(json),
|
|
@@ -560,7 +660,13 @@ class StorageServer {
|
|
|
560
660
|
async dispatchRpcCall(method, params, req, logObj, rpcSpan) {
|
|
561
661
|
if (!storageRpcMethods.has(method))
|
|
562
662
|
return { found: false };
|
|
563
|
-
const storageMethod = method === 'findOutputBaskets'
|
|
663
|
+
const storageMethod = method === 'findOutputBaskets'
|
|
664
|
+
? 'findOutputBasketsAuth'
|
|
665
|
+
: method === 'findProvenTxReqs'
|
|
666
|
+
? 'findProvenTxReqsAuth'
|
|
667
|
+
: method === 'updateProvenTxReqWithNewProvenTx'
|
|
668
|
+
? 'updateProvenTxReqWithNewProvenTxAuth'
|
|
669
|
+
: method;
|
|
564
670
|
const storageHandler = this.storage[storageMethod];
|
|
565
671
|
if (typeof storageHandler !== 'function')
|
|
566
672
|
return { found: false };
|
|
@@ -569,7 +675,16 @@ class StorageServer {
|
|
|
569
675
|
return { found: true, result: undefined };
|
|
570
676
|
const logger = this.createRpcLogger(method, params);
|
|
571
677
|
try {
|
|
572
|
-
|
|
678
|
+
let result = await this.traceRpcStep('wallet.storage.handler', rpcSpan, async () => await storageHandler.call(this.storage, ...params), { 'rpc.method': method });
|
|
679
|
+
if ((method === 'makeAvailable' || method === 'getSettings') &&
|
|
680
|
+
typeof this.storage.getSyncCheckpoint === 'function') {
|
|
681
|
+
// Advertise on the wire without mutating the persisted settings object.
|
|
682
|
+
result = {
|
|
683
|
+
...result,
|
|
684
|
+
syncCheckpointVersion: 1,
|
|
685
|
+
...(this.syncTransfers == null ? {} : { syncTransfer: this.syncTransfers.capabilities })
|
|
686
|
+
};
|
|
687
|
+
}
|
|
573
688
|
this.finishRpcLogging(logger, result);
|
|
574
689
|
return { found: true, result };
|
|
575
690
|
}
|
|
@@ -579,6 +694,70 @@ class StorageServer {
|
|
|
579
694
|
throw error;
|
|
580
695
|
}
|
|
581
696
|
}
|
|
697
|
+
async dispatchSyncTransfer(method, params, req) {
|
|
698
|
+
const transfers = this.syncTransfers;
|
|
699
|
+
if (transfers == null)
|
|
700
|
+
return { found: false };
|
|
701
|
+
const identityKey = requiredAuthenticatedIdentityKey(req);
|
|
702
|
+
const input = params[0];
|
|
703
|
+
if (input == null || typeof input !== 'object' || input.identityKey !== identityKey) {
|
|
704
|
+
throw new WERR_errors_1.WERR_UNAUTHORIZED('Sync transfer identity must match authentication');
|
|
705
|
+
}
|
|
706
|
+
let result;
|
|
707
|
+
switch (method) {
|
|
708
|
+
case 'beginReadSyncTransfer': {
|
|
709
|
+
const args = input.args;
|
|
710
|
+
if (args?.identityKey !== identityKey ||
|
|
711
|
+
args.fromStorageIdentityKey !== this.storage.getSettings().storageIdentityKey) {
|
|
712
|
+
throw new WERR_errors_1.WERR_UNAUTHORIZED('Sync transfer source must match authenticated storage');
|
|
713
|
+
}
|
|
714
|
+
// Retain existing request validation, authorization, ordering and user scoping.
|
|
715
|
+
const context = (0, SyncTransfer_1.syncTransferDigest)((0, SyncTransfer_1.encodeSyncTransfer)(args));
|
|
716
|
+
this.enforceRpcRequestBudgets('getSyncChunk', [args]);
|
|
717
|
+
await this.authorizeRpcCall('getSyncChunk', [args], req);
|
|
718
|
+
const chunk = await this.storage.getSyncChunk(args);
|
|
719
|
+
const bytes = (0, SyncTransfer_1.encodeSyncTransfer)((0, syncChunkBinary_1.syncChunkBinary)(chunk));
|
|
720
|
+
result = await transfers.beginRead(identityKey, context, bytes);
|
|
721
|
+
break;
|
|
722
|
+
}
|
|
723
|
+
case 'readSyncTransferPart':
|
|
724
|
+
result = await transfers.read(identityKey, input.transferId, input.offset);
|
|
725
|
+
break;
|
|
726
|
+
case 'beginWriteSyncTransfer':
|
|
727
|
+
result = await transfers.beginWrite(identityKey, input.digest, input.totalBytes);
|
|
728
|
+
break;
|
|
729
|
+
case 'writeSyncTransferPart':
|
|
730
|
+
result = await transfers.write(identityKey, input.transferId, input.offset, input.bytes);
|
|
731
|
+
break;
|
|
732
|
+
case 'commitSyncTransfer': {
|
|
733
|
+
const staged = await transfers.loadWrite(identityKey, input.transferId);
|
|
734
|
+
if (staged.result !== undefined)
|
|
735
|
+
return { found: true, result: staged.result };
|
|
736
|
+
const payload = (0, SyncTransfer_1.decodeSyncTransfer)(staged.bytes);
|
|
737
|
+
if (payload?.args?.identityKey !== identityKey ||
|
|
738
|
+
payload.chunk?.userIdentityKey !== identityKey ||
|
|
739
|
+
payload.args.toStorageIdentityKey !== this.storage.getSettings().storageIdentityKey ||
|
|
740
|
+
payload.chunk.toStorageIdentityKey !== payload.args.toStorageIdentityKey ||
|
|
741
|
+
payload.chunk.fromStorageIdentityKey !== payload.args.fromStorageIdentityKey) {
|
|
742
|
+
throw new WERR_errors_1.WERR_UNAUTHORIZED('Sync transfer wallet and storage identities must match');
|
|
743
|
+
}
|
|
744
|
+
// Mark only the reconstructed request: old peers retain their existing wire contract.
|
|
745
|
+
payload.args.requireMatchingCheckpoint = true;
|
|
746
|
+
this.enforceRpcRequestBudgets('processSyncChunk', [payload.args, payload.chunk]);
|
|
747
|
+
const dispatch = await this.dispatchRpcCall('processSyncChunk', [payload.args, payload.chunk], req);
|
|
748
|
+
result = dispatch.result;
|
|
749
|
+
await transfers.complete(identityKey, input.transferId, result);
|
|
750
|
+
break;
|
|
751
|
+
}
|
|
752
|
+
case 'releaseSyncTransfer':
|
|
753
|
+
await transfers.release(identityKey, input.transferId);
|
|
754
|
+
result = true;
|
|
755
|
+
break;
|
|
756
|
+
default:
|
|
757
|
+
return { found: false };
|
|
758
|
+
}
|
|
759
|
+
return { found: true, result };
|
|
760
|
+
}
|
|
582
761
|
async traceRpcStep(name, parent, callback, attributes) {
|
|
583
762
|
if (parent == null)
|
|
584
763
|
return await callback();
|
|
@@ -592,7 +771,8 @@ class StorageServer {
|
|
|
592
771
|
async authorizeRpcCall(method, params, req, logObj) {
|
|
593
772
|
switch (method) {
|
|
594
773
|
case 'destroy':
|
|
595
|
-
|
|
774
|
+
case 'migrate':
|
|
775
|
+
this.logIgnoredLifecycleMutation(logObj);
|
|
596
776
|
return false;
|
|
597
777
|
case 'getSettings':
|
|
598
778
|
return true;
|
|
@@ -604,19 +784,24 @@ class StorageServer {
|
|
|
604
784
|
case 'adminStats':
|
|
605
785
|
this.authorizeAdminStats(params, req);
|
|
606
786
|
return true;
|
|
787
|
+
case 'findProvenTxReqs':
|
|
788
|
+
case 'updateProvenTxReqWithNewProvenTx': {
|
|
789
|
+
const args = params[0];
|
|
790
|
+
const auth = await this.authenticatedAuth(req, activeStorageRpcMethods.has(method));
|
|
791
|
+
params.splice(0, params.length, auth, args);
|
|
792
|
+
return true;
|
|
793
|
+
}
|
|
607
794
|
case 'processSyncChunk':
|
|
608
795
|
await this.validateParam0(params, req);
|
|
609
796
|
(0, entityValidationHelpers_1.validateSyncChunkEntities)(params[1]);
|
|
610
|
-
|
|
611
|
-
await (0, validateSyncProof_1.validateSyncProof)(this.storage, proof);
|
|
612
|
-
}
|
|
797
|
+
await (0, validateRpcSyncProofs_1.validateSyncProofs)(this.storage, params[1].provenTxs ?? []);
|
|
613
798
|
return true;
|
|
614
799
|
default:
|
|
615
800
|
await this.authorizeStandardRpcCall(method, params, req);
|
|
616
801
|
return true;
|
|
617
802
|
}
|
|
618
803
|
}
|
|
619
|
-
|
|
804
|
+
logIgnoredLifecycleMutation(logObj) {
|
|
620
805
|
if (logObj == null)
|
|
621
806
|
return;
|
|
622
807
|
logObj.result = undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageServer.js","sourceRoot":"","sources":["../../../../src/storage/remoting/StorageServer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StorageServer.js","sourceRoot":"","sources":["../../../../src/storage/remoting/StorageServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** Versioned transport framing; the reconstructed BRC-40 request/response is unchanged. */
|
|
2
|
+
export interface SyncTransferCapabilities {
|
|
3
|
+
version: 1;
|
|
4
|
+
maxBytes: number;
|
|
5
|
+
partBytes: number;
|
|
6
|
+
inlineBytes?: number;
|
|
7
|
+
}
|
|
8
|
+
export interface SyncTransferManifest {
|
|
9
|
+
transferId: string;
|
|
10
|
+
digest: string;
|
|
11
|
+
totalBytes: number;
|
|
12
|
+
partBytes: number;
|
|
13
|
+
expiresAt: number;
|
|
14
|
+
}
|
|
15
|
+
export interface SyncTransferPart {
|
|
16
|
+
offset: number;
|
|
17
|
+
bytes: Uint8Array;
|
|
18
|
+
}
|
|
19
|
+
export declare const SYNC_TRANSFER_MAX_BYTES: number;
|
|
20
|
+
export declare const SYNC_TRANSFER_PART_BYTES: number;
|
|
21
|
+
export declare function syncTransferDigest(bytes: Uint8Array): string;
|
|
22
|
+
/** A length-prefixed JSON metadata header followed by raw byte fields, without base64 expansion. */
|
|
23
|
+
export declare function encodeSyncTransfer(value: unknown): Uint8Array;
|
|
24
|
+
export declare function decodeSyncTransfer(bytes: Uint8Array): unknown;
|
|
25
|
+
export declare function validateSyncTransferCapabilities(value: SyncTransferCapabilities): SyncTransferCapabilities;
|
|
26
|
+
export declare function validateSyncTransferManifest(value: SyncTransferManifest, capabilities: SyncTransferCapabilities): SyncTransferManifest;
|
|
27
|
+
/** Read-only part retries never advance the wallet's durable BRC-40 checkpoint. */
|
|
28
|
+
export declare function receiveSyncTransfer(manifest: SyncTransferManifest, read: (offset: number) => Promise<SyncTransferPart>): Promise<unknown>;
|
|
29
|
+
//# sourceMappingURL=SyncTransfer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SyncTransfer.d.ts","sourceRoot":"","sources":["../../../../src/storage/remoting/SyncTransfer.ts"],"names":[],"mappings":"AAIA,2FAA2F;AAC3F,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,CAAC,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,UAAU,CAAA;CAClB;AAED,eAAO,MAAM,uBAAuB,QAAmB,CAAA;AACvD,eAAO,MAAM,wBAAwB,QAAa,CAAA;AAElD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAE5D;AAOD,oGAAoG;AACpG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,CAkC7D;AAyBD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CA0B7D;AAED,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,wBAAwB,GAAG,wBAAwB,CAiB1G;AAED,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,oBAAoB,EAC3B,YAAY,EAAE,wBAAwB,GACrC,oBAAoB,CAetB;AAED,mFAAmF;AACnF,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,oBAAoB,EAC9B,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,CAAC,GAClD,OAAO,CAAC,OAAO,CAAC,CAalB"}
|