ecash-lib 4.11.0 → 4.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/psbt.d.ts CHANGED
@@ -1,3 +1,6 @@
1
+ import { Ecc } from './ecc.js';
2
+ import { Script } from './script.js';
3
+ import { type SigHashType } from './sigHashType.js';
1
4
  import { SignData, Tx } from './tx.js';
2
5
  /**
3
6
  * BIP 174 **magic bytes** for PSBT version 0: ASCII `psbt` + `0xff`.
@@ -14,22 +17,33 @@ export declare const PSBT_MAGIC: Uint8Array<ArrayBuffer>;
14
17
  * {@link resolveWitnessFromKey00}.
15
18
  */
16
19
  export declare const PSBT_IN_UTXO = 0;
20
+ /** Strip input scripts for PSBT global unsigned transaction (BIP 174). */
21
+ export declare function txToUnsigned(tx: Tx): Tx;
22
+ export interface PsbtInputMaps {
23
+ witnessUtxo: {
24
+ sats: bigint;
25
+ scriptPubKey: Uint8Array;
26
+ };
27
+ redeemScript?: Script;
28
+ partialSigs: Map<string, Uint8Array>;
29
+ }
17
30
  /** One PSBT key-value pair (BIP 174). */
18
31
  export type PsbtKeyValue = {
19
32
  key: Uint8Array;
20
33
  value: Uint8Array;
21
34
  };
22
35
  /**
23
- * BIP 174 PSBT decode/encode for eCash, aligned with Bitcoin ABC’s PSBT maps.
36
+ * BIP 174 PSBT for eCash multisig and ABC-aligned decode/encode.
24
37
  * See https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki#serialization
25
38
  *
26
- * Use {@link Psbt.fromBytes} / {@link Psbt.toBytes} for round-trip; unknown
27
- * key-value pairs are preserved (BIP 174).
39
+ * Typical flow: {@link Psbt.fromTx} from a partially signed {@link Tx} plus
40
+ * {@link SignData} per input {@link Psbt.toBytes} → share → {@link Psbt.fromBytes}.
41
+ * Unknown key-value pairs are preserved (BIP 174).
28
42
  */
29
43
  export declare class Psbt {
30
44
  /** Unsigned transaction (empty scriptSigs). */
31
45
  readonly unsignedTx: Tx;
32
- /** Per-input data derived from maps (amount, scripts, partial sigs). */
46
+ /** Per-input signing data (amount, scripts, partial sig maps). */
33
47
  readonly signDataPerInput: SignData[];
34
48
  /** Per-input partial signatures: hex(pubkey) → signature incl. sighash byte. */
35
49
  readonly inputPartialSigs: Map<string, Uint8Array>[];
@@ -57,9 +71,45 @@ export declare class Psbt {
57
71
  unknownOutputPairs?: PsbtKeyValue[][];
58
72
  inputWitnessIncomplete?: boolean[];
59
73
  });
74
+ /**
75
+ * Build a PSBT from a transaction that may already include partial scriptSigs.
76
+ * Populates `PSBT_IN_UTXO` (`0x00`) + redeem script + partial signatures.
77
+ */
78
+ static fromTx(tx: Tx, signDataPerInput: SignData[], ecc: Ecc): Psbt;
60
79
  /** Deserialize PSBT bytes (BIP 174). */
61
80
  static fromBytes(data: Uint8Array): Psbt;
62
81
  /** Serialize to BIP 174 bytes. */
63
82
  toBytes(): Uint8Array;
83
+ /**
84
+ * Current transaction with scriptSigs built from partial signatures.
85
+ * Attach each input's `signData` for signing and validation helpers.
86
+ */
87
+ toTx(): Tx;
88
+ /**
89
+ * Add or merge a multisig signature on an input (same semantics as
90
+ * {@link Tx.addMultisigSignature}).
91
+ */
92
+ addMultisigSignature(params: {
93
+ inputIdx: number;
94
+ signature: Uint8Array;
95
+ signData: SignData;
96
+ ecc?: Ecc;
97
+ }): Psbt;
98
+ /**
99
+ * Like {@link addMultisigSignature}, but signs with a secret key (see
100
+ * {@link Tx.addMultisigSignatureFromKey}).
101
+ */
102
+ addMultisigSignatureFromKey(params: {
103
+ inputIdx: number;
104
+ sk: Uint8Array;
105
+ signData: SignData;
106
+ sigHashType?: SigHashType;
107
+ ecc?: Ecc;
108
+ }): Psbt;
109
+ /**
110
+ * Same as {@link Tx.isFullySignedMultisig} on {@link toTx} (including
111
+ * vacuous `true` when there are no multisig inputs).
112
+ */
113
+ isFullySignedMultisig(): boolean;
64
114
  }
65
115
  //# sourceMappingURL=psbt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"psbt.d.ts","sourceRoot":"","sources":["../src/psbt.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAY,QAAQ,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,UAAU,yBAAiD,CAAC;AAGzE;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,IAAO,CAAC;AA4OjC,yCAAyC;AACzC,MAAM,MAAM,YAAY,GAAG;IAAE,GAAG,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC;AAgFlE;;;;;;GAMG;AACH,qBAAa,IAAI;IACb,+CAA+C;IAC/C,SAAgB,UAAU,EAAE,EAAE,CAAC;IAC/B,wEAAwE;IACxE,SAAgB,gBAAgB,EAAE,QAAQ,EAAE,CAAC;IAC7C,gFAAgF;IAChF,SAAgB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;IAC5D;;;OAGG;IACH,SAAgB,kBAAkB,EAAE,YAAY,EAAE,CAAC;IACnD,oFAAoF;IACpF,SAAgB,iBAAiB,EAAE,YAAY,EAAE,EAAE,CAAC;IACpD,gCAAgC;IAChC,SAAgB,kBAAkB,EAAE,YAAY,EAAE,EAAE,CAAC;IACrD;;;;OAIG;IACH,SAAgB,sBAAsB,EAAE,OAAO,EAAE,CAAC;gBAE/B,MAAM,EAAE;QACvB,UAAU,EAAE,EAAE,CAAC;QACf,gBAAgB,EAAE,QAAQ,EAAE,CAAC;QAC7B,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;QAC5C,kBAAkB,CAAC,EAAE,YAAY,EAAE,CAAC;QACpC,iBAAiB,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC;QACrC,kBAAkB,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC;QACtC,sBAAsB,CAAC,EAAE,OAAO,EAAE,CAAC;KACtC;IAoCD,wCAAwC;WAC1B,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAiG/C,kCAAkC;IAC3B,OAAO,IAAI,UAAU;CAsD/B"}
1
+ {"version":3,"file":"psbt.d.ts","sourceRoot":"","sources":["../src/psbt.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAc,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAIH,QAAQ,EACR,EAAE,EAEL,MAAM,SAAS,CAAC;AAGjB;;;;;GAKG;AACH,eAAO,MAAM,UAAU,yBAAiD,CAAC;AAGzE;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,IAAO,CAAC;AAmKjC,0EAA0E;AAC1E,wBAAgB,YAAY,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,CAWvC;AAiPD,MAAM,WAAW,aAAa;IAC1B,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,UAAU,CAAA;KAAE,CAAC;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACxC;AAED,yCAAyC;AACzC,MAAM,MAAM,YAAY,GAAG;IAAE,GAAG,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,UAAU,CAAA;CAAE,CAAC;AAgFlE;;;;;;;GAOG;AACH,qBAAa,IAAI;IACb,+CAA+C;IAC/C,SAAgB,UAAU,EAAE,EAAE,CAAC;IAC/B,kEAAkE;IAClE,SAAgB,gBAAgB,EAAE,QAAQ,EAAE,CAAC;IAC7C,gFAAgF;IAChF,SAAgB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;IAC5D;;;OAGG;IACH,SAAgB,kBAAkB,EAAE,YAAY,EAAE,CAAC;IACnD,oFAAoF;IACpF,SAAgB,iBAAiB,EAAE,YAAY,EAAE,EAAE,CAAC;IACpD,gCAAgC;IAChC,SAAgB,kBAAkB,EAAE,YAAY,EAAE,EAAE,CAAC;IACrD;;;;OAIG;IACH,SAAgB,sBAAsB,EAAE,OAAO,EAAE,CAAC;gBAE/B,MAAM,EAAE;QACvB,UAAU,EAAE,EAAE,CAAC;QACf,gBAAgB,EAAE,QAAQ,EAAE,CAAC;QAC7B,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;QAC5C,kBAAkB,CAAC,EAAE,YAAY,EAAE,CAAC;QACpC,iBAAiB,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC;QACrC,kBAAkB,CAAC,EAAE,YAAY,EAAE,EAAE,CAAC;QACtC,sBAAsB,CAAC,EAAE,OAAO,EAAE,CAAC;KACtC;IAoCD;;;OAGG;WACW,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,gBAAgB,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI;IAyB1E,wCAAwC;WAC1B,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAiG/C,kCAAkC;IAC3B,OAAO,IAAI,UAAU;IAuD5B;;;OAGG;IACI,IAAI,IAAI,EAAE;IAoBjB;;;OAGG;IACI,oBAAoB,CAAC,MAAM,EAAE;QAChC,QAAQ,EAAE,MAAM,CAAC;QACjB,SAAS,EAAE,UAAU,CAAC;QACtB,QAAQ,EAAE,QAAQ,CAAC;QACnB,GAAG,CAAC,EAAE,GAAG,CAAC;KACb,GAAG,IAAI;IAmBR;;;OAGG;IACI,2BAA2B,CAAC,MAAM,EAAE;QACvC,QAAQ,EAAE,MAAM,CAAC;QACjB,EAAE,EAAE,UAAU,CAAC;QACf,QAAQ,EAAE,QAAQ,CAAC;QACnB,WAAW,CAAC,EAAE,WAAW,CAAC;QAC1B,GAAG,CAAC,EAAE,GAAG,CAAC;KACb,GAAG,IAAI;IAmBR;;;OAGG;IACI,qBAAqB,IAAI,OAAO;CAG1C"}
package/dist/psbt.js CHANGED
@@ -4,28 +4,35 @@
4
4
  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Psbt = exports.PSBT_IN_UTXO = exports.PSBT_MAGIC = void 0;
7
+ exports.txToUnsigned = txToUnsigned;
7
8
  /**
8
9
  * Partially Signed Bitcoin Transaction (PSBT) per **BIP 174**:
9
10
  * - Spec: https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki
10
11
  *
11
- * This module implements **decode/encode** (`{@link Psbt.fromBytes}`,
12
- * `{@link Psbt.toBytes}`) aligned with Bitcoin ABC: global unsigned tx, per-input
13
- * `PSBT_IN_UTXO` (`0x00`) / redeem script / partial sigs, output maps, and
14
- * preservation of unknown pairs (BIP 174).
12
+ * Decode/encode aligned with Bitcoin ABC (`{@link Psbt.fromBytes}`,
13
+ * `{@link Psbt.toBytes}`), plus multisig workflows: per-input `PSBT_IN_UTXO`
14
+ * (`0x00`), redeem script, partial signatures; unknown pairs preserved (BIP 174).
15
15
  *
16
16
  * **Input key `0x00` (`PSBT_IN_UTXO`):** BIP 174 also defines type `0x01` (“witness
17
17
  * UTXO”) for the same *value* shape. **Bitcoin ABC only implements `0x00`:** value
18
18
  * is `CTxOut` or full previous tx (non-witness UTXO). We match the node; `0x01`
19
19
  * entries are preserved as unknown keys on round-trip.
20
+ *
21
+ * High-level merge/sign helpers: {@link Tx.addMultisigSignature},
22
+ * {@link Tx.addMultisigSignatureFromKey}; {@link Psbt.fromTx} builds a PSBT from a
23
+ * partially signed {@link Tx}; {@link Psbt.toTx} rebuilds scriptSigs from partial sigs.
20
24
  */
21
25
  const bytes_js_1 = require("./io/bytes.js");
22
26
  const hex_js_1 = require("./io/hex.js");
23
27
  const varsize_js_1 = require("./io/varsize.js");
24
28
  const writerbytes_js_1 = require("./io/writerbytes.js");
25
29
  const writerlength_js_1 = require("./io/writerlength.js");
30
+ const ecc_js_1 = require("./ecc.js");
26
31
  const hash_js_1 = require("./hash.js");
27
32
  const script_js_1 = require("./script.js");
33
+ const sigHashType_js_1 = require("./sigHashType.js");
28
34
  const tx_js_1 = require("./tx.js");
35
+ const unsignedTx_js_1 = require("./unsignedTx.js");
29
36
  /**
30
37
  * BIP 174 **magic bytes** for PSBT version 0: ASCII `psbt` + `0xff`.
31
38
  * Defined in BIP 174 “Specification > Version 0” (must be first bytes of a `.psbt`).
@@ -185,6 +192,19 @@ function validateBip32DerivationKeyValue(key, value) {
185
192
  throw new Error('PSBT: invalid BIP32 derivation value');
186
193
  }
187
194
  }
195
+ /** Strip input scripts for PSBT global unsigned transaction (BIP 174). */
196
+ function txToUnsigned(tx) {
197
+ return new tx_js_1.Tx({
198
+ version: tx.version,
199
+ inputs: tx.inputs.map(inp => ({
200
+ prevOut: inp.prevOut,
201
+ script: new script_js_1.Script(),
202
+ sequence: inp.sequence,
203
+ })),
204
+ outputs: tx.outputs.map(o => (0, tx_js_1.copyTxOutput)(o)),
205
+ locktime: tx.locktime,
206
+ });
207
+ }
188
208
  /** `CTxOut` bytes for a {@link PSBT_IN_UTXO} map value (same layout BIP 174 labels “witness UTXO”). */
189
209
  function encodeWitnessUtxo(sats, scriptPubKey) {
190
210
  const wl = new writerlength_js_1.WriterLength();
@@ -247,6 +267,149 @@ function scriptPubKeyFromSignData(signData) {
247
267
  }
248
268
  throw new Error('SignData needs redeemScript or outputScript for PSBT');
249
269
  }
270
+ /**
271
+ * The multisig **redeem** script used to interpret partial sigs: P2SH `redeemScript`,
272
+ * or bare `outputScript` (the locking script is the multisig template itself).
273
+ */
274
+ function multisigLockingScript(signData) {
275
+ if (signData.redeemScript !== undefined) {
276
+ return signData.redeemScript;
277
+ }
278
+ if (signData.outputScript !== undefined) {
279
+ return signData.outputScript;
280
+ }
281
+ throw new Error('SignData needs redeemScript or outputScript');
282
+ }
283
+ /**
284
+ * Build the input `scriptSig` for a multisig spend from the PSBT partial-signature
285
+ * map (pubkey hex → signature with sighash byte). Used by {@link Psbt.toTx} only.
286
+ *
287
+ * Matches pubkey order from {@link multisigLockingScript}'s `parseMultisigRedeemScript`,
288
+ * then dispatches:
289
+ * - **Schnorr** if any partial sig has length 65 (Schnorr + sighash): uses
290
+ * {@link Script.multisigSpend} with `pubkeyIndices` derived from which pubkeys
291
+ * have sigs (bare passes `numPubkeys`; P2SH passes `redeemScript`).
292
+ * - **ECDSA** otherwise: fills `m` slots left-to-right from present sigs (same
293
+ * convention as {@link BareMultisigSignatory} / {@link P2SHMultisigSignatory}).
294
+ */
295
+ function buildScriptSigFromPartialSigs(signData, partialSigs) {
296
+ const lock = multisigLockingScript(signData);
297
+ const { numSignatures, numPubkeys, pubkeys } = lock.parseMultisigRedeemScript();
298
+ const perPk = pubkeys.map(pk => partialSigs.get(pubkeyHex(pk)));
299
+ const signatures = perPk.filter((s) => s !== undefined);
300
+ const anySchnorr = [...partialSigs.values()].some(s => s.length === 65);
301
+ if (anySchnorr) {
302
+ const pubkeyIndices = new Set(perPk.flatMap((s, i) => (s !== undefined ? [i] : [])));
303
+ if (signData.redeemScript !== undefined) {
304
+ return script_js_1.Script.multisigSpend({
305
+ signatures,
306
+ redeemScript: signData.redeemScript,
307
+ pubkeyIndices,
308
+ });
309
+ }
310
+ return script_js_1.Script.multisigSpend({
311
+ signatures,
312
+ pubkeyIndices,
313
+ numPubkeys,
314
+ });
315
+ }
316
+ const sigsForScript = signatures.length >= numSignatures
317
+ ? signatures.slice(0, numSignatures)
318
+ : [
319
+ ...signatures,
320
+ ...Array(numSignatures - signatures.length).fill(undefined),
321
+ ];
322
+ return script_js_1.Script.multisigSpend({
323
+ signatures: sigsForScript,
324
+ redeemScript: signData.redeemScript,
325
+ });
326
+ }
327
+ /**
328
+ * Extract pubkey → signature (with sighash byte) from a multisig scriptSig.
329
+ */
330
+ function extractPartialSigsFromInput(script, signData, unsignedTx, inputIdx, ecc) {
331
+ const map = new Map();
332
+ if (!script.bytecode.length)
333
+ return map;
334
+ const inputs = unsignedTx.inputs.map((inp, i) => ({
335
+ ...(0, tx_js_1.copyTxInput)(inp),
336
+ signData: i === inputIdx ? signData : undefined,
337
+ }));
338
+ inputs[inputIdx] = {
339
+ ...(0, tx_js_1.copyTxInput)(unsignedTx.inputs[inputIdx]),
340
+ script,
341
+ signData,
342
+ };
343
+ const txForPreimage = new tx_js_1.Tx({
344
+ version: unsignedTx.version,
345
+ inputs,
346
+ outputs: unsignedTx.outputs.map(tx_js_1.copyTxOutput),
347
+ locktime: unsignedTx.locktime,
348
+ });
349
+ const msgHash = (0, hash_js_1.sha256d)(unsignedTx_js_1.UnsignedTx.fromTx(txForPreimage)
350
+ .inputAt(inputIdx)
351
+ .sigHashPreimage(sigHashType_js_1.ALL_BIP143).bytes);
352
+ if (signData.redeemScript !== undefined) {
353
+ const parsed = script.parseP2shMultisigSpend();
354
+ if (parsed.isSchnorr) {
355
+ const sorted = [...(parsed.pubkeyIndices ?? [])].sort((a, b) => a - b);
356
+ for (let i = 0; i < sorted.length; i++) {
357
+ const pkIdx = sorted[i];
358
+ const pk = parsed.pubkeys[pkIdx];
359
+ const sig = parsed.signatures[i];
360
+ if (sig !== undefined)
361
+ map.set(pubkeyHex(pk), sig);
362
+ }
363
+ return map;
364
+ }
365
+ for (const sig of parsed.signatures) {
366
+ if (sig === undefined)
367
+ continue;
368
+ const sigNo = sig.slice(0, -1);
369
+ for (const pk of parsed.pubkeys) {
370
+ try {
371
+ ecc.ecdsaVerify(sigNo, msgHash, pk);
372
+ map.set(pubkeyHex(pk), sig);
373
+ break;
374
+ }
375
+ catch {
376
+ /* next */
377
+ }
378
+ }
379
+ }
380
+ return map;
381
+ }
382
+ if (signData.outputScript !== undefined) {
383
+ const parsed = script.parseBareMultisigSpend(signData.outputScript);
384
+ if (parsed.isSchnorr) {
385
+ const sorted = [...(parsed.pubkeyIndices ?? [])].sort((a, b) => a - b);
386
+ for (let i = 0; i < sorted.length; i++) {
387
+ const pkIdx = sorted[i];
388
+ const pk = parsed.pubkeys[pkIdx];
389
+ const sig = parsed.signatures[i];
390
+ if (sig !== undefined)
391
+ map.set(pubkeyHex(pk), sig);
392
+ }
393
+ return map;
394
+ }
395
+ for (const sig of parsed.signatures) {
396
+ if (sig === undefined)
397
+ continue;
398
+ const sigNo = sig.slice(0, -1);
399
+ for (const pk of parsed.pubkeys) {
400
+ try {
401
+ ecc.ecdsaVerify(sigNo, msgHash, pk);
402
+ map.set(pubkeyHex(pk), sig);
403
+ break;
404
+ }
405
+ catch {
406
+ /* next */
407
+ }
408
+ }
409
+ }
410
+ }
411
+ return map;
412
+ }
250
413
  function parseInputMapPairs(inPairs, prevOut) {
251
414
  const partialSigs = new Map();
252
415
  const unknown = [];
@@ -310,11 +473,12 @@ function parseInputMapPairs(inPairs, prevOut) {
310
473
  return { witness, redeemScript, partialSigs, unknown };
311
474
  }
312
475
  /**
313
- * BIP 174 PSBT decode/encode for eCash, aligned with Bitcoin ABC’s PSBT maps.
476
+ * BIP 174 PSBT for eCash multisig and ABC-aligned decode/encode.
314
477
  * See https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki#serialization
315
478
  *
316
- * Use {@link Psbt.fromBytes} / {@link Psbt.toBytes} for round-trip; unknown
317
- * key-value pairs are preserved (BIP 174).
479
+ * Typical flow: {@link Psbt.fromTx} from a partially signed {@link Tx} plus
480
+ * {@link SignData} per input {@link Psbt.toBytes} → share → {@link Psbt.fromBytes}.
481
+ * Unknown key-value pairs are preserved (BIP 174).
318
482
  */
319
483
  class Psbt {
320
484
  constructor(params) {
@@ -346,6 +510,28 @@ class Psbt {
346
510
  throw new Error('inputWitnessIncomplete length must match inputs');
347
511
  }
348
512
  }
513
+ /**
514
+ * Build a PSBT from a transaction that may already include partial scriptSigs.
515
+ * Populates `PSBT_IN_UTXO` (`0x00`) + redeem script + partial signatures.
516
+ */
517
+ static fromTx(tx, signDataPerInput, ecc) {
518
+ const unsignedTx = txToUnsigned(tx);
519
+ const inputPartialSigs = [];
520
+ for (let i = 0; i < tx.inputs.length; i++) {
521
+ const script = tx.inputs[i]?.script ?? new script_js_1.Script();
522
+ const sigs = extractPartialSigsFromInput(script, signDataPerInput[i], unsignedTx, i, ecc);
523
+ inputPartialSigs.push(sigs);
524
+ }
525
+ return new Psbt({
526
+ unsignedTx,
527
+ signDataPerInput,
528
+ inputPartialSigs,
529
+ unknownGlobalPairs: [],
530
+ unknownInputPairs: unsignedTx.inputs.map(() => []),
531
+ unknownOutputPairs: unsignedTx.outputs.map(() => []),
532
+ inputWitnessIncomplete: unsignedTx.inputs.map(() => false),
533
+ });
534
+ }
349
535
  /** Deserialize PSBT bytes (BIP 174). */
350
536
  static fromBytes(data) {
351
537
  const bytes = new bytes_js_1.Bytes(data);
@@ -489,6 +675,69 @@ class Psbt {
489
675
  }
490
676
  return w.data;
491
677
  }
678
+ /**
679
+ * Current transaction with scriptSigs built from partial signatures.
680
+ * Attach each input's `signData` for signing and validation helpers.
681
+ */
682
+ toTx() {
683
+ return new tx_js_1.Tx({
684
+ version: this.unsignedTx.version,
685
+ inputs: this.unsignedTx.inputs.map((inp, i) => {
686
+ const sd = this.signDataPerInput[i];
687
+ const script = buildScriptSigFromPartialSigs(sd, this.inputPartialSigs[i]);
688
+ return {
689
+ ...(0, tx_js_1.copyTxInput)(inp),
690
+ script,
691
+ signData: sd,
692
+ };
693
+ }),
694
+ outputs: this.unsignedTx.outputs.map(tx_js_1.copyTxOutput),
695
+ locktime: this.unsignedTx.locktime,
696
+ });
697
+ }
698
+ /**
699
+ * Add or merge a multisig signature on an input (same semantics as
700
+ * {@link Tx.addMultisigSignature}).
701
+ */
702
+ addMultisigSignature(params) {
703
+ const tx = this.toTx();
704
+ const nextTx = tx.addMultisigSignature(params);
705
+ const next = Psbt.fromTx(nextTx, this.signDataPerInput, params.ecc ?? new ecc_js_1.Ecc());
706
+ return new Psbt({
707
+ unsignedTx: next.unsignedTx,
708
+ signDataPerInput: next.signDataPerInput,
709
+ inputPartialSigs: next.inputPartialSigs,
710
+ unknownGlobalPairs: this.unknownGlobalPairs,
711
+ unknownInputPairs: this.unknownInputPairs,
712
+ unknownOutputPairs: this.unknownOutputPairs,
713
+ inputWitnessIncomplete: this.inputWitnessIncomplete,
714
+ });
715
+ }
716
+ /**
717
+ * Like {@link addMultisigSignature}, but signs with a secret key (see
718
+ * {@link Tx.addMultisigSignatureFromKey}).
719
+ */
720
+ addMultisigSignatureFromKey(params) {
721
+ const tx = this.toTx();
722
+ const nextTx = tx.addMultisigSignatureFromKey(params);
723
+ const next = Psbt.fromTx(nextTx, this.signDataPerInput, params.ecc ?? new ecc_js_1.Ecc());
724
+ return new Psbt({
725
+ unsignedTx: next.unsignedTx,
726
+ signDataPerInput: next.signDataPerInput,
727
+ inputPartialSigs: next.inputPartialSigs,
728
+ unknownGlobalPairs: this.unknownGlobalPairs,
729
+ unknownInputPairs: this.unknownInputPairs,
730
+ unknownOutputPairs: this.unknownOutputPairs,
731
+ inputWitnessIncomplete: this.inputWitnessIncomplete,
732
+ });
733
+ }
734
+ /**
735
+ * Same as {@link Tx.isFullySignedMultisig} on {@link toTx} (including
736
+ * vacuous `true` when there are no multisig inputs).
737
+ */
738
+ isFullySignedMultisig() {
739
+ return this.toTx().isFullySignedMultisig();
740
+ }
492
741
  }
493
742
  exports.Psbt = Psbt;
494
743
  //# sourceMappingURL=psbt.js.map
package/dist/psbt.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"psbt.js","sourceRoot":"","sources":["../src/psbt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"psbt.js","sourceRoot":"","sources":["../src/psbt.ts"],"names":[],"mappings":"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"}
package/dist/script.d.ts CHANGED
@@ -61,6 +61,11 @@ export declare class Script {
61
61
  * must sort pubkeys before calling.
62
62
  */
63
63
  static multisig(minNumPks: number, pubkeys: Uint8Array[]): Script;
64
+ /**
65
+ * Return true iff this script has the shape of a standard multisig output script
66
+ * `OP_m pubkey_1 ... pubkey_N OP_N OP_CHECKMULTISIG` (fixed size: `N + 3` ops).
67
+ */
68
+ isMultisig(): boolean;
64
69
  /**
65
70
  * Build scriptSig for multisig: <dummy> sig1 sig2 ... sig_m [redeemScript].
66
71
  * Omit redeemScript for bare multisig; include for P2SH-wrapped.
@@ -112,7 +117,12 @@ export declare class Script {
112
117
  isSchnorr: boolean;
113
118
  pubkeyIndices?: Set<number>;
114
119
  };
115
- private parseMultisigRedeemScript;
120
+ /** Parse an OP_m ... OP_CHECKMULTISIG redeem script (used by multisig PSBT flows). */
121
+ parseMultisigRedeemScript(): {
122
+ numSignatures: number;
123
+ numPubkeys: number;
124
+ pubkeys: Uint8Array[];
125
+ };
116
126
  private static parseMultisigScriptSig;
117
127
  }
118
128
  /** Iterator over the Ops of a Script. */
@@ -1 +1 @@
1
- {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../src/script.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAIxC,OAAO,EAEH,EAAE,EAML,MAAM,SAAS,CAAC;AAajB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAItC,gDAAgD;AAChD,qBAAa,MAAM;IACR,QAAQ,EAAE,UAAU,CAAC;IAE5B,2DAA2D;gBACxC,QAAQ,CAAC,EAAE,UAAU;IAIxC;;;QAGI;IACG,aAAa,CAAC,MAAM,EAAE,MAAM;WAKrB,YAAY,CAAC,KAAK,EAAE,KAAK;IAKvC,+CAA+C;WACjC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,MAAM;WAc1B,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAqBlD,0CAA0C;IACnC,GAAG,IAAI,YAAY;IAI1B,wCAAwC;IACjC,IAAI,IAAI,MAAM;IAIrB;;;;;;;;;;;;;;;;;;OAkBG;IACI,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAe9C;;;QAGI;IACG,MAAM,IAAI,OAAO;IAWxB;;OAEG;IACI,KAAK,IAAI,MAAM;IAItB,oDAAoD;WACtC,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IASlD,yDAAyD;WAC3C,KAAK,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM;IAa5C,oDAAoD;WACtC,UAAU,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM;IAIjE;;;;;OAKG;WACW,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM;IAwBxE;;;;;;;;;;OAUG;WACW,aAAa,CAAC,MAAM,EAAE;QAChC,UAAU,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;QACvC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,8EAA8E;QAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,MAAM;IAgDV;;;;;;;OAOG;IACI,sBAAsB,IAAI;QAC7B,UAAU,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,UAAU,EAAE,CAAC;QACtB,SAAS,EAAE,OAAO,CAAC;QACnB,4EAA4E;QAC5E,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;KAC/B;IAwBD;;;;;;OAMG;IACI,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG;QACjD,UAAU,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;QACvC,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,UAAU,EAAE,CAAC;QACtB,SAAS,EAAE,OAAO,CAAC;QACnB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;KAC/B;IAUD,OAAO,CAAC,yBAAyB;IAgCjC,OAAO,CAAC,MAAM,CAAC,sBAAsB;CAwExC;AAmCD,yCAAyC;AACzC,qBAAa,YAAY;IACrB,KAAK,EAAE,KAAK,CAAC;gBAEM,KAAK,EAAE,KAAK;IAI/B;;;OAGG;IACI,IAAI,IAAI,EAAE,GAAG,SAAS;CAMhC"}
1
+ {"version":3,"file":"script.d.ts","sourceRoot":"","sources":["../src/script.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAIxC,OAAO,EAEH,EAAE,EAML,MAAM,SAAS,CAAC;AAajB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAItC,gDAAgD;AAChD,qBAAa,MAAM;IACR,QAAQ,EAAE,UAAU,CAAC;IAE5B,2DAA2D;gBACxC,QAAQ,CAAC,EAAE,UAAU;IAIxC;;;QAGI;IACG,aAAa,CAAC,MAAM,EAAE,MAAM;WAKrB,YAAY,CAAC,KAAK,EAAE,KAAK;IAKvC,+CAA+C;WACjC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,MAAM;WAc1B,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAqBlD,0CAA0C;IACnC,GAAG,IAAI,YAAY;IAI1B,wCAAwC;IACjC,IAAI,IAAI,MAAM;IAIrB;;;;;;;;;;;;;;;;;;OAkBG;IACI,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAe9C;;;QAGI;IACG,MAAM,IAAI,OAAO;IAWxB;;OAEG;IACI,KAAK,IAAI,MAAM;IAItB,oDAAoD;WACtC,IAAI,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM;IASlD,yDAAyD;WAC3C,KAAK,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM;IAa5C,oDAAoD;WACtC,UAAU,CAAC,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM;IAIjE;;;;;OAKG;WACW,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM;IAwBxE;;;OAGG;IACI,UAAU,IAAI,OAAO;IAmB5B;;;;;;;;;;OAUG;WACW,aAAa,CAAC,MAAM,EAAE;QAChC,UAAU,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;QACvC,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5B,8EAA8E;QAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,MAAM;IAgDV;;;;;;;OAOG;IACI,sBAAsB,IAAI;QAC7B,UAAU,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;QACvC,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,UAAU,EAAE,CAAC;QACtB,SAAS,EAAE,OAAO,CAAC;QACnB,4EAA4E;QAC5E,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;KAC/B;IAwBD;;;;;;OAMG;IACI,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG;QACjD,UAAU,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;QACvC,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,UAAU,EAAE,CAAC;QACtB,SAAS,EAAE,OAAO,CAAC;QACnB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;KAC/B;IAUD,sFAAsF;IAC/E,yBAAyB,IAAI;QAChC,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,UAAU,EAAE,CAAC;KACzB;IA4BD,OAAO,CAAC,MAAM,CAAC,sBAAsB;CAwExC;AAmCD,yCAAyC;AACzC,qBAAa,YAAY;IACrB,KAAK,EAAE,KAAK,CAAC;gBAEM,KAAK,EAAE,KAAK;IAI/B;;;OAGG;IACI,IAAI,IAAI,EAAE,GAAG,SAAS;CAMhC"}
package/dist/script.js CHANGED
@@ -170,6 +170,29 @@ class Script {
170
170
  ];
171
171
  return Script.fromOps(ops);
172
172
  }
173
+ /**
174
+ * Return true iff this script has the shape of a standard multisig output script
175
+ * `OP_m pubkey_1 ... pubkey_N OP_N OP_CHECKMULTISIG` (fixed size: `N + 3` ops).
176
+ */
177
+ isMultisig() {
178
+ const ops = [];
179
+ const iter = this.ops();
180
+ let op;
181
+ while ((op = iter.next()) !== undefined) {
182
+ ops.push(op);
183
+ }
184
+ if (ops.length < 4 || ops[ops.length - 1] !== opcode_js_1.OP_CHECKMULTISIG) {
185
+ return false;
186
+ }
187
+ try {
188
+ (0, op_js_1.parseNumberFromOp)(ops[0]);
189
+ const numPubkeys = Number((0, op_js_1.parseNumberFromOp)(ops[ops.length - 2]));
190
+ return ops.length === numPubkeys + 3;
191
+ }
192
+ catch {
193
+ return false;
194
+ }
195
+ }
173
196
  /**
174
197
  * Build scriptSig for multisig: <dummy> sig1 sig2 ... sig_m [redeemScript].
175
198
  * Omit redeemScript for bare multisig; include for P2SH-wrapped.
@@ -260,6 +283,7 @@ class Script {
260
283
  }
261
284
  return Script.parseMultisigScriptSig(ops, outputScript);
262
285
  }
286
+ /** Parse an OP_m ... OP_CHECKMULTISIG redeem script (used by multisig PSBT flows). */
263
287
  parseMultisigRedeemScript() {
264
288
  const ops = [];
265
289
  const iter = this.ops();
@@ -1 +1 @@
1
- {"version":3,"file":"script.js","sourceRoot":"","sources":["../src/script.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"script.js","sourceRoot":"","sources":["../src/script.ts"],"names":[],"mappings":"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"}