@bsv/wallet-toolbox-mobile 2.1.27 → 2.1.30
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/README.md +83 -0
- package/out/src/CWIStyleWalletManager.js +107 -41
- package/out/src/CWIStyleWalletManager.js.map +1 -1
- package/out/src/SimpleWalletManager.js +29 -0
- package/out/src/SimpleWalletManager.js.map +1 -1
- package/out/src/Wallet.js +84 -66
- package/out/src/Wallet.js.map +1 -1
- package/out/src/WalletAuthenticationManager.js +6 -3
- package/out/src/WalletAuthenticationManager.js.map +1 -1
- package/out/src/WalletLogger.js +6 -4
- package/out/src/WalletLogger.js.map +1 -1
- package/out/src/WalletPermissionsManager.d.ts.map +1 -1
- package/out/src/WalletPermissionsManager.js +158 -167
- package/out/src/WalletPermissionsManager.js.map +1 -1
- package/out/src/WalletSettingsManager.js +3 -0
- package/out/src/WalletSettingsManager.js.map +1 -1
- package/out/src/mockchain/MockChainMigrations.js +1 -1
- package/out/src/mockchain/MockChainMigrations.js.map +1 -1
- package/out/src/mockchain/MockChainStorage.js +1 -0
- package/out/src/mockchain/MockChainStorage.js.map +1 -1
- package/out/src/mockchain/MockChainTracker.js +2 -0
- package/out/src/mockchain/MockChainTracker.js.map +1 -1
- package/out/src/mockchain/MockMiner.js +2 -2
- package/out/src/mockchain/MockMiner.js.map +1 -1
- package/out/src/mockchain/MockServices.js +21 -25
- package/out/src/mockchain/MockServices.js.map +1 -1
- package/out/src/monitor/Monitor.d.ts.map +1 -1
- package/out/src/monitor/Monitor.js +57 -33
- package/out/src/monitor/Monitor.js.map +1 -1
- package/out/src/monitor/tasks/TaskArcSSE.js +10 -13
- package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
- package/out/src/monitor/tasks/TaskCheckForProofs.js +10 -11
- package/out/src/monitor/tasks/TaskCheckForProofs.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 +101 -12
- package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
- package/out/src/monitor/tasks/TaskClock.js +3 -1
- package/out/src/monitor/tasks/TaskClock.js.map +1 -1
- package/out/src/monitor/tasks/TaskFailAbandoned.js +2 -1
- package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
- package/out/src/monitor/tasks/TaskMineBlock.js +3 -2
- package/out/src/monitor/tasks/TaskMineBlock.js.map +1 -1
- package/out/src/monitor/tasks/TaskMonitorCallHistory.js +2 -1
- package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +1 -1
- package/out/src/monitor/tasks/TaskNewHeader.js +12 -1
- package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
- package/out/src/monitor/tasks/TaskPurge.js +7 -5
- package/out/src/monitor/tasks/TaskPurge.js.map +1 -1
- package/out/src/monitor/tasks/TaskReorg.js +4 -2
- package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +12 -9
- package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewProvenTxs.js +8 -3
- package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewStatus.js +7 -5
- package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -1
- package/out/src/monitor/tasks/TaskReviewUtxos.js +6 -2
- package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
- package/out/src/monitor/tasks/TaskSendWaiting.js +9 -2
- package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
- package/out/src/monitor/tasks/TaskUnFail.js +6 -5
- package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
- package/out/src/monitor/tasks/WalletMonitorTask.js +7 -4
- package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -1
- package/out/src/sdk/PrivilegedKeyManager.js +44 -27
- package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
- package/out/src/sdk/WERR_errors.js +23 -8
- package/out/src/sdk/WERR_errors.js.map +1 -1
- package/out/src/sdk/WalletError.js +7 -7
- package/out/src/sdk/WalletError.js.map +1 -1
- package/out/src/services/ServiceCollection.js +9 -2
- package/out/src/services/ServiceCollection.js.map +1 -1
- package/out/src/services/Services.js +58 -54
- package/out/src/services/Services.js.map +1 -1
- package/out/src/services/chaintracker/ChaintracksChainTracker.js +5 -2
- package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js +27 -21
- package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +4 -1
- package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +8 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +7 -0
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +5 -3
- package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +3 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +3 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +1 -2
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +8 -5
- package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +3 -1
- package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +12 -6
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +8 -7
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +15 -16
- package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js +1 -1
- package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +1 -1
- package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +19 -16
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +4 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +17 -4
- package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +21 -0
- package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +1 -3
- package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +7 -5
- package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +4 -6
- package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +1 -1
- package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +8 -8
- package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
- package/out/src/services/createDefaultWalletServicesOptions.js +8 -8
- package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
- package/out/src/services/providers/ARC.js +13 -5
- package/out/src/services/providers/ARC.js.map +1 -1
- package/out/src/services/providers/ArcSSEClient.js +9 -8
- package/out/src/services/providers/ArcSSEClient.js.map +1 -1
- package/out/src/services/providers/Bitails.js +6 -2
- package/out/src/services/providers/Bitails.js.map +1 -1
- package/out/src/services/providers/SdkWhatsOnChain.js +6 -2
- package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
- package/out/src/services/providers/WhatsOnChain.js +2 -1
- package/out/src/services/providers/WhatsOnChain.js.map +1 -1
- package/out/src/services/providers/getBeefForTxid.js +2 -1
- package/out/src/services/providers/getBeefForTxid.js.map +1 -1
- package/out/src/signer/WalletSigner.js +4 -1
- package/out/src/signer/WalletSigner.js.map +1 -1
- package/out/src/signer/methods/acquireDirectCertificate.js +1 -2
- package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
- package/out/src/signer/methods/buildSignableTransaction.js +1 -2
- package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
- package/out/src/signer/methods/completeSignedTransaction.js +4 -5
- package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
- package/out/src/signer/methods/createAction.js +9 -11
- package/out/src/signer/methods/createAction.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/signer/methods/signAction.js +5 -6
- package/out/src/signer/methods/signAction.js.map +1 -1
- package/out/src/storage/StorageProvider.d.ts +4 -1
- package/out/src/storage/StorageProvider.d.ts.map +1 -1
- package/out/src/storage/StorageProvider.js +122 -32
- package/out/src/storage/StorageProvider.js.map +1 -1
- package/out/src/storage/StorageReader.js +4 -2
- package/out/src/storage/StorageReader.js.map +1 -1
- package/out/src/storage/StorageSyncReader.js +2 -0
- package/out/src/storage/StorageSyncReader.js.map +1 -1
- package/out/src/storage/WalletStorageManager.js +47 -25
- package/out/src/storage/WalletStorageManager.js.map +1 -1
- package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
- package/out/src/storage/methods/ListActionsSpecOp.js +69 -6
- package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
- package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
- package/out/src/storage/methods/ListOutputsSpecOp.js +5 -2
- package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js +10 -12
- package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
- package/out/src/storage/methods/createAction.d.ts.map +1 -1
- package/out/src/storage/methods/createAction.js +111 -69
- package/out/src/storage/methods/createAction.js.map +1 -1
- package/out/src/storage/methods/generateChange.js +2 -3
- package/out/src/storage/methods/generateChange.js.map +1 -1
- package/out/src/storage/methods/getBeefForTransaction.js +2 -4
- package/out/src/storage/methods/getBeefForTransaction.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 +232 -27
- package/out/src/storage/methods/internalizeAction.js.map +1 -1
- package/out/src/storage/methods/processAction.d.ts.map +1 -1
- package/out/src/storage/methods/processAction.js +12 -11
- package/out/src/storage/methods/processAction.js.map +1 -1
- package/out/src/storage/portable/index.d.ts.map +1 -1
- package/out/src/storage/portable/index.js +171 -129
- package/out/src/storage/portable/index.js.map +1 -1
- package/out/src/storage/remoting/StorageClient.js +2 -3
- package/out/src/storage/remoting/StorageClient.js.map +1 -1
- package/out/src/storage/remoting/StorageClientBase.js +6 -3
- package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
- package/out/src/storage/schema/entities/EntityBase.js +1 -0
- package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
- package/out/src/storage/schema/entities/EntityOutputBasket.js +1 -1
- package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTx.js +12 -13
- package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
- package/out/src/storage/schema/entities/EntityProvenTxReq.js +7 -9
- package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
- package/out/src/storage/schema/entities/EntitySyncState.js +6 -3
- package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
- package/out/src/storage/schema/entities/MergeEntity.js +4 -0
- package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
- package/out/src/storage/storageProviderHelpers.js +2 -3
- package/out/src/storage/storageProviderHelpers.js.map +1 -1
- package/out/src/utility/ScriptTemplateBRC29.js +7 -6
- package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
- package/out/src/utility/brc114ActionTimeLabels.js +1 -1
- package/out/src/utility/brc114ActionTimeLabels.js.map +1 -1
- package/out/src/utility/identityUtils.js +2 -4
- package/out/src/utility/identityUtils.js.map +1 -1
- package/out/src/utility/utilityHelpers.js +2 -2
- package/out/src/utility/utilityHelpers.js.map +1 -1
- package/out/src/utility/utilityHelpers.noBuffer.js +4 -4
- package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
- package/out/src/wab-client/WABClient.js +1 -0
- package/out/src/wab-client/WABClient.js.map +1 -1
- package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js +1 -4
- package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js.map +1 -1
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js +1 -4
- package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +1 -1
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +1 -4
- package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +1 -1
- package/out/tsconfig.mobile.tsbuildinfo +1 -1
- package/package.json +3 -3
|
@@ -17,9 +17,15 @@ const utilityHelpers_1 = require("../utility/utilityHelpers");
|
|
|
17
17
|
const WalletError_1 = require("../sdk/WalletError");
|
|
18
18
|
const utilityHelpers_noBuffer_1 = require("../utility/utilityHelpers.noBuffer");
|
|
19
19
|
class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
20
|
+
isDirty = false;
|
|
21
|
+
_services;
|
|
22
|
+
feeModel;
|
|
23
|
+
commissionSatoshis;
|
|
24
|
+
commissionPubKeyHex;
|
|
25
|
+
maxRecursionDepth;
|
|
20
26
|
static defaultOptions() {
|
|
21
27
|
const opts = {
|
|
22
|
-
feeModel: { model: 'sat/kb', value:
|
|
28
|
+
feeModel: { model: 'sat/kb', value: 100 },
|
|
23
29
|
commissionSatoshis: 0,
|
|
24
30
|
commissionPubKeyHex: undefined
|
|
25
31
|
};
|
|
@@ -34,7 +40,6 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
34
40
|
}
|
|
35
41
|
constructor(options) {
|
|
36
42
|
super(options);
|
|
37
|
-
this.isDirty = false;
|
|
38
43
|
this.feeModel = options.feeModel;
|
|
39
44
|
this.commissionPubKeyHex = options.commissionPubKeyHex;
|
|
40
45
|
this.commissionSatoshis = options.commissionSatoshis;
|
|
@@ -44,7 +49,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
44
49
|
const byId = {};
|
|
45
50
|
for (const outputId of outputIds) {
|
|
46
51
|
const o = (0, utilityHelpers_1.verifyOneOrNone)(await this.findOutputs({ partial: { outputId }, trx }));
|
|
47
|
-
if (
|
|
52
|
+
if (o?.outputId !== undefined)
|
|
48
53
|
byId[o.outputId] = o;
|
|
49
54
|
}
|
|
50
55
|
return byId;
|
|
@@ -59,7 +64,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
59
64
|
const byOutpoint = {};
|
|
60
65
|
for (const { txid, vout } of outpoints) {
|
|
61
66
|
const o = (0, utilityHelpers_1.verifyOneOrNone)(await this.findOutputs({ partial: { userId, txid, vout }, trx }));
|
|
62
|
-
if (
|
|
67
|
+
if (o?.txid !== undefined && o.vout !== undefined)
|
|
63
68
|
byOutpoint[`${o.txid}.${o.vout}`] = o;
|
|
64
69
|
}
|
|
65
70
|
return byOutpoint;
|
|
@@ -86,7 +91,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
86
91
|
noScript: true,
|
|
87
92
|
trx
|
|
88
93
|
});
|
|
89
|
-
return rows.reduce((a, r) =>
|
|
94
|
+
return rows.filter(r => r.spentBy == null).reduce((a, r) => a + (r.satoshis ?? 0), 0);
|
|
90
95
|
}
|
|
91
96
|
async recentlyActiveUsers(limit = 50, trx) {
|
|
92
97
|
const outputs = await this.findOutputs({
|
|
@@ -148,11 +153,80 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
148
153
|
if ((tx == null) || !tx.isOutgoing || unAbortableStatus.findIndex(s => s === tx.status) > -1) {
|
|
149
154
|
throw new WERR_errors_1.WERR_INVALID_PARAMETER('reference', 'an inprocess, outgoing action that has not been signed and shared to the network.');
|
|
150
155
|
}
|
|
156
|
+
// Chain-status protection for signed nosend txs.
|
|
157
|
+
//
|
|
158
|
+
// Background: a nosend tx (created via createAction({noSend:true}))
|
|
159
|
+
// can be externally broadcast by the caller and reach 'mined' or
|
|
160
|
+
// mempool-'known' status before any internalizeAction or Monitor
|
|
161
|
+
// cycle has retired its 'nosend' status in storage. If abortAction
|
|
162
|
+
// is invoked on it in that window, the destructive transitions
|
|
163
|
+
// below (transactions.status='failed' + proven_tx_reqs.status='invalid')
|
|
164
|
+
// orphan every output the tx produced — including auto-fund change
|
|
165
|
+
// outputs the wallet itself emitted — because listOutputs filters
|
|
166
|
+
// them out of the spendable set on parent-tx 'failed' status.
|
|
167
|
+
//
|
|
168
|
+
// Protection: if the tx has a txid AND status is 'nosend', ask
|
|
169
|
+
// the network whether it already knows about the tx before
|
|
170
|
+
// invalidating. getStatusForTxids returns 'mined' | 'known' |
|
|
171
|
+
// 'unknown' per StatusForTxidResult (WalletServices.interfaces.ts).
|
|
172
|
+
// Refuse the abort for 'mined' OR 'known' — a tx that's broadcast
|
|
173
|
+
// and propagating in mempool returns 'known' (depth===0) and
|
|
174
|
+
// protecting it avoids orphaning during the propagation window.
|
|
175
|
+
//
|
|
176
|
+
// Service-unreachable handling: proceed with abort. Refusal is
|
|
177
|
+
// reserved for positive on-chain confirmation. When the network
|
|
178
|
+
// confirmation pathway is itself unavailable (services throw or
|
|
179
|
+
// gracefully return r.status !== 'success'), confirmation is not
|
|
180
|
+
// possible — and per the BRC-100 contract callers retain the
|
|
181
|
+
// ability to abort offline. The fallback writes a forensic
|
|
182
|
+
// history note ('abortAction-offline-fallback') so an operator
|
|
183
|
+
// can grep for aborts that proceeded under uncertainty. This
|
|
184
|
+
// hole can never be 100% closed against externally-broadcast
|
|
185
|
+
// chain-confirmed txs while offline; the audit trail makes it
|
|
186
|
+
// recoverable.
|
|
187
|
+
let serviceUnreachable = false;
|
|
188
|
+
if (tx.txid != null && tx.txid !== '' && tx.status === 'nosend') {
|
|
189
|
+
const services = this.getServices();
|
|
190
|
+
let chainStatus;
|
|
191
|
+
try {
|
|
192
|
+
const r = await services.getStatusForTxids([tx.txid]);
|
|
193
|
+
if (r.status !== 'success') {
|
|
194
|
+
serviceUnreachable = true;
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
chainStatus = r.results.find(x => x.txid === tx.txid)?.status;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
serviceUnreachable = true;
|
|
202
|
+
}
|
|
203
|
+
if (chainStatus === 'mined' || chainStatus === 'known') {
|
|
204
|
+
const req = await entities_1.EntityProvenTxReq.fromStorageTxid(this, tx.txid, trx);
|
|
205
|
+
if (req != null) {
|
|
206
|
+
req.addHistoryNote({
|
|
207
|
+
what: 'abortAction-skipped-onchain',
|
|
208
|
+
reference: args.reference,
|
|
209
|
+
chainStatus
|
|
210
|
+
});
|
|
211
|
+
await req.updateStorageDynamicProperties(this, trx);
|
|
212
|
+
}
|
|
213
|
+
// Surface the refusal via a sentinel so the surrounding
|
|
214
|
+
// transaction commits the history note BEFORE returning
|
|
215
|
+
// the aborted:false result. Returning directly from inside
|
|
216
|
+
// the transaction would still work, but the sentinel keeps
|
|
217
|
+
// the audit-write / result-shape decision on the same
|
|
218
|
+
// commit-then-return path that existed when this surface
|
|
219
|
+
// threw, minimizing diff churn.
|
|
220
|
+
return { __abortAction: 'skipped-onchain', chainStatus };
|
|
221
|
+
}
|
|
222
|
+
}
|
|
151
223
|
await this.updateTransactionStatus('failed', tx.transactionId, userId, reference, trx);
|
|
152
224
|
if (tx.txid != null && tx.txid !== '') {
|
|
153
225
|
const req = await entities_1.EntityProvenTxReq.fromStorageTxid(this, tx.txid, trx);
|
|
154
226
|
if (req != null) {
|
|
155
|
-
req.addHistoryNote(
|
|
227
|
+
req.addHistoryNote(serviceUnreachable
|
|
228
|
+
? { what: 'abortAction-offline-fallback', reference: args.reference }
|
|
229
|
+
: { what: 'abortAction', reference: args.reference });
|
|
156
230
|
req.status = 'invalid';
|
|
157
231
|
await req.updateStorageDynamicProperties(this, trx);
|
|
158
232
|
}
|
|
@@ -162,6 +236,14 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
162
236
|
};
|
|
163
237
|
return r;
|
|
164
238
|
});
|
|
239
|
+
if ('__abortAction' in r) {
|
|
240
|
+
// Tone Engel review feedback (PR #122 comment 4444566147 item 3):
|
|
241
|
+
// do not throw on chain-confirmed refusal — surface it via the
|
|
242
|
+
// return value so callers can branch on it. Refusal is positive
|
|
243
|
+
// chain confirmation only; service-unreachable proceeds with
|
|
244
|
+
// abort and returns aborted:true with an audit-trail note.
|
|
245
|
+
return { aborted: false };
|
|
246
|
+
}
|
|
165
247
|
return r;
|
|
166
248
|
}
|
|
167
249
|
async internalizeAction(auth, args) {
|
|
@@ -280,10 +362,31 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
280
362
|
}
|
|
281
363
|
}, trx);
|
|
282
364
|
}
|
|
365
|
+
async releaseInputsAllocatedToFailedTransaction(tx, trx) {
|
|
366
|
+
const t = new entities_1.EntityTransaction(tx);
|
|
367
|
+
const inputs = await t.getInputs(this, trx);
|
|
368
|
+
for (const input of inputs) {
|
|
369
|
+
// input is a prior output belonging to userId that references this transaction either by `spentBy`
|
|
370
|
+
// or by txid and vout.
|
|
371
|
+
await this.updateOutput((0, utilityHelpers_1.verifyId)(input.outputId), { spendable: true, spentBy: undefined }, trx);
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
async markFailedTransactionOutputsNotSpendable(tx, trx) {
|
|
375
|
+
const outputs = await this.findOutputs({
|
|
376
|
+
partial: { transactionId: (0, utilityHelpers_1.verifyId)(tx.transactionId) },
|
|
377
|
+
trx
|
|
378
|
+
});
|
|
379
|
+
for (const output of outputs) {
|
|
380
|
+
if (!output.spendable && output.spentBy == null)
|
|
381
|
+
continue;
|
|
382
|
+
await this.updateOutput((0, utilityHelpers_1.verifyId)(output.outputId), { spendable: false, spentBy: undefined }, trx);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
283
385
|
/**
|
|
284
386
|
* For all `status` values besides 'failed', just updates the transaction records status property.
|
|
285
387
|
*
|
|
286
|
-
* For 'status' of 'failed', attempts to make outputs previously allocated as inputs to this transaction usable again
|
|
388
|
+
* For 'status' of 'failed', attempts to make outputs previously allocated as inputs to this transaction usable again
|
|
389
|
+
* and makes outputs generated by this transaction non-spendable.
|
|
287
390
|
*
|
|
288
391
|
* @param status
|
|
289
392
|
* @param transactionId
|
|
@@ -317,17 +420,8 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
317
420
|
}
|
|
318
421
|
switch (status) {
|
|
319
422
|
case 'failed':
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
// Only clear input's spentBy and reset spendable = true if it references this transaction
|
|
323
|
-
const t = new entities_1.EntityTransaction(tx);
|
|
324
|
-
const inputs = await t.getInputs(this, trx);
|
|
325
|
-
for (const input of inputs) {
|
|
326
|
-
// input is a prior output belonging to userId that reference this transaction either by `spentBy`
|
|
327
|
-
// or by txid and vout.
|
|
328
|
-
await this.updateOutput((0, utilityHelpers_1.verifyId)(input.outputId), { spendable: true, spentBy: undefined }, trx);
|
|
329
|
-
}
|
|
330
|
-
}
|
|
423
|
+
await this.releaseInputsAllocatedToFailedTransaction(tx, trx);
|
|
424
|
+
await this.markFailedTransactionOutputsNotSpendable(tx, trx);
|
|
331
425
|
break;
|
|
332
426
|
case 'nosend':
|
|
333
427
|
case 'unsigned':
|
|
@@ -393,7 +487,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
393
487
|
const proven = r.proven;
|
|
394
488
|
if (proven == null)
|
|
395
489
|
return undefined;
|
|
396
|
-
if ((requiredLevels
|
|
490
|
+
if ((requiredLevels ?? 0) > 0) {
|
|
397
491
|
// Need more levels — caller should proceed via rawTx path
|
|
398
492
|
r.rawTx = proven.rawTx;
|
|
399
493
|
return undefined;
|
|
@@ -421,7 +515,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
421
515
|
return beef;
|
|
422
516
|
}
|
|
423
517
|
async getValidBeefForTxid(txid, mergeToBeef, trustSelf, knownTxids, trx, requiredLevels, chainTracker, skipInvalidProofs) {
|
|
424
|
-
const beef = mergeToBeef
|
|
518
|
+
const beef = mergeToBeef ?? new sdk_1.Beef();
|
|
425
519
|
const r = await this.getProvenOrRawTx(txid, trx);
|
|
426
520
|
// --- proven-tx path ---
|
|
427
521
|
if (r.proven != null) {
|
|
@@ -439,7 +533,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
439
533
|
beef.mergeRawTx(r.rawTx);
|
|
440
534
|
if (r.inputBEEF != null)
|
|
441
535
|
beef.mergeBeef(r.inputBEEF);
|
|
442
|
-
if ((requiredLevels
|
|
536
|
+
if ((requiredLevels ?? 0) > 0)
|
|
443
537
|
requiredLevels = requiredLevels - 1;
|
|
444
538
|
await (0, storageProviderHelpers_1.mergeInputBeefs)(r.rawTx, beef, trustSelf, knownTxids, trx, requiredLevels, async (sourceTXID, beef, trustSelf, knownTxids, trx, requiredLevels) => {
|
|
445
539
|
await this.getValidBeefForKnownTxid(sourceTXID, beef, trustSelf, knownTxids, trx, requiredLevels);
|
|
@@ -470,7 +564,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
470
564
|
async relinquishOutput(auth, args) {
|
|
471
565
|
const vargs = sdk_1.Validation.validateRelinquishOutputArgs(args);
|
|
472
566
|
const { txid, vout } = sdk_1.Validation.parseWalletOutpoint(vargs.output);
|
|
473
|
-
const output = (0, utilityHelpers_1.verifyOne)(await this.findOutputs({ partial: { txid, vout } }));
|
|
567
|
+
const output = (0, utilityHelpers_1.verifyOne)(await this.findOutputs({ partial: { userId: auth.userId, txid, vout } }));
|
|
474
568
|
return await this.updateOutput(output.outputId, { basketId: undefined });
|
|
475
569
|
}
|
|
476
570
|
async processSyncChunk(args, chunk) {
|
|
@@ -498,7 +592,6 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
498
592
|
* Alterations of "typically" to handle:
|
|
499
593
|
*/
|
|
500
594
|
async updateProvenTxReqWithNewProvenTx(args) {
|
|
501
|
-
var _a;
|
|
502
595
|
const req = await entities_1.EntityProvenTxReq.fromStorageId(this, args.provenTxReqId);
|
|
503
596
|
let proven;
|
|
504
597
|
if (req.provenTxId != null && req.provenTxId > 0) {
|
|
@@ -530,7 +623,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
530
623
|
return { proven, isNew };
|
|
531
624
|
}));
|
|
532
625
|
if (isNew) {
|
|
533
|
-
await (0, storageProviderHelpers_1.notifyTransactionsOfProof)(
|
|
626
|
+
await (0, storageProviderHelpers_1.notifyTransactionsOfProof)(req.notify.transactionIds ?? [], proven.provenTxId, note => req.addHistoryNote(note), async () => { await req.updateStorageDynamicProperties(this); }, async (id, update) => { await this.updateTransaction(id, update); });
|
|
534
627
|
}
|
|
535
628
|
}
|
|
536
629
|
const r = {
|
|
@@ -567,15 +660,13 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
567
660
|
return { invalidSpendableOutputs };
|
|
568
661
|
}
|
|
569
662
|
async checkOutputIsUtxo(o, services) {
|
|
570
|
-
var _a, _b;
|
|
571
663
|
if ((o.lockingScript == null) || o.lockingScript.length === 0)
|
|
572
664
|
return false;
|
|
573
665
|
const hash = services.hashOutputScript((0, utilityHelpers_noBuffer_1.asString)(o.lockingScript));
|
|
574
|
-
const r = await services.getUtxoStatus(hash, undefined, `${
|
|
666
|
+
const r = await services.getUtxoStatus(hash, undefined, `${o.txid ?? ''}.${o.vout ?? ''}`);
|
|
575
667
|
return r.isUtxo === true;
|
|
576
668
|
}
|
|
577
669
|
async updateProvenTxReqDynamics(id, update, trx) {
|
|
578
|
-
var _a, _b;
|
|
579
670
|
const partial = {};
|
|
580
671
|
if (update.updated_at != null)
|
|
581
672
|
partial.updated_at = update.updated_at;
|
|
@@ -594,9 +685,9 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
594
685
|
if (update.notify != null && update.notify !== '')
|
|
595
686
|
partial.notify = update.notify;
|
|
596
687
|
if (update.wasBroadcast !== undefined)
|
|
597
|
-
partial.wasBroadcast =
|
|
688
|
+
partial.wasBroadcast = update.wasBroadcast ?? false;
|
|
598
689
|
if (Number.isInteger(update.rebroadcastAttempts))
|
|
599
|
-
partial.rebroadcastAttempts =
|
|
690
|
+
partial.rebroadcastAttempts = update.rebroadcastAttempts ?? 0;
|
|
600
691
|
return await this.updateProvenTxReq(id, partial, trx);
|
|
601
692
|
}
|
|
602
693
|
async extendOutput(o, includeBasket = false, includeTags = false, trx) {
|
|
@@ -609,12 +700,11 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
609
700
|
return o;
|
|
610
701
|
}
|
|
611
702
|
async validateOutputScript(o, trx) {
|
|
612
|
-
var _a;
|
|
613
703
|
// without offset and length values return what we have (make no changes)
|
|
614
704
|
if (o.scriptLength == null || o.scriptLength === 0 || o.scriptOffset == null || o.scriptOffset === 0 || o.txid == null || o.txid === '')
|
|
615
705
|
return;
|
|
616
706
|
// if there is an outputScript and its length is the expected length return what we have.
|
|
617
|
-
if (
|
|
707
|
+
if (o.lockingScript?.length === o.scriptLength)
|
|
618
708
|
return;
|
|
619
709
|
// outputScript is missing or has incorrect length...
|
|
620
710
|
const script = await this.getRawTxOfKnownValidTransaction(o.txid, o.scriptOffset, o.scriptLength, trx);
|
|
@@ -627,7 +717,7 @@ exports.StorageProvider = StorageProvider;
|
|
|
627
717
|
function validateStorageFeeModel(v) {
|
|
628
718
|
const r = {
|
|
629
719
|
model: 'sat/kb',
|
|
630
|
-
value:
|
|
720
|
+
value: 100
|
|
631
721
|
};
|
|
632
722
|
if (typeof v === 'object') {
|
|
633
723
|
if (v.model !== 'sat/kb')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageProvider.js","sourceRoot":"","sources":["../../../../src/storage/StorageProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StorageProvider.js","sourceRoot":"","sources":["../../../../src/storage/StorageProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,9 +50,11 @@ const getSyncChunk_1 = require("./methods/getSyncChunk");
|
|
|
50
50
|
* As such there are no user specific authenticated access checks implied in the implementation of any of these methods.
|
|
51
51
|
*/
|
|
52
52
|
class StorageReader {
|
|
53
|
+
chain;
|
|
54
|
+
_settings;
|
|
55
|
+
whenLastAccess;
|
|
53
56
|
get dbtype() {
|
|
54
|
-
|
|
55
|
-
return (_a = this._settings) === null || _a === void 0 ? void 0 : _a.dbtype;
|
|
57
|
+
return this._settings?.dbtype;
|
|
56
58
|
}
|
|
57
59
|
constructor(options) {
|
|
58
60
|
this.chain = options.chain;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageReader.js","sourceRoot":"","sources":["../../../../src/storage/StorageReader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,kDAAmC;AACnC,8DAAoG;AACpG,yDAAqD;AAErD;;;;;;;;;;;GAWG;AACH,MAAsB,aAAa;
|
|
1
|
+
{"version":3,"file":"StorageReader.js","sourceRoot":"","sources":["../../../../src/storage/StorageReader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageSyncReader.js","sourceRoot":"","sources":["../../../../src/storage/StorageSyncReader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAmC;AAInC;;;;;GAKG;AACH,MAAa,iBAAiB;
|
|
1
|
+
{"version":3,"file":"StorageSyncReader.js","sourceRoot":"","sources":["../../../../src/storage/StorageSyncReader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAmC;AAInC;;;;;GAKG;AACH,MAAa,iBAAiB;IAEnB;IACA;IAFT,YACS,IAAgB,EAChB,OAAsB;QADtB,SAAI,GAAJ,IAAI,CAAY;QAChB,YAAO,GAAP,OAAO,CAAe;IAC5B,CAAC;IAEJ,KAAK,CAAC,aAAa;QACjB,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAA;QAClC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;YAC5E,IAAI,IAAI,IAAI,IAAI;gBAAE,MAAM,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAA;YACnD,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;QAChC,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAA;IACnC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,YAAY,CAAE,IAA8B;QAChD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI;YAAE,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QACxD,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,MAAM,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAA;QACjF,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IAC9C,CAAC;CACF;AAzBD,8CAyBC"}
|
|
@@ -38,6 +38,11 @@ const sdk_1 = require("@bsv/sdk");
|
|
|
38
38
|
const entities_1 = require("../storage/schema/entities");
|
|
39
39
|
const sdk = __importStar(require("../sdk"));
|
|
40
40
|
class ManagedStorage {
|
|
41
|
+
storage;
|
|
42
|
+
isAvailable;
|
|
43
|
+
isStorageProvider;
|
|
44
|
+
settings;
|
|
45
|
+
user;
|
|
41
46
|
constructor(storage) {
|
|
42
47
|
this.storage = storage;
|
|
43
48
|
this.isStorageProvider = storage.isStorageProvider();
|
|
@@ -60,6 +65,34 @@ class ManagedStorage {
|
|
|
60
65
|
* for these services.
|
|
61
66
|
*/
|
|
62
67
|
class WalletStorageManager {
|
|
68
|
+
/**
|
|
69
|
+
* All configured stores including current active, backups, and conflicting actives.
|
|
70
|
+
*/
|
|
71
|
+
_stores = [];
|
|
72
|
+
/**
|
|
73
|
+
* True if makeAvailable has been run and access to managed stores (active) is allowed
|
|
74
|
+
*/
|
|
75
|
+
_isAvailable = false;
|
|
76
|
+
/**
|
|
77
|
+
* The current active store which is only enabled if the store's user record activeStorage property matches its settings record storageIdentityKey property
|
|
78
|
+
*/
|
|
79
|
+
_active;
|
|
80
|
+
/**
|
|
81
|
+
* Stores to which state is pushed by updateBackups.
|
|
82
|
+
*/
|
|
83
|
+
_backups;
|
|
84
|
+
/**
|
|
85
|
+
* Stores whose user record activeStorage property disagrees with the active store's user record activeStorage property.
|
|
86
|
+
*/
|
|
87
|
+
_conflictingActives;
|
|
88
|
+
/**
|
|
89
|
+
* identityKey is always valid, userId and isActive are valid only if _isAvailable
|
|
90
|
+
*/
|
|
91
|
+
_authId;
|
|
92
|
+
/**
|
|
93
|
+
* Configured services if any. If valid, shared with stores (which may ignore it).
|
|
94
|
+
*/
|
|
95
|
+
_services;
|
|
63
96
|
/**
|
|
64
97
|
* Creates a new WalletStorageManager with the given identityKey and optional active and backup storage providers.
|
|
65
98
|
*
|
|
@@ -68,19 +101,7 @@ class WalletStorageManager {
|
|
|
68
101
|
* @param backups An optional array of backup storage providers. If not provided, no backups will be set.
|
|
69
102
|
*/
|
|
70
103
|
constructor(identityKey, active, backups) {
|
|
71
|
-
|
|
72
|
-
* All configured stores including current active, backups, and conflicting actives.
|
|
73
|
-
*/
|
|
74
|
-
this._stores = [];
|
|
75
|
-
/**
|
|
76
|
-
* True if makeAvailable has been run and access to managed stores (active) is allowed
|
|
77
|
-
*/
|
|
78
|
-
this._isAvailable = false;
|
|
79
|
-
this.readerLocks = [];
|
|
80
|
-
this.writerLocks = [];
|
|
81
|
-
this.syncLocks = [];
|
|
82
|
-
this.spLocks = [];
|
|
83
|
-
const stores = [...(backups !== null && backups !== void 0 ? backups : [])];
|
|
104
|
+
const stores = [...(backups ?? [])];
|
|
84
105
|
if (active != null)
|
|
85
106
|
stores.unshift(active);
|
|
86
107
|
this._stores = stores.map(s => new ManagedStorage(s));
|
|
@@ -101,10 +122,9 @@ class WalletStorageManager {
|
|
|
101
122
|
* In addition, if there are conflicting `activeStorage` selections among backup storage providers then the active remains disabled.
|
|
102
123
|
*/
|
|
103
124
|
get isActiveEnabled() {
|
|
104
|
-
var _a;
|
|
105
125
|
return (this._active !== undefined &&
|
|
106
126
|
this._active.settings.storageIdentityKey === this._active.user.activeStorage &&
|
|
107
|
-
|
|
127
|
+
this._conflictingActives?.length === 0);
|
|
108
128
|
}
|
|
109
129
|
/**
|
|
110
130
|
* @returns true if at least one WalletStorageProvider has been added.
|
|
@@ -148,7 +168,6 @@ class WalletStorageManager {
|
|
|
148
168
|
}
|
|
149
169
|
}
|
|
150
170
|
async makeAvailable() {
|
|
151
|
-
var _a, _b;
|
|
152
171
|
if (this._isAvailable)
|
|
153
172
|
return this._active.settings;
|
|
154
173
|
this._active = undefined;
|
|
@@ -163,7 +182,7 @@ class WalletStorageManager {
|
|
|
163
182
|
this.selectActiveFromStore(store, backups);
|
|
164
183
|
}
|
|
165
184
|
// Partition backups into proper backups vs conflicting actives.
|
|
166
|
-
const si =
|
|
185
|
+
const si = this._active.settings?.storageIdentityKey;
|
|
167
186
|
for (const store of backups) {
|
|
168
187
|
if (store.user.activeStorage !== si)
|
|
169
188
|
this._conflictingActives.push(store);
|
|
@@ -171,7 +190,7 @@ class WalletStorageManager {
|
|
|
171
190
|
this._backups.push(store);
|
|
172
191
|
}
|
|
173
192
|
this._isAvailable = true;
|
|
174
|
-
this._authId.userId =
|
|
193
|
+
this._authId.userId = this._active.user?.userId;
|
|
175
194
|
this._authId.isActive = this.isActiveEnabled;
|
|
176
195
|
return this._active.settings;
|
|
177
196
|
}
|
|
@@ -218,6 +237,10 @@ class WalletStorageManager {
|
|
|
218
237
|
this.verifyActive();
|
|
219
238
|
return this._stores.map(b => b.settings.storageIdentityKey);
|
|
220
239
|
}
|
|
240
|
+
readerLocks = [];
|
|
241
|
+
writerLocks = [];
|
|
242
|
+
syncLocks = [];
|
|
243
|
+
spLocks = [];
|
|
221
244
|
async getActiveLock(lockQueue) {
|
|
222
245
|
if (!this.isAvailable())
|
|
223
246
|
await this.makeAvailable();
|
|
@@ -311,7 +334,7 @@ class WalletStorageManager {
|
|
|
311
334
|
*/
|
|
312
335
|
async runAsSync(sync, activeSync) {
|
|
313
336
|
try {
|
|
314
|
-
const active = activeSync
|
|
337
|
+
const active = activeSync ?? (await this.getActiveForSync());
|
|
315
338
|
const r = await sync(active);
|
|
316
339
|
return r;
|
|
317
340
|
}
|
|
@@ -643,7 +666,7 @@ class WalletStorageManager {
|
|
|
643
666
|
return { inserts, updates, log };
|
|
644
667
|
}
|
|
645
668
|
async syncToWriter(auth, writer, activeSync, log = '', progLog) {
|
|
646
|
-
progLog
|
|
669
|
+
progLog ||= s => s;
|
|
647
670
|
const identityKey = auth.identityKey;
|
|
648
671
|
const writerSettings = await writer.makeAvailable();
|
|
649
672
|
let inserts = 0;
|
|
@@ -672,7 +695,7 @@ class WalletStorageManager {
|
|
|
672
695
|
return { inserts, updates, log };
|
|
673
696
|
}
|
|
674
697
|
async updateBackups(activeSync, progLog) {
|
|
675
|
-
progLog
|
|
698
|
+
progLog ||= s => s;
|
|
676
699
|
const auth = await this.getAuth(true);
|
|
677
700
|
return await this.runAsSync(async (sync) => {
|
|
678
701
|
let log = progLog(`BACKUP CURRENT ACTIVE TO ${this._backups.length} STORES\n`);
|
|
@@ -691,7 +714,7 @@ class WalletStorageManager {
|
|
|
691
714
|
* @param storageIdentityKey of current backup storage provider that is to become the new active provider.
|
|
692
715
|
*/
|
|
693
716
|
async setActive(storageIdentityKey, progLog) {
|
|
694
|
-
progLog
|
|
717
|
+
progLog ||= s => s;
|
|
695
718
|
if (!this.isAvailable())
|
|
696
719
|
await this.makeAvailable();
|
|
697
720
|
// Confirm a valid storageIdentityKey: must match one of the _stores.
|
|
@@ -760,7 +783,6 @@ class WalletStorageManager {
|
|
|
760
783
|
return undefined;
|
|
761
784
|
}
|
|
762
785
|
getStores() {
|
|
763
|
-
var _a, _b;
|
|
764
786
|
const stores = [];
|
|
765
787
|
if (this._active != null) {
|
|
766
788
|
stores.push({
|
|
@@ -775,7 +797,7 @@ class WalletStorageManager {
|
|
|
775
797
|
endpointURL: this.getStoreEndpointURL(this._active)
|
|
776
798
|
});
|
|
777
799
|
}
|
|
778
|
-
for (const store of
|
|
800
|
+
for (const store of this._conflictingActives ?? []) {
|
|
779
801
|
stores.push({
|
|
780
802
|
isActive: true,
|
|
781
803
|
isEnabled: false,
|
|
@@ -788,7 +810,7 @@ class WalletStorageManager {
|
|
|
788
810
|
endpointURL: this.getStoreEndpointURL(store)
|
|
789
811
|
});
|
|
790
812
|
}
|
|
791
|
-
for (const store of
|
|
813
|
+
for (const store of this._backups ?? []) {
|
|
792
814
|
stores.push({
|
|
793
815
|
isActive: false,
|
|
794
816
|
isEnabled: false,
|