@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.
Files changed (228) hide show
  1. package/README.md +83 -0
  2. package/out/src/CWIStyleWalletManager.js +107 -41
  3. package/out/src/CWIStyleWalletManager.js.map +1 -1
  4. package/out/src/SimpleWalletManager.js +29 -0
  5. package/out/src/SimpleWalletManager.js.map +1 -1
  6. package/out/src/Wallet.js +84 -66
  7. package/out/src/Wallet.js.map +1 -1
  8. package/out/src/WalletAuthenticationManager.js +6 -3
  9. package/out/src/WalletAuthenticationManager.js.map +1 -1
  10. package/out/src/WalletLogger.js +6 -4
  11. package/out/src/WalletLogger.js.map +1 -1
  12. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  13. package/out/src/WalletPermissionsManager.js +158 -167
  14. package/out/src/WalletPermissionsManager.js.map +1 -1
  15. package/out/src/WalletSettingsManager.js +3 -0
  16. package/out/src/WalletSettingsManager.js.map +1 -1
  17. package/out/src/mockchain/MockChainMigrations.js +1 -1
  18. package/out/src/mockchain/MockChainMigrations.js.map +1 -1
  19. package/out/src/mockchain/MockChainStorage.js +1 -0
  20. package/out/src/mockchain/MockChainStorage.js.map +1 -1
  21. package/out/src/mockchain/MockChainTracker.js +2 -0
  22. package/out/src/mockchain/MockChainTracker.js.map +1 -1
  23. package/out/src/mockchain/MockMiner.js +2 -2
  24. package/out/src/mockchain/MockMiner.js.map +1 -1
  25. package/out/src/mockchain/MockServices.js +21 -25
  26. package/out/src/mockchain/MockServices.js.map +1 -1
  27. package/out/src/monitor/Monitor.d.ts.map +1 -1
  28. package/out/src/monitor/Monitor.js +57 -33
  29. package/out/src/monitor/Monitor.js.map +1 -1
  30. package/out/src/monitor/tasks/TaskArcSSE.js +10 -13
  31. package/out/src/monitor/tasks/TaskArcSSE.js.map +1 -1
  32. package/out/src/monitor/tasks/TaskCheckForProofs.js +10 -11
  33. package/out/src/monitor/tasks/TaskCheckForProofs.js.map +1 -1
  34. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts +59 -1
  35. package/out/src/monitor/tasks/TaskCheckNoSends.d.ts.map +1 -1
  36. package/out/src/monitor/tasks/TaskCheckNoSends.js +101 -12
  37. package/out/src/monitor/tasks/TaskCheckNoSends.js.map +1 -1
  38. package/out/src/monitor/tasks/TaskClock.js +3 -1
  39. package/out/src/monitor/tasks/TaskClock.js.map +1 -1
  40. package/out/src/monitor/tasks/TaskFailAbandoned.js +2 -1
  41. package/out/src/monitor/tasks/TaskFailAbandoned.js.map +1 -1
  42. package/out/src/monitor/tasks/TaskMineBlock.js +3 -2
  43. package/out/src/monitor/tasks/TaskMineBlock.js.map +1 -1
  44. package/out/src/monitor/tasks/TaskMonitorCallHistory.js +2 -1
  45. package/out/src/monitor/tasks/TaskMonitorCallHistory.js.map +1 -1
  46. package/out/src/monitor/tasks/TaskNewHeader.js +12 -1
  47. package/out/src/monitor/tasks/TaskNewHeader.js.map +1 -1
  48. package/out/src/monitor/tasks/TaskPurge.js +7 -5
  49. package/out/src/monitor/tasks/TaskPurge.js.map +1 -1
  50. package/out/src/monitor/tasks/TaskReorg.js +4 -2
  51. package/out/src/monitor/tasks/TaskReorg.js.map +1 -1
  52. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js +12 -9
  53. package/out/src/monitor/tasks/TaskReviewDoubleSpends.js.map +1 -1
  54. package/out/src/monitor/tasks/TaskReviewProvenTxs.js +8 -3
  55. package/out/src/monitor/tasks/TaskReviewProvenTxs.js.map +1 -1
  56. package/out/src/monitor/tasks/TaskReviewStatus.js +7 -5
  57. package/out/src/monitor/tasks/TaskReviewStatus.js.map +1 -1
  58. package/out/src/monitor/tasks/TaskReviewUtxos.js +6 -2
  59. package/out/src/monitor/tasks/TaskReviewUtxos.js.map +1 -1
  60. package/out/src/monitor/tasks/TaskSendWaiting.js +9 -2
  61. package/out/src/monitor/tasks/TaskSendWaiting.js.map +1 -1
  62. package/out/src/monitor/tasks/TaskUnFail.js +6 -5
  63. package/out/src/monitor/tasks/TaskUnFail.js.map +1 -1
  64. package/out/src/monitor/tasks/WalletMonitorTask.js +7 -4
  65. package/out/src/monitor/tasks/WalletMonitorTask.js.map +1 -1
  66. package/out/src/sdk/PrivilegedKeyManager.js +44 -27
  67. package/out/src/sdk/PrivilegedKeyManager.js.map +1 -1
  68. package/out/src/sdk/WERR_errors.js +23 -8
  69. package/out/src/sdk/WERR_errors.js.map +1 -1
  70. package/out/src/sdk/WalletError.js +7 -7
  71. package/out/src/sdk/WalletError.js.map +1 -1
  72. package/out/src/services/ServiceCollection.js +9 -2
  73. package/out/src/services/ServiceCollection.js.map +1 -1
  74. package/out/src/services/Services.js +58 -54
  75. package/out/src/services/Services.js.map +1 -1
  76. package/out/src/services/chaintracker/ChaintracksChainTracker.js +5 -2
  77. package/out/src/services/chaintracker/ChaintracksChainTracker.js.map +1 -1
  78. package/out/src/services/chaintracker/chaintracks/Chaintracks.js +27 -21
  79. package/out/src/services/chaintracker/chaintracks/Chaintracks.js.map +1 -1
  80. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js +4 -1
  81. package/out/src/services/chaintracker/chaintracks/ChaintracksServiceClient.js.map +1 -1
  82. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js +8 -1
  83. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorBase.js.map +1 -1
  84. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js +7 -0
  85. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorCDN.js.map +1 -1
  86. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js +5 -3
  87. package/out/src/services/chaintracker/chaintracks/Ingest/BulkIngestorWhatsOnChainCdn.js.map +1 -1
  88. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js +3 -1
  89. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorBase.js.map +1 -1
  90. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js +3 -1
  91. package/out/src/services/chaintracker/chaintracks/Ingest/LiveIngestorWhatsOnChainPoll.js.map +1 -1
  92. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js +1 -2
  93. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainIngestorWs.js.map +1 -1
  94. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js +8 -5
  95. package/out/src/services/chaintracker/chaintracks/Ingest/WhatsOnChainServices.js.map +1 -1
  96. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js +3 -1
  97. package/out/src/services/chaintracker/chaintracks/Storage/BulkStorageBase.js.map +1 -1
  98. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js +12 -6
  99. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageBase.js.map +1 -1
  100. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js +8 -7
  101. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageIdb.js.map +1 -1
  102. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js +15 -16
  103. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageNoDb.js.map +1 -1
  104. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js +1 -1
  105. package/out/src/services/chaintracker/chaintracks/createDefaultNoDbChaintracksOptions.js.map +1 -1
  106. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js +1 -1
  107. package/out/src/services/chaintracker/chaintracks/createNoDbChaintracks.js.map +1 -1
  108. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js +19 -16
  109. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataManager.js.map +1 -1
  110. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js +4 -0
  111. package/out/src/services/chaintracker/chaintracks/util/BulkFileDataReader.js.map +1 -1
  112. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js +17 -4
  113. package/out/src/services/chaintracker/chaintracks/util/BulkFilesReader.js.map +1 -1
  114. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js +21 -0
  115. package/out/src/services/chaintracker/chaintracks/util/BulkHeaderFile.js.map +1 -1
  116. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js +1 -3
  117. package/out/src/services/chaintracker/chaintracks/util/ChaintracksFetch.js.map +1 -1
  118. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js +7 -5
  119. package/out/src/services/chaintracker/chaintracks/util/HeightRange.js.map +1 -1
  120. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js +4 -6
  121. package/out/src/services/chaintracker/chaintracks/util/SingleWriterMultiReaderLock.js.map +1 -1
  122. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js +1 -1
  123. package/out/src/services/chaintracker/chaintracks/util/blockHeaderUtilities.js.map +1 -1
  124. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js +8 -8
  125. package/out/src/services/chaintracker/chaintracks/util/validBulkHeaderFilesByFileHash.js.map +1 -1
  126. package/out/src/services/createDefaultWalletServicesOptions.js +8 -8
  127. package/out/src/services/createDefaultWalletServicesOptions.js.map +1 -1
  128. package/out/src/services/providers/ARC.js +13 -5
  129. package/out/src/services/providers/ARC.js.map +1 -1
  130. package/out/src/services/providers/ArcSSEClient.js +9 -8
  131. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  132. package/out/src/services/providers/Bitails.js +6 -2
  133. package/out/src/services/providers/Bitails.js.map +1 -1
  134. package/out/src/services/providers/SdkWhatsOnChain.js +6 -2
  135. package/out/src/services/providers/SdkWhatsOnChain.js.map +1 -1
  136. package/out/src/services/providers/WhatsOnChain.js +2 -1
  137. package/out/src/services/providers/WhatsOnChain.js.map +1 -1
  138. package/out/src/services/providers/getBeefForTxid.js +2 -1
  139. package/out/src/services/providers/getBeefForTxid.js.map +1 -1
  140. package/out/src/signer/WalletSigner.js +4 -1
  141. package/out/src/signer/WalletSigner.js.map +1 -1
  142. package/out/src/signer/methods/acquireDirectCertificate.js +1 -2
  143. package/out/src/signer/methods/acquireDirectCertificate.js.map +1 -1
  144. package/out/src/signer/methods/buildSignableTransaction.js +1 -2
  145. package/out/src/signer/methods/buildSignableTransaction.js.map +1 -1
  146. package/out/src/signer/methods/completeSignedTransaction.js +4 -5
  147. package/out/src/signer/methods/completeSignedTransaction.js.map +1 -1
  148. package/out/src/signer/methods/createAction.js +9 -11
  149. package/out/src/signer/methods/createAction.js.map +1 -1
  150. package/out/src/signer/methods/internalizeAction.d.ts +8 -1
  151. package/out/src/signer/methods/internalizeAction.d.ts.map +1 -1
  152. package/out/src/signer/methods/internalizeAction.js +8 -1
  153. package/out/src/signer/methods/internalizeAction.js.map +1 -1
  154. package/out/src/signer/methods/signAction.js +5 -6
  155. package/out/src/signer/methods/signAction.js.map +1 -1
  156. package/out/src/storage/StorageProvider.d.ts +4 -1
  157. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  158. package/out/src/storage/StorageProvider.js +122 -32
  159. package/out/src/storage/StorageProvider.js.map +1 -1
  160. package/out/src/storage/StorageReader.js +4 -2
  161. package/out/src/storage/StorageReader.js.map +1 -1
  162. package/out/src/storage/StorageSyncReader.js +2 -0
  163. package/out/src/storage/StorageSyncReader.js.map +1 -1
  164. package/out/src/storage/WalletStorageManager.js +47 -25
  165. package/out/src/storage/WalletStorageManager.js.map +1 -1
  166. package/out/src/storage/methods/ListActionsSpecOp.d.ts.map +1 -1
  167. package/out/src/storage/methods/ListActionsSpecOp.js +69 -6
  168. package/out/src/storage/methods/ListActionsSpecOp.js.map +1 -1
  169. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  170. package/out/src/storage/methods/ListOutputsSpecOp.js +5 -2
  171. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  172. package/out/src/storage/methods/attemptToPostReqsToNetwork.js +10 -12
  173. package/out/src/storage/methods/attemptToPostReqsToNetwork.js.map +1 -1
  174. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  175. package/out/src/storage/methods/createAction.js +111 -69
  176. package/out/src/storage/methods/createAction.js.map +1 -1
  177. package/out/src/storage/methods/generateChange.js +2 -3
  178. package/out/src/storage/methods/generateChange.js.map +1 -1
  179. package/out/src/storage/methods/getBeefForTransaction.js +2 -4
  180. package/out/src/storage/methods/getBeefForTransaction.js.map +1 -1
  181. package/out/src/storage/methods/internalizeAction.d.ts +69 -2
  182. package/out/src/storage/methods/internalizeAction.d.ts.map +1 -1
  183. package/out/src/storage/methods/internalizeAction.js +232 -27
  184. package/out/src/storage/methods/internalizeAction.js.map +1 -1
  185. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  186. package/out/src/storage/methods/processAction.js +12 -11
  187. package/out/src/storage/methods/processAction.js.map +1 -1
  188. package/out/src/storage/portable/index.d.ts.map +1 -1
  189. package/out/src/storage/portable/index.js +171 -129
  190. package/out/src/storage/portable/index.js.map +1 -1
  191. package/out/src/storage/remoting/StorageClient.js +2 -3
  192. package/out/src/storage/remoting/StorageClient.js.map +1 -1
  193. package/out/src/storage/remoting/StorageClientBase.js +6 -3
  194. package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
  195. package/out/src/storage/schema/entities/EntityBase.js +1 -0
  196. package/out/src/storage/schema/entities/EntityBase.js.map +1 -1
  197. package/out/src/storage/schema/entities/EntityOutputBasket.js +1 -1
  198. package/out/src/storage/schema/entities/EntityOutputBasket.js.map +1 -1
  199. package/out/src/storage/schema/entities/EntityProvenTx.js +12 -13
  200. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  201. package/out/src/storage/schema/entities/EntityProvenTxReq.js +7 -9
  202. package/out/src/storage/schema/entities/EntityProvenTxReq.js.map +1 -1
  203. package/out/src/storage/schema/entities/EntitySyncState.js +6 -3
  204. package/out/src/storage/schema/entities/EntitySyncState.js.map +1 -1
  205. package/out/src/storage/schema/entities/MergeEntity.js +4 -0
  206. package/out/src/storage/schema/entities/MergeEntity.js.map +1 -1
  207. package/out/src/storage/storageProviderHelpers.js +2 -3
  208. package/out/src/storage/storageProviderHelpers.js.map +1 -1
  209. package/out/src/utility/ScriptTemplateBRC29.js +7 -6
  210. package/out/src/utility/ScriptTemplateBRC29.js.map +1 -1
  211. package/out/src/utility/brc114ActionTimeLabels.js +1 -1
  212. package/out/src/utility/brc114ActionTimeLabels.js.map +1 -1
  213. package/out/src/utility/identityUtils.js +2 -4
  214. package/out/src/utility/identityUtils.js.map +1 -1
  215. package/out/src/utility/utilityHelpers.js +2 -2
  216. package/out/src/utility/utilityHelpers.js.map +1 -1
  217. package/out/src/utility/utilityHelpers.noBuffer.js +4 -4
  218. package/out/src/utility/utilityHelpers.noBuffer.js.map +1 -1
  219. package/out/src/wab-client/WABClient.js +1 -0
  220. package/out/src/wab-client/WABClient.js.map +1 -1
  221. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js +1 -4
  222. package/out/src/wab-client/auth-method-interactors/DevConsoleInteractor.js.map +1 -1
  223. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js +1 -4
  224. package/out/src/wab-client/auth-method-interactors/PersonaIDInteractor.js.map +1 -1
  225. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js +1 -4
  226. package/out/src/wab-client/auth-method-interactors/TwilioPhoneInteractor.js.map +1 -1
  227. package/out/tsconfig.mobile.tsbuildinfo +1 -1
  228. 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: 1 },
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 ((o === null || o === void 0 ? void 0 : o.outputId) !== undefined)
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 ((o === null || o === void 0 ? void 0 : o.txid) !== undefined && o.vout !== undefined)
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) => { var _a; return a + ((_a = r.satoshis) !== null && _a !== void 0 ? _a : 0); }, 0);
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({ what: 'abortAction', reference: args.reference });
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
- // Attempt to make outputs previously allocated as inputs to this transaction usable again.
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 !== null && requiredLevels !== void 0 ? requiredLevels : 0) > 0) {
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 !== null && mergeToBeef !== void 0 ? mergeToBeef : new sdk_1.Beef();
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 !== null && requiredLevels !== void 0 ? requiredLevels : 0) > 0)
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)((_a = req.notify.transactionIds) !== null && _a !== void 0 ? _a : [], proven.provenTxId, note => req.addHistoryNote(note), async () => { await req.updateStorageDynamicProperties(this); }, async (id, update) => { await this.updateTransaction(id, update); });
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, `${(_a = o.txid) !== null && _a !== void 0 ? _a : ''}.${(_b = o.vout) !== null && _b !== void 0 ? _b : ''}`);
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 = (_a = update.wasBroadcast) !== null && _a !== void 0 ? _a : false;
688
+ partial.wasBroadcast = update.wasBroadcast ?? false;
598
689
  if (Number.isInteger(update.rebroadcastAttempts))
599
- partial.rebroadcastAttempts = (_b = update.rebroadcastAttempts) !== null && _b !== void 0 ? _b : 0;
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 (((_a = o.lockingScript) === null || _a === void 0 ? void 0 : _a.length) === o.scriptLength)
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: 1
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
- var _a;
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":"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"}
1
+ {"version":3,"file":"StorageReader.js","sourceRoot":"","sources":["../../../../src/storage/StorageReader.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,8 @@ const sdk = __importStar(require("../sdk/index"));
42
42
  * and the `StorageBaseReader` to be protected.
43
43
  */
44
44
  class StorageSyncReader {
45
+ auth;
46
+ storage;
45
47
  constructor(auth, storage) {
46
48
  this.auth = auth;
47
49
  this.storage = storage;
@@ -1 +1 @@
1
- {"version":3,"file":"StorageSyncReader.js","sourceRoot":"","sources":["../../../../src/storage/StorageSyncReader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAmC;AAInC;;;;;GAKG;AACH,MAAa,iBAAiB;IAC5B,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"}
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
- ((_a = this._conflictingActives) === null || _a === void 0 ? void 0 : _a.length) === 0);
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 = (_a = this._active.settings) === null || _a === void 0 ? void 0 : _a.storageIdentityKey;
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 = (_b = this._active.user) === null || _b === void 0 ? void 0 : _b.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 !== null && activeSync !== void 0 ? activeSync : (await this.getActiveForSync());
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 || (progLog = s => s);
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 || (progLog = s => s);
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 || (progLog = s => s);
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 (_a = this._conflictingActives) !== null && _a !== void 0 ? _a : []) {
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 (_b = this._backups) !== null && _b !== void 0 ? _b : []) {
813
+ for (const store of this._backups ?? []) {
792
814
  stores.push({
793
815
  isActive: false,
794
816
  isEnabled: false,