@bsv/sdk 1.1.30 → 1.1.32

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 (36) hide show
  1. package/dist/cjs/package.json +1 -1
  2. package/dist/cjs/src/transaction/Beef.js +161 -45
  3. package/dist/cjs/src/transaction/Beef.js.map +1 -1
  4. package/dist/cjs/src/transaction/BeefParty.js +16 -0
  5. package/dist/cjs/src/transaction/BeefParty.js.map +1 -1
  6. package/dist/cjs/src/transaction/BeefTx.js +6 -1
  7. package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
  8. package/dist/cjs/src/transaction/Transaction.js +12 -6
  9. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  10. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  11. package/dist/esm/src/transaction/Beef.js +160 -44
  12. package/dist/esm/src/transaction/Beef.js.map +1 -1
  13. package/dist/esm/src/transaction/BeefParty.js +16 -0
  14. package/dist/esm/src/transaction/BeefParty.js.map +1 -1
  15. package/dist/esm/src/transaction/BeefTx.js +6 -1
  16. package/dist/esm/src/transaction/BeefTx.js.map +1 -1
  17. package/dist/esm/src/transaction/Transaction.js +12 -6
  18. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  19. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  20. package/dist/types/src/transaction/Beef.d.ts +44 -3
  21. package/dist/types/src/transaction/Beef.d.ts.map +1 -1
  22. package/dist/types/src/transaction/BeefParty.d.ts +11 -0
  23. package/dist/types/src/transaction/BeefParty.d.ts.map +1 -1
  24. package/dist/types/src/transaction/BeefTx.d.ts +6 -1
  25. package/dist/types/src/transaction/BeefTx.d.ts.map +1 -1
  26. package/dist/types/src/transaction/Transaction.d.ts +8 -2
  27. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  28. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  29. package/dist/umd/bundle.js +1 -1
  30. package/docs/transaction.md +141 -9
  31. package/package.json +1 -1
  32. package/src/transaction/Beef.ts +186 -47
  33. package/src/transaction/BeefParty.ts +17 -0
  34. package/src/transaction/BeefTx.ts +6 -1
  35. package/src/transaction/Transaction.ts +12 -6
  36. package/src/transaction/__tests/Beef.test.ts +55 -10
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bsv/sdk",
3
- "version": "1.1.30",
3
+ "version": "1.1.32",
4
4
  "type": "commonjs",
5
5
  "description": "BSV Blockchain Software Development Kit",
6
6
  "files": [
@@ -3,13 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.Beef = exports.BEEF_MAGIC_TXID_ONLY_EXTENSION = exports.BEEF_MAGIC_V2 = exports.BEEF_MAGIC = void 0;
6
+ exports.Beef = exports.ATOMIC_BEEF = exports.BEEF_MAGIC_TXID_ONLY_EXTENSION = exports.BEEF_MAGIC_V2 = exports.BEEF_MAGIC = void 0;
7
7
  const MerklePath_js_1 = __importDefault(require("./MerklePath.js"));
8
8
  const BeefTx_js_1 = __importDefault(require("./BeefTx.js"));
9
9
  const utils_js_1 = require("../primitives/utils.js");
10
10
  exports.BEEF_MAGIC = 4022206465; // 0100BEEF in LE order
11
11
  exports.BEEF_MAGIC_V2 = 4022206466; // 0200BEEF in LE order
12
12
  exports.BEEF_MAGIC_TXID_ONLY_EXTENSION = 4022206465; // 0100BEEF in LE order
13
+ exports.ATOMIC_BEEF = 0x01010101; // Atomic Beef serialization prefix
13
14
  /*
14
15
  * BEEF standard: BRC-62: Background Evaluation Extended Format (BEEF) Transactions
15
16
  * https://github.com/bitcoin-sv/BRCs/blob/master/transactions/0062.md
@@ -17,6 +18,14 @@ exports.BEEF_MAGIC_TXID_ONLY_EXTENSION = 4022206465; // 0100BEEF in LE order
17
18
  * BUMP standard: BRC-74: BSV Unified Merkle Path (BUMP) Format
18
19
  * https://github.com/bitcoin-sv/BRCs/blob/master/transactions/0074.md
19
20
  *
21
+ * BRC-95: Atomic BEEF Transactions
22
+ * https://github.com/bitcoin-sv/BRCs/blob/master/transactions/0095.md
23
+ *
24
+ * The Atomic BEEF format is supported by the binary deserialization static method `fromBinary`.
25
+ *
26
+ * BRC-96: BEEF V2, Txid Only Extension
27
+ * https://github.com/bitcoin-sv/BRCs/blob/master/transactions/0096.md
28
+ *
20
29
  * A valid serialized BEEF is the cornerstone of Simplified Payment Validation (SPV)
21
30
  * where they are exchanged between two non-trusting parties to establish the
22
31
  * validity of a newly constructed bitcoin transaction and its inputs from prior
@@ -48,12 +57,19 @@ exports.BEEF_MAGIC_TXID_ONLY_EXTENSION = 4022206465; // 0100BEEF in LE order
48
57
  *
49
58
  * A valid `Beef` is only required when sent to a party with no shared history,
50
59
  * such as a transaction processor.
60
+ *
61
+ * IMPORTANT NOTE:
62
+ * It is fundamental to the BEEF value proposition that only valid transactions and valid
63
+ * merkle path (BUMP) data be added to it. Merging invalid data breaks the `verify` and `isValid`
64
+ * functions. There is no support for removing invalid data. A `Beef` that becomes invalid
65
+ * must be discarded.
51
66
  */
52
67
  class Beef {
53
68
  constructor(version) {
54
69
  this.bumps = [];
55
70
  this.txs = [];
56
71
  this.version = undefined;
72
+ this.atomicTxid = undefined;
57
73
  this.version = version;
58
74
  }
59
75
  /**
@@ -81,6 +97,74 @@ class Beef {
81
97
  findTxid(txid) {
82
98
  return this.txs.find(tx => tx.txid === txid);
83
99
  }
100
+ /**
101
+ * @returns `MerklePath` with level zero hash equal to txid or undefined.
102
+ */
103
+ findBump(txid) {
104
+ return this.bumps.find(b => b.path[0].find(leaf => leaf.hash === txid));
105
+ }
106
+ /**
107
+ * Finds a Transaction in this `Beef`
108
+ * and adds any missing input SourceTransactions from this `Beef`.
109
+ *
110
+ * The result is suitable for signing.
111
+ *
112
+ * @param txid The id of the target transaction.
113
+ * @returns Transaction with all available input `SourceTransaction`s from this Beef.
114
+ */
115
+ findTransactionForSigning(txid) {
116
+ const beefTx = this.findTxid(txid);
117
+ if (!beefTx)
118
+ return undefined;
119
+ for (const i of beefTx.tx.inputs) {
120
+ if (!i.sourceTransaction) {
121
+ const itx = this.findTxid(i.sourceTXID);
122
+ if (itx) {
123
+ i.sourceTransaction = itx.tx;
124
+ }
125
+ }
126
+ }
127
+ return beefTx.tx;
128
+ }
129
+ /**
130
+ * Builds the proof tree rooted at a specific `Transaction`.
131
+ *
132
+ * To succeed, the Beef must contain all the required transaction and merkle path data.
133
+ *
134
+ * @param txid The id of the target transaction.
135
+ * @returns Transaction with input `SourceTransaction` and `MerklePath` populated from this Beef.
136
+ */
137
+ findAtomicTransaction(txid) {
138
+ const beefTx = this.findTxid(txid);
139
+ if (!beefTx)
140
+ return undefined;
141
+ const addInputProof = (beef, tx) => {
142
+ const mp = beef.findBump(tx.id('hex'));
143
+ if (mp)
144
+ tx.merklePath = mp;
145
+ else {
146
+ for (const i of tx.inputs) {
147
+ if (!i.sourceTransaction) {
148
+ const itx = beef.findTxid(i.sourceTXID);
149
+ if (itx) {
150
+ i.sourceTransaction = itx.tx;
151
+ }
152
+ }
153
+ if (i.sourceTransaction) {
154
+ const mp = beef.findBump(i.sourceTransaction.id('hex'));
155
+ if (mp) {
156
+ i.sourceTransaction.merklePath = mp;
157
+ }
158
+ else {
159
+ addInputProof(beef, i.sourceTransaction);
160
+ }
161
+ }
162
+ }
163
+ }
164
+ };
165
+ addInputProof(this, beefTx.tx);
166
+ return beefTx.tx;
167
+ }
84
168
  /**
85
169
  * Merge a MerklePath that is assumed to be fully valid.
86
170
  * @param bump
@@ -334,7 +418,13 @@ class Beef {
334
418
  return (0, utils_js_1.toHex)(this.toBinary());
335
419
  }
336
420
  static fromReader(br) {
337
- const version = br.readUInt32LE();
421
+ let version = br.readUInt32LE();
422
+ let atomicTxid = undefined;
423
+ if (version === exports.ATOMIC_BEEF) {
424
+ // Skip the txid and re-read the BEEF version
425
+ atomicTxid = (0, utils_js_1.toHex)(br.readReverse(32));
426
+ version = br.readUInt32LE();
427
+ }
338
428
  if (version !== exports.BEEF_MAGIC && version !== exports.BEEF_MAGIC_V2) {
339
429
  throw new Error(`Serialized BEEF must start with ${exports.BEEF_MAGIC} or ${exports.BEEF_MAGIC_V2} but starts with ${version}`);
340
430
  }
@@ -349,6 +439,7 @@ class Beef {
349
439
  const beefTx = BeefTx_js_1.default.fromReader(br, version);
350
440
  beef.txs.push(beefTx);
351
441
  }
442
+ beef.atomicTxid = atomicTxid;
352
443
  return beef;
353
444
  }
354
445
  /**
@@ -395,69 +486,87 @@ class Beef {
395
486
  return false;
396
487
  }
397
488
  /**
398
- * Sort the `txs` by input txid dependency order.
399
- * @returns array of input txids of unproven transactions that aren't included in txs.
489
+ * Sort the `txs` by input txid dependency order:
490
+ * - Oldest Tx Anchored by Path
491
+ * - Newer Txs depending on Older parents
492
+ * - Newest Tx
493
+ *
494
+ * with proof (MerklePath) last, longest chain of dependencies first
495
+ *
496
+ * @returns `{ missingInputs, notValid, valid, withMissingInputs }`
400
497
  */
401
498
  sortTxs() {
402
- const missingInputs = {};
499
+ // Hashtable of valid txids (with proof or all inputs chain to proof)
500
+ const validTxids = {};
501
+ // Hashtable of all transaction txids to transaction
403
502
  const txidToTx = {};
503
+ // queue of unsorted transactions ...
504
+ let queue = [];
505
+ // sorted transactions: hasProof to with longest dependency chain
506
+ const result = [];
507
+ const txidOnly = [];
404
508
  for (const tx of this.txs) {
405
509
  txidToTx[tx.txid] = tx;
406
- // All transactions in this beef start at degree zero.
407
- tx.degree = 0;
510
+ tx.isValid = tx.hasProof;
511
+ if (tx.isValid) {
512
+ validTxids[tx.txid] = true;
513
+ result.push(tx);
514
+ }
515
+ else if (tx.isTxidOnly)
516
+ txidOnly.push(tx);
517
+ else
518
+ queue.push(tx);
408
519
  }
409
- for (const tx of this.txs) {
410
- if (tx.bumpIndex === undefined) {
520
+ // Hashtable of unknown input txids used to fund transactions without their own proof.
521
+ const missingInputs = {};
522
+ // transactions with one or more missing inputs
523
+ const txsMissingInputs = [];
524
+ const possiblyMissingInputs = queue;
525
+ queue = [];
526
+ for (const tx of possiblyMissingInputs) {
527
+ let hasMissingInput = false;
528
+ if (!tx.isValid) {
411
529
  // For all the unproven transactions,
412
530
  // link their inputs that exist in this beef,
413
531
  // make a note of missing inputs.
414
532
  for (const inputTxid of tx.inputTxids) {
415
533
  if (!txidToTx[inputTxid]) {
416
534
  missingInputs[inputTxid] = true;
535
+ hasMissingInput = true;
417
536
  }
418
537
  }
419
538
  }
420
- }
421
- // queue of transactions that no unsorted transactions depend upon...
422
- const queue = [];
423
- // sorted transactions
424
- const result = [];
425
- // Increment each txid's degree for every input reference to it by another txid
426
- for (const tx of this.txs) {
427
- for (const inputTxid of tx.inputTxids) {
428
- const tx = txidToTx[inputTxid];
429
- if (tx) {
430
- tx.degree++;
431
- }
432
- }
433
- }
434
- // Since circular dependencies aren't possible, start with the txids no one depends on.
435
- // These are the transactions that should be sent last...
436
- for (const tx of this.txs) {
437
- if (tx.degree === 0) {
539
+ if (hasMissingInput)
540
+ txsMissingInputs.push(tx);
541
+ else
438
542
  queue.push(tx);
439
- }
440
543
  }
441
- // As long as we have transactions to send...
544
+ // As long as we have unsorted transactions...
442
545
  while (queue.length > 0) {
443
- const tx = queue.shift();
444
- // Add it as new first to send
445
- result.unshift(tx);
446
- // And remove its impact on degree
447
- // noting that any tx achieving a
448
- // value of zero can be sent...
449
- for (const inputTxid of tx.inputTxids) {
450
- const inputTx = txidToTx[inputTxid];
451
- if (inputTx) {
452
- inputTx.degree--;
453
- if (inputTx.degree === 0) {
454
- queue.push(inputTx);
455
- }
546
+ const oldQueue = queue;
547
+ queue = [];
548
+ for (const tx of oldQueue) {
549
+ if (tx.inputTxids.every(txid => validTxids[txid])) {
550
+ validTxids[tx.txid] = true;
551
+ result.push(tx);
456
552
  }
553
+ else
554
+ queue.push(tx);
457
555
  }
458
- }
459
- this.txs = result;
460
- return Object.keys(missingInputs);
556
+ if (oldQueue.length === queue.length)
557
+ break;
558
+ }
559
+ // transactions that don't have proofs and don't chain to proofs
560
+ const txsNotValid = queue;
561
+ // New order of txs is sorted, unsortable, txidOnly (no raw transaction)
562
+ this.txs = result.concat(queue).concat(txidOnly).concat(txsMissingInputs);
563
+ return {
564
+ missingInputs: Object.keys(missingInputs),
565
+ notValid: txsNotValid.map(tx => tx.txid),
566
+ valid: Object.keys(validTxids),
567
+ withMissingInputs: txsMissingInputs.map(tx => tx.txid),
568
+ txidOnly: txidOnly.map(tx => tx.txid)
569
+ };
461
570
  }
462
571
  /**
463
572
  * @returns a shallow copy of this beef
@@ -484,6 +593,13 @@ class Beef {
484
593
  }
485
594
  // TODO: bumps could be trimmed to eliminate unreferenced proofs.
486
595
  }
596
+ /**
597
+ * @returns array of transaction txids that either have a proof or whose inputs chain back to a proven transaction.
598
+ */
599
+ getValidTxids() {
600
+ const r = this.sortTxs();
601
+ return r.valid;
602
+ }
487
603
  /**
488
604
  * @returns Summary of `Beef` contents as multi-line string.
489
605
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Beef.js","sourceRoot":"","sources":["../../../../src/transaction/Beef.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Beef.js","sourceRoot":"","sources":["../../../../src/transaction/Beef.ts"],"names":[],"mappings":"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"}
@@ -95,6 +95,22 @@ class BeefParty extends Beef_js_1.Beef {
95
95
  this.mergeTxidOnly(txid);
96
96
  }
97
97
  }
98
+ /**
99
+ * Merge a `beef` received from a specific `party`.
100
+ *
101
+ * Updates this `BeefParty` to track all the txids
102
+ * corresponding to transactions for which `party`
103
+ * has raw transaction and validity proof data.
104
+ *
105
+ * @param party
106
+ * @param beef
107
+ */
108
+ mergeBeefFromParty(party, beef) {
109
+ const b = Array.isArray(beef) ? Beef_js_1.Beef.fromBinary(beef) : beef;
110
+ const knownTxids = b.getValidTxids();
111
+ this.mergeBeef(b);
112
+ this.addKnownTxidsForParty(party, knownTxids);
113
+ }
98
114
  }
99
115
  exports.BeefParty = BeefParty;
100
116
  exports.default = BeefParty;
@@ -1 +1 @@
1
- {"version":3,"file":"BeefParty.js","sourceRoot":"","sources":["../../../../src/transaction/BeefParty.ts"],"names":[],"mappings":";;;AAAA,uCAAgC;AAEhC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,SAAU,SAAQ,cAAI;IAOjC;;;SAGK;IACL,YAAa,OAAkB;QAC7B,KAAK,EAAE,CAAA;QAXT;;;aAGK;QACL,YAAO,GAA4C,EAAE,CAAA;QAQnD,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;;SAGK;IACL,OAAO,CAAE,KAAa;QACpB,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACnD,OAAO,CAAC,CAAA;IACV,CAAC;IAED;;;SAGK;IACL,QAAQ,CAAE,KAAa;QACrB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,kBAAkB,CAAC,CAAA;QAAC,CAAC;QAC9E,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;IAC1B,CAAC;IAED;;;SAGK;IACL,qBAAqB,CAAE,KAAa;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,CAAC,UAAU,EAAE,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,cAAc,CAAC,CAAA;QAAC,CAAC;QAClE,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAChC,CAAC;IAED;;;SAGK;IACL,sBAAsB,CAAE,KAAa;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAA;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC/B,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;QACrC,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;;;SAIK;IACL,qBAAqB,CAAE,KAAa,EAAE,UAAoB;QACxD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC/B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;YAChB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;CACF;AAtED,8BAsEC;AAED,kBAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"BeefParty.js","sourceRoot":"","sources":["../../../../src/transaction/BeefParty.ts"],"names":[],"mappings":";;;AAAA,uCAAgC;AAEhC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,SAAU,SAAQ,cAAI;IAOjC;;;SAGK;IACL,YAAa,OAAkB;QAC7B,KAAK,EAAE,CAAA;QAXT;;;aAGK;QACL,YAAO,GAA4C,EAAE,CAAA;QAQnD,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED;;;SAGK;IACL,OAAO,CAAE,KAAa;QACpB,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QACnD,OAAO,CAAC,CAAA;IACV,CAAC;IAED;;;SAGK;IACL,QAAQ,CAAE,KAAa;QACrB,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,kBAAkB,CAAC,CAAA;QAAC,CAAC;QAC9E,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;IAC1B,CAAC;IAED;;;SAGK;IACL,qBAAqB,CAAE,KAAa;QAClC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACtC,IAAI,CAAC,UAAU,EAAE,CAAC;YAAC,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,cAAc,CAAC,CAAA;QAAC,CAAC;QAClE,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAChC,CAAC;IAED;;;SAGK;IACL,sBAAsB,CAAE,KAAa;QACnC,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAA;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,CAAA;QAC/B,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAA;QACrC,OAAO,UAAU,CAAA;IACnB,CAAC;IAED;;;;SAIK;IACL,qBAAqB,CAAE,KAAa,EAAE,UAAoB;QACxD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAAC,CAAC;QAClD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC/B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;YAChB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,kBAAkB,CAAE,KAAa,EAAE,IAAqB;QACtD,MAAM,CAAC,GAAS,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAClE,MAAM,UAAU,GAAG,CAAC,CAAC,aAAa,EAAE,CAAA;QACpC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QACjB,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;IAC/C,CAAC;CACF;AAvFD,8BAuFC;AAED,kBAAe,SAAS,CAAA"}
@@ -57,7 +57,12 @@ class BeefTx {
57
57
  */
58
58
  constructor(tx, bumpIndex) {
59
59
  this.inputTxids = [];
60
- this.degree = 0;
60
+ /**
61
+ * true if `hasProof` or all inputs chain to `hasProof`.
62
+ *
63
+ * Typically set by sorting transactions by proven dependency chains.
64
+ */
65
+ this.isValid = undefined;
61
66
  if (typeof tx === 'string') {
62
67
  this._txid = tx;
63
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BeefTx.js","sourceRoot":"","sources":["../../../../src/transaction/BeefTx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BeefTx.js","sourceRoot":"","sources":["../../../../src/transaction/BeefTx.ts"],"names":[],"mappings":"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"}
@@ -772,9 +772,12 @@ class Transaction {
772
772
  /**
773
773
  * Serializes this transaction, together with its inputs and the respective merkle proofs, into the BEEF (BRC-62) format. This enables efficient verification of its compliance with the rules of SPV.
774
774
  *
775
+ * @param allowPartial If true, error will not be thrown if there are any missing sourceTransactions.
776
+ *
775
777
  * @returns The serialized BEEF structure
778
+ * @throws Error if there are any missing sourceTransactions unless `allowPartial` is true.
776
779
  */
777
- toBEEF() {
780
+ toBEEF(allowPartial) {
778
781
  const writer = new utils_js_1.Writer();
779
782
  writer.writeUInt32LE(4022206465);
780
783
  const BUMPs = [];
@@ -818,10 +821,10 @@ class Transaction {
818
821
  if (!hasProof) {
819
822
  for (let i = 0; i < tx.inputs.length; i++) {
820
823
  const input = tx.inputs[i];
821
- if (typeof input.sourceTransaction !== 'object') {
824
+ if (typeof input.sourceTransaction === 'object')
825
+ addPathsAndInputs(input.sourceTransaction);
826
+ else if (!allowPartial)
822
827
  throw new Error('A required source transaction is missing!');
823
- }
824
- addPathsAndInputs(input.sourceTransaction);
825
828
  }
826
829
  }
827
830
  };
@@ -849,16 +852,19 @@ class Transaction {
849
852
  * and then the BEEF data containing only the subject transaction and its dependencies.
850
853
  * This format ensures that the BEEF structure is atomic and contains no unrelated transactions.
851
854
  *
855
+ * @param allowPartial If true, error will not be thrown if there are any missing sourceTransactions.
856
+ *
852
857
  * @returns {number[]} - The serialized Atomic BEEF structure.
858
+ * @throws Error if there are any missing sourceTransactions unless `allowPartial` is true.
853
859
  */
854
- toAtomicBEEF() {
860
+ toAtomicBEEF(allowPartial) {
855
861
  const writer = new utils_js_1.Writer();
856
862
  // Write the Atomic BEEF prefix
857
863
  writer.writeUInt32LE(0x01010101);
858
864
  // Write the subject TXID (big-endian)
859
865
  writer.write(this.id());
860
866
  // Append the BEEF data
861
- const beefData = this.toBEEF();
867
+ const beefData = this.toBEEF(allowPartial);
862
868
  writer.write(beefData);
863
869
  return writer.toArray();
864
870
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../../src/transaction/Transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../../src/transaction/Transaction.ts"],"names":[],"mappings":"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"}