@bopen-io/wallet-toolbox 2.6.2-brc153.3 → 2.14.5
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 +744 -1
- package/LICENSES/Open-BSV-License-4-wallet-pre-2026.txt +28 -0
- package/README.md +823 -14
- package/THIRD_PARTY_NOTICES.md +35 -0
- package/docs/README.md +44 -31
- package/docs/action-batch-planning.md +80 -37
- package/docs/client.md +12996 -4571
- package/docs/identity-verification.md +218 -0
- package/docs/local-first-chaintracks.md +129 -0
- package/docs/managed-change-liquidity.md +258 -0
- package/docs/managed-change-policy.md +14 -1
- package/docs/monitor.md +505 -190
- package/docs/no-send-expiry.md +167 -0
- package/docs/prepared-beef.md +197 -0
- package/docs/services.md +4013 -1153
- package/docs/setup.md +107 -56
- package/docs/storage.md +5781 -1599
- package/docs/sync-transfer.md +144 -0
- package/docs/wab-shamir.md +5 -1
- package/docs/wallet.md +10188 -10904
- package/out/src/CWIStyleWalletManager.d.ts +39 -31
- package/out/src/CWIStyleWalletManager.d.ts.map +1 -1
- package/out/src/CWIStyleWalletManager.js +309 -258
- package/out/src/CWIStyleWalletManager.js.map +1 -1
- package/out/src/Setup.d.ts +14 -0
- package/out/src/Setup.d.ts.map +1 -1
- package/out/src/Setup.js +6 -2
- package/out/src/Setup.js.map +1 -1
- package/out/src/SetupClient.d.ts +3 -0
- package/out/src/SetupClient.d.ts.map +1 -1
- package/out/src/SetupClient.js +1 -0
- package/out/src/SetupClient.js.map +1 -1
- package/out/src/SetupWallet.d.ts +3 -0
- package/out/src/SetupWallet.d.ts.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 +54 -14
- package/out/src/Wallet.d.ts.map +1 -1
- package/out/src/Wallet.js +216 -114
- package/out/src/Wallet.js.map +1 -1
- package/out/src/WalletAuthenticationManager.d.ts +32 -0
- package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
- package/out/src/WalletAuthenticationManager.js +531 -78
- 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 +101 -43
- package/out/src/WalletPermissionsManager.d.ts.map +1 -1
- package/out/src/WalletPermissionsManager.js +897 -414
- 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 +143 -8
- 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/index.client.d.ts +6 -0
- package/out/src/index.client.d.ts.map +1 -1
- package/out/src/index.client.js +16 -1
- package/out/src/index.client.js.map +1 -1
- package/out/src/index.mobile.d.ts +7 -0
- package/out/src/index.mobile.d.ts.map +1 -1
- package/out/src/index.mobile.js +17 -1
- package/out/src/index.mobile.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 +2 -0
- package/out/src/mockchain/MockServices.d.ts.map +1 -1
- package/out/src/mockchain/MockServices.js +54 -14
- package/out/src/mockchain/MockServices.js.map +1 -1
- package/out/src/monitor/Monitor.d.ts +51 -0
- package/out/src/monitor/Monitor.d.ts.map +1 -1
- package/out/src/monitor/Monitor.js +282 -41
- 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 +6 -1
- package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskArcSSE.js +117 -74
- 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/TaskNoSendExpiry.d.ts +19 -0
- package/out/src/monitor/tasks/TaskNoSendExpiry.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskNoSendExpiry.js +47 -0
- package/out/src/monitor/tasks/TaskNoSendExpiry.js.map +1 -0
- package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts +27 -0
- package/out/src/monitor/tasks/TaskReconcilePendingTransactions.d.ts.map +1 -0
- package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js +242 -0
- package/out/src/monitor/tasks/TaskReconcilePendingTransactions.js.map +1 -0
- 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 +31 -9
- 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 +33 -6
- package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.js +189 -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/monitor/tasks/index.all.d.ts +2 -0
- package/out/src/monitor/tasks/index.all.d.ts.map +1 -1
- package/out/src/monitor/tasks/index.all.js +2 -0
- package/out/src/monitor/tasks/index.all.js.map +1 -1
- package/out/src/sdk/ActionBatch.interfaces.d.ts +23 -0
- package/out/src/sdk/ActionBatch.interfaces.d.ts.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/WERR_errors.d.ts +23 -0
- package/out/src/sdk/WERR_errors.d.ts.map +1 -1
- package/out/src/sdk/WERR_errors.js +51 -7
- package/out/src/sdk/WERR_errors.js.map +1 -1
- package/out/src/sdk/WalletError.d.ts.map +1 -1
- package/out/src/sdk/WalletError.js +7 -21
- package/out/src/sdk/WalletError.js.map +1 -1
- package/out/src/sdk/WalletErrorFromJson.d.ts.map +1 -1
- package/out/src/sdk/WalletErrorFromJson.js +121 -3
- package/out/src/sdk/WalletErrorFromJson.js.map +1 -1
- package/out/src/sdk/WalletServices.interfaces.d.ts +45 -2
- package/out/src/sdk/WalletServices.interfaces.d.ts.map +1 -1
- package/out/src/sdk/WalletStorage.interfaces.d.ts +87 -4
- package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
- package/out/src/sdk/types.d.ts +3 -2
- package/out/src/sdk/types.d.ts.map +1 -1
- package/out/src/sdk/types.js +3 -2
- package/out/src/sdk/types.js.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 +346 -120
- 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 +269 -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 +122 -0
- package/out/src/services/chaintracker/LocalChainTracker.d.ts.map +1 -0
- package/out/src/services/chaintracker/LocalChainTracker.js +465 -0
- package/out/src/services/chaintracker/LocalChainTracker.js.map +1 -0
- 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/BulkFileDataCacheApi.d.ts +48 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.js +3 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataCacheApi.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.d.ts +70 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.js +21 -0
- package/out/src/services/chaintracker/chaintracks/Api/BulkFileDataValidatorApi.js.map +1 -0
- 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 +53 -0
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +9 -2
- 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 +28 -3
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js +282 -64
- 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 +348 -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 +378 -44
- 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 +230 -28
- 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 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +240 -87
- 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.d.ts +8 -0
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +6 -3
- 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/index.all.d.ts +3 -0
- package/out/src/services/chaintracker/chaintracks/index.all.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.all.js +3 -0
- package/out/src/services/chaintracker/chaintracks/index.all.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +5 -0
- package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/index.mobile.js +5 -0
- package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts +51 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js +394 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataCacheFs.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +45 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +733 -166
- 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 +32 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js +40 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataValidator.worker.js.map +1 -0
- 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 +3 -1
- 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 +38 -4
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +191 -47
- 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 +48 -0
- package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js +280 -0
- package/out/src/services/chaintracker/chaintracks/util/DurableFileBulkFileDownloadBudget.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts +30 -0
- package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.js +57 -0
- package/out/src/services/chaintracker/chaintracks/util/FixedWindowBulkFileDownloadBudget.js.map +1 -0
- 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 +14 -0
- package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js +148 -0
- package/out/src/services/chaintracker/chaintracks/util/InlineBulkFileDataValidator.js.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts +41 -0
- package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.d.ts.map +1 -0
- package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js +271 -0
- package/out/src/services/chaintracker/chaintracks/util/NodeBulkFileDataValidator.js.map +1 -0
- 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 +17 -4
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +362 -105
- 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/chaintracker/index.all.d.ts +1 -0
- package/out/src/services/chaintracker/index.all.d.ts.map +1 -1
- package/out/src/services/chaintracker/index.all.js +1 -0
- package/out/src/services/chaintracker/index.all.js.map +1 -1
- package/out/src/services/chaintracker/index.client.d.ts +1 -0
- package/out/src/services/chaintracker/index.client.d.ts.map +1 -1
- package/out/src/services/chaintracker/index.client.js +1 -0
- package/out/src/services/chaintracker/index.client.js.map +1 -1
- package/out/src/services/chaintracker/index.mobile.d.ts +1 -0
- package/out/src/services/chaintracker/index.mobile.d.ts.map +1 -1
- package/out/src/services/chaintracker/index.mobile.js +1 -0
- package/out/src/services/chaintracker/index.mobile.js.map +1 -1
- package/out/src/services/classifyOutputUtxo.d.ts +25 -0
- package/out/src/services/classifyOutputUtxo.d.ts.map +1 -0
- package/out/src/services/classifyOutputUtxo.js +96 -0
- package/out/src/services/classifyOutputUtxo.js.map +1 -0
- package/out/src/services/createDefaultWalletServicesOptions.d.ts +16 -3
- package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.js +38 -8
- package/out/src/services/createDefaultWalletServicesOptions.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 +38 -23
- package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
- package/out/src/services/providers/ArcSSEClient.js +384 -63
- package/out/src/services/providers/ArcSSEClient.js.map +1 -1
- package/out/src/services/providers/Arcade.d.ts +11 -1
- package/out/src/services/providers/Arcade.d.ts.map +1 -1
- package/out/src/services/providers/Arcade.js +111 -33
- 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/arcadeStatus.d.ts +18 -0
- package/out/src/services/providers/arcadeStatus.d.ts.map +1 -0
- package/out/src/services/providers/arcadeStatus.js +56 -0
- package/out/src/services/providers/arcadeStatus.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 +29 -6
- package/out/src/signer/actionBatch/ActionBatchPlanner.js.map +1 -1
- package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts +8 -5
- package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +1 -1
- package/out/src/signer/actionBatch/ActionBatchWorkspace.js +186 -73
- 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 +3 -1
- package/out/src/signer/methods/createAction.js.map +1 -1
- package/out/src/signer/methods/createNoSendExpiryAction.d.ts +7 -0
- package/out/src/signer/methods/createNoSendExpiryAction.d.ts.map +1 -0
- package/out/src/signer/methods/createNoSendExpiryAction.js +254 -0
- package/out/src/signer/methods/createNoSendExpiryAction.js.map +1 -0
- package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/signer/methods/internalizeAction.js +9 -5
- 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 +12 -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 +11 -3
- package/out/src/storage/StorageIdb.d.ts.map +1 -1
- package/out/src/storage/StorageIdb.js +134 -44
- package/out/src/storage/StorageIdb.js.map +1 -1
- package/out/src/storage/StorageKnex.d.ts +68 -7
- package/out/src/storage/StorageKnex.d.ts.map +1 -1
- package/out/src/storage/StorageKnex.js +551 -105
- package/out/src/storage/StorageKnex.js.map +1 -1
- package/out/src/storage/StorageProvider.d.ts +41 -10
- package/out/src/storage/StorageProvider.d.ts.map +1 -1
- package/out/src/storage/StorageProvider.js +397 -107
- package/out/src/storage/StorageProvider.js.map +1 -1
- package/out/src/storage/StorageReader.d.ts +9 -3
- package/out/src/storage/StorageReader.d.ts.map +1 -1
- package/out/src/storage/StorageReader.js +21 -43
- package/out/src/storage/StorageReader.js.map +1 -1
- package/out/src/storage/StorageReaderWriter.d.ts +4 -0
- package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
- package/out/src/storage/StorageReaderWriter.js +68 -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 +31 -6
- package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
- package/out/src/storage/WalletStorageManager.js +166 -75
- package/out/src/storage/WalletStorageManager.js.map +1 -1
- package/out/src/storage/adminServer/adminServer.d.ts +3 -1
- package/out/src/storage/adminServer/adminServer.d.ts.map +1 -1
- package/out/src/storage/adminServer/adminServer.js +38 -49
- package/out/src/storage/adminServer/adminServer.js.map +1 -1
- package/out/src/storage/adminServer/adminUi.d.ts.map +1 -1
- package/out/src/storage/adminServer/adminUi.js +32 -9
- package/out/src/storage/adminServer/adminUi.js.map +1 -1
- package/out/src/storage/adminServer/reviewUtxos.d.ts +27 -0
- package/out/src/storage/adminServer/reviewUtxos.d.ts.map +1 -0
- package/out/src/storage/adminServer/reviewUtxos.js +62 -0
- package/out/src/storage/adminServer/reviewUtxos.js.map +1 -0
- package/out/src/storage/idbHelpers.d.ts.map +1 -1
- package/out/src/storage/idbHelpers.js +14 -2
- package/out/src/storage/idbHelpers.js.map +1 -1
- package/out/src/storage/index.all.d.ts +3 -0
- package/out/src/storage/index.all.d.ts.map +1 -1
- package/out/src/storage/index.all.js +3 -0
- package/out/src/storage/index.all.js.map +1 -1
- package/out/src/storage/index.client.d.ts +1 -0
- package/out/src/storage/index.client.d.ts.map +1 -1
- package/out/src/storage/index.client.js +1 -0
- package/out/src/storage/index.client.js.map +1 -1
- package/out/src/storage/index.mobile.d.ts +1 -0
- package/out/src/storage/index.mobile.d.ts.map +1 -1
- package/out/src/storage/index.mobile.js +1 -0
- package/out/src/storage/index.mobile.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 +5 -44
- package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
- package/out/src/storage/methods/actionBatch.d.ts +9 -2
- package/out/src/storage/methods/actionBatch.d.ts.map +1 -1
- package/out/src/storage/methods/actionBatch.js +260 -67
- 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 +47 -26
- 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 +59 -110
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
- package/out/src/storage/methods/availableManagedChange.d.ts +8 -1
- package/out/src/storage/methods/availableManagedChange.d.ts.map +1 -1
- package/out/src/storage/methods/availableManagedChange.js.map +1 -1
- package/out/src/storage/methods/createAction.d.ts +60 -3
- package/out/src/storage/methods/createAction.d.ts.map +1 -1
- package/out/src/storage/methods/createAction.js +391 -107
- package/out/src/storage/methods/createAction.js.map +1 -1
- package/out/src/storage/methods/generateChange.d.ts +15 -5
- package/out/src/storage/methods/generateChange.d.ts.map +1 -1
- package/out/src/storage/methods/generateChange.js +187 -27
- 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 +172 -135
- 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 +22 -11
- 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 +25 -18
- 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 +32 -30
- package/out/src/storage/methods/listOutputsKnex.js.map +1 -1
- package/out/src/storage/methods/managedChangePolicy.d.ts +44 -0
- package/out/src/storage/methods/managedChangePolicy.d.ts.map +1 -0
- package/out/src/storage/methods/managedChangePolicy.js +58 -0
- package/out/src/storage/methods/managedChangePolicy.js.map +1 -0
- package/out/src/storage/methods/maxPossibleSatoshis.d.ts +13 -0
- package/out/src/storage/methods/maxPossibleSatoshis.d.ts.map +1 -0
- package/out/src/storage/methods/maxPossibleSatoshis.js +16 -0
- package/out/src/storage/methods/maxPossibleSatoshis.js.map +1 -0
- package/out/src/storage/methods/noSendExpiry.d.ts +11 -0
- package/out/src/storage/methods/noSendExpiry.d.ts.map +1 -0
- package/out/src/storage/methods/noSendExpiry.js +359 -0
- package/out/src/storage/methods/noSendExpiry.js.map +1 -0
- package/out/src/storage/methods/noSendExpiryLifecycle.d.ts +14 -0
- package/out/src/storage/methods/noSendExpiryLifecycle.d.ts.map +1 -0
- package/out/src/storage/methods/noSendExpiryLifecycle.js +691 -0
- package/out/src/storage/methods/noSendExpiryLifecycle.js.map +1 -0
- package/out/src/storage/methods/preparedBeef.d.ts +104 -0
- package/out/src/storage/methods/preparedBeef.d.ts.map +1 -0
- package/out/src/storage/methods/preparedBeef.js +524 -0
- package/out/src/storage/methods/preparedBeef.js.map +1 -0
- package/out/src/storage/methods/processAction.d.ts.map +1 -1
- package/out/src/storage/methods/processAction.js +144 -32
- package/out/src/storage/methods/processAction.js.map +1 -1
- package/out/src/storage/methods/purgeData.d.ts.map +1 -1
- package/out/src/storage/methods/purgeData.js +21 -3
- package/out/src/storage/methods/purgeData.js.map +1 -1
- package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts +32 -0
- package/out/src/storage/methods/reconcileFailedTransactionInputs.d.ts.map +1 -0
- package/out/src/storage/methods/reconcileFailedTransactionInputs.js +142 -0
- package/out/src/storage/methods/reconcileFailedTransactionInputs.js.map +1 -0
- package/out/src/storage/methods/reviewStatus.d.ts.map +1 -1
- package/out/src/storage/methods/reviewStatus.js +7 -4
- package/out/src/storage/methods/reviewStatus.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 +38 -0
- package/out/src/storage/methods/reviewUtxoOutputs.d.ts.map +1 -0
- package/out/src/storage/methods/reviewUtxoOutputs.js +197 -0
- package/out/src/storage/methods/reviewUtxoOutputs.js.map +1 -0
- package/out/src/storage/methods/validateSyncProof.d.ts +32 -0
- package/out/src/storage/methods/validateSyncProof.d.ts.map +1 -0
- package/out/src/storage/methods/validateSyncProof.js +139 -0
- package/out/src/storage/methods/validateSyncProof.js.map +1 -0
- package/out/src/storage/portable/index.d.ts.map +1 -1
- package/out/src/storage/portable/index.js +25 -15
- 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/KnexPaymentReplayStore.d.ts.map +1 -1
- package/out/src/storage/remoting/KnexPaymentReplayStore.js +1 -0
- package/out/src/storage/remoting/KnexPaymentReplayStore.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 +221 -40
- 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 +57 -10
- package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
- package/out/src/storage/remoting/StorageClientBase.js +372 -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 +221 -20
- 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 +6 -0
- package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
- package/out/src/storage/schema/KnexMigrations.js +194 -5
- package/out/src/storage/schema/KnexMigrations.js.map +1 -1
- package/out/src/storage/schema/StorageIdbSchema.d.ts +3 -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 +24 -4
- package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputBasket.js +5 -2
- package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTx.d.ts +4 -1
- package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTx.js +125 -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 +4 -2
- package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntitySyncState.js +12 -6
- package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
- package/out/src/storage/schema/entities/EntityTransaction.d.ts +26 -0
- package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -1
- package/out/src/storage/schema/entities/EntityTransaction.js +221 -21
- package/out/src/storage/schema/entities/EntityTransaction.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/TablePreparedBeef.interfaces.d.ts +23 -0
- package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.d.ts.map +1 -0
- package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.js +3 -0
- package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.js.map +1 -0
- 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 +2 -2
- 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 +17 -1
- package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -1
- package/out/src/storage/schema/tables/TableTransaction.js +14 -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/Argon2idBackend.d.ts +36 -0
- package/out/src/utility/Argon2idBackend.d.ts.map +1 -0
- package/out/src/utility/Argon2idBackend.js +60 -0
- package/out/src/utility/Argon2idBackend.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/beefForTxids.d.ts +12 -3
- package/out/src/utility/beefForTxids.d.ts.map +1 -1
- package/out/src/utility/beefForTxids.js +69 -21
- package/out/src/utility/beefForTxids.js.map +1 -1
- package/out/src/utility/brc153ReferenceLabels.d.ts +3 -5
- package/out/src/utility/brc153ReferenceLabels.d.ts.map +1 -1
- package/out/src/utility/brc153ReferenceLabels.js +8 -14
- package/out/src/utility/brc153ReferenceLabels.js.map +1 -1
- package/out/src/utility/brc177NoSendExpiry.d.ts +34 -0
- package/out/src/utility/brc177NoSendExpiry.d.ts.map +1 -0
- package/out/src/utility/brc177NoSendExpiry.js +81 -0
- package/out/src/utility/brc177NoSendExpiry.js.map +1 -0
- package/out/src/utility/canonicalizeAtomicBeef.d.ts +12 -0
- package/out/src/utility/canonicalizeAtomicBeef.d.ts.map +1 -0
- package/out/src/utility/canonicalizeAtomicBeef.js +23 -0
- package/out/src/utility/canonicalizeAtomicBeef.js.map +1 -0
- package/out/src/utility/exactActionSpend.d.ts +9 -0
- package/out/src/utility/exactActionSpend.d.ts.map +1 -0
- package/out/src/utility/exactActionSpend.js +26 -0
- package/out/src/utility/exactActionSpend.js.map +1 -0
- package/out/src/utility/hashWasm.d.ts +1 -1
- package/out/src/utility/hashWasm.d.ts.map +1 -1
- package/out/src/utility/hashWasm.js +83 -1
- package/out/src/utility/hashWasm.js.map +1 -1
- 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 +523 -61
- package/out/src/utility/identityUtils.js.map +1 -1
- package/out/src/utility/index.all.d.ts +2 -0
- package/out/src/utility/index.all.d.ts.map +1 -1
- package/out/src/utility/index.all.js +2 -0
- package/out/src/utility/index.all.js.map +1 -1
- package/out/src/utility/index.client.d.ts +2 -0
- package/out/src/utility/index.client.d.ts.map +1 -1
- package/out/src/utility/index.client.js +2 -0
- package/out/src/utility/index.client.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 +1 -1
- package/out/src/utility/utilityHelpers.d.ts.map +1 -1
- package/out/src/utility/utilityHelpers.js +10 -7
- 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 +4 -17
- package/out/src/wab-client/WABClient.d.ts.map +1 -1
- package/out/src/wab-client/WABClient.js +35 -12
- 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/WABTransport.d.ts +17 -23
- package/out/src/wab-client/WABTransport.d.ts.map +1 -1
- package/out/src/wab-client/WABTransport.js +130 -142
- package/out/src/wab-client/WABTransport.js.map +1 -1
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +8 -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 +40 -33
- package/docs/open-rpc/index.html +0 -46
|
@@ -3,11 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.markUserInputsSpent = markUserInputsSpent;
|
|
4
4
|
exports.restoreInputsToSpendable = restoreInputsToSpendable;
|
|
5
5
|
exports.internalizeAction = internalizeAction;
|
|
6
|
+
const validationHelpers_1 = require("@bsv/sdk/wallet/validationHelpers");
|
|
6
7
|
const sdk_1 = require("@bsv/sdk");
|
|
8
|
+
const utils_1 = require("@bsv/sdk/primitives/utils");
|
|
7
9
|
const processAction_1 = require("./processAction");
|
|
8
10
|
const WERR_errors_1 = require("../../sdk/WERR_errors");
|
|
11
|
+
const canonicalizeAtomicBeef_1 = require("../../utility/canonicalizeAtomicBeef");
|
|
9
12
|
const utilityHelpers_1 = require("../../utility/utilityHelpers");
|
|
10
|
-
const brc153ReferenceLabels_1 = require("../../utility/brc153ReferenceLabels");
|
|
11
13
|
const EntityProvenTxReq_1 = require("../schema/entities/EntityProvenTxReq");
|
|
12
14
|
const blockHeaderUtilities_1 = require("../../services/chaintracker/chaintracks/util/blockHeaderUtilities");
|
|
13
15
|
const managedChange_1 = require("./managedChange");
|
|
@@ -39,7 +41,7 @@ const managedChange_1 = require("./managedChange");
|
|
|
39
41
|
* `spentBy` a different transaction are also skipped (a competing spend
|
|
40
42
|
* has been recorded; do not overwrite).
|
|
41
43
|
*/
|
|
42
|
-
async function markUserInputsSpent(storage, userId, tx, transactionId) {
|
|
44
|
+
async function markUserInputsSpent(storage, userId, tx, transactionId, trx) {
|
|
43
45
|
const outpoints = tx.inputs
|
|
44
46
|
.map(i => ({ txid: i.sourceTXID ?? '', vout: i.sourceOutputIndex ?? 0 }))
|
|
45
47
|
.filter(o => o.txid !== '');
|
|
@@ -66,7 +68,7 @@ async function markUserInputsSpent(storage, userId, tx, transactionId) {
|
|
|
66
68
|
transitioned.push({ outputId: (0, utilityHelpers_1.verifyId)(o.outputId), setSpentBy });
|
|
67
69
|
}
|
|
68
70
|
}
|
|
69
|
-
});
|
|
71
|
+
}, trx);
|
|
70
72
|
return transitioned;
|
|
71
73
|
}
|
|
72
74
|
/**
|
|
@@ -85,17 +87,15 @@ async function markUserInputsSpent(storage, userId, tx, transactionId) {
|
|
|
85
87
|
* covers cross-user rows and any path where the downstream restore did not
|
|
86
88
|
* run, and is a no-op when the downstream restore already happened.
|
|
87
89
|
*/
|
|
88
|
-
async function restoreInputsToSpendable(storage, transitions) {
|
|
90
|
+
async function restoreInputsToSpendable(storage, transitions, trx) {
|
|
89
91
|
if (transitions.length === 0)
|
|
90
92
|
return;
|
|
91
93
|
await storage.transaction(async (trx) => {
|
|
92
94
|
for (const t of transitions) {
|
|
93
|
-
const update = t.setSpentBy
|
|
94
|
-
? { spendable: true, spentBy: undefined }
|
|
95
|
-
: { spendable: true };
|
|
95
|
+
const update = t.setSpentBy ? { spendable: true, spentBy: undefined } : { spendable: true };
|
|
96
96
|
await storage.updateOutput((0, utilityHelpers_1.verifyId)(t.outputId), update, trx);
|
|
97
97
|
}
|
|
98
|
-
});
|
|
98
|
+
}, trx);
|
|
99
99
|
}
|
|
100
100
|
/**
|
|
101
101
|
* Internalize Action allows a wallet to take ownership of outputs in a pre-existing transaction.
|
|
@@ -176,7 +176,7 @@ class InternalizeActionContext {
|
|
|
176
176
|
this.storage = storage;
|
|
177
177
|
this.auth = auth;
|
|
178
178
|
this.args = args;
|
|
179
|
-
this.vargs =
|
|
179
|
+
this.vargs = (0, validationHelpers_1.validateInternalizeActionArgs)(args);
|
|
180
180
|
this.userId = auth.userId;
|
|
181
181
|
this.r = {
|
|
182
182
|
accepted: true,
|
|
@@ -211,14 +211,14 @@ class InternalizeActionContext {
|
|
|
211
211
|
set satoshis(v) {
|
|
212
212
|
this.r.satoshis = v;
|
|
213
213
|
}
|
|
214
|
-
async getBasket(basketName) {
|
|
214
|
+
async getBasket(basketName, trx) {
|
|
215
215
|
if (basketName === 'default') {
|
|
216
216
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('insertionRemittance.basket', 'a non-default basket');
|
|
217
217
|
}
|
|
218
218
|
let b = this.baskets[basketName];
|
|
219
219
|
if (b)
|
|
220
220
|
return b;
|
|
221
|
-
b = await this.storage.findOrInsertOutputBasket(this.userId, basketName);
|
|
221
|
+
b = await this.storage.findOrInsertOutputBasket(this.userId, basketName, trx);
|
|
222
222
|
this.baskets[basketName] = b;
|
|
223
223
|
return b;
|
|
224
224
|
}
|
|
@@ -258,12 +258,7 @@ class InternalizeActionContext {
|
|
|
258
258
|
this.etx = (0, utilityHelpers_1.verifyOneOrNone)(await this.storage.findTransactions({
|
|
259
259
|
partial: { userId: this.userId, txid: this.txid }
|
|
260
260
|
}));
|
|
261
|
-
const allowedStatuses = [
|
|
262
|
-
'completed',
|
|
263
|
-
'unproven',
|
|
264
|
-
'sending',
|
|
265
|
-
'nosend'
|
|
266
|
-
];
|
|
261
|
+
const allowedStatuses = ['completed', 'unproven', 'sending', 'nosend'];
|
|
267
262
|
if (this.etx != null && !allowedStatuses.includes(this.etx.status)) {
|
|
268
263
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('tx', `target transaction of internalizeAction has invalid status ${this.etx.status}.`);
|
|
269
264
|
}
|
|
@@ -287,13 +282,45 @@ class InternalizeActionContext {
|
|
|
287
282
|
payment.eo = existing;
|
|
288
283
|
}
|
|
289
284
|
}
|
|
290
|
-
|
|
285
|
+
/**
|
|
286
|
+
* Rejects a basket-insertion merge that would silently move an existing
|
|
287
|
+
* output between baskets. Without this, an app with insertion permission on
|
|
288
|
+
* basket X only (checked at the WalletPermissionsManager layer against the
|
|
289
|
+
* *requested* basket) could internalize an already-known transaction and
|
|
290
|
+
* reclassify another app's output from basket Y into X, then spend it.
|
|
291
|
+
*
|
|
292
|
+
* An output currently sitting in the wallet's own 'default'/change basket
|
|
293
|
+
* without being wallet-managed change is not a real, app-claimed basket
|
|
294
|
+
* assignment — it is the documented legacy-recovery state (see
|
|
295
|
+
* `internalizeActionManagedChangePolicy.test.ts`), and 'default' can never
|
|
296
|
+
* be requested as an insertion destination (see `getBasket`), so it is
|
|
297
|
+
* exempt from this check and remains sweepable into a real basket.
|
|
298
|
+
*
|
|
299
|
+
* The requested basket is resolved with a plain, non-inserting lookup
|
|
300
|
+
* (`findOutputBaskets`) so that a request which is then rejected never
|
|
301
|
+
* creates the named basket as a side effect.
|
|
302
|
+
*/
|
|
303
|
+
async validateBasketMerges() {
|
|
291
304
|
if (!this.isMerge)
|
|
292
305
|
return;
|
|
293
306
|
for (const basket of this.basketInsertions) {
|
|
294
|
-
|
|
307
|
+
const eo = basket.eo;
|
|
308
|
+
if (eo == null)
|
|
309
|
+
continue;
|
|
310
|
+
// Widened so the type guard's false branch does not narrow `eo` to never.
|
|
311
|
+
if ((0, managedChange_1.isManagedChangeOutput)(eo)) {
|
|
295
312
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('outputs', `output ${basket.vout} is wallet-managed change and cannot be reclassified as a basket insertion`);
|
|
296
313
|
}
|
|
314
|
+
const currentBasketId = eo.basketId;
|
|
315
|
+
if (currentBasketId == null || currentBasketId === this.changeBasket.basketId)
|
|
316
|
+
continue;
|
|
317
|
+
const requestedBasket = (0, utilityHelpers_1.verifyOneOrNone)(await this.storage.findOutputBaskets({ partial: { userId: this.userId, name: basket.basket } }));
|
|
318
|
+
if (requestedBasket?.basketId !== currentBasketId) {
|
|
319
|
+
throw new WERR_errors_1.WERR_INVALID_PARAMETER('outputs', `output ${basket.vout} is already assigned to a different basket and cannot be reclassified as a basket insertion into ${basket.basket}`);
|
|
320
|
+
}
|
|
321
|
+
// Same basket already: cache it so mergeBasketInsertionForOutput's later
|
|
322
|
+
// getBasket call reuses this lookup instead of repeating it.
|
|
323
|
+
this.baskets[basket.basket] = requestedBasket;
|
|
297
324
|
}
|
|
298
325
|
}
|
|
299
326
|
computeWalletPaymentBalance() {
|
|
@@ -302,8 +329,7 @@ class InternalizeActionContext {
|
|
|
302
329
|
this.satoshis += payment.txo.satoshis;
|
|
303
330
|
continue;
|
|
304
331
|
}
|
|
305
|
-
if ((0, managedChange_1.isManagedChangeOutput)(payment.eo) &&
|
|
306
|
-
payment.eo.basketId === this.changeBasket.basketId) {
|
|
332
|
+
if ((0, managedChange_1.isManagedChangeOutput)(payment.eo) && payment.eo.basketId === this.changeBasket.basketId) {
|
|
307
333
|
payment.ignore = true;
|
|
308
334
|
continue;
|
|
309
335
|
}
|
|
@@ -321,7 +347,7 @@ class InternalizeActionContext {
|
|
|
321
347
|
this.baskets = {};
|
|
322
348
|
await this.loadExistingTransaction();
|
|
323
349
|
await this.linkExistingOutputs();
|
|
324
|
-
this.validateBasketMerges();
|
|
350
|
+
await this.validateBasketMerges();
|
|
325
351
|
this.computeWalletPaymentBalance();
|
|
326
352
|
}
|
|
327
353
|
/**
|
|
@@ -340,7 +366,7 @@ class InternalizeActionContext {
|
|
|
340
366
|
* @returns
|
|
341
367
|
*/
|
|
342
368
|
async validateAtomicBeef(atomicBeef) {
|
|
343
|
-
const ab =
|
|
369
|
+
const ab = (0, canonicalizeAtomicBeef_1.canonicalizeAtomicBeef)(atomicBeef);
|
|
344
370
|
const txValid = await ab.verify(await this.storage.getServices().getChainTracker(), false);
|
|
345
371
|
if (!txValid || !ab.atomicTxid)
|
|
346
372
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('tx', 'valid AtomicBEEF');
|
|
@@ -351,10 +377,10 @@ class InternalizeActionContext {
|
|
|
351
377
|
const tx = btx.tx;
|
|
352
378
|
return { ab, tx, txid };
|
|
353
379
|
}
|
|
354
|
-
async findOrInsertTargetTransaction(satoshis, provenTx) {
|
|
380
|
+
async findOrInsertTargetTransaction(satoshis, provenTx, trx) {
|
|
355
381
|
const now = new Date();
|
|
356
382
|
const provenTxId = provenTx?.provenTxId;
|
|
357
|
-
const status =
|
|
383
|
+
const status = provenTx != null ? 'completed' : 'unproven';
|
|
358
384
|
const newTx = {
|
|
359
385
|
created_at: now,
|
|
360
386
|
updated_at: now,
|
|
@@ -372,7 +398,7 @@ class InternalizeActionContext {
|
|
|
372
398
|
txid: this.txid,
|
|
373
399
|
rawTx: undefined
|
|
374
400
|
};
|
|
375
|
-
const tr = await this.storage.findOrInsertTransaction(newTx);
|
|
401
|
+
const tr = await this.storage.findOrInsertTransaction(newTx, trx);
|
|
376
402
|
if (!tr.isNew) {
|
|
377
403
|
if (!this.isMerge)
|
|
378
404
|
// For now, only allow transaction record to pre-exist if it was there at the start.
|
|
@@ -384,11 +410,11 @@ class InternalizeActionContext {
|
|
|
384
410
|
update.provenTxId = provenTxId;
|
|
385
411
|
update.status = status;
|
|
386
412
|
}
|
|
387
|
-
await this.storage.updateTransaction(tr.tx.transactionId, update);
|
|
413
|
+
await this.storage.updateTransaction(tr.tx.transactionId, update, trx);
|
|
388
414
|
}
|
|
389
415
|
return tr.tx;
|
|
390
416
|
}
|
|
391
|
-
async findOrInsertProvenTxFromBump(bump, btx) {
|
|
417
|
+
async findOrInsertProvenTxFromBump(bump, btx, trx) {
|
|
392
418
|
const now = new Date();
|
|
393
419
|
const merkleRoot = bump.computeRoot(this.txid);
|
|
394
420
|
const indexEntry = bump.path[0].find(p => p.hash === this.txid);
|
|
@@ -412,106 +438,108 @@ class InternalizeActionContext {
|
|
|
412
438
|
rawTx: btx.rawTx,
|
|
413
439
|
blockHash: hash,
|
|
414
440
|
merkleRoot
|
|
415
|
-
});
|
|
441
|
+
}, trx);
|
|
416
442
|
return provenTxR.proven;
|
|
417
443
|
}
|
|
418
|
-
async mergeWalletPayments(transactionId) {
|
|
444
|
+
async mergeWalletPayments(transactionId, trx) {
|
|
419
445
|
for (const payment of this.walletPayments) {
|
|
420
446
|
if (payment.ignore)
|
|
421
447
|
continue;
|
|
422
448
|
if (payment.eo != null) {
|
|
423
|
-
await this.mergeWalletPaymentForOutput(transactionId, payment);
|
|
449
|
+
await this.mergeWalletPaymentForOutput(transactionId, payment, trx);
|
|
424
450
|
}
|
|
425
451
|
else {
|
|
426
|
-
await this.storeNewWalletPaymentForOutput(transactionId, payment);
|
|
452
|
+
await this.storeNewWalletPaymentForOutput(transactionId, payment, trx);
|
|
427
453
|
}
|
|
428
454
|
}
|
|
429
455
|
}
|
|
430
|
-
async mergeBasketInsertions(transactionId) {
|
|
456
|
+
async mergeBasketInsertions(transactionId, trx) {
|
|
431
457
|
for (const basket of this.basketInsertions) {
|
|
432
458
|
if (basket.eo != null) {
|
|
433
|
-
await this.mergeBasketInsertionForOutput(transactionId, basket);
|
|
459
|
+
await this.mergeBasketInsertionForOutput(transactionId, basket, trx);
|
|
434
460
|
}
|
|
435
461
|
else {
|
|
436
|
-
await this.storeNewBasketInsertionForOutput(transactionId, basket);
|
|
462
|
+
await this.storeNewBasketInsertionForOutput(transactionId, basket, trx);
|
|
437
463
|
}
|
|
438
464
|
}
|
|
439
465
|
}
|
|
440
|
-
async retireNoSendWithProof(transactionId, bump) {
|
|
466
|
+
async retireNoSendWithProof(transactionId, bump, trx) {
|
|
441
467
|
const beefTx = this.ab.findTxid(this.txid);
|
|
442
468
|
if (beefTx == null) {
|
|
443
469
|
throw new WERR_errors_1.WERR_INTERNAL(`Could not find transaction ${this.txid} in AtomicBEEF`);
|
|
444
470
|
}
|
|
445
|
-
const proven = await this.findOrInsertProvenTxFromBump(bump, beefTx);
|
|
471
|
+
const proven = await this.findOrInsertProvenTxFromBump(bump, beefTx, trx);
|
|
446
472
|
await this.storage.updateTransaction(transactionId, {
|
|
447
473
|
provenTxId: proven.provenTxId,
|
|
448
474
|
status: 'completed'
|
|
449
|
-
});
|
|
450
|
-
const req = await EntityProvenTxReq_1.EntityProvenTxReq.fromStorageTxid(this.storage, this.txid);
|
|
475
|
+
}, trx);
|
|
476
|
+
const req = await EntityProvenTxReq_1.EntityProvenTxReq.fromStorageTxid(this.storage, this.txid, trx);
|
|
451
477
|
if (req?.status !== 'nosend')
|
|
452
478
|
return;
|
|
453
479
|
req.addHistoryNote({ what: 'internalizeAction-bumpRetire', userId: this.userId });
|
|
454
480
|
req.provenTxId = proven.provenTxId;
|
|
455
481
|
req.status = 'completed';
|
|
456
|
-
await req.updateStorageDynamicProperties(this.storage);
|
|
482
|
+
await req.updateStorageDynamicProperties(this.storage, trx);
|
|
457
483
|
}
|
|
458
|
-
async retireNoSendWithoutProof(transactionId) {
|
|
459
|
-
await this.storage.updateTransaction(transactionId, { status: 'unproven' });
|
|
460
|
-
const req = await EntityProvenTxReq_1.EntityProvenTxReq.fromStorageTxid(this.storage, this.txid);
|
|
484
|
+
async retireNoSendWithoutProof(transactionId, trx) {
|
|
485
|
+
await this.storage.updateTransaction(transactionId, { status: 'unproven' }, trx);
|
|
486
|
+
const req = await EntityProvenTxReq_1.EntityProvenTxReq.fromStorageTxid(this.storage, this.txid, trx);
|
|
461
487
|
if (req?.status !== 'nosend')
|
|
462
488
|
return;
|
|
463
489
|
req.addHistoryNote({ what: 'internalizeAction-nosendRetire', userId: this.userId });
|
|
464
490
|
req.status = 'unmined';
|
|
465
|
-
await req.updateStorageDynamicProperties(this.storage);
|
|
491
|
+
await req.updateStorageDynamicProperties(this.storage, trx);
|
|
466
492
|
}
|
|
467
|
-
async retireNoSendTransaction(transactionId) {
|
|
493
|
+
async retireNoSendTransaction(transactionId, trx) {
|
|
468
494
|
const bump = this.ab.findBump(this.txid);
|
|
469
495
|
if (bump != null) {
|
|
470
|
-
await this.retireNoSendWithProof(transactionId, bump);
|
|
496
|
+
await this.retireNoSendWithProof(transactionId, bump, trx);
|
|
471
497
|
}
|
|
472
498
|
else {
|
|
473
|
-
await this.retireNoSendWithoutProof(transactionId);
|
|
499
|
+
await this.retireNoSendWithoutProof(transactionId, trx);
|
|
474
500
|
}
|
|
475
501
|
}
|
|
476
502
|
async mergedInternalize() {
|
|
477
503
|
const transactionId = this.etx.transactionId;
|
|
478
504
|
const wasNoSend = this.etx.status === 'nosend';
|
|
479
|
-
await this.
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
505
|
+
await this.storage.transaction(async (trx) => {
|
|
506
|
+
await this.addLabels(transactionId, trx);
|
|
507
|
+
// Externally-broadcast txs internalized into a pre-existing storage
|
|
508
|
+
// record (typically a nosend created by this wallet) still need their
|
|
509
|
+
// consumed user UTXOs marked spent. createAction marks them when the
|
|
510
|
+
// tx is wallet-originated, but a nosend can be merged from a sender
|
|
511
|
+
// that doesn't share storage. Idempotent for the wallet-originated
|
|
512
|
+
// case — already-spent outputs are skipped.
|
|
513
|
+
await this.markInputsSpent(transactionId, trx);
|
|
514
|
+
await this.mergeWalletPayments(transactionId, trx);
|
|
515
|
+
await this.mergeBasketInsertions(transactionId, trx);
|
|
516
|
+
// Lifecycle advance when merging into a tx that was 'nosend'.
|
|
517
|
+
//
|
|
518
|
+
// Background: an internalizeAction call against an existing tx in
|
|
519
|
+
// 'nosend' status is the caller asserting the tx has now been
|
|
520
|
+
// externally broadcast (and potentially mined if the BEEF includes
|
|
521
|
+
// a BUMP). Before this advance, mergedInternalize only updated
|
|
522
|
+
// labels + per-output ownership records and left transactions.status
|
|
523
|
+
// and proven_tx_reqs.status unchanged. The nosend state then had no
|
|
524
|
+
// reliable retirement path: TaskCheckNoSends's default daily cadence
|
|
525
|
+
// combined with intermittent wallet uptime meant the req could sit
|
|
526
|
+
// in 'nosend' indefinitely, and a subsequent abortAction call would
|
|
527
|
+
// unconditionally invalidate the on-chain tx — orphaning every
|
|
528
|
+
// output the tx produced.
|
|
529
|
+
//
|
|
530
|
+
// BUMP-present path: mirror newInternalize's findOrInsertProvenTx
|
|
531
|
+
// path, then promote the existing transaction record to 'completed'
|
|
532
|
+
// with the new provenTxId and retire the proven_tx_req to
|
|
533
|
+
// 'completed' too.
|
|
534
|
+
//
|
|
535
|
+
// BUMP-absent path: promote transactions.status to 'unproven' (so
|
|
536
|
+
// listOutputs filters the tx's outputs into the spendable set
|
|
537
|
+
// immediately) and transition the proven_tx_req to 'unmined' so
|
|
538
|
+
// TaskCheckForProofs picks it up on its next nudge cycle. This
|
|
539
|
+
// hands off to Monitor's standard proof-fetching flow.
|
|
540
|
+
if (wasNoSend)
|
|
541
|
+
await this.retireNoSendTransaction(transactionId, trx);
|
|
542
|
+
});
|
|
515
543
|
}
|
|
516
544
|
/**
|
|
517
545
|
* internalize output(s) from a transaction with txid unknown to storage.
|
|
@@ -523,31 +551,34 @@ class InternalizeActionContext {
|
|
|
523
551
|
throw new WERR_errors_1.WERR_INTERNAL(`Could not find transaction ${this.txid} in AtomicBEEF`);
|
|
524
552
|
const bump = this.ab.findBump(this.txid);
|
|
525
553
|
let pr = { isNew: false, proven: undefined, req: undefined };
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
554
|
+
await this.storage.transaction(async (trx) => {
|
|
555
|
+
if (bump != null) {
|
|
556
|
+
// The presence bump indicates the transaction has already been mined.
|
|
557
|
+
// Verify a provenTx record exist before creating a new transaction with completed status...
|
|
558
|
+
// Which normally means creating a new provenTx record.
|
|
559
|
+
pr.proven = await this.findOrInsertProvenTxFromBump(bump, btx, trx);
|
|
560
|
+
}
|
|
561
|
+
this.etx = await this.findOrInsertTargetTransaction(this.satoshis, pr.proven, trx);
|
|
562
|
+
const transactionId = this.etx.transactionId;
|
|
563
|
+
// Mark any user-owned outputs the incoming tx consumes as spent BEFORE
|
|
564
|
+
// attempting broadcast. If broadcast fails we restore them below.
|
|
565
|
+
await this.markInputsSpent(transactionId, trx);
|
|
566
|
+
if (pr.proven == null) {
|
|
567
|
+
// beef doesn't include proof of mining for the transaction (etx).
|
|
568
|
+
// the new transaction record has been added to storage, but (baring race conditions)
|
|
569
|
+
// there should be no provenTx or provenTxReq records for this txid.
|
|
570
|
+
//
|
|
571
|
+
// Attempt to create a provenTxReq record for the txid to obtain a proof,
|
|
572
|
+
// while allowing for possible race conditions...
|
|
573
|
+
const newReq = EntityProvenTxReq_1.EntityProvenTxReq.fromTxid(this.txid, this.tx.toBinary(), (0, utils_1.toArray)(this.args.tx));
|
|
574
|
+
newReq.status = 'unsent';
|
|
575
|
+
// this history and notify will be merged into an existing req if it exists.
|
|
576
|
+
newReq.addHistoryNote({ what: 'internalizeAction', userId: this.userId });
|
|
577
|
+
newReq.addNotifyTransactionId(transactionId);
|
|
578
|
+
pr = await this.storage.getProvenOrReq(this.txid, newReq.toApi(), trx);
|
|
579
|
+
}
|
|
580
|
+
});
|
|
533
581
|
const transactionId = this.etx.transactionId;
|
|
534
|
-
// Mark any user-owned outputs the incoming tx consumes as spent BEFORE
|
|
535
|
-
// attempting broadcast. If broadcast fails we restore them below.
|
|
536
|
-
await this.markInputsSpent(transactionId);
|
|
537
|
-
if (pr.proven == null) {
|
|
538
|
-
// beef doesn't include proof of mining for the transaction (etx).
|
|
539
|
-
// the new transaction record has been added to storage, but (baring race conditions)
|
|
540
|
-
// there should be no provenTx or provenTxReq records for this txid.
|
|
541
|
-
//
|
|
542
|
-
// Attempt to create a provenTxReq record for the txid to obtain a proof,
|
|
543
|
-
// while allowing for possible race conditions...
|
|
544
|
-
const newReq = EntityProvenTxReq_1.EntityProvenTxReq.fromTxid(this.txid, this.tx.toBinary(), sdk_1.Utils.toArray(this.args.tx));
|
|
545
|
-
newReq.status = 'unsent';
|
|
546
|
-
// this history and notify will be merged into an existing req if it exists.
|
|
547
|
-
newReq.addHistoryNote({ what: 'internalizeAction', userId: this.userId });
|
|
548
|
-
newReq.addNotifyTransactionId(transactionId);
|
|
549
|
-
pr = await this.storage.getProvenOrReq(this.txid, newReq.toApi());
|
|
550
|
-
}
|
|
551
582
|
if (pr.isNew) {
|
|
552
583
|
// This storage didn't know about this txid and the beef didn't include a mining proof.
|
|
553
584
|
// Assume the transaction has never been broadcast.
|
|
@@ -573,34 +604,40 @@ class InternalizeActionContext {
|
|
|
573
604
|
return;
|
|
574
605
|
}
|
|
575
606
|
}
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
await this.
|
|
582
|
-
|
|
607
|
+
// Network publication cannot safely run while a database transaction is
|
|
608
|
+
// held open. Persist all post-broadcast wallet ownership state as one
|
|
609
|
+
// atomic phase after publication succeeds (or when no publication was
|
|
610
|
+
// necessary).
|
|
611
|
+
await this.storage.transaction(async (trx) => {
|
|
612
|
+
await this.addLabels(transactionId, trx);
|
|
613
|
+
for (const payment of this.walletPayments) {
|
|
614
|
+
await this.storeNewWalletPaymentForOutput(transactionId, payment, trx);
|
|
615
|
+
}
|
|
616
|
+
for (const basket of this.basketInsertions) {
|
|
617
|
+
await this.storeNewBasketInsertionForOutput(transactionId, basket, trx);
|
|
618
|
+
}
|
|
619
|
+
});
|
|
583
620
|
}
|
|
584
|
-
async addLabels(transactionId) {
|
|
585
|
-
for (const label of
|
|
586
|
-
const txLabel = await this.storage.findOrInsertTxLabel(this.userId, label);
|
|
587
|
-
await this.storage.findOrInsertTxLabelMap((0, utilityHelpers_1.verifyId)(transactionId), (0, utilityHelpers_1.verifyId)(txLabel.txLabelId));
|
|
621
|
+
async addLabels(transactionId, trx) {
|
|
622
|
+
for (const label of this.vargs.labels) {
|
|
623
|
+
const txLabel = await this.storage.findOrInsertTxLabel(this.userId, label, trx);
|
|
624
|
+
await this.storage.findOrInsertTxLabelMap((0, utilityHelpers_1.verifyId)(transactionId), (0, utilityHelpers_1.verifyId)(txLabel.txLabelId), trx);
|
|
588
625
|
}
|
|
589
626
|
}
|
|
590
|
-
async markInputsSpent(transactionId) {
|
|
591
|
-
const transitioned = await markUserInputsSpent(this.storage, this.userId, this.tx, transactionId);
|
|
627
|
+
async markInputsSpent(transactionId, trx) {
|
|
628
|
+
const transitioned = await markUserInputsSpent(this.storage, this.userId, this.tx, transactionId, trx);
|
|
592
629
|
this.spentInputs.push(...transitioned);
|
|
593
630
|
}
|
|
594
|
-
async restoreSpentInputs() {
|
|
595
|
-
await restoreInputsToSpendable(this.storage, this.spentInputs);
|
|
631
|
+
async restoreSpentInputs(trx) {
|
|
632
|
+
await restoreInputsToSpendable(this.storage, this.spentInputs, trx);
|
|
596
633
|
this.spentInputs = [];
|
|
597
634
|
}
|
|
598
|
-
async addBasketTags(basket, outputId) {
|
|
635
|
+
async addBasketTags(basket, outputId, trx) {
|
|
599
636
|
for (const tag of basket.tags || []) {
|
|
600
|
-
await this.storage.tagOutput({ outputId, userId: this.userId }, tag);
|
|
637
|
+
await this.storage.tagOutput({ outputId, userId: this.userId }, tag, trx);
|
|
601
638
|
}
|
|
602
639
|
}
|
|
603
|
-
async storeNewWalletPaymentForOutput(transactionId, payment) {
|
|
640
|
+
async storeNewWalletPaymentForOutput(transactionId, payment, trx) {
|
|
604
641
|
const now = new Date();
|
|
605
642
|
const txOut = {
|
|
606
643
|
created_at: now,
|
|
@@ -626,10 +663,10 @@ class InternalizeActionContext {
|
|
|
626
663
|
outputDescription: '',
|
|
627
664
|
spendingDescription: undefined
|
|
628
665
|
};
|
|
629
|
-
txOut.outputId = await this.storage.insertOutput(txOut);
|
|
666
|
+
txOut.outputId = await this.storage.insertOutput(txOut, trx);
|
|
630
667
|
payment.eo = txOut;
|
|
631
668
|
}
|
|
632
|
-
async mergeWalletPaymentForOutput(transactionId, payment) {
|
|
669
|
+
async mergeWalletPaymentForOutput(transactionId, payment, trx) {
|
|
633
670
|
const outputId = payment.eo.outputId;
|
|
634
671
|
const update = {
|
|
635
672
|
basketId: this.changeBasket.basketId,
|
|
@@ -642,13 +679,13 @@ class InternalizeActionContext {
|
|
|
642
679
|
derivationPrefix: payment.derivationPrefix,
|
|
643
680
|
derivationSuffix: payment.derivationSuffix
|
|
644
681
|
};
|
|
645
|
-
await this.storage.updateOutput(outputId, update);
|
|
682
|
+
await this.storage.updateOutput(outputId, update, trx);
|
|
646
683
|
payment.eo = { ...payment.eo, ...update };
|
|
647
684
|
}
|
|
648
|
-
async mergeBasketInsertionForOutput(transactionId, basket) {
|
|
685
|
+
async mergeBasketInsertionForOutput(transactionId, basket, trx) {
|
|
649
686
|
const outputId = basket.eo.outputId;
|
|
650
687
|
const update = {
|
|
651
|
-
basketId: (await this.getBasket(basket.basket)).basketId,
|
|
688
|
+
basketId: (await this.getBasket(basket.basket, trx)).basketId,
|
|
652
689
|
type: 'custom',
|
|
653
690
|
customInstructions: basket.customInstructions,
|
|
654
691
|
change: false,
|
|
@@ -658,10 +695,10 @@ class InternalizeActionContext {
|
|
|
658
695
|
derivationPrefix: undefined,
|
|
659
696
|
derivationSuffix: undefined
|
|
660
697
|
};
|
|
661
|
-
await this.storage.updateOutput(outputId, update);
|
|
698
|
+
await this.storage.updateOutput(outputId, update, trx);
|
|
662
699
|
basket.eo = { ...basket.eo, ...update };
|
|
663
700
|
}
|
|
664
|
-
async storeNewBasketInsertionForOutput(transactionId, basket) {
|
|
701
|
+
async storeNewBasketInsertionForOutput(transactionId, basket, trx) {
|
|
665
702
|
const now = new Date();
|
|
666
703
|
const txOut = {
|
|
667
704
|
created_at: now,
|
|
@@ -672,7 +709,7 @@ class InternalizeActionContext {
|
|
|
672
709
|
spendable: true,
|
|
673
710
|
lockingScript: basket.txo.lockingScript.toBinary(),
|
|
674
711
|
vout: basket.vout,
|
|
675
|
-
basketId: (await this.getBasket(basket.basket)).basketId,
|
|
712
|
+
basketId: (await this.getBasket(basket.basket, trx)).basketId,
|
|
676
713
|
satoshis: basket.txo.satoshis,
|
|
677
714
|
txid: this.txid,
|
|
678
715
|
type: 'custom',
|
|
@@ -687,8 +724,8 @@ class InternalizeActionContext {
|
|
|
687
724
|
derivationPrefix: undefined,
|
|
688
725
|
derivationSuffix: undefined
|
|
689
726
|
};
|
|
690
|
-
txOut.outputId = await this.storage.insertOutput(txOut);
|
|
691
|
-
await this.addBasketTags(basket, txOut.outputId);
|
|
727
|
+
txOut.outputId = await this.storage.insertOutput(txOut, trx);
|
|
728
|
+
await this.addBasketTags(basket, txOut.outputId, trx);
|
|
692
729
|
basket.eo = txOut;
|
|
693
730
|
}
|
|
694
731
|
}
|