ecash-lib 4.10.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.
Files changed (43) hide show
  1. package/README.md +2 -0
  2. package/dist/consts.d.ts +11 -0
  3. package/dist/consts.d.ts.map +1 -1
  4. package/dist/consts.js +12 -1
  5. package/dist/consts.js.map +1 -1
  6. package/dist/ffi/ecash_lib_wasm_bg_browser.js +20489 -20489
  7. package/dist/ffi/ecash_lib_wasm_bg_browser.wasm +0 -0
  8. package/dist/ffi/ecash_lib_wasm_bg_nodejs.wasm +0 -0
  9. package/dist/index.d.ts +2 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/psbt.d.ts +115 -0
  14. package/dist/psbt.d.ts.map +1 -0
  15. package/dist/psbt.js +743 -0
  16. package/dist/psbt.js.map +1 -0
  17. package/dist/script.d.ts +11 -1
  18. package/dist/script.d.ts.map +1 -1
  19. package/dist/script.js +24 -0
  20. package/dist/script.js.map +1 -1
  21. package/dist/signatories.d.ts +44 -0
  22. package/dist/signatories.d.ts.map +1 -0
  23. package/dist/signatories.js +206 -0
  24. package/dist/signatories.js.map +1 -0
  25. package/dist/tx.d.ts +60 -0
  26. package/dist/tx.d.ts.map +1 -1
  27. package/dist/tx.js +274 -0
  28. package/dist/tx.js.map +1 -1
  29. package/dist/txBuilder.d.ts +2 -30
  30. package/dist/txBuilder.d.ts.map +1 -1
  31. package/dist/txBuilder.js +1 -45
  32. package/dist/txBuilder.js.map +1 -1
  33. package/package.json +1 -1
  34. package/src/consts.ts +13 -0
  35. package/src/ffi/ecash_lib_wasm_bg_browser.js +20489 -20489
  36. package/src/ffi/ecash_lib_wasm_bg_browser.wasm +0 -0
  37. package/src/ffi/ecash_lib_wasm_bg_nodejs.wasm +0 -0
  38. package/src/index.ts +2 -0
  39. package/src/psbt.ts +908 -0
  40. package/src/script.ts +25 -1
  41. package/src/signatories.ts +296 -0
  42. package/src/tx.ts +330 -0
  43. package/src/txBuilder.ts +2 -74
@@ -0,0 +1 @@
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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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Signatories and signing helpers used with `TxBuilder` (`TxBuilderInput.signatory`).
3
+ */
4
+ import { Ecc } from './ecc.js';
5
+ import { Script } from './script.js';
6
+ import { SigHashType } from './sigHashType.js';
7
+ import { UnsignedTxInput } from './unsignedTx.js';
8
+ /**
9
+ * Function that contains all the required data to sign a given `input` and
10
+ * return the scriptSig.
11
+ *
12
+ * Use it by attaching a `Signatory` to a TxBuilderInput, e.g. like this for a
13
+ * P2PKH input:
14
+ * ```ts
15
+ * new TxBuilder({
16
+ * inputs: [{
17
+ * input: { prevOut: ... },
18
+ * signatory: P2PKHSignatory(sk, pk, ALL_BIP143),
19
+ * }],
20
+ * ...
21
+ * })
22
+ * ```
23
+ **/
24
+ export type Signatory = (ecc: Ecc, input: UnsignedTxInput) => Script;
25
+ /** Append the sighash flags to the signature */
26
+ export declare function flagSignature(sig: Uint8Array, sigHashFlags: SigHashType): Uint8Array;
27
+ /**
28
+ * Sign the sighash using Schnorr for BIP143 signatures and ECDSA for Legacy
29
+ * signatures, and then flags the signature correctly
30
+ **/
31
+ export declare function signWithSigHash(ecc: Ecc, sk: Uint8Array, sigHash: Uint8Array, sigHashType: SigHashType): Uint8Array;
32
+ /** Signatory for a P2PKH input. Always uses Schnorr signatures */
33
+ export declare const P2PKHSignatory: (sk: Uint8Array, pk: Uint8Array, sigHashType: SigHashType) => Signatory;
34
+ /** Signatory for bare m-of-n multisig (output script is the multisig script itself). */
35
+ export declare const BareMultisigSignatory: (m: number, pubkeys: Uint8Array[], sk: Uint8Array, myPk: Uint8Array, sigHashType: SigHashType) => Signatory;
36
+ /** Signatory for bare m-of-n multisig using Schnorr signatures (BIP143 Schnorr multisig). */
37
+ export declare const BareMultisigSignatorySchnorr: (m: number, pubkeys: Uint8Array[], sk: Uint8Array, myPk: Uint8Array, signerIndices: Set<number>, sigHashType: SigHashType) => Signatory;
38
+ /** Signatory for P2SH m-of-n multisig. */
39
+ export declare const P2SHMultisigSignatory: (m: number, pubkeys: Uint8Array[], sk: Uint8Array, myPk: Uint8Array, sigHashType: SigHashType) => Signatory;
40
+ /** Signatory for P2SH m-of-n multisig using Schnorr signatures. */
41
+ export declare const P2SHMultisigSignatorySchnorr: (m: number, pubkeys: Uint8Array[], sk: Uint8Array, myPk: Uint8Array, signerIndices: Set<number>, sigHashType: SigHashType) => Signatory;
42
+ /** Signatory for a P2PK input. Always uses Schnorr signatures */
43
+ export declare const P2PKSignatory: (sk: Uint8Array, sigHashType: SigHashType) => Signatory;
44
+ //# sourceMappingURL=signatories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signatories.d.ts","sourceRoot":"","sources":["../src/signatories.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAY,MAAM,UAAU,CAAC;AAQzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD;;;;;;;;;;;;;;;IAeI;AACJ,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC;AAErE,gDAAgD;AAChD,wBAAgB,aAAa,CACzB,GAAG,EAAE,UAAU,EACf,YAAY,EAAE,WAAW,GAC1B,UAAU,CAKZ;AAED;;;IAGI;AACJ,wBAAgB,eAAe,CAC3B,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,UAAU,EACd,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,WAAW,GACzB,UAAU,CAMZ;AAED,kEAAkE;AAClE,eAAO,MAAM,cAAc,GACvB,IAAI,UAAU,EACd,IAAI,UAAU,EACd,aAAa,WAAW,KACzB,SAOF,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,qBAAqB,GAC9B,GAAG,MAAM,EACT,SAAS,UAAU,EAAE,EACrB,IAAI,UAAU,EACd,MAAM,UAAU,EAChB,aAAa,WAAW,KACzB,SAgCF,CAAC;AAEF,6FAA6F;AAC7F,eAAO,MAAM,4BAA4B,GACrC,GAAG,MAAM,EACT,SAAS,UAAU,EAAE,EACrB,IAAI,UAAU,EACd,MAAM,UAAU,EAChB,eAAe,GAAG,CAAC,MAAM,CAAC,EAC1B,aAAa,WAAW,KACzB,SA+CF,CAAC;AAEF,0CAA0C;AAC1C,eAAO,MAAM,qBAAqB,GAC9B,GAAG,MAAM,EACT,SAAS,UAAU,EAAE,EACrB,IAAI,UAAU,EACd,MAAM,UAAU,EAChB,aAAa,WAAW,KACzB,SAuCF,CAAC;AAEF,mEAAmE;AACnE,eAAO,MAAM,4BAA4B,GACrC,GAAG,MAAM,EACT,SAAS,UAAU,EAAE,EACrB,IAAI,UAAU,EACd,MAAM,UAAU,EAChB,eAAe,GAAG,CAAC,MAAM,CAAC,EAC1B,aAAa,WAAW,KACzB,SAgDF,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,aAAa,GACtB,IAAI,UAAU,EACd,aAAa,WAAW,KACzB,SAOF,CAAC"}
@@ -0,0 +1,206 @@
1
+ "use strict";
2
+ // Copyright (c) 2024-2026 The Bitcoin developers
3
+ // Distributed under the MIT software license, see the accompanying
4
+ // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.P2PKSignatory = exports.P2SHMultisigSignatorySchnorr = exports.P2SHMultisigSignatory = exports.BareMultisigSignatorySchnorr = exports.BareMultisigSignatory = exports.P2PKHSignatory = void 0;
7
+ exports.flagSignature = flagSignature;
8
+ exports.signWithSigHash = signWithSigHash;
9
+ /**
10
+ * Signatories and signing helpers used with `TxBuilder` (`TxBuilderInput.signatory`).
11
+ */
12
+ const ecc_js_1 = require("./ecc.js");
13
+ const consts_js_1 = require("./consts.js");
14
+ const hash_js_1 = require("./hash.js");
15
+ const writerbytes_js_1 = require("./io/writerbytes.js");
16
+ const op_js_1 = require("./op.js");
17
+ const script_js_1 = require("./script.js");
18
+ const sigHashType_js_1 = require("./sigHashType.js");
19
+ /** Append the sighash flags to the signature */
20
+ function flagSignature(sig, sigHashFlags) {
21
+ const writer = new writerbytes_js_1.WriterBytes(sig.length + 1);
22
+ writer.putBytes(sig);
23
+ writer.putU8(sigHashFlags.toInt() & 0xff);
24
+ return writer.data;
25
+ }
26
+ /**
27
+ * Sign the sighash using Schnorr for BIP143 signatures and ECDSA for Legacy
28
+ * signatures, and then flags the signature correctly
29
+ **/
30
+ function signWithSigHash(ecc, sk, sigHash, sigHashType) {
31
+ const sig = sigHashType.variant == sigHashType_js_1.SigHashTypeVariant.LEGACY
32
+ ? ecc.ecdsaSign(sk, sigHash)
33
+ : ecc.schnorrSign(sk, sigHash);
34
+ return flagSignature(sig, sigHashType);
35
+ }
36
+ /** Signatory for a P2PKH input. Always uses Schnorr signatures */
37
+ const P2PKHSignatory = (sk, pk, sigHashType) => {
38
+ return (ecc, input) => {
39
+ const preimage = input.sigHashPreimage(sigHashType);
40
+ const sighash = (0, hash_js_1.sha256d)(preimage.bytes);
41
+ const sigFlagged = signWithSigHash(ecc, sk, sighash, sigHashType);
42
+ return script_js_1.Script.p2pkhSpend(pk, sigFlagged);
43
+ };
44
+ };
45
+ exports.P2PKHSignatory = P2PKHSignatory;
46
+ /** Signatory for bare m-of-n multisig (output script is the multisig script itself). */
47
+ const BareMultisigSignatory = (m, pubkeys, sk, myPk, sigHashType) => {
48
+ return (ecc, input) => {
49
+ if (ecc instanceof ecc_js_1.EccDummy) {
50
+ const dummySig = new Uint8Array(consts_js_1.ECDSA_SIG_ESTIMATE_BYTES);
51
+ const signatures = Array(m)
52
+ .fill(undefined)
53
+ .map(() => dummySig);
54
+ return script_js_1.Script.multisigSpend({ signatures });
55
+ }
56
+ const preimage = input.sigHashPreimage(sigHashType);
57
+ const sighash = (0, hash_js_1.sha256d)(preimage.bytes);
58
+ const sig = ecc.ecdsaSign(sk, sighash);
59
+ const sigFlagged = flagSignature(sig, sigHashType);
60
+ const myIndex = pubkeys.findIndex(pk => pk.length === myPk.length && pk.every((b, i) => b === myPk[i]));
61
+ if (myIndex < 0) {
62
+ throw new Error('Signer pubkey not found in multisig pubkeys');
63
+ }
64
+ const n = pubkeys.length;
65
+ const signatures = Array(n).fill(undefined);
66
+ signatures[myIndex] = sigFlagged;
67
+ const nonNull = signatures.filter((s) => s !== undefined);
68
+ const sigsForScript = [
69
+ ...nonNull,
70
+ ...Array(m - nonNull.length).fill(undefined),
71
+ ];
72
+ return script_js_1.Script.multisigSpend({ signatures: sigsForScript });
73
+ };
74
+ };
75
+ exports.BareMultisigSignatory = BareMultisigSignatory;
76
+ /** Signatory for bare m-of-n multisig using Schnorr signatures (BIP143 Schnorr multisig). */
77
+ const BareMultisigSignatorySchnorr = (m, pubkeys, sk, myPk, signerIndices, sigHashType) => {
78
+ return (ecc, input) => {
79
+ const n = pubkeys.length;
80
+ if (signerIndices.size !== m) {
81
+ throw new Error(`signerIndices must have ${m} elements for ${m}-of-${n} multisig`);
82
+ }
83
+ if (ecc instanceof ecc_js_1.EccDummy) {
84
+ const dummySig = new Uint8Array(consts_js_1.SCHNORR_SIG_ESTIMATE_BYTES);
85
+ const signatures = Array(m)
86
+ .fill(undefined)
87
+ .map(() => dummySig);
88
+ return script_js_1.Script.multisigSpend({
89
+ signatures,
90
+ pubkeyIndices: signerIndices,
91
+ numPubkeys: n,
92
+ });
93
+ }
94
+ const preimage = input.sigHashPreimage(sigHashType);
95
+ const sighash = (0, hash_js_1.sha256d)(preimage.bytes);
96
+ const sig = ecc.schnorrSign(sk, sighash);
97
+ const sigFlagged = flagSignature(sig, sigHashType);
98
+ const myIndex = pubkeys.findIndex(pk => pk.length === myPk.length && pk.every((b, i) => b === myPk[i]));
99
+ if (myIndex < 0) {
100
+ throw new Error('Signer pubkey not found in multisig pubkeys');
101
+ }
102
+ if (!signerIndices.has(myIndex)) {
103
+ throw new Error(`Signer index ${myIndex} not in signerIndices ${[
104
+ ...signerIndices,
105
+ ].join(',')}`);
106
+ }
107
+ const sortedIndices = [...signerIndices].sort((a, b) => a - b);
108
+ const signatures = sortedIndices.map(idx => idx === myIndex ? sigFlagged : undefined);
109
+ return script_js_1.Script.multisigSpend({
110
+ signatures,
111
+ pubkeyIndices: signerIndices,
112
+ numPubkeys: n,
113
+ });
114
+ };
115
+ };
116
+ exports.BareMultisigSignatorySchnorr = BareMultisigSignatorySchnorr;
117
+ /** Signatory for P2SH m-of-n multisig. */
118
+ const P2SHMultisigSignatory = (m, pubkeys, sk, myPk, sigHashType) => {
119
+ return (ecc, input) => {
120
+ const redeemScript = script_js_1.Script.multisig(m, pubkeys);
121
+ if (ecc instanceof ecc_js_1.EccDummy) {
122
+ const dummySig = new Uint8Array(consts_js_1.ECDSA_SIG_ESTIMATE_BYTES);
123
+ const signatures = Array(m)
124
+ .fill(undefined)
125
+ .map(() => dummySig);
126
+ return script_js_1.Script.multisigSpend({
127
+ signatures,
128
+ redeemScript,
129
+ });
130
+ }
131
+ const preimage = input.sigHashPreimage(sigHashType);
132
+ const sighash = (0, hash_js_1.sha256d)(preimage.bytes);
133
+ const sig = ecc.ecdsaSign(sk, sighash);
134
+ const sigFlagged = flagSignature(sig, sigHashType);
135
+ const myIndex = pubkeys.findIndex(pk => pk.length === myPk.length && pk.every((b, i) => b === myPk[i]));
136
+ if (myIndex < 0) {
137
+ throw new Error('Signer pubkey not found in multisig pubkeys');
138
+ }
139
+ const n = pubkeys.length;
140
+ const signatures = Array(n).fill(undefined);
141
+ signatures[myIndex] = sigFlagged;
142
+ const nonNull = signatures.filter((s) => s !== undefined);
143
+ const sigsForScript = [
144
+ ...nonNull,
145
+ ...Array(m - nonNull.length).fill(undefined),
146
+ ];
147
+ return script_js_1.Script.multisigSpend({
148
+ signatures: sigsForScript,
149
+ redeemScript,
150
+ });
151
+ };
152
+ };
153
+ exports.P2SHMultisigSignatory = P2SHMultisigSignatory;
154
+ /** Signatory for P2SH m-of-n multisig using Schnorr signatures. */
155
+ const P2SHMultisigSignatorySchnorr = (m, pubkeys, sk, myPk, signerIndices, sigHashType) => {
156
+ return (ecc, input) => {
157
+ const redeemScript = script_js_1.Script.multisig(m, pubkeys);
158
+ const n = pubkeys.length;
159
+ if (signerIndices.size !== m) {
160
+ throw new Error(`signerIndices must have ${m} elements for ${m}-of-${n} multisig`);
161
+ }
162
+ if (ecc instanceof ecc_js_1.EccDummy) {
163
+ const dummySig = new Uint8Array(consts_js_1.SCHNORR_SIG_ESTIMATE_BYTES);
164
+ const signatures = Array(m)
165
+ .fill(undefined)
166
+ .map(() => dummySig);
167
+ return script_js_1.Script.multisigSpend({
168
+ signatures,
169
+ redeemScript,
170
+ pubkeyIndices: signerIndices,
171
+ });
172
+ }
173
+ const preimage = input.sigHashPreimage(sigHashType);
174
+ const sighash = (0, hash_js_1.sha256d)(preimage.bytes);
175
+ const sig = ecc.schnorrSign(sk, sighash);
176
+ const sigFlagged = flagSignature(sig, sigHashType);
177
+ const myIndex = pubkeys.findIndex(pk => pk.length === myPk.length && pk.every((b, i) => b === myPk[i]));
178
+ if (myIndex < 0) {
179
+ throw new Error('Signer pubkey not found in multisig pubkeys');
180
+ }
181
+ if (!signerIndices.has(myIndex)) {
182
+ throw new Error(`Signer index ${myIndex} not in signerIndices ${[
183
+ ...signerIndices,
184
+ ].join(',')}`);
185
+ }
186
+ const sortedIndices = [...signerIndices].sort((a, b) => a - b);
187
+ const signatures = sortedIndices.map(idx => idx === myIndex ? sigFlagged : undefined);
188
+ return script_js_1.Script.multisigSpend({
189
+ signatures,
190
+ redeemScript,
191
+ pubkeyIndices: signerIndices,
192
+ });
193
+ };
194
+ };
195
+ exports.P2SHMultisigSignatorySchnorr = P2SHMultisigSignatorySchnorr;
196
+ /** Signatory for a P2PK input. Always uses Schnorr signatures */
197
+ const P2PKSignatory = (sk, sigHashType) => {
198
+ return (ecc, input) => {
199
+ const preimage = input.sigHashPreimage(sigHashType);
200
+ const sighash = (0, hash_js_1.sha256d)(preimage.bytes);
201
+ const sigFlagged = signWithSigHash(ecc, sk, sighash, sigHashType);
202
+ return script_js_1.Script.fromOps([(0, op_js_1.pushBytesOp)(sigFlagged)]);
203
+ };
204
+ };
205
+ exports.P2PKSignatory = P2PKSignatory;
206
+ //# sourceMappingURL=signatories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signatories.js","sourceRoot":"","sources":["../src/signatories.ts"],"names":[],"mappings":"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"}
package/dist/tx.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import { Bytes } from './io/bytes.js';
2
2
  import { Writer } from './io/writer.js';
3
+ import { Ecc } from './ecc.js';
3
4
  import { Script } from './script.js';
5
+ import { SigHashType } from './sigHashType.js';
4
6
  /**
5
7
  * Default value for nSequence of inputs if left undefined; this opts out of
6
8
  * BIP68 relative lock-time, and if all inputs have this value, nLockTime is
@@ -87,6 +89,64 @@ export declare class Tx {
87
89
  * See the node src/primitives/txid.h for more details.
88
90
  */
89
91
  txid(): string;
92
+ /**
93
+ * Attempt to parse a **non-SegWit** serialized transaction from `data` — the same
94
+ * encoding as {@link Tx.deser} / `Tx.ser()` (version, inputs, outputs, locktime;
95
+ * no witness marker or witness stacks). eCash does not use SegWit transactions,
96
+ * so this is the full-transaction wire format on-chain here. Returns a `Tx` only
97
+ * when `data` is **exactly** one such transaction: the parse must consume the
98
+ * **entire** buffer (no trailing bytes). Returns `undefined` on malformed input
99
+ * or if any bytes remain after `locktime`.
100
+ *
101
+ * **PSBT-only motivation:** Bitcoin ABC’s PSBT input key `0x00` (`PSBT_IN_UTXO`)
102
+ * stores **either** a full previous transaction (BIP 174 “non-witness UTXO”) **or**
103
+ * a compact `CTxOut` (amount + `scriptPubKey`). Callers must disambiguate. Plain
104
+ * {@link Tx.deser} reads a tx from the start of `data` but **does not** require
105
+ * `data.length` to match the serialized length — leftover bytes are ignored, so
106
+ * you cannot use it to prove “this blob is solely a full tx.” This helper is
107
+ * used from PSBT (`resolveWitnessFromKey00` in `psbt.ts`): if `tryDeserExact`
108
+ * succeeds (and the txid matches), treat as non-witness UTXO; otherwise decode as
109
+ * `CTxOut`-shaped bytes.
110
+ */
111
+ static tryDeserExact(data: Uint8Array): Tx | undefined;
112
+ /**
113
+ * Add a signature to a partially-signed multisig input.
114
+ * Verifies the signature against the sighash for each pubkey in the
115
+ * redeem/output script and merges with existing signatures (which pubkey
116
+ * signed is inferred from verification).
117
+ */
118
+ addMultisigSignature(params: {
119
+ inputIdx: number;
120
+ signature: Uint8Array;
121
+ signData: SignData;
122
+ ecc?: Ecc;
123
+ }): Tx;
124
+ /**
125
+ * Like {@link addMultisigSignature}, but computes the signature from a
126
+ * secret key: BIP143 preimage (or legacy if `sigHashType` is legacy),
127
+ * Schnorr for Schnorr-format multisig spends and ECDSA otherwise.
128
+ */
129
+ addMultisigSignatureFromKey(params: {
130
+ inputIdx: number;
131
+ sk: Uint8Array;
132
+ signData: SignData;
133
+ /** Defaults to {@link ALL_BIP143}. */
134
+ sigHashType?: SigHashType;
135
+ ecc?: Ecc;
136
+ }): Tx;
137
+ /**
138
+ * Whether every **multisig** input (identified from `signData`) has enough
139
+ * signatures in its scriptSig. Non-multisig inputs are ignored.
140
+ *
141
+ * If the transaction has **no** multisig inputs, this returns `true` (there
142
+ * is nothing multisig-specific left to satisfy). That can look surprising on
143
+ * a non-multisig or otherwise incomplete tx; this helper is **not** a
144
+ * broadcast-readiness check. Call sites are expected to use it only in
145
+ * multisig / PSBT flows where the question is specifically whether multisig
146
+ * inputs still need more signatures (including mixed txs: non-multisig
147
+ * inputs are finalized elsewhere).
148
+ */
149
+ isFullySignedMultisig(): boolean;
90
150
  }
91
151
  export declare function readTxOutput(bytes: Bytes): TxOutput;
92
152
  /** Write an outpoint to a Writer */
package/dist/tx.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../src/tx.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAGtC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGxC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAGrC;;;;;;;IAOI;AACJ,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAE3C,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,iDAAiD;AACjD,MAAM,WAAW,QAAQ;IACrB;;;QAGI;IACJ,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1B,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,yCAAyC;AACzC,MAAM,WAAW,OAAO;IACpB,uCAAuC;IACvC,OAAO,EAAE,QAAQ,CAAC;IAClB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACvB;AAED,qCAAqC;AACrC,MAAM,WAAW,QAAQ;IACrB,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,6DAA6D;AAC7D,MAAM,WAAW,QAAQ;IACrB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;QAGI;IACJ,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,2CAA2C;AAC3C,qBAAa,EAAE;IACX,yBAAyB;IAClB,OAAO,EAAE,MAAM,CAAC;IACvB,mDAAmD;IAC5C,MAAM,EAAE,OAAO,EAAE,CAAC;IACzB,0CAA0C;IACnC,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC3B,uEAAuE;IAChE,QAAQ,EAAE,MAAM,CAAC;gBAEL,MAAM,CAAC,EAAE;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;QACnB,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB;IAOD,uCAAuC;IAChC,GAAG,IAAI,UAAU;IAMxB,uCAAuC;IAChC,KAAK,IAAI,MAAM;IAItB,8CAA8C;IACvC,OAAO,IAAI,MAAM;IAMxB,uCAAuC;IAChC,KAAK,CAAC,MAAM,EAAE,MAAM;IAa3B,yCAAyC;WAC3B,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,EAAE;IAoCzC,yCAAyC;WAC3B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,EAAE;IAItC;;;;;OAKG;IACI,IAAI,IAAI,MAAM;CAGxB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,CAOnD;AAED,oCAAoC;AACpC,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAOtE;AAED,kCAAkC;AAClC,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAIjE;AAED,mCAAmC;AACnC,wBAAgB,aAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAGpE;AAED,wCAAwC;AACxC,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAiBnD;AAED,yCAAyC;AACzC,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAKvD"}
1
+ {"version":3,"file":"tx.d.ts","sourceRoot":"","sources":["../src/tx.ts"],"names":[],"mappings":"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"}