@bsv/wallet-toolbox 2.10.4 → 2.12.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.
Files changed (171) hide show
  1. package/CHANGELOG.md +97 -0
  2. package/README.md +80 -1
  3. package/docs/managed-change-liquidity.md +7 -0
  4. package/docs/no-send-expiry.md +167 -0
  5. package/docs/prepared-beef.md +197 -0
  6. package/docs/setup.md +11 -0
  7. package/docs/storage.md +11 -0
  8. package/out/src/Setup.d.ts +3 -0
  9. package/out/src/Setup.d.ts.map +1 -1
  10. package/out/src/Setup.js +1 -0
  11. package/out/src/Setup.js.map +1 -1
  12. package/out/src/Wallet.d.ts.map +1 -1
  13. package/out/src/Wallet.js +15 -3
  14. package/out/src/Wallet.js.map +1 -1
  15. package/out/src/WalletAuthenticationManager.d.ts +12 -0
  16. package/out/src/WalletAuthenticationManager.d.ts.map +1 -1
  17. package/out/src/WalletAuthenticationManager.js +92 -28
  18. package/out/src/WalletAuthenticationManager.js.map +1 -1
  19. package/out/src/WalletPermissionsManager.d.ts +35 -5
  20. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  21. package/out/src/WalletPermissionsManager.js +151 -61
  22. package/out/src/WalletPermissionsManager.js.map +1 -1
  23. package/out/src/mockchain/MockServices.d.ts +2 -0
  24. package/out/src/mockchain/MockServices.d.ts.map +1 -1
  25. package/out/src/mockchain/MockServices.js +20 -0
  26. package/out/src/mockchain/MockServices.js.map +1 -1
  27. package/out/src/monitor/Monitor.d.ts +1 -0
  28. package/out/src/monitor/Monitor.d.ts.map +1 -1
  29. package/out/src/monitor/Monitor.js +19 -3
  30. package/out/src/monitor/Monitor.js.map +1 -1
  31. package/out/src/monitor/tasks/TaskNoSendExpiry.d.ts +19 -0
  32. package/out/src/monitor/tasks/TaskNoSendExpiry.d.ts.map +1 -0
  33. package/out/src/monitor/tasks/TaskNoSendExpiry.js +47 -0
  34. package/out/src/monitor/tasks/TaskNoSendExpiry.js.map +1 -0
  35. package/out/src/monitor/tasks/index.all.d.ts +1 -0
  36. package/out/src/monitor/tasks/index.all.d.ts.map +1 -1
  37. package/out/src/monitor/tasks/index.all.js +1 -0
  38. package/out/src/monitor/tasks/index.all.js.map +1 -1
  39. package/out/src/sdk/ActionBatch.interfaces.d.ts +4 -0
  40. package/out/src/sdk/ActionBatch.interfaces.d.ts.map +1 -1
  41. package/out/src/sdk/WalletStorage.interfaces.d.ts +35 -0
  42. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  43. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +0 -1
  44. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
  45. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +23 -12
  46. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
  47. package/out/src/services/providers/ArcSSEClient.d.ts.map +1 -1
  48. package/out/src/services/providers/ArcSSEClient.js +40 -9
  49. package/out/src/services/providers/ArcSSEClient.js.map +1 -1
  50. package/out/src/signer/methods/createNoSendExpiryAction.d.ts +7 -0
  51. package/out/src/signer/methods/createNoSendExpiryAction.d.ts.map +1 -0
  52. package/out/src/signer/methods/createNoSendExpiryAction.js +249 -0
  53. package/out/src/signer/methods/createNoSendExpiryAction.js.map +1 -0
  54. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  55. package/out/src/signer/methods/signAction.js +9 -0
  56. package/out/src/signer/methods/signAction.js.map +1 -1
  57. package/out/src/storage/StorageIdb.d.ts +3 -0
  58. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  59. package/out/src/storage/StorageIdb.js +37 -1
  60. package/out/src/storage/StorageIdb.js.map +1 -1
  61. package/out/src/storage/StorageKnex.d.ts +48 -3
  62. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  63. package/out/src/storage/StorageKnex.js +234 -14
  64. package/out/src/storage/StorageKnex.js.map +1 -1
  65. package/out/src/storage/StorageProvider.d.ts +6 -1
  66. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  67. package/out/src/storage/StorageProvider.js +147 -5
  68. package/out/src/storage/StorageProvider.js.map +1 -1
  69. package/out/src/storage/StorageReaderWriter.d.ts +2 -0
  70. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  71. package/out/src/storage/StorageReaderWriter.js +4 -0
  72. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  73. package/out/src/storage/WalletStorageManager.d.ts +11 -0
  74. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  75. package/out/src/storage/WalletStorageManager.js +77 -12
  76. package/out/src/storage/WalletStorageManager.js.map +1 -1
  77. package/out/src/storage/idbHelpers.d.ts.map +1 -1
  78. package/out/src/storage/idbHelpers.js +14 -2
  79. package/out/src/storage/idbHelpers.js.map +1 -1
  80. package/out/src/storage/index.all.d.ts +2 -0
  81. package/out/src/storage/index.all.d.ts.map +1 -1
  82. package/out/src/storage/index.all.js +2 -0
  83. package/out/src/storage/index.all.js.map +1 -1
  84. package/out/src/storage/methods/createAction.d.ts +57 -1
  85. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  86. package/out/src/storage/methods/createAction.js +195 -49
  87. package/out/src/storage/methods/createAction.js.map +1 -1
  88. package/out/src/storage/methods/noSendExpiry.d.ts +11 -0
  89. package/out/src/storage/methods/noSendExpiry.d.ts.map +1 -0
  90. package/out/src/storage/methods/noSendExpiry.js +357 -0
  91. package/out/src/storage/methods/noSendExpiry.js.map +1 -0
  92. package/out/src/storage/methods/noSendExpiryLifecycle.d.ts +14 -0
  93. package/out/src/storage/methods/noSendExpiryLifecycle.d.ts.map +1 -0
  94. package/out/src/storage/methods/noSendExpiryLifecycle.js +691 -0
  95. package/out/src/storage/methods/noSendExpiryLifecycle.js.map +1 -0
  96. package/out/src/storage/methods/preparedBeef.d.ts +104 -0
  97. package/out/src/storage/methods/preparedBeef.d.ts.map +1 -0
  98. package/out/src/storage/methods/preparedBeef.js +525 -0
  99. package/out/src/storage/methods/preparedBeef.js.map +1 -0
  100. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  101. package/out/src/storage/methods/processAction.js +109 -28
  102. package/out/src/storage/methods/processAction.js.map +1 -1
  103. package/out/src/storage/methods/purgeData.d.ts.map +1 -1
  104. package/out/src/storage/methods/purgeData.js +9 -0
  105. package/out/src/storage/methods/purgeData.js.map +1 -1
  106. package/out/src/storage/methods/validateSyncProof.d.ts +24 -0
  107. package/out/src/storage/methods/validateSyncProof.d.ts.map +1 -0
  108. package/out/src/storage/methods/validateSyncProof.js +116 -0
  109. package/out/src/storage/methods/validateSyncProof.js.map +1 -0
  110. package/out/src/storage/remoting/StorageClientBase.d.ts +4 -1
  111. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
  112. package/out/src/storage/remoting/StorageClientBase.js +36 -1
  113. package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
  114. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  115. package/out/src/storage/remoting/StorageServer.js +16 -3
  116. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  117. package/out/src/storage/schema/KnexMigrations.d.ts +2 -0
  118. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  119. package/out/src/storage/schema/KnexMigrations.js +66 -1
  120. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  121. package/out/src/storage/schema/StorageIdbSchema.d.ts +2 -0
  122. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -1
  123. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
  124. package/out/src/storage/schema/entities/EntityOutput.js +13 -0
  125. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
  126. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +2 -0
  127. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  128. package/out/src/storage/schema/entities/EntityProvenTx.js +33 -3
  129. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  130. package/out/src/storage/schema/entities/EntityTransaction.d.ts +26 -0
  131. package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -1
  132. package/out/src/storage/schema/entities/EntityTransaction.js +221 -21
  133. package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -1
  134. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.d.ts +23 -0
  135. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.d.ts.map +1 -0
  136. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.js +3 -0
  137. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.js.map +1 -0
  138. package/out/src/storage/schema/tables/TableTransaction.d.ts +16 -0
  139. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -1
  140. package/out/src/storage/schema/tables/TableTransaction.js +14 -1
  141. package/out/src/storage/schema/tables/TableTransaction.js.map +1 -1
  142. package/out/src/utility/Argon2idBackend.d.ts +36 -0
  143. package/out/src/utility/Argon2idBackend.d.ts.map +1 -0
  144. package/out/src/utility/Argon2idBackend.js +60 -0
  145. package/out/src/utility/Argon2idBackend.js.map +1 -0
  146. package/out/src/utility/brc177NoSendExpiry.d.ts +34 -0
  147. package/out/src/utility/brc177NoSendExpiry.d.ts.map +1 -0
  148. package/out/src/utility/brc177NoSendExpiry.js +81 -0
  149. package/out/src/utility/brc177NoSendExpiry.js.map +1 -0
  150. package/out/src/utility/hashWasm.d.ts +2 -1
  151. package/out/src/utility/hashWasm.d.ts.map +1 -1
  152. package/out/src/utility/hashWasm.js +83 -1
  153. package/out/src/utility/hashWasm.js.map +1 -1
  154. package/out/src/utility/identityUtils.js +2 -1
  155. package/out/src/utility/identityUtils.js.map +1 -1
  156. package/out/src/utility/index.all.d.ts +2 -0
  157. package/out/src/utility/index.all.d.ts.map +1 -1
  158. package/out/src/utility/index.all.js +2 -0
  159. package/out/src/utility/index.all.js.map +1 -1
  160. package/out/src/utility/index.client.d.ts +2 -0
  161. package/out/src/utility/index.client.d.ts.map +1 -1
  162. package/out/src/utility/index.client.js +2 -0
  163. package/out/src/utility/index.client.js.map +1 -1
  164. package/out/src/wab-client/WABClient.d.ts +1 -0
  165. package/out/src/wab-client/WABClient.d.ts.map +1 -1
  166. package/out/src/wab-client/WABClient.js +7 -0
  167. package/out/src/wab-client/WABClient.js.map +1 -1
  168. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts +2 -0
  169. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.d.ts.map +1 -1
  170. package/out/src/wab-client/auth-method-interactors/AuthMethodInteractor.js.map +1 -1
  171. package/package.json +3 -2
@@ -13,6 +13,7 @@ const parseTxScriptOffsets_1 = require("../../utility/parseTxScriptOffsets");
13
13
  const utilityHelpers_noBuffer_1 = require("../../utility/utilityHelpers.noBuffer");
14
14
  const WalletError_1 = require("../../sdk/WalletError");
15
15
  const storageProviderHelpers_1 = require("../storageProviderHelpers");
16
+ const managedChange_1 = require("./managedChange");
16
17
  async function processAction(storage, auth, args) {
17
18
  if (!storage.telemetry.enabled)
18
19
  return await processActionCore(storage, auth, args);
@@ -39,14 +40,20 @@ async function processActionCore(storage, auth, args, parent) {
39
40
  sendWithResults: undefined
40
41
  };
41
42
  let req;
43
+ let prepareRootTxid;
42
44
  const txidsOfReqsToShareWithWorld = [...args.sendWith];
43
45
  if (args.isNewTx) {
44
- const vargs = await traceProcessStep(storage, 'wallet.storage.process_action.validate', parent, async () => await validateCommitNewTxToStorageArgs(storage, userId, args));
46
+ const vargs = await traceProcessStep(storage, 'wallet.storage.process_action.validate', parent, async () => await validateCommitNewTxToStorageArgs(storage, auth, args));
45
47
  logger?.log('validated new tx updates to storage');
46
48
  ({ req } = await traceProcessStep(storage, 'wallet.storage.process_action.commit', parent, async () => await commitNewTxToStorage(storage, userId, vargs)));
47
49
  logger?.log('committed new tx updates to storage ');
48
50
  if (!req)
49
51
  throw new WERR_errors_1.WERR_INTERNAL();
52
+ const preparedBeef = storage;
53
+ if (typeof preparedBeef.preparedBeefWritesEnabled === 'function' &&
54
+ preparedBeef.preparedBeefWritesEnabled.call(storage) &&
55
+ vargs.outputOutputs.some(managedChange_1.isManagedChangeOutput))
56
+ prepareRootTxid = req.txid;
50
57
  // Add the new txid to sendWith unless there are no others to send and the noSend option is set.
51
58
  if (args.isNoSend && !args.isSendWith) {
52
59
  logger?.log(`noSend txid ${req.txid}`);
@@ -59,6 +66,15 @@ async function processActionCore(storage, auth, args, parent) {
59
66
  const { swr, ndr } = await traceProcessStep(storage, 'wallet.storage.process_action.share', parent, async () => await shareReqsWithWorld(storage, userId, txidsOfReqsToShareWithWorld, args.isDelayed, undefined, logger));
60
67
  r.sendWithResults = swr;
61
68
  r.notDelayedResults = ndr;
69
+ // Prepare proof material for future spends only after all foreground
70
+ // processAction work has completed. The bounded coordinator starts later on
71
+ // the event loop and is never awaited by this request.
72
+ if (prepareRootTxid != null) {
73
+ const extension = storage;
74
+ if (typeof extension.enqueuePreparedBeef === 'function') {
75
+ extension.enqueuePreparedBeef.call(storage, { userId, rootTxids: [prepareRootTxid] });
76
+ }
77
+ }
62
78
  logger?.groupEnd();
63
79
  return r;
64
80
  }
@@ -208,8 +224,9 @@ function buildOutputUpdates(storage, tx, vargs) {
208
224
  vargs.outputUpdates.push({ id: o.outputId, update });
209
225
  }
210
226
  }
211
- async function validateCommitNewTxToStorageArgs(storage, userId, params) {
212
- if (!params.reference || !params.txid || params.rawTx == null) {
227
+ function parseProcessActionTransaction(params) {
228
+ const { reference, txid } = params;
229
+ if (!reference || !txid || params.rawTx == null) {
213
230
  throw new WERR_errors_1.WERR_INVALID_OPERATION('One or more expected params are undefined.');
214
231
  }
215
232
  const rawTx = (0, utilityHelpers_noBuffer_1.asArray)(params.rawTx);
@@ -220,9 +237,52 @@ async function validateCommitNewTxToStorageArgs(storage, userId, params) {
220
237
  catch {
221
238
  throw new WERR_errors_1.WERR_INVALID_OPERATION('Parsing serialized transaction failed.');
222
239
  }
223
- if (params.txid !== tx.id('hex')) {
240
+ if (txid !== tx.id('hex')) {
224
241
  throw new WERR_errors_1.WERR_INVALID_OPERATION("Hash of serialized transaction doesn't match expected txid");
225
242
  }
243
+ return { reference, txid, rawTx, tx };
244
+ }
245
+ async function validateNoSendExpiryRelease(storage, auth, params, transaction) {
246
+ if (transaction.noSendExpiryState == null)
247
+ return;
248
+ if (auth.isActive !== true)
249
+ throw new WERR_errors_1.WERR_NOT_ACTIVE('BRC-177 requires the active storage provider');
250
+ if (!params.isNoSend || params.isSendWith) {
251
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('BRC-177 protected actions must remain noSend and cannot use sendWith');
252
+ }
253
+ if (transaction.noSendExpiryState !== 'unsigned' || transaction.noSendExpiryReclaimRawTx == null) {
254
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('BRC-177 protected action is not armed for signature release');
255
+ }
256
+ const deadline = (0, utilityHelpers_1.verifyInteger)(transaction.noSendExpiryDeadline);
257
+ const expired = transaction.noSendExpiryMode === 'blockheight'
258
+ ? (await storage.getServices().getHeight()) >= deadline
259
+ : Math.floor(Date.now() / 1000) >= deadline;
260
+ if (expired)
261
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('BRC-177 protected action has expired');
262
+ }
263
+ function validatePlannedTransaction(transaction) {
264
+ if (!transaction.isOutgoing)
265
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('isOutgoing is not true');
266
+ if (transaction.inputBEEF == null)
267
+ throw new WERR_errors_1.WERR_INVALID_OPERATION();
268
+ if (transaction.status !== 'unsigned' && transaction.status !== 'unprocessed') {
269
+ throw new WERR_errors_1.WERR_INVALID_OPERATION(`invalid transaction status ${transaction.status}`);
270
+ }
271
+ }
272
+ function validateCommissionOutput(storage, tx, commissionRows) {
273
+ if (storage.commissionSatoshis <= 0)
274
+ return;
275
+ const commission = (0, utilityHelpers_1.verifyOneOrNone)(commissionRows);
276
+ if (commission == null)
277
+ throw new WERR_errors_1.WERR_INTERNAL();
278
+ const commissionValid = tx.outputs.some(output => output.satoshis === commission.satoshis && output.lockingScript.toHex() === (0, utilityHelpers_noBuffer_1.asString)(commission.lockingScript));
279
+ if (!commissionValid) {
280
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('Transaction did not include an output to cover service fee.');
281
+ }
282
+ }
283
+ async function validateCommitNewTxToStorageArgs(storage, auth, params) {
284
+ const userId = (0, utilityHelpers_1.verifyId)(auth.userId);
285
+ const { reference, txid, rawTx, tx } = parseProcessActionTransaction(params);
226
286
  const services = storage.getServices();
227
287
  if (!(await services.nLockTimeIsFinal(tx))) {
228
288
  throw new WERR_errors_1.WERR_INVALID_OPERATION(`This transaction is not final.
@@ -231,16 +291,10 @@ async function validateCommitNewTxToStorageArgs(storage, userId, params) {
231
291
  }
232
292
  const txScriptOffsets = (0, parseTxScriptOffsets_1.parseTxScriptOffsets)(rawTx);
233
293
  const transaction = (0, utilityHelpers_1.verifyOne)(await storage.findTransactions({
234
- partial: { userId, reference: params.reference }
294
+ partial: { userId, reference }
235
295
  }));
236
- if (!transaction.isOutgoing)
237
- throw new WERR_errors_1.WERR_INVALID_OPERATION('isOutgoing is not true');
238
- if (transaction.inputBEEF == null)
239
- throw new WERR_errors_1.WERR_INVALID_OPERATION();
240
- // Transaction must have unsigned or unprocessed status
241
- if (transaction.status !== 'unsigned' && transaction.status !== 'unprocessed') {
242
- throw new WERR_errors_1.WERR_INVALID_OPERATION(`invalid transaction status ${transaction.status}`);
243
- }
296
+ await validateNoSendExpiryRelease(storage, auth, params, transaction);
297
+ validatePlannedTransaction(transaction);
244
298
  const transactionId = (0, utilityHelpers_1.verifyId)(transaction.transactionId);
245
299
  // These reads are independent once the planned transaction is resolved.
246
300
  // Running them together removes two network-database round trips from every
@@ -251,17 +305,8 @@ async function validateCommitNewTxToStorageArgs(storage, userId, params) {
251
305
  ? storage.findCommissions({ partial: { transactionId, userId } })
252
306
  : Promise.resolve([])
253
307
  ]);
254
- const commission = (0, utilityHelpers_1.verifyOneOrNone)(commissionRows);
255
- if (storage.commissionSatoshis > 0) {
256
- // A commission is required...
257
- if (commission == null)
258
- throw new WERR_errors_1.WERR_INTERNAL();
259
- const commissionValid = tx.outputs.some(x => x.satoshis === commission.satoshis && x.lockingScript.toHex() === (0, utilityHelpers_noBuffer_1.asString)(commission.lockingScript));
260
- if (!commissionValid) {
261
- throw new WERR_errors_1.WERR_INVALID_OPERATION('Transaction did not include an output to cover service fee.');
262
- }
263
- }
264
- const req = EntityProvenTxReq_1.EntityProvenTxReq.fromTxid(params.txid, rawTx, transaction.inputBEEF);
308
+ validateCommissionOutput(storage, tx, commissionRows);
309
+ const req = EntityProvenTxReq_1.EntityProvenTxReq.fromTxid(txid, rawTx, transaction.inputBEEF);
265
310
  req.addNotifyTransactionId(transactionId);
266
311
  // "Processing" a transaction is the final step of creating a new one.
267
312
  // If it is to be sent to the network directly (prior to return from processAction),
@@ -278,8 +323,8 @@ async function validateCommitNewTxToStorageArgs(storage, userId, params) {
278
323
  const { status, postStatus } = determineReqTxStatus(params);
279
324
  req.status = status.req;
280
325
  const vargs = {
281
- reference: params.reference,
282
- txid: params.txid,
326
+ reference,
327
+ txid,
283
328
  rawTx,
284
329
  isSendWith: !!params.sendWith && params.sendWith.length > 0,
285
330
  isDelayed: params.isDelayed,
@@ -294,13 +339,17 @@ async function validateCommitNewTxToStorageArgs(storage, userId, params) {
294
339
  outputUpdates: [],
295
340
  // update txid, status in transactions table and drop rawTransaction value
296
341
  transactionUpdate: {
297
- txid: params.txid,
342
+ txid,
298
343
  rawTx: undefined,
299
344
  inputBEEF: undefined,
300
345
  status: status.tx
301
346
  },
302
347
  postStatus
303
348
  };
349
+ if (transaction.noSendExpiryState != null) {
350
+ vargs.transactionUpdate.noSendExpiryState = 'signed';
351
+ vargs.transactionUpdate.noSendExpiryReleasedAt = Date.now();
352
+ }
304
353
  // update outputs with txid, script offsets and lengths, drop long output scripts from outputs table
305
354
  // outputs spendable will be updated for change to true and all others to !!o.tracked when tx has been broadcast
306
355
  // MAX_OUTPUTSCRIPT_LENGTH is limit for scripts left in outputs table
@@ -309,10 +358,40 @@ async function validateCommitNewTxToStorageArgs(storage, userId, params) {
309
358
  }
310
359
  async function commitNewTxToStorage(storage, userId, vargs) {
311
360
  let log = vargs.log;
361
+ // The chain tip and the storage transaction cannot share one atomic
362
+ // transaction, particularly for IndexedDB where awaiting network I/O may
363
+ // auto-commit the write transaction. Capture the wallet's canonical height
364
+ // immediately before the write transaction and bind that exact observation
365
+ // to the row revalidated under the lifecycle CAS below.
366
+ const observedBlockheight = vargs.transaction.noSendExpiryState != null && vargs.transaction.noSendExpiryMode === 'blockheight'
367
+ ? await storage.getServices().getHeight()
368
+ : undefined;
369
+ const blockheightExpired = observedBlockheight != null && observedBlockheight >= (0, utilityHelpers_1.verifyInteger)(vargs.transaction.noSendExpiryDeadline);
370
+ if (blockheightExpired) {
371
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('BRC-177 protected action expired before signature release');
372
+ }
312
373
  log = (0, stampLog_1.stampLog)(log, 'start storage commitNewTxToStorage');
313
374
  let req;
314
375
  await storage.transaction(async (trx) => {
315
376
  log = (0, stampLog_1.stampLog)(log, '... storage commitNewTxToStorage storage transaction start');
377
+ if (vargs.transaction.noSendExpiryState != null) {
378
+ const current = (0, utilityHelpers_1.verifyOne)(await storage.findTransactions({
379
+ partial: { transactionId: vargs.transactionId, userId },
380
+ trx
381
+ }));
382
+ if (current.noSendExpiryState !== 'unsigned') {
383
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('BRC-177 protected action changed before signature release');
384
+ }
385
+ const deadline = (0, utilityHelpers_1.verifyInteger)(current.noSendExpiryDeadline);
386
+ const expired = current.noSendExpiryMode === 'blockheight'
387
+ ? observedBlockheight == null || observedBlockheight >= deadline
388
+ : Math.floor(Date.now() / 1000) >= deadline;
389
+ if (expired)
390
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('BRC-177 protected action expired before signature release');
391
+ if (!await storage.compareAndSetNoSendExpiryState(current.transactionId, 'unsigned', 'signed', trx)) {
392
+ throw new WERR_errors_1.WERR_INVALID_OPERATION('BRC-177 protected action changed before signature release');
393
+ }
394
+ }
316
395
  // Create initial 'nosend' proven_tx_req record to store signed, valid rawTx and input beef
317
396
  req = await vargs.req.insertOrMerge(storage, trx);
318
397
  log = (0, stampLog_1.stampLog)(log, '... storage commitNewTxToStorage req inserted');
@@ -320,7 +399,9 @@ async function commitNewTxToStorage(storage, userId, vargs) {
320
399
  await storage.updateOutput(ou.id, ou.update, trx);
321
400
  }
322
401
  log = (0, stampLog_1.stampLog)(log, '... storage commitNewTxToStorage outputs updated');
323
- await storage.updateTransaction(vargs.transactionId, vargs.transactionUpdate, trx);
402
+ const transactionUpdate = { ...vargs.transactionUpdate };
403
+ delete transactionUpdate.noSendExpiryState;
404
+ await storage.updateTransaction(vargs.transactionId, transactionUpdate, trx);
324
405
  log = (0, stampLog_1.stampLog)(log, '... storage commitNewTxToStorage storage transaction end');
325
406
  });
326
407
  log = (0, stampLog_1.stampLog)(log, '... storage commitNewTxToStorage storage transaction await done');
@@ -1 +1 @@
1
- {"version":3,"file":"processAction.js","sourceRoot":"","sources":["../../../../src/storage/methods/processAction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processAction.js","sourceRoot":"","sources":["../../../../src/storage/methods/processAction.ts"],"names":[],"mappings":";;;;AAAA,6DAA6D;AAC7D,kCAOiB;AACjB,qEAAuE;AAQvE,qDAAiD;AACjD,iEAOqC;AACrC,4EAAwE;AACxE,uDAA8F;AAI9F,6EAA0F;AAI1F,mFAAyE;AACzE,uDAAmD;AACnD,sEAA6D;AAC7D,mDAAuD;AAQhD,KAAK,wBACV,OAAwB,EACxB,IAAY,EACZ,IAA8B;IAE9B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO;QAAE,OAAO,MAAM,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACnF,OAAO,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,CACrC,+BAA+B,EAC/B;QACE,SAAS,EAAE,gBAAgB;QAC3B,OAAO,EAAE,IAAI;QACb,UAAU,EAAE;YACV,2BAA2B,EAAE,IAAI,CAAC,OAAO;YACzC,mBAAmB,EAAE,IAAI,CAAC,QAAQ;YAClC,mBAAmB,EAAE,IAAI,CAAC,SAAS;YACnC,wBAAwB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;SAC/C;KACF,EACD,KAAK,EAAC,IAAI,EAAC,EAAE;QACX,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QACjE,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,EAAE,0BAA0B,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;QAC7F,OAAO,MAAM,CAAA;IACf,CAAC,CACF,CAAA;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,OAAwB,EACxB,IAAY,EACZ,IAA8B,EAC9B,MAAsB;IAEtB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAC1B,MAAM,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAA;IAEtC,MAAM,MAAM,GAAG,IAAA,yBAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpC,MAAM,CAAC,GAAgC;QACrC,eAAe,EAAE,SAAS;KAC3B,CAAA;IAED,IAAI,GAAkC,CAAA;IACtC,IAAI,eAAmC,CAAA;IACvC,MAAM,2BAA2B,GAAa,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAEhE,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAClC,OAAO,EACP,wCAAwC,EACxC,MAAM,EACN,KAAK,IAAI,EAAE,CAAC,MAAM,gCAAgC,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CACxE,CAAA;QACD,MAAM,EAAE,GAAG,CAAC,qCAAqC,CAAC,CACjD;QAAA,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,gBAAgB,CAChC,OAAO,EACP,sCAAsC,EACtC,MAAM,EACN,KAAK,IAAI,EAAE,CAAC,MAAM,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAC/D,CAAC,CAAA;QACF,MAAM,EAAE,GAAG,CAAC,sCAAsC,CAAC,CAAA;QACnD,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,2BAAa,EAAE,CAAA;QACnC,MAAM,YAAY,GAAG,OAA0D,CAAA;QAC/E,IACE,OAAO,YAAY,CAAC,yBAAyB,KAAK,UAAU;YAC5D,YAAY,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC;YACpD,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,qCAAqB,CAAC;YAC/C,eAAe,GAAG,GAAG,CAAC,IAAI,CAAA;QAC5B,gGAAgG;QAChG,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,MAAM,EAAE,GAAG,CAAC,eAAe,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;QACxC,CAAC;aAAM,CAAC;YACN,2BAA2B,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC1C,MAAM,EAAE,GAAG,CAAC,gBAAgB,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IAED,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,gBAAgB,CACzC,OAAO,EACP,qCAAqC,EACrC,MAAM,EACN,KAAK,IAAI,EAAE,CAAC,MAAM,kBAAkB,CAClC,OAAO,EACP,MAAM,EACN,2BAA2B,EAC3B,IAAI,CAAC,SAAS,EACd,SAAS,EACT,MAAM,CACP,CACF,CAAA;IAED,CAAC,CAAC,eAAe,GAAG,GAAG,CAAA;IACvB,CAAC,CAAC,iBAAiB,GAAG,GAAG,CAAA;IAEzB,qEAAqE;IACrE,4EAA4E;IAC5E,uDAAuD;IACvD,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,OAA0D,CAAA;QAC5E,IAAI,OAAO,SAAS,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;YACxD,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAAA;QACvF,CAAC;IACH,CAAC;IAED,MAAM,EAAE,QAAQ,EAAE,CAAA;IAElB,OAAO,CAAC,CAAA;AACV,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,OAAwB,EACxB,IAAY,EACZ,MAAiC,EACjC,QAA0B;IAE1B,IAAI,MAAM,IAAI,IAAI;QAAE,OAAO,MAAM,QAAQ,EAAE,CAAA;IAC3C,OAAO,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,CACrC,IAAI,EACJ,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,EACvD,QAAQ,CACT,CAAA;AACH,CAAC;AAqCD;;;;;;;;;;GAUG;AACH,SAAS,kBAAkB,CACzB,OAA+B,EAC/B,GAAqB,EACrB,eAAoC;IAEpC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,MAAM,GAAyB,QAAQ,CAAA;QAC3C,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YACpC,MAAM,GAAG,UAAU,CAAA;QACrB,CAAC;aAAM,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;YAC3C,MAAM,GAAG,SAAS,CAAA;YAClB,eAAe,CAAC,IAAI,CAAC,IAAI,qCAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QACzD,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;IACzC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,OAAwB,EACxB,CAAuB,EACvB,eAAoC,EACpC,MAA8B;IAE9B,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,IAAI;QAAE,OAAM;IAC/D,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,eAAe,EAAE,CAAC,CAAA;IACtF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;QAC3D,MAAM,IAAI,2BAAa,CAAC,gCAAgC,CAAC,CAAA;IAC3D,CAAC;IACD,MAAM,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;AAC9B,CAAC;AAED,KAAK,UAAU,4BAA4B,CAAC,OAAwB,EAAE,KAAe;IACnF,MAAM,CAAC,GAAyB;QAC9B,IAAI,EAAE,IAAI,UAAI,EAAE;QAChB,OAAO,EAAE,EAAE;KACZ,CAAA;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,GAAyB;YAC9B,IAAI;YACJ,MAAM,EAAE,SAAS;SAClB,CAAA;QACD,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,IAAI,CAAC;YACH,CAAC,CAAC,MAAM,GAAG,IAAA,gCAAe,EAAC,MAAM,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;YAC9E,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBACrB,CAAC,CAAC,MAAM,GAAG,aAAa,CAAA;gBACxB,SAAQ;YACV,CAAC;YAED,CAAC,CAAC,GAAG,GAAG,IAAA,gCAAe,EAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;YAC9E,IAAI,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;gBAClB,CAAC,CAAC,MAAM,GAAG,OAAO,CAAA;gBAClB,CAAC,CAAC,KAAK,GAAG,qBAAqB,IAAI,iBAAiB,CAAA;YACtD,CAAC;iBAAM,CAAC;gBACN,IAAA,0CAAiB,EAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;YAC7B,CAAC;QACH,CAAC;QAAC,OAAO,MAAe,EAAE,CAAC;YACzB,MAAM,CAAC,GAAG,yBAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;YACzC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;QACrC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAA;AACV,CAAC;AAEM,KAAK,6BACV,OAAwB,EACxB,MAAc,EACd,KAAe,EACf,SAAkB,EAClB,CAAwB,EACxB,MAA8B;IAE9B,MAAM,GAAG,GAAqB,EAAE,CAAA;IAChC,MAAM,GAAG,GAAqC,SAAS,CAAA;IAEvD,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;IAEtD,CAAC,KAAK,SAAS;QACb,CAAC,CAAC,MAAM,4BAA4B,CAAC,OAAO,EAAE,KAAK,CAAC;QACpD,CAAC,CAAC,MAAM,OAAO,CAAC,8BAA8B,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAE3D,MAAM,eAAe,GAAwB,EAAE,CAAA;IAC/C,kBAAkB,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC,CAAA;IAEnD,MAAM,iBAAiB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACxD,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAA;IAElF,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,kCAAiB,EAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAClE,IAAI,SAAS,EAAE,CAAC;QACd,qFAAqF;QACrF,qFAAqF;QACrF,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;gBACpC,MAAM,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAA;gBACpF,MAAM,OAAO,CAAC,iBAAiB,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,GAAG,CAAC,CAAA;YAC7E,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;IACrB,CAAC;IAED,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;IAErD,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,CAAA;IAE3D,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,MAAM,GAAG,IAAI,eAAe;YAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAA;QACpD,MAAM,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,0BAA0B,CAAC,eAAe,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IACzF,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAA,yCAAsB,EAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;IAC7E,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;AAClC,CAAC;AAOD,SAAS,oBAAoB,CAAC,MAA+E;IAI3G,IAAI,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU;QAAE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAA;IACpH,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,SAAS;QACtC,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAA;IAChF,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAC1C,OAAO;YACL,MAAM,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE;YACjD,UAAU,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,UAAU,EAAE;SAC/C,CAAA;IACH,CAAC;IACD,MAAM,IAAI,2BAAa,CAAC,aAAa,CAAC,CAAA;AACxC,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAwB,EAAE,EAAkB,EAAE,KAAoC;IAC5G,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,IAAA,8BAAa,EAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAClD,MAAM,WAAW,GAAG,IAAA,kCAAQ,EAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QAC7F,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,IAAI,WAAW,KAAK,IAAA,kCAAQ,EAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;YACzE,MAAM,IAAI,oCAAsB,CAC9B,wCAAwC,IAAI,uCAAuC,CACpF,CAAA;QACH,CAAC;QACD,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,WAAW,EAAE,CAAC;YAC3D,MAAM,IAAI,oCAAsB,CAC9B,qDAAqD,IAAI,uCAAuC,CACjG,CAAA;QACH,CAAC;QACD,MAAM,MAAM,GAAyB;YACnC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,SAAS,EAAE,IAAI,EAAE,uFAAuF;YACxG,YAAY,EAAE,MAAM,CAAC,MAAM;YAC3B,YAAY,EAAE,MAAM,CAAC,MAAM;SAC5B,CAAA;QACD,IAAI,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,eAAe;QACzD,oHAAoH;QACpH,CAAC;YACC,MAAM,CAAC,aAAa,GAAG,SAAS,CAAA;QAClC,CAAC;QACD,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IACtD,CAAC;AACH,CAAC;AA2BD,SAAS,6BAA6B,CAAC,MAAgC;IAMrE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;IAClC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QAChD,MAAM,IAAI,oCAAsB,CAAC,4CAA4C,CAAC,CAAA;IAChF,CAAC;IACD,MAAM,KAAK,GAAG,IAAA,iCAAO,EAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACnC,IAAI,EAAkB,CAAA;IACtB,IAAI,CAAC;QACH,EAAE,GAAG,iBAAc,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,oCAAsB,CAAC,wCAAwC,CAAC,CAAA;IAC5E,CAAC;IACD,IAAI,IAAI,KAAK,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,oCAAsB,CAAC,4DAA4D,CAAC,CAAA;IAChG,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAA;AACvC,CAAC;AAED,KAAK,UAAU,2BAA2B,CACxC,OAAwB,EACxB,IAAY,EACZ,MAAgC,EAChC,WAA6B;IAE7B,IAAI,WAAW,CAAC,iBAAiB,IAAI,IAAI;QAAE,OAAM;IACjD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;QAAE,MAAM,IAAI,6BAAe,CAAC,8CAA8C,CAAC,CAAA;IACrG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1C,MAAM,IAAI,oCAAsB,CAAC,sEAAsE,CAAC,CAAA;IAC1G,CAAC;IACD,IAAI,WAAW,CAAC,iBAAiB,KAAK,UAAU,IAAI,WAAW,CAAC,wBAAwB,IAAI,IAAI,EAAE,CAAC;QACjG,MAAM,IAAI,oCAAsB,CAAC,6DAA6D,CAAC,CAAA;IACjG,CAAC;IACD,MAAM,QAAQ,GAAG,IAAA,8BAAa,EAAC,WAAW,CAAC,oBAAoB,CAAC,CAAA;IAChE,MAAM,OAAO,GACX,WAAW,CAAC,gBAAgB,KAAK,aAAa;QAC5C,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,QAAQ;QACvD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,QAAQ,CAAA;IAC/C,IAAI,OAAO;QAAE,MAAM,IAAI,oCAAsB,CAAC,sCAAsC,CAAC,CAAA;AACvF,CAAC;AAED,SAAS,0BAA0B,CAAC,WAA6B;IAC/D,IAAI,CAAC,WAAW,CAAC,UAAU;QAAE,MAAM,IAAI,oCAAsB,CAAC,wBAAwB,CAAC,CAAA;IACvF,IAAI,WAAW,CAAC,SAAS,IAAI,IAAI;QAAE,MAAM,IAAI,oCAAsB,EAAE,CAAA;IACrE,IAAI,WAAW,CAAC,MAAM,KAAK,UAAU,IAAI,WAAW,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QAC9E,MAAM,IAAI,oCAAsB,CAAC,8BAA8B,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;IACtF,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAAwB,EACxB,EAAkB,EAClB,cAAiC;IAEjC,IAAI,OAAO,CAAC,kBAAkB,IAAI,CAAC;QAAE,OAAM;IAC3C,MAAM,UAAU,GAAG,IAAA,gCAAe,EAAC,cAAc,CAAC,CAAA;IAClD,IAAI,UAAU,IAAI,IAAI;QAAE,MAAM,IAAI,2BAAa,EAAE,CAAA;IACjD,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CACrC,MAAM,CAAC,EAAE,CACP,MAAM,CAAC,QAAQ,KAAK,UAAU,CAAC,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,IAAA,kCAAQ,EAAC,UAAU,CAAC,aAAa,CAAC,CACjH,CAAA;IACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,oCAAsB,CAAC,6DAA6D,CAAC,CAAA;IACjG,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gCAAgC,CAC7C,OAAwB,EACxB,IAAY,EACZ,MAAgC;IAEhC,MAAM,MAAM,GAAG,IAAA,yBAAQ,EAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACpC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,6BAA6B,CAAC,MAAM,CAAC,CAAA;IAC5E,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;IACtC,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,oCAAsB,CAAC;;2FAEsD,CAAC,CAAA;IAC1F,CAAC;IACD,MAAM,eAAe,GAAG,IAAA,2CAAoB,EAAC,KAAK,CAAC,CAAA;IACnD,MAAM,WAAW,GAAG,IAAA,0BAAS,EAC3B,MAAM,OAAO,CAAC,gBAAgB,CAAC;QAC7B,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;KAC/B,CAAC,CACH,CAAA;IACD,MAAM,2BAA2B,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;IACrE,0BAA0B,CAAC,WAAW,CAAC,CAAA;IACvC,MAAM,aAAa,GAAG,IAAA,yBAAQ,EAAC,WAAW,CAAC,aAAa,CAAC,CAAA;IACzD,wEAAwE;IACxE,4EAA4E;IAC5E,oCAAoC;IACpC,MAAM,CAAC,aAAa,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACxD,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,CAAC;QAC3D,OAAO,CAAC,kBAAkB,GAAG,CAAC;YAC5B,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC;YACjE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;KACxB,CAAC,CAAA;IAEF,wBAAwB,CAAC,OAAO,EAAE,EAAE,EAAE,cAAc,CAAC,CAAA;IAErD,MAAM,GAAG,GAAG,qCAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC,CAAA;IAC1E,GAAG,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAA;IAEzC,sEAAsE;IACtE,oFAAoF;IACpF,+CAA+C;IAC/C,0CAA0C;IAC1C,qEAAqE;IACrE,EAAE;IACF,2FAA2F;IAC3F,gGAAgG;IAChG,oFAAoF;IACpF,+CAA+C;IAC/C,oDAAoD;IACpD,qJAAqJ;IACrJ,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAE3D,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAA;IACvB,MAAM,KAAK,GAAkC;QAC3C,SAAS;QACT,IAAI;QACJ,KAAK;QACL,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;QAC3D,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,kDAAkD;QAClD,EAAE;QACF,eAAe;QACf,aAAa;QACb,WAAW;QACX,aAAa;QACb,GAAG;QACH,aAAa,EAAE,EAAE;QACjB,0EAA0E;QAC1E,iBAAiB,EAAE;YACjB,IAAI;YACJ,KAAK,EAAE,SAAS;YAChB,SAAS,EAAE,SAAS;YACpB,MAAM,EAAE,MAAM,CAAC,EAAE;SAClB;QACD,UAAU;KACX,CAAA;IACD,IAAI,WAAW,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;QAC1C,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,GAAG,QAAQ,CAAA;QACpD,KAAK,CAAC,iBAAiB,CAAC,sBAAsB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAC7D,CAAC;IAED,oGAAoG;IACpG,gHAAgH;IAChH,qEAAqE;IACrE,kBAAkB,CAAC,OAAO,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;IAEtC,OAAO,KAAK,CAAA;AACd,CAAC;AAOD,KAAK,UAAU,oBAAoB,CACjC,OAAwB,EACxB,MAAc,EACd,KAAoC;IAEpC,IAAI,GAAG,GAAG,KAAK,CAAC,GAAG,CAAA;IAEnB,oEAAoE;IACpE,yEAAyE;IACzE,2EAA2E;IAC3E,2EAA2E;IAC3E,wDAAwD;IACxD,MAAM,mBAAmB,GACvB,KAAK,CAAC,WAAW,CAAC,iBAAiB,IAAI,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC,gBAAgB,KAAK,aAAa;QACjG,CAAC,CAAC,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE;QACzC,CAAC,CAAC,SAAS,CAAA;IACf,MAAM,kBAAkB,GACtB,mBAAmB,IAAI,IAAI,IAAI,mBAAmB,IAAI,IAAA,8BAAa,EAAC,KAAK,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAA;IAC7G,IAAI,kBAAkB,EAAE,CAAC;QACvB,MAAM,IAAI,oCAAsB,CAAC,2DAA2D,CAAC,CAAA;IAC/F,CAAC;IAED,GAAG,GAAG,IAAA,mBAAQ,EAAC,GAAG,EAAE,oCAAoC,CAAC,CAAA;IAEzD,IAAI,GAAkC,CAAA;IAEtC,MAAM,OAAO,CAAC,WAAW,CAAC,KAAK,EAAC,GAAG,EAAC,EAAE;QACpC,GAAG,GAAG,IAAA,mBAAQ,EAAC,GAAG,EAAE,4DAA4D,CAAC,CAAA;QAEjF,IAAI,KAAK,CAAC,WAAW,CAAC,iBAAiB,IAAI,IAAI,EAAE,CAAC;YAChD,MAAM,OAAO,GAAG,IAAA,0BAAS,EAAC,MAAM,OAAO,CAAC,gBAAgB,CAAC;gBACvD,OAAO,EAAE,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE;gBACvD,GAAG;aACJ,CAAC,CAAC,CAAA;YACH,IAAI,OAAO,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;gBAC7C,MAAM,IAAI,oCAAsB,CAAC,2DAA2D,CAAC,CAAA;YAC/F,CAAC;YACD,MAAM,QAAQ,GAAG,IAAA,8BAAa,EAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;YAC5D,MAAM,OAAO,GACX,OAAO,CAAC,gBAAgB,KAAK,aAAa;gBACxC,CAAC,CAAC,mBAAmB,IAAI,IAAI,IAAI,mBAAmB,IAAI,QAAQ;gBAChE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,QAAQ,CAAA;YAC/C,IAAI,OAAO;gBAAE,MAAM,IAAI,oCAAsB,CAAC,2DAA2D,CAAC,CAAA;YAC1G,IAAI,CAAC,MAAM,OAAO,CAAC,8BAA8B,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC;gBACpG,MAAM,IAAI,oCAAsB,CAAC,2DAA2D,CAAC,CAAA;YAC/F,CAAC;QACH,CAAC;QAED,2FAA2F;QAC3F,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;QAEjD,GAAG,GAAG,IAAA,mBAAQ,EAAC,GAAG,EAAE,+CAA+C,CAAC,CAAA;QAEpE,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACrC,MAAM,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;QACnD,CAAC;QAED,GAAG,GAAG,IAAA,mBAAQ,EAAC,GAAG,EAAE,kDAAkD,CAAC,CAAA;QAEvE,MAAM,iBAAiB,GAAG,EAAE,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAA;QACxD,OAAO,iBAAiB,CAAC,iBAAiB,CAAA;QAC1C,MAAM,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAAa,EAAE,iBAAiB,EAAE,GAAG,CAAC,CAAA;QAE5E,GAAG,GAAG,IAAA,mBAAQ,EAAC,GAAG,EAAE,0DAA0D,CAAC,CAAA;IACjF,CAAC,CAAC,CAAA;IAEF,GAAG,GAAG,IAAA,mBAAQ,EAAC,GAAG,EAAE,iEAAiE,CAAC,CAAA;IAEtF,MAAM,CAAC,GAAuB;QAC5B,GAAG,EAAE,IAAA,6BAAY,EAAC,GAAG,CAAC;QACtB,GAAG;KACJ,CAAA;IAED,GAAG,GAAG,IAAA,mBAAQ,EAAC,GAAG,EAAE,kCAAkC,CAAC,CAAA;IAEvD,OAAO,CAAC,CAAA;AACV,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"purgeData.d.ts","sourceRoot":"","sources":["../../../../src/storage/methods/purgeData.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAyB,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAQ/G,wBAAsB,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CA8BhH"}
1
+ {"version":3,"file":"purgeData.d.ts","sourceRoot":"","sources":["../../../../src/storage/methods/purgeData.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAyB,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AAQ/G,wBAAsB,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CA0ChH"}
@@ -15,6 +15,15 @@ async function purgeData(storage, params, trx) {
15
15
  if (params.purgeSpent) {
16
16
  await purgeSpentData(storage, params.purgeSpentAge || defaultAge, r, trx);
17
17
  }
18
+ await runPurgeQuery({
19
+ log: 'unused prepared BEEFs deleted',
20
+ q: storage
21
+ .toDb(trx)('prepared_beefs')
22
+ .whereRaw('not exists(select outputId from outputs as o where ' +
23
+ 'o.userId = prepared_beefs.userId and o.txid = prepared_beefs.rootTxid and ' +
24
+ 'o.spendable = 1 and o.spentBy is null)')
25
+ .delete()
26
+ }, r);
18
27
  await runPurgeQuery({
19
28
  log: 'orphan proven_txs deleted',
20
29
  q: storage
@@ -1 +1 @@
1
- {"version":3,"file":"purgeData.js","sourceRoot":"","sources":["../../../../src/storage/methods/purgeData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"purgeData.js","sourceRoot":"","sources":["../../../../src/storage/methods/purgeData.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { WalletServices } from '../../sdk/WalletServices.interfaces';
2
+ import { TableProvenTx } from '../schema/tables/TableProvenTx';
3
+ interface SyncProofValidationStorage {
4
+ getServices: () => WalletServices;
5
+ }
6
+ /** Normalize text-key identifiers before lookup or persistence. */
7
+ export declare function canonicalizeSyncProofIdentifiers(candidate: TableProvenTx): void;
8
+ /** Compare proof authority fields, excluding local IDs and timestamps. */
9
+ export declare function sameSyncProof(a: TableProvenTx, b: TableProvenTx): boolean;
10
+ /** Record that preflight found no row which this candidate may replace. */
11
+ export declare function markSyncProofInsertOnly(candidate: TableProvenTx): void;
12
+ /**
13
+ * Enforce the pre-transaction proof decision again at the entity merge point.
14
+ * This closes the race where another process inserts the txid after preflight.
15
+ */
16
+ export declare function assertSyncProofReplacementAuthorized(candidate: TableProvenTx): void;
17
+ /**
18
+ * Validate proof authority before an RPC proof is admitted or an in-process
19
+ * backup/conflict proof replaces an existing global row. Network-backed checks
20
+ * run before the storage merge transaction is opened.
21
+ */
22
+ export declare function validateSyncProof(storage: SyncProofValidationStorage, candidate: TableProvenTx): Promise<void>;
23
+ export {};
24
+ //# sourceMappingURL=validateSyncProof.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateSyncProof.d.ts","sourceRoot":"","sources":["../../../../src/storage/methods/validateSyncProof.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAA;AAGpE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAE9D,UAAU,0BAA0B;IAClC,WAAW,EAAE,MAAM,cAAc,CAAA;CAClC;AAaD,mEAAmE;AACnE,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,CAW/E;AAED,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,OAAO,CAQzE;AAED,2EAA2E;AAC3E,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,CAEtE;AAED;;;GAGG;AACH,wBAAgB,oCAAoC,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI,CAMnF;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,0BAA0B,EACnC,SAAS,EAAE,aAAa,GACvB,OAAO,CAAC,IAAI,CAAC,CAiDf"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canonicalizeSyncProofIdentifiers = canonicalizeSyncProofIdentifiers;
4
+ exports.sameSyncProof = sameSyncProof;
5
+ exports.markSyncProofInsertOnly = markSyncProofInsertOnly;
6
+ exports.assertSyncProofReplacementAuthorized = assertSyncProofReplacementAuthorized;
7
+ exports.validateSyncProof = validateSyncProof;
8
+ const sdk_1 = require("@bsv/sdk");
9
+ const WERR_errors_1 = require("../../sdk/WERR_errors");
10
+ const utilityHelpers_1 = require("../../utility/utilityHelpers");
11
+ const utilityHelpers_noBuffer_1 = require("../../utility/utilityHelpers.noBuffer");
12
+ const replacementAuthorized = new WeakSet();
13
+ const insertOnly = new WeakSet();
14
+ function equalBytes(a, b) {
15
+ return a.length === b.length && a.every((value, index) => value === b[index]);
16
+ }
17
+ function invalidSyncProof(message) {
18
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('provenTx', `a server-verified proof. ${message}`);
19
+ }
20
+ /** Normalize text-key identifiers before lookup or persistence. */
21
+ function canonicalizeSyncProofIdentifiers(candidate) {
22
+ if (!/^[0-9a-f]{64}$/i.test(candidate.txid))
23
+ invalidSyncProof('txid must be 32-byte hexadecimal');
24
+ if (!/^[0-9a-f]{64}$/i.test(candidate.blockHash)) {
25
+ invalidSyncProof('block hash must be 32-byte hexadecimal');
26
+ }
27
+ if (!/^[0-9a-f]{64}$/i.test(candidate.merkleRoot)) {
28
+ invalidSyncProof('Merkle root must be 32-byte hexadecimal');
29
+ }
30
+ candidate.txid = candidate.txid.toLowerCase();
31
+ candidate.blockHash = candidate.blockHash.toLowerCase();
32
+ candidate.merkleRoot = candidate.merkleRoot.toLowerCase();
33
+ }
34
+ /** Compare proof authority fields, excluding local IDs and timestamps. */
35
+ function sameSyncProof(a, b) {
36
+ return a.txid.toLowerCase() === b.txid.toLowerCase() &&
37
+ a.height === b.height &&
38
+ a.index === b.index &&
39
+ equalBytes(a.merklePath, b.merklePath) &&
40
+ equalBytes(a.rawTx, b.rawTx) &&
41
+ a.blockHash.toLowerCase() === b.blockHash.toLowerCase() &&
42
+ a.merkleRoot.toLowerCase() === b.merkleRoot.toLowerCase();
43
+ }
44
+ /** Record that preflight found no row which this candidate may replace. */
45
+ function markSyncProofInsertOnly(candidate) {
46
+ insertOnly.add(candidate);
47
+ }
48
+ /**
49
+ * Enforce the pre-transaction proof decision again at the entity merge point.
50
+ * This closes the race where another process inserts the txid after preflight.
51
+ */
52
+ function assertSyncProofReplacementAuthorized(candidate) {
53
+ if (replacementAuthorized.has(candidate))
54
+ return;
55
+ if (insertOnly.has(candidate)) {
56
+ invalidSyncProof('a concurrent proof row appeared; retry synchronization');
57
+ }
58
+ invalidSyncProof('replacement requires active-chain validation');
59
+ }
60
+ /**
61
+ * Validate proof authority before an RPC proof is admitted or an in-process
62
+ * backup/conflict proof replaces an existing global row. Network-backed checks
63
+ * run before the storage merge transaction is opened.
64
+ */
65
+ async function validateSyncProof(storage, candidate) {
66
+ canonicalizeSyncProofIdentifiers(candidate);
67
+ if (!Number.isSafeInteger(candidate.height) || candidate.height < 0) {
68
+ invalidSyncProof('height must be a non-negative safe integer');
69
+ }
70
+ if (!Number.isSafeInteger(candidate.index) || candidate.index < 0) {
71
+ invalidSyncProof('index must be a non-negative safe integer');
72
+ }
73
+ if (!Array.isArray(candidate.rawTx) || candidate.rawTx.length === 0) {
74
+ invalidSyncProof('raw transaction is required');
75
+ }
76
+ if (!Array.isArray(candidate.merklePath) || candidate.merklePath.length === 0) {
77
+ invalidSyncProof('Merkle path is required');
78
+ }
79
+ try {
80
+ const parsed = sdk_1.Transaction.fromBinary(candidate.rawTx);
81
+ const rawTxid = (0, utilityHelpers_noBuffer_1.asString)((0, utilityHelpers_1.doubleSha256BE)(candidate.rawTx));
82
+ if (parsed.id('hex') !== rawTxid || rawTxid !== candidate.txid.toLowerCase()) {
83
+ invalidSyncProof('raw transaction hash does not match txid');
84
+ }
85
+ const proof = sdk_1.MerklePath.fromBinary(candidate.merklePath);
86
+ if (proof.blockHeight !== candidate.height)
87
+ invalidSyncProof('Merkle path height does not match the record');
88
+ const leaf = proof.path[0]?.find(item => item.txid === true && item.hash === candidate.txid.toLowerCase());
89
+ if (leaf?.offset !== candidate.index) {
90
+ invalidSyncProof('Merkle path does not contain the transaction at the recorded index');
91
+ }
92
+ const root = proof.computeRoot(candidate.txid.toLowerCase());
93
+ if (root !== candidate.merkleRoot.toLowerCase())
94
+ invalidSyncProof('computed Merkle root does not match the record');
95
+ const services = storage.getServices();
96
+ const chainTracker = await services.getChainTracker();
97
+ if (!(await chainTracker.isValidRootForHeight(root, candidate.height))) {
98
+ invalidSyncProof('Merkle root is not active at the recorded height');
99
+ }
100
+ const header = await services.getHeaderForHeight(candidate.height);
101
+ if (header.length !== 80)
102
+ invalidSyncProof('active block header must be 80 bytes');
103
+ const activeHash = (0, utilityHelpers_noBuffer_1.asString)((0, utilityHelpers_1.doubleSha256BE)(header));
104
+ const activeMerkleRoot = (0, utilityHelpers_noBuffer_1.asString)(header.slice(36, 68).reverse());
105
+ if (activeHash !== candidate.blockHash.toLowerCase() || activeMerkleRoot !== root) {
106
+ invalidSyncProof('block metadata does not match the active header');
107
+ }
108
+ replacementAuthorized.add(candidate);
109
+ }
110
+ catch (error) {
111
+ if (error instanceof WERR_errors_1.WERR_INVALID_PARAMETER)
112
+ throw error;
113
+ invalidSyncProof('transaction, Merkle path, or active header could not be validated');
114
+ }
115
+ }
116
+ //# sourceMappingURL=validateSyncProof.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateSyncProof.js","sourceRoot":"","sources":["../../../../src/storage/methods/validateSyncProof.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { AbortActionArgs, AbortActionResult, InternalizeActionArgs, ListActionsResult, ListCertificatesResult, ListOutputsResult, RelinquishCertificateArgs, RelinquishOutputArgs, WalletInterface, AuthFetch, Validation, Telemetry, TelemetryConfig, TelemetrySpan } from '@bsv/sdk';
2
- import { AuthId, FindCertificatesArgs, FindOutputBasketsArgs, FindOutputsArgs, FindProvenTxReqsArgs, ProcessSyncChunkResult, RequestSyncChunkArgs, StorageCreateActionResult, StorageInternalizeActionResult, StorageProcessActionArgs, StorageProcessActionResults, SyncChunk, UpdateProvenTxReqWithNewProvenTxArgs, UpdateProvenTxReqWithNewProvenTxResult, WalletStorageProvider } from '../../sdk/WalletStorage.interfaces';
2
+ import { AuthId, FindCertificatesArgs, FindOutputBasketsArgs, FindOutputsArgs, FindProvenTxReqsArgs, ProcessSyncChunkResult, RequestSyncChunkArgs, StorageCreateActionResult, StorageInternalizeActionResult, StorageProcessActionArgs, StorageProcessActionResults, StoragePrepareNoSendExpiryResult, StorageActivateNoSendExpiryArgs, StorageActivateNoSendExpiryResult, StorageArmNoSendExpiryArgs, SyncChunk, UpdateProvenTxReqWithNewProvenTxArgs, UpdateProvenTxReqWithNewProvenTxResult, WalletStorageProvider } from '../../sdk/WalletStorage.interfaces';
3
3
  import { AbortActionBatchResult, ActionBatchManifest, BeginActionBatchArgs, BeginActionBatchResult, CommitActionBatchByDigestArgs, CommitActionBatchResult, ExtendActionBatchArgs, ExtendActionBatchResult, PrepareActionBatchCommitResult, PutActionBatchBlobArgs, PutActionBatchPackArgs, ResumeActionBatchArgs, ResumeActionBatchResult, RenewActionBatchResult, StorageCapabilities } from '../../sdk/ActionBatch.interfaces';
4
4
  import { TableSettings } from '../schema/tables/TableSettings';
5
5
  import { WalletServices } from '../../sdk/WalletServices.interfaces';
@@ -120,6 +120,9 @@ export declare abstract class StorageClientBase implements WalletStorageProvider
120
120
  * @returns `StorageProcessActionResults` supporting final wallet processing to yield `createAction` or `signAction` results.
121
121
  */
122
122
  processAction(auth: AuthId, args: StorageProcessActionArgs): Promise<StorageProcessActionResults>;
123
+ prepareNoSendExpiry(auth: AuthId, args: Validation.ValidCreateActionArgs): Promise<StoragePrepareNoSendExpiryResult>;
124
+ activateNoSendExpiry(auth: AuthId, args: StorageActivateNoSendExpiryArgs): Promise<StorageActivateNoSendExpiryResult>;
125
+ armNoSendExpiry(auth: AuthId, args: StorageArmNoSendExpiryArgs): Promise<void>;
123
126
  getCapabilities(): Promise<StorageCapabilities>;
124
127
  beginActionBatch(auth: AuthId, args: BeginActionBatchArgs): Promise<BeginActionBatchResult>;
125
128
  extendActionBatch(auth: AuthId, args: ExtendActionBatchArgs): Promise<ExtendActionBatchResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"StorageClientBase.d.ts","sourceRoot":"","sources":["../../../../src/storage/remoting/StorageClientBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StorageClientBase.d.ts","sourceRoot":"","sources":["../../../../src/storage/remoting/StorageClientBase.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,32 @@ const WERR_errors_1 = require("../../sdk/WERR_errors");
6
6
  const entityValidationHelpers_1 = require("./entityValidationHelpers");
7
7
  const actionBatchPack_1 = require("../../utility/actionBatchPack");
8
8
  const beefForTxids_1 = require("../../utility/beefForTxids");
9
+ function isLoopbackStorageHost(hostname) {
10
+ const normalized = hostname.toLowerCase();
11
+ return (normalized === 'localhost' ||
12
+ normalized === '127.0.0.1' ||
13
+ normalized === '[::1]' ||
14
+ normalized.endsWith('.localhost'));
15
+ }
16
+ function normalizeStorageEndpointUrl(endpointUrl) {
17
+ let parsed;
18
+ try {
19
+ parsed = new URL(endpointUrl);
20
+ }
21
+ catch {
22
+ throw new TypeError('Wallet storage endpoint must be an absolute URL.');
23
+ }
24
+ if (parsed.username !== '' || parsed.password !== '' || parsed.search !== '' || parsed.hash !== '') {
25
+ throw new TypeError('Wallet storage endpoint cannot include credentials, query, or fragment.');
26
+ }
27
+ if (parsed.protocol !== 'https:' && !(parsed.protocol === 'http:' && isLoopbackStorageHost(parsed.hostname))) {
28
+ throw new TypeError('Wallet storage endpoint requires HTTPS except on localhost.');
29
+ }
30
+ // Preserve the caller's path spelling because endpoint URLs are also
31
+ // surfaced through WalletStorageManager. Parsing above is the security
32
+ // boundary; canonicalizing here would be an unrelated observable change.
33
+ return endpointUrl;
34
+ }
9
35
  /**
10
36
  * Abstract base class shared by `StorageClient` and `StorageMobile`.
11
37
  *
@@ -24,7 +50,7 @@ class StorageClientBase {
24
50
  settings;
25
51
  constructor(wallet, endpointUrl, options = {}) {
26
52
  this.authClient = new sdk_1.AuthFetch(wallet);
27
- this.endpointUrl = endpointUrl;
53
+ this.endpointUrl = normalizeStorageEndpointUrl(endpointUrl);
28
54
  this.binaryRequests = options.binaryRequests === true;
29
55
  this.telemetry = new sdk_1.Telemetry(options.telemetry);
30
56
  }
@@ -190,6 +216,15 @@ class StorageClientBase {
190
216
  async processAction(auth, args) {
191
217
  return await this.rpcCall('processAction', [auth, args]);
192
218
  }
219
+ async prepareNoSendExpiry(auth, args) {
220
+ return await this.rpcCall('prepareNoSendExpiry', [auth, args]);
221
+ }
222
+ async activateNoSendExpiry(auth, args) {
223
+ return await this.rpcCall('activateNoSendExpiry', [auth, args]);
224
+ }
225
+ async armNoSendExpiry(auth, args) {
226
+ await this.rpcCall('armNoSendExpiry', [auth, args]);
227
+ }
193
228
  async getCapabilities() {
194
229
  return await this.rpcCall('getCapabilities', []);
195
230
  }