ecash-lib 1.0.1-rc → 1.1.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/README.md CHANGED
@@ -103,3 +103,5 @@ console.log(toHex(rawTx));
103
103
  - 0.2.0 - Add `Script.fromAddress` method to convert cashaddr addresses to `Script`
104
104
  - 0.2.1 - Fix fee estimation for signatories that depend on tx outputs [D16673](https://reviews.bitcoinabc.org/D16673)
105
105
  - 1.0.0 - **(Breaking change)** Modify `GenesisInfo` so that `auth` and `data` types match [D17194](https://reviews.bitcoinabc.org/D17194)
106
+ - 1.0.1 - Include `ecashaddrjs` and `chronik-client` installations from `npmjs` instead of local, to prevent need for peer dependencies [D17215](https://reviews.bitcoinabc.org/D17215)
107
+ - 1.1.0 - Add support for the original pre-UAHF Bitcoin signatures, so we can sign transactions for other blockchains like BTC/DOGE/... [D17255](https://reviews.bitcoinabc.org/D17255)
@@ -63,4 +63,8 @@ export declare const NONE_ANYONECANPAY_LEGACY: SigHashType;
63
63
  export declare const SINGLE_LEGACY: SigHashType;
64
64
  /** SINGLE|ANYONECANPAY|LEGACY */
65
65
  export declare const SINGLE_ANYONECANPAY_LEGACY: SigHashType;
66
+ /** List of BIP143 sighashes (FORKID) */
67
+ export declare const SIG_HASH_TYPES_BIP143: SigHashType[];
68
+ /** List of legacy sighashes (OG Bitcoin signature) */
69
+ export declare const SIG_HASH_TYPES_LEGACY: SigHashType[];
66
70
  //# sourceMappingURL=sigHashType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sigHashType.d.ts","sourceRoot":"","sources":["../src/sigHashType.ts"],"names":[],"mappings":"AAIA,6EAA6E;AAC7E,qBAAa,WAAW;IACpB,oDAAoD;IAC7C,OAAO,EAAE,kBAAkB,CAAC;IACnC,wDAAwD;IACjD,SAAS,EAAE,iBAAiB,CAAC;IACpC,uDAAuD;IAChD,UAAU,EAAE,kBAAkB,CAAC;gBAEnB,MAAM,EAAE;QACvB,OAAO,EAAE,kBAAkB,CAAC;QAC5B,SAAS,EAAE,iBAAiB,CAAC;QAC7B,UAAU,EAAE,kBAAkB,CAAC;KAClC;IAMD,+CAA+C;WACjC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IA+B7D,4CAA4C;IACrC,KAAK,IAAI,MAAM;CAGzB;AAED,6BAA6B;AAC7B,oBAAY,kBAAkB;IAC1B,2CAA2C;IAC3C,MAAM,IAAI;IACV,4CAA4C;IAC5C,MAAM,KAAO;CAChB;AAED,+BAA+B;AAC/B,oBAAY,iBAAiB;IACzB,2DAA2D;IAC3D,KAAK,IAAI;IACT,8DAA8D;IAC9D,YAAY,MAAO;CACtB;AAED,gCAAgC;AAChC,oBAAY,kBAAkB;IAC1B,8DAA8D;IAC9D,GAAG,IAAI;IACP,kDAAkD;IAClD,IAAI,IAAI;IACR,kEAAkE;IAClE,MAAM,IAAI;CACb;AAED,iBAAiB;AACjB,eAAO,MAAM,UAAU,EAAE,WAIvB,CAAC;AAEH,8BAA8B;AAC9B,eAAO,MAAM,uBAAuB,EAAE,WAIpC,CAAC;AAEH,kBAAkB;AAClB,eAAO,MAAM,WAAW,EAAE,WAIxB,CAAC;AAEH,+BAA+B;AAC/B,eAAO,MAAM,wBAAwB,EAAE,WAIrC,CAAC;AAEH,oBAAoB;AACpB,eAAO,MAAM,aAAa,EAAE,WAI1B,CAAC;AAEH,iCAAiC;AACjC,eAAO,MAAM,0BAA0B,EAAE,WAIvC,CAAC;AAEH,iBAAiB;AACjB,eAAO,MAAM,UAAU,EAAE,WAIvB,CAAC;AAEH,8BAA8B;AAC9B,eAAO,MAAM,uBAAuB,EAAE,WAIpC,CAAC;AAEH,kBAAkB;AAClB,eAAO,MAAM,WAAW,EAAE,WAIxB,CAAC;AAEH,+BAA+B;AAC/B,eAAO,MAAM,wBAAwB,EAAE,WAIrC,CAAC;AAEH,oBAAoB;AACpB,eAAO,MAAM,aAAa,EAAE,WAI1B,CAAC;AAEH,iCAAiC;AACjC,eAAO,MAAM,0BAA0B,EAAE,WAIvC,CAAC"}
1
+ {"version":3,"file":"sigHashType.d.ts","sourceRoot":"","sources":["../src/sigHashType.ts"],"names":[],"mappings":"AAIA,6EAA6E;AAC7E,qBAAa,WAAW;IACpB,oDAAoD;IAC7C,OAAO,EAAE,kBAAkB,CAAC;IACnC,wDAAwD;IACjD,SAAS,EAAE,iBAAiB,CAAC;IACpC,uDAAuD;IAChD,UAAU,EAAE,kBAAkB,CAAC;gBAEnB,MAAM,EAAE;QACvB,OAAO,EAAE,kBAAkB,CAAC;QAC5B,SAAS,EAAE,iBAAiB,CAAC;QAC7B,UAAU,EAAE,kBAAkB,CAAC;KAClC;IAMD,+CAA+C;WACjC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IA+B7D,4CAA4C;IACrC,KAAK,IAAI,MAAM;CAGzB;AAED,6BAA6B;AAC7B,oBAAY,kBAAkB;IAC1B,2CAA2C;IAC3C,MAAM,IAAI;IACV,4CAA4C;IAC5C,MAAM,KAAO;CAChB;AAED,+BAA+B;AAC/B,oBAAY,iBAAiB;IACzB,2DAA2D;IAC3D,KAAK,IAAI;IACT,8DAA8D;IAC9D,YAAY,MAAO;CACtB;AAED,gCAAgC;AAChC,oBAAY,kBAAkB;IAC1B,8DAA8D;IAC9D,GAAG,IAAI;IACP,kDAAkD;IAClD,IAAI,IAAI;IACR,kEAAkE;IAClE,MAAM,IAAI;CACb;AAED,iBAAiB;AACjB,eAAO,MAAM,UAAU,EAAE,WAIvB,CAAC;AAEH,8BAA8B;AAC9B,eAAO,MAAM,uBAAuB,EAAE,WAIpC,CAAC;AAEH,kBAAkB;AAClB,eAAO,MAAM,WAAW,EAAE,WAIxB,CAAC;AAEH,+BAA+B;AAC/B,eAAO,MAAM,wBAAwB,EAAE,WAIrC,CAAC;AAEH,oBAAoB;AACpB,eAAO,MAAM,aAAa,EAAE,WAI1B,CAAC;AAEH,iCAAiC;AACjC,eAAO,MAAM,0BAA0B,EAAE,WAIvC,CAAC;AAEH,iBAAiB;AACjB,eAAO,MAAM,UAAU,EAAE,WAIvB,CAAC;AAEH,8BAA8B;AAC9B,eAAO,MAAM,uBAAuB,EAAE,WAIpC,CAAC;AAEH,kBAAkB;AAClB,eAAO,MAAM,WAAW,EAAE,WAIxB,CAAC;AAEH,+BAA+B;AAC/B,eAAO,MAAM,wBAAwB,EAAE,WAIrC,CAAC;AAEH,oBAAoB;AACpB,eAAO,MAAM,aAAa,EAAE,WAI1B,CAAC;AAEH,iCAAiC;AACjC,eAAO,MAAM,0BAA0B,EAAE,WAIvC,CAAC;AAEH,wCAAwC;AACxC,eAAO,MAAM,qBAAqB,eAOjC,CAAC;AAEF,sDAAsD;AACtD,eAAO,MAAM,qBAAqB,eAOjC,CAAC"}
@@ -3,7 +3,7 @@
3
3
  // Distributed under the MIT software license, see the accompanying
4
4
  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SINGLE_ANYONECANPAY_LEGACY = exports.SINGLE_LEGACY = exports.NONE_ANYONECANPAY_LEGACY = exports.NONE_LEGACY = exports.ALL_ANYONECANPAY_LEGACY = exports.ALL_LEGACY = exports.SINGLE_ANYONECANPAY_BIP143 = exports.SINGLE_BIP143 = exports.NONE_ANYONECANPAY_BIP143 = exports.NONE_BIP143 = exports.ALL_ANYONECANPAY_BIP143 = exports.ALL_BIP143 = exports.SigHashTypeOutputs = exports.SigHashTypeInputs = exports.SigHashTypeVariant = exports.SigHashType = void 0;
6
+ exports.SIG_HASH_TYPES_LEGACY = exports.SIG_HASH_TYPES_BIP143 = exports.SINGLE_ANYONECANPAY_LEGACY = exports.SINGLE_LEGACY = exports.NONE_ANYONECANPAY_LEGACY = exports.NONE_LEGACY = exports.ALL_ANYONECANPAY_LEGACY = exports.ALL_LEGACY = exports.SINGLE_ANYONECANPAY_BIP143 = exports.SINGLE_BIP143 = exports.NONE_ANYONECANPAY_BIP143 = exports.NONE_BIP143 = exports.ALL_ANYONECANPAY_BIP143 = exports.ALL_BIP143 = exports.SigHashTypeOutputs = exports.SigHashTypeInputs = exports.SigHashTypeVariant = exports.SigHashType = void 0;
7
7
  /** Type of sighash used to sign for an input for a OP_CHECKSIG operation. */
8
8
  class SigHashType {
9
9
  constructor(params) {
@@ -143,4 +143,22 @@ exports.SINGLE_ANYONECANPAY_LEGACY = new SigHashType({
143
143
  inputType: SigHashTypeInputs.ANYONECANPAY,
144
144
  outputType: SigHashTypeOutputs.SINGLE,
145
145
  });
146
+ /** List of BIP143 sighashes (FORKID) */
147
+ exports.SIG_HASH_TYPES_BIP143 = [
148
+ exports.ALL_BIP143,
149
+ exports.ALL_ANYONECANPAY_BIP143,
150
+ exports.NONE_BIP143,
151
+ exports.NONE_ANYONECANPAY_BIP143,
152
+ exports.SINGLE_BIP143,
153
+ exports.SINGLE_ANYONECANPAY_BIP143,
154
+ ];
155
+ /** List of legacy sighashes (OG Bitcoin signature) */
156
+ exports.SIG_HASH_TYPES_LEGACY = [
157
+ exports.ALL_LEGACY,
158
+ exports.ALL_ANYONECANPAY_LEGACY,
159
+ exports.NONE_LEGACY,
160
+ exports.NONE_ANYONECANPAY_LEGACY,
161
+ exports.SINGLE_LEGACY,
162
+ exports.SINGLE_ANYONECANPAY_LEGACY,
163
+ ];
146
164
  //# sourceMappingURL=sigHashType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sigHashType.js","sourceRoot":"","sources":["../src/sigHashType.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sigHashType.js","sourceRoot":"","sources":["../src/sigHashType.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,11 @@ export declare class TxBuilder {
63
63
  export declare function calcTxFee(txSize: number, feePerKb: number): bigint;
64
64
  /** Append the sighash flags to the signature */
65
65
  export declare function flagSignature(sig: Uint8Array, sigHashFlags: SigHashType): Uint8Array;
66
+ /**
67
+ * Sign the sighash using Schnorr for BIP143 signatures and ECDSA for Legacy
68
+ * signatures, and then flags the signature correctly
69
+ **/
70
+ export declare function signWithSigHash(ecc: Ecc, sk: Uint8Array, sigHash: Uint8Array, sigHashType: SigHashType): Uint8Array;
66
71
  /** Signatory for a P2PKH input. Always uses Schnorr signatures */
67
72
  export declare const P2PKHSignatory: (sk: Uint8Array, pk: Uint8Array, sigHashType: SigHashType) => (ecc: Ecc, input: UnsignedTxInput) => Script;
68
73
  /** Signatory for a P2PK input. Always uses Schnorr signatures */
@@ -1 +1 @@
1
- {"version":3,"file":"txBuilder.d.ts","sourceRoot":"","sources":["../src/txBuilder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAY,MAAM,UAAU,CAAC;AAIzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAEH,EAAE,EACF,OAAO,EACP,QAAQ,EAGX,MAAM,SAAS,CAAC;AACjB,OAAO,EAAc,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE9D;;;;;;;;;;;;;;;IAeI;AACJ,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC;AAErE,yEAAyE;AACzE,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;CACzB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhD,oDAAoD;AACpD,qBAAa,SAAS;IAClB,mCAAmC;IAC5B,OAAO,EAAE,MAAM,CAAC;IACvB,+CAA+C;IACxC,MAAM,EAAE,cAAc,EAAE,CAAC;IAChC;;;QAGI;IACG,OAAO,EAAE,eAAe,EAAE,CAAC;IAClC,oCAAoC;IAC7B,QAAQ,EAAE,MAAM,CAAC;gBAEL,MAAM,CAAC,EAAE;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;QAC1B,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB;IAOD,0EAA0E;IAC1E,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,cAAc;IA2BtB,wDAAwD;IACjD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,EAAE;CAiFnE;AAED;kBACkB;AAClB,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,gDAAgD;AAChD,wBAAgB,aAAa,CACzB,GAAG,EAAE,UAAU,EACf,YAAY,EAAE,WAAW,GAC1B,UAAU,CAKZ;AAED,kEAAkE;AAClE,eAAO,MAAM,cAAc,OACnB,UAAU,MACV,UAAU,eACD,WAAW,WAEX,GAAG,SAAS,eAAe,KAAG,MAM9C,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,aAAa,OAAQ,UAAU,eAAe,WAAW,WACrD,GAAG,SAAS,eAAe,KAAG,MAM9C,CAAC"}
1
+ {"version":3,"file":"txBuilder.d.ts","sourceRoot":"","sources":["../src/txBuilder.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAY,MAAM,UAAU,CAAC;AAIzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAsB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAEH,EAAE,EACF,OAAO,EACP,QAAQ,EAGX,MAAM,SAAS,CAAC;AACjB,OAAO,EAAc,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAE9D;;;;;;;;;;;;;;;IAeI;AACJ,MAAM,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,KAAK,MAAM,CAAC;AAErE,yEAAyE;AACzE,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,CAAC;CACzB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEhD,oDAAoD;AACpD,qBAAa,SAAS;IAClB,mCAAmC;IAC5B,OAAO,EAAE,MAAM,CAAC;IACvB,+CAA+C;IACxC,MAAM,EAAE,cAAc,EAAE,CAAC;IAChC;;;QAGI;IACG,OAAO,EAAE,eAAe,EAAE,CAAC;IAClC,oCAAoC;IAC7B,QAAQ,EAAE,MAAM,CAAC;gBAEL,MAAM,CAAC,EAAE;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;QAC1B,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACrB;IAOD,0EAA0E;IAC1E,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,cAAc;IA2BtB,wDAAwD;IACjD,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,EAAE;CAiFnE;AAED;kBACkB;AAClB,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAElE;AAED,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,OACnB,UAAU,MACV,UAAU,eACD,WAAW,WAEX,GAAG,SAAS,eAAe,KAAG,MAM9C,CAAC;AAEF,iEAAiE;AACjE,eAAO,MAAM,aAAa,OAAQ,UAAU,eAAe,WAAW,WACrD,GAAG,SAAS,eAAe,KAAG,MAM9C,CAAC"}
package/dist/txBuilder.js CHANGED
@@ -3,12 +3,13 @@
3
3
  // Distributed under the MIT software license, see the accompanying
4
4
  // file COPYING or http://www.opensource.org/licenses/mit-license.php.
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.P2PKSignatory = exports.P2PKHSignatory = exports.flagSignature = exports.calcTxFee = exports.TxBuilder = void 0;
6
+ exports.P2PKSignatory = exports.P2PKHSignatory = exports.signWithSigHash = exports.flagSignature = exports.calcTxFee = exports.TxBuilder = void 0;
7
7
  const ecc_js_1 = require("./ecc.js");
8
8
  const hash_js_1 = require("./hash.js");
9
9
  const writerbytes_js_1 = require("./io/writerbytes.js");
10
10
  const op_js_1 = require("./op.js");
11
11
  const script_js_1 = require("./script.js");
12
+ const sigHashType_js_1 = require("./sigHashType.js");
12
13
  const tx_js_1 = require("./tx.js");
13
14
  const unsignedTx_js_1 = require("./unsignedTx.js");
14
15
  /** Class that can be used to build and sign txs. */
@@ -135,13 +136,24 @@ function flagSignature(sig, sigHashFlags) {
135
136
  return writer.data;
136
137
  }
137
138
  exports.flagSignature = flagSignature;
139
+ /**
140
+ * Sign the sighash using Schnorr for BIP143 signatures and ECDSA for Legacy
141
+ * signatures, and then flags the signature correctly
142
+ **/
143
+ function signWithSigHash(ecc, sk, sigHash, sigHashType) {
144
+ const sig = sigHashType.variant == sigHashType_js_1.SigHashTypeVariant.LEGACY
145
+ ? ecc.ecdsaSign(sk, sigHash)
146
+ : ecc.schnorrSign(sk, sigHash);
147
+ return flagSignature(sig, sigHashType);
148
+ }
149
+ exports.signWithSigHash = signWithSigHash;
138
150
  /** Signatory for a P2PKH input. Always uses Schnorr signatures */
139
151
  const P2PKHSignatory = (sk, pk, sigHashType) => {
140
152
  return (ecc, input) => {
141
153
  const preimage = input.sigHashPreimage(sigHashType);
142
154
  const sighash = (0, hash_js_1.sha256d)(preimage.bytes);
143
- const sig = flagSignature(ecc.schnorrSign(sk, sighash), sigHashType);
144
- return script_js_1.Script.p2pkhSpend(pk, sig);
155
+ const sigFlagged = signWithSigHash(ecc, sk, sighash, sigHashType);
156
+ return script_js_1.Script.p2pkhSpend(pk, sigFlagged);
145
157
  };
146
158
  };
147
159
  exports.P2PKHSignatory = P2PKHSignatory;
@@ -150,8 +162,8 @@ const P2PKSignatory = (sk, sigHashType) => {
150
162
  return (ecc, input) => {
151
163
  const preimage = input.sigHashPreimage(sigHashType);
152
164
  const sighash = (0, hash_js_1.sha256d)(preimage.bytes);
153
- const sig = flagSignature(ecc.schnorrSign(sk, sighash), sigHashType);
154
- return script_js_1.Script.fromOps([(0, op_js_1.pushBytesOp)(sig)]);
165
+ const sigFlagged = signWithSigHash(ecc, sk, sighash, sigHashType);
166
+ return script_js_1.Script.fromOps([(0, op_js_1.pushBytesOp)(sigFlagged)]);
155
167
  };
156
168
  };
157
169
  exports.P2PKSignatory = P2PKSignatory;
@@ -1 +1 @@
1
- {"version":3,"file":"txBuilder.js","sourceRoot":"","sources":["../src/txBuilder.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;;;AAEtE,qCAAyC;AACzC,uCAAoC;AACpC,wDAAkD;AAClD,mCAAsC;AACtC,2CAAqC;AAErC,mCAOiB;AACjB,mDAA8D;AAmC9D,oDAAoD;AACpD,MAAa,SAAS;IAalB,YAAmB,MAKlB;QACG,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,0BAAkB,CAAC;QACrD,IAAI,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,MAAM,EAAE,QAAQ,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,0EAA0E;IAClE,QAAQ;QACZ,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACrC,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,cAAc;QAKlB,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,WAAW,GAAuB,SAAS,CAAC;QAChD,IAAI,OAAO,GAAe,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACzD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC;YACjD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,aAAa,YAAY,kBAAM,EAAE,CAAC;gBAClC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC5B,MAAM,gDAAgD,CAAC;gBAC3D,CAAC;gBACD,WAAW,GAAG,GAAG,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,GAAG;oBACX,KAAK,EAAE,CAAC,EAAE,cAAc;oBACxB,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE;iBAC/B,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,cAAc,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,IAAA,oBAAY,EAAC,aAAa,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;QACD,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;IACpD,CAAC;IAED,wDAAwD;IACjD,IAAI,CAAC,GAAQ,EAAE,QAAiB,EAAE,SAAkB;QACvD,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAA,mBAAW,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,MAAM,iBAAiB,GAAG,CAAC,GAAQ,EAAE,UAAsB,EAAE,EAAE;YAC3D,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC;gBAChD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC;gBAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC1B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC1B,KAAK,CAAC,MAAM,GAAG,SAAS,CACpB,GAAG,EACH,IAAI,+BAAe,CAAC;wBAChB,QAAQ,EAAE,GAAG;wBACb,UAAU;qBACb,CAAC,CACL,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC,CAAC;QACF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACX,wEAAwE,CAC3E,CAAC;YACN,CAAC;YACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACX,mDAAmD,CACtD,CAAC;YACN,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACnD,CAAC;YACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACX,oDAAoD,CACvD,CAAC;YACN,CAAC;YACD,MAAM,eAAe,GAAG,0BAAU,CAAC,WAAW,CAC1C,IAAI,UAAE,CAAC;gBACH,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM;gBACN,OAAO;gBACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;aAC1B,CAAC,CACL,CAAC;YACF,yEAAyE;YACzE,iBAAiB,CAAC,IAAI,iBAAQ,EAAE,EAAE,eAAe,CAAC,CAAC;YACnD,IAAI,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;YAC1C,IAAI,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACxC,MAAM,aAAa,GAAG,QAAQ,GAAG,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC;YAC1D,IAAI,aAAa,GAAG,SAAS,EAAE,CAAC;gBAC5B,2DAA2D;gBAC3D,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAC/B,eAAe,CAAC,EAAE,CAAC,OAAO,GAAG,OAAO,CAAC;gBACrC,gEAAgE;gBAChE,iBAAiB,CAAC,IAAI,iBAAQ,EAAE,EAAE,eAAe,CAAC,CAAC;gBACnD,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;gBACtC,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,GAAG,aAAa,CAAC;YAC/C,CAAC;YACD,IAAI,QAAQ,GAAG,cAAc,GAAG,KAAK,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CACX,6BAA6B,QAAQ,uBACjC,QAAQ,GAAG,cACf,cAAc,KAAK,WAAW,CACjC,CAAC;YACN,CAAC;QACL,CAAC;QACD,MAAM,UAAU,GAAG,0BAAU,CAAC,MAAM,CAChC,IAAI,UAAE,CAAC;YACH,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM;YACN,OAAO;YACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC,CACL,CAAC;QACF,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACnC,OAAO,UAAU,CAAC,EAAE,CAAC;IACzB,CAAC;CACJ;AAlJD,8BAkJC;AAED;kBACkB;AAClB,SAAgB,SAAS,CAAC,MAAc,EAAE,QAAgB;IACtD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC;AAC9D,CAAC;AAFD,8BAEC;AAED,gDAAgD;AAChD,SAAgB,aAAa,CACzB,GAAe,EACf,YAAyB;IAEzB,MAAM,MAAM,GAAG,IAAI,4BAAW,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrB,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC;AACvB,CAAC;AARD,sCAQC;AAED,kEAAkE;AAC3D,MAAM,cAAc,GAAG,CAC1B,EAAc,EACd,EAAc,EACd,WAAwB,EAC1B,EAAE;IACA,OAAO,CAAC,GAAQ,EAAE,KAAsB,EAAU,EAAE;QAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAA,iBAAO,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC;QACrE,OAAO,kBAAM,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC;AACN,CAAC,CAAC;AAXW,QAAA,cAAc,kBAWzB;AAEF,iEAAiE;AAC1D,MAAM,aAAa,GAAG,CAAC,EAAc,EAAE,WAAwB,EAAE,EAAE;IACtE,OAAO,CAAC,GAAQ,EAAE,KAAsB,EAAU,EAAE;QAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,IAAA,iBAAO,EAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,CAAC;QACrE,OAAO,kBAAM,CAAC,OAAO,CAAC,CAAC,IAAA,mBAAW,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC;AACN,CAAC,CAAC;AAPW,QAAA,aAAa,iBAOxB"}
1
+ {"version":3,"file":"txBuilder.js","sourceRoot":"","sources":["../src/txBuilder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"unsignedTx.d.ts","sourceRoot":"","sources":["../src/unsignedTx.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACH,WAAW,EAId,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAGH,EAAE,EACF,OAAO,EAGV,MAAM,SAAS,CAAC;AAEjB,gFAAgF;AAChF,qBAAa,UAAU;IACnB,EAAE,EAAE,EAAE,CAAC;IACP,YAAY,EAAE,UAAU,CAAC;IACzB,aAAa,EAAE,UAAU,CAAC;IAC1B,WAAW,EAAE,UAAU,CAAC;IAExB,OAAO;IAYP;;;QAGI;WACU,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,UAAU;IASxC;;;QAGI;WACU,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,UAAU;IAS7C,4DAA4D;IACrD,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;CAGpD;AAED,0EAA0E;AAC1E,MAAM,WAAW,eAAe;IAC5B,+CAA+C;IAC/C,KAAK,EAAE,UAAU,CAAC;IAClB,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;;IAGI;AACJ,qBAAa,eAAe;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;gBAEJ,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,UAAU,CAAA;KAAE;IAKvE;;;QAGI;IACG,eAAe,CAClB,WAAW,EAAE,WAAW,EACxB,QAAQ,CAAC,EAAE,MAAM,GAClB,eAAe;IA4ElB,iDAAiD;IAC1C,OAAO,IAAI,OAAO;CAG5B"}
1
+ {"version":3,"file":"unsignedTx.d.ts","sourceRoot":"","sources":["../src/unsignedTx.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EACH,WAAW,EAId,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAGH,EAAE,EACF,OAAO,EAGV,MAAM,SAAS,CAAC;AAEjB,gFAAgF;AAChF,qBAAa,UAAU;IACnB,EAAE,EAAE,EAAE,CAAC;IACP,YAAY,EAAE,UAAU,CAAC;IACzB,aAAa,EAAE,UAAU,CAAC;IAC1B,WAAW,EAAE,UAAU,CAAC;IAExB,OAAO;IAYP;;;QAGI;WACU,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,UAAU;IASxC;;;QAGI;WACU,WAAW,CAAC,EAAE,EAAE,EAAE,GAAG,UAAU;IAS7C,4DAA4D;IACrD,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;CAGpD;AAED,0EAA0E;AAC1E,MAAM,WAAW,eAAe;IAC5B,+CAA+C;IAC/C,KAAK,EAAE,UAAU,CAAC;IAClB,iEAAiE;IACjE,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,YAAY,EAAE,MAAM,CAAC;CACxB;AAkGD;;;IAGI;AACJ,qBAAa,eAAe;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,UAAU,CAAC;gBAEJ,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,UAAU,CAAA;KAAE;IAKvE;;;QAGI;IACG,eAAe,CAClB,WAAW,EAAE,WAAW,EACxB,QAAQ,CAAC,EAAE,MAAM,GAClB,eAAe;IAyGlB,iDAAiD;IAC1C,OAAO,IAAI,OAAO;CAG5B"}
@@ -7,6 +7,10 @@ exports.UnsignedTxInput = exports.UnsignedTx = void 0;
7
7
  const hash_js_1 = require("./hash.js");
8
8
  const writerbytes_js_1 = require("./io/writerbytes.js");
9
9
  const writerlength_js_1 = require("./io/writerlength.js");
10
+ const varsize_js_1 = require("./io/varsize.js");
11
+ const op_js_1 = require("./op.js");
12
+ const opcode_js_1 = require("./opcode.js");
13
+ const script_js_1 = require("./script.js");
10
14
  const sigHashType_js_1 = require("./sigHashType.js");
11
15
  const tx_js_1 = require("./tx.js");
12
16
  /** An unsigned tx, which helps us build the sighash preimage we need to sign */
@@ -47,6 +51,86 @@ class UnsignedTx {
47
51
  }
48
52
  }
49
53
  exports.UnsignedTx = UnsignedTx;
54
+ // Write the legacy preimage used pre-UAHF.
55
+ // It's modeled closely after SignatureHash in interpreter.cpp.
56
+ function writeLegacyPreimage(writer, tx, scriptCode, inputIdx, sigHashType) {
57
+ const hasAnyoneCanPay = sigHashType.inputType === sigHashType_js_1.SigHashTypeInputs.ANYONECANPAY;
58
+ const writeLegacyScriptCode = () => {
59
+ const ops = scriptCode.ops();
60
+ let nextOp = undefined;
61
+ const newOps = [];
62
+ // Filter out all code separators
63
+ while ((nextOp = ops.next()) !== undefined) {
64
+ if ((0, op_js_1.isPushOp)(nextOp) || nextOp != opcode_js_1.OP_CODESEPARATOR) {
65
+ newOps.push(nextOp);
66
+ }
67
+ }
68
+ script_js_1.Script.fromOps(newOps).writeWithSize(writer);
69
+ };
70
+ const writeLegacyInput = (idx) => {
71
+ // In case of SIGHASH_ANYONECANPAY, only the input being signed is
72
+ // serialized
73
+ if (hasAnyoneCanPay) {
74
+ idx = inputIdx;
75
+ }
76
+ const input = tx.inputs[idx];
77
+ // Serialize the prevout
78
+ (0, tx_js_1.writeOutPoint)(input.prevOut, writer);
79
+ // Serialize the script
80
+ if (idx != inputIdx) {
81
+ // Blank out other inputs' signatures
82
+ new script_js_1.Script().writeWithSize(writer);
83
+ }
84
+ else {
85
+ writeLegacyScriptCode();
86
+ }
87
+ // Serialize the nSequence
88
+ if (idx != inputIdx &&
89
+ (sigHashType.outputType === sigHashType_js_1.SigHashTypeOutputs.SINGLE ||
90
+ sigHashType.outputType === sigHashType_js_1.SigHashTypeOutputs.NONE)) {
91
+ // let the others update at will
92
+ writer.putU32(0);
93
+ }
94
+ else {
95
+ writer.putU32(input.sequence ?? tx_js_1.DEFAULT_SEQUENCE);
96
+ }
97
+ };
98
+ const writeLegacyOutput = (idx) => {
99
+ if (sigHashType.outputType === sigHashType_js_1.SigHashTypeOutputs.SINGLE &&
100
+ idx != inputIdx) {
101
+ // Do not lock-in the txout payee at other indices as txin
102
+ (0, tx_js_1.writeTxOutput)({ value: 0, script: new script_js_1.Script() }, writer);
103
+ }
104
+ else {
105
+ (0, tx_js_1.writeTxOutput)(tx.outputs[idx], writer);
106
+ }
107
+ };
108
+ writer.putU32(tx.version);
109
+ const numInputs = hasAnyoneCanPay ? 1 : tx.inputs.length;
110
+ (0, varsize_js_1.writeVarSize)(numInputs, writer);
111
+ for (let inputIdx = 0; inputIdx < numInputs; ++inputIdx) {
112
+ writeLegacyInput(inputIdx);
113
+ }
114
+ // Serialize vout
115
+ const numOutputs = (() => {
116
+ switch (sigHashType.outputType) {
117
+ case sigHashType_js_1.SigHashTypeOutputs.NONE:
118
+ return 0;
119
+ case sigHashType_js_1.SigHashTypeOutputs.SINGLE:
120
+ return inputIdx + 1;
121
+ default:
122
+ return tx.outputs.length;
123
+ }
124
+ })();
125
+ (0, varsize_js_1.writeVarSize)(numOutputs, writer);
126
+ for (let outputIdx = 0; outputIdx < numOutputs; outputIdx++) {
127
+ writeLegacyOutput(outputIdx);
128
+ }
129
+ // Serialize nLockTime
130
+ writer.putU32(tx.locktime);
131
+ // Serialize sigHashType
132
+ writer.putU32(sigHashType.toInt());
133
+ }
50
134
  /**
51
135
  * An unsigned tx input, can be used to build a sighash preimage ready to be
52
136
  * signed
@@ -61,9 +145,6 @@ class UnsignedTxInput {
61
145
  * and OP_CODESEPARATOR index
62
146
  **/
63
147
  sigHashPreimage(sigHashType, nCodesep) {
64
- if (sigHashType.variant == sigHashType_js_1.SigHashTypeVariant.LEGACY) {
65
- throw new Error('Legacy sighash type not implemented');
66
- }
67
148
  const tx = this.unsignedTx.tx;
68
149
  const input = tx.inputs[this.inputIdx];
69
150
  if (input.signData === undefined) {
@@ -74,6 +155,25 @@ class UnsignedTxInput {
74
155
  const scriptCode = nCodesep === undefined
75
156
  ? redeemScript
76
157
  : redeemScript.cutOutCodesep(nCodesep);
158
+ // Sign LEGACY signatures that don't use SIGHASH_FORKID
159
+ if (sigHashType.variant === sigHashType_js_1.SigHashTypeVariant.LEGACY) {
160
+ if (sigHashType.outputType == sigHashType_js_1.SigHashTypeOutputs.SINGLE &&
161
+ this.inputIdx >= tx.outputs.length) {
162
+ throw new Error('Invalid usage of SINGLE, input has no corresponding output');
163
+ }
164
+ const writePreimage = (writer) => {
165
+ writeLegacyPreimage(writer, this.unsignedTx.tx, scriptCode, this.inputIdx, sigHashType);
166
+ };
167
+ const preimageWriterLen = new writerlength_js_1.WriterLength();
168
+ writePreimage(preimageWriterLen);
169
+ const preimageWriter = new writerbytes_js_1.WriterBytes(preimageWriterLen.length);
170
+ writePreimage(preimageWriter);
171
+ return {
172
+ bytes: preimageWriter.data,
173
+ scriptCode,
174
+ redeemScript,
175
+ };
176
+ }
77
177
  let hashOutputs;
78
178
  switch (sigHashType.outputType) {
79
179
  case sigHashType_js_1.SigHashTypeOutputs.ALL:
@@ -1 +1 @@
1
- {"version":3,"file":"unsignedTx.js","sourceRoot":"","sources":["../src/unsignedTx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unsignedTx.js","sourceRoot":"","sources":["../src/unsignedTx.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ecash-lib",
3
- "version": "1.0.1-rc",
3
+ "version": "1.1.0",
4
4
  "description": "Library for eCash transaction building",
5
5
  "main": "./dist/indexNodeJs.js",
6
6
  "browser": "./dist/indexBrowser.js",
@@ -33,7 +33,7 @@
33
33
  "@types/mocha": "^10.0.6",
34
34
  "@types/node": "^20.12.7",
35
35
  "chai": "^5.1.0",
36
- "chronik-client": "file:../chronik-client",
36
+ "chronik-client": "^2.0.0",
37
37
  "eslint-plugin-header": "^3.1.1",
38
38
  "mocha": "^10.4.0",
39
39
  "mocha-junit-reporter": "^2.2.1",