@bsv/wallet-toolbox-client 2.4.4 → 2.4.20
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/LICENSE.txt +58 -0
- package/README.md +43 -22
- package/out/index.client.cjs +33583 -0
- package/out/index.client.cjs.map +1 -0
- package/out/index.client.d.cts +10768 -0
- package/out/index.client.d.cts.map +1 -0
- package/out/index.client.d.mts +10767 -0
- package/out/index.client.d.mts.map +1 -0
- package/out/index.client.mjs +33377 -0
- package/out/index.client.mjs.map +1 -0
- package/out/rolldown-runtime-D7D4PA-g.mjs +13 -0
- package/package.json +56 -9
- package/out/src/CWIStyleWalletManager.d.ts +0 -564
- package/out/src/CWIStyleWalletManager.d.ts.map +0 -1
- package/out/src/CWIStyleWalletManager.js +0 -1966
- package/out/src/CWIStyleWalletManager.js.map +0 -1
- package/out/src/SetupClient.d.ts +0 -135
- package/out/src/SetupClient.d.ts.map +0 -1
- package/out/src/SetupClient.js +0 -226
- package/out/src/SetupClient.js.map +0 -1
- package/out/src/SetupWallet.d.ts +0 -103
- package/out/src/SetupWallet.d.ts.map +0 -1
- package/out/src/SetupWallet.js +0 -3
- package/out/src/SetupWallet.js.map +0 -1
- package/out/src/SimpleWalletManager.d.ts +0 -179
- package/out/src/SimpleWalletManager.d.ts.map +0 -1
- package/out/src/SimpleWalletManager.js +0 -360
- package/out/src/SimpleWalletManager.js.map +0 -1
- package/out/src/Wallet.d.ts +0 -262
- package/out/src/Wallet.d.ts.map +0 -1
- package/out/src/Wallet.js +0 -923
- package/out/src/Wallet.js.map +0 -1
- package/out/src/WalletAuthenticationManager.d.ts +0 -47
- package/out/src/WalletAuthenticationManager.d.ts.map +0 -1
- package/out/src/WalletAuthenticationManager.js +0 -306
- package/out/src/WalletAuthenticationManager.js.map +0 -1
- package/out/src/WalletLogger.d.ts +0 -65
- package/out/src/WalletLogger.d.ts.map +0 -1
- package/out/src/WalletLogger.js +0 -177
- package/out/src/WalletLogger.js.map +0 -1
- package/out/src/WalletPermissionsManager.d.ts +0 -981
- package/out/src/WalletPermissionsManager.d.ts.map +0 -1
- package/out/src/WalletPermissionsManager.js +0 -3744
- package/out/src/WalletPermissionsManager.js.map +0 -1
- package/out/src/WalletSettingsManager.d.ts +0 -53
- package/out/src/WalletSettingsManager.d.ts.map +0 -1
- package/out/src/WalletSettingsManager.js +0 -86
- package/out/src/WalletSettingsManager.js.map +0 -1
- package/out/src/fundWalletP2PKH.d.ts +0 -48
- package/out/src/fundWalletP2PKH.d.ts.map +0 -1
- package/out/src/fundWalletP2PKH.js +0 -239
- package/out/src/fundWalletP2PKH.js.map +0 -1
- package/out/src/index.client.d.ts +0 -25
- package/out/src/index.client.d.ts.map +0 -1
- package/out/src/index.client.js +0 -64
- package/out/src/index.client.js.map +0 -1
- package/out/src/mockchain/MockChainMigrations.d.ts +0 -20
- package/out/src/mockchain/MockChainMigrations.d.ts.map +0 -1
- package/out/src/mockchain/MockChainMigrations.js +0 -67
- package/out/src/mockchain/MockChainMigrations.js.map +0 -1
- package/out/src/mockchain/MockChainStorage.d.ts +0 -58
- package/out/src/mockchain/MockChainStorage.d.ts.map +0 -1
- package/out/src/mockchain/MockChainStorage.js +0 -102
- package/out/src/mockchain/MockChainStorage.js.map +0 -1
- package/out/src/mockchain/MockChainTracker.d.ts +0 -28
- package/out/src/mockchain/MockChainTracker.d.ts.map +0 -1
- package/out/src/mockchain/MockChainTracker.js +0 -97
- package/out/src/mockchain/MockChainTracker.js.map +0 -1
- package/out/src/mockchain/MockMiner.d.ts +0 -16
- package/out/src/mockchain/MockMiner.d.ts.map +0 -1
- package/out/src/mockchain/MockMiner.js +0 -137
- package/out/src/mockchain/MockMiner.js.map +0 -1
- package/out/src/mockchain/MockServices.d.ts +0 -53
- package/out/src/mockchain/MockServices.d.ts.map +0 -1
- package/out/src/mockchain/MockServices.js +0 -459
- package/out/src/mockchain/MockServices.js.map +0 -1
- package/out/src/mockchain/merkleTree.d.ts +0 -13
- package/out/src/mockchain/merkleTree.d.ts.map +0 -1
- package/out/src/mockchain/merkleTree.js +0 -122
- package/out/src/mockchain/merkleTree.js.map +0 -1
- package/out/src/monitor/Monitor.d.ts +0 -189
- package/out/src/monitor/Monitor.d.ts.map +0 -1
- package/out/src/monitor/Monitor.js +0 -387
- package/out/src/monitor/Monitor.js.map +0 -1
- package/out/src/monitor/tasks/TaskArcSSE.d.ts +0 -29
- package/out/src/monitor/tasks/TaskArcSSE.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskArcSSE.js +0 -259
- package/out/src/monitor/tasks/TaskArcSSE.js.map +0 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.d.ts +0 -53
- package/out/src/monitor/tasks/TaskCheckForProofs.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.js +0 -224
- package/out/src/monitor/tasks/TaskCheckForProofs.js.map +0 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +0 -91
- package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.js +0 -159
- package/out/src/monitor/tasks/TaskCheckNoSends.js.map +0 -1
- package/out/src/monitor/tasks/TaskCleanupActionBatches.d.ts +0 -13
- package/out/src/monitor/tasks/TaskCleanupActionBatches.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskCleanupActionBatches.js +0 -24
- package/out/src/monitor/tasks/TaskCleanupActionBatches.js.map +0 -1
- package/out/src/monitor/tasks/TaskClock.d.ts +0 -14
- package/out/src/monitor/tasks/TaskClock.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskClock.js +0 -29
- package/out/src/monitor/tasks/TaskClock.js.map +0 -1
- package/out/src/monitor/tasks/TaskFailAbandoned.d.ts +0 -20
- package/out/src/monitor/tasks/TaskFailAbandoned.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskFailAbandoned.js +0 -53
- package/out/src/monitor/tasks/TaskFailAbandoned.js.map +0 -1
- package/out/src/monitor/tasks/TaskMineBlock.d.ts +0 -13
- package/out/src/monitor/tasks/TaskMineBlock.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskMineBlock.js +0 -30
- package/out/src/monitor/tasks/TaskMineBlock.js.map +0 -1
- package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts +0 -12
- package/out/src/monitor/tasks/TaskMonitorCallHistory.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskMonitorCallHistory.js +0 -25
- package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +0 -1
- package/out/src/monitor/tasks/TaskNewHeader.d.ts +0 -50
- package/out/src/monitor/tasks/TaskNewHeader.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskNewHeader.js +0 -97
- package/out/src/monitor/tasks/TaskNewHeader.js.map +0 -1
- package/out/src/monitor/tasks/TaskPurge.d.ts +0 -45
- package/out/src/monitor/tasks/TaskPurge.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskPurge.js +0 -36
- package/out/src/monitor/tasks/TaskPurge.js.map +0 -1
- package/out/src/monitor/tasks/TaskReorg.d.ts +0 -43
- package/out/src/monitor/tasks/TaskReorg.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskReorg.js +0 -84
- package/out/src/monitor/tasks/TaskReorg.js.map +0 -1
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts +0 -26
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +0 -127
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +0 -1
- package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts +0 -34
- package/out/src/monitor/tasks/TaskReviewProvenTxs.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskReviewProvenTxs.js +0 -136
- package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +0 -1
- package/out/src/monitor/tasks/TaskReviewStatus.d.ts +0 -26
- package/out/src/monitor/tasks/TaskReviewStatus.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskReviewStatus.js +0 -50
- package/out/src/monitor/tasks/TaskReviewStatus.js.map +0 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.d.ts +0 -23
- package/out/src/monitor/tasks/TaskReviewUtxos.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.js +0 -75
- package/out/src/monitor/tasks/TaskReviewUtxos.js.map +0 -1
- package/out/src/monitor/tasks/TaskSendWaiting.d.ts +0 -48
- package/out/src/monitor/tasks/TaskSendWaiting.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskSendWaiting.js +0 -202
- package/out/src/monitor/tasks/TaskSendWaiting.js.map +0 -1
- package/out/src/monitor/tasks/TaskUnFail.d.ts +0 -41
- package/out/src/monitor/tasks/TaskUnFail.d.ts.map +0 -1
- package/out/src/monitor/tasks/TaskUnFail.js +0 -89
- package/out/src/monitor/tasks/TaskUnFail.js.map +0 -1
- package/out/src/monitor/tasks/WalletMonitorTask.d.ts +0 -40
- package/out/src/monitor/tasks/WalletMonitorTask.d.ts.map +0 -1
- package/out/src/monitor/tasks/WalletMonitorTask.js +0 -42
- package/out/src/monitor/tasks/WalletMonitorTask.js.map +0 -1
- package/out/src/sdk/ActionBatch.interfaces.d.ts +0 -105
- package/out/src/sdk/ActionBatch.interfaces.d.ts.map +0 -1
- package/out/src/sdk/ActionBatch.interfaces.js +0 -3
- package/out/src/sdk/ActionBatch.interfaces.js.map +0 -1
- package/out/src/sdk/CertOpsWallet.d.ts +0 -7
- package/out/src/sdk/CertOpsWallet.d.ts.map +0 -1
- package/out/src/sdk/CertOpsWallet.js +0 -3
- package/out/src/sdk/CertOpsWallet.js.map +0 -1
- package/out/src/sdk/PrivilegedKeyManager.d.ts +0 -125
- package/out/src/sdk/PrivilegedKeyManager.d.ts.map +0 -1
- package/out/src/sdk/PrivilegedKeyManager.js +0 -320
- package/out/src/sdk/PrivilegedKeyManager.js.map +0 -1
- package/out/src/sdk/WERR_errors.d.ts +0 -136
- package/out/src/sdk/WERR_errors.d.ts.map +0 -1
- package/out/src/sdk/WERR_errors.js +0 -233
- package/out/src/sdk/WERR_errors.js.map +0 -1
- package/out/src/sdk/WalletError.d.ts +0 -63
- package/out/src/sdk/WalletError.d.ts.map +0 -1
- package/out/src/sdk/WalletError.js +0 -177
- package/out/src/sdk/WalletError.js.map +0 -1
- package/out/src/sdk/WalletErrorFromJson.d.ts +0 -12
- package/out/src/sdk/WalletErrorFromJson.d.ts.map +0 -1
- package/out/src/sdk/WalletErrorFromJson.js +0 -67
- package/out/src/sdk/WalletErrorFromJson.js.map +0 -1
- package/out/src/sdk/WalletServices.interfaces.d.ts +0 -643
- package/out/src/sdk/WalletServices.interfaces.d.ts.map +0 -1
- package/out/src/sdk/WalletServices.interfaces.js +0 -3
- package/out/src/sdk/WalletServices.interfaces.js.map +0 -1
- package/out/src/sdk/WalletSigner.interfaces.d.ts +0 -10
- package/out/src/sdk/WalletSigner.interfaces.d.ts.map +0 -1
- package/out/src/sdk/WalletSigner.interfaces.js +0 -3
- package/out/src/sdk/WalletSigner.interfaces.js.map +0 -1
- package/out/src/sdk/WalletStorage.interfaces.d.ts +0 -556
- package/out/src/sdk/WalletStorage.interfaces.d.ts.map +0 -1
- package/out/src/sdk/WalletStorage.interfaces.js +0 -3
- package/out/src/sdk/WalletStorage.interfaces.js.map +0 -1
- package/out/src/sdk/index.d.ts +0 -12
- package/out/src/sdk/index.d.ts.map +0 -1
- package/out/src/sdk/index.js +0 -30
- package/out/src/sdk/index.js.map +0 -1
- package/out/src/sdk/types.d.ts +0 -178
- package/out/src/sdk/types.d.ts.map +0 -1
- package/out/src/sdk/types.js +0 -104
- package/out/src/sdk/types.js.map +0 -1
- package/out/src/services/ServiceCollection.d.ts +0 -79
- package/out/src/services/ServiceCollection.d.ts.map +0 -1
- package/out/src/services/ServiceCollection.js +0 -197
- package/out/src/services/ServiceCollection.js.map +0 -1
- package/out/src/services/Services.d.ts +0 -97
- package/out/src/services/Services.d.ts.map +0 -1
- package/out/src/services/Services.js +0 -729
- package/out/src/services/Services.js.map +0 -1
- package/out/src/services/chaintracker/BHServiceClient.d.ts +0 -39
- package/out/src/services/chaintracker/BHServiceClient.d.ts.map +0 -1
- package/out/src/services/chaintracker/BHServiceClient.js +0 -180
- package/out/src/services/chaintracker/BHServiceClient.js.map +0 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts +0 -16
- package/out/src/services/chaintracker/ChaintracksChainTracker.d.ts.map +0 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.js +0 -59
- package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts +0 -57
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js +0 -38
- package/out/src/services/chaintracker/chaintracks/Api/BlockHeaderApi.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts +0 -70
- package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.js +0 -3
- package/out/src/services/chaintracker/chaintracks/Api/BulkIngestorApi.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts +0 -81
- package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.js +0 -3
- package/out/src/services/chaintracker/chaintracks/Api/BulkStorageApi.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts +0 -54
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.js +0 -3
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksApi.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts +0 -163
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.js +0 -3
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksClientApi.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts +0 -18
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.js +0 -3
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFetchApi.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.d.ts +0 -55
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.js +0 -3
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksFsApi.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts +0 -338
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.js +0 -3
- package/out/src/services/chaintracker/chaintracks/Api/ChaintracksStorageApi.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts +0 -19
- package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.js +0 -3
- package/out/src/services/chaintracker/chaintracks/Api/LiveIngestorApi.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts +0 -113
- package/out/src/services/chaintracker/chaintracks/Chaintracks.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js +0 -607
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts +0 -38
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +0 -149
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts +0 -52
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js +0 -232
- package/out/src/services/chaintracker/chaintracks/GoChaintracksServiceClient.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts +0 -60
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +0 -126
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts +0 -75
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +0 -121
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts +0 -13
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js +0 -20
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDNBabbage.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts +0 -62
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +0 -61
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts +0 -62
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +0 -44
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts +0 -24
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js +0 -55
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorChaintracksSSE.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts +0 -64
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +0 -95
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts +0 -171
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +0 -487
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts +0 -89
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +0 -142
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts +0 -23
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +0 -63
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts +0 -68
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +0 -311
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts +0 -92
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +0 -467
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts +0 -37
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +0 -261
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts +0 -22
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js +0 -54
- package/out/src/services/chaintracker/chaintracks/configureChaintracksIngestors.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts +0 -5
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js +0 -29
- package/out/src/services/chaintracker/chaintracks/createDefaultIdbChaintracksOptions.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts +0 -5
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js +0 -29
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts +0 -13
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js +0 -27
- package/out/src/services/chaintracker/chaintracks/createIdbChaintracks.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts +0 -13
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +0 -27
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/index.client.d.ts +0 -4
- package/out/src/services/chaintracker/chaintracks/index.client.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/index.client.js +0 -20
- package/out/src/services/chaintracker/chaintracks/index.client.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts +0 -32
- package/out/src/services/chaintracker/chaintracks/index.mobile.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/index.mobile.js +0 -70
- package/out/src/services/chaintracker/chaintracks/index.mobile.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts +0 -142
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +0 -821
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts +0 -22
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +0 -65
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts +0 -78
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +0 -284
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts +0 -129
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +0 -168
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts +0 -21
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +0 -108
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts +0 -90
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +0 -150
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts +0 -14
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +0 -86
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts +0 -159
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +0 -530
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts +0 -20
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js +0 -31
- package/out/src/services/chaintracker/chaintracks/util/dirtyHashes.js.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts +0 -37
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.d.ts.map +0 -1
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +0 -429
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +0 -1
- package/out/src/services/chaintracker/index.client.d.ts +0 -4
- package/out/src/services/chaintracker/index.client.d.ts.map +0 -1
- package/out/src/services/chaintracker/index.client.js +0 -20
- package/out/src/services/chaintracker/index.client.js.map +0 -1
- package/out/src/services/createDefaultWalletServicesOptions.d.ts +0 -25
- package/out/src/services/createDefaultWalletServicesOptions.d.ts.map +0 -1
- package/out/src/services/createDefaultWalletServicesOptions.js +0 -143
- package/out/src/services/createDefaultWalletServicesOptions.js.map +0 -1
- package/out/src/services/networkConfig.d.ts +0 -29
- package/out/src/services/networkConfig.d.ts.map +0 -1
- package/out/src/services/networkConfig.js +0 -54
- package/out/src/services/networkConfig.js.map +0 -1
- package/out/src/services/providers/ARC.d.ts +0 -96
- package/out/src/services/providers/ARC.d.ts.map +0 -1
- package/out/src/services/providers/ARC.js +0 -332
- package/out/src/services/providers/ARC.js.map +0 -1
- package/out/src/services/providers/ArcSSEClient.d.ts +0 -58
- package/out/src/services/providers/ArcSSEClient.d.ts.map +0 -1
- package/out/src/services/providers/ArcSSEClient.js +0 -115
- package/out/src/services/providers/ArcSSEClient.js.map +0 -1
- package/out/src/services/providers/Arcade.d.ts +0 -73
- package/out/src/services/providers/Arcade.d.ts.map +0 -1
- package/out/src/services/providers/Arcade.js +0 -330
- package/out/src/services/providers/Arcade.js.map +0 -1
- package/out/src/services/providers/Bitails.d.ts +0 -50
- package/out/src/services/providers/Bitails.d.ts.map +0 -1
- package/out/src/services/providers/Bitails.js +0 -237
- package/out/src/services/providers/Bitails.js.map +0 -1
- package/out/src/services/providers/SdkWhatsOnChain.d.ts +0 -21
- package/out/src/services/providers/SdkWhatsOnChain.d.ts.map +0 -1
- package/out/src/services/providers/SdkWhatsOnChain.js +0 -82
- package/out/src/services/providers/SdkWhatsOnChain.js.map +0 -1
- package/out/src/services/providers/WhatsOnChain.d.ts +0 -132
- package/out/src/services/providers/WhatsOnChain.d.ts.map +0 -1
- package/out/src/services/providers/WhatsOnChain.js +0 -558
- package/out/src/services/providers/WhatsOnChain.js.map +0 -1
- package/out/src/services/providers/exchangeRates.d.ts +0 -12
- package/out/src/services/providers/exchangeRates.d.ts.map +0 -1
- package/out/src/services/providers/exchangeRates.js +0 -244
- package/out/src/services/providers/exchangeRates.js.map +0 -1
- package/out/src/services/providers/getBeefForTxid.d.ts +0 -4
- package/out/src/services/providers/getBeefForTxid.d.ts.map +0 -1
- package/out/src/services/providers/getBeefForTxid.js +0 -287
- package/out/src/services/providers/getBeefForTxid.js.map +0 -1
- package/out/src/services/providers/whatsOnChainHelpers.d.ts +0 -68
- package/out/src/services/providers/whatsOnChainHelpers.d.ts.map +0 -1
- package/out/src/services/providers/whatsOnChainHelpers.js +0 -147
- package/out/src/services/providers/whatsOnChainHelpers.js.map +0 -1
- package/out/src/signer/WalletSigner.d.ts +0 -11
- package/out/src/signer/WalletSigner.d.ts.map +0 -1
- package/out/src/signer/WalletSigner.js +0 -16
- package/out/src/signer/WalletSigner.js.map +0 -1
- package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts +0 -28
- package/out/src/signer/actionBatch/ActionBatchPlanner.d.ts.map +0 -1
- package/out/src/signer/actionBatch/ActionBatchPlanner.js +0 -313
- package/out/src/signer/actionBatch/ActionBatchPlanner.js.map +0 -1
- package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts +0 -33
- package/out/src/signer/actionBatch/ActionBatchWorkspace.d.ts.map +0 -1
- package/out/src/signer/actionBatch/ActionBatchWorkspace.js +0 -693
- package/out/src/signer/actionBatch/ActionBatchWorkspace.js.map +0 -1
- package/out/src/signer/methods/acquireDirectCertificate.d.ts +0 -5
- package/out/src/signer/methods/acquireDirectCertificate.d.ts.map +0 -1
- package/out/src/signer/methods/acquireDirectCertificate.js +0 -44
- package/out/src/signer/methods/acquireDirectCertificate.js.map +0 -1
- package/out/src/signer/methods/buildSignableTransaction.d.ts +0 -69
- package/out/src/signer/methods/buildSignableTransaction.d.ts.map +0 -1
- package/out/src/signer/methods/buildSignableTransaction.js +0 -268
- package/out/src/signer/methods/buildSignableTransaction.js.map +0 -1
- package/out/src/signer/methods/completeSignedTransaction.d.ts +0 -10
- package/out/src/signer/methods/completeSignedTransaction.d.ts.map +0 -1
- package/out/src/signer/methods/completeSignedTransaction.js +0 -106
- package/out/src/signer/methods/completeSignedTransaction.js.map +0 -1
- package/out/src/signer/methods/createAction.d.ts +0 -14
- package/out/src/signer/methods/createAction.d.ts.map +0 -1
- package/out/src/signer/methods/createAction.js +0 -126
- package/out/src/signer/methods/createAction.js.map +0 -1
- package/out/src/signer/methods/internalizeAction.d.ts +0 -43
- package/out/src/signer/methods/internalizeAction.d.ts.map +0 -1
- package/out/src/signer/methods/internalizeAction.js +0 -109
- package/out/src/signer/methods/internalizeAction.js.map +0 -1
- package/out/src/signer/methods/proveCertificate.d.ts +0 -5
- package/out/src/signer/methods/proveCertificate.d.ts.map +0 -1
- package/out/src/signer/methods/proveCertificate.js +0 -29
- package/out/src/signer/methods/proveCertificate.js.map +0 -1
- package/out/src/signer/methods/resultBeef.d.ts +0 -4
- package/out/src/signer/methods/resultBeef.d.ts.map +0 -1
- package/out/src/signer/methods/resultBeef.js +0 -12
- package/out/src/signer/methods/resultBeef.js.map +0 -1
- package/out/src/signer/methods/signAction.d.ts +0 -11
- package/out/src/signer/methods/signAction.d.ts.map +0 -1
- package/out/src/signer/methods/signAction.js +0 -43
- package/out/src/signer/methods/signAction.js.map +0 -1
- package/out/src/storage/StorageIdb.d.ts +0 -248
- package/out/src/storage/StorageIdb.d.ts.map +0 -1
- package/out/src/storage/StorageIdb.js +0 -1827
- package/out/src/storage/StorageIdb.js.map +0 -1
- package/out/src/storage/StorageProvider.d.ts +0 -309
- package/out/src/storage/StorageProvider.d.ts.map +0 -1
- package/out/src/storage/StorageProvider.js +0 -973
- package/out/src/storage/StorageProvider.js.map +0 -1
- package/out/src/storage/StorageReader.d.ts +0 -77
- package/out/src/storage/StorageReader.d.ts.map +0 -1
- package/out/src/storage/StorageReader.js +0 -166
- package/out/src/storage/StorageReader.js.map +0 -1
- package/out/src/storage/StorageReaderWriter.d.ts +0 -102
- package/out/src/storage/StorageReaderWriter.d.ts.map +0 -1
- package/out/src/storage/StorageReaderWriter.js +0 -335
- package/out/src/storage/StorageReaderWriter.js.map +0 -1
- package/out/src/storage/StorageSyncReader.d.ts +0 -18
- package/out/src/storage/StorageSyncReader.d.ts.map +0 -1
- package/out/src/storage/StorageSyncReader.js +0 -73
- package/out/src/storage/StorageSyncReader.js.map +0 -1
- package/out/src/storage/WalletStorageManager.d.ts +0 -225
- package/out/src/storage/WalletStorageManager.d.ts.map +0 -1
- package/out/src/storage/WalletStorageManager.js +0 -854
- package/out/src/storage/WalletStorageManager.js.map +0 -1
- package/out/src/storage/idbHelpers.d.ts +0 -44
- package/out/src/storage/idbHelpers.d.ts.map +0 -1
- package/out/src/storage/idbHelpers.js +0 -393
- package/out/src/storage/idbHelpers.js.map +0 -1
- package/out/src/storage/index.client.d.ts +0 -12
- package/out/src/storage/index.client.d.ts.map +0 -1
- package/out/src/storage/index.client.js +0 -28
- package/out/src/storage/index.client.js.map +0 -1
- package/out/src/storage/methods/ListActionsSpecOp.d.ts +0 -23
- package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +0 -1
- package/out/src/storage/methods/ListActionsSpecOp.js +0 -129
- package/out/src/storage/methods/ListActionsSpecOp.js.map +0 -1
- package/out/src/storage/methods/ListOutputsSpecOp.d.ts +0 -42
- package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +0 -1
- package/out/src/storage/methods/ListOutputsSpecOp.js +0 -154
- package/out/src/storage/methods/ListOutputsSpecOp.js.map +0 -1
- package/out/src/storage/methods/actionBatch.d.ts +0 -14
- package/out/src/storage/methods/actionBatch.d.ts.map +0 -1
- package/out/src/storage/methods/actionBatch.js +0 -644
- package/out/src/storage/methods/actionBatch.js.map +0 -1
- package/out/src/storage/methods/actionBatchBlobs.d.ts +0 -12
- package/out/src/storage/methods/actionBatchBlobs.d.ts.map +0 -1
- package/out/src/storage/methods/actionBatchBlobs.js +0 -121
- package/out/src/storage/methods/actionBatchBlobs.js.map +0 -1
- package/out/src/storage/methods/actionBatchValidation.d.ts +0 -15
- package/out/src/storage/methods/actionBatchValidation.d.ts.map +0 -1
- package/out/src/storage/methods/actionBatchValidation.js +0 -310
- package/out/src/storage/methods/actionBatchValidation.js.map +0 -1
- package/out/src/storage/methods/actionPlanning.d.ts +0 -12
- package/out/src/storage/methods/actionPlanning.d.ts.map +0 -1
- package/out/src/storage/methods/actionPlanning.js +0 -48
- package/out/src/storage/methods/actionPlanning.js.map +0 -1
- package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts +0 -124
- package/out/src/storage/methods/attemptToPostReqsToNetwork.d.ts.map +0 -1
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js +0 -490
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +0 -1
- package/out/src/storage/methods/createAction.d.ts +0 -13
- package/out/src/storage/methods/createAction.d.ts.map +0 -1
- package/out/src/storage/methods/createAction.js +0 -777
- package/out/src/storage/methods/createAction.js.map +0 -1
- package/out/src/storage/methods/generateChange.d.ts +0 -121
- package/out/src/storage/methods/generateChange.d.ts.map +0 -1
- package/out/src/storage/methods/generateChange.js +0 -496
- package/out/src/storage/methods/generateChange.js.map +0 -1
- package/out/src/storage/methods/getBeefForTransaction.d.ts +0 -23
- package/out/src/storage/methods/getBeefForTransaction.d.ts.map +0 -1
- package/out/src/storage/methods/getBeefForTransaction.js +0 -132
- package/out/src/storage/methods/getBeefForTransaction.js.map +0 -1
- package/out/src/storage/methods/getSyncChunk.d.ts +0 -10
- package/out/src/storage/methods/getSyncChunk.d.ts.map +0 -1
- package/out/src/storage/methods/getSyncChunk.js +0 -273
- package/out/src/storage/methods/getSyncChunk.js.map +0 -1
- package/out/src/storage/methods/internalizeAction.d.ts +0 -102
- package/out/src/storage/methods/internalizeAction.d.ts.map +0 -1
- package/out/src/storage/methods/internalizeAction.js +0 -670
- package/out/src/storage/methods/internalizeAction.js.map +0 -1
- package/out/src/storage/methods/listActionsIdb.d.ts +0 -5
- package/out/src/storage/methods/listActionsIdb.d.ts.map +0 -1
- package/out/src/storage/methods/listActionsIdb.js +0 -142
- package/out/src/storage/methods/listActionsIdb.js.map +0 -1
- package/out/src/storage/methods/listCertificates.d.ts +0 -5
- package/out/src/storage/methods/listCertificates.d.ts.map +0 -1
- package/out/src/storage/methods/listCertificates.js +0 -68
- package/out/src/storage/methods/listCertificates.js.map +0 -1
- package/out/src/storage/methods/listOutputsIdb.d.ts +0 -5
- package/out/src/storage/methods/listOutputsIdb.d.ts.map +0 -1
- package/out/src/storage/methods/listOutputsIdb.js +0 -195
- package/out/src/storage/methods/listOutputsIdb.js.map +0 -1
- package/out/src/storage/methods/managedChange.d.ts +0 -26
- package/out/src/storage/methods/managedChange.d.ts.map +0 -1
- package/out/src/storage/methods/managedChange.js +0 -43
- package/out/src/storage/methods/managedChange.js.map +0 -1
- package/out/src/storage/methods/offsetKey.d.ts +0 -24
- package/out/src/storage/methods/offsetKey.d.ts.map +0 -1
- package/out/src/storage/methods/offsetKey.js +0 -65
- package/out/src/storage/methods/offsetKey.js.map +0 -1
- package/out/src/storage/methods/processAction.d.ts +0 -43
- package/out/src/storage/methods/processAction.d.ts.map +0 -1
- package/out/src/storage/methods/processAction.js +0 -313
- package/out/src/storage/methods/processAction.js.map +0 -1
- package/out/src/storage/methods/purgeDataIdb.d.ts +0 -4
- package/out/src/storage/methods/purgeDataIdb.d.ts.map +0 -1
- package/out/src/storage/methods/purgeDataIdb.js +0 -9
- package/out/src/storage/methods/purgeDataIdb.js.map +0 -1
- package/out/src/storage/methods/reviewStatusIdb.d.ts +0 -20
- package/out/src/storage/methods/reviewStatusIdb.d.ts.map +0 -1
- package/out/src/storage/methods/reviewStatusIdb.js +0 -76
- package/out/src/storage/methods/reviewStatusIdb.js.map +0 -1
- package/out/src/storage/methods/utils.d.ts +0 -25
- package/out/src/storage/methods/utils.d.ts.map +0 -1
- package/out/src/storage/methods/utils.js +0 -59
- package/out/src/storage/methods/utils.js.map +0 -1
- package/out/src/storage/portable/index.d.ts +0 -55
- package/out/src/storage/portable/index.d.ts.map +0 -1
- package/out/src/storage/portable/index.js +0 -872
- package/out/src/storage/portable/index.js.map +0 -1
- package/out/src/storage/remoting/BinaryJson.d.ts +0 -10
- package/out/src/storage/remoting/BinaryJson.d.ts.map +0 -1
- package/out/src/storage/remoting/BinaryJson.js +0 -172
- package/out/src/storage/remoting/BinaryJson.js.map +0 -1
- package/out/src/storage/remoting/StorageClient.d.ts +0 -26
- package/out/src/storage/remoting/StorageClient.d.ts.map +0 -1
- package/out/src/storage/remoting/StorageClient.js +0 -98
- package/out/src/storage/remoting/StorageClient.js.map +0 -1
- package/out/src/storage/remoting/StorageClientBase.d.ts +0 -308
- package/out/src/storage/remoting/StorageClientBase.d.ts.map +0 -1
- package/out/src/storage/remoting/StorageClientBase.js +0 -416
- package/out/src/storage/remoting/StorageClientBase.js.map +0 -1
- package/out/src/storage/remoting/entityValidationHelpers.d.ts +0 -29
- package/out/src/storage/remoting/entityValidationHelpers.d.ts.map +0 -1
- package/out/src/storage/remoting/entityValidationHelpers.js +0 -91
- package/out/src/storage/remoting/entityValidationHelpers.js.map +0 -1
- package/out/src/storage/schema/StorageIdbSchema.d.ts +0 -157
- package/out/src/storage/schema/StorageIdbSchema.d.ts.map +0 -1
- package/out/src/storage/schema/StorageIdbSchema.js +0 -3
- package/out/src/storage/schema/StorageIdbSchema.js.map +0 -1
- package/out/src/storage/schema/entities/EntityBase.d.ts +0 -106
- package/out/src/storage/schema/entities/EntityBase.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityBase.js +0 -101
- package/out/src/storage/schema/entities/EntityBase.js.map +0 -1
- package/out/src/storage/schema/entities/EntityCertificate.d.ts +0 -44
- package/out/src/storage/schema/entities/EntityCertificate.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityCertificate.js +0 -163
- package/out/src/storage/schema/entities/EntityCertificate.js.map +0 -1
- package/out/src/storage/schema/entities/EntityCertificateField.d.ts +0 -33
- package/out/src/storage/schema/entities/EntityCertificateField.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityCertificateField.js +0 -110
- package/out/src/storage/schema/entities/EntityCertificateField.js.map +0 -1
- package/out/src/storage/schema/entities/EntityCommission.d.ts +0 -38
- package/out/src/storage/schema/entities/EntityCommission.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityCommission.js +0 -125
- package/out/src/storage/schema/entities/EntityCommission.js.map +0 -1
- package/out/src/storage/schema/entities/EntityOutput.d.ts +0 -68
- package/out/src/storage/schema/entities/EntityOutput.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityOutput.js +0 -261
- package/out/src/storage/schema/entities/EntityOutput.js.map +0 -1
- package/out/src/storage/schema/entities/EntityOutputBasket.d.ts +0 -36
- package/out/src/storage/schema/entities/EntityOutputBasket.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityOutputBasket.js +0 -133
- package/out/src/storage/schema/entities/EntityOutputBasket.js.map +0 -1
- package/out/src/storage/schema/entities/EntityOutputTag.d.ts +0 -32
- package/out/src/storage/schema/entities/EntityOutputTag.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityOutputTag.js +0 -104
- package/out/src/storage/schema/entities/EntityOutputTag.js.map +0 -1
- package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts +0 -29
- package/out/src/storage/schema/entities/EntityOutputTagMap.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityOutputTagMap.js +0 -96
- package/out/src/storage/schema/entities/EntityOutputTagMap.js.map +0 -1
- package/out/src/storage/schema/entities/EntityProvenTx.d.ts +0 -87
- package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityProvenTx.js +0 -276
- package/out/src/storage/schema/entities/EntityProvenTx.js.map +0 -1
- package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts +0 -148
- package/out/src/storage/schema/entities/EntityProvenTxReq.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityProvenTxReq.js +0 -570
- package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +0 -1
- package/out/src/storage/schema/entities/EntitySyncState.d.ts +0 -69
- package/out/src/storage/schema/entities/EntitySyncState.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntitySyncState.js +0 -338
- package/out/src/storage/schema/entities/EntitySyncState.js.map +0 -1
- package/out/src/storage/schema/entities/EntityTransaction.d.ts +0 -71
- package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityTransaction.js +0 -265
- package/out/src/storage/schema/entities/EntityTransaction.js.map +0 -1
- package/out/src/storage/schema/entities/EntityTxLabel.d.ts +0 -32
- package/out/src/storage/schema/entities/EntityTxLabel.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityTxLabel.js +0 -104
- package/out/src/storage/schema/entities/EntityTxLabel.js.map +0 -1
- package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts +0 -29
- package/out/src/storage/schema/entities/EntityTxLabelMap.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityTxLabelMap.js +0 -96
- package/out/src/storage/schema/entities/EntityTxLabelMap.js.map +0 -1
- package/out/src/storage/schema/entities/EntityUser.d.ts +0 -30
- package/out/src/storage/schema/entities/EntityUser.d.ts.map +0 -1
- package/out/src/storage/schema/entities/EntityUser.js +0 -99
- package/out/src/storage/schema/entities/EntityUser.js.map +0 -1
- package/out/src/storage/schema/entities/MergeEntity.d.ts +0 -34
- package/out/src/storage/schema/entities/MergeEntity.d.ts.map +0 -1
- package/out/src/storage/schema/entities/MergeEntity.js +0 -67
- package/out/src/storage/schema/entities/MergeEntity.js.map +0 -1
- package/out/src/storage/schema/entities/index.d.ts +0 -17
- package/out/src/storage/schema/entities/index.d.ts.map +0 -1
- package/out/src/storage/schema/entities/index.js +0 -33
- package/out/src/storage/schema/entities/index.js.map +0 -1
- package/out/src/storage/schema/tables/TableActionBatch.d.ts +0 -24
- package/out/src/storage/schema/tables/TableActionBatch.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableActionBatch.js +0 -3
- package/out/src/storage/schema/tables/TableActionBatch.js.map +0 -1
- package/out/src/storage/schema/tables/TableAuthSession.d.ts +0 -20
- package/out/src/storage/schema/tables/TableAuthSession.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableAuthSession.js +0 -15
- package/out/src/storage/schema/tables/TableAuthSession.js.map +0 -1
- package/out/src/storage/schema/tables/TableCertificate.d.ts +0 -21
- package/out/src/storage/schema/tables/TableCertificate.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableCertificate.js +0 -3
- package/out/src/storage/schema/tables/TableCertificate.js.map +0 -1
- package/out/src/storage/schema/tables/TableCertificateField.d.ts +0 -12
- package/out/src/storage/schema/tables/TableCertificateField.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableCertificateField.js +0 -3
- package/out/src/storage/schema/tables/TableCertificateField.js.map +0 -1
- package/out/src/storage/schema/tables/TableCommission.d.ts +0 -13
- package/out/src/storage/schema/tables/TableCommission.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableCommission.js +0 -3
- package/out/src/storage/schema/tables/TableCommission.js.map +0 -1
- package/out/src/storage/schema/tables/TableMonitorEvent.d.ts +0 -9
- package/out/src/storage/schema/tables/TableMonitorEvent.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableMonitorEvent.js +0 -3
- package/out/src/storage/schema/tables/TableMonitorEvent.js.map +0 -1
- package/out/src/storage/schema/tables/TableOutput.d.ts +0 -37
- package/out/src/storage/schema/tables/TableOutput.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableOutput.js +0 -31
- package/out/src/storage/schema/tables/TableOutput.js.map +0 -1
- package/out/src/storage/schema/tables/TableOutputBasket.d.ts +0 -12
- package/out/src/storage/schema/tables/TableOutputBasket.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableOutputBasket.js +0 -3
- package/out/src/storage/schema/tables/TableOutputBasket.js.map +0 -1
- package/out/src/storage/schema/tables/TableOutputTag.d.ts +0 -10
- package/out/src/storage/schema/tables/TableOutputTag.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableOutputTag.js +0 -3
- package/out/src/storage/schema/tables/TableOutputTag.js.map +0 -1
- package/out/src/storage/schema/tables/TableOutputTagMap.d.ts +0 -9
- package/out/src/storage/schema/tables/TableOutputTagMap.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableOutputTagMap.js +0 -3
- package/out/src/storage/schema/tables/TableOutputTagMap.js.map +0 -1
- package/out/src/storage/schema/tables/TableProvenTx.d.ts +0 -14
- package/out/src/storage/schema/tables/TableProvenTx.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableProvenTx.js +0 -3
- package/out/src/storage/schema/tables/TableProvenTx.js.map +0 -1
- package/out/src/storage/schema/tables/TableProvenTxReq.d.ts +0 -87
- package/out/src/storage/schema/tables/TableProvenTxReq.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableProvenTxReq.js +0 -3
- package/out/src/storage/schema/tables/TableProvenTxReq.js.map +0 -1
- package/out/src/storage/schema/tables/TableSettings.d.ts +0 -17
- package/out/src/storage/schema/tables/TableSettings.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableSettings.js +0 -3
- package/out/src/storage/schema/tables/TableSettings.js.map +0 -1
- package/out/src/storage/schema/tables/TableSyncState.d.ts +0 -18
- package/out/src/storage/schema/tables/TableSyncState.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableSyncState.js +0 -3
- package/out/src/storage/schema/tables/TableSyncState.js.map +0 -1
- package/out/src/storage/schema/tables/TableTransaction.d.ts +0 -37
- package/out/src/storage/schema/tables/TableTransaction.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableTransaction.js +0 -21
- package/out/src/storage/schema/tables/TableTransaction.js.map +0 -1
- package/out/src/storage/schema/tables/TableTxLabel.d.ts +0 -10
- package/out/src/storage/schema/tables/TableTxLabel.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableTxLabel.js +0 -3
- package/out/src/storage/schema/tables/TableTxLabel.js.map +0 -1
- package/out/src/storage/schema/tables/TableTxLabelMap.d.ts +0 -9
- package/out/src/storage/schema/tables/TableTxLabelMap.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableTxLabelMap.js +0 -3
- package/out/src/storage/schema/tables/TableTxLabelMap.js.map +0 -1
- package/out/src/storage/schema/tables/TableUser.d.ts +0 -16
- package/out/src/storage/schema/tables/TableUser.d.ts.map +0 -1
- package/out/src/storage/schema/tables/TableUser.js +0 -3
- package/out/src/storage/schema/tables/TableUser.js.map +0 -1
- package/out/src/storage/schema/tables/index.d.ts +0 -19
- package/out/src/storage/schema/tables/index.d.ts.map +0 -1
- package/out/src/storage/schema/tables/index.js +0 -35
- package/out/src/storage/schema/tables/index.js.map +0 -1
- package/out/src/storage/storageProviderHelpers.d.ts +0 -35
- package/out/src/storage/storageProviderHelpers.d.ts.map +0 -1
- package/out/src/storage/storageProviderHelpers.js +0 -100
- package/out/src/storage/storageProviderHelpers.js.map +0 -1
- package/out/src/utility/ScriptTemplateBRC29.d.ts +0 -25
- package/out/src/utility/ScriptTemplateBRC29.d.ts.map +0 -1
- package/out/src/utility/ScriptTemplateBRC29.js +0 -51
- package/out/src/utility/ScriptTemplateBRC29.js.map +0 -1
- package/out/src/utility/actionBatchDigest.d.ts +0 -9
- package/out/src/utility/actionBatchDigest.d.ts.map +0 -1
- package/out/src/utility/actionBatchDigest.js +0 -48
- package/out/src/utility/actionBatchDigest.js.map +0 -1
- package/out/src/utility/aggregateResults.d.ts +0 -8
- package/out/src/utility/aggregateResults.d.ts.map +0 -1
- package/out/src/utility/aggregateResults.js +0 -59
- package/out/src/utility/aggregateResults.js.map +0 -1
- package/out/src/utility/beefForTxids.d.ts +0 -9
- package/out/src/utility/beefForTxids.d.ts.map +0 -1
- package/out/src/utility/beefForTxids.js +0 -35
- package/out/src/utility/beefForTxids.js.map +0 -1
- package/out/src/utility/brc114ActionTimeLabels.d.ts +0 -9
- package/out/src/utility/brc114ActionTimeLabels.d.ts.map +0 -1
- package/out/src/utility/brc114ActionTimeLabels.js +0 -58
- package/out/src/utility/brc114ActionTimeLabels.js.map +0 -1
- package/out/src/utility/identityUtils.d.ts +0 -37
- package/out/src/utility/identityUtils.d.ts.map +0 -1
- package/out/src/utility/identityUtils.js +0 -162
- package/out/src/utility/identityUtils.js.map +0 -1
- package/out/src/utility/index.client.d.ts +0 -8
- package/out/src/utility/index.client.d.ts.map +0 -1
- package/out/src/utility/index.client.js +0 -24
- package/out/src/utility/index.client.js.map +0 -1
- package/out/src/utility/parseTxScriptOffsets.d.ts +0 -14
- package/out/src/utility/parseTxScriptOffsets.d.ts.map +0 -1
- package/out/src/utility/parseTxScriptOffsets.js +0 -26
- package/out/src/utility/parseTxScriptOffsets.js.map +0 -1
- package/out/src/utility/stampLog.d.ts +0 -18
- package/out/src/utility/stampLog.d.ts.map +0 -1
- package/out/src/utility/stampLog.js +0 -74
- package/out/src/utility/stampLog.js.map +0 -1
- package/out/src/utility/tscProofToMerklePath.d.ts +0 -8
- package/out/src/utility/tscProofToMerklePath.d.ts.map +0 -1
- package/out/src/utility/tscProofToMerklePath.js +0 -41
- package/out/src/utility/tscProofToMerklePath.js.map +0 -1
- package/out/src/utility/utilityHelpers.d.ts +0 -142
- package/out/src/utility/utilityHelpers.d.ts.map +0 -1
- package/out/src/utility/utilityHelpers.js +0 -319
- package/out/src/utility/utilityHelpers.js.map +0 -1
- package/out/src/utility/utilityHelpers.noBuffer.d.ts +0 -30
- package/out/src/utility/utilityHelpers.noBuffer.d.ts.map +0 -1
- package/out/src/utility/utilityHelpers.noBuffer.js +0 -64
- package/out/src/utility/utilityHelpers.noBuffer.js.map +0 -1
- package/out/src/wab-client/WABClient.d.ts +0 -60
- package/out/src/wab-client/WABClient.d.ts.map +0 -1
- package/out/src/wab-client/WABClient.js +0 -140
- package/out/src/wab-client/WABClient.js.map +0 -1
- package/out/src/wab-client/WABTransport.d.ts +0 -53
- package/out/src/wab-client/WABTransport.d.ts.map +0 -1
- package/out/src/wab-client/WABTransport.js +0 -300
- package/out/src/wab-client/WABTransport.js.map +0 -1
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +0 -41
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +0 -1
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js +0 -44
- package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +0 -1
- package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.d.ts +0 -11
- package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.d.ts.map +0 -1
- package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js +0 -15
- package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js.map +0 -1
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts +0 -5
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.d.ts.map +0 -1
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js +0 -9
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +0 -1
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts +0 -11
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.d.ts.map +0 -1
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +0 -28
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +0 -1
- package/out/tsconfig.client.tsbuildinfo +0 -1
|
@@ -1,670 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.markUserInputsSpent = markUserInputsSpent;
|
|
4
|
-
exports.restoreInputsToSpendable = restoreInputsToSpendable;
|
|
5
|
-
exports.internalizeAction = internalizeAction;
|
|
6
|
-
const sdk_1 = require("@bsv/sdk");
|
|
7
|
-
const processAction_1 = require("./processAction");
|
|
8
|
-
const WERR_errors_1 = require("../../sdk/WERR_errors");
|
|
9
|
-
const utilityHelpers_1 = require("../../utility/utilityHelpers");
|
|
10
|
-
const EntityProvenTxReq_1 = require("../schema/entities/EntityProvenTxReq");
|
|
11
|
-
const blockHeaderUtilities_1 = require("../../services/chaintracker/chaintracks/util/blockHeaderUtilities");
|
|
12
|
-
const managedChange_1 = require("./managedChange");
|
|
13
|
-
/**
|
|
14
|
-
* Mark every storage row at each consumed-input outpoint as spent — across
|
|
15
|
-
* all users that track that outpoint. An on-chain spend invalidates the UTXO
|
|
16
|
-
* for every wallet that references it, not just the wallet that called
|
|
17
|
-
* `internalizeAction`. Returns the per-row transitions so the caller can
|
|
18
|
-
* roll back via {@link restoreInputsToSpendable} on broadcast failure.
|
|
19
|
-
*
|
|
20
|
-
* Cross-user semantics:
|
|
21
|
-
* - For rows owned by `userId` (the internalizing user) we also set
|
|
22
|
-
* `spentBy=transactionId`. They own the corresponding transaction
|
|
23
|
-
* record; the FK target exists in their scope.
|
|
24
|
-
* - For rows owned by other users we set `spendable=false` and leave
|
|
25
|
-
* `spentBy` untouched. `spentBy` references the owning user's
|
|
26
|
-
* `transactions.transactionId`, and that user has no record of our
|
|
27
|
-
* transaction yet — they'd need to internalize it themselves to get
|
|
28
|
-
* one. Leaving `spentBy` undefined keeps the field consistent with
|
|
29
|
-
* "this UTXO is spent, but my wallet didn't witness the spend".
|
|
30
|
-
*
|
|
31
|
-
* Mirrors what `createAction` does for wallet-originated transactions and
|
|
32
|
-
* what `TaskUnFail.unfailReq` does when reviving a previously-failed tx.
|
|
33
|
-
* Without this, an externally-broadcast tx that consumed user UTXOs would
|
|
34
|
-
* leave those UTXOs as phantom spendable rows, picked up by subsequent
|
|
35
|
-
* `createAction` fund selection.
|
|
36
|
-
*
|
|
37
|
-
* Idempotent: rows already `spendable=false` are skipped. Rows already
|
|
38
|
-
* `spentBy` a different transaction are also skipped (a competing spend
|
|
39
|
-
* has been recorded; do not overwrite).
|
|
40
|
-
*/
|
|
41
|
-
async function markUserInputsSpent(storage, userId, tx, transactionId) {
|
|
42
|
-
const outpoints = tx.inputs
|
|
43
|
-
.map(i => ({ txid: i.sourceTXID ?? '', vout: i.sourceOutputIndex ?? 0 }))
|
|
44
|
-
.filter(o => o.txid !== '');
|
|
45
|
-
if (outpoints.length === 0)
|
|
46
|
-
return [];
|
|
47
|
-
const transitioned = [];
|
|
48
|
-
await storage.transaction(async (trx) => {
|
|
49
|
-
for (const op of outpoints) {
|
|
50
|
-
const matches = await storage.findOutputs({
|
|
51
|
-
partial: { txid: op.txid, vout: op.vout },
|
|
52
|
-
noScript: true,
|
|
53
|
-
trx
|
|
54
|
-
});
|
|
55
|
-
for (const o of matches) {
|
|
56
|
-
if (!o.spendable)
|
|
57
|
-
continue;
|
|
58
|
-
if (o.spentBy != null && o.spentBy !== transactionId)
|
|
59
|
-
continue;
|
|
60
|
-
const setSpentBy = o.userId === userId;
|
|
61
|
-
const update = setSpentBy
|
|
62
|
-
? { spendable: false, spentBy: transactionId }
|
|
63
|
-
: { spendable: false };
|
|
64
|
-
await storage.updateOutput((0, utilityHelpers_1.verifyId)(o.outputId), update, trx);
|
|
65
|
-
transitioned.push({ outputId: (0, utilityHelpers_1.verifyId)(o.outputId), setSpentBy });
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
return transitioned;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Revert the spendable=true → false transitions performed by
|
|
73
|
-
* {@link markUserInputsSpent}. Used when an internalize call's downstream
|
|
74
|
-
* broadcast fails non-fatally so the caller can retry with the same UTXOs.
|
|
75
|
-
*
|
|
76
|
-
* Only undoes what was changed: `spendable=true` always; `spentBy=undefined`
|
|
77
|
-
* only when the original transition set it. Avoids clobbering a competing
|
|
78
|
-
* spent-by on cross-user rows.
|
|
79
|
-
*
|
|
80
|
-
* The downstream `attemptToPostReqsToNetwork` path also calls
|
|
81
|
-
* `updateTransactionStatus('failed')` on doubleSpend/invalidTx outcomes,
|
|
82
|
-
* which independently restores same-user inputs (via
|
|
83
|
-
* `EntityTransaction.getInputs` filtered by userId). This explicit rollback
|
|
84
|
-
* covers cross-user rows and any path where the downstream restore did not
|
|
85
|
-
* run, and is a no-op when the downstream restore already happened.
|
|
86
|
-
*/
|
|
87
|
-
async function restoreInputsToSpendable(storage, transitions) {
|
|
88
|
-
if (transitions.length === 0)
|
|
89
|
-
return;
|
|
90
|
-
await storage.transaction(async (trx) => {
|
|
91
|
-
for (const t of transitions) {
|
|
92
|
-
const update = t.setSpentBy
|
|
93
|
-
? { spendable: true, spentBy: undefined }
|
|
94
|
-
: { spendable: true };
|
|
95
|
-
await storage.updateOutput((0, utilityHelpers_1.verifyId)(t.outputId), update, trx);
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Internalize Action allows a wallet to take ownership of outputs in a pre-existing transaction.
|
|
101
|
-
* The transaction may, or may not already be known to both the storage and user.
|
|
102
|
-
*
|
|
103
|
-
* Two types of outputs are handled: "wallet payments" and "basket insertions".
|
|
104
|
-
*
|
|
105
|
-
* A "basket insertion" output is considered a custom output and has no effect on the wallet's "balance".
|
|
106
|
-
*
|
|
107
|
-
* A "wallet payment" adds an outputs value to the wallet's change "balance". These outputs are assigned to the "default" basket.
|
|
108
|
-
*
|
|
109
|
-
* Processing starts with simple validation and then checks for a pre-existing transaction.
|
|
110
|
-
* If the transaction is already known to the user, then the outputs are reviewed against the existing outputs treatment,
|
|
111
|
-
* and merge rules are added to the arguments passed to the storage layer.
|
|
112
|
-
*
|
|
113
|
-
* The existing transaction's `status` determines what the merge path does next:
|
|
114
|
-
* - `'unproven'`, `'completed'`, or `'sending'`: outputs are merged into the existing record. The transaction status is left as-is.
|
|
115
|
-
* The `'sending'` case covers a transaction this wallet already signed and handed to broadcast processing, but
|
|
116
|
-
* whose proven_tx_req has not yet been advanced by the normal monitor/posting flow.
|
|
117
|
-
* - `'nosend'`: an ambiguous case. The transaction was created with `noSend: true` and may have been externally
|
|
118
|
-
* broadcast, may be sitting in a sendWith chain, or may be stuck mid-flight. The merge path treats the
|
|
119
|
-
* `internalizeAction` call as explicit authorization to advance the lifecycle. Specifically: `transactions.status`
|
|
120
|
-
* is promoted to `'completed'` (when a BUMP is included in the BEEF) or `'unproven'` (otherwise), and the
|
|
121
|
-
* `proven_tx_req` is moved out of `'nosend'` so Monitor's standard proof-fetching flow can finalize it.
|
|
122
|
-
* This makes the `internalizeAction` semantics consistent regardless of whether the originator shares the
|
|
123
|
-
* same storage as the internalizer or not.
|
|
124
|
-
* - Any other status: an error.
|
|
125
|
-
*
|
|
126
|
-
* When the transaction already exists, the description is updated. The isOutgoing sense is not changed.
|
|
127
|
-
*
|
|
128
|
-
* "basket insertion" Merge Rules:
|
|
129
|
-
* 1. The "default" basket may not be specified as the insertion basket.
|
|
130
|
-
* 2. Managed change may not be reclassified as a basket insertion.
|
|
131
|
-
* 3. Basket insertions do not affect wallet balance and are typed "custom".
|
|
132
|
-
*
|
|
133
|
-
* "wallet payment" Merge Rules:
|
|
134
|
-
* 1. Targeting an existing managed output is idempotent.
|
|
135
|
-
* 2. Targeting an existing custom output converts it to managed BRC-29
|
|
136
|
-
* change and increases wallet balance. This includes verified recovery of
|
|
137
|
-
* a legacy custom row that was incorrectly placed in the default basket.
|
|
138
|
-
*/
|
|
139
|
-
async function internalizeAction(storage, auth, args) {
|
|
140
|
-
const ctx = new InternalizeActionContext(storage, auth, args);
|
|
141
|
-
await ctx.asyncSetup();
|
|
142
|
-
if (ctx.isMerge)
|
|
143
|
-
await ctx.mergedInternalize();
|
|
144
|
-
else
|
|
145
|
-
await ctx.newInternalize();
|
|
146
|
-
return ctx.r;
|
|
147
|
-
}
|
|
148
|
-
class InternalizeActionContext {
|
|
149
|
-
storage;
|
|
150
|
-
auth;
|
|
151
|
-
args;
|
|
152
|
-
/** result to be returned */
|
|
153
|
-
r;
|
|
154
|
-
/** the parsed input AtomicBEEF */
|
|
155
|
-
ab;
|
|
156
|
-
/** the incoming transaction extracted from AtomicBEEF */
|
|
157
|
-
tx;
|
|
158
|
-
/** the user's change basket */
|
|
159
|
-
changeBasket;
|
|
160
|
-
/** cached baskets referenced by basket insertions */
|
|
161
|
-
baskets;
|
|
162
|
-
/** existing storage transaction for this txid and userId */
|
|
163
|
-
etx;
|
|
164
|
-
/** existing outputs */
|
|
165
|
-
eos;
|
|
166
|
-
/** all the basket insertions from incoming outputs array */
|
|
167
|
-
basketInsertions;
|
|
168
|
-
/** all the wallet payments from incoming outputs array */
|
|
169
|
-
walletPayments;
|
|
170
|
-
/** outputs this call transitioned spendable=true → false (for rollback) */
|
|
171
|
-
spentInputs;
|
|
172
|
-
userId;
|
|
173
|
-
vargs;
|
|
174
|
-
constructor(storage, auth, args) {
|
|
175
|
-
this.storage = storage;
|
|
176
|
-
this.auth = auth;
|
|
177
|
-
this.args = args;
|
|
178
|
-
this.vargs = sdk_1.Validation.validateInternalizeActionArgs(args);
|
|
179
|
-
this.userId = auth.userId;
|
|
180
|
-
this.r = {
|
|
181
|
-
accepted: true,
|
|
182
|
-
isMerge: false,
|
|
183
|
-
txid: '',
|
|
184
|
-
satoshis: 0
|
|
185
|
-
};
|
|
186
|
-
this.ab = new sdk_1.Beef();
|
|
187
|
-
this.tx = new sdk_1.Transaction();
|
|
188
|
-
this.changeBasket = {};
|
|
189
|
-
this.baskets = {};
|
|
190
|
-
this.basketInsertions = [];
|
|
191
|
-
this.walletPayments = [];
|
|
192
|
-
this.eos = [];
|
|
193
|
-
this.spentInputs = [];
|
|
194
|
-
}
|
|
195
|
-
get isMerge() {
|
|
196
|
-
return this.r.isMerge;
|
|
197
|
-
}
|
|
198
|
-
set isMerge(v) {
|
|
199
|
-
this.r.isMerge = v;
|
|
200
|
-
}
|
|
201
|
-
get txid() {
|
|
202
|
-
return this.r.txid;
|
|
203
|
-
}
|
|
204
|
-
set txid(v) {
|
|
205
|
-
this.r.txid = v;
|
|
206
|
-
}
|
|
207
|
-
get satoshis() {
|
|
208
|
-
return this.r.satoshis;
|
|
209
|
-
}
|
|
210
|
-
set satoshis(v) {
|
|
211
|
-
this.r.satoshis = v;
|
|
212
|
-
}
|
|
213
|
-
async getBasket(basketName) {
|
|
214
|
-
if (basketName === 'default') {
|
|
215
|
-
throw new WERR_errors_1.WERR_INVALID_PARAMETER('insertionRemittance.basket', 'a non-default basket');
|
|
216
|
-
}
|
|
217
|
-
let b = this.baskets[basketName];
|
|
218
|
-
if (b)
|
|
219
|
-
return b;
|
|
220
|
-
b = await this.storage.findOrInsertOutputBasket(this.userId, basketName);
|
|
221
|
-
this.baskets[basketName] = b;
|
|
222
|
-
return b;
|
|
223
|
-
}
|
|
224
|
-
async asyncSetup() {
|
|
225
|
-
;
|
|
226
|
-
({ ab: this.ab, tx: this.tx, txid: this.txid } = await this.validateAtomicBeef(this.args.tx));
|
|
227
|
-
for (const o of this.args.outputs) {
|
|
228
|
-
if (o.outputIndex < 0 || o.outputIndex >= this.tx.outputs.length) {
|
|
229
|
-
throw new WERR_errors_1.WERR_INVALID_PARAMETER('outputIndex', `a valid output index in range 0 to ${this.tx.outputs.length - 1}`);
|
|
230
|
-
}
|
|
231
|
-
const txo = this.tx.outputs[o.outputIndex];
|
|
232
|
-
switch (o.protocol) {
|
|
233
|
-
case 'basket insertion':
|
|
234
|
-
if ((o.insertionRemittance == null) || (o.paymentRemittance != null)) {
|
|
235
|
-
throw new WERR_errors_1.WERR_INVALID_PARAMETER('basket insertion', 'valid insertionRemittance and no paymentRemittance');
|
|
236
|
-
}
|
|
237
|
-
if (o.insertionRemittance.basket === 'default') {
|
|
238
|
-
throw new WERR_errors_1.WERR_INVALID_PARAMETER('insertionRemittance.basket', 'a non-default basket');
|
|
239
|
-
}
|
|
240
|
-
this.basketInsertions.push({
|
|
241
|
-
...o.insertionRemittance,
|
|
242
|
-
txo,
|
|
243
|
-
vout: o.outputIndex
|
|
244
|
-
});
|
|
245
|
-
break;
|
|
246
|
-
case 'wallet payment':
|
|
247
|
-
if (o.insertionRemittance || (o.paymentRemittance == null)) {
|
|
248
|
-
throw new WERR_errors_1.WERR_INVALID_PARAMETER('wallet payment', 'valid paymentRemittance and no insertionRemittance');
|
|
249
|
-
}
|
|
250
|
-
this.walletPayments.push({
|
|
251
|
-
...o.paymentRemittance,
|
|
252
|
-
txo,
|
|
253
|
-
vout: o.outputIndex,
|
|
254
|
-
ignore: false
|
|
255
|
-
});
|
|
256
|
-
break;
|
|
257
|
-
default:
|
|
258
|
-
throw new WERR_errors_1.WERR_INTERNAL(`unexpected protocol ${o.protocol}`);
|
|
259
|
-
}
|
|
260
|
-
}
|
|
261
|
-
this.changeBasket = (0, utilityHelpers_1.verifyOne)(await this.storage.findOutputBaskets({
|
|
262
|
-
partial: { userId: this.userId, name: 'default' }
|
|
263
|
-
}));
|
|
264
|
-
this.baskets = {};
|
|
265
|
-
this.etx = (0, utilityHelpers_1.verifyOneOrNone)(await this.storage.findTransactions({
|
|
266
|
-
partial: { userId: this.userId, txid: this.txid }
|
|
267
|
-
}));
|
|
268
|
-
if ((this.etx != null) && this.etx.status !== 'completed' && this.etx.status !== 'unproven' && this.etx.status !== 'sending' && this.etx.status !== 'nosend') {
|
|
269
|
-
throw new WERR_errors_1.WERR_INVALID_PARAMETER('tx', `target transaction of internalizeAction has invalid status ${this.etx.status}.`);
|
|
270
|
-
}
|
|
271
|
-
this.isMerge = this.etx != null;
|
|
272
|
-
if (this.isMerge) {
|
|
273
|
-
this.eos = await this.storage.findOutputs({
|
|
274
|
-
partial: { userId: this.userId, txid: this.txid }
|
|
275
|
-
}); // It is possible for a transaction to have no outputs, or less outputs in storage than in the transaction itself.
|
|
276
|
-
for (const eo of this.eos) {
|
|
277
|
-
const bi = this.basketInsertions.find(b => b.vout === eo.vout);
|
|
278
|
-
const wp = this.walletPayments.find(b => b.vout === eo.vout);
|
|
279
|
-
if ((bi != null) && (wp != null))
|
|
280
|
-
throw new WERR_errors_1.WERR_INVALID_PARAMETER('outputs', 'unique outputIndex values');
|
|
281
|
-
if (bi != null)
|
|
282
|
-
bi.eo = eo;
|
|
283
|
-
if (wp != null)
|
|
284
|
-
wp.eo = eo;
|
|
285
|
-
}
|
|
286
|
-
}
|
|
287
|
-
for (const basket of this.basketInsertions) {
|
|
288
|
-
if (this.isMerge && (basket.eo != null)) {
|
|
289
|
-
if ((0, managedChange_1.isManagedChangeOutput)(basket.eo)) {
|
|
290
|
-
throw new WERR_errors_1.WERR_INVALID_PARAMETER('outputs', `output ${basket.vout} is wallet-managed change and cannot be reclassified as a basket insertion`);
|
|
291
|
-
}
|
|
292
|
-
// An incompatible legacy row in the default basket may be moved to a
|
|
293
|
-
// non-default recovery basket. It was not part of managed balance, so
|
|
294
|
-
// this metadata repair has no satoshi adjustment.
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
for (const payment of this.walletPayments) {
|
|
298
|
-
if (this.isMerge) {
|
|
299
|
-
if (payment.eo != null) {
|
|
300
|
-
if ((0, managedChange_1.isManagedChangeOutput)(payment.eo) && payment.eo.basketId === this.changeBasket.basketId) {
|
|
301
|
-
// Re-internalizing managed change is idempotent.
|
|
302
|
-
payment.ignore = true;
|
|
303
|
-
}
|
|
304
|
-
else {
|
|
305
|
-
// Verified signer processing established that this is BRC-29.
|
|
306
|
-
// Promote a custom row (including legacy custom-in-default rows)
|
|
307
|
-
// to managed change and add it to balance.
|
|
308
|
-
this.satoshis += payment.txo.satoshis;
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
else {
|
|
312
|
-
// adding a previously untracked output of an existing transaction as change... increase net satoshis
|
|
313
|
-
this.satoshis += payment.txo.satoshis;
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
else {
|
|
317
|
-
// If there are no existing outputs, all incoming wallet payment outputs add to net satoshis
|
|
318
|
-
this.satoshis += payment.txo.satoshis;
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
}
|
|
322
|
-
/**
|
|
323
|
-
* This is the second time the atomic beef is validated against a chaintracker.
|
|
324
|
-
* The first validation used the originating wallet's configured chaintracker.
|
|
325
|
-
* Now the chaintracker configured for this storage is used.
|
|
326
|
-
* These may be the same, or different.
|
|
327
|
-
*
|
|
328
|
-
* THIS DOES NOT GUARANTEE:
|
|
329
|
-
* 1. That the transaction has been broadcast. (Is known to the network).
|
|
330
|
-
* 2. That the proof(s) are for the same block as recorded in this storage in the event of a reorg.
|
|
331
|
-
*
|
|
332
|
-
* In the event of a reorg, we CAN assume that the proof contained in this beef should replace the proof in storage.
|
|
333
|
-
*
|
|
334
|
-
* @param atomicBeef
|
|
335
|
-
* @returns
|
|
336
|
-
*/
|
|
337
|
-
async validateAtomicBeef(atomicBeef) {
|
|
338
|
-
const ab = atomicBeef instanceof Uint8Array ? sdk_1.Beef.fromBinaryView(atomicBeef) : sdk_1.Beef.fromBinary(atomicBeef);
|
|
339
|
-
const txValid = await ab.verify(await this.storage.getServices().getChainTracker(), false);
|
|
340
|
-
if (!txValid || !ab.atomicTxid)
|
|
341
|
-
throw new WERR_errors_1.WERR_INVALID_PARAMETER('tx', 'valid AtomicBEEF');
|
|
342
|
-
const txid = ab.atomicTxid;
|
|
343
|
-
const btx = ab.findTxid(txid);
|
|
344
|
-
if (btx == null)
|
|
345
|
-
throw new WERR_errors_1.WERR_INVALID_PARAMETER('tx', `valid AtomicBEEF with newest txid of ${txid}`);
|
|
346
|
-
const tx = btx.tx;
|
|
347
|
-
return { ab, tx, txid };
|
|
348
|
-
}
|
|
349
|
-
async findOrInsertTargetTransaction(satoshis, provenTx) {
|
|
350
|
-
const now = new Date();
|
|
351
|
-
const provenTxId = provenTx?.provenTxId;
|
|
352
|
-
const status = (provenTx != null) ? 'completed' : 'unproven';
|
|
353
|
-
const newTx = {
|
|
354
|
-
created_at: now,
|
|
355
|
-
updated_at: now,
|
|
356
|
-
transactionId: 0,
|
|
357
|
-
provenTxId,
|
|
358
|
-
status,
|
|
359
|
-
satoshis,
|
|
360
|
-
version: this.tx.version,
|
|
361
|
-
lockTime: this.tx.lockTime,
|
|
362
|
-
reference: (0, utilityHelpers_1.randomBytesBase64)(7),
|
|
363
|
-
userId: this.userId,
|
|
364
|
-
isOutgoing: false,
|
|
365
|
-
description: this.args.description,
|
|
366
|
-
inputBEEF: undefined,
|
|
367
|
-
txid: this.txid,
|
|
368
|
-
rawTx: undefined
|
|
369
|
-
};
|
|
370
|
-
const tr = await this.storage.findOrInsertTransaction(newTx);
|
|
371
|
-
if (!tr.isNew) {
|
|
372
|
-
if (!this.isMerge)
|
|
373
|
-
// For now, only allow transaction record to pre-exist if it was there at the start.
|
|
374
|
-
{
|
|
375
|
-
throw new WERR_errors_1.WERR_INVALID_PARAMETER('tx', 'target transaction of internalizeAction is undergoing active changes.');
|
|
376
|
-
}
|
|
377
|
-
const update = { satoshis: tr.tx.satoshis + satoshis };
|
|
378
|
-
if (provenTx != null) {
|
|
379
|
-
update.provenTxId = provenTxId;
|
|
380
|
-
update.status = status;
|
|
381
|
-
}
|
|
382
|
-
await this.storage.updateTransaction(tr.tx.transactionId, update);
|
|
383
|
-
}
|
|
384
|
-
return tr.tx;
|
|
385
|
-
}
|
|
386
|
-
async findOrInsertProvenTxFromBump(bump, btx) {
|
|
387
|
-
const now = new Date();
|
|
388
|
-
const merkleRoot = bump.computeRoot(this.txid);
|
|
389
|
-
const indexEntry = bump.path[0].find(p => p.hash === this.txid);
|
|
390
|
-
if (indexEntry == null) {
|
|
391
|
-
throw new WERR_errors_1.WERR_INTERNAL(`Could not determine transaction index for txid ${this.txid} in bump path. Expected to find txid in bump.path[0]: ${JSON.stringify(bump.path[0])}`);
|
|
392
|
-
}
|
|
393
|
-
const index = indexEntry.offset;
|
|
394
|
-
const header = await this.storage.getServices().getHeaderForHeight(bump.blockHeight);
|
|
395
|
-
if (!header) {
|
|
396
|
-
throw new WERR_errors_1.WERR_INTERNAL(`Block header not found for height ${bump.blockHeight}`);
|
|
397
|
-
}
|
|
398
|
-
const hash = (0, blockHeaderUtilities_1.blockHash)(header);
|
|
399
|
-
const provenTxR = await this.storage.findOrInsertProvenTx({
|
|
400
|
-
created_at: now,
|
|
401
|
-
updated_at: now,
|
|
402
|
-
provenTxId: 0,
|
|
403
|
-
txid: this.txid,
|
|
404
|
-
height: bump.blockHeight,
|
|
405
|
-
index,
|
|
406
|
-
merklePath: bump.toBinary(),
|
|
407
|
-
rawTx: btx.rawTx,
|
|
408
|
-
blockHash: hash,
|
|
409
|
-
merkleRoot
|
|
410
|
-
});
|
|
411
|
-
return provenTxR.proven;
|
|
412
|
-
}
|
|
413
|
-
async mergedInternalize() {
|
|
414
|
-
const transactionId = this.etx.transactionId;
|
|
415
|
-
const wasNoSend = this.etx.status === 'nosend';
|
|
416
|
-
await this.addLabels(transactionId);
|
|
417
|
-
// Externally-broadcast txs internalized into a pre-existing storage
|
|
418
|
-
// record (typically a nosend created by this wallet) still need their
|
|
419
|
-
// consumed user UTXOs marked spent. createAction marks them when the
|
|
420
|
-
// tx is wallet-originated, but a nosend can be merged from a sender
|
|
421
|
-
// that doesn't share storage. Idempotent for the wallet-originated
|
|
422
|
-
// case — already-spent outputs are skipped.
|
|
423
|
-
await this.markInputsSpent(transactionId);
|
|
424
|
-
for (const payment of this.walletPayments) {
|
|
425
|
-
if ((payment.eo != null) && !payment.ignore)
|
|
426
|
-
await this.mergeWalletPaymentForOutput(transactionId, payment);
|
|
427
|
-
else if (!payment.ignore)
|
|
428
|
-
await this.storeNewWalletPaymentForOutput(transactionId, payment);
|
|
429
|
-
}
|
|
430
|
-
for (const basket of this.basketInsertions) {
|
|
431
|
-
if (basket.eo != null)
|
|
432
|
-
await this.mergeBasketInsertionForOutput(transactionId, basket);
|
|
433
|
-
else
|
|
434
|
-
await this.storeNewBasketInsertionForOutput(transactionId, basket);
|
|
435
|
-
}
|
|
436
|
-
// Lifecycle advance when merging into a tx that was 'nosend'.
|
|
437
|
-
//
|
|
438
|
-
// Background: an internalizeAction call against an existing tx in
|
|
439
|
-
// 'nosend' status is the caller asserting the tx has now been
|
|
440
|
-
// externally broadcast (and potentially mined if the BEEF includes
|
|
441
|
-
// a BUMP). Before this advance, mergedInternalize only updated
|
|
442
|
-
// labels + per-output ownership records and left transactions.status
|
|
443
|
-
// and proven_tx_reqs.status unchanged. The nosend state then had no
|
|
444
|
-
// reliable retirement path: TaskCheckNoSends's default daily cadence
|
|
445
|
-
// combined with intermittent wallet uptime meant the req could sit
|
|
446
|
-
// in 'nosend' indefinitely, and a subsequent abortAction call would
|
|
447
|
-
// unconditionally invalidate the on-chain tx — orphaning every
|
|
448
|
-
// output the tx produced.
|
|
449
|
-
//
|
|
450
|
-
// BUMP-present path: mirror newInternalize's findOrInsertProvenTx
|
|
451
|
-
// path, then promote the existing transaction record to 'completed'
|
|
452
|
-
// with the new provenTxId and retire the proven_tx_req to
|
|
453
|
-
// 'completed' too.
|
|
454
|
-
//
|
|
455
|
-
// BUMP-absent path: promote transactions.status to 'unproven' (so
|
|
456
|
-
// listOutputs filters the tx's outputs into the spendable set
|
|
457
|
-
// immediately) and transition the proven_tx_req to 'unmined' so
|
|
458
|
-
// TaskCheckForProofs picks it up on its next nudge cycle. This
|
|
459
|
-
// hands off to Monitor's standard proof-fetching flow.
|
|
460
|
-
if (wasNoSend) {
|
|
461
|
-
const bump = this.ab.findBump(this.txid);
|
|
462
|
-
if (bump != null) {
|
|
463
|
-
const btx = this.ab.findTxid(this.txid);
|
|
464
|
-
if (btx == null) {
|
|
465
|
-
throw new WERR_errors_1.WERR_INTERNAL(`Could not find transaction ${this.txid} in AtomicBEEF`);
|
|
466
|
-
}
|
|
467
|
-
const proven = await this.findOrInsertProvenTxFromBump(bump, btx);
|
|
468
|
-
await this.storage.updateTransaction(transactionId, {
|
|
469
|
-
provenTxId: proven.provenTxId,
|
|
470
|
-
status: 'completed'
|
|
471
|
-
});
|
|
472
|
-
const req = await EntityProvenTxReq_1.EntityProvenTxReq.fromStorageTxid(this.storage, this.txid);
|
|
473
|
-
if (req != null && req.status === 'nosend') {
|
|
474
|
-
req.addHistoryNote({ what: 'internalizeAction-bumpRetire', userId: this.userId });
|
|
475
|
-
req.provenTxId = proven.provenTxId;
|
|
476
|
-
req.status = 'completed';
|
|
477
|
-
await req.updateStorageDynamicProperties(this.storage);
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
else {
|
|
481
|
-
await this.storage.updateTransaction(transactionId, { status: 'unproven' });
|
|
482
|
-
const req = await EntityProvenTxReq_1.EntityProvenTxReq.fromStorageTxid(this.storage, this.txid);
|
|
483
|
-
if (req != null && req.status === 'nosend') {
|
|
484
|
-
req.addHistoryNote({ what: 'internalizeAction-nosendRetire', userId: this.userId });
|
|
485
|
-
req.status = 'unmined';
|
|
486
|
-
await req.updateStorageDynamicProperties(this.storage);
|
|
487
|
-
}
|
|
488
|
-
}
|
|
489
|
-
}
|
|
490
|
-
}
|
|
491
|
-
/**
|
|
492
|
-
* internalize output(s) from a transaction with txid unknown to storage.
|
|
493
|
-
*/
|
|
494
|
-
async newInternalize() {
|
|
495
|
-
// Check if the transaction has a merkle path proof (BUMP)
|
|
496
|
-
const btx = this.ab.findTxid(this.txid);
|
|
497
|
-
if (btx == null)
|
|
498
|
-
throw new WERR_errors_1.WERR_INTERNAL(`Could not find transaction ${this.txid} in AtomicBEEF`);
|
|
499
|
-
const bump = this.ab.findBump(this.txid);
|
|
500
|
-
let pr = { isNew: false, proven: undefined, req: undefined };
|
|
501
|
-
if (bump != null) {
|
|
502
|
-
// The presence bump indicates the transaction has already been mined.
|
|
503
|
-
// Verify a provenTx record exist before creating a new transaction with completed status...
|
|
504
|
-
// Which normally means creating a new provenTx record.
|
|
505
|
-
pr.proven = await this.findOrInsertProvenTxFromBump(bump, btx);
|
|
506
|
-
}
|
|
507
|
-
this.etx = await this.findOrInsertTargetTransaction(this.satoshis, pr.proven);
|
|
508
|
-
const transactionId = this.etx.transactionId;
|
|
509
|
-
// Mark any user-owned outputs the incoming tx consumes as spent BEFORE
|
|
510
|
-
// attempting broadcast. If broadcast fails we restore them below.
|
|
511
|
-
await this.markInputsSpent(transactionId);
|
|
512
|
-
if (pr.proven == null) {
|
|
513
|
-
// beef doesn't include proof of mining for the transaction (etx).
|
|
514
|
-
// the new transaction record has been added to storage, but (baring race conditions)
|
|
515
|
-
// there should be no provenTx or provenTxReq records for this txid.
|
|
516
|
-
//
|
|
517
|
-
// Attempt to create a provenTxReq record for the txid to obtain a proof,
|
|
518
|
-
// while allowing for possible race conditions...
|
|
519
|
-
const newReq = EntityProvenTxReq_1.EntityProvenTxReq.fromTxid(this.txid, this.tx.toBinary(), sdk_1.Utils.toArray(this.args.tx));
|
|
520
|
-
newReq.status = 'unsent';
|
|
521
|
-
// this history and notify will be merged into an existing req if it exists.
|
|
522
|
-
newReq.addHistoryNote({ what: 'internalizeAction', userId: this.userId });
|
|
523
|
-
newReq.addNotifyTransactionId(transactionId);
|
|
524
|
-
pr = await this.storage.getProvenOrReq(this.txid, newReq.toApi());
|
|
525
|
-
}
|
|
526
|
-
if (pr.isNew) {
|
|
527
|
-
// This storage didn't know about this txid and the beef didn't include a mining proof.
|
|
528
|
-
// Assume the transaction has never been broadcast.
|
|
529
|
-
// Attempt to broadcast it to the network, throwing an error if it fails.
|
|
530
|
-
// Skip looking up txids and building an aggregate beef,
|
|
531
|
-
// just this one txid and the already validated atomic beef.
|
|
532
|
-
// The beef may contain additional unbroadcast transactions which
|
|
533
|
-
// we don't care about.
|
|
534
|
-
const r = {
|
|
535
|
-
beef: this.ab,
|
|
536
|
-
details: [{ txid: this.txid, status: 'readyToSend', req: pr.req }]
|
|
537
|
-
};
|
|
538
|
-
const { swr, ndr } = await (0, processAction_1.shareReqsWithWorld)(this.storage, this.userId, [], false, r);
|
|
539
|
-
if (ndr[0].status !== 'success') {
|
|
540
|
-
// Roll back the spendable=true → false transitions performed above
|
|
541
|
-
// so the caller can retry with the same UTXOs. Idempotent w.r.t.
|
|
542
|
-
// attemptToPostReqsToNetwork's own updateTransactionStatus('failed')
|
|
543
|
-
// restore on doubleSpend/invalidTx outcomes.
|
|
544
|
-
await this.restoreSpentInputs();
|
|
545
|
-
this.r.sendWithResults = swr;
|
|
546
|
-
this.r.notDelayedResults = ndr;
|
|
547
|
-
// abort the internalize action, WERR_REVIEW_ACTIONS exception will be thrown
|
|
548
|
-
return;
|
|
549
|
-
}
|
|
550
|
-
}
|
|
551
|
-
await this.addLabels(transactionId);
|
|
552
|
-
for (const payment of this.walletPayments) {
|
|
553
|
-
await this.storeNewWalletPaymentForOutput(transactionId, payment);
|
|
554
|
-
}
|
|
555
|
-
for (const basket of this.basketInsertions) {
|
|
556
|
-
await this.storeNewBasketInsertionForOutput(transactionId, basket);
|
|
557
|
-
}
|
|
558
|
-
}
|
|
559
|
-
async addLabels(transactionId) {
|
|
560
|
-
for (const label of this.vargs.labels) {
|
|
561
|
-
const txLabel = await this.storage.findOrInsertTxLabel(this.userId, label);
|
|
562
|
-
await this.storage.findOrInsertTxLabelMap((0, utilityHelpers_1.verifyId)(transactionId), (0, utilityHelpers_1.verifyId)(txLabel.txLabelId));
|
|
563
|
-
}
|
|
564
|
-
}
|
|
565
|
-
async markInputsSpent(transactionId) {
|
|
566
|
-
const transitioned = await markUserInputsSpent(this.storage, this.userId, this.tx, transactionId);
|
|
567
|
-
this.spentInputs.push(...transitioned);
|
|
568
|
-
}
|
|
569
|
-
async restoreSpentInputs() {
|
|
570
|
-
await restoreInputsToSpendable(this.storage, this.spentInputs);
|
|
571
|
-
this.spentInputs = [];
|
|
572
|
-
}
|
|
573
|
-
async addBasketTags(basket, outputId) {
|
|
574
|
-
for (const tag of basket.tags || []) {
|
|
575
|
-
await this.storage.tagOutput({ outputId, userId: this.userId }, tag);
|
|
576
|
-
}
|
|
577
|
-
}
|
|
578
|
-
async storeNewWalletPaymentForOutput(transactionId, payment) {
|
|
579
|
-
const now = new Date();
|
|
580
|
-
const txOut = {
|
|
581
|
-
created_at: now,
|
|
582
|
-
updated_at: now,
|
|
583
|
-
outputId: 0,
|
|
584
|
-
transactionId,
|
|
585
|
-
userId: this.userId,
|
|
586
|
-
spendable: true,
|
|
587
|
-
lockingScript: payment.txo.lockingScript.toBinary(),
|
|
588
|
-
vout: payment.vout,
|
|
589
|
-
basketId: this.changeBasket.basketId,
|
|
590
|
-
satoshis: payment.txo.satoshis,
|
|
591
|
-
txid: this.txid,
|
|
592
|
-
senderIdentityKey: payment.senderIdentityKey,
|
|
593
|
-
type: 'P2PKH',
|
|
594
|
-
providedBy: 'storage',
|
|
595
|
-
purpose: 'change',
|
|
596
|
-
derivationPrefix: payment.derivationPrefix,
|
|
597
|
-
derivationSuffix: payment.derivationSuffix,
|
|
598
|
-
change: true,
|
|
599
|
-
spentBy: undefined,
|
|
600
|
-
customInstructions: undefined,
|
|
601
|
-
outputDescription: '',
|
|
602
|
-
spendingDescription: undefined
|
|
603
|
-
};
|
|
604
|
-
txOut.outputId = await this.storage.insertOutput(txOut);
|
|
605
|
-
payment.eo = txOut;
|
|
606
|
-
}
|
|
607
|
-
async mergeWalletPaymentForOutput(transactionId, payment) {
|
|
608
|
-
const outputId = payment.eo.outputId;
|
|
609
|
-
const update = {
|
|
610
|
-
basketId: this.changeBasket.basketId,
|
|
611
|
-
type: 'P2PKH',
|
|
612
|
-
customInstructions: undefined,
|
|
613
|
-
change: true,
|
|
614
|
-
providedBy: 'storage',
|
|
615
|
-
purpose: 'change',
|
|
616
|
-
senderIdentityKey: payment.senderIdentityKey,
|
|
617
|
-
derivationPrefix: payment.derivationPrefix,
|
|
618
|
-
derivationSuffix: payment.derivationSuffix
|
|
619
|
-
};
|
|
620
|
-
await this.storage.updateOutput(outputId, update);
|
|
621
|
-
payment.eo = { ...payment.eo, ...update };
|
|
622
|
-
}
|
|
623
|
-
async mergeBasketInsertionForOutput(transactionId, basket) {
|
|
624
|
-
const outputId = basket.eo.outputId;
|
|
625
|
-
const update = {
|
|
626
|
-
basketId: (await this.getBasket(basket.basket)).basketId,
|
|
627
|
-
type: 'custom',
|
|
628
|
-
customInstructions: basket.customInstructions,
|
|
629
|
-
change: false,
|
|
630
|
-
providedBy: 'you',
|
|
631
|
-
purpose: '',
|
|
632
|
-
senderIdentityKey: undefined,
|
|
633
|
-
derivationPrefix: undefined,
|
|
634
|
-
derivationSuffix: undefined
|
|
635
|
-
};
|
|
636
|
-
await this.storage.updateOutput(outputId, update);
|
|
637
|
-
basket.eo = { ...basket.eo, ...update };
|
|
638
|
-
}
|
|
639
|
-
async storeNewBasketInsertionForOutput(transactionId, basket) {
|
|
640
|
-
const now = new Date();
|
|
641
|
-
const txOut = {
|
|
642
|
-
created_at: now,
|
|
643
|
-
updated_at: now,
|
|
644
|
-
outputId: 0,
|
|
645
|
-
transactionId,
|
|
646
|
-
userId: this.userId,
|
|
647
|
-
spendable: true,
|
|
648
|
-
lockingScript: basket.txo.lockingScript.toBinary(),
|
|
649
|
-
vout: basket.vout,
|
|
650
|
-
basketId: (await this.getBasket(basket.basket)).basketId,
|
|
651
|
-
satoshis: basket.txo.satoshis,
|
|
652
|
-
txid: this.txid,
|
|
653
|
-
type: 'custom',
|
|
654
|
-
customInstructions: basket.customInstructions,
|
|
655
|
-
change: false,
|
|
656
|
-
spentBy: undefined,
|
|
657
|
-
outputDescription: '',
|
|
658
|
-
spendingDescription: undefined,
|
|
659
|
-
providedBy: 'you',
|
|
660
|
-
purpose: '',
|
|
661
|
-
senderIdentityKey: undefined,
|
|
662
|
-
derivationPrefix: undefined,
|
|
663
|
-
derivationSuffix: undefined
|
|
664
|
-
};
|
|
665
|
-
txOut.outputId = await this.storage.insertOutput(txOut);
|
|
666
|
-
await this.addBasketTags(basket, txOut.outputId);
|
|
667
|
-
basket.eo = txOut;
|
|
668
|
-
}
|
|
669
|
-
}
|
|
670
|
-
//# sourceMappingURL=internalizeAction.js.map
|