@ledgerhq/hw-app-btc 9.0.1-nightly.0 → 9.1.0-next.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 (45) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +15 -2
  3. package/README.md +33 -111
  4. package/lib/Btc.d.ts +12 -11
  5. package/lib/Btc.d.ts.map +1 -1
  6. package/lib/Btc.js +47 -143
  7. package/lib/Btc.js.map +1 -1
  8. package/lib/BtcNew.d.ts +2 -4
  9. package/lib/BtcNew.d.ts.map +1 -1
  10. package/lib/BtcNew.js +54 -13
  11. package/lib/BtcNew.js.map +1 -1
  12. package/lib/BtcOld.d.ts +2 -37
  13. package/lib/BtcOld.d.ts.map +1 -1
  14. package/lib/BtcOld.js +3 -45
  15. package/lib/BtcOld.js.map +1 -1
  16. package/lib/getAppAndVersion.d.ts +1 -0
  17. package/lib/getAppAndVersion.d.ts.map +1 -1
  18. package/lib/getAppAndVersion.js +21 -1
  19. package/lib/getAppAndVersion.js.map +1 -1
  20. package/lib-es/Btc.d.ts +12 -11
  21. package/lib-es/Btc.d.ts.map +1 -1
  22. package/lib-es/Btc.js +47 -120
  23. package/lib-es/Btc.js.map +1 -1
  24. package/lib-es/BtcNew.d.ts +2 -4
  25. package/lib-es/BtcNew.d.ts.map +1 -1
  26. package/lib-es/BtcNew.js +54 -8
  27. package/lib-es/BtcNew.js.map +1 -1
  28. package/lib-es/BtcOld.d.ts +2 -37
  29. package/lib-es/BtcOld.d.ts.map +1 -1
  30. package/lib-es/BtcOld.js +3 -45
  31. package/lib-es/BtcOld.js.map +1 -1
  32. package/lib-es/getAppAndVersion.d.ts +1 -0
  33. package/lib-es/getAppAndVersion.d.ts.map +1 -1
  34. package/lib-es/getAppAndVersion.js +19 -0
  35. package/lib-es/getAppAndVersion.js.map +1 -1
  36. package/package.json +4 -4
  37. package/src/Btc.ts +54 -146
  38. package/src/BtcNew.ts +60 -15
  39. package/src/BtcOld.ts +4 -59
  40. package/src/getAppAndVersion.ts +12 -0
  41. package/tests/{Btc.test.ts → Btc.test.ts.disabled} +16 -132
  42. package/tests/newops/BtcNew.test.ts +0 -5
  43. package/tests/newops/integrationtools.ts +4 -4
  44. package/tests/parseTx.test.ts +1 -1
  45. package/tests/{trustedInputs.test.ts → trustedInputs.test.ts.disabled} +6 -8
package/lib/Btc.js CHANGED
@@ -1,27 +1,4 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -62,37 +39,43 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
62
39
  return (mod && mod.__esModule) ? mod : { "default": mod };
63
40
  };
64
41
  exports.__esModule = true;
65
- var bip32_1 = require("./bip32");
66
- var BtcNew_1 = __importStar(require("./BtcNew"));
42
+ var BtcNew_1 = __importDefault(require("./BtcNew"));
67
43
  var BtcOld_1 = __importDefault(require("./BtcOld"));
68
- var getAppAndVersion_1 = require("./getAppAndVersion");
69
44
  var getTrustedInput_1 = require("./getTrustedInput");
70
45
  var getTrustedInputBIP143_1 = require("./getTrustedInputBIP143");
71
46
  var appClient_1 = require("./newops/appClient");
72
47
  var serializeTransaction_1 = require("./serializeTransaction");
73
48
  var splitTransaction_1 = require("./splitTransaction");
49
+ var signP2SHTransaction_1 = require("./signP2SHTransaction");
50
+ var signMessage_1 = require("./signMessage");
51
+ var getAppAndVersion_1 = require("./getAppAndVersion");
74
52
  /**
75
53
  * Bitcoin API.
76
54
  *
77
55
  * @example
78
56
  * import Btc from "@ledgerhq/hw-app-btc";
79
- * const btc = new Btc(transport)
57
+ * const btc = new Btc({ transport, currency: "bitcoin" });
80
58
  */
81
59
  var Btc = /** @class */ (function () {
82
- function Btc(transport, scrambleKey) {
83
- if (scrambleKey === void 0) { scrambleKey = "BTC"; }
84
- // cache the underlying implementation (only once)
85
- this._lazyImpl = null;
86
- this.transport = transport;
87
- transport.decorateAppAPIMethods(this, [
60
+ function Btc(_a) {
61
+ var transport = _a.transport, _b = _a.scrambleKey, scrambleKey = _b === void 0 ? "BTC" : _b, _c = _a.currency, currency = _c === void 0 ? "bitcoin" : _c;
62
+ this._transport = transport;
63
+ this._transport.decorateAppAPIMethods(this, [
88
64
  "getWalletXpub",
89
65
  "getWalletPublicKey",
90
66
  "signP2SHTransaction",
91
- "signMessageNew",
92
- "createPaymentTransactionNew",
67
+ "signMessage",
68
+ "createPaymentTransaction",
93
69
  "getTrustedInput",
94
70
  "getTrustedInputBIP143",
95
71
  ], scrambleKey);
72
+ // new APDU (nano app API) for bitcoin and old APDU for altcoin
73
+ if (currency === "bitcoin" || currency === "bitcoin_testnet") {
74
+ this._impl = new BtcNew_1["default"](new appClient_1.AppClient(this._transport));
75
+ }
76
+ else {
77
+ this._impl = new BtcOld_1["default"](this._transport);
78
+ }
96
79
  }
97
80
  /**
98
81
  * Get an XPUB with a ledger device
@@ -102,7 +85,9 @@ var Btc = /** @class */ (function () {
102
85
  * @returns XPUB of the account
103
86
  */
104
87
  Btc.prototype.getWalletXpub = function (arg) {
105
- return this.getCorrectImpl().then(function (impl) { return impl.getWalletXpub(arg); });
88
+ return this.changeImplIfNecessary().then(function (impl) {
89
+ return impl.getWalletXpub(arg);
90
+ });
106
91
  };
107
92
  /**
108
93
  * @param path a BIP 32 path
@@ -127,7 +112,6 @@ var Btc = /** @class */ (function () {
127
112
  * btc.getWalletPublicKey("49'/0'/0'/0/0", { format: "p2sh" }).then(o => o.bitcoinAddress)
128
113
  */
129
114
  Btc.prototype.getWalletPublicKey = function (path, opts) {
130
- var _this = this;
131
115
  var options;
132
116
  if (arguments.length > 2 || typeof opts === "boolean") {
133
117
  console.warn("btc.getWalletPublicKey deprecated signature used. Please switch to getWalletPublicKey(path, { format, verify })");
@@ -140,53 +124,24 @@ var Btc = /** @class */ (function () {
140
124
  else {
141
125
  options = opts || {};
142
126
  }
143
- return this.getCorrectImpl().then(function (impl) {
144
- /**
145
- * Definition: A "normal path" is a prefix of a standard path where all
146
- * the hardened steps of the standard path are included. For example, the
147
- * paths m/44'/1'/17' and m/44'/1'/17'/1 are normal paths, but m/44'/1'
148
- * is not. m/'199/1'/17'/0/1 is not a normal path either.
149
- *
150
- * There's a compatiblity issue between old and new app: When exporting
151
- * the key of a non-normal path with verify=false, the new app would
152
- * return an error, whereas the old app would return the key.
153
- *
154
- * See
155
- * https://github.com/LedgerHQ/app-bitcoin-new/blob/master/doc/bitcoin.md#get_extended_pubkey
156
- *
157
- * If format bech32m is used, we'll not use old, because it doesn't
158
- * support it.
159
- *
160
- * When to use new (given the app supports it)
161
- * * format is bech32m or
162
- * * path is normal or
163
- * * verify is true
164
- *
165
- * Otherwise use old.
166
- */
167
- if (impl instanceof BtcNew_1["default"] &&
168
- options.format != "bech32m" &&
169
- (!options.verify || options.verify == false) &&
170
- !isPathNormal(path)) {
171
- 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.");
172
- return _this.old().getWalletPublicKey(path, options);
173
- }
174
- else {
175
- return impl.getWalletPublicKey(path, options);
176
- }
127
+ return this.changeImplIfNecessary().then(function (impl) {
128
+ return impl.getWalletPublicKey(path, options);
177
129
  });
178
130
  };
179
131
  /**
180
132
  * You can sign a message according to the Bitcoin Signature format and retrieve v, r, s given the message and the BIP 32 path of the account to sign.
181
133
  * @example
182
- btc.signMessageNew_async("44'/60'/0'/0'/0", Buffer.from("test").toString("hex")).then(function(result) {
134
+ btc.signMessage("44'/60'/0'/0'/0", Buffer.from("test").toString("hex")).then(function(result) {
183
135
  var v = result['v'] + 27 + 4;
184
136
  var signature = Buffer.from(v.toString(16) + result['r'] + result['s'], 'hex').toString('base64');
185
137
  console.log("Signature : " + signature);
186
138
  }).catch(function(ex) {console.log(ex);});
187
139
  */
188
- Btc.prototype.signMessageNew = function (path, messageHex) {
189
- return this.old().signMessageNew(path, messageHex);
140
+ Btc.prototype.signMessage = function (path, messageHex) {
141
+ return (0, signMessage_1.signMessage)(this._transport, {
142
+ path: path,
143
+ messageHex: messageHex
144
+ });
190
145
  };
191
146
  /**
192
147
  * To sign a transaction involving standard (P2PKH) inputs, call createTransaction with the following parameters
@@ -221,12 +176,12 @@ var Btc = /** @class */ (function () {
221
176
  outputScriptHex: "01905f0100000000001976a91472a5d75c8d2d0565b656a5232703b167d50d5a2b88ac"
222
177
  }).then(res => ...);
223
178
  */
224
- Btc.prototype.createPaymentTransactionNew = function (arg) {
179
+ Btc.prototype.createPaymentTransaction = function (arg) {
225
180
  if (arguments.length > 1) {
226
- console.warn("@ledgerhq/hw-app-btc: createPaymentTransactionNew multi argument signature is deprecated. please switch to named parameters.");
181
+ throw new Error("@ledgerhq/hw-app-btc: createPaymentTransaction multi argument signature is deprecated. please switch to named parameters.");
227
182
  }
228
- return this.getCorrectImpl().then(function (impl) {
229
- return impl.createPaymentTransactionNew(arg);
183
+ return this.changeImplIfNecessary().then(function (impl) {
184
+ return impl.createPaymentTransaction(arg);
230
185
  });
231
186
  };
232
187
  /**
@@ -249,7 +204,7 @@ var Btc = /** @class */ (function () {
249
204
  }).then(result => ...);
250
205
  */
251
206
  Btc.prototype.signP2SHTransaction = function (arg) {
252
- return this.old().signP2SHTransaction(arg);
207
+ return (0, signP2SHTransaction_1.signP2SHTransaction)(this._transport, arg);
253
208
  };
254
209
  /**
255
210
  * For each UTXO included in your transaction, create a transaction object from the raw serialized version of the transaction used in this UTXO.
@@ -273,85 +228,34 @@ var Btc = /** @class */ (function () {
273
228
  };
274
229
  Btc.prototype.getTrustedInput = function (indexLookup, transaction, additionals) {
275
230
  if (additionals === void 0) { additionals = []; }
276
- return (0, getTrustedInput_1.getTrustedInput)(this.transport, indexLookup, transaction, additionals);
231
+ return (0, getTrustedInput_1.getTrustedInput)(this._transport, indexLookup, transaction, additionals);
277
232
  };
278
233
  Btc.prototype.getTrustedInputBIP143 = function (indexLookup, transaction, additionals) {
279
234
  if (additionals === void 0) { additionals = []; }
280
- return (0, getTrustedInputBIP143_1.getTrustedInputBIP143)(this.transport, indexLookup, transaction, additionals);
281
- };
282
- Btc.prototype.getCorrectImpl = function () {
283
- return __awaiter(this, void 0, void 0, function () {
284
- var _lazyImpl, impl;
285
- return __generator(this, function (_a) {
286
- switch (_a.label) {
287
- case 0:
288
- _lazyImpl = this._lazyImpl;
289
- if (_lazyImpl)
290
- return [2 /*return*/, _lazyImpl];
291
- return [4 /*yield*/, this.inferCorrectImpl()];
292
- case 1:
293
- impl = _a.sent();
294
- this._lazyImpl = impl;
295
- return [2 /*return*/, impl];
296
- }
297
- });
298
- });
235
+ return (0, getTrustedInputBIP143_1.getTrustedInputBIP143)(this._transport, indexLookup, transaction, additionals);
299
236
  };
300
- Btc.prototype.inferCorrectImpl = function () {
237
+ Btc.prototype.changeImplIfNecessary = function () {
301
238
  return __awaiter(this, void 0, void 0, function () {
302
- var appAndVersion, canUseNewImplementation;
239
+ var appAndVersion, isBtcLegacy;
303
240
  return __generator(this, function (_a) {
304
241
  switch (_a.label) {
305
- case 0: return [4 /*yield*/, (0, getAppAndVersion_1.getAppAndVersion)(this.transport)];
242
+ case 0: return [4 /*yield*/, (0, getAppAndVersion_1.getAppAndVersion)(this._transport)];
306
243
  case 1:
307
244
  appAndVersion = _a.sent();
308
- canUseNewImplementation = (0, BtcNew_1.canSupportApp)(appAndVersion);
309
- if (!canUseNewImplementation) {
310
- return [2 /*return*/, this.old()];
311
- }
312
- else {
313
- return [2 /*return*/, this["new"]()];
245
+ if (!(appAndVersion.name === "Exchange" && this._impl instanceof BtcNew_1["default"])) return [3 /*break*/, 3];
246
+ return [4 /*yield*/, (0, getAppAndVersion_1.checkIsBtcLegacy)(this._transport)];
247
+ case 2:
248
+ isBtcLegacy = _a.sent();
249
+ if (isBtcLegacy) {
250
+ this._impl = new BtcOld_1["default"](this._transport);
314
251
  }
315
- return [2 /*return*/];
252
+ _a.label = 3;
253
+ case 3: return [2 /*return*/, this._impl];
316
254
  }
317
255
  });
318
256
  });
319
257
  };
320
- Btc.prototype.old = function () {
321
- return new BtcOld_1["default"](this.transport);
322
- };
323
- Btc.prototype["new"] = function () {
324
- return new BtcNew_1["default"](new appClient_1.AppClient(this.transport));
325
- };
326
258
  return Btc;
327
259
  }());
328
260
  exports["default"] = Btc;
329
- function isPathNormal(path) {
330
- //path is not deepest hardened node of a standard path or deeper, use BtcOld
331
- var h = 0x80000000;
332
- var pathElems = (0, bip32_1.pathStringToArray)(path);
333
- var hard = function (n) { return n >= h; };
334
- var soft = function (n) { return !n || n < h; };
335
- var change = function (n) { return !n || n == 0 || n == 1; };
336
- if (pathElems.length >= 3 &&
337
- pathElems.length <= 5 &&
338
- [44 + h, 49 + h, 84 + h, 86 + h].some(function (v) { return v == pathElems[0]; }) &&
339
- [0 + h, 1 + h].some(function (v) { return v == pathElems[1]; }) &&
340
- hard(pathElems[2]) &&
341
- change(pathElems[3]) &&
342
- soft(pathElems[4])) {
343
- return true;
344
- }
345
- if (pathElems.length >= 4 &&
346
- pathElems.length <= 6 &&
347
- 48 + h == pathElems[0] &&
348
- [0 + h, 1 + h].some(function (v) { return v == pathElems[1]; }) &&
349
- hard(pathElems[2]) &&
350
- hard(pathElems[3]) &&
351
- change(pathElems[4]) &&
352
- soft(pathElems[5])) {
353
- return true;
354
- }
355
- return false;
356
- }
357
261
  //# sourceMappingURL=Btc.js.map
package/lib/Btc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Btc.js","sourceRoot":"","sources":["../src/Btc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Btc.js","sourceRoot":"","sources":["../src/Btc.ts"],"names":[],"mappings":"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"}
package/lib/BtcNew.d.ts CHANGED
@@ -1,8 +1,6 @@
1
1
  import type { CreateTransactionArg } from "./createTransaction";
2
- import { AppAndVersion } from "./getAppAndVersion";
3
2
  import type { AddressFormat } from "./getWalletPublicKey";
4
3
  import { AppClient as Client } from "./newops/appClient";
5
- export declare function canSupportApp(appAndVersion: AppAndVersion): boolean;
6
4
  /**
7
5
  * This class implements the same interface as BtcOld (formerly
8
6
  * named Btc), but interacts with Bitcoin hardware app version 2+
@@ -85,14 +83,14 @@ export default class BtcNew {
85
83
  */
86
84
  private getWalletAddress;
87
85
  /**
88
- * Build and sign a transaction. See Btc.createPaymentTransactionNew for
86
+ * Build and sign a transaction. See Btc.createPaymentTransaction for
89
87
  * details on how to use this method.
90
88
  *
91
89
  * This method will convert the legacy arguments, CreateTransactionArg, into
92
90
  * a psbt which is finally signed and finalized, and the extracted fully signed
93
91
  * transaction is returned.
94
92
  */
95
- createPaymentTransactionNew(arg: CreateTransactionArg): Promise<string>;
93
+ createPaymentTransaction(arg: CreateTransactionArg): Promise<string>;
96
94
  /**
97
95
  * Calculates an output script along with public key and possible redeemScript
98
96
  * from a path and accountType. The accountPath must be a prefix of path.
@@ -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,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"}
1
+ {"version":3,"file":"BtcNew.d.ts","sourceRoot":"","sources":["../src/BtcNew.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAS1D,OAAO,EAAE,SAAS,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAYzD;;;;;;;;;;;;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;IAyBF;;;;;;;;;;;;;;OAcG;YACW,gBAAgB;IAyB9B;;;;;;;OAOG;IACG,wBAAwB,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IAiH1E;;;;;;;OAOG;YACW,cAAc;IAsB5B;;;;OAIG;YACW,QAAQ;IAmDtB;;;;;;;;OAQG;YACW,QAAQ;CA6BvB"}
package/lib/BtcNew.js CHANGED
@@ -35,13 +35,8 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
36
  }
37
37
  };
38
- var __importDefault = (this && this.__importDefault) || function (mod) {
39
- return (mod && mod.__esModule) ? mod : { "default": mod };
40
- };
41
38
  exports.__esModule = true;
42
- exports.canSupportApp = void 0;
43
39
  var bitcoinjs_lib_1 = require("bitcoinjs-lib");
44
- var semver_1 = __importDefault(require("semver"));
45
40
  var tiny_secp256k1_1 = require("tiny-secp256k1");
46
41
  var bip32_1 = require("./bip32");
47
42
  var buffertools_1 = require("./buffertools");
@@ -51,12 +46,6 @@ var psbtExtractor_1 = require("./newops/psbtExtractor");
51
46
  var psbtFinalizer_1 = require("./newops/psbtFinalizer");
52
47
  var psbtv2_1 = require("./newops/psbtv2");
53
48
  var serializeTransaction_1 = require("./serializeTransaction");
54
- var newSupportedApps = ["Bitcoin", "Bitcoin Test"];
55
- function canSupportApp(appAndVersion) {
56
- return (newSupportedApps.includes(appAndVersion.name) &&
57
- semver_1["default"].major(appAndVersion.version) >= 2);
58
- }
59
- exports.canSupportApp = canSupportApp;
60
49
  /**
61
50
  * This class implements the same interface as BtcOld (formerly
62
51
  * named Btc), but interacts with Bitcoin hardware app version 2+
@@ -138,6 +127,9 @@ var BtcNew = /** @class */ (function () {
138
127
  return __generator(this, function (_c) {
139
128
  switch (_c.label) {
140
129
  case 0:
130
+ if (!isPathNormal(path)) {
131
+ throw Error("non-standard path: ".concat(path));
132
+ }
141
133
  pathElements = (0, bip32_1.pathStringToArray)(path);
142
134
  return [4 /*yield*/, this.client.getExtendedPubkey(false, pathElements)];
143
135
  case 1:
@@ -196,14 +188,14 @@ var BtcNew = /** @class */ (function () {
196
188
  });
197
189
  };
198
190
  /**
199
- * Build and sign a transaction. See Btc.createPaymentTransactionNew for
191
+ * Build and sign a transaction. See Btc.createPaymentTransaction for
200
192
  * details on how to use this method.
201
193
  *
202
194
  * This method will convert the legacy arguments, CreateTransactionArg, into
203
195
  * a psbt which is finally signed and finalized, and the extracted fully signed
204
196
  * transaction is returned.
205
197
  */
206
- BtcNew.prototype.createPaymentTransactionNew = function (arg) {
198
+ BtcNew.prototype.createPaymentTransaction = function (arg) {
207
199
  return __awaiter(this, void 0, void 0, function () {
208
200
  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;
209
201
  return __generator(this, function (_a) {
@@ -448,4 +440,53 @@ function accountTypeFromArg(arg, psbt, masterFp) {
448
440
  return new accounttype_1.p2wpkhWrapped(psbt, masterFp);
449
441
  return new accounttype_1.p2pkh(psbt, masterFp);
450
442
  }
443
+ /*
444
+ The new protocol only allows standard path.
445
+ Standard paths are (currently):
446
+ M/44'/(1|0)'/X'
447
+ M/49'/(1|0)'/X'
448
+ M/84'/(1|0)'/X'
449
+ M/86'/(1|0)'/X'
450
+ M/48'/(1|0)'/X'/Y'
451
+ followed by "", "(0|1)", or "(0|1)/b", where a and b are
452
+ non-hardened. For example, the following paths are standard
453
+ M/48'/1'/99'/7'
454
+ M/86'/1'/99'/0
455
+ M/48'/0'/99'/7'/1/17
456
+ The following paths are non-standard
457
+ M/48'/0'/99' // Not deepest hardened path
458
+ M/48'/0'/99'/7'/1/17/2 // Too many non-hardened derivation steps
459
+ M/199'/0'/1'/0/88 // Not a known purpose 199
460
+ M/86'/1'/99'/2 // Change path item must be 0 or 1
461
+ */
462
+ function isPathNormal(path) {
463
+ //path is not deepest hardened node of a standard path or deeper, use BtcOld
464
+ var h = 0x80000000; //HARDENED from bip32
465
+ var pathElems = (0, bip32_1.pathStringToArray)(path);
466
+ var hard = function (n) { return n >= h; };
467
+ var soft = function (n) { return n === undefined || n < h; };
468
+ var change = function (n) {
469
+ return n === undefined || n === 0 || n === 1;
470
+ };
471
+ if (pathElems.length >= 3 &&
472
+ pathElems.length <= 5 &&
473
+ [44 + h, 49 + h, 84 + h, 86 + h].some(function (v) { return v == pathElems[0]; }) &&
474
+ [0 + h, 1 + h].some(function (v) { return v == pathElems[1]; }) &&
475
+ hard(pathElems[2]) &&
476
+ change(pathElems[3]) &&
477
+ soft(pathElems[4])) {
478
+ return true;
479
+ }
480
+ if (pathElems.length >= 4 &&
481
+ pathElems.length <= 6 &&
482
+ 48 + h == pathElems[0] &&
483
+ [0 + h, 1 + h].some(function (v) { return v == pathElems[1]; }) &&
484
+ hard(pathElems[2]) &&
485
+ hard(pathElems[3]) &&
486
+ change(pathElems[4]) &&
487
+ soft(pathElems[5])) {
488
+ return true;
489
+ }
490
+ return false;
491
+ }
451
492
  //# sourceMappingURL=BtcNew.js.map
package/lib/BtcNew.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"BtcNew.js","sourceRoot":"","sources":["../src/BtcNew.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BtcNew.js","sourceRoot":"","sources":["../src/BtcNew.ts"],"names":[],"mappings":"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"}
package/lib/BtcOld.d.ts CHANGED
@@ -1,14 +1,13 @@
1
1
  import type Transport from "@ledgerhq/hw-transport";
2
2
  import type { CreateTransactionArg } from "./createTransaction";
3
3
  import type { AddressFormat } from "./getWalletPublicKey";
4
- import type { SignP2SHTransactionArg } from "./signP2SHTransaction";
5
4
  export type { AddressFormat };
6
5
  /**
7
6
  * Bitcoin API.
8
7
  *
9
8
  * @example
10
9
  * import Btc from "@ledgerhq/hw-app-btc";
11
- * const btc = new Btc(transport)
10
+ * const btc = new Btc({ transport, currency: "zcash" });
12
11
  */
13
12
  export default class BtcOld {
14
13
  private transport;
@@ -49,20 +48,6 @@ export default class BtcOld {
49
48
  bitcoinAddress: string;
50
49
  chainCode: string;
51
50
  }>;
52
- /**
53
- * You can sign a message according to the Bitcoin Signature format and retrieve v, r, s given the message and the BIP 32 path of the account to sign.
54
- * @example
55
- btc.signMessageNew_async("44'/60'/0'/0'/0", Buffer.from("test").toString("hex")).then(function(result) {
56
- var v = result['v'] + 27 + 4;
57
- var signature = Buffer.from(v.toString(16) + result['r'] + result['s'], 'hex').toString('base64');
58
- console.log("Signature : " + signature);
59
- }).catch(function(ex) {console.log(ex);});
60
- */
61
- signMessageNew(path: string, messageHex: string): Promise<{
62
- v: number;
63
- r: string;
64
- s: string;
65
- }>;
66
51
  /**
67
52
  * To sign a transaction involving standard (P2PKH) inputs, call createTransaction with the following parameters
68
53
  * @param inputs is an array of [ transaction, output_index, optional redeem script, optional sequence ] where
@@ -95,26 +80,6 @@ export default class BtcOld {
95
80
  outputScriptHex: "01905f0100000000001976a91472a5d75c8d2d0565b656a5232703b167d50d5a2b88ac"
96
81
  }).then(res => ...);
97
82
  */
98
- createPaymentTransactionNew(arg: CreateTransactionArg): Promise<string>;
99
- /**
100
- * To obtain the signature of multisignature (P2SH) inputs, call signP2SHTransaction_async with the folowing parameters
101
- * @param inputs is an array of [ transaction, output_index, redeem script, optional sequence ] where
102
- * * transaction is the previously computed transaction object for this UTXO
103
- * * output_index is the output in the transaction used as input for this UTXO (counting from 0)
104
- * * redeem script is the mandatory redeem script associated to the current P2SH input
105
- * * sequence is the sequence number to use for this input (when using RBF), or non present
106
- * @param associatedKeysets is an array of BIP 32 paths pointing to the path to the private key used for each UTXO
107
- * @param outputScriptHex is the hexadecimal serialized outputs of the transaction to sign
108
- * @param lockTime is the optional lockTime of the transaction to sign, or default (0)
109
- * @param sigHashType is the hash type of the transaction to sign, or default (all)
110
- * @return the signed transaction ready to be broadcast
111
- * @example
112
- btc.signP2SHTransaction({
113
- inputs: [ [tx, 1, "52210289b4a3ad52a919abd2bdd6920d8a6879b1e788c38aa76f0440a6f32a9f1996d02103a3393b1439d1693b063482c04bd40142db97bdf139eedd1b51ffb7070a37eac321030b9a409a1e476b0d5d17b804fcdb81cf30f9b99c6f3ae1178206e08bc500639853ae"] ],
114
- associatedKeysets: ["0'/0/0"],
115
- outputScriptHex: "01905f0100000000001976a91472a5d75c8d2d0565b656a5232703b167d50d5a2b88ac"
116
- }).then(result => ...);
117
- */
118
- signP2SHTransaction(arg: SignP2SHTransactionArg): Promise<string[]>;
83
+ createPaymentTransaction(arg: CreateTransactionArg): Promise<string>;
119
84
  }
120
85
  //# sourceMappingURL=BtcOld.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BtcOld.d.ts","sourceRoot":"","sources":["../src/BtcOld.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAGpE,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B;;;;;;GAMG;AAEH,MAAM,CAAC,OAAO,OAAO,MAAM;IACb,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAExC,OAAO,CAAC,gBAAgB,CAAM;YAChB,YAAY;IASpB,aAAa,CAAC,EAClB,IAAI,EACJ,WAAW,GACZ,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBnB;;;;;;;;;;;;;;;;;;;;;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;IAOF;;;;;;;;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;IAOF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,2BAA2B,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;IASvE;;;;;;;;;;;;;;;;;;OAkBG;IACH,mBAAmB,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CASpE"}
1
+ {"version":3,"file":"BtcOld.d.ts","sourceRoot":"","sources":["../src/BtcOld.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B;;;;;;GAMG;AAEH,MAAM,CAAC,OAAO,OAAO,MAAM;IACb,OAAO,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAExC,OAAO,CAAC,gBAAgB,CAAM;YAChB,YAAY;IASpB,aAAa,CAAC,EAClB,IAAI,EACJ,WAAW,GACZ,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBnB;;;;;;;;;;;;;;;;;;;;;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;IAOF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,wBAAwB,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC;CAQrE"}