@bsv/overlay 2.0.2 → 2.0.4

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 (82) hide show
  1. package/dist/cjs/mod.js +6 -1
  2. package/dist/cjs/mod.js.map +1 -1
  3. package/dist/cjs/package.json +13 -11
  4. package/dist/cjs/src/BASM.js +92 -0
  5. package/dist/cjs/src/BASM.js.map +1 -0
  6. package/dist/cjs/src/BASMRemote.js +43 -0
  7. package/dist/cjs/src/BASMRemote.js.map +1 -0
  8. package/dist/cjs/src/Engine.js +649 -47
  9. package/dist/cjs/src/Engine.js.map +1 -1
  10. package/dist/cjs/src/GASP/OverlayGASPRemote.js +2 -2
  11. package/dist/cjs/src/GASP/OverlayGASPRemote.js.map +1 -1
  12. package/dist/cjs/src/GASP/OverlayGASPStorage.js +18 -25
  13. package/dist/cjs/src/GASP/OverlayGASPStorage.js.map +1 -1
  14. package/dist/cjs/src/storage/knex/KnexStorage.js +329 -12
  15. package/dist/cjs/src/storage/knex/KnexStorage.js.map +1 -1
  16. package/dist/cjs/src/storage/knex/all-migrations.js +3 -1
  17. package/dist/cjs/src/storage/knex/all-migrations.js.map +1 -1
  18. package/dist/cjs/src/storage/knex/migrations/2025-05-28-001-enlarge.js +2 -24
  19. package/dist/cjs/src/storage/knex/migrations/2025-05-28-001-enlarge.js.map +1 -1
  20. package/dist/cjs/src/storage/knex/migrations/2026-05-29-001-brc136-basm.js +114 -0
  21. package/dist/cjs/src/storage/knex/migrations/2026-05-29-001-brc136-basm.js.map +1 -0
  22. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  23. package/dist/esm/mod.js +1 -0
  24. package/dist/esm/mod.js.map +1 -1
  25. package/dist/esm/src/BASM.js +85 -0
  26. package/dist/esm/src/BASM.js.map +1 -0
  27. package/dist/esm/src/BASMRemote.js +42 -0
  28. package/dist/esm/src/BASMRemote.js.map +1 -0
  29. package/dist/esm/src/Engine.js +637 -46
  30. package/dist/esm/src/Engine.js.map +1 -1
  31. package/dist/esm/src/GASP/OverlayGASPRemote.js +2 -2
  32. package/dist/esm/src/GASP/OverlayGASPRemote.js.map +1 -1
  33. package/dist/esm/src/GASP/OverlayGASPStorage.js +18 -25
  34. package/dist/esm/src/GASP/OverlayGASPStorage.js.map +1 -1
  35. package/dist/esm/src/storage/knex/KnexStorage.js +323 -12
  36. package/dist/esm/src/storage/knex/KnexStorage.js.map +1 -1
  37. package/dist/esm/src/storage/knex/all-migrations.js +3 -1
  38. package/dist/esm/src/storage/knex/all-migrations.js.map +1 -1
  39. package/dist/esm/src/storage/knex/migrations/2025-05-28-001-enlarge.js +2 -24
  40. package/dist/esm/src/storage/knex/migrations/2025-05-28-001-enlarge.js.map +1 -1
  41. package/dist/esm/src/storage/knex/migrations/2026-05-29-001-brc136-basm.js +109 -0
  42. package/dist/esm/src/storage/knex/migrations/2026-05-29-001-brc136-basm.js.map +1 -0
  43. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  44. package/dist/types/mod.d.ts +2 -0
  45. package/dist/types/mod.d.ts.map +1 -1
  46. package/dist/types/src/BASM.d.ts +110 -0
  47. package/dist/types/src/BASM.d.ts.map +1 -0
  48. package/dist/types/src/BASMRemote.d.ts +14 -0
  49. package/dist/types/src/BASMRemote.d.ts.map +1 -0
  50. package/dist/types/src/Engine.d.ts +78 -1
  51. package/dist/types/src/Engine.d.ts.map +1 -1
  52. package/dist/types/src/GASP/OverlayGASPStorage.d.ts +1 -1
  53. package/dist/types/src/GASP/OverlayGASPStorage.d.ts.map +1 -1
  54. package/dist/types/src/LookupService.d.ts.map +1 -1
  55. package/dist/types/src/storage/Storage.d.ts +118 -0
  56. package/dist/types/src/storage/Storage.d.ts.map +1 -1
  57. package/dist/types/src/storage/knex/KnexStorage.d.ts +38 -6
  58. package/dist/types/src/storage/knex/KnexStorage.d.ts.map +1 -1
  59. package/dist/types/src/storage/knex/all-migrations.d.ts.map +1 -1
  60. package/dist/types/src/storage/knex/migrations/2025-05-28-001-enlarge.d.ts.map +1 -1
  61. package/dist/types/src/storage/knex/migrations/2026-05-29-001-brc136-basm.d.ts +4 -0
  62. package/dist/types/src/storage/knex/migrations/2026-05-29-001-brc136-basm.d.ts.map +1 -0
  63. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  64. package/docs/BRC-136-BASM.md +285 -0
  65. package/docs/README.md +2 -0
  66. package/docs/Synchronization.md +10 -1
  67. package/mod.ts +25 -1
  68. package/package.json +25 -23
  69. package/src/BASM.ts +208 -0
  70. package/src/BASMRemote.ts +54 -0
  71. package/src/Engine.ts +762 -47
  72. package/src/GASP/OverlayGASPRemote.ts +2 -2
  73. package/src/GASP/OverlayGASPStorage.ts +17 -22
  74. package/src/LookupService.ts +2 -1
  75. package/src/__tests/BASM.test.ts +44 -0
  76. package/src/__tests/BASMChain.test.ts +290 -0
  77. package/src/__tests/Engine.test.ts +3 -4
  78. package/src/storage/Storage.ts +127 -0
  79. package/src/storage/knex/KnexStorage.ts +376 -14
  80. package/src/storage/knex/all-migrations.ts +3 -1
  81. package/src/storage/knex/migrations/2025-05-28-001-enlarge.ts +2 -22
  82. package/src/storage/knex/migrations/2026-05-29-001-brc136-basm.ts +123 -0
@@ -1,3 +1,5 @@
1
+ import { Transaction } from '@bsv/sdk';
2
+ import { BASM_ZERO_HASH, extractMerkleProofMetadata } from '../../BASM.js';
1
3
  const OUTPUT_SELECT_FIELDS = [
2
4
  'outputs.txid',
3
5
  'outputs.outputIndex',
@@ -7,6 +9,7 @@ const OUTPUT_SELECT_FIELDS = [
7
9
  'outputs.outputsConsumed',
8
10
  'outputs.spent',
9
11
  'outputs.consumedBy',
12
+ 'outputs.blockHeight',
10
13
  'outputs.score'
11
14
  ];
12
15
  export class KnexStorage {
@@ -24,12 +27,44 @@ export class KnexStorage {
24
27
  return {
25
28
  ...row,
26
29
  outputScript: Array.from(row.outputScript),
27
- beef: includeBEEF ? (beefOverride ?? (row.beef !== undefined ? Array.from(row.beef) : undefined)) : undefined,
30
+ beef: (() => {
31
+ if (!includeBEEF)
32
+ return undefined;
33
+ if (beefOverride != null)
34
+ return beefOverride;
35
+ return row.beef != null ? Array.from(row.beef) : undefined;
36
+ })(),
28
37
  spent: Boolean(row.spent),
29
38
  outputsConsumed: this.parseOutputRelations(row.outputsConsumed),
30
39
  consumedBy: this.parseOutputRelations(row.consumedBy)
31
40
  };
32
41
  }
42
+ binaryToNumberArray(value) {
43
+ if (value === undefined || value === null) {
44
+ return undefined;
45
+ }
46
+ return Array.from(Buffer.from(value));
47
+ }
48
+ binaryToHex(value) {
49
+ const array = this.binaryToNumberArray(value);
50
+ if (array === undefined) {
51
+ return undefined;
52
+ }
53
+ return Buffer.from(array).toString('hex');
54
+ }
55
+ transactionRecordFromBEEF(txid, beef) {
56
+ const tx = Transaction.fromBEEF(beef);
57
+ const metadata = extractMerkleProofMetadata(txid, tx.merklePath);
58
+ return {
59
+ txid,
60
+ beef: tx.merklePath === undefined ? beef : tx.toAtomicBEEF(),
61
+ rawTx: Array.from(tx.toBinary()),
62
+ merklePath: tx.merklePath?.toBinary(),
63
+ blockHeight: metadata?.blockHeight,
64
+ blockIndex: metadata?.blockIndex,
65
+ merkleRoot: metadata?.merkleRoot
66
+ };
67
+ }
33
68
  async fetchTransactionBeefMap(txids) {
34
69
  if (txids.length === 0) {
35
70
  return new Map();
@@ -39,7 +74,7 @@ export class KnexStorage {
39
74
  .select(['txid', 'beef']);
40
75
  const beefByTxid = new Map();
41
76
  for (const row of rows) {
42
- if (row.beef !== undefined) {
77
+ if (row.beef !== undefined && row.beef !== null) {
43
78
  beefByTxid.set(row.txid, Array.from(row.beef));
44
79
  }
45
80
  }
@@ -128,10 +163,10 @@ export class KnexStorage {
128
163
  const beefByTxid = await this.fetchTransactionBeefMap(txids);
129
164
  return outputs.map(output => this.parseOutputRecord(output, true, beefByTxid.get(output.txid)));
130
165
  }
131
- async deleteOutput(txid, outputIndex, _) {
166
+ async deleteOutput(txid, outputIndex, topic) {
132
167
  await this.knex.transaction(async (trx) => {
133
168
  // Delete the specific output
134
- await trx('outputs').where({ txid, outputIndex }).del();
169
+ await trx('outputs').where({ txid, outputIndex, topic }).del();
135
170
  // Check how many outputs reference the same transaction
136
171
  const remainingOutputs = await trx('outputs').where({ txid }).count('* as count').first();
137
172
  if (remainingOutputs !== undefined && Number(remainingOutputs.count) === 0) {
@@ -157,14 +192,31 @@ export class KnexStorage {
157
192
  outputsConsumed: JSON.stringify(output.outputsConsumed),
158
193
  consumedBy: JSON.stringify(output.consumedBy),
159
194
  spent: output.spent,
160
- score: output.score
195
+ score: output.score,
196
+ blockHeight: output.blockHeight
161
197
  });
162
198
  }
163
199
  if (output.beef !== undefined) {
164
- await trx('transactions').insert({
200
+ const record = this.transactionRecordFromBEEF(output.txid, output.beef);
201
+ const transactionRecord = {
165
202
  txid: output.txid,
166
- beef: Buffer.from(output.beef)
167
- }).onConflict('txid').ignore();
203
+ updatedAt: new Date()
204
+ };
205
+ if (record.beef !== undefined)
206
+ transactionRecord.beef = Buffer.from(record.beef);
207
+ if (record.rawTx !== undefined)
208
+ transactionRecord.rawTx = Buffer.from(record.rawTx);
209
+ if (record.merklePath !== undefined)
210
+ transactionRecord.merklePath = Buffer.from(record.merklePath);
211
+ if (record.blockHeight !== undefined)
212
+ transactionRecord.blockHeight = record.blockHeight;
213
+ if (record.blockIndex !== undefined)
214
+ transactionRecord.blockIndex = record.blockIndex;
215
+ if (record.merkleRoot !== undefined)
216
+ transactionRecord.merkleRoot = record.merkleRoot;
217
+ const mergeRecord = { ...transactionRecord };
218
+ delete mergeRecord.txid;
219
+ await trx('transactions').insert(transactionRecord).onConflict('txid').merge(mergeRecord);
168
220
  }
169
221
  });
170
222
  }
@@ -183,9 +235,7 @@ export class KnexStorage {
183
235
  }).update('consumedBy', JSON.stringify(consumedBy));
184
236
  }
185
237
  async updateTransactionBEEF(txid, beef) {
186
- await this.knex('transactions').where({
187
- txid
188
- }).update('beef', Buffer.from(beef));
238
+ await this.upsertTransactionRecord(this.transactionRecordFromBEEF(txid, beef));
189
239
  }
190
240
  async updateOutputBlockHeight(txid, outputIndex, topic, blockHeight) {
191
241
  await this.knex('outputs').where({
@@ -194,10 +244,58 @@ export class KnexStorage {
194
244
  topic
195
245
  }).update('blockHeight', blockHeight);
196
246
  }
247
+ async upsertTransactionRecord(record) {
248
+ const insert = {
249
+ txid: record.txid,
250
+ updatedAt: new Date()
251
+ };
252
+ if (record.beef !== undefined)
253
+ insert.beef = Buffer.from(record.beef);
254
+ if (record.rawTx !== undefined)
255
+ insert.rawTx = Buffer.from(record.rawTx);
256
+ if (record.merklePath !== undefined)
257
+ insert.merklePath = Buffer.from(record.merklePath);
258
+ if (record.blockHeight !== undefined)
259
+ insert.blockHeight = record.blockHeight;
260
+ if (record.blockHash !== undefined)
261
+ insert.blockHash = record.blockHash;
262
+ if (record.blockIndex !== undefined)
263
+ insert.blockIndex = record.blockIndex;
264
+ if (record.merkleRoot !== undefined)
265
+ insert.merkleRoot = record.merkleRoot;
266
+ const merge = { ...insert };
267
+ delete merge.txid;
268
+ await this.knex('transactions')
269
+ .insert(insert)
270
+ .onConflict('txid')
271
+ .merge(merge);
272
+ }
273
+ async updateAppliedTransactionProof(record) {
274
+ await this.knex('applied_transactions')
275
+ .where({ txid: record.txid, topic: record.topic })
276
+ .update({
277
+ blockHeight: record.blockHeight,
278
+ blockHash: record.blockHash,
279
+ blockIndex: record.blockIndex,
280
+ merkleRoot: record.merkleRoot,
281
+ proven: true
282
+ });
283
+ if (record.blockHeight !== undefined) {
284
+ await this.knex('outputs')
285
+ .where({ txid: record.txid, topic: record.topic })
286
+ .update({ blockHeight: record.blockHeight });
287
+ }
288
+ }
197
289
  async insertAppliedTransaction(tx) {
198
290
  await this.knex('applied_transactions').insert({
199
291
  txid: tx.txid,
200
- topic: tx.topic
292
+ topic: tx.topic,
293
+ blockHeight: tx.blockHeight,
294
+ blockHash: tx.blockHash,
295
+ blockIndex: tx.blockIndex,
296
+ merkleRoot: tx.merkleRoot,
297
+ firstSeenHeight: tx.firstSeenHeight,
298
+ proven: tx.proven ?? false
201
299
  });
202
300
  }
203
301
  async doesAppliedTransactionExist(tx) {
@@ -220,5 +318,218 @@ export class KnexStorage {
220
318
  .first();
221
319
  return result ? result.since : 0;
222
320
  }
321
+ async findAdmittedTransactionsForBlock(topic, blockHeight, blockHash) {
322
+ let query = this.knex('applied_transactions')
323
+ .where({ topic, blockHeight, proven: true })
324
+ .whereNotNull('blockIndex');
325
+ if (blockHash !== undefined) {
326
+ query = query.andWhere({ blockHash });
327
+ }
328
+ const rows = await query
329
+ .select(['txid', 'blockIndex'])
330
+ .orderBy('blockIndex', 'asc');
331
+ return rows.map(row => ({
332
+ txid: row.txid,
333
+ blockIndex: Number(row.blockIndex)
334
+ }));
335
+ }
336
+ async upsertTopicBlockAnchor(anchor) {
337
+ await this.knex('topic_block_anchors')
338
+ .insert({
339
+ topic: anchor.topic,
340
+ blockHeight: anchor.blockHeight,
341
+ blockHash: anchor.blockHash,
342
+ basmRoot: anchor.basmRoot,
343
+ admittedCount: anchor.admittedCount,
344
+ tac: anchor.tac,
345
+ updatedAt: new Date()
346
+ })
347
+ .onConflict(['topic', 'blockHeight'])
348
+ .merge({
349
+ blockHash: anchor.blockHash,
350
+ basmRoot: anchor.basmRoot,
351
+ admittedCount: anchor.admittedCount,
352
+ tac: anchor.tac,
353
+ updatedAt: new Date()
354
+ });
355
+ }
356
+ async findTopicBlockAnchor(topic, blockHeight, blockHash) {
357
+ let query = this.knex('topic_block_anchors').where({ topic, blockHeight });
358
+ if (blockHash !== undefined) {
359
+ query = query.andWhere({ blockHash });
360
+ }
361
+ const row = await query.first();
362
+ if (row === undefined) {
363
+ return undefined;
364
+ }
365
+ return {
366
+ topic: row.topic,
367
+ blockHeight: Number(row.blockHeight),
368
+ blockHash: row.blockHash,
369
+ basmRoot: row.basmRoot,
370
+ admittedCount: Number(row.admittedCount),
371
+ tac: row.tac
372
+ };
373
+ }
374
+ async findTopicBlockAnchors(topic, fromHeight, toHeight) {
375
+ const rows = await this.knex('topic_block_anchors')
376
+ .where({ topic })
377
+ .andWhere('blockHeight', '>=', fromHeight)
378
+ .andWhere('blockHeight', '<=', toHeight)
379
+ .select(['topic', 'blockHeight', 'blockHash', 'basmRoot', 'admittedCount', 'tac'])
380
+ .orderBy('blockHeight', 'asc');
381
+ return rows.map(row => ({
382
+ topic: row.topic,
383
+ blockHeight: Number(row.blockHeight),
384
+ blockHash: row.blockHash,
385
+ basmRoot: row.basmRoot,
386
+ admittedCount: Number(row.admittedCount),
387
+ tac: row.tac
388
+ }));
389
+ }
390
+ async findTopicAnchorTip(topic) {
391
+ const row = await this.knex('topic_block_anchors')
392
+ .where({ topic })
393
+ .orderBy('blockHeight', 'desc')
394
+ .first();
395
+ if (row === undefined) {
396
+ return {
397
+ topic,
398
+ blockHeight: -1,
399
+ tac: BASM_ZERO_HASH
400
+ };
401
+ }
402
+ return {
403
+ topic: row.topic,
404
+ blockHeight: Number(row.blockHeight),
405
+ blockHash: row.blockHash,
406
+ basmRoot: row.basmRoot,
407
+ admittedCount: Number(row.admittedCount),
408
+ tac: row.tac
409
+ };
410
+ }
411
+ async findRawTransactions(txids) {
412
+ if (txids.length === 0)
413
+ return [];
414
+ const rows = await this.knex('transactions')
415
+ .whereIn('txid', txids)
416
+ .select(['txid', 'rawTx', 'beef']);
417
+ const records = [];
418
+ for (const row of rows) {
419
+ let rawTx = this.binaryToHex(row.rawTx);
420
+ if (rawTx === undefined) {
421
+ const beef = this.binaryToNumberArray(row.beef);
422
+ if (beef !== undefined) {
423
+ rawTx = Transaction.fromBEEF(beef, row.txid).toHex();
424
+ }
425
+ }
426
+ if (rawTx !== undefined) {
427
+ records.push({ txid: row.txid, rawTx });
428
+ }
429
+ }
430
+ return records;
431
+ }
432
+ async findTransactionMerklePaths(txids) {
433
+ if (txids.length === 0)
434
+ return [];
435
+ const rows = await this.knex('transactions')
436
+ .whereIn('txid', txids)
437
+ .select(['txid', 'merklePath', 'blockHeight', 'blockHash', 'blockIndex', 'merkleRoot', 'beef']);
438
+ const records = [];
439
+ for (const row of rows) {
440
+ let merklePath = this.binaryToHex(row.merklePath);
441
+ if (merklePath === undefined) {
442
+ const beef = this.binaryToNumberArray(row.beef);
443
+ if (beef !== undefined) {
444
+ merklePath = Transaction.fromBEEF(beef, row.txid).merklePath?.toHex();
445
+ }
446
+ }
447
+ if (merklePath !== undefined) {
448
+ records.push({
449
+ txid: row.txid,
450
+ merklePath,
451
+ blockHeight: row.blockHeight === undefined || row.blockHeight === null ? undefined : Number(row.blockHeight),
452
+ blockHash: row.blockHash,
453
+ blockIndex: row.blockIndex === undefined || row.blockIndex === null ? undefined : Number(row.blockIndex),
454
+ merkleRoot: row.merkleRoot
455
+ });
456
+ }
457
+ }
458
+ return records;
459
+ }
460
+ async findUnprovenAppliedTransactions(cutoffHeight, topic) {
461
+ let query = this.knex('applied_transactions')
462
+ .where(builder => {
463
+ builder.where({ proven: false }).orWhereNull('proven');
464
+ })
465
+ .whereNotNull('firstSeenHeight')
466
+ .andWhere('firstSeenHeight', '<=', cutoffHeight)
467
+ .select(['txid', 'topic', 'firstSeenHeight']);
468
+ if (topic !== undefined) {
469
+ query = query.andWhere({ topic });
470
+ }
471
+ const rows = await query;
472
+ const candidates = [];
473
+ for (const row of rows) {
474
+ const outputs = await this.knex('outputs')
475
+ .where({ txid: row.txid, topic: row.topic })
476
+ .select(['txid', 'outputIndex']);
477
+ candidates.push({
478
+ txid: row.txid,
479
+ topic: row.topic,
480
+ firstSeenHeight: row.firstSeenHeight === undefined || row.firstSeenHeight === null ? undefined : Number(row.firstSeenHeight),
481
+ outputs: outputs.map(output => ({
482
+ txid: output.txid,
483
+ outputIndex: Number(output.outputIndex)
484
+ }))
485
+ });
486
+ }
487
+ return candidates;
488
+ }
489
+ async deleteAppliedTransaction(txid, topic) {
490
+ await this.knex('applied_transactions').where({ txid, topic }).del();
491
+ }
492
+ async findProvenAppliedTransactionsByBlockHash(blockHash) {
493
+ const rows = await this.knex('applied_transactions')
494
+ .where({ blockHash, proven: true })
495
+ .whereNotNull('blockHeight')
496
+ .select(['txid', 'topic', 'blockHeight']);
497
+ return rows.map(row => ({
498
+ txid: row.txid,
499
+ topic: row.topic,
500
+ blockHeight: Number(row.blockHeight)
501
+ }));
502
+ }
503
+ async findProvenAppliedTransactionsInRange(fromHeight, toHeight, topic) {
504
+ let query = this.knex('applied_transactions')
505
+ .where({ proven: true })
506
+ .andWhere('blockHeight', '>=', fromHeight)
507
+ .andWhere('blockHeight', '<=', toHeight);
508
+ if (topic !== undefined) {
509
+ query = query.andWhere({ topic });
510
+ }
511
+ const rows = await query.select(['txid', 'topic', 'blockHeight', 'blockHash', 'merkleRoot']);
512
+ return rows.map(row => ({
513
+ txid: row.txid,
514
+ topic: row.topic,
515
+ blockHeight: Number(row.blockHeight),
516
+ blockHash: row.blockHash ?? undefined,
517
+ merkleRoot: row.merkleRoot ?? undefined
518
+ }));
519
+ }
520
+ async demoteAppliedTransactionToUnproven(txid, topic) {
521
+ await this.knex('applied_transactions')
522
+ .where({ txid, topic })
523
+ .update({
524
+ blockHeight: null,
525
+ blockHash: null,
526
+ blockIndex: null,
527
+ merkleRoot: null,
528
+ proven: false
529
+ });
530
+ await this.knex('outputs')
531
+ .where({ txid, topic })
532
+ .update({ blockHeight: null });
533
+ }
223
534
  }
224
535
  //# sourceMappingURL=KnexStorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KnexStorage.js","sourceRoot":"","sources":["../../../../../src/storage/knex/KnexStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KnexStorage.js","sourceRoot":"","sources":["../../../../../src/storage/knex/KnexStorage.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { up as enlargeUp, down as enlargeDown } from './migrations/2025-05-28-00
6
6
  import { up as gaspPaginationSupportUp, down as gaspPaginationSupportDown } from './migrations/2025-06-25-001-gasp-pagination-support.js';
7
7
  import { up as fixScoreColumnTypeUp, down as fixScoreColumnTypeDown } from './migrations/2025-07-22-001-fix-score-column-type.js';
8
8
  import { up as utxoLookupIndexUp, down as utxoLookupIndexDown } from './migrations/2025-11-11-001-utxo-lookup-index.js';
9
+ import { up as brc136BasmUp, down as brc136BasmDown } from './migrations/2026-05-29-001-brc136-basm.js';
9
10
  const allMigrations = [
10
11
  { up: initialSchemaUp, down: initialSchemaDown },
11
12
  { up: addBlockHeightColumnUp, down: addBlockHeightColumnDown },
@@ -14,7 +15,8 @@ const allMigrations = [
14
15
  { up: enlargeUp, down: enlargeDown },
15
16
  { up: gaspPaginationSupportUp, down: gaspPaginationSupportDown },
16
17
  { up: fixScoreColumnTypeUp, down: fixScoreColumnTypeDown },
17
- { up: utxoLookupIndexUp, down: utxoLookupIndexDown }
18
+ { up: utxoLookupIndexUp, down: utxoLookupIndexDown },
19
+ { up: brc136BasmUp, down: brc136BasmDown }
18
20
  ];
19
21
  export default allMigrations;
20
22
  //# sourceMappingURL=all-migrations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"all-migrations.js","sourceRoot":"","sources":["../../../../../src/storage/knex/all-migrations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,IAAI,eAAe,EAAE,IAAI,IAAI,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AACzG,OAAO,EAAE,EAAE,IAAI,sBAAsB,EAAE,IAAI,IAAI,wBAAwB,EAAE,MAAM,6CAA6C,CAAA;AAC5H,OAAO,EAAE,EAAE,IAAI,sBAAsB,EAAE,IAAI,IAAI,wBAAwB,EAAE,MAAM,6CAA6C,CAAA;AAC5H,OAAO,EAAE,EAAE,IAAI,cAAc,EAAE,IAAI,IAAI,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACvG,OAAO,EAAE,EAAE,IAAI,SAAS,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,wCAAwC,CAAA;AAC7F,OAAO,EAAE,EAAE,IAAI,uBAAuB,EAAE,IAAI,IAAI,yBAAyB,EAAE,MAAM,wDAAwD,CAAA;AACzI,OAAO,EAAE,EAAE,IAAI,oBAAoB,EAAE,IAAI,IAAI,sBAAsB,EAAE,MAAM,sDAAsD,CAAA;AACjI,OAAO,EAAE,EAAE,IAAI,iBAAiB,EAAE,IAAI,IAAI,mBAAmB,EAAE,MAAM,kDAAkD,CAAA;AAUvH,MAAM,aAAa,GAAgB;IACjC,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE;IAChD,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,wBAAwB,EAAE;IAC9D,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,wBAAwB,EAAE;IAC9D,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAC9C,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;IACpC,EAAE,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,yBAAyB,EAAE;IAChE,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,sBAAsB,EAAE;IAC1D,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,mBAAmB,EAAE;CACrD,CAAA;AAED,eAAe,aAAa,CAAA"}
1
+ {"version":3,"file":"all-migrations.js","sourceRoot":"","sources":["../../../../../src/storage/knex/all-migrations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,IAAI,eAAe,EAAE,IAAI,IAAI,iBAAiB,EAAE,MAAM,wCAAwC,CAAA;AACzG,OAAO,EAAE,EAAE,IAAI,sBAAsB,EAAE,IAAI,IAAI,wBAAwB,EAAE,MAAM,6CAA6C,CAAA;AAC5H,OAAO,EAAE,EAAE,IAAI,sBAAsB,EAAE,IAAI,IAAI,wBAAwB,EAAE,MAAM,6CAA6C,CAAA;AAC5H,OAAO,EAAE,EAAE,IAAI,cAAc,EAAE,IAAI,IAAI,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AACvG,OAAO,EAAE,EAAE,IAAI,SAAS,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,wCAAwC,CAAA;AAC7F,OAAO,EAAE,EAAE,IAAI,uBAAuB,EAAE,IAAI,IAAI,yBAAyB,EAAE,MAAM,wDAAwD,CAAA;AACzI,OAAO,EAAE,EAAE,IAAI,oBAAoB,EAAE,IAAI,IAAI,sBAAsB,EAAE,MAAM,sDAAsD,CAAA;AACjI,OAAO,EAAE,EAAE,IAAI,iBAAiB,EAAE,IAAI,IAAI,mBAAmB,EAAE,MAAM,kDAAkD,CAAA;AACvH,OAAO,EAAE,EAAE,IAAI,YAAY,EAAE,IAAI,IAAI,cAAc,EAAE,MAAM,4CAA4C,CAAA;AAUvG,MAAM,aAAa,GAAgB;IACjC,EAAE,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE;IAChD,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,wBAAwB,EAAE;IAC9D,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,wBAAwB,EAAE;IAC9D,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE;IAC9C,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE;IACpC,EAAE,EAAE,EAAE,uBAAuB,EAAE,IAAI,EAAE,yBAAyB,EAAE;IAChE,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,sBAAsB,EAAE;IAC1D,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,mBAAmB,EAAE;IACpD,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE;CAC3C,CAAA;AAED,eAAe,aAAa,CAAA"}
@@ -1,23 +1,15 @@
1
1
  export async function up(knex) {
2
2
  const client = (knex.client.config.client || '').toLowerCase();
3
- /* ---------- outputs.outputScript ---------- */
4
3
  if (client.startsWith('mysql')) {
5
- // MySQL / MariaDB – enlarge to LONGBLOB (4 GB)
6
4
  await knex.schema.alterTable('outputs', table => {
7
5
  table.specificType('outputScript', 'LONGBLOB').alter();
8
6
  });
9
7
  }
10
8
  else if (client === 'sqlite3') {
11
- // SQLite – plain BLOB is already plenty, but run alter so Knex’s
12
- // internal schema snapshot stays in sync.
13
9
  await knex.schema.alterTable('outputs', table => {
14
10
  table.binary('outputScript').alter();
15
11
  });
16
12
  }
17
- /* ---------- transactions.beef ---------- */
18
- // This column was already created as LONGBLOB in migration 3,
19
- // but we enlarge defensively in case someone ran only the early
20
- // migrations on a new database.
21
13
  if (client.startsWith('mysql')) {
22
14
  await knex.schema.alterTable('transactions', table => {
23
15
  table.specificType('beef', 'LONGBLOB').alter();
@@ -31,26 +23,12 @@ export async function up(knex) {
31
23
  }
32
24
  export async function down(knex) {
33
25
  const client = (knex.client.config.client || '').toLowerCase();
34
- /* ---------- outputs.outputScript ---------- */
35
- if (client.startsWith('mysql')) {
36
- // Revert to VARBINARY(255) – matches Knex’s default .binary()
37
- await knex.schema.alterTable('outputs', table => {
38
- table.binary('outputScript').alter();
39
- });
40
- }
41
- else if (client === 'sqlite3') {
42
- // No-op (SQLite stores the whole blob either way)
26
+ if (client.startsWith('mysql') || client === 'sqlite3') {
43
27
  await knex.schema.alterTable('outputs', table => {
44
28
  table.binary('outputScript').alter();
45
29
  });
46
30
  }
47
- /* ---------- transactions.beef ---------- */
48
- if (client.startsWith('mysql')) {
49
- await knex.schema.alterTable('transactions', table => {
50
- table.binary('beef').alter();
51
- });
52
- }
53
- else if (client === 'sqlite3') {
31
+ if (client.startsWith('mysql') || client === 'sqlite3') {
54
32
  await knex.schema.alterTable('transactions', table => {
55
33
  table.binary('beef').alter();
56
34
  });
@@ -1 +1 @@
1
- {"version":3,"file":"2025-05-28-001-enlarge.js","sourceRoot":"","sources":["../../../../../../src/storage/knex/migrations/2025-05-28-001-enlarge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"2025-05-28-001-enlarge.js","sourceRoot":"","sources":["../../../../../../src/storage/knex/migrations/2025-05-28-001-enlarge.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,KAAK,UAAU,EAAE,CAAE,IAAU;IAClC,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IAE9D,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YAC9C,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,KAAK,EAAE,CAAA;QACxD,CAAC,CAAC,CAAA;IACJ,CAAC;SAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YAC9C,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAA;QACtC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE;YACnD,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,KAAK,EAAE,CAAA;QAChD,CAAC,CAAC,CAAA;IACJ,CAAC;SAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE;YACnD,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAA;QAC9B,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAE,IAAU;IACpC,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IAE9D,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;YAC9C,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAA;QACtC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvD,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,EAAE;YACnD,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAA;QAC9B,CAAC,CAAC,CAAA;IACJ,CAAC;AACH,CAAC"}