@bsv/wallet-toolbox 2.10.4 → 2.11.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 (155) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/README.md +47 -0
  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 +11 -1
  14. package/out/src/Wallet.js.map +1 -1
  15. package/out/src/WalletPermissionsManager.d.ts +30 -6
  16. package/out/src/WalletPermissionsManager.d.ts.map +1 -1
  17. package/out/src/WalletPermissionsManager.js +84 -9
  18. package/out/src/WalletPermissionsManager.js.map +1 -1
  19. package/out/src/mockchain/MockServices.d.ts +2 -0
  20. package/out/src/mockchain/MockServices.d.ts.map +1 -1
  21. package/out/src/mockchain/MockServices.js +20 -0
  22. package/out/src/mockchain/MockServices.js.map +1 -1
  23. package/out/src/monitor/Monitor.d.ts +1 -0
  24. package/out/src/monitor/Monitor.d.ts.map +1 -1
  25. package/out/src/monitor/Monitor.js +19 -3
  26. package/out/src/monitor/Monitor.js.map +1 -1
  27. package/out/src/monitor/tasks/TaskNoSendExpiry.d.ts +19 -0
  28. package/out/src/monitor/tasks/TaskNoSendExpiry.d.ts.map +1 -0
  29. package/out/src/monitor/tasks/TaskNoSendExpiry.js +47 -0
  30. package/out/src/monitor/tasks/TaskNoSendExpiry.js.map +1 -0
  31. package/out/src/monitor/tasks/index.all.d.ts +1 -0
  32. package/out/src/monitor/tasks/index.all.d.ts.map +1 -1
  33. package/out/src/monitor/tasks/index.all.js +1 -0
  34. package/out/src/monitor/tasks/index.all.js.map +1 -1
  35. package/out/src/sdk/ActionBatch.interfaces.d.ts +4 -0
  36. package/out/src/sdk/ActionBatch.interfaces.d.ts.map +1 -1
  37. package/out/src/sdk/WalletStorage.interfaces.d.ts +35 -0
  38. package/out/src/sdk/WalletStorage.interfaces.d.ts.map +1 -1
  39. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts +0 -1
  40. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.d.ts.map +1 -1
  41. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js +23 -12
  42. package/out/src/services/chaintracker/chaintracks/Storage/ChaintracksStorageKnex.js.map +1 -1
  43. package/out/src/signer/methods/createNoSendExpiryAction.d.ts +7 -0
  44. package/out/src/signer/methods/createNoSendExpiryAction.d.ts.map +1 -0
  45. package/out/src/signer/methods/createNoSendExpiryAction.js +249 -0
  46. package/out/src/signer/methods/createNoSendExpiryAction.js.map +1 -0
  47. package/out/src/signer/methods/signAction.d.ts.map +1 -1
  48. package/out/src/signer/methods/signAction.js +9 -0
  49. package/out/src/signer/methods/signAction.js.map +1 -1
  50. package/out/src/storage/StorageIdb.d.ts +3 -0
  51. package/out/src/storage/StorageIdb.d.ts.map +1 -1
  52. package/out/src/storage/StorageIdb.js +37 -1
  53. package/out/src/storage/StorageIdb.js.map +1 -1
  54. package/out/src/storage/StorageKnex.d.ts +48 -3
  55. package/out/src/storage/StorageKnex.d.ts.map +1 -1
  56. package/out/src/storage/StorageKnex.js +234 -14
  57. package/out/src/storage/StorageKnex.js.map +1 -1
  58. package/out/src/storage/StorageProvider.d.ts +6 -1
  59. package/out/src/storage/StorageProvider.d.ts.map +1 -1
  60. package/out/src/storage/StorageProvider.js +147 -5
  61. package/out/src/storage/StorageProvider.js.map +1 -1
  62. package/out/src/storage/StorageReaderWriter.d.ts +2 -0
  63. package/out/src/storage/StorageReaderWriter.d.ts.map +1 -1
  64. package/out/src/storage/StorageReaderWriter.js +4 -0
  65. package/out/src/storage/StorageReaderWriter.js.map +1 -1
  66. package/out/src/storage/WalletStorageManager.d.ts +11 -0
  67. package/out/src/storage/WalletStorageManager.d.ts.map +1 -1
  68. package/out/src/storage/WalletStorageManager.js +77 -12
  69. package/out/src/storage/WalletStorageManager.js.map +1 -1
  70. package/out/src/storage/idbHelpers.d.ts.map +1 -1
  71. package/out/src/storage/idbHelpers.js +14 -2
  72. package/out/src/storage/idbHelpers.js.map +1 -1
  73. package/out/src/storage/index.all.d.ts +2 -0
  74. package/out/src/storage/index.all.d.ts.map +1 -1
  75. package/out/src/storage/index.all.js +2 -0
  76. package/out/src/storage/index.all.js.map +1 -1
  77. package/out/src/storage/methods/createAction.d.ts +57 -1
  78. package/out/src/storage/methods/createAction.d.ts.map +1 -1
  79. package/out/src/storage/methods/createAction.js +195 -49
  80. package/out/src/storage/methods/createAction.js.map +1 -1
  81. package/out/src/storage/methods/noSendExpiry.d.ts +11 -0
  82. package/out/src/storage/methods/noSendExpiry.d.ts.map +1 -0
  83. package/out/src/storage/methods/noSendExpiry.js +357 -0
  84. package/out/src/storage/methods/noSendExpiry.js.map +1 -0
  85. package/out/src/storage/methods/noSendExpiryLifecycle.d.ts +14 -0
  86. package/out/src/storage/methods/noSendExpiryLifecycle.d.ts.map +1 -0
  87. package/out/src/storage/methods/noSendExpiryLifecycle.js +691 -0
  88. package/out/src/storage/methods/noSendExpiryLifecycle.js.map +1 -0
  89. package/out/src/storage/methods/preparedBeef.d.ts +104 -0
  90. package/out/src/storage/methods/preparedBeef.d.ts.map +1 -0
  91. package/out/src/storage/methods/preparedBeef.js +525 -0
  92. package/out/src/storage/methods/preparedBeef.js.map +1 -0
  93. package/out/src/storage/methods/processAction.d.ts.map +1 -1
  94. package/out/src/storage/methods/processAction.js +109 -28
  95. package/out/src/storage/methods/processAction.js.map +1 -1
  96. package/out/src/storage/methods/purgeData.d.ts.map +1 -1
  97. package/out/src/storage/methods/purgeData.js +9 -0
  98. package/out/src/storage/methods/purgeData.js.map +1 -1
  99. package/out/src/storage/methods/validateSyncProof.d.ts +24 -0
  100. package/out/src/storage/methods/validateSyncProof.d.ts.map +1 -0
  101. package/out/src/storage/methods/validateSyncProof.js +116 -0
  102. package/out/src/storage/methods/validateSyncProof.js.map +1 -0
  103. package/out/src/storage/remoting/StorageClientBase.d.ts +4 -1
  104. package/out/src/storage/remoting/StorageClientBase.d.ts.map +1 -1
  105. package/out/src/storage/remoting/StorageClientBase.js +9 -0
  106. package/out/src/storage/remoting/StorageClientBase.js.map +1 -1
  107. package/out/src/storage/remoting/StorageServer.d.ts.map +1 -1
  108. package/out/src/storage/remoting/StorageServer.js +16 -3
  109. package/out/src/storage/remoting/StorageServer.js.map +1 -1
  110. package/out/src/storage/schema/KnexMigrations.d.ts +2 -0
  111. package/out/src/storage/schema/KnexMigrations.d.ts.map +1 -1
  112. package/out/src/storage/schema/KnexMigrations.js +66 -1
  113. package/out/src/storage/schema/KnexMigrations.js.map +1 -1
  114. package/out/src/storage/schema/StorageIdbSchema.d.ts +2 -0
  115. package/out/src/storage/schema/StorageIdbSchema.d.ts.map +1 -1
  116. package/out/src/storage/schema/entities/EntityOutput.d.ts.map +1 -1
  117. package/out/src/storage/schema/entities/EntityOutput.js +13 -0
  118. package/out/src/storage/schema/entities/EntityOutput.js.map +1 -1
  119. package/out/src/storage/schema/entities/EntityProvenTx.d.ts +2 -0
  120. package/out/src/storage/schema/entities/EntityProvenTx.d.ts.map +1 -1
  121. package/out/src/storage/schema/entities/EntityProvenTx.js +33 -3
  122. package/out/src/storage/schema/entities/EntityProvenTx.js.map +1 -1
  123. package/out/src/storage/schema/entities/EntityTransaction.d.ts +26 -0
  124. package/out/src/storage/schema/entities/EntityTransaction.d.ts.map +1 -1
  125. package/out/src/storage/schema/entities/EntityTransaction.js +221 -21
  126. package/out/src/storage/schema/entities/EntityTransaction.js.map +1 -1
  127. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.d.ts +23 -0
  128. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.d.ts.map +1 -0
  129. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.js +3 -0
  130. package/out/src/storage/schema/tables/TablePreparedBeef.interfaces.js.map +1 -0
  131. package/out/src/storage/schema/tables/TableTransaction.d.ts +16 -0
  132. package/out/src/storage/schema/tables/TableTransaction.d.ts.map +1 -1
  133. package/out/src/storage/schema/tables/TableTransaction.js +14 -1
  134. package/out/src/storage/schema/tables/TableTransaction.js.map +1 -1
  135. package/out/src/utility/Argon2idBackend.d.ts +36 -0
  136. package/out/src/utility/Argon2idBackend.d.ts.map +1 -0
  137. package/out/src/utility/Argon2idBackend.js +60 -0
  138. package/out/src/utility/Argon2idBackend.js.map +1 -0
  139. package/out/src/utility/brc177NoSendExpiry.d.ts +34 -0
  140. package/out/src/utility/brc177NoSendExpiry.d.ts.map +1 -0
  141. package/out/src/utility/brc177NoSendExpiry.js +81 -0
  142. package/out/src/utility/brc177NoSendExpiry.js.map +1 -0
  143. package/out/src/utility/hashWasm.d.ts +2 -1
  144. package/out/src/utility/hashWasm.d.ts.map +1 -1
  145. package/out/src/utility/hashWasm.js +83 -1
  146. package/out/src/utility/hashWasm.js.map +1 -1
  147. package/out/src/utility/index.all.d.ts +2 -0
  148. package/out/src/utility/index.all.d.ts.map +1 -1
  149. package/out/src/utility/index.all.js +2 -0
  150. package/out/src/utility/index.all.js.map +1 -1
  151. package/out/src/utility/index.client.d.ts +2 -0
  152. package/out/src/utility/index.client.d.ts.map +1 -1
  153. package/out/src/utility/index.client.js +2 -0
  154. package/out/src/utility/index.client.js.map +1 -1
  155. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"StorageKnex.d.ts","sourceRoot":"","sources":["../../../src/storage/StorageKnex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StorageKnex.d.ts","sourceRoot":"","sources":["../../../src/storage/StorageKnex.ts"],"names":[],"mappings":"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"}
@@ -11,12 +11,17 @@ const reviewStatus_1 = require("./methods/reviewStatus");
11
11
  const WERR_errors_1 = require("../sdk/WERR_errors");
12
12
  const utilityHelpers_1 = require("../utility/utilityHelpers");
13
13
  const managedChange_1 = require("./methods/managedChange");
14
+ const preparedBeef_1 = require("./methods/preparedBeef");
14
15
  // Keep bulk statements below conservative SQLite/MySQL bind-parameter
15
16
  // ceilings. The surrounding transaction still makes a complete pack atomic.
16
17
  const ACTION_BATCH_BLOB_SQL_CHUNK = 500;
17
18
  const OUTPUT_INSERT_SQL_CHUNK = 500;
18
19
  class StorageKnex extends StorageProvider_1.StorageProvider {
19
20
  knex;
21
+ preparedBeefPolicy;
22
+ preparedBeefCoordinator;
23
+ preparedBeefReadSuspensions = new Set();
24
+ nextPreparedBeefReadSuspension = 0;
20
25
  querySpans = new Map();
21
26
  onQuery = (query) => {
22
27
  if (!this.telemetry.enabled || query.__knexQueryUid == null)
@@ -42,6 +47,8 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
42
47
  if (options.knex == null)
43
48
  throw new WERR_errors_1.WERR_INVALID_PARAMETER('options.knex', 'valid');
44
49
  this.knex = options.knex;
50
+ this.preparedBeefPolicy = (0, preparedBeef_1.validatePreparedBeefPolicy)(options.preparedBeef);
51
+ this.preparedBeefCoordinator = new preparedBeef_1.PreparedBeefCoordinator(this);
45
52
  if (this.telemetry.enabled) {
46
53
  this.knex.on('query', this.onQuery);
47
54
  this.knex.on('query-response', this.onQueryResponse);
@@ -68,7 +75,17 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
68
75
  span.end(error == null ? {} : { status: 'error', error });
69
76
  }
70
77
  supportsActionBatchPersistence() { return true; }
78
+ supportsNoSendExpiryPersistence() { return true; }
71
79
  requiresActionBatchCleanupBeforeCreateAction() { return false; }
80
+ async makeAvailable() {
81
+ const settings = await super.makeAvailable();
82
+ this.startPreparedBeefBackfill();
83
+ return settings;
84
+ }
85
+ setServices(services) {
86
+ super.setServices(services);
87
+ this.startPreparedBeefBackfill();
88
+ }
72
89
  async readSettings(trx) {
73
90
  return this.validateEntity((0, utilityHelpers_1.verifyOne)(await this.toDb(trx)('settings')));
74
91
  }
@@ -124,32 +141,227 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
124
141
  }
125
142
  return results;
126
143
  }
127
- dbTypeSubstring(source, fromOffset, forLength) {
128
- if (this.dbtype === 'MySQL')
129
- return `substring(${source} from ${fromOffset} for ${String(forLength)})`;
130
- return `substr(${source}, ${fromOffset}, ${String(forLength)})`;
144
+ async findPreparedBeefs(userId, rootTxids, trx) {
145
+ const unique = [...new Set(rootTxids)];
146
+ if (unique.length === 0)
147
+ return [];
148
+ let query = this.toDb(trx)('prepared_beefs')
149
+ .where({ userId, state: 'ready', formatVersion: preparedBeef_1.PREPARED_BEEF_FORMAT_VERSION })
150
+ .whereIn('rootTxid', unique);
151
+ // Enforce the per-row byte limit in SQL so a corrupt metadata value cannot
152
+ // make Knex transfer an oversized blob before JavaScript validates it.
153
+ query = query.whereRaw('length(??) <= ?', ['beef', this.preparedBeefPolicy.maxArtifactBytes]);
154
+ const rows = await query;
155
+ return this.validateEntities(rows);
131
156
  }
132
- normaliseKnexRawResult(rs) {
133
- if (this.dbtype === 'MySQL')
134
- return rs[0];
135
- return rs;
157
+ /**
158
+ * Metadata-only foreground preflight for fragmented actions. SQL computes
159
+ * the actual blob lengths; BEEF bytes are not transferred to the process.
160
+ */
161
+ async readPreparedBeefLookupByteLength(userId, rootTxids) {
162
+ const unique = [...new Set(rootTxids)];
163
+ if (unique.length === 0)
164
+ return 0;
165
+ const row = await this.knex('prepared_beefs')
166
+ .where({ userId, state: 'ready', formatVersion: preparedBeef_1.PREPARED_BEEF_FORMAT_VERSION })
167
+ .whereIn('rootTxid', unique)
168
+ .first({ byteLength: this.knex.raw('coalesce(sum(length(??)), 0)', ['beef']) });
169
+ return Number(row?.byteLength ?? 0);
170
+ }
171
+ async readPreparedBeefProofEpoch(trx) {
172
+ const row = await this.toDb(trx)('prepared_beef_metadata')
173
+ .where({ preparedBeefMetadataId: 1 })
174
+ .first('proofEpoch');
175
+ if (row == null || !Number.isSafeInteger(Number(row.proofEpoch))) {
176
+ throw new WERR_errors_1.WERR_INTERNAL('prepared BEEF proof epoch is unavailable');
177
+ }
178
+ return Number(row.proofEpoch);
179
+ }
180
+ /**
181
+ * Cheap worker preflight. It prevents a large tenant-controlled no-send BEEF
182
+ * from being loaded and parsed merely to discover that COOK will reject it.
183
+ */
184
+ async readPreparedBeefSourceByteLength(rootTxid) {
185
+ const byteLength = (...columns) => this.knex.raw(columns.map(() => 'coalesce(length(??), 0)').join(' + '), columns);
186
+ const proven = await this.knex('proven_txs')
187
+ .where({ txid: rootTxid })
188
+ .first({ byteLength: byteLength('rawTx', 'merklePath') });
189
+ if (proven != null)
190
+ return Number(proven.byteLength);
191
+ const request = await this.knex('proven_tx_reqs')
192
+ .where({ txid: rootTxid })
193
+ .whereIn('status', ['unsent', 'unmined', 'unconfirmed', 'sending', 'nosend', 'completed'])
194
+ .first({ byteLength: byteLength('rawTx', 'inputBEEF') });
195
+ return request == null ? undefined : Number(request.byteLength);
196
+ }
197
+ async upsertPreparedBeef(artifact, expectedProofEpoch) {
198
+ return await this.transaction(async (trx) => {
199
+ let epochQuery = this.toDb(trx)('prepared_beef_metadata')
200
+ .where({ preparedBeefMetadataId: 1 });
201
+ // Serialize a worker commit with proof invalidation across MySQL server
202
+ // processes. SQLite serializes the subsequent write transaction.
203
+ if (this.dbtype === 'MySQL')
204
+ epochQuery = epochQuery.forUpdate();
205
+ const metadata = await epochQuery.first('proofEpoch');
206
+ if (metadata == null || Number(metadata.proofEpoch) !== expectedProofEpoch)
207
+ return false;
208
+ const row = await this.validateEntityForInsert(artifact, trx);
209
+ if (row.preparedBeefId === 0)
210
+ delete row.preparedBeefId;
211
+ const update = {
212
+ beef: row.beef,
213
+ checksum: row.checksum,
214
+ formatVersion: row.formatVersion,
215
+ state: row.state,
216
+ txCount: row.txCount,
217
+ bumpCount: row.bumpCount,
218
+ byteLength: row.byteLength,
219
+ updated_at: row.updated_at
220
+ };
221
+ await this.toDb(trx)('prepared_beefs')
222
+ .insert(row)
223
+ .onConflict(['userId', 'rootTxid'])
224
+ .merge(update);
225
+ return true;
226
+ });
227
+ }
228
+ async findPreparedBeefBackfillRoots(limit, formatVersion) {
229
+ const rows = await this.knex('outputs as o')
230
+ .join('transactions as t', function () {
231
+ this.on('t.transactionId', '=', 'o.transactionId').andOn('t.userId', '=', 'o.userId');
232
+ })
233
+ .leftJoin('prepared_beefs as pb', function () {
234
+ this.on('pb.userId', '=', 'o.userId')
235
+ .andOn('pb.rootTxid', '=', 'o.txid')
236
+ .andOnVal('pb.formatVersion', '=', formatVersion);
237
+ })
238
+ .where('o.spendable', true)
239
+ .whereNull('o.spentBy')
240
+ .where('o.change', true)
241
+ .where('o.providedBy', 'storage')
242
+ .where('o.purpose', 'change')
243
+ .where('o.type', 'P2PKH')
244
+ .whereNotNull('o.derivationPrefix')
245
+ .whereNotNull('o.derivationSuffix')
246
+ .whereNotNull('o.txid')
247
+ // Backfill only settled roots. Pending roots receive one organic
248
+ // processAction attempt and can be retried after a canonical read; a
249
+ // perpetual backfill loop must not poll an unconfirmed ancestry chain.
250
+ .where('t.status', 'completed')
251
+ .whereNotNull('t.provenTxId')
252
+ .whereNull('pb.preparedBeefId')
253
+ .select('o.userId', 'o.txid as rootTxid')
254
+ .groupBy('o.userId', 'o.txid')
255
+ .orderByRaw('MIN(o.outputId)')
256
+ .limit(limit);
257
+ return rows;
258
+ }
259
+ async invalidatePreparedBeefs(trx) {
260
+ if (trx == null) {
261
+ return await this.transaction(async (transaction) => await this.invalidatePreparedBeefs(transaction));
262
+ }
263
+ const metadataUpdates = await this.toDb(trx)('prepared_beef_metadata')
264
+ .where({ preparedBeefMetadataId: 1 })
265
+ .increment('proofEpoch', 1);
266
+ if (metadataUpdates !== 1)
267
+ throw new WERR_errors_1.WERR_INTERNAL('prepared BEEF proof epoch update failed');
268
+ return await this.toDb(trx)('prepared_beefs')
269
+ .where({ state: 'ready' })
270
+ .update(this.validatePartialForUpdate({
271
+ state: 'stale',
272
+ // A later backfill pass must not mistake an invalidated current-format
273
+ // row for a completed artifact.
274
+ formatVersion: 0
275
+ }));
276
+ }
277
+ async lookupPreparedBeefs(userId, rootTxids, parent) {
278
+ return await (0, preparedBeef_1.lookupPreparedBeefs)(this, userId, rootTxids, parent);
279
+ }
280
+ preparedBeefReadsEnabled() {
281
+ return this.preparedBeefPolicy.readEnabled && this.preparedBeefReadSuspensions.size === 0;
282
+ }
283
+ /**
284
+ * Synchronously close the local prepared-read gate before asynchronous reorg
285
+ * invalidation waits for manager/database locks. The returned release is
286
+ * idempotent; callers release it only after invalidation commits.
287
+ */
288
+ suspendPreparedBeefReads() {
289
+ const suspension = ++this.nextPreparedBeefReadSuspension;
290
+ this.preparedBeefReadSuspensions.add(suspension);
291
+ let released = false;
292
+ return () => {
293
+ if (released)
294
+ return;
295
+ released = true;
296
+ // This committed invalidation covers every reorg observed before it,
297
+ // including an earlier failed attempt. Do not clear a newer suspension
298
+ // whose database invalidation may still be pending.
299
+ for (const pending of this.preparedBeefReadSuspensions) {
300
+ if (pending <= suspension)
301
+ this.preparedBeefReadSuspensions.delete(pending);
302
+ }
303
+ };
304
+ }
305
+ preparedBeefWritesEnabled() {
306
+ return this.preparedBeefPolicy.writeEnabled;
307
+ }
308
+ /** Queue best-effort preparation after foreground action work has completed. */
309
+ enqueuePreparedBeef(preparation) {
310
+ return this.preparedBeefCoordinator.enqueue(preparation);
311
+ }
312
+ /** Start the optional, rate-limited existing-wallet backfill. */
313
+ startPreparedBeefBackfill() {
314
+ if (!this.isAvailable() || this._services == null)
315
+ return;
316
+ this.preparedBeefCoordinator.startBackfill();
317
+ }
318
+ /** Test/operator hook for waiting until currently queued work is complete. */
319
+ async waitForPreparedBeefTasks() {
320
+ await this.preparedBeefCoordinator.waitForIdle();
321
+ }
322
+ /** Stop accepting background work and settle an active preparation before shutdown. */
323
+ async stopPreparedBeefTasks() {
324
+ await this.preparedBeefCoordinator.stop();
325
+ }
326
+ rawTxSliceExpression(offset, length) {
327
+ const sql = this.dbtype === 'MySQL'
328
+ ? 'substring(?? from ? for ?)'
329
+ : 'substr(??, ?, ?)';
330
+ return this.knex.raw(sql, ['rawTx', offset + 1, length]);
136
331
  }
137
332
  async getRawTxSlice(txid, offset, length, trx) {
138
- const sub = this.dbTypeSubstring('rawTx', offset + 1, length);
139
- let rs = await this.toDb(trx).raw(`select ${sub} as rawTx from proven_txs where txid = '${txid}'`);
140
- const proven = (0, utilityHelpers_1.verifyOneOrNone)(this.normaliseKnexRawResult(rs));
333
+ const k = this.toDb(trx);
334
+ const slice = this.rawTxSliceExpression(offset, length);
335
+ const proven = (0, utilityHelpers_1.verifyOneOrNone)(await k('proven_txs')
336
+ .select({ rawTx: slice })
337
+ .where({ txid }));
141
338
  if (proven?.rawTx != null)
142
339
  return Array.from(proven.rawTx);
143
- rs = await this.toDb(trx).raw(`select ${sub} as rawTx from proven_tx_reqs where txid = '${txid}' and status in ('unsent', 'nosend', 'sending', 'unmined', 'completed', 'unfail')`);
144
- const req = (0, utilityHelpers_1.verifyOneOrNone)(this.normaliseKnexRawResult(rs));
340
+ const req = (0, utilityHelpers_1.verifyOneOrNone)(await k('proven_tx_reqs')
341
+ .select({ rawTx: slice })
342
+ .where({ txid })
343
+ .whereIn('status', ['unsent', 'nosend', 'sending', 'unmined', 'completed', 'unfail']));
145
344
  return req?.rawTx != null ? Array.from(req.rawTx) : undefined;
146
345
  }
147
346
  async getRawTxOfKnownValidTransaction(txid, offset, length, trx) {
148
347
  if (txid == null || txid === '')
149
348
  return undefined;
349
+ const hasOffset = offset !== undefined;
350
+ const hasLength = length !== undefined;
351
+ if (hasOffset !== hasLength) {
352
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('offset and length', 'both defined or both undefined');
353
+ }
354
+ if (hasOffset && (!/^[0-9a-f]{64}$/i.test(txid) ||
355
+ !Number.isSafeInteger(offset) ||
356
+ !Number.isSafeInteger(length) ||
357
+ offset < 0 ||
358
+ length < 0 ||
359
+ !Number.isSafeInteger(offset + length))) {
360
+ throw new WERR_errors_1.WERR_INVALID_PARAMETER('txid, offset and length', 'a hexadecimal transaction id and non-negative safe slice integers with a safe sum');
361
+ }
150
362
  if (!this.isAvailable())
151
363
  await this.makeAvailable();
152
- if (Number.isInteger(offset) && Number.isInteger(length)) {
364
+ if (hasOffset) {
153
365
  return await this.getRawTxSlice(txid, offset, length, trx);
154
366
  }
155
367
  const r = await this.getProvenOrRawTx(txid, trx);
@@ -597,6 +809,13 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
597
809
  }
598
810
  return r;
599
811
  }
812
+ async compareAndSetNoSendExpiryState(transactionId, expected, next, trx) {
813
+ await this.verifyReadyForDatabaseAccess(trx);
814
+ const updated = await this.toDb(trx)('transactions')
815
+ .where({ transactionId, noSendExpiryState: expected })
816
+ .update(this.validatePartialForUpdate({ noSendExpiryState: next }));
817
+ return updated === 1;
818
+ }
600
819
  async updateTxLabelMap(transactionId, txLabelId, update, trx) {
601
820
  await this.verifyReadyForDatabaseAccess(trx);
602
821
  return await this.toDb(trx)('tx_labels_map')
@@ -978,6 +1197,7 @@ class StorageKnex extends StorageProvider_1.StorageProvider {
978
1197
  return await this.getCount(this.findMonitorEventsQuery(args));
979
1198
  }
980
1199
  async destroy() {
1200
+ await this.stopPreparedBeefTasks();
981
1201
  this.knex.off('query', this.onQuery);
982
1202
  this.knex.off('query-response', this.onQueryResponse);
983
1203
  this.knex.off('query-error', this.onQueryError);