@bsv/wallet-toolbox-mobile 2.1.28 → 2.2.0
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/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.js +45 -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.js +22 -22
- 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/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 +47 -35
- 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.js +2 -2
- 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 +87 -59
- 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 +58 -1
- package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
- package/out/src/storage/methods/internalizeAction.js +138 -1
- 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.js +11 -15
- 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 +13 -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({
|
|
@@ -129,7 +134,6 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
129
134
|
let reference = args.reference;
|
|
130
135
|
let txid;
|
|
131
136
|
const r = await this.transaction(async (trx) => {
|
|
132
|
-
var _a;
|
|
133
137
|
let tx = (0, utilityHelpers_1.verifyOneOrNone)(await this.findTransactions({
|
|
134
138
|
partial: { reference, userId },
|
|
135
139
|
noRawTx: true,
|
|
@@ -181,7 +185,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
181
185
|
// chain-confirmed txs while offline; the audit trail makes it
|
|
182
186
|
// recoverable.
|
|
183
187
|
let serviceUnreachable = false;
|
|
184
|
-
if (tx.txid && tx.status === 'nosend') {
|
|
188
|
+
if (tx.txid != null && tx.txid !== '' && tx.status === 'nosend') {
|
|
185
189
|
const services = this.getServices();
|
|
186
190
|
let chainStatus;
|
|
187
191
|
try {
|
|
@@ -190,10 +194,10 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
190
194
|
serviceUnreachable = true;
|
|
191
195
|
}
|
|
192
196
|
else {
|
|
193
|
-
chainStatus =
|
|
197
|
+
chainStatus = r.results.find(x => x.txid === tx.txid)?.status;
|
|
194
198
|
}
|
|
195
199
|
}
|
|
196
|
-
catch
|
|
200
|
+
catch {
|
|
197
201
|
serviceUnreachable = true;
|
|
198
202
|
}
|
|
199
203
|
if (chainStatus === 'mined' || chainStatus === 'known') {
|
|
@@ -358,10 +362,31 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
358
362
|
}
|
|
359
363
|
}, trx);
|
|
360
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
|
+
}
|
|
361
385
|
/**
|
|
362
386
|
* For all `status` values besides 'failed', just updates the transaction records status property.
|
|
363
387
|
*
|
|
364
|
-
* 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.
|
|
365
390
|
*
|
|
366
391
|
* @param status
|
|
367
392
|
* @param transactionId
|
|
@@ -395,17 +420,8 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
395
420
|
}
|
|
396
421
|
switch (status) {
|
|
397
422
|
case 'failed':
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
// Only clear input's spentBy and reset spendable = true if it references this transaction
|
|
401
|
-
const t = new entities_1.EntityTransaction(tx);
|
|
402
|
-
const inputs = await t.getInputs(this, trx);
|
|
403
|
-
for (const input of inputs) {
|
|
404
|
-
// input is a prior output belonging to userId that reference this transaction either by `spentBy`
|
|
405
|
-
// or by txid and vout.
|
|
406
|
-
await this.updateOutput((0, utilityHelpers_1.verifyId)(input.outputId), { spendable: true, spentBy: undefined }, trx);
|
|
407
|
-
}
|
|
408
|
-
}
|
|
423
|
+
await this.releaseInputsAllocatedToFailedTransaction(tx, trx);
|
|
424
|
+
await this.markFailedTransactionOutputsNotSpendable(tx, trx);
|
|
409
425
|
break;
|
|
410
426
|
case 'nosend':
|
|
411
427
|
case 'unsigned':
|
|
@@ -471,7 +487,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
471
487
|
const proven = r.proven;
|
|
472
488
|
if (proven == null)
|
|
473
489
|
return undefined;
|
|
474
|
-
if ((requiredLevels
|
|
490
|
+
if ((requiredLevels ?? 0) > 0) {
|
|
475
491
|
// Need more levels — caller should proceed via rawTx path
|
|
476
492
|
r.rawTx = proven.rawTx;
|
|
477
493
|
return undefined;
|
|
@@ -499,7 +515,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
499
515
|
return beef;
|
|
500
516
|
}
|
|
501
517
|
async getValidBeefForTxid(txid, mergeToBeef, trustSelf, knownTxids, trx, requiredLevels, chainTracker, skipInvalidProofs) {
|
|
502
|
-
const beef = mergeToBeef
|
|
518
|
+
const beef = mergeToBeef ?? new sdk_1.Beef();
|
|
503
519
|
const r = await this.getProvenOrRawTx(txid, trx);
|
|
504
520
|
// --- proven-tx path ---
|
|
505
521
|
if (r.proven != null) {
|
|
@@ -517,7 +533,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
517
533
|
beef.mergeRawTx(r.rawTx);
|
|
518
534
|
if (r.inputBEEF != null)
|
|
519
535
|
beef.mergeBeef(r.inputBEEF);
|
|
520
|
-
if ((requiredLevels
|
|
536
|
+
if ((requiredLevels ?? 0) > 0)
|
|
521
537
|
requiredLevels = requiredLevels - 1;
|
|
522
538
|
await (0, storageProviderHelpers_1.mergeInputBeefs)(r.rawTx, beef, trustSelf, knownTxids, trx, requiredLevels, async (sourceTXID, beef, trustSelf, knownTxids, trx, requiredLevels) => {
|
|
523
539
|
await this.getValidBeefForKnownTxid(sourceTXID, beef, trustSelf, knownTxids, trx, requiredLevels);
|
|
@@ -548,7 +564,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
548
564
|
async relinquishOutput(auth, args) {
|
|
549
565
|
const vargs = sdk_1.Validation.validateRelinquishOutputArgs(args);
|
|
550
566
|
const { txid, vout } = sdk_1.Validation.parseWalletOutpoint(vargs.output);
|
|
551
|
-
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 } }));
|
|
552
568
|
return await this.updateOutput(output.outputId, { basketId: undefined });
|
|
553
569
|
}
|
|
554
570
|
async processSyncChunk(args, chunk) {
|
|
@@ -576,7 +592,6 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
576
592
|
* Alterations of "typically" to handle:
|
|
577
593
|
*/
|
|
578
594
|
async updateProvenTxReqWithNewProvenTx(args) {
|
|
579
|
-
var _a;
|
|
580
595
|
const req = await entities_1.EntityProvenTxReq.fromStorageId(this, args.provenTxReqId);
|
|
581
596
|
let proven;
|
|
582
597
|
if (req.provenTxId != null && req.provenTxId > 0) {
|
|
@@ -608,7 +623,7 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
608
623
|
return { proven, isNew };
|
|
609
624
|
}));
|
|
610
625
|
if (isNew) {
|
|
611
|
-
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); });
|
|
612
627
|
}
|
|
613
628
|
}
|
|
614
629
|
const r = {
|
|
@@ -645,15 +660,13 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
645
660
|
return { invalidSpendableOutputs };
|
|
646
661
|
}
|
|
647
662
|
async checkOutputIsUtxo(o, services) {
|
|
648
|
-
var _a, _b;
|
|
649
663
|
if ((o.lockingScript == null) || o.lockingScript.length === 0)
|
|
650
664
|
return false;
|
|
651
665
|
const hash = services.hashOutputScript((0, utilityHelpers_noBuffer_1.asString)(o.lockingScript));
|
|
652
|
-
const r = await services.getUtxoStatus(hash, undefined, `${
|
|
666
|
+
const r = await services.getUtxoStatus(hash, undefined, `${o.txid ?? ''}.${o.vout ?? ''}`);
|
|
653
667
|
return r.isUtxo === true;
|
|
654
668
|
}
|
|
655
669
|
async updateProvenTxReqDynamics(id, update, trx) {
|
|
656
|
-
var _a, _b;
|
|
657
670
|
const partial = {};
|
|
658
671
|
if (update.updated_at != null)
|
|
659
672
|
partial.updated_at = update.updated_at;
|
|
@@ -672,9 +685,9 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
672
685
|
if (update.notify != null && update.notify !== '')
|
|
673
686
|
partial.notify = update.notify;
|
|
674
687
|
if (update.wasBroadcast !== undefined)
|
|
675
|
-
partial.wasBroadcast =
|
|
688
|
+
partial.wasBroadcast = update.wasBroadcast ?? false;
|
|
676
689
|
if (Number.isInteger(update.rebroadcastAttempts))
|
|
677
|
-
partial.rebroadcastAttempts =
|
|
690
|
+
partial.rebroadcastAttempts = update.rebroadcastAttempts ?? 0;
|
|
678
691
|
return await this.updateProvenTxReq(id, partial, trx);
|
|
679
692
|
}
|
|
680
693
|
async extendOutput(o, includeBasket = false, includeTags = false, trx) {
|
|
@@ -687,12 +700,11 @@ class StorageProvider extends StorageReaderWriter_1.StorageReaderWriter {
|
|
|
687
700
|
return o;
|
|
688
701
|
}
|
|
689
702
|
async validateOutputScript(o, trx) {
|
|
690
|
-
var _a;
|
|
691
703
|
// without offset and length values return what we have (make no changes)
|
|
692
704
|
if (o.scriptLength == null || o.scriptLength === 0 || o.scriptOffset == null || o.scriptOffset === 0 || o.txid == null || o.txid === '')
|
|
693
705
|
return;
|
|
694
706
|
// if there is an outputScript and its length is the expected length return what we have.
|
|
695
|
-
if (
|
|
707
|
+
if (o.lockingScript?.length === o.scriptLength)
|
|
696
708
|
return;
|
|
697
709
|
// outputScript is missing or has incorrect length...
|
|
698
710
|
const script = await this.getRawTxOfKnownValidTransaction(o.txid, o.scriptOffset, o.scriptLength, trx);
|
|
@@ -705,7 +717,7 @@ exports.StorageProvider = StorageProvider;
|
|
|
705
717
|
function validateStorageFeeModel(v) {
|
|
706
718
|
const r = {
|
|
707
719
|
model: 'sat/kb',
|
|
708
|
-
value:
|
|
720
|
+
value: 100
|
|
709
721
|
};
|
|
710
722
|
if (typeof v === 'object') {
|
|
711
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,
|