@bsv/sdk 1.1.29 → 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 (61) hide show
  1. package/dist/cjs/package.json +1 -1
  2. package/dist/cjs/src/primitives/Schnorr.js +92 -0
  3. package/dist/cjs/src/primitives/Schnorr.js.map +1 -0
  4. package/dist/cjs/src/primitives/index.js +3 -1
  5. package/dist/cjs/src/primitives/index.js.map +1 -1
  6. package/dist/cjs/src/totp/totp.js +1 -1
  7. package/dist/cjs/src/totp/totp.js.map +1 -1
  8. package/dist/cjs/src/transaction/Beef.js +292 -155
  9. package/dist/cjs/src/transaction/Beef.js.map +1 -1
  10. package/dist/cjs/src/transaction/BeefParty.js +46 -26
  11. package/dist/cjs/src/transaction/BeefParty.js.map +1 -1
  12. package/dist/cjs/src/transaction/BeefTx.js +31 -16
  13. package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
  14. package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
  15. package/dist/cjs/src/transaction/Transaction.js +12 -6
  16. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  17. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  18. package/dist/esm/src/primitives/Schnorr.js +87 -0
  19. package/dist/esm/src/primitives/Schnorr.js.map +1 -0
  20. package/dist/esm/src/primitives/index.js +1 -0
  21. package/dist/esm/src/primitives/index.js.map +1 -1
  22. package/dist/esm/src/totp/totp.js +1 -1
  23. package/dist/esm/src/totp/totp.js.map +1 -1
  24. package/dist/esm/src/transaction/Beef.js +294 -157
  25. package/dist/esm/src/transaction/Beef.js.map +1 -1
  26. package/dist/esm/src/transaction/BeefParty.js +47 -27
  27. package/dist/esm/src/transaction/BeefParty.js.map +1 -1
  28. package/dist/esm/src/transaction/BeefTx.js +35 -20
  29. package/dist/esm/src/transaction/BeefTx.js.map +1 -1
  30. package/dist/esm/src/transaction/MerklePath.js.map +1 -1
  31. package/dist/esm/src/transaction/Transaction.js +12 -6
  32. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  33. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  34. package/dist/types/src/primitives/Schnorr.d.ts +65 -0
  35. package/dist/types/src/primitives/Schnorr.d.ts.map +1 -0
  36. package/dist/types/src/primitives/index.d.ts +1 -0
  37. package/dist/types/src/primitives/index.d.ts.map +1 -1
  38. package/dist/types/src/transaction/Beef.d.ts +131 -90
  39. package/dist/types/src/transaction/Beef.d.ts.map +1 -1
  40. package/dist/types/src/transaction/BeefParty.d.ts +34 -23
  41. package/dist/types/src/transaction/BeefParty.d.ts.map +1 -1
  42. package/dist/types/src/transaction/BeefTx.d.ts +11 -6
  43. package/dist/types/src/transaction/BeefTx.d.ts.map +1 -1
  44. package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
  45. package/dist/types/src/transaction/Transaction.d.ts +8 -2
  46. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  47. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  48. package/dist/umd/bundle.js +1 -1
  49. package/docs/primitives.md +120 -9
  50. package/docs/transaction.md +141 -9
  51. package/package.json +1 -1
  52. package/src/primitives/Schnorr.ts +95 -0
  53. package/src/primitives/__tests/Schnorr.test.ts +272 -0
  54. package/src/primitives/index.ts +1 -0
  55. package/src/totp/totp.ts +1 -1
  56. package/src/transaction/Beef.ts +493 -378
  57. package/src/transaction/BeefParty.ts +71 -58
  58. package/src/transaction/BeefTx.ts +133 -143
  59. package/src/transaction/MerklePath.ts +11 -11
  60. package/src/transaction/Transaction.ts +42 -36
  61. package/src/transaction/__tests/Beef.test.ts +55 -10
@@ -1,144 +1,185 @@
1
- import MerklePath from "./MerklePath.js";
2
- import Transaction from "./Transaction.js";
3
- import ChainTracker from "./ChainTracker.js";
4
- import BeefTx from "./BeefTx.js";
5
- import { Reader } from "../primitives/utils.js";
1
+ import MerklePath from './MerklePath.js';
2
+ import Transaction from './Transaction.js';
3
+ import ChainTracker from './ChainTracker.js';
4
+ import BeefTx from './BeefTx.js';
5
+ import { Reader } from '../primitives/utils.js';
6
6
  export declare const BEEF_MAGIC = 4022206465;
7
7
  export declare const BEEF_MAGIC_V2 = 4022206466;
8
8
  export declare const BEEF_MAGIC_TXID_ONLY_EXTENSION = 4022206465;
9
+ export declare const ATOMIC_BEEF = 16843009;
9
10
  export type BeefVersion = undefined | 'V1' | 'V2';
10
11
  export declare class Beef {
11
12
  bumps: MerklePath[];
12
13
  txs: BeefTx[];
13
14
  version: BeefVersion;
15
+ atomicTxid: string | undefined;
14
16
  constructor(version?: BeefVersion);
15
17
  /**
16
- * BEEF_MAGIC is the original V1 version.
17
- * BEEF_MAGIC_V2 includes support for txidOnly transactions in serialized beefs.
18
- * @returns version magic value based on current contents and constructor version parameter.
19
- */
18
+ * BEEF_MAGIC is the original V1 version.
19
+ * BEEF_MAGIC_V2 includes support for txidOnly transactions in serialized beefs.
20
+ * @returns version magic value based on current contents and constructor version parameter.
21
+ */
20
22
  get magic(): number;
21
23
  /**
22
- * @param txid of `beefTx` to find
23
- * @returns `BeefTx` in `txs` with `txid`.
24
- */
24
+ * @param txid of `beefTx` to find
25
+ * @returns `BeefTx` in `txs` with `txid`.
26
+ */
25
27
  findTxid(txid: string): BeefTx | undefined;
26
28
  /**
27
- * Merge a MerklePath that is assumed to be fully valid.
28
- * @param bump
29
- * @returns index of merged bump
29
+ * @returns `MerklePath` with level zero hash equal to txid or undefined.
30
30
  */
31
- mergeBump(bump: MerklePath): number;
31
+ findBump(txid: string): MerklePath | undefined;
32
32
  /**
33
- * Merge a serialized transaction.
34
- *
35
- * Checks that a transaction with the same txid hasn't already been merged.
33
+ * Finds a Transaction in this `Beef`
34
+ * and adds any missing input SourceTransactions from this `Beef`.
36
35
  *
37
- * Replaces existing transaction with same txid.
36
+ * The result is suitable for signing.
38
37
  *
39
- * @param rawTx
40
- * @param bumpIndex Optional. If a number, must be valid index into bumps array.
41
- * @returns txid of rawTx
38
+ * @param txid The id of the target transaction.
39
+ * @returns Transaction with all available input `SourceTransaction`s from this Beef.
42
40
  */
43
- mergeRawTx(rawTx: number[], bumpIndex?: number): BeefTx;
41
+ findTransactionForSigning(txid: string): Transaction | undefined;
44
42
  /**
45
- * Merge a `Transaction` and any referenced `merklePath` and `sourceTransaction`, recursifely.
46
- *
47
- * Replaces existing transaction with same txid.
43
+ * Builds the proof tree rooted at a specific `Transaction`.
48
44
  *
49
- * Attempts to match an existing bump to the new transaction.
45
+ * To succeed, the Beef must contain all the required transaction and merkle path data.
50
46
  *
51
- * @param tx
52
- * @returns txid of tx
47
+ * @param txid The id of the target transaction.
48
+ * @returns Transaction with input `SourceTransaction` and `MerklePath` populated from this Beef.
53
49
  */
50
+ findAtomicTransaction(txid: string): Transaction | undefined;
51
+ /**
52
+ * Merge a MerklePath that is assumed to be fully valid.
53
+ * @param bump
54
+ * @returns index of merged bump
55
+ */
56
+ mergeBump(bump: MerklePath): number;
57
+ /**
58
+ * Merge a serialized transaction.
59
+ *
60
+ * Checks that a transaction with the same txid hasn't already been merged.
61
+ *
62
+ * Replaces existing transaction with same txid.
63
+ *
64
+ * @param rawTx
65
+ * @param bumpIndex Optional. If a number, must be valid index into bumps array.
66
+ * @returns txid of rawTx
67
+ */
68
+ mergeRawTx(rawTx: number[], bumpIndex?: number): BeefTx;
69
+ /**
70
+ * Merge a `Transaction` and any referenced `merklePath` and `sourceTransaction`, recursifely.
71
+ *
72
+ * Replaces existing transaction with same txid.
73
+ *
74
+ * Attempts to match an existing bump to the new transaction.
75
+ *
76
+ * @param tx
77
+ * @returns txid of tx
78
+ */
54
79
  mergeTransaction(tx: Transaction): BeefTx;
55
80
  /**
56
- * Removes an existing transaction from the BEEF, given its TXID
57
- * @param txid TXID of the transaction to remove
58
- */
81
+ * Removes an existing transaction from the BEEF, given its TXID
82
+ * @param txid TXID of the transaction to remove
83
+ */
59
84
  removeExistingTxid(txid: string): void;
60
85
  mergeTxidOnly(txid: string): BeefTx;
61
86
  mergeBeefTx(btx: BeefTx): BeefTx;
62
87
  mergeBeef(beef: number[] | Beef): void;
63
88
  /**
64
- * Sorts `txs` and checks structural validity of beef.
65
- *
66
- * Does NOT verify merkle roots.
67
- *
68
- * Validity requirements:
69
- * 1. No 'known' txids, unless `allowTxidOnly` is true.
70
- * 2. All transactions have bumps or their inputs chain back to bumps (or are known).
71
- * 3. Order of transactions satisfies dependencies before dependents.
72
- * 4. No transactions with duplicate txids.
73
- *
74
- * @param allowTxidOnly optional. If true, transaction txid only is assumed valid
75
- */
89
+ * Sorts `txs` and checks structural validity of beef.
90
+ *
91
+ * Does NOT verify merkle roots.
92
+ *
93
+ * Validity requirements:
94
+ * 1. No 'known' txids, unless `allowTxidOnly` is true.
95
+ * 2. All transactions have bumps or their inputs chain back to bumps (or are known).
96
+ * 3. Order of transactions satisfies dependencies before dependents.
97
+ * 4. No transactions with duplicate txids.
98
+ *
99
+ * @param allowTxidOnly optional. If true, transaction txid only is assumed valid
100
+ */
76
101
  isValid(allowTxidOnly?: boolean): boolean;
77
102
  /**
78
- * Sorts `txs` and confirms validity of transaction data contained in beef
79
- * by validating structure of this beef and confirming computed merkle roots
80
- * using `chainTracker`.
81
- *
82
- * Validity requirements:
83
- * 1. No 'known' txids, unless `allowTxidOnly` is true.
84
- * 2. All transactions have bumps or their inputs chain back to bumps (or are known).
85
- * 3. Order of transactions satisfies dependencies before dependents.
86
- * 4. No transactions with duplicate txids.
87
- *
88
- * @param chainTracker Used to verify computed merkle path roots for all bump txids.
89
- * @param allowTxidOnly optional. If true, transaction txid is assumed valid
90
- */
103
+ * Sorts `txs` and confirms validity of transaction data contained in beef
104
+ * by validating structure of this beef and confirming computed merkle roots
105
+ * using `chainTracker`.
106
+ *
107
+ * Validity requirements:
108
+ * 1. No 'known' txids, unless `allowTxidOnly` is true.
109
+ * 2. All transactions have bumps or their inputs chain back to bumps (or are known).
110
+ * 3. Order of transactions satisfies dependencies before dependents.
111
+ * 4. No transactions with duplicate txids.
112
+ *
113
+ * @param chainTracker Used to verify computed merkle path roots for all bump txids.
114
+ * @param allowTxidOnly optional. If true, transaction txid is assumed valid
115
+ */
91
116
  verify(chainTracker: ChainTracker, allowTxidOnly?: boolean): Promise<boolean>;
92
117
  private verifyValid;
93
118
  /**
94
- * Returns a binary array representing the serialized BEEF
95
- * @returns A binary array representing the BEEF
96
- */
119
+ * Returns a binary array representing the serialized BEEF
120
+ * @returns A binary array representing the BEEF
121
+ */
97
122
  toBinary(): number[];
98
123
  /**
99
- * Returns a hex string representing the serialized BEEF
100
- * @returns A hex string representing the BEEF
101
- */
124
+ * Returns a hex string representing the serialized BEEF
125
+ * @returns A hex string representing the BEEF
126
+ */
102
127
  toHex(): string;
103
128
  static fromReader(br: Reader): Beef;
104
129
  /**
105
- * Constructs an instance of the Beef class based on the provided binary array
106
- * @param bin The binary array from which to construct BEEF
107
- * @returns An instance of the Beef class constructed from the binary data
108
- */
130
+ * Constructs an instance of the Beef class based on the provided binary array
131
+ * @param bin The binary array from which to construct BEEF
132
+ * @returns An instance of the Beef class constructed from the binary data
133
+ */
109
134
  static fromBinary(bin: number[]): Beef;
110
135
  /**
111
- * Constructs an instance of the Beef class based on the provided string
112
- * @param s The string value from which to construct BEEF
113
- * @param enc The encoding of the string value from which BEEF should be constructed
114
- * @returns An instance of the Beef class constructed from the string
115
- */
136
+ * Constructs an instance of the Beef class based on the provided string
137
+ * @param s The string value from which to construct BEEF
138
+ * @param enc The encoding of the string value from which BEEF should be constructed
139
+ * @returns An instance of the Beef class constructed from the string
140
+ */
116
141
  static fromString(s: string, enc?: 'hex' | 'utf8' | 'base64'): Beef;
117
142
  /**
118
- * Try to validate newTx.bumpIndex by looking for an existing bump
119
- * that proves newTx.txid
120
- *
121
- * @param newTx A new `BeefTx` that has been added to this.txs
122
- * @returns true if a bump was found, false otherwise
123
- */
143
+ * Try to validate newTx.bumpIndex by looking for an existing bump
144
+ * that proves newTx.txid
145
+ *
146
+ * @param newTx A new `BeefTx` that has been added to this.txs
147
+ * @returns true if a bump was found, false otherwise
148
+ */
124
149
  private tryToValidateBumpIndex;
125
150
  /**
126
- * Sort the `txs` by input txid dependency order.
127
- * @returns array of input txids of unproven transactions that aren't included in txs.
128
- */
129
- sortTxs(): string[];
130
- /**
131
- * @returns a shallow copy of this beef
132
- */
151
+ * Sort the `txs` by input txid dependency order:
152
+ * - Oldest Tx Anchored by Path
153
+ * - Newer Txs depending on Older parents
154
+ * - Newest Tx
155
+ *
156
+ * with proof (MerklePath) last, longest chain of dependencies first
157
+ *
158
+ * @returns `{ missingInputs, notValid, valid, withMissingInputs }`
159
+ */
160
+ sortTxs(): {
161
+ missingInputs: string[];
162
+ notValid: string[];
163
+ valid: string[];
164
+ withMissingInputs: string[];
165
+ txidOnly: string[];
166
+ };
167
+ /**
168
+ * @returns a shallow copy of this beef
169
+ */
133
170
  clone(): Beef;
134
171
  /**
135
- * Ensure that all the txids in `knownTxids` are txidOnly
136
- * @param knownTxids
137
- */
172
+ * Ensure that all the txids in `knownTxids` are txidOnly
173
+ * @param knownTxids
174
+ */
138
175
  trimKnownTxids(knownTxids: string[]): void;
139
176
  /**
140
- * @returns Summary of `Beef` contents as multi-line string.
177
+ * @returns array of transaction txids that either have a proof or whose inputs chain back to a proven transaction.
141
178
  */
179
+ getValidTxids(): string[];
180
+ /**
181
+ * @returns Summary of `Beef` contents as multi-line string.
182
+ */
142
183
  toLogString(): string;
143
184
  }
144
185
  export default Beef;
@@ -1 +1 @@
1
- {"version":3,"file":"Beef.d.ts","sourceRoot":"","sources":["../../../../src/transaction/Beef.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,EAA0B,MAAM,wBAAwB,CAAA;AAEvE,eAAO,MAAM,UAAU,aAAa,CAAA;AACpC,eAAO,MAAM,aAAa,aAAa,CAAA;AACvC,eAAO,MAAM,8BAA8B,aAAa,CAAA;AAExD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAAA;AAyCjD,qBAAa,IAAI;IACb,KAAK,EAAE,UAAU,EAAE,CAAK;IACxB,GAAG,EAAE,MAAM,EAAE,CAAK;IAClB,OAAO,EAAE,WAAW,CAAY;gBAEpB,OAAO,CAAC,EAAE,WAAW;IAIjC;;;;OAIG;IACH,IAAI,KAAK,IAAI,MAAM,CAYlB;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI1C;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IA6CnC;;;;;;;;;;OAUG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAQvD;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,EAAE,WAAW,GAAG,MAAM;IAmBzC;;;OAGG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM;IAM/B,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAanC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAahC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAU/B;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO;IAIzC;;;;;;;;;;;;;OAaG;IACG,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAanF,OAAO,CAAC,WAAW;IAkDnB;;;OAGG;IACH,QAAQ,IAAI,MAAM,EAAE;IAkBpB;;;OAGG;IACH,KAAK,IAAI,MAAM;IAIf,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAkBnC;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAKtC;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI;IAOnE;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;;OAGG;IACH,OAAO,IAAI,MAAM,EAAE;IAkEnB;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;;OAGG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE;IAYnC;;OAEG;IACH,WAAW,IAAI,MAAM;CA0BxB;AAED,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"Beef.d.ts","sourceRoot":"","sources":["../../../../src/transaction/Beef.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Beef } from "./Beef.js";
1
+ import { Beef } from './Beef.js';
2
2
  /**
3
3
  * Extends `Beef` that is used to exchange transaction validity data with more than one external party.
4
4
  *
@@ -22,41 +22,52 @@ import { Beef } from "./Beef.js";
22
22
  */
23
23
  export declare class BeefParty extends Beef {
24
24
  /**
25
- * keys are party identifiers.
26
- * values are records of txids with truthy value for which the party already has validity proof.
27
- */
25
+ * keys are party identifiers.
26
+ * values are records of txids with truthy value for which the party already has validity proof.
27
+ */
28
28
  knownTo: Record<string, Record<string, boolean>>;
29
29
  /**
30
- *
31
- * @param parties Optional array of initial unique party identifiers.
32
- */
30
+ *
31
+ * @param parties Optional array of initial unique party identifiers.
32
+ */
33
33
  constructor(parties?: string[]);
34
34
  /**
35
- * @param party
36
- * @returns `true` if `party` has already beed added to this `BeefParty`.
37
- */
35
+ * @param party
36
+ * @returns `true` if `party` has already beed added to this `BeefParty`.
37
+ */
38
38
  isParty(party: string): boolean;
39
39
  /**
40
- * Adds a new unique party identifier to this `BeefParty`.
41
- * @param party
42
- */
40
+ * Adds a new unique party identifier to this `BeefParty`.
41
+ * @param party
42
+ */
43
43
  addParty(party: string): void;
44
44
  /**
45
- * @param party
46
- * @returns Array of txids "known" to `party`.
47
- */
45
+ * @param party
46
+ * @returns Array of txids "known" to `party`.
47
+ */
48
48
  getKnownTxidsForParty(party: string): string[];
49
49
  /**
50
- * @param party
51
- * @returns trimmed beef of unknown transactions and proofs for `party`
52
- */
50
+ * @param party
51
+ * @returns trimmed beef of unknown transactions and proofs for `party`
52
+ */
53
53
  getTrimmedBeefForParty(party: string): Beef;
54
54
  /**
55
- * Make note of additional txids "known" to `party`.
56
- * @param party unique identifier, added if new.
57
- * @param knownTxids
58
- */
55
+ * Make note of additional txids "known" to `party`.
56
+ * @param party unique identifier, added if new.
57
+ * @param knownTxids
58
+ */
59
59
  addKnownTxidsForParty(party: string, knownTxids: string[]): void;
60
+ /**
61
+ * Merge a `beef` received from a specific `party`.
62
+ *
63
+ * Updates this `BeefParty` to track all the txids
64
+ * corresponding to transactions for which `party`
65
+ * has raw transaction and validity proof data.
66
+ *
67
+ * @param party
68
+ * @param beef
69
+ */
70
+ mergeBeefFromParty(party: string, beef: number[] | Beef): void;
60
71
  }
61
72
  export default BeefParty;
62
73
  //# sourceMappingURL=BeefParty.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BeefParty.d.ts","sourceRoot":"","sources":["../../../../src/transaction/BeefParty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,SAAU,SAAQ,IAAI;IAC/B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAK;IAErD;;;OAGG;gBACS,OAAO,CAAC,EAAE,MAAM,EAAE;IAQ9B;;;OAGG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM;IAKrB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM;IAMtB;;;OAGG;IACH,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAI,MAAM,EAAE;IAO/C;;;OAGG;IACH,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAI,IAAI;IAO5C;;;;OAIG;IACH,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE;CAS5D;AAED,eAAe,SAAS,CAAA"}
1
+ {"version":3,"file":"BeefParty.d.ts","sourceRoot":"","sources":["../../../../src/transaction/BeefParty.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,SAAU,SAAQ,IAAI;IACjC;;;SAGK;IACL,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAK;IAErD;;;SAGK;gBACQ,OAAO,CAAC,EAAE,MAAM,EAAE;IAO/B;;;SAGK;IACL,OAAO,CAAE,KAAK,EAAE,MAAM;IAKtB;;;SAGK;IACL,QAAQ,CAAE,KAAK,EAAE,MAAM;IAKvB;;;SAGK;IACL,qBAAqB,CAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAM/C;;;SAGK;IACL,sBAAsB,CAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAO5C;;;;SAIK;IACL,qBAAqB,CAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE;IAS1D;;;;;;;;;OASG;IACH,kBAAkB,CAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;CAMzD;AAED,eAAe,SAAS,CAAA"}
@@ -1,5 +1,5 @@
1
- import { Reader, Writer } from "../primitives/utils.js";
2
- import Transaction from "./Transaction.js";
1
+ import { Reader, Writer } from '../primitives/utils.js';
2
+ import Transaction from './Transaction.js';
3
3
  /**
4
4
  * A single bitcoin transaction associated with a `Beef` validity proof set.
5
5
  *
@@ -15,7 +15,12 @@ export default class BeefTx {
15
15
  _rawTx?: number[];
16
16
  _txid?: string;
17
17
  inputTxids: string[];
18
- degree: number;
18
+ /**
19
+ * true if `hasProof` or all inputs chain to `hasProof`.
20
+ *
21
+ * Typically set by sorting transactions by proven dependency chains.
22
+ */
23
+ isValid?: boolean;
19
24
  get bumpIndex(): number | undefined;
20
25
  set bumpIndex(v: number | undefined);
21
26
  get hasProof(): boolean;
@@ -24,9 +29,9 @@ export default class BeefTx {
24
29
  get tx(): Transaction;
25
30
  get rawTx(): number[];
26
31
  /**
27
- * @param tx If string, must be a valid txid. If `number[]` must be a valid serialized transaction.
28
- * @param bumpIndex If transaction already has a proof in the beef to which it will be added.
29
- */
32
+ * @param tx If string, must be a valid txid. If `number[]` must be a valid serialized transaction.
33
+ * @param bumpIndex If transaction already has a proof in the beef to which it will be added.
34
+ */
30
35
  constructor(tx: Transaction | number[] | string, bumpIndex?: number);
31
36
  private updateInputTxids;
32
37
  toWriter(writer: Writer, magic: number): void;
@@ -1 +1 @@
1
- {"version":3,"file":"BeefTx.d.ts","sourceRoot":"","sources":["../../../../src/transaction/BeefTx.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAkB,MAAM,wBAAwB,CAAA;AACvE,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAG1C;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACvB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,WAAW,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,EAAE,CAAK;IACzB,MAAM,EAAE,MAAM,CAAI;IAElB,IAAI,SAAS,IAAK,MAAM,GAAG,SAAS,CAA0B;IAE9D,IAAI,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAGlC;IAED,IAAI,QAAQ,IAAK,OAAO,CAEvB;IAED,IAAI,UAAU,IAAK,OAAO,CAEzB;IAED,IAAI,IAAI,WAKP;IAED,IAAI,EAAE,gBAIL;IAED,IAAI,KAAK,aAIR;IAED;;;OAGG;gBACU,EAAE,EAAE,WAAW,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAcpE,OAAO,CAAC,gBAAgB;IAYxB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAI,IAAI;IA0C9C,MAAM,CAAC,UAAU,CAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;CAiCxD"}
1
+ {"version":3,"file":"BeefTx.d.ts","sourceRoot":"","sources":["../../../../src/transaction/BeefTx.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAkB,MAAM,wBAAwB,CAAA;AACvE,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAG1C;;;;;;;;GAQG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,WAAW,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,EAAE,CAAK;IACzB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAY;IAE7B,IAAI,SAAS,IAAK,MAAM,GAAG,SAAS,CAA2B;IAE/D,IAAI,SAAS,CAAE,CAAC,EAAE,MAAM,GAAG,SAAS,EAGnC;IAED,IAAI,QAAQ,IAAK,OAAO,CAEvB;IAED,IAAI,UAAU,IAAK,OAAO,CAEzB;IAED,IAAI,IAAI,WAKP;IAED,IAAI,EAAE,gBAIL;IAED,IAAI,KAAK,aAIR;IAED;;;SAGK;gBACQ,EAAE,EAAE,WAAW,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;IAcpE,OAAO,CAAC,gBAAgB;IAUxB,QAAQ,CAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAgC9C,MAAM,CAAC,UAAU,CAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;CA8BtD"}
@@ -1 +1 @@
1
- {"version":3,"file":"MerklePath.d.ts","sourceRoot":"","sources":["../../../../src/transaction/MerklePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA0B,MAAM,wBAAwB,CAAA;AAEvE,OAAO,YAAY,MAAM,mBAAmB,CAAA;AAE5C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,SAAS,CAAC,EAAE,OAAO,CAAA;KACpB,CAAC,CAAC,CAAA;IAEH;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU;IAIvC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;IAgC7C;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU;gBAKjC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;QACjD,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,SAAS,CAAC,EAAE,OAAO,CAAA;KACpB,CAAC,CAAC;IAsCH;;;;OAIG;IACH,QAAQ,IAAI,MAAM,EAAE;IA0BpB;;;;OAIG;IACH,KAAK,IAAI,MAAM;IAIf;;;;;;OAMG;IACH,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;IAgClC;;;;;;;OAOG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IA8B7E;;;;;;OAMG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAMxE;;;;;OAKG;IACH,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IA+BhC;;;;OAIG;IACH,IAAI;CA+CL"}
1
+ {"version":3,"file":"MerklePath.d.ts","sourceRoot":"","sources":["../../../../src/transaction/MerklePath.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAA0B,MAAM,wBAAwB,CAAA;AAEvE,OAAO,YAAY,MAAM,mBAAmB,CAAA;AAE5C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAC7B,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;QAChB,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,SAAS,CAAC,EAAE,OAAO,CAAA;KACpB,CAAC,CAAC,CAAA;IAEH;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,UAAU;IAIxC,MAAM,CAAC,UAAU,CAAE,MAAM,EAAE,MAAM,GAAG,UAAU;IAgC9C;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU;gBAKjC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;QAClD,MAAM,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,IAAI,CAAC,EAAE,OAAO,CAAA;QACd,SAAS,CAAC,EAAE,OAAO,CAAA;KACpB,CAAC,CAAC;IAsCH;;;;OAIG;IACH,QAAQ,IAAK,MAAM,EAAE;IA0BrB;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAIhB;;;;;;OAMG;IACH,WAAW,CAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM;IAgCnC;;;;;;;OAOG;IACH,iBAAiB,CAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IA8B9E;;;;;;OAMG;IACG,MAAM,CAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC;IAMzE;;;;;OAKG;IACH,OAAO,CAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IA+BjC;;;;OAIG;IACH,IAAI;CA+CL"}
@@ -263,17 +263,23 @@ export default class Transaction {
263
263
  /**
264
264
  * 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.
265
265
  *
266
+ * @param allowPartial If true, error will not be thrown if there are any missing sourceTransactions.
267
+ *
266
268
  * @returns The serialized BEEF structure
269
+ * @throws Error if there are any missing sourceTransactions unless `allowPartial` is true.
267
270
  */
268
- toBEEF(): number[];
271
+ toBEEF(allowPartial?: boolean): number[];
269
272
  /**
270
273
  * Serializes this transaction and its inputs into the Atomic BEEF (BRC-95) format.
271
274
  * The Atomic BEEF format starts with a 4-byte prefix `0x01010101`, followed by the TXID of the subject transaction,
272
275
  * and then the BEEF data containing only the subject transaction and its dependencies.
273
276
  * This format ensures that the BEEF structure is atomic and contains no unrelated transactions.
274
277
  *
278
+ * @param allowPartial If true, error will not be thrown if there are any missing sourceTransactions.
279
+ *
275
280
  * @returns {number[]} - The serialized Atomic BEEF structure.
281
+ * @throws Error if there are any missing sourceTransactions unless `allowPartial` is true.
276
282
  */
277
- toAtomicBEEF(): number[];
283
+ toAtomicBEEF(allowPartial?: boolean): number[];
278
284
  }
279
285
  //# sourceMappingURL=Transaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../../src/transaction/Transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Transaction.d.ts","sourceRoot":"","sources":["../../../../src/transaction/Transaction.ts"],"names":[],"mappings":"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"}