@bsv/wallet-toolbox 2.1.26 → 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.
- package/CHANGELOG.md +17 -0
- package/README.md +8 -17
- package/docs/client.md +441 -181
- package/docs/monitor.md +69 -1
- package/docs/storage.md +107 -31
- package/docs/wallet.md +379 -142
- package/out/src/Wallet.d.ts +46 -2
- package/out/src/Wallet.d.ts.map +1 -1
- package/out/src/Wallet.js +65 -4
- package/out/src/Wallet.js.map +1 -1
- package/out/src/monitor/Monitor.d.ts.map +1 -1
- package/out/src/monitor/Monitor.js +12 -0
- package/out/src/monitor/Monitor.js.map +1 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +59 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
- package/out/src/monitor/tasks/TaskCheckNoSends.js +93 -4
- package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
- package/out/src/services/__tests/getFiatExchangeRate.test.js +25 -0
- package/out/src/services/__tests/getFiatExchangeRate.test.js.map +1 -1
- package/out/src/services/__tests/getMerklePath.test.js +8 -0
- package/out/src/services/__tests/getMerklePath.test.js.map +1 -1
- package/out/src/services/__tests/verifyBeef.test.js +37 -0
- package/out/src/services/__tests/verifyBeef.test.js.map +1 -1
- package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js +36 -0
- package/out/src/services/chaintracker/__tests/ChaintracksChainTracker.test.js.map +1 -1
- package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js +34 -0
- package/out/src/services/chaintracker/__tests/ChaintracksServiceClient.test.js.map +1 -1
- package/out/src/signer/methods/internalizeAction.d.ts +8 -1
- package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/signer/methods/internalizeAction.js +8 -1
- package/out/src/signer/methods/internalizeAction.js.map +1 -1
- package/out/src/storage/StorageProvider.d.ts.map +1 -1
- package/out/src/storage/StorageProvider.js +80 -2
- package/out/src/storage/StorageProvider.js.map +1 -1
- package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
- package/out/src/storage/methods/ListActionsSpecOp.js +68 -5
- package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
- package/out/src/storage/methods/createAction.js +27 -13
- package/out/src/storage/methods/createAction.js.map +1 -1
- package/out/src/storage/methods/internalizeAction.d.ts +69 -2
- package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/storage/methods/internalizeAction.js +206 -26
- package/out/src/storage/methods/internalizeAction.js.map +1 -1
- package/out/src/storage/portable/index.d.ts.map +1 -1
- package/out/src/storage/portable/index.js +160 -114
- package/out/src/storage/portable/index.js.map +1 -1
- package/out/src/utility/identityUtils.d.ts +12 -6
- package/out/src/utility/identityUtils.d.ts.map +1 -1
- package/out/src/utility/identityUtils.js +78 -30
- package/out/src/utility/identityUtils.js.map +1 -1
- package/package.json +6 -6
package/docs/client.md
CHANGED
|
@@ -6,86 +6,87 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
6
6
|
|
|
7
7
|
| | | |
|
|
8
8
|
| --- | --- | --- |
|
|
9
|
-
| [AdminStatsResult](#interface-adminstatsresult) | [
|
|
10
|
-
| [AggregatePostBeefTxResult](#interface-aggregatepostbeeftxresult) | [
|
|
11
|
-
| [ArcConfig](#interface-arcconfig) | [
|
|
12
|
-
| [ArcMinerGetTxData](#interface-arcminergettxdata) | [
|
|
13
|
-
| [ArcSSEClientOptions](#interface-arcsseclientoptions) | [
|
|
14
|
-
| [ArcSSEEvent](#interface-arcsseevent) | [
|
|
15
|
-
| [AuthId](#interface-authid) | [
|
|
16
|
-
| [AuthPayload](#interface-authpayload) | [
|
|
17
|
-
| [BaseBlockHeader](#interface-baseblockheader) | [
|
|
18
|
-
| [BitailsConfig](#interface-bitailsconfig) | [
|
|
19
|
-
| [BitailsMerkleProof](#interface-bitailsmerkleproof) | [
|
|
20
|
-
| [BlockHeader](#interface-blockheader) | [
|
|
21
|
-
| [BsvExchangeRate](#interface-bsvexchangerate) | [
|
|
22
|
-
| [BulkFileDataManagerMergeResult](#interface-bulkfiledatamanagermergeresult) | [
|
|
23
|
-
| [BulkFileDataManagerOptions](#interface-bulkfiledatamanageroptions) | [
|
|
24
|
-
| [BulkHeaderFileInfo](#interface-bulkheaderfileinfo) | [
|
|
25
|
-
| [BulkHeaderFilesInfo](#interface-bulkheaderfilesinfo) | [
|
|
26
|
-
| [BulkIngestorApi](#interface-bulkingestorapi) | [
|
|
27
|
-
| [BulkIngestorBaseOptions](#interface-bulkingestorbaseoptions) | [
|
|
28
|
-
| [BulkIngestorCDNOptions](#interface-bulkingestorcdnoptions) | [
|
|
29
|
-
| [BulkIngestorWhatsOnChainOptions](#interface-bulkingestorwhatsonchainoptions) | [
|
|
30
|
-
| [BulkStorageApi](#interface-bulkstorageapi) | [
|
|
31
|
-
| [BulkStorageBaseOptions](#interface-bulkstoragebaseoptions) | [
|
|
32
|
-
| [BulkSyncResult](#interface-bulksyncresult) | [
|
|
33
|
-
| [CertOpsWallet](#interface-certopswallet) | [
|
|
34
|
-
| [Certifier](#interface-certifier) | [
|
|
35
|
-
| [ChaintracksApi](#interface-chaintracksapi) | [
|
|
36
|
-
| [ChaintracksAppendableFileApi](#interface-chaintracksappendablefileapi) | [
|
|
37
|
-
| [ChaintracksChainTrackerOptions](#interface-chaintrackschaintrackeroptions) | [
|
|
38
|
-
| [ChaintracksClientApi](#interface-chaintracksclientapi) | [
|
|
39
|
-
| [ChaintracksFetchApi](#interface-chaintracksfetchapi) | [
|
|
40
|
-
| [ChaintracksFsApi](#interface-chaintracksfsapi) | [
|
|
41
|
-
| [ChaintracksInfoApi](#interface-chaintracksinfoapi) | [
|
|
42
|
-
| [ChaintracksIngestorParams](#interface-chaintracksingestorparams) | [
|
|
43
|
-
| [ChaintracksManagementApi](#interface-chaintracksmanagementapi) | [
|
|
44
|
-
| [ChaintracksOptions](#interface-chaintracksoptions) | [
|
|
45
|
-
| [ChaintracksPackageInfoApi](#interface-chaintrackspackageinfoapi) | [
|
|
46
|
-
| [ChaintracksReadableFileApi](#interface-chaintracksreadablefileapi) | [
|
|
47
|
-
| [ChaintracksServiceClientOptions](#interface-chaintracksserviceclientoptions) | [
|
|
48
|
-
| [ChaintracksStorageApi](#interface-chaintracksstorageapi) | [
|
|
49
|
-
| [ChaintracksStorageBaseOptions](#interface-chaintracksstoragebaseoptions) | [
|
|
50
|
-
| [ChaintracksStorageBulkFileApi](#interface-chaintracksstoragebulkfileapi) | [
|
|
51
|
-
| [ChaintracksStorageIdbOptions](#interface-chaintracksstorageidboptions) | [
|
|
52
|
-
| [ChaintracksStorageIdbSchema](#interface-chaintracksstorageidbschema) | [
|
|
53
|
-
| [ChaintracksStorageIngestApi](#interface-chaintracksstorageingestapi) | [
|
|
54
|
-
| [ChaintracksStorageNoDbOptions](#interface-chaintracksstoragenodboptions) | [
|
|
55
|
-
| [ChaintracksStorageQueryApi](#interface-chaintracksstoragequeryapi) | [
|
|
56
|
-
| [ChaintracksWritableFileApi](#interface-chaintrackswritablefileapi) | [
|
|
57
|
-
| [CommitNewTxResults](#interface-commitnewtxresults) | [
|
|
58
|
-
| [CompleteAuthResponse](#interface-completeauthresponse) | [
|
|
59
|
-
| [
|
|
60
|
-
| [
|
|
61
|
-
| [
|
|
62
|
-
| [
|
|
63
|
-
| [
|
|
64
|
-
| [
|
|
65
|
-
| [
|
|
66
|
-
| [
|
|
67
|
-
| [
|
|
68
|
-
| [
|
|
69
|
-
| [
|
|
70
|
-
| [
|
|
71
|
-
| [
|
|
72
|
-
| [
|
|
73
|
-
| [
|
|
74
|
-
| [
|
|
75
|
-
| [
|
|
76
|
-
| [
|
|
77
|
-
| [
|
|
78
|
-
| [
|
|
79
|
-
| [
|
|
80
|
-
| [
|
|
81
|
-
| [
|
|
82
|
-
| [
|
|
83
|
-
| [
|
|
84
|
-
| [
|
|
85
|
-
| [
|
|
86
|
-
| [
|
|
87
|
-
| [
|
|
88
|
-
| [
|
|
9
|
+
| [AdminStatsResult](#interface-adminstatsresult) | [GenerateChangeSdkChangeOutput](#interface-generatechangesdkchangeoutput) | [SetupWalletClient](#interface-setupwalletclient) |
|
|
10
|
+
| [AggregatePostBeefTxResult](#interface-aggregatepostbeeftxresult) | [GenerateChangeSdkInput](#interface-generatechangesdkinput) | [SetupWalletIdb](#interface-setupwalletidb) |
|
|
11
|
+
| [ArcConfig](#interface-arcconfig) | [GenerateChangeSdkOutput](#interface-generatechangesdkoutput) | [SetupWalletIdbArgs](#interface-setupwalletidbargs) |
|
|
12
|
+
| [ArcMinerGetTxData](#interface-arcminergettxdata) | [GenerateChangeSdkParams](#interface-generatechangesdkparams) | [SignActionResultX](#interface-signactionresultx) |
|
|
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) |
|
|
89
90
|
|
|
90
91
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
91
92
|
|
|
@@ -2460,6 +2461,95 @@ export interface CompleteAuthResponse {
|
|
|
2460
2461
|
|
|
2461
2462
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
2462
2463
|
|
|
2464
|
+
---
|
|
2465
|
+
##### Interface: ContactRecord
|
|
2466
|
+
|
|
2467
|
+
```ts
|
|
2468
|
+
export interface ContactRecord {
|
|
2469
|
+
identityKey: PubKeyHex;
|
|
2470
|
+
type?: string;
|
|
2471
|
+
decryptedFields?: Record<string, string>;
|
|
2472
|
+
certifierInfo?: {
|
|
2473
|
+
name?: string;
|
|
2474
|
+
iconUrl?: string;
|
|
2475
|
+
description?: string;
|
|
2476
|
+
trust?: number;
|
|
2477
|
+
};
|
|
2478
|
+
}
|
|
2479
|
+
```
|
|
2480
|
+
|
|
2481
|
+
###### Property certifierInfo
|
|
2482
|
+
|
|
2483
|
+
Optional certifier metadata; missing trust defaults to `Infinity` (contacts override overlay trust).
|
|
2484
|
+
|
|
2485
|
+
```ts
|
|
2486
|
+
certifierInfo?: {
|
|
2487
|
+
name?: string;
|
|
2488
|
+
iconUrl?: string;
|
|
2489
|
+
description?: string;
|
|
2490
|
+
trust?: number;
|
|
2491
|
+
}
|
|
2492
|
+
```
|
|
2493
|
+
|
|
2494
|
+
###### Property decryptedFields
|
|
2495
|
+
|
|
2496
|
+
Optional decrypted fields. Whatever the app stored when saving the contact.
|
|
2497
|
+
|
|
2498
|
+
```ts
|
|
2499
|
+
decryptedFields?: Record<string, string>
|
|
2500
|
+
```
|
|
2501
|
+
|
|
2502
|
+
###### Property type
|
|
2503
|
+
|
|
2504
|
+
Optional certificate type (e.g. xCert / discordCert) so callers can render a badge.
|
|
2505
|
+
|
|
2506
|
+
```ts
|
|
2507
|
+
type?: string
|
|
2508
|
+
```
|
|
2509
|
+
|
|
2510
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
2511
|
+
|
|
2512
|
+
---
|
|
2513
|
+
##### Interface: ContactSource
|
|
2514
|
+
|
|
2515
|
+
The preferred means of constructing a `Wallet` is with a `WalletArgs` instance.
|
|
2516
|
+
|
|
2517
|
+
Minimal interface the wallet uses to short-circuit identity discovery against the user's local
|
|
2518
|
+
contacts before hitting the overlay. The result shape matches what `discoverByIdentityKey` /
|
|
2519
|
+
`discoverByAttributes` return so callers don't have to special-case contact-sourced records.
|
|
2520
|
+
|
|
2521
|
+
Implementations typically wrap `@bsv/sdk` `ContactsManager` or another on-device source. Reads
|
|
2522
|
+
are expected to be very fast (single-digit ms against local SQLite is typical).
|
|
2523
|
+
|
|
2524
|
+
```ts
|
|
2525
|
+
export interface ContactSource {
|
|
2526
|
+
findByIdentityKey: (identityKey: PubKeyHex) => Promise<ContactRecord | null | undefined>;
|
|
2527
|
+
findByAttributes?: (attributes: Record<string, string> | string[]) => Promise<ContactRecord[]>;
|
|
2528
|
+
}
|
|
2529
|
+
```
|
|
2530
|
+
|
|
2531
|
+
See also: [ContactRecord](./client.md#interface-contactrecord)
|
|
2532
|
+
|
|
2533
|
+
###### Property findByAttributes
|
|
2534
|
+
|
|
2535
|
+
Look up contacts matching a set of attributes. May be a no-op if attribute search is unsupported.
|
|
2536
|
+
|
|
2537
|
+
```ts
|
|
2538
|
+
findByAttributes?: (attributes: Record<string, string> | string[]) => Promise<ContactRecord[]>
|
|
2539
|
+
```
|
|
2540
|
+
See also: [ContactRecord](./client.md#interface-contactrecord)
|
|
2541
|
+
|
|
2542
|
+
###### Property findByIdentityKey
|
|
2543
|
+
|
|
2544
|
+
Look up a contact by identity key. Return `null` (or undefined) if unknown.
|
|
2545
|
+
|
|
2546
|
+
```ts
|
|
2547
|
+
findByIdentityKey: (identityKey: PubKeyHex) => Promise<ContactRecord | null | undefined>
|
|
2548
|
+
```
|
|
2549
|
+
See also: [ContactRecord](./client.md#interface-contactrecord)
|
|
2550
|
+
|
|
2551
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
2552
|
+
|
|
2463
2553
|
---
|
|
2464
2554
|
##### Interface: CounterpartyPermissionRequest
|
|
2465
2555
|
|
|
@@ -5992,6 +6082,26 @@ See also: [ReviewActionResult](./client.md#interface-reviewactionresult)
|
|
|
5992
6082
|
|
|
5993
6083
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
5994
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
|
+
|
|
5995
6105
|
---
|
|
5996
6106
|
##### Interface: StartAuthResponse
|
|
5997
6107
|
|
|
@@ -7724,8 +7834,6 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
7724
7834
|
---
|
|
7725
7835
|
##### Interface: WalletArgs
|
|
7726
7836
|
|
|
7727
|
-
The preferred means of constructing a `Wallet` is with a `WalletArgs` instance.
|
|
7728
|
-
|
|
7729
7837
|
```ts
|
|
7730
7838
|
export interface WalletArgs {
|
|
7731
7839
|
chain: Chain;
|
|
@@ -7736,11 +7844,24 @@ export interface WalletArgs {
|
|
|
7736
7844
|
privilegedKeyManager?: PrivilegedKeyManager;
|
|
7737
7845
|
settingsManager?: WalletSettingsManager;
|
|
7738
7846
|
lookupResolver?: LookupResolver;
|
|
7847
|
+
contactSource?: ContactSource;
|
|
7739
7848
|
makeLogger?: MakeWalletLogger;
|
|
7740
7849
|
}
|
|
7741
7850
|
```
|
|
7742
7851
|
|
|
7743
|
-
See also: [Chain](./client.md#type-chain), [Monitor](./monitor.md#class-monitor), [PrivilegedKeyManager](./client.md#class-privilegedkeymanager), [WalletServices](./client.md#interface-walletservices), [WalletSettingsManager](./client.md#class-walletsettingsmanager), [WalletStorageManager](./storage.md#class-walletstoragemanager)
|
|
7852
|
+
See also: [Chain](./client.md#type-chain), [ContactSource](./client.md#interface-contactsource), [Monitor](./monitor.md#class-monitor), [PrivilegedKeyManager](./client.md#class-privilegedkeymanager), [WalletServices](./client.md#interface-walletservices), [WalletSettingsManager](./client.md#class-walletsettingsmanager), [WalletStorageManager](./storage.md#class-walletstoragemanager)
|
|
7853
|
+
|
|
7854
|
+
###### Property contactSource
|
|
7855
|
+
|
|
7856
|
+
Optional contact source consulted before the overlay in `discoverByIdentityKey` /
|
|
7857
|
+
`discoverByAttributes`. When a contact matches, the overlay call is skipped entirely.
|
|
7858
|
+
Pass `forceRefresh: true` on the discover args to bypass both contacts and the overlay
|
|
7859
|
+
cache.
|
|
7860
|
+
|
|
7861
|
+
```ts
|
|
7862
|
+
contactSource?: ContactSource
|
|
7863
|
+
```
|
|
7864
|
+
See also: [ContactSource](./client.md#interface-contactsource)
|
|
7744
7865
|
|
|
7745
7866
|
###### Property makeLogger
|
|
7746
7867
|
|
|
@@ -14126,7 +14247,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
14126
14247
|
---
|
|
14127
14248
|
##### Class: TaskCheckNoSends
|
|
14128
14249
|
|
|
14129
|
-
`TaskCheckNoSends` is a WalletMonitor task that
|
|
14250
|
+
`TaskCheckNoSends` is a WalletMonitor task that retrieves merkle proofs for
|
|
14130
14251
|
'nosend' transactions that MAY have been shared externally.
|
|
14131
14252
|
|
|
14132
14253
|
Unlike intentionally processed transactions, 'nosend' transactions are fully valid
|
|
@@ -14138,10 +14259,54 @@ managed to get mined by some external process.
|
|
|
14138
14259
|
If a proof is obtained and validated, a new ProvenTx record is created and
|
|
14139
14260
|
the original ProvenTxReq status is advanced to 'notifying'.
|
|
14140
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
|
+
|
|
14141
14298
|
```ts
|
|
14142
14299
|
export class TaskCheckNoSends extends WalletMonitorTask {
|
|
14143
14300
|
static readonly taskName = "CheckNoSends";
|
|
14144
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
|
|
14145
14310
|
constructor(monitor: Monitor, public triggerMsecs = Monitor.oneDay * 1)
|
|
14146
14311
|
trigger(nowMsecsSinceEpoch: number): {
|
|
14147
14312
|
run: boolean;
|
|
@@ -14161,6 +14326,30 @@ listener can set this true to cause
|
|
|
14161
14326
|
static checkNow = false
|
|
14162
14327
|
```
|
|
14163
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
|
+
|
|
14164
14353
|
###### Method trigger
|
|
14165
14354
|
|
|
14166
14355
|
Normally triggered by checkNow getting set by new block header found event from chaintracks
|
|
@@ -15161,6 +15350,7 @@ export class Wallet implements WalletInterface, ProtoWallet {
|
|
|
15161
15350
|
lookupResolver: LookupResolver;
|
|
15162
15351
|
services?: WalletServices;
|
|
15163
15352
|
monitor?: Monitor;
|
|
15353
|
+
contactSource?: ContactSource;
|
|
15164
15354
|
identityKey: string;
|
|
15165
15355
|
beef: BeefParty;
|
|
15166
15356
|
includeAllSourceTransactions: boolean = true;
|
|
@@ -15196,8 +15386,12 @@ export class Wallet implements WalletInterface, ProtoWallet {
|
|
|
15196
15386
|
async acquireCertificate(args: AcquireCertificateArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<AcquireCertificateResult>
|
|
15197
15387
|
async relinquishCertificate(args: RelinquishCertificateArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<RelinquishCertificateResult>
|
|
15198
15388
|
async proveCertificate(args: ProveCertificateArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<ProveCertificateResult>
|
|
15199
|
-
async discoverByIdentityKey(args: DiscoverByIdentityKeyArgs
|
|
15200
|
-
|
|
15389
|
+
async discoverByIdentityKey(args: DiscoverByIdentityKeyArgs & {
|
|
15390
|
+
forceRefresh?: boolean;
|
|
15391
|
+
}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<DiscoverCertificatesResult>
|
|
15392
|
+
async discoverByAttributes(args: DiscoverByAttributesArgs & {
|
|
15393
|
+
forceRefresh?: boolean;
|
|
15394
|
+
}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<DiscoverCertificatesResult>
|
|
15201
15395
|
verifyReturnedTxidOnly(beef: Beef, knownTxids?: string[]): Beef
|
|
15202
15396
|
verifyReturnedTxidOnlyAtomicBEEF(beef: AtomicBEEF, knownTxids?: string[]): AtomicBEEF
|
|
15203
15397
|
verifyReturnedTxidOnlyBEEF(beef: BEEF): BEEF
|
|
@@ -15226,7 +15420,7 @@ export class Wallet implements WalletInterface, ProtoWallet {
|
|
|
15226
15420
|
}
|
|
15227
15421
|
```
|
|
15228
15422
|
|
|
15229
|
-
See also: [Chain](./client.md#type-chain), [KeyPair](./client.md#interface-keypair), [Monitor](./monitor.md#class-monitor), [PendingSignAction](./client.md#interface-pendingsignaction), [PrivilegedKeyManager](./client.md#class-privilegedkeymanager), [StorageIdentity](./client.md#interface-storageidentity), [WalletArgs](./client.md#interface-walletargs), [WalletBalance](./client.md#interface-walletbalance), [WalletServices](./client.md#interface-walletservices), [WalletSettingsManager](./client.md#class-walletsettingsmanager), [WalletSigner](./client.md#class-walletsigner), [WalletStorageManager](./storage.md#class-walletstoragemanager), [createAction](./storage.md#function-createaction), [getIdentityKey](./client.md#function-getidentitykey), [internalizeAction](./storage.md#function-internalizeaction), [listActions](./storage.md#function-listactions), [listCertificates](./storage.md#function-listcertificates), [listOutputs](./storage.md#function-listoutputs), [logWalletError](./client.md#function-logwalleterror), [logger](./client.md#variable-logger), [proveCertificate](./client.md#function-provecertificate), [signAction](./client.md#function-signaction)
|
|
15423
|
+
See also: [Chain](./client.md#type-chain), [ContactSource](./client.md#interface-contactsource), [KeyPair](./client.md#interface-keypair), [Monitor](./monitor.md#class-monitor), [PendingSignAction](./client.md#interface-pendingsignaction), [PrivilegedKeyManager](./client.md#class-privilegedkeymanager), [StorageIdentity](./client.md#interface-storageidentity), [WalletArgs](./client.md#interface-walletargs), [WalletBalance](./client.md#interface-walletbalance), [WalletServices](./client.md#interface-walletservices), [WalletSettingsManager](./client.md#class-walletsettingsmanager), [WalletSigner](./client.md#class-walletsigner), [WalletStorageManager](./storage.md#class-walletstoragemanager), [createAction](./storage.md#function-createaction), [getIdentityKey](./client.md#function-getidentitykey), [internalizeAction](./storage.md#function-internalizeaction), [listActions](./storage.md#function-listactions), [listCertificates](./storage.md#function-listcertificates), [listOutputs](./storage.md#function-listoutputs), [logWalletError](./client.md#function-logwalleterror), [logger](./client.md#variable-logger), [proveCertificate](./client.md#function-provecertificate), [signAction](./client.md#function-signaction)
|
|
15230
15424
|
|
|
15231
15425
|
###### Property autoKnownTxids
|
|
15232
15426
|
|
|
@@ -16670,73 +16864,74 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
16670
16864
|
|
|
16671
16865
|
| | | |
|
|
16672
16866
|
| --- | --- | --- |
|
|
16673
|
-
| [WalletErrorFromJson](#function-walleterrorfromjson) | [
|
|
16674
|
-
| [WocHeadersBulkListener](#function-wocheadersbulklistener) | [internalizeAction](#function-internalizeaction) | [
|
|
16675
|
-
| [WocHeadersBulkListener_test](#function-wocheadersbulklistener_test) | [
|
|
16676
|
-
| [WocHeadersLiveListener](#function-wocheaderslivelistener) | [
|
|
16677
|
-
| [WocHeadersLiveListener_test](#function-wocheaderslivelistener_test) | [
|
|
16678
|
-
| [acquireDirectCertificate](#function-acquiredirectcertificate) | [
|
|
16679
|
-
| [addWork](#function-addwork) | [
|
|
16680
|
-
| [arcDefaultUrl](#function-arcdefaulturl) | [
|
|
16681
|
-
| [arcGorillaPoolUrl](#function-arcgorillapoolurl) | [
|
|
16682
|
-
| [arraysEqual](#function-arraysequal) | [
|
|
16683
|
-
| [asArray](#function-asarray) | [
|
|
16684
|
-
| [asBsvSdkPrivateKey](#function-asbsvsdkprivatekey) | [
|
|
16685
|
-
| [asBsvSdkPublickKey](#function-asbsvsdkpublickkey) | [
|
|
16686
|
-
| [asBsvSdkScript](#function-asbsvsdkscript) | [
|
|
16687
|
-
| [asBsvSdkTx](#function-asbsvsdktx) | [
|
|
16688
|
-
| [asString](#function-asstring) | [
|
|
16689
|
-
| [asUint8Array](#function-asuint8array) | [
|
|
16690
|
-
| [attemptToPostReqsToNetwork](#function-attempttopostreqstonetwork) | [
|
|
16691
|
-
| [blockHash](#function-blockhash) | [
|
|
16692
|
-
| [buildBeefForOutpoints](#function-buildbeefforoutpoints) | [
|
|
16693
|
-
| [buildChaintracksOptionsWithIngestors](#function-buildchaintracksoptionswithingestors) | [
|
|
16694
|
-
| [buildSignableTransaction](#function-buildsignabletransaction) | [
|
|
16695
|
-
| [classifyMerklePathResponse](#function-classifymerklepathresponse) | [
|
|
16696
|
-
| [classifyReqStatus](#function-classifyreqstatus) | [
|
|
16697
|
-
| [completeSignedTransaction](#function-completesignedtransaction) | [matchesCertificateFieldPartial](#function-matchescertificatefieldpartial) | [
|
|
16698
|
-
| [computeMerklePath](#function-computemerklepath) | [matchesCertificatePartial](#function-matchescertificatepartial) | [
|
|
16699
|
-
| [computeMerkleRoot](#function-computemerkleroot) | [matchesCommissionPartial](#function-matchescommissionpartial) | [
|
|
16700
|
-
| [convertBitsToTarget](#function-convertbitstotarget) | [matchesMonitorEventPartial](#function-matchesmonitoreventpartial) | [
|
|
16701
|
-
| [convertBitsToWork](#function-convertbitstowork) | [matchesOutputBasketPartial](#function-matchesoutputbasketpartial) | [
|
|
16702
|
-
| [convertBufferToUint32](#function-convertbuffertouint32) | [matchesOutputPartial](#function-matchesoutputpartial) | [
|
|
16703
|
-
| [convertProofToMerklePath](#function-convertprooftomerklepath) | [matchesOutputTagMapPartial](#function-matchesoutputtagmappartial) | [
|
|
16704
|
-
| [convertUint32ToBuffer](#function-convertuint32tobuffer) | [matchesOutputTagPartial](#function-matchesoutputtagpartial) | [
|
|
16705
|
-
| [convertWocToBlockHeaderHex](#function-convertwoctoblockheaderhex) | [matchesProvenTxPartial](#function-matchesproventxpartial) | [
|
|
16706
|
-
| [createAction](#function-createaction) | [matchesProvenTxReqPartial](#function-matchesproventxreqpartial) | [
|
|
16707
|
-
| [createAction](#function-createaction) | [matchesSyncStatePartial](#function-matchessyncstatepartial) | [
|
|
16708
|
-
| [createCoinbaseTransaction](#function-createcoinbasetransaction) | [matchesTransactionPartial](#function-matchestransactionpartial) | [
|
|
16709
|
-
| [createDefaultIdbChaintracksOptions](#function-createdefaultidbchaintracksoptions) | [matchesTxLabelMapPartial](#function-matchestxlabelmappartial) | [
|
|
16710
|
-
| [createDefaultNoDbChaintracksOptions](#function-createdefaultnodbchaintracksoptions) | [matchesTxLabelPartial](#function-matchestxlabelpartial) | [
|
|
16711
|
-
| [createDefaultWalletServicesOptions](#function-createdefaultwalletservicesoptions) | [maxDate](#function-maxdate) | [
|
|
16712
|
-
| [createIdbChaintracks](#function-createidbchaintracks) | [mergeInputBeefs](#function-mergeinputbeefs) | [
|
|
16713
|
-
| [createNoDbChaintracks](#function-createnodbchaintracks) | [mergeInputsIntoBeef](#function-mergeinputsintobeef) | [
|
|
16714
|
-
| [createStorageServiceChargeScript](#function-createstorageservicechargescript) | [notifyTransactionsOfProof](#function-notifytransactionsofproof) | [
|
|
16715
|
-
| [createSyncMap](#function-createsyncmap) | [offsetPrivKey](#function-offsetprivkey) | [
|
|
16716
|
-
| [dateMatches](#function-datematches) | [offsetPubKey](#function-offsetpubkey) | [
|
|
16717
|
-
| [deserializeBaseBlockHeader](#function-deserializebaseblockheader) | [optionalArraysEqual](#function-optionalarraysequal) | [
|
|
16718
|
-
| [deserializeBaseBlockHeaders](#function-deserializebaseblockheaders) | [parseBrc114ActionTimeLabels](#function-parsebrc114actiontimelabels) | [
|
|
16719
|
-
| [deserializeBlockHeader](#function-deserializeblockheader) | [parseOutpoint](#function-parseoutpoint) | [
|
|
16720
|
-
| [deserializeBlockHeaders](#function-deserializeblockheaders) | [
|
|
16721
|
-
| [doubleSha256BE](#function-doublesha256be) | [
|
|
16722
|
-
| [doubleSha256LE](#function-doublesha256le) | [
|
|
16723
|
-
| [fundWalletFromP2PKHOutpoints](#function-fundwalletfromp2pkhoutpoints) | [
|
|
16724
|
-
| [generateChangeSdk](#function-generatechangesdk) | [
|
|
16725
|
-
| [generateChangeSdkMakeStorage](#function-generatechangesdkmakestorage) | [processAction](#function-processaction) | [
|
|
16726
|
-
| [genesisBuffer](#function-genesisbuffer) | [
|
|
16727
|
-
| [genesisHeader](#function-genesisheader) | [
|
|
16728
|
-
| [getBeefForTransaction](#function-getbeeffortransaction) | [
|
|
16729
|
-
| [getBeefForTxid](#function-getbeeffortxid) | [
|
|
16730
|
-
| [getExchangeRatesIo](#function-getexchangeratesio) | [
|
|
16731
|
-
| [getIdentityKey](#function-getidentitykey) | [
|
|
16732
|
-
| [getListOutputsSpecOp](#function-getlistoutputsspecop) | [
|
|
16733
|
-
| [getProofs](#function-getproofs) | [
|
|
16734
|
-
| [getSyncChunk](#function-getsyncchunk) | [
|
|
16735
|
-
| [getWhatsOnChainBlockHeaderByHash](#function-getwhatsonchainblockheaderbyhash) | [
|
|
16736
|
-
| [handlePostRawTxErrorResponse](#function-handlepostrawtxerrorresponse) | [
|
|
16737
|
-
| [handleScriptHashHistoryCatch](#function-handlescripthashhistorycatch) | [
|
|
16738
|
-
| [handleScriptHashHistoryResponse](#function-handlescripthashhistoryresponse) | [
|
|
16739
|
-
| [handleUtxoConnReset](#function-handleutxoconnreset) | [
|
|
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) |
|
|
16740
16935
|
|
|
16741
16936
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
16742
16937
|
|
|
@@ -17934,7 +18129,14 @@ A "wallet payment" adds an outputs value to the wallet's change "balance". These
|
|
|
17934
18129
|
Processing starts with simple validation and then checks for a pre-existing transaction.
|
|
17935
18130
|
If the transaction is already known to the user, then the outputs are reviewed against the existing outputs treatment,
|
|
17936
18131
|
and merge rules are added to the arguments passed to the storage layer.
|
|
17937
|
-
|
|
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.
|
|
17938
18140
|
|
|
17939
18141
|
When the transaction already exists, the description is updated. The isOutgoing sense is not changed.
|
|
17940
18142
|
|
|
@@ -17970,7 +18172,17 @@ A "wallet payment" adds an outputs value to the wallet's change "balance". These
|
|
|
17970
18172
|
Processing starts with simple validation and then checks for a pre-existing transaction.
|
|
17971
18173
|
If the transaction is already known to the user, then the outputs are reviewed against the existing outputs treatment,
|
|
17972
18174
|
and merge rules are added to the arguments passed to the storage layer.
|
|
17973
|
-
|
|
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.
|
|
17974
18186
|
|
|
17975
18187
|
When the transaction already exists, the description is updated. The isOutgoing sense is not changed.
|
|
17976
18188
|
|
|
@@ -18336,6 +18548,17 @@ See also: [AggregatePostBeefTxResult](./storage.md#interface-aggregatepostbeeftx
|
|
|
18336
18548
|
|
|
18337
18549
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
18338
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
|
+
|
|
18339
18562
|
---
|
|
18340
18563
|
##### Function: matchesCertificateFieldPartial
|
|
18341
18564
|
|
|
@@ -18606,6 +18829,17 @@ See also: [ParsedOutpoint](./client.md#interface-parsedoutpoint)
|
|
|
18606
18829
|
|
|
18607
18830
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
18608
18831
|
|
|
18832
|
+
---
|
|
18833
|
+
##### Function: parseResults$
|
|
18834
|
+
|
|
18835
|
+
```ts
|
|
18836
|
+
export async function* parseResults$(lookupResult: LookupAnswer): AsyncIterable<VerifiableCertificate>
|
|
18837
|
+
```
|
|
18838
|
+
|
|
18839
|
+
See also: [parseResults](./client.md#variable-parseresults)
|
|
18840
|
+
|
|
18841
|
+
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
18842
|
+
|
|
18609
18843
|
---
|
|
18610
18844
|
##### Function: parseTxAndAssertId
|
|
18611
18845
|
|
|
@@ -18782,6 +19016,17 @@ export function resolveAutoSigned(car: CreateActionResult, txid: string, vout: n
|
|
|
18782
19016
|
|
|
18783
19017
|
Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Variables](#variables)
|
|
18784
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
|
+
|
|
18785
19030
|
---
|
|
18786
19031
|
##### Function: reviewStatusIdb
|
|
18787
19032
|
|
|
@@ -20641,13 +20886,36 @@ getLabelToSpecOp: () => Record<string, ListActionsSpecOp> = () => {
|
|
|
20641
20886
|
labelsToIntercept: ["abort"],
|
|
20642
20887
|
setStatusFilter: () => ["nosend"],
|
|
20643
20888
|
postProcess: async (s: StorageProvider, auth: AuthId, vargs: Validation.ValidListActionsArgs, specOpLabels: string[], txs: Array<Partial<TableTransaction>>): Promise<void> => {
|
|
20644
|
-
if (specOpLabels.includes("abort"))
|
|
20645
|
-
|
|
20646
|
-
|
|
20647
|
-
|
|
20648
|
-
|
|
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
|
+
}
|
|
20649
20904
|
}
|
|
20650
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
|
+
}
|
|
20651
20919
|
}
|
|
20652
20920
|
}
|
|
20653
20921
|
},
|
|
@@ -20744,26 +21012,18 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
|
|
|
20744
21012
|
|
|
20745
21013
|
```ts
|
|
20746
21014
|
parseResults = async (lookupResult: LookupAnswer): Promise<VerifiableCertificate[]> => {
|
|
20747
|
-
if (lookupResult.type
|
|
20748
|
-
|
|
20749
|
-
|
|
20750
|
-
|
|
20751
|
-
|
|
20752
|
-
|
|
20753
|
-
|
|
20754
|
-
|
|
20755
|
-
|
|
20756
|
-
|
|
20757
|
-
verifiableCert.decryptedFields = decryptedFields;
|
|
20758
|
-
parsedResults.push(verifiableCert);
|
|
20759
|
-
}
|
|
20760
|
-
catch (error) {
|
|
20761
|
-
console.error(error);
|
|
20762
|
-
}
|
|
20763
|
-
}
|
|
20764
|
-
return parsedResults;
|
|
21015
|
+
if (lookupResult.type !== "output-list")
|
|
21016
|
+
return [];
|
|
21017
|
+
const parsedResults: VerifiableCertificate[] = [];
|
|
21018
|
+
const shouldYield = isUiRuntime();
|
|
21019
|
+
for (const output of lookupResult.outputs) {
|
|
21020
|
+
if (shouldYield)
|
|
21021
|
+
await yieldToUi();
|
|
21022
|
+
const cert = await parseOne(output);
|
|
21023
|
+
if (cert != null)
|
|
21024
|
+
parsedResults.push(cert);
|
|
20765
21025
|
}
|
|
20766
|
-
return
|
|
21026
|
+
return parsedResults;
|
|
20767
21027
|
}
|
|
20768
21028
|
```
|
|
20769
21029
|
|
|
@@ -20777,7 +21037,7 @@ queryOverlay = async (query: unknown, resolver: LookupResolver): Promise<Verifia
|
|
|
20777
21037
|
const results = await resolver.query({
|
|
20778
21038
|
service: "ls_identity",
|
|
20779
21039
|
query
|
|
20780
|
-
});
|
|
21040
|
+
}, undefined, { graceMs: 300 });
|
|
20781
21041
|
return await parseResults(results);
|
|
20782
21042
|
}
|
|
20783
21043
|
```
|