@bsv/sdk 1.8.13 → 1.9.1

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 (89) hide show
  1. package/dist/cjs/package.json +1 -1
  2. package/dist/cjs/src/auth/Peer.js +35 -16
  3. package/dist/cjs/src/auth/Peer.js.map +1 -1
  4. package/dist/cjs/src/kvstore/LocalKVStore.js +7 -7
  5. package/dist/cjs/src/kvstore/LocalKVStore.js.map +1 -1
  6. package/dist/cjs/src/primitives/BigNumber.js +43 -31
  7. package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
  8. package/dist/cjs/src/primitives/Hash.js +11 -5
  9. package/dist/cjs/src/primitives/Hash.js.map +1 -1
  10. package/dist/cjs/src/primitives/SymmetricKey.js +15 -6
  11. package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
  12. package/dist/cjs/src/primitives/TransactionSignature.js +60 -18
  13. package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
  14. package/dist/cjs/src/primitives/utils.js +74 -28
  15. package/dist/cjs/src/primitives/utils.js.map +1 -1
  16. package/dist/cjs/src/script/Script.js +217 -108
  17. package/dist/cjs/src/script/Script.js.map +1 -1
  18. package/dist/cjs/src/script/Spend.js +5 -2
  19. package/dist/cjs/src/script/Spend.js.map +1 -1
  20. package/dist/cjs/src/transaction/Beef.js +62 -7
  21. package/dist/cjs/src/transaction/Beef.js.map +1 -1
  22. package/dist/cjs/src/transaction/BeefTx.js +1 -1
  23. package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
  24. package/dist/cjs/src/transaction/Transaction.js +67 -35
  25. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  26. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  27. package/dist/esm/src/auth/Peer.js +36 -16
  28. package/dist/esm/src/auth/Peer.js.map +1 -1
  29. package/dist/esm/src/kvstore/LocalKVStore.js +7 -7
  30. package/dist/esm/src/kvstore/LocalKVStore.js.map +1 -1
  31. package/dist/esm/src/primitives/BigNumber.js +43 -31
  32. package/dist/esm/src/primitives/BigNumber.js.map +1 -1
  33. package/dist/esm/src/primitives/Hash.js +11 -5
  34. package/dist/esm/src/primitives/Hash.js.map +1 -1
  35. package/dist/esm/src/primitives/SymmetricKey.js +15 -6
  36. package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
  37. package/dist/esm/src/primitives/TransactionSignature.js +60 -18
  38. package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
  39. package/dist/esm/src/primitives/utils.js +74 -28
  40. package/dist/esm/src/primitives/utils.js.map +1 -1
  41. package/dist/esm/src/script/Script.js +222 -110
  42. package/dist/esm/src/script/Script.js.map +1 -1
  43. package/dist/esm/src/script/Spend.js +6 -2
  44. package/dist/esm/src/script/Spend.js.map +1 -1
  45. package/dist/esm/src/transaction/Beef.js +64 -7
  46. package/dist/esm/src/transaction/Beef.js.map +1 -1
  47. package/dist/esm/src/transaction/BeefTx.js +1 -1
  48. package/dist/esm/src/transaction/BeefTx.js.map +1 -1
  49. package/dist/esm/src/transaction/Transaction.js +69 -35
  50. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  51. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  52. package/dist/types/src/auth/Peer.d.ts +4 -0
  53. package/dist/types/src/auth/Peer.d.ts.map +1 -1
  54. package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
  55. package/dist/types/src/primitives/Hash.d.ts +10 -10
  56. package/dist/types/src/primitives/Hash.d.ts.map +1 -1
  57. package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
  58. package/dist/types/src/primitives/TransactionSignature.d.ts +34 -13
  59. package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
  60. package/dist/types/src/primitives/utils.d.ts +6 -8
  61. package/dist/types/src/primitives/utils.d.ts.map +1 -1
  62. package/dist/types/src/script/Script.d.ts +18 -9
  63. package/dist/types/src/script/Script.d.ts.map +1 -1
  64. package/dist/types/src/script/Spend.d.ts +1 -0
  65. package/dist/types/src/script/Spend.d.ts.map +1 -1
  66. package/dist/types/src/transaction/Beef.d.ts +9 -0
  67. package/dist/types/src/transaction/Beef.d.ts.map +1 -1
  68. package/dist/types/src/transaction/Transaction.d.ts +7 -0
  69. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  70. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  71. package/dist/umd/bundle.js +3 -3
  72. package/dist/umd/bundle.js.map +1 -1
  73. package/docs/reference/primitives.md +87 -37
  74. package/docs/reference/script.md +11 -7
  75. package/docs/reference/transaction.md +2 -0
  76. package/package.json +1 -1
  77. package/src/auth/Peer.ts +44 -18
  78. package/src/kvstore/LocalKVStore.ts +7 -7
  79. package/src/kvstore/__tests/LocalKVStore.test.ts +17 -17
  80. package/src/primitives/BigNumber.ts +44 -23
  81. package/src/primitives/Hash.ts +41 -17
  82. package/src/primitives/SymmetricKey.ts +15 -6
  83. package/src/primitives/TransactionSignature.ts +77 -31
  84. package/src/primitives/utils.ts +80 -30
  85. package/src/script/Script.ts +238 -104
  86. package/src/script/Spend.ts +7 -3
  87. package/src/transaction/Beef.ts +74 -7
  88. package/src/transaction/BeefTx.ts +1 -1
  89. package/src/transaction/Transaction.ts +77 -34
@@ -142,7 +142,7 @@ export declare class RIPEMD160 extends BaseHash {
142
142
  export declare class SHA256 {
143
143
  private readonly h;
144
144
  constructor();
145
- update(msg: number[] | string, enc?: 'hex' | 'utf8'): this;
145
+ update(msg: Uint8Array | number[] | string, enc?: 'hex' | 'utf8'): this;
146
146
  digest(): number[];
147
147
  digestHex(): string;
148
148
  }
@@ -229,7 +229,7 @@ export declare class SHA256HMAC {
229
229
  * @example
230
230
  * const myHMAC = new SHA256HMAC('deadbeef');
231
231
  */
232
- constructor(key: number[] | string);
232
+ constructor(key: Uint8Array | number[] | string);
233
233
  /**
234
234
  * Updates the `SHA256HMAC` object with part of the message to be hashed.
235
235
  *
@@ -241,7 +241,7 @@ export declare class SHA256HMAC {
241
241
  * @example
242
242
  * myHMAC.update('deadbeef', 'hex');
243
243
  */
244
- update(msg: number[] | string, enc?: 'hex'): SHA256HMAC;
244
+ update(msg: Uint8Array | number[] | string, enc?: 'hex'): SHA256HMAC;
245
245
  /**
246
246
  * Finalizes the HMAC computation and returns the resultant hash.
247
247
  *
@@ -301,7 +301,7 @@ export declare class SHA512HMAC {
301
301
  * @example
302
302
  * const myHMAC = new SHA512HMAC('deadbeef');
303
303
  */
304
- constructor(key: number[] | string);
304
+ constructor(key: Uint8Array | number[] | string);
305
305
  /**
306
306
  * Updates the `SHA512HMAC` object with part of the message to be hashed.
307
307
  *
@@ -313,7 +313,7 @@ export declare class SHA512HMAC {
313
313
  * @example
314
314
  * myHMAC.update('deadbeef', 'hex');
315
315
  */
316
- update(msg: number[] | string, enc?: 'hex' | 'utf8'): SHA512HMAC;
316
+ update(msg: Uint8Array | number[] | string, enc?: 'hex' | 'utf8'): SHA512HMAC;
317
317
  /**
318
318
  * Finalizes the HMAC computation and returns the resultant hash.
319
319
  *
@@ -370,7 +370,7 @@ export declare const sha1: (msg: number[] | string, enc?: 'hex' | 'utf8') => num
370
370
  * @example
371
371
  * const digest = sha256('Hello, world!');
372
372
  */
373
- export declare const sha256: (msg: number[] | string, enc?: 'hex' | 'utf8') => number[];
373
+ export declare const sha256: (msg: Uint8Array | number[] | string, enc?: 'hex' | 'utf8') => number[];
374
374
  /**
375
375
  * Computes SHA512 hash of a given message.
376
376
  * @function sha512
@@ -396,7 +396,7 @@ export declare const sha512: (msg: number[] | string, enc?: 'hex' | 'utf8') => n
396
396
  * @example
397
397
  * const doubleHash = hash256('Hello, world!');
398
398
  */
399
- export declare const hash256: (msg: number[] | string, enc?: 'hex' | 'utf8') => number[];
399
+ export declare const hash256: (msg: Uint8Array | number[] | string, enc?: 'hex' | 'utf8') => number[];
400
400
  /**
401
401
  * Computes SHA256 hash of a given message and then computes a RIPEMD160 hash of the result.
402
402
  *
@@ -409,7 +409,7 @@ export declare const hash256: (msg: number[] | string, enc?: 'hex' | 'utf8') =>
409
409
  * @example
410
410
  * const hash = hash160('Hello, world!');
411
411
  */
412
- export declare const hash160: (msg: number[] | string, enc?: 'hex' | 'utf8') => number[];
412
+ export declare const hash160: (msg: Uint8Array | number[] | string, enc?: 'hex' | 'utf8') => number[];
413
413
  /**
414
414
  * Computes SHA256 HMAC of a given message with a given key.
415
415
  * @function sha256hmac
@@ -422,7 +422,7 @@ export declare const hash160: (msg: number[] | string, enc?: 'hex' | 'utf8') =>
422
422
  * @example
423
423
  * const digest = sha256hmac('deadbeef', 'ffff001d');
424
424
  */
425
- export declare const sha256hmac: (key: number[] | string, msg: number[] | string, enc?: 'hex') => number[];
425
+ export declare const sha256hmac: (key: Uint8Array | number[] | string, msg: Uint8Array | number[] | string, enc?: 'hex') => number[];
426
426
  /**
427
427
  * Computes SHA512 HMAC of a given message with a given key.
428
428
  * @function sha512hmac
@@ -435,7 +435,7 @@ export declare const sha256hmac: (key: number[] | string, msg: number[] | string
435
435
  * @example
436
436
  * const digest = sha512hmac('deadbeef', 'ffff001d');
437
437
  */
438
- export declare const sha512hmac: (key: number[] | string, msg: number[] | string, enc?: 'hex') => number[];
438
+ export declare const sha512hmac: (key: Uint8Array | number[] | string, msg: Uint8Array | number[] | string, enc?: 'hex') => number[];
439
439
  /**
440
440
  * Limited SHA-512-only PBKDF2 function for use in deprecated BIP39 code.
441
441
  * @function pbkdf2
@@ -1 +1 @@
1
- {"version":3,"file":"Hash.d.ts","sourceRoot":"","sources":["../../../../src/primitives/Hash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Hash.d.ts","sourceRoot":"","sources":["../../../../src/primitives/Hash.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SymmetricKey.d.ts","sourceRoot":"","sources":["../../../../src/primitives/SymmetricKey.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAKtC;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,SAAS;IACjD;;;;;;;;;OASG;IACH,MAAM,CAAC,UAAU,IAAK,YAAY;IAIlC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,EAAE;IAYhE;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE;CAkB1E"}
1
+ {"version":3,"file":"SymmetricKey.d.ts","sourceRoot":"","sources":["../../../../src/primitives/SymmetricKey.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAKtC;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,SAAS;IACjD;;;;;;;;;OASG;IACH,MAAM,CAAC,UAAU,IAAK,YAAY;IAIlC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,EAAE;IAqBhE;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE;CAkB1E"}
@@ -3,6 +3,26 @@ import BigNumber from './BigNumber.js';
3
3
  import Script from '../script/Script.js';
4
4
  import TransactionInput from '../transaction/TransactionInput.js';
5
5
  import TransactionOutput from '../transaction/TransactionOutput.js';
6
+ export interface SignatureHashCache {
7
+ hashPrevouts?: number[];
8
+ hashSequence?: number[];
9
+ hashOutputsAll?: number[];
10
+ hashOutputsSingle?: Map<number, number[]>;
11
+ }
12
+ interface TransactionSignatureFormatParams {
13
+ sourceTXID: string;
14
+ sourceOutputIndex: number;
15
+ sourceSatoshis: number;
16
+ transactionVersion: number;
17
+ otherInputs: TransactionInput[];
18
+ outputs: TransactionOutput[];
19
+ inputIndex: number;
20
+ subscript: Script;
21
+ inputSequence: number;
22
+ lockTime: number;
23
+ scope: number;
24
+ cache?: SignatureHashCache;
25
+ }
6
26
  export default class TransactionSignature extends Signature {
7
27
  static readonly SIGHASH_ALL = 1;
8
28
  static readonly SIGHASH_NONE = 2;
@@ -10,19 +30,19 @@ export default class TransactionSignature extends Signature {
10
30
  static readonly SIGHASH_FORKID = 64;
11
31
  static readonly SIGHASH_ANYONECANPAY = 128;
12
32
  scope: number;
13
- static format(params: {
14
- sourceTXID: string;
15
- sourceOutputIndex: number;
16
- sourceSatoshis: number;
17
- transactionVersion: number;
18
- otherInputs: TransactionInput[];
19
- outputs: TransactionOutput[];
20
- inputIndex: number;
21
- subscript: Script;
22
- inputSequence: number;
23
- lockTime: number;
24
- scope: number;
25
- }): number[];
33
+ /**
34
+ * Formats the SIGHASH preimage for the targeted input, optionally using a cache to skip recomputing shared hash prefixes.
35
+ * @param params - Context for the signing input plus transaction metadata.
36
+ * @param params.cache - Optional cache storing previously computed `hashPrevouts`, `hashSequence`, or `hashOutputs*` values; it will be populated if present.
37
+ */
38
+ static format(params: TransactionSignatureFormatParams): number[];
39
+ /**
40
+ * Formats the same SIGHASH preimage bytes as `format`, supporting the optional cache for hash reuse.
41
+ * @param params - Context for the signing operation.
42
+ * @param params.cache - Optional `SignatureHashCache` that may already contain hashed prefixes and is populated during formatting.
43
+ * @returns Bytes for signing.
44
+ */
45
+ static formatBytes(params: TransactionSignatureFormatParams): Uint8Array;
26
46
  static fromChecksigFormat(buf: number[]): TransactionSignature;
27
47
  constructor(r: BigNumber, s: BigNumber, scope: number);
28
48
  /**
@@ -33,4 +53,5 @@ export default class TransactionSignature extends Signature {
33
53
  hasLowS(): boolean;
34
54
  toChecksigFormat(): number[];
35
55
  }
56
+ export {};
36
57
  //# sourceMappingURL=TransactionSignature.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TransactionSignature.d.ts","sourceRoot":"","sources":["../../../../src/primitives/TransactionSignature.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAGtC,OAAO,MAAM,MAAM,qBAAqB,CAAA;AACxC,OAAO,gBAAgB,MAAM,oCAAoC,CAAA;AACjE,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AAEnE,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,SAAS;IACzD,gBAAuB,WAAW,KAAa;IAC/C,gBAAuB,YAAY,KAAa;IAChD,gBAAuB,cAAc,KAAa;IAClD,gBAAuB,cAAc,MAAa;IAClD,gBAAuB,oBAAoB,OAAa;IAExD,KAAK,EAAE,MAAM,CAAA;IAEb,MAAM,CAAC,MAAM,CAAE,MAAM,EAAE;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,iBAAiB,EAAE,MAAM,CAAA;QACzB,cAAc,EAAE,MAAM,CAAA;QACtB,kBAAkB,EAAE,MAAM,CAAA;QAC1B,WAAW,EAAE,gBAAgB,EAAE,CAAA;QAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;QAC5B,UAAU,EAAE,MAAM,CAAA;QAClB,SAAS,EAAE,MAAM,CAAA;QACjB,aAAa,EAAE,MAAM,CAAA;QACrB,QAAQ,EAAE,MAAM,CAAA;QAChB,KAAK,EAAE,MAAM,CAAA;KACd,GAAG,MAAM,EAAE;IA6IZ,MAAM,CAAC,kBAAkB,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,oBAAoB;gBAclD,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;IAKtD;;;;OAIG;IACI,OAAO,IAAK,OAAO;IAe1B,gBAAgB,IAAK,MAAM,EAAE;CAI9B"}
1
+ {"version":3,"file":"TransactionSignature.d.ts","sourceRoot":"","sources":["../../../../src/primitives/TransactionSignature.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAGtC,OAAO,MAAM,MAAM,qBAAqB,CAAA;AACxC,OAAO,gBAAgB,MAAM,oCAAoC,CAAA;AACjE,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AAEnE,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAC1C;AAED,UAAU,gCAAgC;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,kBAAkB,CAAA;CAC3B;AAID,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,SAAS;IACzD,gBAAuB,WAAW,KAAa;IAC/C,gBAAuB,YAAY,KAAa;IAChD,gBAAuB,cAAc,KAAa;IAClD,gBAAuB,cAAc,MAAa;IAClD,gBAAuB,oBAAoB,OAAa;IAExD,KAAK,EAAE,MAAM,CAAA;IAEb;;;;OAIG;IACH,MAAM,CAAC,MAAM,CAAE,MAAM,EAAE,gCAAgC,GAAG,MAAM,EAAE;IAIlE;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAE,MAAM,EAAE,gCAAgC,GAAG,UAAU;IAgKzE,MAAM,CAAC,kBAAkB,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,oBAAoB;gBAclD,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;IAKtD;;;;OAIG;IACI,OAAO,IAAK,OAAO;IAe1B,gBAAgB,IAAK,MAAM,EAAE;CAI9B"}
@@ -5,11 +5,6 @@ import BigNumber from './BigNumber.js';
5
5
  * @returns {string} - The word with a leading '0' if it's an odd character length; otherwise, the original word.
6
6
  */
7
7
  export declare const zero2: (word: string) => string;
8
- /**
9
- * Converts an array of numbers to a hexadecimal string representation.
10
- * @param {number[]} msg - The input array of numbers.
11
- * @returns {string} - The hexadecimal string representation of the input array.
12
- */
13
8
  export declare const toHex: (msg: number[]) => string;
14
9
  /**
15
10
  * Converts various message formats into an array of numbers.
@@ -73,13 +68,15 @@ export declare const fromBase58Check: (str: string, enc?: 'hex', prefixLength?:
73
68
  data: number[] | string;
74
69
  prefix: number[] | string;
75
70
  };
71
+ type WriterChunk = readonly number[] | Uint8Array;
76
72
  export declare class Writer {
77
- bufs: number[][];
73
+ bufs: WriterChunk[];
78
74
  private length;
79
- constructor(bufs?: number[][]);
75
+ constructor(bufs?: WriterChunk[]);
80
76
  getLength(): number;
77
+ toUint8Array(): Uint8Array;
81
78
  toArray(): number[];
82
- write(buf: number[]): this;
79
+ write(buf: WriterChunk): this;
83
80
  writeReverse(buf: number[]): this;
84
81
  writeUInt8(n: number): this;
85
82
  writeInt8(n: number): this;
@@ -138,4 +135,5 @@ export declare const minimallyEncode: (buf: number[]) => number[];
138
135
  * const myValue = verifyNotNull(someValue, 'someValue must be defined')
139
136
  */
140
137
  export declare function verifyNotNull<T>(value: T | undefined | null, errorMessage?: string): T;
138
+ export {};
141
139
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/primitives/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/primitives/utils.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,10 @@
1
1
  import ScriptChunk from './ScriptChunk.js';
2
2
  import BigNumber from '../primitives/BigNumber.js';
3
- /**
4
- * The Script class represents a script in a Bitcoin SV transaction,
5
- * encapsulating the functionality to construct, parse, and serialize
6
- * scripts used in both locking (output) and unlocking (input) scripts.
7
- *
8
- * @property {ScriptChunk[]} chunks - An array of script chunks that make up the script.
9
- */
10
3
  export default class Script {
11
- chunks: ScriptChunk[];
4
+ private _chunks;
5
+ private parsed;
6
+ private rawBytesCache?;
7
+ private hexCache?;
12
8
  /**
13
9
  * @method fromASM
14
10
  * Static method to construct a Script instance from an ASM (Assembly) formatted string.
@@ -40,8 +36,14 @@ export default class Script {
40
36
  * @constructor
41
37
  * Constructs a new Script object.
42
38
  * @param chunks=[] - An array of script chunks to directly initialize the script.
39
+ * @param rawBytesCache - Optional serialized bytes that can be reused instead of reserializing `chunks`.
40
+ * @param hexCache - Optional lowercase hex string that matches the serialized bytes, used to satisfy `toHex` quickly.
41
+ * @param parsed - When false the script defers parsing `rawBytesCache` until `chunks` is accessed; defaults to true.
43
42
  */
44
- constructor(chunks?: ScriptChunk[]);
43
+ constructor(chunks?: ScriptChunk[], rawBytesCache?: Uint8Array, hexCache?: string, parsed?: boolean);
44
+ get chunks(): ScriptChunk[];
45
+ set chunks(value: ScriptChunk[]);
46
+ private ensureParsed;
45
47
  /**
46
48
  * @method toASM
47
49
  * Serializes the script to an ASM formatted string.
@@ -60,6 +62,7 @@ export default class Script {
60
62
  * @returns The script in binary array format.
61
63
  */
62
64
  toBinary(): number[];
65
+ toUint8Array(): Uint8Array;
63
66
  /**
64
67
  * @method writeScript
65
68
  * Appends another script to this script.
@@ -143,6 +146,12 @@ export default class Script {
143
146
  * @param chunk - The script chunk.
144
147
  * @returns The string representation of the chunk.
145
148
  */
149
+ private static computeSerializedLength;
150
+ private serializeChunksToBytes;
151
+ private invalidateSerializationCaches;
152
+ private static writeChunkData;
153
+ private static parseChunks;
154
+ private static copyRange;
146
155
  private _chunkToString;
147
156
  }
148
157
  //# sourceMappingURL=Script.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Script.d.ts","sourceRoot":"","sources":["../../../../src/script/Script.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAG1C,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAElD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,MAAM,EAAE,WAAW,EAAE,CAAA;IAErB;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAuEpC;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAapC;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IA6EzC;;;;OAIG;gBACU,MAAM,GAAE,WAAW,EAAO;IAIvC;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAUhB;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAIhB;;;;OAIG;IACH,QAAQ,IAAK,MAAM,EAAE;IA6BrB;;;;;OAKG;IACH,WAAW,CAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAKpC;;;;;OAKG;IACH,WAAW,CAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAKhC;;;;;;OAMG;IACH,cAAc,CAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAK9C;;;;;OAKG;IACH,OAAO,CAAE,EAAE,EAAE,SAAS,GAAG,MAAM;IAqB/B;;;;;;OAMG;IACH,QAAQ,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAuBhC;;;;;OAKG;IACH,WAAW,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAKjC;;;;OAIG;IACH,oBAAoB,IAAK,MAAM;IAW/B;;;;;;OAMG;IACH,aAAa,CAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAYtC;;;;OAIG;IACH,UAAU,IAAK,OAAO;IAWtB;;;;OAIG;IACH,eAAe,IAAK,OAAO;IAI3B;;;;OAIG;IACH,iBAAiB,IAAK,OAAO;IAI7B;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;CAWvB"}
1
+ {"version":3,"file":"Script.d.ts","sourceRoot":"","sources":["../../../../src/script/Script.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAG1C,OAAO,SAAS,MAAM,4BAA4B,CAAA;AAYlD,MAAM,CAAC,OAAO,OAAO,MAAM;IACzB,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAC,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,CAAQ;IAEzB;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAuEpC;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAepC;;;;;;;OAOG;IACH,MAAM,CAAC,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAKzC;;;;;;;OAOG;gBACU,MAAM,GAAE,WAAW,EAAO,EAAE,aAAa,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,GAAE,OAAc;IAO9G,IAAI,MAAM,IAAK,WAAW,EAAE,CAG3B;IAED,IAAI,MAAM,CAAE,KAAK,EAAE,WAAW,EAAE,EAI/B;IAED,OAAO,CAAC,YAAY;IAUpB;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAUhB;;;;OAIG;IACH,KAAK,IAAK,MAAM;IAehB;;;;OAIG;IACH,QAAQ,IAAK,MAAM,EAAE;IAIrB,YAAY,IAAK,UAAU;IAO3B;;;;;OAKG;IACH,WAAW,CAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAMpC;;;;;OAKG;IACH,WAAW,CAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAMhC;;;;;;OAMG;IACH,cAAc,CAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;IAM9C;;;;;OAKG;IACH,OAAO,CAAE,EAAE,EAAE,SAAS,GAAG,MAAM;IAsB/B;;;;;;OAMG;IACH,QAAQ,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM;IAwBhC;;;;;OAKG;IACH,WAAW,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAMjC;;;;OAIG;IACH,oBAAoB,IAAK,MAAM;IAY/B;;;;;;OAMG;IACH,aAAa,CAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAatC;;;;OAIG;IACH,UAAU,IAAK,OAAO;IAWtB;;;;OAIG;IACH,eAAe,IAAK,OAAO;IAI3B;;;;OAIG;IACH,iBAAiB,IAAK,OAAO;IAI7B;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,uBAAuB;IAuBtC,OAAO,CAAC,sBAAsB;IAqB9B,OAAO,CAAC,6BAA6B;IAKrC,OAAO,CAAC,MAAM,CAAC,cAAc;IA+B7B,OAAO,CAAC,MAAM,CAAC,WAAW;IA6E1B,OAAO,CAAC,MAAM,CAAC,SAAS;IAaxB,OAAO,CAAC,cAAc;CAWvB"}
@@ -42,6 +42,7 @@ export default class Spend {
42
42
  memoryLimit: number;
43
43
  stackMem: number;
44
44
  altStackMem: number;
45
+ private sigHashCache;
45
46
  /**
46
47
  * @constructor
47
48
  * Constructs the Spend object with necessary transaction details.
@@ -1 +1 @@
1
- {"version":3,"file":"Spend.d.ts","sourceRoot":"","sources":["../../../../src/script/Spend.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAC9C,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAWlD,OAAO,gBAAgB,MAAM,oCAAoC,CAAA;AACjE,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AAoGnE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,OAAO,OAAO,KAAK;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,eAAe,CAAA;IAChC,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAEhB,OAAO,EAAE,iBAAiB,GAAG,eAAe,CAAA;IAC5C,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAA;IACpB,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IAEnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;gBACU,MAAM,EAAE;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,iBAAiB,EAAE,MAAM,CAAA;QACzB,cAAc,EAAE,MAAM,CAAA;QACtB,aAAa,EAAE,aAAa,CAAA;QAC5B,kBAAkB,EAAE,MAAM,CAAA;QAC1B,WAAW,EAAE,gBAAgB,EAAE,CAAA;QAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;QAC5B,eAAe,EAAE,eAAe,CAAA;QAChC,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB;IAqBD,KAAK,IAAK,IAAI;IAWd,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,sBAAsB;IAwB9B,OAAO,CAAC,sBAAsB;IAgC9B,OAAO,CAAC,eAAe;IAsBvB,IAAI,IAAK,OAAO;IA4mBhB;;;;;;;;;;OAUG;IACH,QAAQ,IAAK,OAAO;IA2CpB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,qBAAqB;CAc9B"}
1
+ {"version":3,"file":"Spend.d.ts","sourceRoot":"","sources":["../../../../src/script/Spend.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,oBAAoB,CAAA;AAC9C,OAAO,eAAe,MAAM,sBAAsB,CAAA;AAWlD,OAAO,gBAAgB,MAAM,oCAAoC,CAAA;AACjE,OAAO,iBAAiB,MAAM,qCAAqC,CAAA;AAoGnE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,OAAO,OAAO,KAAK;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,EAAE,aAAa,CAAA;IAC5B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,eAAe,CAAA;IAChC,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAEhB,OAAO,EAAE,iBAAiB,GAAG,eAAe,CAAA;IAC5C,cAAc,EAAE,MAAM,CAAA;IACtB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAA;IACjB,QAAQ,EAAE,MAAM,EAAE,EAAE,CAAA;IACpB,OAAO,EAAE,OAAO,EAAE,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,YAAY,CAAoB;IAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;gBACU,MAAM,EAAE;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,iBAAiB,EAAE,MAAM,CAAA;QACzB,cAAc,EAAE,MAAM,CAAA;QACtB,aAAa,EAAE,aAAa,CAAA;QAC5B,kBAAkB,EAAE,MAAM,CAAA;QAC1B,WAAW,EAAE,gBAAgB,EAAE,CAAA;QAC/B,OAAO,EAAE,iBAAiB,EAAE,CAAA;QAC5B,eAAe,EAAE,eAAe,CAAA;QAChC,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,WAAW,CAAC,EAAE,MAAM,CAAA;KACrB;IAsBD,KAAK,IAAK,IAAI;IAYd,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,QAAQ;IAShB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,sBAAsB;IAwB9B,OAAO,CAAC,sBAAsB;IAgC9B,OAAO,CAAC,eAAe;IAuBvB,IAAI,IAAK,OAAO;IA4mBhB;;;;;;;;;;OAUG;IACH,QAAQ,IAAK,OAAO;IA2CpB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,qBAAqB;CAc9B"}
@@ -17,7 +17,15 @@ export declare class Beef {
17
17
  version: number;
18
18
  atomicTxid: string | undefined;
19
19
  private txidIndex;
20
+ private rawBytesCache?;
21
+ private hexCache?;
22
+ private needsSort;
20
23
  constructor(version?: number);
24
+ private invalidateSerializationCaches;
25
+ private markMutated;
26
+ private ensureSerializableState;
27
+ private ensureSortedForSerialization;
28
+ private getSerializedBytes;
21
29
  /**
22
30
  * @param txid of `beefTx` to find
23
31
  * @returns `BeefTx` in `txs` with `txid`.
@@ -157,6 +165,7 @@ export declare class Beef {
157
165
  * @returns A binary array representing the BEEF
158
166
  */
159
167
  toBinary(): number[];
168
+ toUint8Array(): Uint8Array;
160
169
  /**
161
170
  * Serialize this Beef as AtomicBEEF.
162
171
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Beef.d.ts","sourceRoot":"","sources":["../../../../src/transaction/Beef.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Beef.d.ts","sourceRoot":"","sources":["../../../../src/transaction/Beef.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,iBAAiB,CAAA;AACxC,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAC1C,OAAO,YAAY,MAAM,mBAAmB,CAAA;AAC5C,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAiC,MAAM,wBAAwB,CAAA;AAMtF,eAAO,MAAM,OAAO,aAAa,CAAA;AACjC,eAAO,MAAM,OAAO,aAAa,CAAA;AACjC,eAAO,MAAM,WAAW,WAAa,CAAA;AACrC,oBAAY,cAAc;IACxB,KAAK,IAAI;IACT,oBAAoB,IAAI;IACxB,SAAS,IAAI;CACd;AAuDD,qBAAa,IAAI;IACf,KAAK,EAAE,UAAU,EAAE,CAAK;IACxB,GAAG,EAAE,MAAM,EAAE,CAAK;IAClB,OAAO,EAAE,MAAM,CAAU;IACzB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAY;IAC1C,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,aAAa,CAAC,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,CAAQ;IACzB,OAAO,CAAC,SAAS,CAAgB;gBAEpB,OAAO,GAAE,MAAgB;IAItC,OAAO,CAAC,6BAA6B;IAKrC,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,4BAA4B;IAMpC,OAAO,CAAC,kBAAkB;IAW1B;;;OAGG;IACH,QAAQ,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3C,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,UAAU;IAIlB;;;;;;;;;OASG;IACH,YAAY,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAc/C;;OAEG;IACH,QAAQ,CAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAM/C;;;;;;;;OAQG;IACH,yBAAyB,CAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAgBjE;;;;;;;OAOG;IACH,qBAAqB,CAAE,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAiC7D;;;;OAIG;IACH,SAAS,CAAE,IAAI,EAAE,UAAU,GAAG,MAAM;IAgDpC;;;;;;;;;;OAUG;IACH,UAAU,CAAE,KAAK,EAAE,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IAUxD;;;;;;;;;OASG;IACH,gBAAgB,CAAE,EAAE,EAAE,WAAW,GAAG,MAAM;IAuB1C;;;OAGG;IACH,kBAAkB,CAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IASvC,aAAa,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAYpC,WAAW,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAkBjC,SAAS,CAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI;IAYvC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAE,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO;IAI1C;;;;;;;;;;;;;OAaG;IACG,MAAM,CACV,YAAY,EAAE,YAAY,EAC1B,aAAa,CAAC,EAAE,OAAO,GACtB,OAAO,CAAC,OAAO,CAAC;IAiBnB;;;;;;;;;;;;;;;;OAgBG;IACH,WAAW,CAAE,aAAa,CAAC,EAAE,OAAO,GAAG;QACrC,KAAK,EAAE,OAAO,CAAA;QACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAC9B;IAoED;;;OAGG;IACH,QAAQ,CAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAc/B;;;OAGG;IACH,QAAQ,IAAK,MAAM,EAAE;IAIrB,YAAY,IAAK,UAAU;IAI3B;;;;;;;;;OASG;IACH,cAAc,CAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAyBvC;;;OAGG;IACH,KAAK,IAAK,MAAM;IAahB,MAAM,CAAC,UAAU,CAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IA4BpC;;;;OAIG;IACH,MAAM,CAAC,UAAU,CAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI;IAKvC;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAE,CAAC,EAAE,MAAM,EAAE,GAAG,GAAE,KAAK,GAAG,MAAM,GAAG,QAAgB,GAAG,IAAI;IAM3E;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;;;;;;;;OASG;IACH,OAAO,IAAK;QACV,aAAa,EAAE,MAAM,EAAE,CAAA;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;QAClB,KAAK,EAAE,MAAM,EAAE,CAAA;QACf,iBAAiB,EAAE,MAAM,EAAE,CAAA;QAC3B,QAAQ,EAAE,MAAM,EAAE,CAAA;KACnB;IAmGD;;OAEG;IACH,KAAK,IAAK,IAAI;IAUd;;;OAGG;IACH,cAAc,CAAE,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI;IAkB3C;;OAEG;IACH,aAAa,IAAK,MAAM,EAAE;IAK1B;;OAEG;IACH,WAAW,IAAK,MAAM;IAmCtB;;;KAGC;IACD,iBAAiB,IAAK,IAAI;CA8B3B;AAED,eAAe,IAAI,CAAA"}
@@ -48,6 +48,8 @@ export default class Transaction {
48
48
  metadata: Record<string, any>;
49
49
  merklePath?: MerklePath;
50
50
  private cachedHash?;
51
+ private rawBytesCache?;
52
+ private hexCache?;
51
53
  private static addPathOrInputs;
52
54
  /**
53
55
  * Creates a new transaction, linked to its inputs and their associated merkle paths, from a BEEF V1, V2 or Atomic.
@@ -139,6 +141,7 @@ export default class Transaction {
139
141
  */
140
142
  static fromHexBEEF(hex: string, txid?: string): Transaction;
141
143
  constructor(version?: number, inputs?: TransactionInput[], outputs?: TransactionOutput[], lockTime?: number, metadata?: Record<string, any>, merklePath?: MerklePath);
144
+ private invalidateSerializationCaches;
142
145
  /**
143
146
  * Adds a new input to the transaction.
144
147
  *
@@ -199,12 +202,16 @@ export default class Transaction {
199
202
  * @returns A BroadcastResponse or BroadcastFailure from the Broadcaster
200
203
  */
201
204
  broadcast(broadcaster?: Broadcaster): Promise<BroadcastResponse | BroadcastFailure>;
205
+ private writeTransactionBody;
206
+ private buildSerializedBytes;
207
+ private getSerializedBytes;
202
208
  /**
203
209
  * Converts the transaction to a binary array format.
204
210
  *
205
211
  * @returns {number[]} - The binary array representation of the transaction.
206
212
  */
207
213
  toBinary(): number[];
214
+ toUint8Array(): Uint8Array;
208
215
  /**
209
216
  * Converts the transaction to a BRC-30 EF format.
210
217
  *
@@ -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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"}