@ledgerhq/hw-app-btc 6.11.0 → 6.12.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 (69) hide show
  1. package/README.md +110 -47
  2. package/lib/Btc.d.ts.map +1 -1
  3. package/lib/Btc.js +5 -3
  4. package/lib/Btc.js.map +1 -1
  5. package/lib/BtcNew.d.ts +1 -1
  6. package/lib/BtcNew.d.ts.map +1 -1
  7. package/lib/BtcNew.js +71 -174
  8. package/lib/BtcNew.js.map +1 -1
  9. package/lib/newops/accounttype.d.ts +110 -0
  10. package/lib/newops/accounttype.d.ts.map +1 -0
  11. package/lib/newops/accounttype.js +236 -0
  12. package/lib/newops/accounttype.js.map +1 -0
  13. package/lib/newops/appClient.d.ts +1 -1
  14. package/lib/newops/appClient.d.ts.map +1 -1
  15. package/lib/newops/appClient.js +7 -7
  16. package/lib/newops/appClient.js.map +1 -1
  17. package/lib/newops/clientCommands.d.ts +3 -2
  18. package/lib/newops/clientCommands.d.ts.map +1 -1
  19. package/lib/newops/clientCommands.js +19 -12
  20. package/lib/newops/clientCommands.js.map +1 -1
  21. package/lib/newops/merkle.js +2 -2
  22. package/lib/newops/merkle.js.map +1 -1
  23. package/lib/newops/psbtExtractor.js +2 -2
  24. package/lib/newops/psbtExtractor.js.map +1 -1
  25. package/lib/newops/psbtv2.d.ts +3 -0
  26. package/lib/newops/psbtv2.d.ts.map +1 -1
  27. package/lib/newops/psbtv2.js +14 -4
  28. package/lib/newops/psbtv2.js.map +1 -1
  29. package/lib-es/Btc.d.ts.map +1 -1
  30. package/lib-es/Btc.js +5 -3
  31. package/lib-es/Btc.js.map +1 -1
  32. package/lib-es/BtcNew.d.ts +1 -1
  33. package/lib-es/BtcNew.d.ts.map +1 -1
  34. package/lib-es/BtcNew.js +73 -176
  35. package/lib-es/BtcNew.js.map +1 -1
  36. package/lib-es/newops/accounttype.d.ts +110 -0
  37. package/lib-es/newops/accounttype.d.ts.map +1 -0
  38. package/lib-es/newops/accounttype.js +233 -0
  39. package/lib-es/newops/accounttype.js.map +1 -0
  40. package/lib-es/newops/appClient.d.ts +1 -1
  41. package/lib-es/newops/appClient.d.ts.map +1 -1
  42. package/lib-es/newops/appClient.js +7 -7
  43. package/lib-es/newops/appClient.js.map +1 -1
  44. package/lib-es/newops/clientCommands.d.ts +3 -2
  45. package/lib-es/newops/clientCommands.d.ts.map +1 -1
  46. package/lib-es/newops/clientCommands.js +19 -12
  47. package/lib-es/newops/clientCommands.js.map +1 -1
  48. package/lib-es/newops/merkle.js +2 -2
  49. package/lib-es/newops/merkle.js.map +1 -1
  50. package/lib-es/newops/psbtExtractor.js +2 -2
  51. package/lib-es/newops/psbtExtractor.js.map +1 -1
  52. package/lib-es/newops/psbtv2.d.ts +3 -0
  53. package/lib-es/newops/psbtv2.d.ts.map +1 -1
  54. package/lib-es/newops/psbtv2.js +14 -4
  55. package/lib-es/newops/psbtv2.js.map +1 -1
  56. package/package.json +3 -3
  57. package/src/Btc.ts +34 -3
  58. package/src/BtcNew.ts +105 -174
  59. package/src/newops/accounttype.ts +373 -0
  60. package/src/newops/appClient.ts +8 -7
  61. package/src/newops/clientCommands.ts +19 -12
  62. package/src/newops/merkle.ts +2 -2
  63. package/src/newops/psbtExtractor.ts +2 -2
  64. package/src/newops/psbtv2.ts +13 -4
  65. package/tests/Btc.test.ts +68 -39
  66. package/tests/newops/BtcNew.test.ts +47 -20
  67. package/tests/newops/integrationtools.ts +91 -50
  68. package/tests/newops/merkle.test.ts +1 -1
  69. package/tests/newops/testtx.ts +0 -55
@@ -44,6 +44,7 @@ var psbtIn;
44
44
  psbtIn[psbtIn["NON_WITNESS_UTXO"] = 0] = "NON_WITNESS_UTXO";
45
45
  psbtIn[psbtIn["WITNESS_UTXO"] = 1] = "WITNESS_UTXO";
46
46
  psbtIn[psbtIn["PARTIAL_SIG"] = 2] = "PARTIAL_SIG";
47
+ psbtIn[psbtIn["SIGHASH_TYPE"] = 3] = "SIGHASH_TYPE";
47
48
  psbtIn[psbtIn["REDEEM_SCRIPT"] = 4] = "REDEEM_SCRIPT";
48
49
  psbtIn[psbtIn["BIP32_DERIVATION"] = 6] = "BIP32_DERIVATION";
49
50
  psbtIn[psbtIn["FINAL_SCRIPTSIG"] = 7] = "FINAL_SCRIPTSIG";
@@ -62,7 +63,7 @@ var psbtOut;
62
63
  psbtOut[psbtOut["SCRIPT"] = 4] = "SCRIPT";
63
64
  psbtOut[psbtOut["TAP_BIP32_DERIVATION"] = 7] = "TAP_BIP32_DERIVATION";
64
65
  })(psbtOut = exports.psbtOut || (exports.psbtOut = {}));
65
- var PSBT_MAGIC_BYTES = Buffer.of(0x70, 0x73, 0x62, 0x74, 0xff);
66
+ var PSBT_MAGIC_BYTES = Buffer.from([0x70, 0x73, 0x62, 0x74, 0xff]);
66
67
  var NoSuchEntry = /** @class */ (function (_super) {
67
68
  __extends(NoSuchEntry, _super);
68
69
  function NoSuchEntry() {
@@ -157,6 +158,15 @@ var PsbtV2 = /** @class */ (function () {
157
158
  PsbtV2.prototype.getInputPartialSig = function (inputIndex, pubkey) {
158
159
  return this.getInputOptional(inputIndex, psbtIn.PARTIAL_SIG, pubkey);
159
160
  };
161
+ PsbtV2.prototype.setInputSighashType = function (inputIndex, sigHashtype) {
162
+ this.setInput(inputIndex, psbtIn.SIGHASH_TYPE, b(), uint32LE(sigHashtype));
163
+ };
164
+ PsbtV2.prototype.getInputSighashType = function (inputIndex) {
165
+ var result = this.getInputOptional(inputIndex, psbtIn.SIGHASH_TYPE, b());
166
+ if (!result)
167
+ return undefined;
168
+ return result.readUInt32LE(0);
169
+ };
160
170
  PsbtV2.prototype.setInputRedeemScript = function (inputIndex, redeemScript) {
161
171
  this.setInput(inputIndex, psbtIn.REDEEM_SCRIPT, b(), redeemScript);
162
172
  };
@@ -284,7 +294,7 @@ var PsbtV2 = /** @class */ (function () {
284
294
  };
285
295
  PsbtV2.prototype.serialize = function () {
286
296
  var buf = new buffertools_1.BufferWriter();
287
- buf.writeSlice(Buffer.of(0x70, 0x73, 0x62, 0x74, 0xff));
297
+ buf.writeSlice(Buffer.from([0x70, 0x73, 0x62, 0x74, 0xff]));
288
298
  serializeMap(buf, this.globalMap);
289
299
  this.inputMaps.forEach(function (map) {
290
300
  serializeMap(buf, map);
@@ -338,7 +348,7 @@ var PsbtV2 = /** @class */ (function () {
338
348
  return keyTypes.some(function (k) { return k == keyType; });
339
349
  };
340
350
  PsbtV2.prototype.setGlobal = function (keyType, value) {
341
- var key = new Key(keyType, Buffer.of());
351
+ var key = new Key(keyType, Buffer.from([]));
342
352
  this.globalMap.set(key.toString(), value);
343
353
  };
344
354
  PsbtV2.prototype.getGlobal = function (keyType) {
@@ -470,7 +480,7 @@ function serializeMap(buf, map) {
470
480
  buf.writeUInt8(0);
471
481
  }
472
482
  function b() {
473
- return Buffer.of();
483
+ return Buffer.from([]);
474
484
  }
475
485
  function set(map, keyType, keyData, value) {
476
486
  var key = new Key(keyType, keyData);
@@ -1 +1 @@
1
- {"version":3,"file":"psbtv2.js","sourceRoot":"","sources":["../../src/newops/psbtv2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"psbtv2.js","sourceRoot":"","sources":["../../src/newops/psbtv2.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Btc.d.ts","sourceRoot":"","sources":["../src/Btc.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAEpD,OAAO,MAAyB,MAAM,UAAU,CAAC;AACjD,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAIhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,aAAa,EAAE,CAAC;AAC9B;;;;;;GAMG;AAEH,MAAM,CAAC,OAAO,OAAO,GAAG;IACtB,SAAS,EAAE,SAAS,CAAC;gBAET,SAAS,EAAE,SAAS,EAAE,WAAW,SAAQ;IAiBrD;;;;;;OAMG;IACH,aAAa,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1E;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,kBAAkB,CAChB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,aAAa,CAAC;KACxB,GACA,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAmDF;;;;;;;;OAQG;IACH,cAAc,CACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;QACT,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IAIF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,2BAA2B,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAWvE;;;;;;;;;;;;;;;;;;OAkBG;IACH,mBAAmB,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAInE;;;;OAIG;IACH,gBAAgB,CACd,cAAc,EAAE,MAAM,EACtB,iBAAiB,GAAE,OAAO,GAAG,IAAI,GAAG,SAAiB,EACrD,YAAY,UAAQ,EACpB,YAAY,UAAQ,EACpB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,WAAW;IAUd;;;;MAIE;IACF,2BAA2B,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM;IAInD,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,OAAO,CAAC,MAAM,CAAC;IASlB,qBAAqB,CACnB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,MAAM;IAUT,OAAO,CAAC,SAAS,CAAgC;YACnC,cAAc;YAQd,gBAAgB;IAU9B,SAAS,CAAC,GAAG,IAAI,MAAM;IAIvB,SAAS,CAAC,GAAG,IAAI,MAAM;CAGxB"}
1
+ {"version":3,"file":"Btc.d.ts","sourceRoot":"","sources":["../src/Btc.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AAEpD,OAAO,MAAyB,MAAM,UAAU,CAAC;AACjD,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAIhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,aAAa,EAAE,CAAC;AAC9B;;;;;;GAMG;AAEH,MAAM,CAAC,OAAO,OAAO,GAAG;IACtB,SAAS,EAAE,SAAS,CAAC;gBAET,SAAS,EAAE,SAAS,EAAE,WAAW,SAAQ;IAiBrD;;;;;;OAMG;IACH,aAAa,CAAC,GAAG,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAI1E;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,kBAAkB,CAChB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,aAAa,CAAC;KACxB,GACA,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAiFF;;;;;;;;OAQG;IACH,cAAc,CACZ,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;QACT,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;IAIF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,2BAA2B,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAWvE;;;;;;;;;;;;;;;;;;OAkBG;IACH,mBAAmB,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAInE;;;;OAIG;IACH,gBAAgB,CACd,cAAc,EAAE,MAAM,EACtB,iBAAiB,GAAE,OAAO,GAAG,IAAI,GAAG,SAAiB,EACrD,YAAY,UAAQ,EACpB,YAAY,UAAQ,EACpB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,WAAW;IAUd;;;;MAIE;IACF,2BAA2B,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM;IAInD,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,OAAO,CAAC,MAAM,CAAC;IASlB,qBAAqB,CACnB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,GAAE,KAAK,CAAC,MAAM,CAAM,GAC9B,MAAM;IAUT,OAAO,CAAC,SAAS,CAAgC;YACnC,cAAc;YAQd,gBAAgB;IAU9B,SAAS,CAAC,GAAG,IAAI,MAAM;IAIvB,SAAS,CAAC,GAAG,IAAI,MAAM;CAGxB"}
package/lib-es/Btc.js CHANGED
@@ -140,6 +140,7 @@ var Btc = /** @class */ (function () {
140
140
  options.format != "bech32m" &&
141
141
  (!options.verify || options.verify == false) &&
142
142
  !isPathNormal(path)) {
143
+ console.warn("WARNING: Using deprecated device protocol to get the public key because\n \n * a non-standard path is requested, and\n * verify flag is false\n \n The new protocol only allows export of non-standard paths if the \n verify flag is true. Standard paths are (currently):\n\n M/44'/(1|0)'/X'\n M/49'/(1|0)'/X'\n M/84'/(1|0)'/X'\n M/86'/(1|0)'/X'\n M/48'/(1|0)'/X'/Y'\n\n followed by \"\", \"(0|1)\", or \"(0|1)/b\", where a and b are \n non-hardened. For example, the following paths are standard\n \n M/48'/1'/99'/7'\n M/86'/1'/99'/0\n M/48'/0'/99'/7'/1/17\n\n The following paths are non-standard\n\n M/48'/0'/99' // Not deepest hardened path\n M/48'/0'/99'/7'/1/17/2 // Too many non-hardened derivation steps\n M/199'/0'/1'/0/88 // Not a known purpose 199\n M/86'/1'/99'/2 // Change path item must be 0 or 1\n\n This compatibility safeguard will be removed in the future.\n Please consider calling Btc.getWalletXpub() instead.");
143
144
  return _this.old().getWalletPublicKey(path, options);
144
145
  }
145
146
  else {
@@ -301,14 +302,15 @@ function isPathNormal(path) {
301
302
  //path is not deepest hardened node of a standard path or deeper, use BtcOld
302
303
  var h = 0x80000000;
303
304
  var pathElems = pathStringToArray(path);
304
- var hard = function (n) { return n > h; };
305
+ var hard = function (n) { return n >= h; };
305
306
  var soft = function (n) { return !n || n < h; };
307
+ var change = function (n) { return !n || n == 0 || n == 1; };
306
308
  if (pathElems.length >= 3 &&
307
309
  pathElems.length <= 5 &&
308
310
  [44 + h, 49 + h, 84 + h, 86 + h].some(function (v) { return v == pathElems[0]; }) &&
309
311
  [0 + h, 1 + h].some(function (v) { return v == pathElems[1]; }) &&
310
312
  hard(pathElems[2]) &&
311
- soft(pathElems[3]) &&
313
+ change(pathElems[3]) &&
312
314
  soft(pathElems[4])) {
313
315
  return true;
314
316
  }
@@ -318,7 +320,7 @@ function isPathNormal(path) {
318
320
  [0 + h, 1 + h].some(function (v) { return v == pathElems[1]; }) &&
319
321
  hard(pathElems[2]) &&
320
322
  hard(pathElems[3]) &&
321
- soft(pathElems[4]) &&
323
+ change(pathElems[4]) &&
322
324
  soft(pathElems[5])) {
323
325
  return true;
324
326
  }
package/lib-es/Btc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Btc.js","sourceRoot":"","sources":["../src/Btc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD;;;;;;GAMG;AAEH;IAGE,aAAY,SAAoB,EAAE,WAAmB;QAAnB,4BAAA,EAAA,mBAAmB;QA8PrD,kDAAkD;QAC1C,cAAS,GAA2B,IAAI,CAAC;QA9P/C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,SAAS,CAAC,qBAAqB,CAC7B,IAAI,EACJ;YACE,eAAe;YACf,oBAAoB;YACpB,qBAAqB;YACrB,gBAAgB;YAChB,6BAA6B;YAC7B,iBAAiB;YACjB,uBAAuB;SACxB,EACD,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,2BAAa,GAAb,UAAc,GAA0C;QACtD,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAvB,CAAuB,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,gCAAkB,GAAlB,UACE,IAAY,EACZ,IAGC;QALH,iBA2DC;QAhDC,IAAI,OAAO,CAAC;QACZ,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,IAAI,KAAK,SAAS,EAAE;YACrD,OAAO,CAAC,IAAI,CACV,iHAAiH,CAClH,CAAC;YACF,OAAO,GAAG;gBACR,MAAM,EAAE,CAAC,CAAC,IAAI;gBACd,8CAA8C;gBAC9C,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;aACzC,CAAC;SACH;aAAM;YACL,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;SACtB;QACD,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,UAAC,IAAI;YACrC;;;;;;;;;;;;;;;;;;;;;;eAsBG;YACH,IACE,IAAI,YAAY,MAAM;gBACtB,OAAO,CAAC,MAAM,IAAI,SAAS;gBAC3B,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;gBAC5C,CAAC,YAAY,CAAC,IAAI,CAAC,EACnB;gBACA,OAAO,KAAI,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;aACrD;iBAAM;gBACL,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;aAC/C;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,4BAAc,GAAd,UACE,IAAY,EACZ,UAAkB;QAMlB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACrD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,yCAA2B,GAA3B,UAA4B,GAAyB;QACnD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,OAAO,CAAC,IAAI,CACV,8HAA8H,CAC/H,CAAC;SACH;QACD,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,UAAC,IAAI;YACrC,OAAO,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,iCAAmB,GAAnB,UAAoB,GAA2B;QAC7C,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,8BAAgB,GAAhB,UACE,cAAsB,EACtB,iBAAqD,EACrD,YAAoB,EACpB,YAAoB,EACpB,WAA+B;QAH/B,kCAAA,EAAA,yBAAqD;QACrD,6BAAA,EAAA,oBAAoB;QACpB,6BAAA,EAAA,oBAAoB;QACpB,4BAAA,EAAA,gBAA+B;QAE/B,OAAO,gBAAgB,CACrB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,WAAW,CACZ,CAAC;IACJ,CAAC;IAED;;;;MAIE;IACF,yCAA2B,GAA3B,UAA4B,CAAc;QACxC,OAAO,2BAA2B,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,6BAAe,GAAf,UACE,WAAmB,EACnB,WAAwB,EACxB,WAA+B;QAA/B,4BAAA,EAAA,gBAA+B;QAE/B,OAAO,eAAe,CACpB,IAAI,CAAC,SAAS,EACd,WAAW,EACX,WAAW,EACX,WAAW,CACZ,CAAC;IACJ,CAAC;IAED,mCAAqB,GAArB,UACE,WAAmB,EACnB,WAAwB,EACxB,WAA+B;QAA/B,4BAAA,EAAA,gBAA+B;QAE/B,OAAO,qBAAqB,CAC1B,IAAI,CAAC,SAAS,EACd,WAAW,EACX,WAAW,EACX,WAAW,CACZ,CAAC;IACJ,CAAC;IAIa,4BAAc,GAA5B;;;;;;wBACU,SAAS,GAAK,IAAI,UAAT,CAAU;wBAC3B,IAAI,SAAS;4BAAE,sBAAO,SAAS,EAAC;wBACnB,qBAAM,IAAI,CAAC,gBAAgB,EAAE,EAAA;;wBAApC,IAAI,GAAG,SAA6B;wBAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;wBACtB,sBAAO,IAAI,EAAC;;;;KACb;IAEa,8BAAgB,GAA9B;;;;;4BACwB,qBAAM,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAA;;wBAAtD,aAAa,GAAG,SAAsC;wBACtD,uBAAuB,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;wBAC7D,IAAI,CAAC,uBAAuB,EAAE;4BAC5B,sBAAO,IAAI,CAAC,GAAG,EAAE,EAAC;yBACnB;6BAAM;4BACL,sBAAO,IAAI,CAAC,KAAG,CAAA,EAAE,EAAC;yBACnB;;;;;KACF;IAES,iBAAG,GAAb;QACE,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAES,cAAA,KAAG,CAAA,GAAb;QACE,OAAO,IAAI,MAAM,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACnD,CAAC;IACH,UAAC;AAAD,CAAC,AA5RD,IA4RC;;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,4EAA4E;IAC5E,IAAM,CAAC,GAAG,UAAU,CAAC;IACrB,IAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAE1C,IAAM,IAAI,GAAG,UAAC,CAAS,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,CAAC;IAClC,IAAM,IAAI,GAAG,UAAC,CAAqB,IAAK,OAAA,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAX,CAAW,CAAC;IAEpD,IACE,SAAS,CAAC,MAAM,IAAI,CAAC;QACrB,SAAS,CAAC,MAAM,IAAI,CAAC;QACrB,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAjB,CAAiB,CAAC;QAC/D,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAjB,CAAiB,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAClB;QACA,OAAO,IAAI,CAAC;KACb;IACD,IACE,SAAS,CAAC,MAAM,IAAI,CAAC;QACrB,SAAS,CAAC,MAAM,IAAI,CAAC;QACrB,EAAE,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,EAAjB,CAAiB,CAAC;QAC7C,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAClB;QACA,OAAO,IAAI,CAAC;KACb;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"Btc.js","sourceRoot":"","sources":["../src/Btc.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { CreateTransactionArg } from "./createTransaction";
2
+ import { AppAndVersion } from "./getAppAndVersion";
2
3
  import type { AddressFormat } from "./getWalletPublicKey";
3
4
  import { AppClient as Client } from "./newops/appClient";
4
- import { AppAndVersion } from "./getAppAndVersion";
5
5
  export declare function canSupportApp(appAndVersion: AppAndVersion): boolean;
6
6
  /**
7
7
  * This class implements the same interface as BtcOld (formerly
@@ -1 +1 @@
1
- {"version":3,"file":"BtcNew.d.ts","sourceRoot":"","sources":["../src/BtcNew.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,SAAS,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAezD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,wBAAgB,aAAa,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAKnE;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,aAAa,CAAC,EAClB,IAAI,EACJ,WAAW,GACZ,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,MAAM,CAAC;IAYnB;;;;;;OAMG;IACG,kBAAkB,CACtB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,aAAa,CAAC;KACxB,GACA,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAsBF;;;;;;;;;;;;;;OAcG;YACW,gBAAgB;IAyB9B;;;;;;;OAOG;IACG,2BAA2B,CAC/B,GAAG,EAAE,oBAAoB,GACxB,OAAO,CAAC,MAAM,CAAC;IA+FlB;;;;;;;OAOG;YACW,cAAc;IA2B5B;;;;OAIG;YACW,QAAQ;IA0DtB;;;;;;;;OAQG;YACW,QAAQ;CA2BvB"}
1
+ {"version":3,"file":"BtcNew.d.ts","sourceRoot":"","sources":["../src/BtcNew.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAS1D,OAAO,EAAE,SAAS,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAczD,wBAAgB,aAAa,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAKnE;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,aAAa,CAAC,EAClB,IAAI,EACJ,WAAW,GACZ,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,MAAM,CAAC;IAYnB;;;;;;OAMG;IACG,kBAAkB,CACtB,IAAI,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE;QACL,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,aAAa,CAAC;KACxB,GACA,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IAsBF;;;;;;;;;;;;;;OAcG;YACW,gBAAgB;IAyB9B;;;;;;;OAOG;IACG,2BAA2B,CAC/B,GAAG,EAAE,oBAAoB,GACxB,OAAO,CAAC,MAAM,CAAC;IAiHlB;;;;;;;OAOG;YACW,cAAc;IAsB5B;;;;OAIG;YACW,QAAQ;IAmDtB;;;;;;;;OAQG;YACW,QAAQ;CA6BvB"}
package/lib-es/BtcNew.js CHANGED
@@ -1,14 +1,3 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
1
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
2
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
3
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -46,17 +35,16 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
35
  }
47
36
  };
48
37
  import { crypto } from "bitcoinjs-lib";
49
- import { pointCompress, pointAddScalar } from "tiny-secp256k1";
50
38
  import semver from "semver";
39
+ import { pointCompress } from "tiny-secp256k1";
51
40
  import { getXpubComponents, hardenedPathOf, pathArrayToString, pathStringToArray, pubkeyFromXpub, } from "./bip32";
52
- import { BufferReader, BufferWriter } from "./buffertools";
53
- import { hashPublicKey } from "./hashPublicKey";
54
- import { createKey, WalletPolicy } from "./newops/policy";
41
+ import { BufferReader } from "./buffertools";
42
+ import { p2pkh, p2tr, p2wpkh, p2wpkhWrapped, } from "./newops/accounttype";
43
+ import { createKey, WalletPolicy, } from "./newops/policy";
55
44
  import { extract } from "./newops/psbtExtractor";
56
45
  import { finalize } from "./newops/psbtFinalizer";
57
46
  import { psbtIn, PsbtV2 } from "./newops/psbtv2";
58
47
  import { serializeTransaction } from "./serializeTransaction";
59
- import { HASH_SIZE, OP_CHECKSIG, OP_DUP, OP_EQUAL, OP_EQUALVERIFY, OP_HASH160, } from "./constants";
60
48
  var newSupportedApps = ["Bitcoin", "Bitcoin Test"];
61
49
  export function canSupportApp(appAndVersion) {
62
50
  return (newSupportedApps.includes(appAndVersion.name) &&
@@ -148,7 +136,7 @@ var BtcNew = /** @class */ (function () {
148
136
  case 1:
149
137
  xpub = _c.sent();
150
138
  display = (_a = opts === null || opts === void 0 ? void 0 : opts.verify) !== null && _a !== void 0 ? _a : false;
151
- return [4 /*yield*/, this.getWalletAddress(pathElements, accountTypeFrom((_b = opts === null || opts === void 0 ? void 0 : opts.format) !== null && _b !== void 0 ? _b : "legacy"), display)];
139
+ return [4 /*yield*/, this.getWalletAddress(pathElements, descrTemplFrom((_b = opts === null || opts === void 0 ? void 0 : opts.format) !== null && _b !== void 0 ? _b : "legacy"), display)];
152
140
  case 2:
153
141
  address = _c.sent();
154
142
  components = getXpubComponents(xpub);
@@ -177,7 +165,7 @@ var BtcNew = /** @class */ (function () {
177
165
  * way to get the address from the device. In this case we have to create it
178
166
  * ourselves, but we don't at this time, and instead return an empty ("") address.
179
167
  */
180
- BtcNew.prototype.getWalletAddress = function (pathElements, accountType, display) {
168
+ BtcNew.prototype.getWalletAddress = function (pathElements, descrTempl, display) {
181
169
  return __awaiter(this, void 0, void 0, function () {
182
170
  var accountPath, accountXpub, masterFingerprint, policy, changeAndIndex;
183
171
  return __generator(this, function (_a) {
@@ -193,7 +181,7 @@ var BtcNew = /** @class */ (function () {
193
181
  return [4 /*yield*/, this.client.getMasterFingerprint()];
194
182
  case 2:
195
183
  masterFingerprint = _a.sent();
196
- policy = new WalletPolicy(accountType, createKey(masterFingerprint, accountPath, accountXpub));
184
+ policy = new WalletPolicy(descrTempl, createKey(masterFingerprint, accountPath, accountXpub));
197
185
  changeAndIndex = pathElements.slice(-2, pathElements.length);
198
186
  return [2 /*return*/, this.client.getWalletAddress(policy, Buffer.alloc(32, 0), changeAndIndex[0], changeAndIndex[1], display)];
199
187
  }
@@ -210,31 +198,43 @@ var BtcNew = /** @class */ (function () {
210
198
  */
211
199
  BtcNew.prototype.createPaymentTransactionNew = function (arg) {
212
200
  return __awaiter(this, void 0, void 0, function () {
213
- var psbt, accountType, masterFp, accountXpub, accountPath, i, pathElems, outputsConcat, outputsBufferReader, outputCount, changeData, changeFound, i, amount, outputScript, isChange, changePath, pubkey, key, p, serializedTx;
201
+ var inputCount, psbt, masterFp, accountType, notifyCount, progress, accountXpub, accountPath, i, pathElems, outputsConcat, outputsBufferReader, outputCount, changeData, changeFound, i, amount, outputScript, isChange, changePath, pubkey, key, p, firstSigned, progressCallback, serializedTx;
214
202
  return __generator(this, function (_a) {
215
203
  switch (_a.label) {
216
204
  case 0:
217
- if (arg.inputs.length == 0) {
205
+ inputCount = arg.inputs.length;
206
+ if (inputCount == 0) {
218
207
  throw Error("No inputs");
219
208
  }
220
209
  psbt = new PsbtV2();
221
- accountType = accountTypeFromArg(arg);
210
+ return [4 /*yield*/, this.client.getMasterFingerprint()];
211
+ case 1:
212
+ masterFp = _a.sent();
213
+ accountType = accountTypeFromArg(arg, psbt, masterFp);
222
214
  if (arg.lockTime) {
223
215
  // The signer will assume locktime 0 if unset
224
216
  psbt.setGlobalFallbackLocktime(arg.lockTime);
225
217
  }
226
- psbt.setGlobalInputCount(arg.inputs.length);
218
+ psbt.setGlobalInputCount(inputCount);
227
219
  psbt.setGlobalPsbtVersion(2);
228
220
  psbt.setGlobalTxVersion(2);
229
- return [4 /*yield*/, this.client.getMasterFingerprint()];
230
- case 1:
231
- masterFp = _a.sent();
221
+ notifyCount = 0;
222
+ progress = function () {
223
+ if (!arg.onDeviceStreaming)
224
+ return;
225
+ arg.onDeviceStreaming({
226
+ total: 2 * inputCount,
227
+ index: notifyCount,
228
+ progress: ++notifyCount / (2 * inputCount)
229
+ });
230
+ };
232
231
  accountXpub = "";
233
232
  accountPath = [];
234
233
  i = 0;
235
234
  _a.label = 2;
236
235
  case 2:
237
- if (!(i < arg.inputs.length)) return [3 /*break*/, 7];
236
+ if (!(i < inputCount)) return [3 /*break*/, 7];
237
+ progress();
238
238
  pathElems = pathStringToArray(arg.associatedKeysets[i]);
239
239
  if (!(accountXpub == "")) return [3 /*break*/, 4];
240
240
  // We assume all inputs belong to the same account so we set
@@ -244,7 +244,7 @@ var BtcNew = /** @class */ (function () {
244
244
  case 3:
245
245
  accountXpub = _a.sent();
246
246
  _a.label = 4;
247
- case 4: return [4 /*yield*/, this.setInput(psbt, i, arg.inputs[i], pathElems, accountType, masterFp)];
247
+ case 4: return [4 /*yield*/, this.setInput(psbt, i, arg.inputs[i], pathElems, accountType, masterFp, arg.sigHashType)];
248
248
  case 5:
249
249
  _a.sent();
250
250
  _a.label = 6;
@@ -265,34 +265,33 @@ var BtcNew = /** @class */ (function () {
265
265
  outputScript = outputsBufferReader.readVarSlice();
266
266
  psbt.setOutputAmount(i, amount);
267
267
  psbt.setOutputScript(i, outputScript);
268
- isChange = changeData && outputScript.equals(changeData === null || changeData === void 0 ? void 0 : changeData.script);
268
+ isChange = changeData && outputScript.equals(changeData === null || changeData === void 0 ? void 0 : changeData.cond.scriptPubKey);
269
269
  if (isChange) {
270
270
  changeFound = true;
271
271
  changePath = pathStringToArray(arg.changePath);
272
272
  pubkey = changeData.pubkey;
273
- if (accountType == AccountType.p2pkh) {
274
- psbt.setOutputBip32Derivation(i, pubkey, masterFp, changePath);
275
- }
276
- else if (accountType == AccountType.p2wpkh) {
277
- psbt.setOutputBip32Derivation(i, pubkey, masterFp, changePath);
278
- }
279
- else if (accountType == AccountType.p2wpkhWrapped) {
280
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
281
- psbt.setOutputRedeemScript(i, changeData.redeemScript);
282
- psbt.setOutputBip32Derivation(i, pubkey, masterFp, changePath);
283
- }
284
- else if (accountType == AccountType.p2tr) {
285
- psbt.setOutputTapBip32Derivation(i, pubkey, [], masterFp, changePath);
286
- }
273
+ accountType.setOwnOutput(i, changeData.cond, [pubkey], [changePath]);
287
274
  }
288
275
  }
289
276
  if (!changeFound) {
290
277
  throw new Error("Change script not found among outputs! " +
291
- (changeData === null || changeData === void 0 ? void 0 : changeData.script.toString("hex")));
278
+ (changeData === null || changeData === void 0 ? void 0 : changeData.cond.scriptPubKey.toString("hex")));
292
279
  }
293
280
  key = createKey(masterFp, accountPath, accountXpub);
294
- p = new WalletPolicy(accountType, key);
295
- return [4 /*yield*/, this.signPsbt(psbt, p)];
281
+ p = new WalletPolicy(accountType.getDescriptorTemplate(), key);
282
+ // This is cheating, because it's not actually requested on the
283
+ // device yet, but it will be, soonish.
284
+ if (arg.onDeviceSignatureRequested)
285
+ arg.onDeviceSignatureRequested();
286
+ firstSigned = false;
287
+ progressCallback = function () {
288
+ if (!firstSigned) {
289
+ firstSigned = true;
290
+ arg.onDeviceSignatureGranted && arg.onDeviceSignatureGranted();
291
+ }
292
+ progress();
293
+ };
294
+ return [4 /*yield*/, this.signPsbt(psbt, p, progressCallback)];
296
295
  case 9:
297
296
  _a.sent();
298
297
  finalize(psbt);
@@ -312,7 +311,7 @@ var BtcNew = /** @class */ (function () {
312
311
  */
313
312
  BtcNew.prototype.outputScriptAt = function (accountPath, accountType, path) {
314
313
  return __awaiter(this, void 0, void 0, function () {
315
- var pathElems, i, xpub, pubkey, script;
314
+ var pathElems, i, xpub, pubkey, cond;
316
315
  return __generator(this, function (_a) {
317
316
  switch (_a.label) {
318
317
  case 0:
@@ -330,11 +329,8 @@ var BtcNew = /** @class */ (function () {
330
329
  case 1:
331
330
  xpub = _a.sent();
332
331
  pubkey = pubkeyFromXpub(xpub);
333
- if (accountType == AccountType.p2tr) {
334
- pubkey = pubkey.slice(1);
335
- }
336
- script = outputScriptOf(pubkey, accountType);
337
- return [2 /*return*/, __assign(__assign({}, script), { pubkey: pubkey })];
332
+ cond = accountType.spendingCondition([pubkey]);
333
+ return [2 /*return*/, { cond: cond, pubkey: pubkey }];
338
334
  }
339
335
  });
340
336
  });
@@ -344,19 +340,22 @@ var BtcNew = /** @class */ (function () {
344
340
  * previous txid, output index, spent UTXO, redeem script for wrapped p2wpkh,
345
341
  * public key and its derivation path.
346
342
  */
347
- BtcNew.prototype.setInput = function (psbt, i, input, pathElements, accountType, masterFP) {
343
+ BtcNew.prototype.setInput = function (psbt, i, input, pathElements, accountType, masterFP, sigHashType) {
348
344
  return __awaiter(this, void 0, void 0, function () {
349
- var inputTx, spentOutputIndex, redeemScript, sequence, inputTxBuffer, inputTxid, xpubBase58, pubkey, spentOutput, expectedRedeemScript, xonly;
345
+ var inputTx, spentOutputIndex, redeemScript, sequence, inputTxBuffer, inputTxid, xpubBase58, pubkey, spentTxOutput, spendCondition, spentOutput;
350
346
  return __generator(this, function (_a) {
351
347
  switch (_a.label) {
352
348
  case 0:
353
349
  inputTx = input[0];
354
350
  spentOutputIndex = input[1];
355
- redeemScript = input[2];
351
+ redeemScript = input[2] ? Buffer.from(input[2], "hex") : undefined;
356
352
  sequence = input[3];
357
353
  if (sequence) {
358
354
  psbt.setInputSequence(i, sequence);
359
355
  }
356
+ if (sigHashType) {
357
+ psbt.setInputSighashType(i, sigHashType);
358
+ }
360
359
  inputTxBuffer = serializeTransaction(inputTx, true);
361
360
  inputTxid = crypto.hash256(inputTxBuffer);
362
361
  return [4 /*yield*/, this.client.getExtendedPubkey(false, pathElements)];
@@ -365,34 +364,13 @@ var BtcNew = /** @class */ (function () {
365
364
  pubkey = pubkeyFromXpub(xpubBase58);
366
365
  if (!inputTx.outputs)
367
366
  throw Error("Missing outputs array in transaction to sign");
368
- spentOutput = inputTx.outputs[spentOutputIndex];
369
- if (accountType == AccountType.p2pkh) {
370
- psbt.setInputNonWitnessUtxo(i, inputTxBuffer);
371
- psbt.setInputBip32Derivation(i, pubkey, masterFP, pathElements);
372
- }
373
- else if (accountType == AccountType.p2wpkh) {
374
- psbt.setInputNonWitnessUtxo(i, inputTxBuffer);
375
- psbt.setInputBip32Derivation(i, pubkey, masterFP, pathElements);
376
- psbt.setInputWitnessUtxo(i, spentOutput.amount, spentOutput.script);
377
- }
378
- else if (accountType == AccountType.p2wpkhWrapped) {
379
- psbt.setInputNonWitnessUtxo(i, inputTxBuffer);
380
- psbt.setInputBip32Derivation(i, pubkey, masterFP, pathElements);
381
- if (!redeemScript) {
382
- throw new Error("Missing redeemScript for p2wpkhWrapped input");
383
- }
384
- expectedRedeemScript = createRedeemScript(pubkey);
385
- if (redeemScript != expectedRedeemScript.toString("hex")) {
386
- throw new Error("Unexpected redeemScript");
387
- }
388
- psbt.setInputRedeemScript(i, expectedRedeemScript);
389
- psbt.setInputWitnessUtxo(i, spentOutput.amount, spentOutput.script);
390
- }
391
- else if (accountType == AccountType.p2tr) {
392
- xonly = pubkey.slice(1);
393
- psbt.setInputTapBip32Derivation(i, xonly, [], masterFP, pathElements);
394
- psbt.setInputWitnessUtxo(i, spentOutput.amount, spentOutput.script);
395
- }
367
+ spentTxOutput = inputTx.outputs[spentOutputIndex];
368
+ spendCondition = {
369
+ scriptPubKey: spentTxOutput.script,
370
+ redeemScript: redeemScript
371
+ };
372
+ spentOutput = { cond: spendCondition, amount: spentTxOutput.amount };
373
+ accountType.setInput(i, inputTxBuffer, spentOutput, [pubkey], [pathElements]);
396
374
  psbt.setInputPreviousTxId(i, inputTxid);
397
375
  psbt.setInputOutputIndex(i, spentOutputIndex);
398
376
  return [2 /*return*/];
@@ -409,12 +387,12 @@ var BtcNew = /** @class */ (function () {
409
387
  * comment in-line. The signatures returned from the hardware device is added
410
388
  * to the appropriate input fields of the PSBT.
411
389
  */
412
- BtcNew.prototype.signPsbt = function (psbt, walletPolicy) {
390
+ BtcNew.prototype.signPsbt = function (psbt, walletPolicy, progressCallback) {
413
391
  return __awaiter(this, void 0, void 0, function () {
414
392
  var sigs;
415
393
  return __generator(this, function (_a) {
416
394
  switch (_a.label) {
417
- case 0: return [4 /*yield*/, this.client.signPsbt(psbt, walletPolicy, Buffer.alloc(32, 0))];
395
+ case 0: return [4 /*yield*/, this.client.signPsbt(psbt, walletPolicy, Buffer.alloc(32, 0), progressCallback)];
418
396
  case 1:
419
397
  sigs = _a.sent();
420
398
  sigs.forEach(function (v, k) {
@@ -443,105 +421,24 @@ var BtcNew = /** @class */ (function () {
443
421
  return BtcNew;
444
422
  }());
445
423
  export default BtcNew;
446
- var AccountType;
447
- (function (AccountType) {
448
- AccountType["p2pkh"] = "pkh(@0)";
449
- AccountType["p2wpkh"] = "wpkh(@0)";
450
- AccountType["p2wpkhWrapped"] = "sh(wpkh(@0))";
451
- AccountType["p2tr"] = "tr(@0)";
452
- })(AccountType || (AccountType = {}));
453
- function createRedeemScript(pubkey) {
454
- var pubkeyHash = hashPublicKey(pubkey);
455
- return Buffer.concat([Buffer.from("0014", "hex"), pubkeyHash]);
456
- }
457
- /**
458
- * Generates a single signature scriptPubKey (output script) from a public key.
459
- * This is done differently depending on account type.
460
- *
461
- * If accountType is p2tr, the public key must be a 32 byte x-only taproot
462
- * pubkey, otherwise it's expected to be a 33 byte ecdsa compressed pubkey.
463
- */
464
- function outputScriptOf(pubkey, accountType) {
465
- var buf = new BufferWriter();
466
- var pubkeyHash = hashPublicKey(pubkey);
467
- var redeemScript;
468
- if (accountType == AccountType.p2pkh) {
469
- buf.writeSlice(Buffer.of(OP_DUP, OP_HASH160, HASH_SIZE));
470
- buf.writeSlice(pubkeyHash);
471
- buf.writeSlice(Buffer.of(OP_EQUALVERIFY, OP_CHECKSIG));
472
- }
473
- else if (accountType == AccountType.p2wpkhWrapped) {
474
- redeemScript = createRedeemScript(pubkey);
475
- var scriptHash = hashPublicKey(redeemScript);
476
- buf.writeSlice(Buffer.of(OP_HASH160, HASH_SIZE));
477
- buf.writeSlice(scriptHash);
478
- buf.writeUInt8(OP_EQUAL);
479
- }
480
- else if (accountType == AccountType.p2wpkh) {
481
- buf.writeSlice(Buffer.of(0, HASH_SIZE));
482
- buf.writeSlice(pubkeyHash);
483
- }
484
- else if (accountType == AccountType.p2tr) {
485
- var outputKey = getTaprootOutputKey(pubkey);
486
- buf.writeSlice(Buffer.of(0x51, 32)); // push1, pubkeylen
487
- buf.writeSlice(outputKey);
488
- }
489
- return { script: buf.buffer(), redeemScript: redeemScript };
490
- }
491
- function accountTypeFrom(addressFormat) {
424
+ function descrTemplFrom(addressFormat) {
492
425
  if (addressFormat == "legacy")
493
- return AccountType.p2pkh;
426
+ return "pkh(@0)";
494
427
  if (addressFormat == "p2sh")
495
- return AccountType.p2wpkhWrapped;
428
+ return "sh(wpkh(@0))";
496
429
  if (addressFormat == "bech32")
497
- return AccountType.p2wpkh;
430
+ return "wpkh(@0)";
498
431
  if (addressFormat == "bech32m")
499
- return AccountType.p2tr;
432
+ return "tr(@0)";
500
433
  throw new Error("Unsupported address format " + addressFormat);
501
434
  }
502
- function accountTypeFromArg(arg) {
435
+ function accountTypeFromArg(arg, psbt, masterFp) {
503
436
  if (arg.additionals.includes("bech32m"))
504
- return AccountType.p2tr;
437
+ return new p2tr(psbt, masterFp);
505
438
  if (arg.additionals.includes("bech32"))
506
- return AccountType.p2wpkh;
439
+ return new p2wpkh(psbt, masterFp);
507
440
  if (arg.segwit)
508
- return AccountType.p2wpkhWrapped;
509
- return AccountType.p2pkh;
510
- }
511
- /*
512
- The following two functions are copied from wallet-btc and adapted.
513
- They should be moved to a library to avoid code reuse.
514
- */
515
- function hashTapTweak(x) {
516
- // hash_tag(x) = SHA256(SHA256(tag) || SHA256(tag) || x), see BIP340
517
- // See https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki#specification
518
- var h = crypto.sha256(Buffer.from("TapTweak", "utf-8"));
519
- return crypto.sha256(Buffer.concat([h, h, x]));
520
- }
521
- /**
522
- * Calculates a taproot output key from an internal key. This output key will be
523
- * used as witness program in a taproot output. The internal key is tweaked
524
- * according to recommendation in BIP341:
525
- * https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki#cite_ref-22-0
526
- *
527
- * @param internalPubkey A 32 byte x-only taproot internal key
528
- * @returns The output key
529
- */
530
- function getTaprootOutputKey(internalPubkey) {
531
- if (internalPubkey.length != 32) {
532
- throw new Error("Expected 32 byte pubkey. Got " + internalPubkey.length);
533
- }
534
- // A BIP32 derived key can be converted to a schnorr pubkey by dropping
535
- // the first byte, which represent the oddness/evenness. In schnorr all
536
- // pubkeys are even.
537
- // https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki#public-key-conversion
538
- var evenEcdsaPubkey = Buffer.concat([Buffer.of(0x02), internalPubkey]);
539
- var tweak = hashTapTweak(internalPubkey);
540
- // Q = P + int(hash_TapTweak(bytes(P)))G
541
- var outputEcdsaKey = Buffer.from(pointAddScalar(evenEcdsaPubkey, tweak));
542
- // Convert to schnorr.
543
- var outputSchnorrKey = outputEcdsaKey.slice(1);
544
- // Create address
545
- return outputSchnorrKey;
441
+ return new p2wpkhWrapped(psbt, masterFp);
442
+ return new p2pkh(psbt, masterFp);
546
443
  }
547
444
  //# sourceMappingURL=BtcNew.js.map