@bsv/wallet-toolbox 2.1.27 → 2.1.28

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.
Files changed (42) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/docs/client.md +303 -153
  3. package/docs/monitor.md +69 -1
  4. package/docs/storage.md +107 -31
  5. package/docs/wallet.md +246 -118
  6. package/out/src/monitor/Monitor.d.ts.map +1 -1
  7. package/out/src/monitor/Monitor.js +12 -0
  8. package/out/src/monitor/Monitor.js.map +1 -1
  9. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +59 -1
  10. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  11. package/out/src/monitor/tasks/TaskCheckNoSends.js +93 -4
  12. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  13. package/out/src/services/__tests/getFiatExchangeRate.test.js +25 -0
  14. package/out/src/services/__tests/getFiatExchangeRate.test.js.map +1 -1
  15. package/out/src/services/__tests/getMerklePath.test.js +8 -0
  16. package/out/src/services/__tests/getMerklePath.test.js.map +1 -1
  17. package/out/src/services/__tests/verifyBeef.test.js +37 -0
  18. package/out/src/services/__tests/verifyBeef.test.js.map +1 -1
  19. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js +36 -0
  20. package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js.map +1 -1
  21. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js +34 -0
  22. package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js.map +1 -1
  23. package/out/src/signer/methods/internalizeAction.d.ts +8 -1
  24. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  25. package/out/src/signer/methods/internalizeAction.js +8 -1
  26. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  27. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  28. package/out/src/storage/StorageProvider.js +80 -2
  29. package/out/src/storage/StorageProvider.js.map +1 -1
  30. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  31. package/out/src/storage/methods/ListActionsSpecOp.js +68 -5
  32. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  33. package/out/src/storage/methods/createAction.js +27 -13
  34. package/out/src/storage/methods/createAction.js.map +1 -1
  35. package/out/src/storage/methods/internalizeAction.d.ts +69 -2
  36. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  37. package/out/src/storage/methods/internalizeAction.js +206 -26
  38. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  39. package/out/src/storage/portable/index.d.ts.map +1 -1
  40. package/out/src/storage/portable/index.js +160 -114
  41. package/out/src/storage/portable/index.js.map +1 -1
  42. package/package.json +6 -6
package/docs/client.md CHANGED
@@ -10,83 +10,83 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
10
10
  | [AggregatePostBeefTxResult](#interface-aggregatepostbeeftxresult) | [GenerateChangeSdkInput](#interface-generatechangesdkinput) | [SetupWalletIdb](#interface-setupwalletidb) |
11
11
  | [ArcConfig](#interface-arcconfig) | [GenerateChangeSdkOutput](#interface-generatechangesdkoutput) | [SetupWalletIdbArgs](#interface-setupwalletidbargs) |
12
12
  | [ArcMinerGetTxData](#interface-arcminergettxdata) | [GenerateChangeSdkParams](#interface-generatechangesdkparams) | [SignActionResultX](#interface-signactionresultx) |
13
- | [ArcSSEClientOptions](#interface-arcsseclientoptions) | [GenerateChangeSdkResult](#interface-generatechangesdkresult) | [StartAuthResponse](#interface-startauthresponse) |
14
- | [ArcSSEEvent](#interface-arcsseevent) | [GenerateChangeSdkStorageChange](#interface-generatechangesdkstoragechange) | [StatusForTxidResult](#interface-statusfortxidresult) |
15
- | [AuthId](#interface-authid) | [GetHeaderByteFileLinksResult](#interface-getheaderbytefilelinksresult) | [StopListenerToken](#interface-stoplistenertoken) |
16
- | [AuthPayload](#interface-authpayload) | [GetMerklePathResult](#interface-getmerklepathresult) | [StorageAdminStats](#interface-storageadminstats) |
17
- | [BaseBlockHeader](#interface-baseblockheader) | [GetRawTxResult](#interface-getrawtxresult) | [StorageCreateActionResult](#interface-storagecreateactionresult) |
18
- | [BitailsConfig](#interface-bitailsconfig) | [GetReqsAndBeefDetail](#interface-getreqsandbeefdetail) | [StorageCreateTransactionSdkInput](#interface-storagecreatetransactionsdkinput) |
19
- | [BitailsMerkleProof](#interface-bitailsmerkleproof) | [GetReqsAndBeefResult](#interface-getreqsandbeefresult) | [StorageCreateTransactionSdkOutput](#interface-storagecreatetransactionsdkoutput) |
20
- | [BlockHeader](#interface-blockheader) | [GetScriptHashHistory](#interface-getscripthashhistory) | [StorageFeeModel](#interface-storagefeemodel) |
21
- | [BsvExchangeRate](#interface-bsvexchangerate) | [GetScriptHashHistoryResult](#interface-getscripthashhistoryresult) | [StorageGetBeefOptions](#interface-storagegetbeefoptions) |
22
- | [BulkFileDataManagerMergeResult](#interface-bulkfiledatamanagermergeresult) | [GetStatusForTxidsResult](#interface-getstatusfortxidsresult) | [StorageIdbOptions](#interface-storageidboptions) |
23
- | [BulkFileDataManagerOptions](#interface-bulkfiledatamanageroptions) | [GetUtxoStatusDetails](#interface-getutxostatusdetails) | [StorageIdbSchema](#interface-storageidbschema) |
24
- | [BulkHeaderFileInfo](#interface-bulkheaderfileinfo) | [GetUtxoStatusResult](#interface-getutxostatusresult) | [StorageIdentity](#interface-storageidentity) |
25
- | [BulkHeaderFilesInfo](#interface-bulkheaderfilesinfo) | [GroupedPermissionRequest](#interface-groupedpermissionrequest) | [StorageInternalizeActionResult](#interface-storageinternalizeactionresult) |
26
- | [BulkIngestorApi](#interface-bulkingestorapi) | [GroupedPermissions](#interface-groupedpermissions) | [StorageProcessActionArgs](#interface-storageprocessactionargs) |
27
- | [BulkIngestorBaseOptions](#interface-bulkingestorbaseoptions) | [HeightRangeApi](#interface-heightrangeapi) | [StorageProcessActionResults](#interface-storageprocessactionresults) |
28
- | [BulkIngestorCDNOptions](#interface-bulkingestorcdnoptions) | [HeightRanges](#interface-heightranges) | [StorageProvenOrReq](#interface-storageprovenorreq) |
29
- | [BulkIngestorWhatsOnChainOptions](#interface-bulkingestorwhatsonchainoptions) | [KdfConfig](#interface-kdfconfig) | [StorageProviderOptions](#interface-storageprovideroptions) |
30
- | [BulkStorageApi](#interface-bulkstorageapi) | [KeyPair](#interface-keypair) | [StorageReaderOptions](#interface-storagereaderoptions) |
31
- | [BulkStorageBaseOptions](#interface-bulkstoragebaseoptions) | [KeyPairAddress](#interface-keypairaddress) | [StorageReaderWriterOptions](#interface-storagereaderwriteroptions) |
32
- | [BulkSyncResult](#interface-bulksyncresult) | [ListActionsSpecOp](#interface-listactionsspecop) | [StorageSyncReaderOptions](#interface-storagesyncreaderoptions) |
33
- | [CertOpsWallet](#interface-certopswallet) | [ListOutputsSpecOp](#interface-listoutputsspecop) | [SyncChunk](#interface-syncchunk) |
34
- | [Certifier](#interface-certifier) | [LiveBlockHeader](#interface-liveblockheader) | [SyncError](#interface-syncerror) |
35
- | [ChaintracksApi](#interface-chaintracksapi) | [LiveIngestorApi](#interface-liveingestorapi) | [SyncMap](#interface-syncmap) |
36
- | [ChaintracksAppendableFileApi](#interface-chaintracksappendablefileapi) | [LiveIngestorBaseOptions](#interface-liveingestorbaseoptions) | [TableCertificate](#interface-tablecertificate) |
37
- | [ChaintracksChainTrackerOptions](#interface-chaintrackschaintrackeroptions) | [LiveIngestorWhatsOnChainOptions](#interface-liveingestorwhatsonchainoptions) | [TableCertificateField](#interface-tablecertificatefield) |
38
- | [ChaintracksClientApi](#interface-chaintracksclientapi) | [MerklePathNote](#interface-merklepathnote) | [TableCertificateX](#interface-tablecertificatex) |
39
- | [ChaintracksFetchApi](#interface-chaintracksfetchapi) | [MockChainBlockHeaderRow](#interface-mockchainblockheaderrow) | [TableCommission](#interface-tablecommission) |
40
- | [ChaintracksFsApi](#interface-chaintracksfsapi) | [MockChainTransactionRow](#interface-mockchaintransactionrow) | [TableMonitorEvent](#interface-tablemonitorevent) |
41
- | [ChaintracksInfoApi](#interface-chaintracksinfoapi) | [MockChainUtxoRow](#interface-mockchainutxorow) | [TableOutput](#interface-tableoutput) |
42
- | [ChaintracksIngestorParams](#interface-chaintracksingestorparams) | [MonitorOptions](#interface-monitoroptions) | [TableOutputBasket](#interface-tableoutputbasket) |
43
- | [ChaintracksManagementApi](#interface-chaintracksmanagementapi) | [OutPoint](#interface-outpoint) | [TableOutputTag](#interface-tableoutputtag) |
44
- | [ChaintracksOptions](#interface-chaintracksoptions) | [Paged](#interface-paged) | [TableOutputTagMap](#interface-tableoutputtagmap) |
45
- | [ChaintracksPackageInfoApi](#interface-chaintrackspackageinfoapi) | [ParsedBrc114ActionTimeLabels](#interface-parsedbrc114actiontimelabels) | [TableOutputX](#interface-tableoutputx) |
46
- | [ChaintracksReadableFileApi](#interface-chaintracksreadablefileapi) | [ParsedOutpoint](#interface-parsedoutpoint) | [TableProvenTx](#interface-tableproventx) |
47
- | [ChaintracksServiceClientOptions](#interface-chaintracksserviceclientoptions) | [PendingSignAction](#interface-pendingsignaction) | [TableProvenTxReq](#interface-tableproventxreq) |
48
- | [ChaintracksStorageApi](#interface-chaintracksstorageapi) | [PendingStorageInput](#interface-pendingstorageinput) | [TableProvenTxReqDynamics](#interface-tableproventxreqdynamics) |
49
- | [ChaintracksStorageBaseOptions](#interface-chaintracksstoragebaseoptions) | [PermissionRequest](#interface-permissionrequest) | [TableSettings](#interface-tablesettings) |
50
- | [ChaintracksStorageBulkFileApi](#interface-chaintracksstoragebulkfileapi) | [PermissionToken](#interface-permissiontoken) | [TableSyncState](#interface-tablesyncstate) |
51
- | [ChaintracksStorageIdbOptions](#interface-chaintracksstorageidboptions) | [PermissionsManagerConfig](#interface-permissionsmanagerconfig) | [TableTransaction](#interface-tabletransaction) |
52
- | [ChaintracksStorageIdbSchema](#interface-chaintracksstorageidbschema) | [PermissionsModule](#interface-permissionsmodule) | [TableTxLabel](#interface-tabletxlabel) |
53
- | [ChaintracksStorageIngestApi](#interface-chaintracksstorageingestapi) | [PostBeefResult](#interface-postbeefresult) | [TableTxLabelMap](#interface-tabletxlabelmap) |
54
- | [ChaintracksStorageNoDbOptions](#interface-chaintracksstoragenodboptions) | [PostBeefResultForTxidApi](#interface-postbeefresultfortxidapi) | [TableUser](#interface-tableuser) |
55
- | [ChaintracksStorageQueryApi](#interface-chaintracksstoragequeryapi) | [PostReqsToNetworkDetails](#interface-postreqstonetworkdetails) | [TaskPurgeParams](#interface-taskpurgeparams) |
56
- | [ChaintracksWritableFileApi](#interface-chaintrackswritablefileapi) | [PostReqsToNetworkResult](#interface-postreqstonetworkresult) | [TrustSettings](#interface-trustsettings) |
57
- | [CommitNewTxResults](#interface-commitnewtxresults) | [PostTxResultForTxid](#interface-posttxresultfortxid) | [TrxToken](#interface-trxtoken) |
58
- | [CompleteAuthResponse](#interface-completeauthresponse) | [PostTxResultForTxidError](#interface-posttxresultfortxiderror) | [TscMerkleProofApi](#interface-tscmerkleproofapi) |
59
- | [ContactRecord](#interface-contactrecord) | [PostTxsResult](#interface-posttxsresult) | [TxScriptOffsets](#interface-txscriptoffsets) |
60
- | [ContactSource](#interface-contactsource) | [ProcessSyncChunkResult](#interface-processsyncchunkresult) | [UMPToken](#interface-umptoken) |
61
- | [CounterpartyPermissionRequest](#interface-counterpartypermissionrequest) | [Profile](#interface-profile) | [UMPTokenInteractor](#interface-umptokeninteractor) |
62
- | [CounterpartyPermissions](#interface-counterpartypermissions) | [ProvenOrRawTx](#interface-provenorrawtx) | [UpdateProvenTxReqWithNewProvenTxArgs](#interface-updateproventxreqwithnewproventxargs) |
63
- | [CreateActionResultX](#interface-createactionresultx) | [ProvenTransactionStatus](#interface-proventransactionstatus) | [UpdateProvenTxReqWithNewProvenTxResult](#interface-updateproventxreqwithnewproventxresult) |
64
- | [DeactivedHeader](#interface-deactivedheader) | [ProvenTxFromTxidResult](#interface-proventxfromtxidresult) | [ValidateGenerateChangeSdkParamsResult](#interface-validategeneratechangesdkparamsresult) |
65
- | [EntitySyncMap](#interface-entitysyncmap) | [ProvenTxReqHistory](#interface-proventxreqhistory) | [VerifyAndRepairBeefResult](#interface-verifyandrepairbeefresult) |
66
- | [EntityTimeStamp](#interface-entitytimestamp) | [ProvenTxReqHistorySummaryApi](#interface-proventxreqhistorysummaryapi) | [WalletArgs](#interface-walletargs) |
67
- | [ExchangeRatesIoApi](#interface-exchangeratesioapi) | [ProvenTxReqNotify](#interface-proventxreqnotify) | [WalletBalance](#interface-walletbalance) |
68
- | [ExtendedVerifiableCertificate](#interface-extendedverifiablecertificate) | [ProviderCallHistory](#interface-providercallhistory) | [WalletLoggerArgs](#interface-walletloggerargs) |
69
- | [FiatExchangeRates](#interface-fiatexchangerates) | [PurgeParams](#interface-purgeparams) | [WalletPermissionsManagerCallbacks](#interface-walletpermissionsmanagercallbacks) |
70
- | [FindCertificateFieldsArgs](#interface-findcertificatefieldsargs) | [PurgeResults](#interface-purgeresults) | [WalletServices](#interface-walletservices) |
71
- | [FindCertificatesArgs](#interface-findcertificatesargs) | [ReorgResult](#interface-reorgresult) | [WalletServicesOptions](#interface-walletservicesoptions) |
72
- | [FindCommissionsArgs](#interface-findcommissionsargs) | [ReproveHeaderResult](#interface-reproveheaderresult) | [WalletSettings](#interface-walletsettings) |
73
- | [FindForUserSincePagedArgs](#interface-findforusersincepagedargs) | [ReproveProvenResult](#interface-reproveprovenresult) | [WalletSettingsManagerConfig](#interface-walletsettingsmanagerconfig) |
74
- | [FindMonitorEventsArgs](#interface-findmonitoreventsargs) | [ReqHistoryNote](#interface-reqhistorynote) | [WalletSigner](#interface-walletsigner) |
75
- | [FindOutputBasketsArgs](#interface-findoutputbasketsargs) | [RequestSyncChunkArgs](#interface-requestsyncchunkargs) | [WalletStorage](#interface-walletstorage) |
76
- | [FindOutputTagMapsArgs](#interface-findoutputtagmapsargs) | [ReviewActionResult](#interface-reviewactionresult) | [WalletStorageInfo](#interface-walletstorageinfo) |
77
- | [FindOutputTagsArgs](#interface-findoutputtagsargs) | [ReviewHeightRangeResult](#interface-reviewheightrangeresult) | [WalletStorageProvider](#interface-walletstorageprovider) |
78
- | [FindOutputsArgs](#interface-findoutputsargs) | [ScriptHashHistoryResponse](#interface-scripthashhistoryresponse) | [WalletStorageReader](#interface-walletstoragereader) |
79
- | [FindPartialSincePagedArgs](#interface-findpartialsincepagedargs) | [ScriptTemplateParamsBRC29](#interface-scripttemplateparamsbrc29) | [WalletStorageSync](#interface-walletstoragesync) |
80
- | [FindProvenTxReqsArgs](#interface-findproventxreqsargs) | [ScriptTemplateUnlock](#interface-scripttemplateunlock) | [WalletStorageSyncReader](#interface-walletstoragesyncreader) |
81
- | [FindProvenTxsArgs](#interface-findproventxsargs) | [ServiceCall](#interface-servicecall) | [WalletStorageWriter](#interface-walletstoragewriter) |
82
- | [FindSincePagedArgs](#interface-findsincepagedargs) | [ServiceCall](#interface-servicecall) | [WalletTheme](#interface-wallettheme) |
83
- | [FindStaleMerkleRootsArgs](#interface-findstalemerklerootsargs) | [ServiceCallHistory](#interface-servicecallhistory) | [WhatsOnChainServicesOptions](#interface-whatsonchainservicesoptions) |
84
- | [FindSyncStatesArgs](#interface-findsyncstatesargs) | [ServiceCallHistoryCounts](#interface-servicecallhistorycounts) | [WocChainInfo](#interface-wocchaininfo) |
85
- | [FindTransactionsArgs](#interface-findtransactionsargs) | [ServiceToCall](#interface-servicetocall) | [WocGetHeaderByteFileLinks](#interface-wocgetheaderbytefilelinks) |
86
- | [FindTxLabelMapsArgs](#interface-findtxlabelmapsargs) | [ServicesCallHistory](#interface-servicescallhistory) | [WocGetHeadersHeader](#interface-wocgetheadersheader) |
87
- | [FindTxLabelsArgs](#interface-findtxlabelsargs) | [SetupClientWalletArgs](#interface-setupclientwalletargs) | [WocHeader](#interface-wocheader) |
88
- | [FindUsersArgs](#interface-findusersargs) | [SetupClientWalletClientArgs](#interface-setupclientwalletclientargs) | [XValidCreateActionOutput](#interface-xvalidcreateactionoutput) |
89
- | [GenerateChangeSdkChangeInput](#interface-generatechangesdkchangeinput) | [SetupWallet](#interface-setupwallet) | |
13
+ | [ArcSSEClientOptions](#interface-arcsseclientoptions) | [GenerateChangeSdkResult](#interface-generatechangesdkresult) | [SpentInputTransition](#interface-spentinputtransition) |
14
+ | [ArcSSEEvent](#interface-arcsseevent) | [GenerateChangeSdkStorageChange](#interface-generatechangesdkstoragechange) | [StartAuthResponse](#interface-startauthresponse) |
15
+ | [AuthId](#interface-authid) | [GetHeaderByteFileLinksResult](#interface-getheaderbytefilelinksresult) | [StatusForTxidResult](#interface-statusfortxidresult) |
16
+ | [AuthPayload](#interface-authpayload) | [GetMerklePathResult](#interface-getmerklepathresult) | [StopListenerToken](#interface-stoplistenertoken) |
17
+ | [BaseBlockHeader](#interface-baseblockheader) | [GetRawTxResult](#interface-getrawtxresult) | [StorageAdminStats](#interface-storageadminstats) |
18
+ | [BitailsConfig](#interface-bitailsconfig) | [GetReqsAndBeefDetail](#interface-getreqsandbeefdetail) | [StorageCreateActionResult](#interface-storagecreateactionresult) |
19
+ | [BitailsMerkleProof](#interface-bitailsmerkleproof) | [GetReqsAndBeefResult](#interface-getreqsandbeefresult) | [StorageCreateTransactionSdkInput](#interface-storagecreatetransactionsdkinput) |
20
+ | [BlockHeader](#interface-blockheader) | [GetScriptHashHistory](#interface-getscripthashhistory) | [StorageCreateTransactionSdkOutput](#interface-storagecreatetransactionsdkoutput) |
21
+ | [BsvExchangeRate](#interface-bsvexchangerate) | [GetScriptHashHistoryResult](#interface-getscripthashhistoryresult) | [StorageFeeModel](#interface-storagefeemodel) |
22
+ | [BulkFileDataManagerMergeResult](#interface-bulkfiledatamanagermergeresult) | [GetStatusForTxidsResult](#interface-getstatusfortxidsresult) | [StorageGetBeefOptions](#interface-storagegetbeefoptions) |
23
+ | [BulkFileDataManagerOptions](#interface-bulkfiledatamanageroptions) | [GetUtxoStatusDetails](#interface-getutxostatusdetails) | [StorageIdbOptions](#interface-storageidboptions) |
24
+ | [BulkHeaderFileInfo](#interface-bulkheaderfileinfo) | [GetUtxoStatusResult](#interface-getutxostatusresult) | [StorageIdbSchema](#interface-storageidbschema) |
25
+ | [BulkHeaderFilesInfo](#interface-bulkheaderfilesinfo) | [GroupedPermissionRequest](#interface-groupedpermissionrequest) | [StorageIdentity](#interface-storageidentity) |
26
+ | [BulkIngestorApi](#interface-bulkingestorapi) | [GroupedPermissions](#interface-groupedpermissions) | [StorageInternalizeActionResult](#interface-storageinternalizeactionresult) |
27
+ | [BulkIngestorBaseOptions](#interface-bulkingestorbaseoptions) | [HeightRangeApi](#interface-heightrangeapi) | [StorageProcessActionArgs](#interface-storageprocessactionargs) |
28
+ | [BulkIngestorCDNOptions](#interface-bulkingestorcdnoptions) | [HeightRanges](#interface-heightranges) | [StorageProcessActionResults](#interface-storageprocessactionresults) |
29
+ | [BulkIngestorWhatsOnChainOptions](#interface-bulkingestorwhatsonchainoptions) | [KdfConfig](#interface-kdfconfig) | [StorageProvenOrReq](#interface-storageprovenorreq) |
30
+ | [BulkStorageApi](#interface-bulkstorageapi) | [KeyPair](#interface-keypair) | [StorageProviderOptions](#interface-storageprovideroptions) |
31
+ | [BulkStorageBaseOptions](#interface-bulkstoragebaseoptions) | [KeyPairAddress](#interface-keypairaddress) | [StorageReaderOptions](#interface-storagereaderoptions) |
32
+ | [BulkSyncResult](#interface-bulksyncresult) | [ListActionsSpecOp](#interface-listactionsspecop) | [StorageReaderWriterOptions](#interface-storagereaderwriteroptions) |
33
+ | [CertOpsWallet](#interface-certopswallet) | [ListOutputsSpecOp](#interface-listoutputsspecop) | [StorageSyncReaderOptions](#interface-storagesyncreaderoptions) |
34
+ | [Certifier](#interface-certifier) | [LiveBlockHeader](#interface-liveblockheader) | [SyncChunk](#interface-syncchunk) |
35
+ | [ChaintracksApi](#interface-chaintracksapi) | [LiveIngestorApi](#interface-liveingestorapi) | [SyncError](#interface-syncerror) |
36
+ | [ChaintracksAppendableFileApi](#interface-chaintracksappendablefileapi) | [LiveIngestorBaseOptions](#interface-liveingestorbaseoptions) | [SyncMap](#interface-syncmap) |
37
+ | [ChaintracksChainTrackerOptions](#interface-chaintrackschaintrackeroptions) | [LiveIngestorWhatsOnChainOptions](#interface-liveingestorwhatsonchainoptions) | [TableCertificate](#interface-tablecertificate) |
38
+ | [ChaintracksClientApi](#interface-chaintracksclientapi) | [MerklePathNote](#interface-merklepathnote) | [TableCertificateField](#interface-tablecertificatefield) |
39
+ | [ChaintracksFetchApi](#interface-chaintracksfetchapi) | [MockChainBlockHeaderRow](#interface-mockchainblockheaderrow) | [TableCertificateX](#interface-tablecertificatex) |
40
+ | [ChaintracksFsApi](#interface-chaintracksfsapi) | [MockChainTransactionRow](#interface-mockchaintransactionrow) | [TableCommission](#interface-tablecommission) |
41
+ | [ChaintracksInfoApi](#interface-chaintracksinfoapi) | [MockChainUtxoRow](#interface-mockchainutxorow) | [TableMonitorEvent](#interface-tablemonitorevent) |
42
+ | [ChaintracksIngestorParams](#interface-chaintracksingestorparams) | [MonitorOptions](#interface-monitoroptions) | [TableOutput](#interface-tableoutput) |
43
+ | [ChaintracksManagementApi](#interface-chaintracksmanagementapi) | [OutPoint](#interface-outpoint) | [TableOutputBasket](#interface-tableoutputbasket) |
44
+ | [ChaintracksOptions](#interface-chaintracksoptions) | [Paged](#interface-paged) | [TableOutputTag](#interface-tableoutputtag) |
45
+ | [ChaintracksPackageInfoApi](#interface-chaintrackspackageinfoapi) | [ParsedBrc114ActionTimeLabels](#interface-parsedbrc114actiontimelabels) | [TableOutputTagMap](#interface-tableoutputtagmap) |
46
+ | [ChaintracksReadableFileApi](#interface-chaintracksreadablefileapi) | [ParsedOutpoint](#interface-parsedoutpoint) | [TableOutputX](#interface-tableoutputx) |
47
+ | [ChaintracksServiceClientOptions](#interface-chaintracksserviceclientoptions) | [PendingSignAction](#interface-pendingsignaction) | [TableProvenTx](#interface-tableproventx) |
48
+ | [ChaintracksStorageApi](#interface-chaintracksstorageapi) | [PendingStorageInput](#interface-pendingstorageinput) | [TableProvenTxReq](#interface-tableproventxreq) |
49
+ | [ChaintracksStorageBaseOptions](#interface-chaintracksstoragebaseoptions) | [PermissionRequest](#interface-permissionrequest) | [TableProvenTxReqDynamics](#interface-tableproventxreqdynamics) |
50
+ | [ChaintracksStorageBulkFileApi](#interface-chaintracksstoragebulkfileapi) | [PermissionToken](#interface-permissiontoken) | [TableSettings](#interface-tablesettings) |
51
+ | [ChaintracksStorageIdbOptions](#interface-chaintracksstorageidboptions) | [PermissionsManagerConfig](#interface-permissionsmanagerconfig) | [TableSyncState](#interface-tablesyncstate) |
52
+ | [ChaintracksStorageIdbSchema](#interface-chaintracksstorageidbschema) | [PermissionsModule](#interface-permissionsmodule) | [TableTransaction](#interface-tabletransaction) |
53
+ | [ChaintracksStorageIngestApi](#interface-chaintracksstorageingestapi) | [PostBeefResult](#interface-postbeefresult) | [TableTxLabel](#interface-tabletxlabel) |
54
+ | [ChaintracksStorageNoDbOptions](#interface-chaintracksstoragenodboptions) | [PostBeefResultForTxidApi](#interface-postbeefresultfortxidapi) | [TableTxLabelMap](#interface-tabletxlabelmap) |
55
+ | [ChaintracksStorageQueryApi](#interface-chaintracksstoragequeryapi) | [PostReqsToNetworkDetails](#interface-postreqstonetworkdetails) | [TableUser](#interface-tableuser) |
56
+ | [ChaintracksWritableFileApi](#interface-chaintrackswritablefileapi) | [PostReqsToNetworkResult](#interface-postreqstonetworkresult) | [TaskPurgeParams](#interface-taskpurgeparams) |
57
+ | [CommitNewTxResults](#interface-commitnewtxresults) | [PostTxResultForTxid](#interface-posttxresultfortxid) | [TrustSettings](#interface-trustsettings) |
58
+ | [CompleteAuthResponse](#interface-completeauthresponse) | [PostTxResultForTxidError](#interface-posttxresultfortxiderror) | [TrxToken](#interface-trxtoken) |
59
+ | [ContactRecord](#interface-contactrecord) | [PostTxsResult](#interface-posttxsresult) | [TscMerkleProofApi](#interface-tscmerkleproofapi) |
60
+ | [ContactSource](#interface-contactsource) | [ProcessSyncChunkResult](#interface-processsyncchunkresult) | [TxScriptOffsets](#interface-txscriptoffsets) |
61
+ | [CounterpartyPermissionRequest](#interface-counterpartypermissionrequest) | [Profile](#interface-profile) | [UMPToken](#interface-umptoken) |
62
+ | [CounterpartyPermissions](#interface-counterpartypermissions) | [ProvenOrRawTx](#interface-provenorrawtx) | [UMPTokenInteractor](#interface-umptokeninteractor) |
63
+ | [CreateActionResultX](#interface-createactionresultx) | [ProvenTransactionStatus](#interface-proventransactionstatus) | [UpdateProvenTxReqWithNewProvenTxArgs](#interface-updateproventxreqwithnewproventxargs) |
64
+ | [DeactivedHeader](#interface-deactivedheader) | [ProvenTxFromTxidResult](#interface-proventxfromtxidresult) | [UpdateProvenTxReqWithNewProvenTxResult](#interface-updateproventxreqwithnewproventxresult) |
65
+ | [EntitySyncMap](#interface-entitysyncmap) | [ProvenTxReqHistory](#interface-proventxreqhistory) | [ValidateGenerateChangeSdkParamsResult](#interface-validategeneratechangesdkparamsresult) |
66
+ | [EntityTimeStamp](#interface-entitytimestamp) | [ProvenTxReqHistorySummaryApi](#interface-proventxreqhistorysummaryapi) | [VerifyAndRepairBeefResult](#interface-verifyandrepairbeefresult) |
67
+ | [ExchangeRatesIoApi](#interface-exchangeratesioapi) | [ProvenTxReqNotify](#interface-proventxreqnotify) | [WalletArgs](#interface-walletargs) |
68
+ | [ExtendedVerifiableCertificate](#interface-extendedverifiablecertificate) | [ProviderCallHistory](#interface-providercallhistory) | [WalletBalance](#interface-walletbalance) |
69
+ | [FiatExchangeRates](#interface-fiatexchangerates) | [PurgeParams](#interface-purgeparams) | [WalletLoggerArgs](#interface-walletloggerargs) |
70
+ | [FindCertificateFieldsArgs](#interface-findcertificatefieldsargs) | [PurgeResults](#interface-purgeresults) | [WalletPermissionsManagerCallbacks](#interface-walletpermissionsmanagercallbacks) |
71
+ | [FindCertificatesArgs](#interface-findcertificatesargs) | [ReorgResult](#interface-reorgresult) | [WalletServices](#interface-walletservices) |
72
+ | [FindCommissionsArgs](#interface-findcommissionsargs) | [ReproveHeaderResult](#interface-reproveheaderresult) | [WalletServicesOptions](#interface-walletservicesoptions) |
73
+ | [FindForUserSincePagedArgs](#interface-findforusersincepagedargs) | [ReproveProvenResult](#interface-reproveprovenresult) | [WalletSettings](#interface-walletsettings) |
74
+ | [FindMonitorEventsArgs](#interface-findmonitoreventsargs) | [ReqHistoryNote](#interface-reqhistorynote) | [WalletSettingsManagerConfig](#interface-walletsettingsmanagerconfig) |
75
+ | [FindOutputBasketsArgs](#interface-findoutputbasketsargs) | [RequestSyncChunkArgs](#interface-requestsyncchunkargs) | [WalletSigner](#interface-walletsigner) |
76
+ | [FindOutputTagMapsArgs](#interface-findoutputtagmapsargs) | [ReviewActionResult](#interface-reviewactionresult) | [WalletStorage](#interface-walletstorage) |
77
+ | [FindOutputTagsArgs](#interface-findoutputtagsargs) | [ReviewHeightRangeResult](#interface-reviewheightrangeresult) | [WalletStorageInfo](#interface-walletstorageinfo) |
78
+ | [FindOutputsArgs](#interface-findoutputsargs) | [ScriptHashHistoryResponse](#interface-scripthashhistoryresponse) | [WalletStorageProvider](#interface-walletstorageprovider) |
79
+ | [FindPartialSincePagedArgs](#interface-findpartialsincepagedargs) | [ScriptTemplateParamsBRC29](#interface-scripttemplateparamsbrc29) | [WalletStorageReader](#interface-walletstoragereader) |
80
+ | [FindProvenTxReqsArgs](#interface-findproventxreqsargs) | [ScriptTemplateUnlock](#interface-scripttemplateunlock) | [WalletStorageSync](#interface-walletstoragesync) |
81
+ | [FindProvenTxsArgs](#interface-findproventxsargs) | [ServiceCall](#interface-servicecall) | [WalletStorageSyncReader](#interface-walletstoragesyncreader) |
82
+ | [FindSincePagedArgs](#interface-findsincepagedargs) | [ServiceCall](#interface-servicecall) | [WalletStorageWriter](#interface-walletstoragewriter) |
83
+ | [FindStaleMerkleRootsArgs](#interface-findstalemerklerootsargs) | [ServiceCallHistory](#interface-servicecallhistory) | [WalletTheme](#interface-wallettheme) |
84
+ | [FindSyncStatesArgs](#interface-findsyncstatesargs) | [ServiceCallHistoryCounts](#interface-servicecallhistorycounts) | [WhatsOnChainServicesOptions](#interface-whatsonchainservicesoptions) |
85
+ | [FindTransactionsArgs](#interface-findtransactionsargs) | [ServiceToCall](#interface-servicetocall) | [WocChainInfo](#interface-wocchaininfo) |
86
+ | [FindTxLabelMapsArgs](#interface-findtxlabelmapsargs) | [ServicesCallHistory](#interface-servicescallhistory) | [WocGetHeaderByteFileLinks](#interface-wocgetheaderbytefilelinks) |
87
+ | [FindTxLabelsArgs](#interface-findtxlabelsargs) | [SetupClientWalletArgs](#interface-setupclientwalletargs) | [WocGetHeadersHeader](#interface-wocgetheadersheader) |
88
+ | [FindUsersArgs](#interface-findusersargs) | [SetupClientWalletClientArgs](#interface-setupclientwalletclientargs) | [WocHeader](#interface-wocheader) |
89
+ | [GenerateChangeSdkChangeInput](#interface-generatechangesdkchangeinput) | [SetupWallet](#interface-setupwallet) | [XValidCreateActionOutput](#interface-xvalidcreateactionoutput) |
90
90
 
91
91
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
92
92
 
@@ -6082,6 +6082,26 @@ See also: [ReviewActionResult](./client.md#interface-reviewactionresult)
6082
6082
 
6083
6083
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
6084
6084
 
6085
+ ---
6086
+ ##### Interface: SpentInputTransition
6087
+
6088
+ ```ts
6089
+ export interface SpentInputTransition {
6090
+ outputId: number;
6091
+ setSpentBy: boolean;
6092
+ }
6093
+ ```
6094
+
6095
+ ###### Property setSpentBy
6096
+
6097
+ true if the call set spentBy; false if only spendable was flipped.
6098
+
6099
+ ```ts
6100
+ setSpentBy: boolean
6101
+ ```
6102
+
6103
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
6104
+
6085
6105
  ---
6086
6106
  ##### Interface: StartAuthResponse
6087
6107
 
@@ -14227,7 +14247,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
14227
14247
  ---
14228
14248
  ##### Class: TaskCheckNoSends
14229
14249
 
14230
- `TaskCheckNoSends` is a WalletMonitor task that retreives merkle proofs for
14250
+ `TaskCheckNoSends` is a WalletMonitor task that retrieves merkle proofs for
14231
14251
  'nosend' transactions that MAY have been shared externally.
14232
14252
 
14233
14253
  Unlike intentionally processed transactions, 'nosend' transactions are fully valid
@@ -14239,10 +14259,54 @@ managed to get mined by some external process.
14239
14259
  If a proof is obtained and validated, a new ProvenTx record is created and
14240
14260
  the original ProvenTxReq status is advanced to 'notifying'.
14241
14261
 
14262
+ # Aging schedule on the checkNow path
14263
+
14264
+ When this task is triggered by a new block header (`checkNow = true`, wired in
14265
+ `Monitor.processNewBlockHeader`), it does NOT scan every `nosend` row on every
14266
+ block. The set of `nosend` rows can grow large over a wallet's lifetime
14267
+ (txs sitting in escrow, un-aborted tests, abandoned batches), and a fast,
14268
+ unfiltered scan on every block would do an unbounded number of external
14269
+ `getMerklePath` lookups per block.
14270
+
14271
+ Instead, the row's age (now - `created_at`) determines how often it is
14272
+ eligible for a checkNow-triggered chain check. The schedule starts at "skip
14273
+ entirely" for very fresh rows (to protect in-flight batched-tx workflows
14274
+ where chained `createAction({ noSend: true, sendWith: [...] })` builds
14275
+ deliberately keep rows in `nosend` until a single terminator broadcasts the
14276
+ whole BEEF), then progresses to "every block", "hourly", "daily", and
14277
+ "weekly" as rows age:
14278
+
14279
+ age < 5 min → skip (in-flight batch protection)
14280
+ 5 min ≤ age < 1 hr → check on every checkNow trigger
14281
+ 1 hr ≤ age < 24 hr → check on ~hourly cadence (block-height % 6)
14282
+ 24 hr ≤ age < 7 days → check on ~daily cadence (block-height % 144)
14283
+ age ≥ 7 days → check on ~weekly cadence (block-height % 1008)
14284
+
14285
+ Block-height modulo gives a deterministic, stateless way to schedule
14286
+ checks for older rows; no per-row "last checked" persistence is required.
14287
+ Each row's modulo offset is keyed by its `provenTxReqId` so that rows in
14288
+ the same age tier are staggered across the modulo cycle rather than all
14289
+ firing on the same block — `(blockHeight + provenTxReqId) % tierInterval`.
14290
+ For a wallet with N rows in tier T and tier interval K, this gives
14291
+ roughly N/K rows fired per block instead of N rows fired every K blocks.
14292
+
14293
+ The scheduled daily cadence (no `checkNow`) is unaffected — it still scans
14294
+ every row regardless of age. That path is the once-per-day fallback that
14295
+ guarantees externally-broadcast `nosend` txs are eventually recognized
14296
+ even if the aging schedule on the checkNow path defers them.
14297
+
14242
14298
  ```ts
14243
14299
  export class TaskCheckNoSends extends WalletMonitorTask {
14244
14300
  static readonly taskName = "CheckNoSends";
14245
14301
  static checkNow = false;
14302
+ static readonly tier0FreshSkipMsecs = 5 * 60 * 1000;
14303
+ static readonly tier1EveryBlockMsecs = 60 * 60 * 1000;
14304
+ static readonly tier2HourlyMsecs = 24 * 60 * 60 * 1000;
14305
+ static readonly tier3DailyMsecs = 7 * 24 * 60 * 60 * 1000;
14306
+ static readonly tier2BlockInterval = 6;
14307
+ static readonly tier3BlockInterval = 144;
14308
+ static readonly tier4BlockInterval = 1008;
14309
+ static shouldCheckOnCheckNow(createdAt: Date, nowMs: number, currentBlockHeight: number, provenTxReqId: number): boolean
14246
14310
  constructor(monitor: Monitor, public triggerMsecs = Monitor.oneDay * 1)
14247
14311
  trigger(nowMsecsSinceEpoch: number): {
14248
14312
  run: boolean;
@@ -14262,6 +14326,30 @@ listener can set this true to cause
14262
14326
  static checkNow = false
14263
14327
  ```
14264
14328
 
14329
+ ###### Property tier0FreshSkipMsecs
14330
+
14331
+ Aging-schedule constants for the `checkNow` path. Rows below `tier0FreshSkipMsecs`
14332
+ are never checked via checkNow (batched-tx protection). Rows from tier 0 up
14333
+ to `tier1EveryBlockMsecs` are checked on every checkNow trigger. Beyond that,
14334
+ checks happen on `block-height % tierNBlockInterval === 0` cadences with
14335
+ growing intervals. The scheduled daily cadence (no checkNow) is unaffected.
14336
+
14337
+ ```ts
14338
+ static readonly tier0FreshSkipMsecs = 5 * 60 * 1000
14339
+ ```
14340
+
14341
+ ###### Method shouldCheckOnCheckNow
14342
+
14343
+ Decide whether a single `nosend` row should be chain-checked on the
14344
+ current `checkNow` trigger, based on its age, the current block
14345
+ height, and its `provenTxReqId` (used to stagger same-tier rows
14346
+ across the modulo cycle). See class docstring for the full schedule
14347
+ and staggering rationale.
14348
+
14349
+ ```ts
14350
+ static shouldCheckOnCheckNow(createdAt: Date, nowMs: number, currentBlockHeight: number, provenTxReqId: number): boolean
14351
+ ```
14352
+
14265
14353
  ###### Method trigger
14266
14354
 
14267
14355
  Normally triggered by checkNow getting set by new block header found event from chaintracks
@@ -16776,74 +16864,74 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
16776
16864
 
16777
16865
  | | | |
16778
16866
  | --- | --- | --- |
16779
- | [WalletErrorFromJson](#function-walleterrorfromjson) | [internalizeAction](#function-internalizeaction) | [sha256HashOfBinaryFile](#function-sha256hashofbinaryfile) |
16780
- | [WocHeadersBulkListener](#function-wocheadersbulklistener) | [internalizeAction](#function-internalizeaction) | [shareReqsWithWorld](#function-sharereqswithworld) |
16781
- | [WocHeadersBulkListener_test](#function-wocheadersbulklistener_test) | [isBaseBlockHeader](#function-isbaseblockheader) | [signAction](#function-signaction) |
16782
- | [WocHeadersLiveListener](#function-wocheaderslivelistener) | [isBlockHeader](#function-isblockheader) | [signAndComplete](#function-signandcomplete) |
16783
- | [WocHeadersLiveListener_test](#function-wocheaderslivelistener_test) | [isCreateActionSpecOp](#function-iscreateactionspecop) | [stampLog](#function-stamplog) |
16784
- | [acquireDirectCertificate](#function-acquiredirectcertificate) | [isKnownValidBulkHeaderFile](#function-isknownvalidbulkheaderfile) | [stampLogFormat](#function-stamplogformat) |
16785
- | [addWork](#function-addwork) | [isListActionsSpecOp](#function-islistactionsspecop) | [subWork](#function-subwork) |
16786
- | [arcDefaultUrl](#function-arcdefaulturl) | [isListOutputsSpecOp](#function-islistoutputsspecop) | [swapByteOrder](#function-swapbyteorder) |
16787
- | [arcGorillaPoolUrl](#function-arcgorillapoolurl) | [isLive](#function-islive) | [throwDummyReviewActions](#function-throwdummyreviewactions) |
16788
- | [arraysEqual](#function-arraysequal) | [isLiveBlockHeader](#function-isliveblockheader) | [toBinaryBaseBlockHeader](#function-tobinarybaseblockheader) |
16789
- | [asArray](#function-asarray) | [isMoreWork](#function-ismorework) | [toLookupNetworkPreset](#function-tolookupnetworkpreset) |
16790
- | [asBsvSdkPrivateKey](#function-asbsvsdkprivatekey) | [keyOffsetToHashedSecret](#function-keyoffsettohashedsecret) | [toWalletNetwork](#function-towalletnetwork) |
16791
- | [asBsvSdkPublickKey](#function-asbsvsdkpublickkey) | [listActionsIdb](#function-listactionsidb) | [transactionInputSize](#function-transactioninputsize) |
16792
- | [asBsvSdkScript](#function-asbsvsdkscript) | [listCertificates](#function-listcertificates) | [transactionOutputSize](#function-transactionoutputsize) |
16793
- | [asBsvSdkTx](#function-asbsvsdktx) | [listOutputsIdb](#function-listoutputsidb) | [transactionSize](#function-transactionsize) |
16794
- | [asString](#function-asstring) | [lockScriptWithKeyOffsetFromPubKey](#function-lockscriptwithkeyoffsetfrompubkey) | [updateChaintracksFiatExchangeRates](#function-updatechaintracksfiatexchangerates) |
16795
- | [asUint8Array](#function-asuint8array) | [logCreateActionArgs](#function-logcreateactionargs) | [updateExchangeratesapi](#function-updateexchangeratesapi) |
16796
- | [attemptToPostReqsToNetwork](#function-attempttopostreqstonetwork) | [logWalletError](#function-logwalleterror) | [updateReqsFromAggregateResults](#function-updatereqsfromaggregateresults) |
16797
- | [blockHash](#function-blockhash) | [makeAtomicBeef](#function-makeatomicbeef) | [upgradeAllStoresV1](#function-upgradeallstoresv1) |
16798
- | [buildBeefForOutpoints](#function-buildbeefforoutpoints) | [makeBrc114ActionTimeLabel](#function-makebrc114actiontimelabel) | [upgradeCertificateFields](#function-upgradecertificatefields) |
16799
- | [buildChaintracksOptionsWithIngestors](#function-buildchaintracksoptionswithingestors) | [makeChangeLock](#function-makechangelock) | [upgradeCertificates](#function-upgradecertificates) |
16800
- | [buildSignableTransaction](#function-buildsignabletransaction) | [makeMerklePathNote](#function-makemerklepathnote) | [upgradeCommissions](#function-upgradecommissions) |
16801
- | [classifyMerklePathResponse](#function-classifymerklepathresponse) | [markStaleInputsAsSpent](#function-markstaleinputsasspent) | [upgradeMonitorEvents](#function-upgrademonitorevents) |
16802
- | [classifyReqStatus](#function-classifyreqstatus) | [matchesCertificateFieldPartial](#function-matchescertificatefieldpartial) | [upgradeOutputBaskets](#function-upgradeoutputbaskets) |
16803
- | [completeSignedTransaction](#function-completesignedtransaction) | [matchesCertificatePartial](#function-matchescertificatepartial) | [upgradeOutputTags](#function-upgradeoutputtags) |
16804
- | [computeMerklePath](#function-computemerklepath) | [matchesCommissionPartial](#function-matchescommissionpartial) | [upgradeOutputTagsMap](#function-upgradeoutputtagsmap) |
16805
- | [computeMerkleRoot](#function-computemerkleroot) | [matchesMonitorEventPartial](#function-matchesmonitoreventpartial) | [upgradeOutputs](#function-upgradeoutputs) |
16806
- | [convertBitsToTarget](#function-convertbitstotarget) | [matchesOutputBasketPartial](#function-matchesoutputbasketpartial) | [upgradeProvenTxReqs](#function-upgradeproventxreqs) |
16807
- | [convertBitsToWork](#function-convertbitstowork) | [matchesOutputPartial](#function-matchesoutputpartial) | [upgradeProvenTxs](#function-upgradeproventxs) |
16808
- | [convertBufferToUint32](#function-convertbuffertouint32) | [matchesOutputTagMapPartial](#function-matchesoutputtagmappartial) | [upgradeSyncStates](#function-upgradesyncstates) |
16809
- | [convertProofToMerklePath](#function-convertprooftomerklepath) | [matchesOutputTagPartial](#function-matchesoutputtagpartial) | [upgradeTransactions](#function-upgradetransactions) |
16810
- | [convertUint32ToBuffer](#function-convertuint32tobuffer) | [matchesProvenTxPartial](#function-matchesproventxpartial) | [upgradeTxLabels](#function-upgradetxlabels) |
16811
- | [convertWocToBlockHeaderHex](#function-convertwoctoblockheaderhex) | [matchesProvenTxReqPartial](#function-matchesproventxreqpartial) | [upgradeTxLabelsMap](#function-upgradetxlabelsmap) |
16812
- | [createAction](#function-createaction) | [matchesSyncStatePartial](#function-matchessyncstatepartial) | [upgradeUsers](#function-upgradeusers) |
16813
- | [createAction](#function-createaction) | [matchesTransactionPartial](#function-matchestransactionpartial) | [validBulkHeaderFilesByFileHash](#function-validbulkheaderfilesbyfilehash) |
16814
- | [createCoinbaseTransaction](#function-createcoinbasetransaction) | [matchesTxLabelMapPartial](#function-matchestxlabelmappartial) | [validateAgainstDirtyHashes](#function-validateagainstdirtyhashes) |
16815
- | [createDefaultIdbChaintracksOptions](#function-createdefaultidbchaintracksoptions) | [matchesTxLabelPartial](#function-matchestxlabelpartial) | [validateBufferOfHeaders](#function-validatebufferofheaders) |
16816
- | [createDefaultNoDbChaintracksOptions](#function-createdefaultnodbchaintracksoptions) | [maxDate](#function-maxdate) | [validateBulkFileData](#function-validatebulkfiledata) |
16817
- | [createDefaultWalletServicesOptions](#function-createdefaultwalletservicesoptions) | [mergeInputBeefs](#function-mergeinputbeefs) | [validateDate](#function-validatedate) |
16818
- | [createIdbChaintracks](#function-createidbchaintracks) | [mergeInputsIntoBeef](#function-mergeinputsintobeef) | [validateEntities](#function-validateentities) |
16819
- | [createNoDbChaintracks](#function-createnodbchaintracks) | [notifyTransactionsOfProof](#function-notifytransactionsofproof) | [validateEntity](#function-validateentity) |
16820
- | [createStorageServiceChargeScript](#function-createstorageservicechargescript) | [offsetPrivKey](#function-offsetprivkey) | [validateGenerateChangeSdkParams](#function-validategeneratechangesdkparams) |
16821
- | [createSyncMap](#function-createsyncmap) | [offsetPubKey](#function-offsetpubkey) | [validateGenerateChangeSdkResult](#function-validategeneratechangesdkresult) |
16822
- | [dateMatches](#function-datematches) | [optionalArraysEqual](#function-optionalarraysequal) | [validateGenesisHeader](#function-validategenesisheader) |
16823
- | [deserializeBaseBlockHeader](#function-deserializebaseblockheader) | [parseBrc114ActionTimeLabels](#function-parsebrc114actiontimelabels) | [validateHeaderDifficulty](#function-validateheaderdifficulty) |
16824
- | [deserializeBaseBlockHeaders](#function-deserializebaseblockheaders) | [parseOutpoint](#function-parseoutpoint) | [validateHeaderFormat](#function-validateheaderformat) |
16825
- | [deserializeBlockHeader](#function-deserializeblockheader) | [parseResults$](#function-parseresults$) | [validateScriptHash](#function-validatescripthash) |
16826
- | [deserializeBlockHeaders](#function-deserializeblockheaders) | [parseTxAndAssertId](#function-parsetxandassertid) | [validateSecondsSinceEpoch](#function-validatesecondssinceepoch) |
16827
- | [doubleSha256BE](#function-doublesha256be) | [parseTxScriptOffsets](#function-parsetxscriptoffsets) | [validateStorageFeeModel](#function-validatestoragefeemodel) |
16828
- | [doubleSha256LE](#function-doublesha256le) | [partitionActionLabels](#function-partitionactionlabels) | [validateSyncChunkEntities](#function-validatesyncchunkentities) |
16829
- | [fundWalletFromP2PKHOutpoints](#function-fundwalletfromp2pkhoutpoints) | [populateUtxoDetails](#function-populateutxodetails) | [varUintSize](#function-varuintsize) |
16830
- | [generateChangeSdk](#function-generatechangesdk) | [processAction](#function-processaction) | [verifyHexString](#function-verifyhexstring) |
16831
- | [generateChangeSdkMakeStorage](#function-generatechangesdkmakestorage) | [processAction](#function-processaction) | [verifyId](#function-verifyid) |
16832
- | [genesisBuffer](#function-genesisbuffer) | [proveCertificate](#function-provecertificate) | [verifyInteger](#function-verifyinteger) |
16833
- | [genesisHeader](#function-genesisheader) | [purgeDataIdb](#function-purgedataidb) | [verifyNumber](#function-verifynumber) |
16834
- | [getBeefForTransaction](#function-getbeeffortransaction) | [randomBytes](#function-randombytes) | [verifyOne](#function-verifyone) |
16835
- | [getBeefForTxid](#function-getbeeffortxid) | [randomBytesBase64](#function-randombytesbase64) | [verifyOneOrNone](#function-verifyoneornone) |
16836
- | [getExchangeRatesIo](#function-getexchangeratesio) | [randomBytesHex](#function-randombyteshex) | [verifyOptionalHexString](#function-verifyoptionalhexstring) |
16837
- | [getIdentityKey](#function-getidentitykey) | [readUInt32BE](#function-readuint32be) | [verifyP2PKHOwnership](#function-verifyp2pkhownership) |
16838
- | [getListOutputsSpecOp](#function-getlistoutputsspecop) | [readUInt32LE](#function-readuint32le) | [verifyTruthy](#function-verifytruthy) |
16839
- | [getProofs](#function-getproofs) | [redeemServiceCharges](#function-redeemservicecharges) | [verifyUnlockScripts](#function-verifyunlockscripts) |
16840
- | [getSyncChunk](#function-getsyncchunk) | [resolveAutoSigned](#function-resolveautosigned) | [wait](#function-wait) |
16841
- | [getWhatsOnChainBlockHeaderByHash](#function-getwhatsonchainblockheaderbyhash) | [reviewStatusIdb](#function-reviewstatusidb) | [wocGetHeadersHeaderToBlockHeader](#function-wocgetheadersheadertoblockheader) |
16842
- | [handlePostRawTxErrorResponse](#function-handlepostrawtxerrorresponse) | [selectBulkHeaderFiles](#function-selectbulkheaderfiles) | [workBNtoBuffer](#function-workbntobuffer) |
16843
- | [handleScriptHashHistoryCatch](#function-handlescripthashhistorycatch) | [serializeBaseBlockHeader](#function-serializebaseblockheader) | [writeUInt32BE](#function-writeuint32be) |
16844
- | [handleScriptHashHistoryResponse](#function-handlescripthashhistoryresponse) | [serializeBaseBlockHeaders](#function-serializebaseblockheaders) | [writeUInt32LE](#function-writeuint32le) |
16845
- | [handleUtxoConnReset](#function-handleutxoconnreset) | [setDisableDoubleSpendCheckForTest](#function-setdisabledoublespendcheckfortest) | |
16846
- | [importSingleOutpoint](#function-importsingleoutpoint) | [sha256Hash](#function-sha256hash) | |
16867
+ | [WalletErrorFromJson](#function-walleterrorfromjson) | [internalizeAction](#function-internalizeaction) | [setDisableDoubleSpendCheckForTest](#function-setdisabledoublespendcheckfortest) |
16868
+ | [WocHeadersBulkListener](#function-wocheadersbulklistener) | [internalizeAction](#function-internalizeaction) | [sha256Hash](#function-sha256hash) |
16869
+ | [WocHeadersBulkListener_test](#function-wocheadersbulklistener_test) | [isBaseBlockHeader](#function-isbaseblockheader) | [sha256HashOfBinaryFile](#function-sha256hashofbinaryfile) |
16870
+ | [WocHeadersLiveListener](#function-wocheaderslivelistener) | [isBlockHeader](#function-isblockheader) | [shareReqsWithWorld](#function-sharereqswithworld) |
16871
+ | [WocHeadersLiveListener_test](#function-wocheaderslivelistener_test) | [isCreateActionSpecOp](#function-iscreateactionspecop) | [signAction](#function-signaction) |
16872
+ | [acquireDirectCertificate](#function-acquiredirectcertificate) | [isKnownValidBulkHeaderFile](#function-isknownvalidbulkheaderfile) | [signAndComplete](#function-signandcomplete) |
16873
+ | [addWork](#function-addwork) | [isListActionsSpecOp](#function-islistactionsspecop) | [stampLog](#function-stamplog) |
16874
+ | [arcDefaultUrl](#function-arcdefaulturl) | [isListOutputsSpecOp](#function-islistoutputsspecop) | [stampLogFormat](#function-stamplogformat) |
16875
+ | [arcGorillaPoolUrl](#function-arcgorillapoolurl) | [isLive](#function-islive) | [subWork](#function-subwork) |
16876
+ | [arraysEqual](#function-arraysequal) | [isLiveBlockHeader](#function-isliveblockheader) | [swapByteOrder](#function-swapbyteorder) |
16877
+ | [asArray](#function-asarray) | [isMoreWork](#function-ismorework) | [throwDummyReviewActions](#function-throwdummyreviewactions) |
16878
+ | [asBsvSdkPrivateKey](#function-asbsvsdkprivatekey) | [keyOffsetToHashedSecret](#function-keyoffsettohashedsecret) | [toBinaryBaseBlockHeader](#function-tobinarybaseblockheader) |
16879
+ | [asBsvSdkPublickKey](#function-asbsvsdkpublickkey) | [listActionsIdb](#function-listactionsidb) | [toLookupNetworkPreset](#function-tolookupnetworkpreset) |
16880
+ | [asBsvSdkScript](#function-asbsvsdkscript) | [listCertificates](#function-listcertificates) | [toWalletNetwork](#function-towalletnetwork) |
16881
+ | [asBsvSdkTx](#function-asbsvsdktx) | [listOutputsIdb](#function-listoutputsidb) | [transactionInputSize](#function-transactioninputsize) |
16882
+ | [asString](#function-asstring) | [lockScriptWithKeyOffsetFromPubKey](#function-lockscriptwithkeyoffsetfrompubkey) | [transactionOutputSize](#function-transactionoutputsize) |
16883
+ | [asUint8Array](#function-asuint8array) | [logCreateActionArgs](#function-logcreateactionargs) | [transactionSize](#function-transactionsize) |
16884
+ | [attemptToPostReqsToNetwork](#function-attempttopostreqstonetwork) | [logWalletError](#function-logwalleterror) | [updateChaintracksFiatExchangeRates](#function-updatechaintracksfiatexchangerates) |
16885
+ | [blockHash](#function-blockhash) | [makeAtomicBeef](#function-makeatomicbeef) | [updateExchangeratesapi](#function-updateexchangeratesapi) |
16886
+ | [buildBeefForOutpoints](#function-buildbeefforoutpoints) | [makeBrc114ActionTimeLabel](#function-makebrc114actiontimelabel) | [updateReqsFromAggregateResults](#function-updatereqsfromaggregateresults) |
16887
+ | [buildChaintracksOptionsWithIngestors](#function-buildchaintracksoptionswithingestors) | [makeChangeLock](#function-makechangelock) | [upgradeAllStoresV1](#function-upgradeallstoresv1) |
16888
+ | [buildSignableTransaction](#function-buildsignabletransaction) | [makeMerklePathNote](#function-makemerklepathnote) | [upgradeCertificateFields](#function-upgradecertificatefields) |
16889
+ | [classifyMerklePathResponse](#function-classifymerklepathresponse) | [markStaleInputsAsSpent](#function-markstaleinputsasspent) | [upgradeCertificates](#function-upgradecertificates) |
16890
+ | [classifyReqStatus](#function-classifyreqstatus) | [markUserInputsSpent](#function-markuserinputsspent) | [upgradeCommissions](#function-upgradecommissions) |
16891
+ | [completeSignedTransaction](#function-completesignedtransaction) | [matchesCertificateFieldPartial](#function-matchescertificatefieldpartial) | [upgradeMonitorEvents](#function-upgrademonitorevents) |
16892
+ | [computeMerklePath](#function-computemerklepath) | [matchesCertificatePartial](#function-matchescertificatepartial) | [upgradeOutputBaskets](#function-upgradeoutputbaskets) |
16893
+ | [computeMerkleRoot](#function-computemerkleroot) | [matchesCommissionPartial](#function-matchescommissionpartial) | [upgradeOutputTags](#function-upgradeoutputtags) |
16894
+ | [convertBitsToTarget](#function-convertbitstotarget) | [matchesMonitorEventPartial](#function-matchesmonitoreventpartial) | [upgradeOutputTagsMap](#function-upgradeoutputtagsmap) |
16895
+ | [convertBitsToWork](#function-convertbitstowork) | [matchesOutputBasketPartial](#function-matchesoutputbasketpartial) | [upgradeOutputs](#function-upgradeoutputs) |
16896
+ | [convertBufferToUint32](#function-convertbuffertouint32) | [matchesOutputPartial](#function-matchesoutputpartial) | [upgradeProvenTxReqs](#function-upgradeproventxreqs) |
16897
+ | [convertProofToMerklePath](#function-convertprooftomerklepath) | [matchesOutputTagMapPartial](#function-matchesoutputtagmappartial) | [upgradeProvenTxs](#function-upgradeproventxs) |
16898
+ | [convertUint32ToBuffer](#function-convertuint32tobuffer) | [matchesOutputTagPartial](#function-matchesoutputtagpartial) | [upgradeSyncStates](#function-upgradesyncstates) |
16899
+ | [convertWocToBlockHeaderHex](#function-convertwoctoblockheaderhex) | [matchesProvenTxPartial](#function-matchesproventxpartial) | [upgradeTransactions](#function-upgradetransactions) |
16900
+ | [createAction](#function-createaction) | [matchesProvenTxReqPartial](#function-matchesproventxreqpartial) | [upgradeTxLabels](#function-upgradetxlabels) |
16901
+ | [createAction](#function-createaction) | [matchesSyncStatePartial](#function-matchessyncstatepartial) | [upgradeTxLabelsMap](#function-upgradetxlabelsmap) |
16902
+ | [createCoinbaseTransaction](#function-createcoinbasetransaction) | [matchesTransactionPartial](#function-matchestransactionpartial) | [upgradeUsers](#function-upgradeusers) |
16903
+ | [createDefaultIdbChaintracksOptions](#function-createdefaultidbchaintracksoptions) | [matchesTxLabelMapPartial](#function-matchestxlabelmappartial) | [validBulkHeaderFilesByFileHash](#function-validbulkheaderfilesbyfilehash) |
16904
+ | [createDefaultNoDbChaintracksOptions](#function-createdefaultnodbchaintracksoptions) | [matchesTxLabelPartial](#function-matchestxlabelpartial) | [validateAgainstDirtyHashes](#function-validateagainstdirtyhashes) |
16905
+ | [createDefaultWalletServicesOptions](#function-createdefaultwalletservicesoptions) | [maxDate](#function-maxdate) | [validateBufferOfHeaders](#function-validatebufferofheaders) |
16906
+ | [createIdbChaintracks](#function-createidbchaintracks) | [mergeInputBeefs](#function-mergeinputbeefs) | [validateBulkFileData](#function-validatebulkfiledata) |
16907
+ | [createNoDbChaintracks](#function-createnodbchaintracks) | [mergeInputsIntoBeef](#function-mergeinputsintobeef) | [validateDate](#function-validatedate) |
16908
+ | [createStorageServiceChargeScript](#function-createstorageservicechargescript) | [notifyTransactionsOfProof](#function-notifytransactionsofproof) | [validateEntities](#function-validateentities) |
16909
+ | [createSyncMap](#function-createsyncmap) | [offsetPrivKey](#function-offsetprivkey) | [validateEntity](#function-validateentity) |
16910
+ | [dateMatches](#function-datematches) | [offsetPubKey](#function-offsetpubkey) | [validateGenerateChangeSdkParams](#function-validategeneratechangesdkparams) |
16911
+ | [deserializeBaseBlockHeader](#function-deserializebaseblockheader) | [optionalArraysEqual](#function-optionalarraysequal) | [validateGenerateChangeSdkResult](#function-validategeneratechangesdkresult) |
16912
+ | [deserializeBaseBlockHeaders](#function-deserializebaseblockheaders) | [parseBrc114ActionTimeLabels](#function-parsebrc114actiontimelabels) | [validateGenesisHeader](#function-validategenesisheader) |
16913
+ | [deserializeBlockHeader](#function-deserializeblockheader) | [parseOutpoint](#function-parseoutpoint) | [validateHeaderDifficulty](#function-validateheaderdifficulty) |
16914
+ | [deserializeBlockHeaders](#function-deserializeblockheaders) | [parseResults$](#function-parseresults$) | [validateHeaderFormat](#function-validateheaderformat) |
16915
+ | [doubleSha256BE](#function-doublesha256be) | [parseTxAndAssertId](#function-parsetxandassertid) | [validateScriptHash](#function-validatescripthash) |
16916
+ | [doubleSha256LE](#function-doublesha256le) | [parseTxScriptOffsets](#function-parsetxscriptoffsets) | [validateSecondsSinceEpoch](#function-validatesecondssinceepoch) |
16917
+ | [fundWalletFromP2PKHOutpoints](#function-fundwalletfromp2pkhoutpoints) | [partitionActionLabels](#function-partitionactionlabels) | [validateStorageFeeModel](#function-validatestoragefeemodel) |
16918
+ | [generateChangeSdk](#function-generatechangesdk) | [populateUtxoDetails](#function-populateutxodetails) | [validateSyncChunkEntities](#function-validatesyncchunkentities) |
16919
+ | [generateChangeSdkMakeStorage](#function-generatechangesdkmakestorage) | [processAction](#function-processaction) | [varUintSize](#function-varuintsize) |
16920
+ | [genesisBuffer](#function-genesisbuffer) | [processAction](#function-processaction) | [verifyHexString](#function-verifyhexstring) |
16921
+ | [genesisHeader](#function-genesisheader) | [proveCertificate](#function-provecertificate) | [verifyId](#function-verifyid) |
16922
+ | [getBeefForTransaction](#function-getbeeffortransaction) | [purgeDataIdb](#function-purgedataidb) | [verifyInteger](#function-verifyinteger) |
16923
+ | [getBeefForTxid](#function-getbeeffortxid) | [randomBytes](#function-randombytes) | [verifyNumber](#function-verifynumber) |
16924
+ | [getExchangeRatesIo](#function-getexchangeratesio) | [randomBytesBase64](#function-randombytesbase64) | [verifyOne](#function-verifyone) |
16925
+ | [getIdentityKey](#function-getidentitykey) | [randomBytesHex](#function-randombyteshex) | [verifyOneOrNone](#function-verifyoneornone) |
16926
+ | [getListOutputsSpecOp](#function-getlistoutputsspecop) | [readUInt32BE](#function-readuint32be) | [verifyOptionalHexString](#function-verifyoptionalhexstring) |
16927
+ | [getProofs](#function-getproofs) | [readUInt32LE](#function-readuint32le) | [verifyP2PKHOwnership](#function-verifyp2pkhownership) |
16928
+ | [getSyncChunk](#function-getsyncchunk) | [redeemServiceCharges](#function-redeemservicecharges) | [verifyTruthy](#function-verifytruthy) |
16929
+ | [getWhatsOnChainBlockHeaderByHash](#function-getwhatsonchainblockheaderbyhash) | [resolveAutoSigned](#function-resolveautosigned) | [verifyUnlockScripts](#function-verifyunlockscripts) |
16930
+ | [handlePostRawTxErrorResponse](#function-handlepostrawtxerrorresponse) | [restoreInputsToSpendable](#function-restoreinputstospendable) | [wait](#function-wait) |
16931
+ | [handleScriptHashHistoryCatch](#function-handlescripthashhistorycatch) | [reviewStatusIdb](#function-reviewstatusidb) | [wocGetHeadersHeaderToBlockHeader](#function-wocgetheadersheadertoblockheader) |
16932
+ | [handleScriptHashHistoryResponse](#function-handlescripthashhistoryresponse) | [selectBulkHeaderFiles](#function-selectbulkheaderfiles) | [workBNtoBuffer](#function-workbntobuffer) |
16933
+ | [handleUtxoConnReset](#function-handleutxoconnreset) | [serializeBaseBlockHeader](#function-serializebaseblockheader) | [writeUInt32BE](#function-writeuint32be) |
16934
+ | [importSingleOutpoint](#function-importsingleoutpoint) | [serializeBaseBlockHeaders](#function-serializebaseblockheaders) | [writeUInt32LE](#function-writeuint32le) |
16847
16935
 
16848
16936
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
16849
16937
 
@@ -18041,7 +18129,14 @@ A "wallet payment" adds an outputs value to the wallet's change "balance". These
18041
18129
  Processing starts with simple validation and then checks for a pre-existing transaction.
18042
18130
  If the transaction is already known to the user, then the outputs are reviewed against the existing outputs treatment,
18043
18131
  and merge rules are added to the arguments passed to the storage layer.
18044
- The existing transaction must be in the 'unproven' or 'completed' status. Any other status is an error.
18132
+
18133
+ The existing transaction's `status` determines what the merge path does next:
18134
+ - `'unproven'` or `'completed'`: outputs are merged; status is left as-is.
18135
+ - `'nosend'`: the `internalizeAction` call is treated as explicit authorization to advance the lifecycle.
18136
+ `transactions.status` is promoted to `'completed'` (BUMP-bearing BEEF) or `'unproven'` (otherwise), and the
18137
+ `proven_tx_req` is moved out of `'nosend'` so Monitor's proof-fetching flow can finalize it. See storage-layer
18138
+ `internalizeAction` docs for the full rationale.
18139
+ - Any other status: an error.
18045
18140
 
18046
18141
  When the transaction already exists, the description is updated. The isOutgoing sense is not changed.
18047
18142
 
@@ -18077,7 +18172,17 @@ A "wallet payment" adds an outputs value to the wallet's change "balance". These
18077
18172
  Processing starts with simple validation and then checks for a pre-existing transaction.
18078
18173
  If the transaction is already known to the user, then the outputs are reviewed against the existing outputs treatment,
18079
18174
  and merge rules are added to the arguments passed to the storage layer.
18080
- The existing transaction must be in the 'unproven' or 'completed' status. Any other status is an error.
18175
+
18176
+ The existing transaction's `status` determines what the merge path does next:
18177
+ - `'unproven'` or `'completed'`: outputs are merged into the existing record. The transaction status is left as-is.
18178
+ - `'nosend'`: an ambiguous case. The transaction was created with `noSend: true` and may have been externally
18179
+ broadcast, may be sitting in a sendWith chain, or may be stuck mid-flight. The merge path treats the
18180
+ `internalizeAction` call as explicit authorization to advance the lifecycle. Specifically: `transactions.status`
18181
+ is promoted to `'completed'` (when a BUMP is included in the BEEF) or `'unproven'` (otherwise), and the
18182
+ `proven_tx_req` is moved out of `'nosend'` so Monitor's standard proof-fetching flow can finalize it.
18183
+ This makes the `internalizeAction` semantics consistent regardless of whether the originator shares the
18184
+ same storage as the internalizer or not.
18185
+ - Any other status: an error.
18081
18186
 
18082
18187
  When the transaction already exists, the description is updated. The isOutgoing sense is not changed.
18083
18188
 
@@ -18443,6 +18548,17 @@ See also: [AggregatePostBeefTxResult](./storage.md#interface-aggregatepostbeeftx
18443
18548
 
18444
18549
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
18445
18550
 
18551
+ ---
18552
+ ##### Function: markUserInputsSpent
18553
+
18554
+ ```ts
18555
+ export async function markUserInputsSpent(storage: StorageProvider, userId: number, tx: BsvTransaction, transactionId: number): Promise<SpentInputTransition[]>
18556
+ ```
18557
+
18558
+ See also: [SpentInputTransition](./storage.md#interface-spentinputtransition), [StorageProvider](./storage.md#class-storageprovider)
18559
+
18560
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
18561
+
18446
18562
  ---
18447
18563
  ##### Function: matchesCertificateFieldPartial
18448
18564
 
@@ -18900,6 +19016,17 @@ export function resolveAutoSigned(car: CreateActionResult, txid: string, vout: n
18900
19016
 
18901
19017
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
18902
19018
 
19019
+ ---
19020
+ ##### Function: restoreInputsToSpendable
19021
+
19022
+ ```ts
19023
+ export async function restoreInputsToSpendable(storage: StorageProvider, transitions: SpentInputTransition[]): Promise<void>
19024
+ ```
19025
+
19026
+ See also: [SpentInputTransition](./storage.md#interface-spentinputtransition), [StorageProvider](./storage.md#class-storageprovider)
19027
+
19028
+ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
19029
+
18903
19030
  ---
18904
19031
  ##### Function: reviewStatusIdb
18905
19032
 
@@ -20759,13 +20886,36 @@ getLabelToSpecOp: () => Record<string, ListActionsSpecOp> = () => {
20759
20886
  labelsToIntercept: ["abort"],
20760
20887
  setStatusFilter: () => ["nosend"],
20761
20888
  postProcess: async (s: StorageProvider, auth: AuthId, vargs: Validation.ValidListActionsArgs, specOpLabels: string[], txs: Array<Partial<TableTransaction>>): Promise<void> => {
20762
- if (specOpLabels.includes("abort")) {
20763
- for (const tx of txs) {
20764
- if (tx.status === "nosend") {
20765
- await s.abortAction(auth, { reference: tx.reference! });
20766
- tx.status = "failed";
20889
+ if (!specOpLabels.includes("abort"))
20890
+ return;
20891
+ const candidates = txs.filter(tx => tx.status === "nosend" && !!tx.txid);
20892
+ const candidateTxids = candidates.map(tx => tx.txid as string);
20893
+ const protectedTxids = new Set<string>();
20894
+ if (candidateTxids.length > 0) {
20895
+ const services = s.getServices();
20896
+ try {
20897
+ const r = await services.getStatusForTxids(candidateTxids);
20898
+ if (r.status === "success") {
20899
+ for (const result of r.results) {
20900
+ if (result.status === "mined" || result.status === "known") {
20901
+ protectedTxids.add(result.txid);
20902
+ }
20903
+ }
20767
20904
  }
20768
20905
  }
20906
+ catch {
20907
+ }
20908
+ }
20909
+ for (const tx of txs) {
20910
+ if (tx.status !== "nosend")
20911
+ continue;
20912
+ if (tx.txid && protectedTxids.has(tx.txid)) {
20913
+ continue;
20914
+ }
20915
+ const result = await s.abortAction(auth, { reference: tx.reference! });
20916
+ if (result.aborted) {
20917
+ tx.status = "failed";
20918
+ }
20769
20919
  }
20770
20920
  }
20771
20921
  },