@ledgerhq/hw-app-btc 6.10.0 → 6.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/README.md +384 -60
  2. package/lib/Btc.d.ts +9 -6
  3. package/lib/Btc.d.ts.map +1 -1
  4. package/lib/Btc.js +73 -8
  5. package/lib/Btc.js.map +1 -1
  6. package/lib/BtcNew.d.ts +79 -32
  7. package/lib/BtcNew.d.ts.map +1 -1
  8. package/lib/BtcNew.js +168 -207
  9. package/lib/BtcNew.js.map +1 -1
  10. package/lib/newops/accounttype.d.ts +110 -0
  11. package/lib/newops/accounttype.d.ts.map +1 -0
  12. package/lib/newops/accounttype.js +233 -0
  13. package/lib/newops/accounttype.js.map +1 -0
  14. package/lib/newops/appClient.d.ts +6 -2
  15. package/lib/newops/appClient.d.ts.map +1 -1
  16. package/lib/newops/appClient.js +8 -4
  17. package/lib/newops/appClient.js.map +1 -1
  18. package/lib/newops/clientCommands.d.ts +18 -2
  19. package/lib/newops/clientCommands.d.ts.map +1 -1
  20. package/lib/newops/clientCommands.js +34 -12
  21. package/lib/newops/clientCommands.js.map +1 -1
  22. package/lib/newops/merkelizedPsbt.d.ts +11 -0
  23. package/lib/newops/merkelizedPsbt.d.ts.map +1 -1
  24. package/lib/newops/merkelizedPsbt.js +11 -0
  25. package/lib/newops/merkelizedPsbt.js.map +1 -1
  26. package/lib/newops/merkle.d.ts +5 -0
  27. package/lib/newops/merkle.d.ts.map +1 -1
  28. package/lib/newops/merkle.js +5 -0
  29. package/lib/newops/merkle.js.map +1 -1
  30. package/lib/newops/merkleMap.d.ts +10 -0
  31. package/lib/newops/merkleMap.d.ts.map +1 -1
  32. package/lib/newops/merkleMap.js +10 -0
  33. package/lib/newops/merkleMap.js.map +1 -1
  34. package/lib/newops/policy.d.ts +8 -0
  35. package/lib/newops/policy.d.ts.map +1 -1
  36. package/lib/newops/policy.js +9 -1
  37. package/lib/newops/policy.js.map +1 -1
  38. package/lib/newops/psbtExtractor.d.ts +6 -0
  39. package/lib/newops/psbtExtractor.d.ts.map +1 -1
  40. package/lib/newops/psbtExtractor.js +6 -0
  41. package/lib/newops/psbtExtractor.js.map +1 -1
  42. package/lib/newops/psbtFinalizer.d.ts +11 -1
  43. package/lib/newops/psbtFinalizer.d.ts.map +1 -1
  44. package/lib/newops/psbtFinalizer.js +26 -1
  45. package/lib/newops/psbtFinalizer.js.map +1 -1
  46. package/lib/newops/psbtv2.d.ts +22 -2
  47. package/lib/newops/psbtv2.d.ts.map +1 -1
  48. package/lib/newops/psbtv2.js +33 -8
  49. package/lib/newops/psbtv2.js.map +1 -1
  50. package/lib-es/Btc.d.ts +9 -6
  51. package/lib-es/Btc.d.ts.map +1 -1
  52. package/lib-es/Btc.js +73 -8
  53. package/lib-es/Btc.js.map +1 -1
  54. package/lib-es/BtcNew.d.ts +79 -32
  55. package/lib-es/BtcNew.d.ts.map +1 -1
  56. package/lib-es/BtcNew.js +170 -209
  57. package/lib-es/BtcNew.js.map +1 -1
  58. package/lib-es/newops/accounttype.d.ts +110 -0
  59. package/lib-es/newops/accounttype.d.ts.map +1 -0
  60. package/lib-es/newops/accounttype.js +230 -0
  61. package/lib-es/newops/accounttype.js.map +1 -0
  62. package/lib-es/newops/appClient.d.ts +6 -2
  63. package/lib-es/newops/appClient.d.ts.map +1 -1
  64. package/lib-es/newops/appClient.js +8 -4
  65. package/lib-es/newops/appClient.js.map +1 -1
  66. package/lib-es/newops/clientCommands.d.ts +18 -2
  67. package/lib-es/newops/clientCommands.d.ts.map +1 -1
  68. package/lib-es/newops/clientCommands.js +34 -12
  69. package/lib-es/newops/clientCommands.js.map +1 -1
  70. package/lib-es/newops/merkelizedPsbt.d.ts +11 -0
  71. package/lib-es/newops/merkelizedPsbt.d.ts.map +1 -1
  72. package/lib-es/newops/merkelizedPsbt.js +11 -0
  73. package/lib-es/newops/merkelizedPsbt.js.map +1 -1
  74. package/lib-es/newops/merkle.d.ts +5 -0
  75. package/lib-es/newops/merkle.d.ts.map +1 -1
  76. package/lib-es/newops/merkle.js +5 -0
  77. package/lib-es/newops/merkle.js.map +1 -1
  78. package/lib-es/newops/merkleMap.d.ts +10 -0
  79. package/lib-es/newops/merkleMap.d.ts.map +1 -1
  80. package/lib-es/newops/merkleMap.js +10 -0
  81. package/lib-es/newops/merkleMap.js.map +1 -1
  82. package/lib-es/newops/policy.d.ts +8 -0
  83. package/lib-es/newops/policy.d.ts.map +1 -1
  84. package/lib-es/newops/policy.js +10 -2
  85. package/lib-es/newops/policy.js.map +1 -1
  86. package/lib-es/newops/psbtExtractor.d.ts +6 -0
  87. package/lib-es/newops/psbtExtractor.d.ts.map +1 -1
  88. package/lib-es/newops/psbtExtractor.js +6 -0
  89. package/lib-es/newops/psbtExtractor.js.map +1 -1
  90. package/lib-es/newops/psbtFinalizer.d.ts +11 -1
  91. package/lib-es/newops/psbtFinalizer.d.ts.map +1 -1
  92. package/lib-es/newops/psbtFinalizer.js +26 -1
  93. package/lib-es/newops/psbtFinalizer.js.map +1 -1
  94. package/lib-es/newops/psbtv2.d.ts +22 -2
  95. package/lib-es/newops/psbtv2.d.ts.map +1 -1
  96. package/lib-es/newops/psbtv2.js +33 -8
  97. package/lib-es/newops/psbtv2.js.map +1 -1
  98. package/package.json +3 -3
  99. package/src/Btc.ts +111 -9
  100. package/src/BtcNew.ts +204 -209
  101. package/src/newops/accounttype.ts +370 -0
  102. package/src/newops/appClient.ts +12 -4
  103. package/src/newops/clientCommands.ts +34 -12
  104. package/src/newops/merkelizedPsbt.ts +11 -0
  105. package/src/newops/merkle.ts +5 -0
  106. package/src/newops/merkleMap.ts +10 -0
  107. package/src/newops/policy.ts +10 -2
  108. package/src/newops/psbtExtractor.ts +6 -0
  109. package/src/newops/psbtFinalizer.ts +26 -1
  110. package/src/newops/psbtv2.ts +34 -14
  111. package/tests/Btc.test.ts +89 -0
  112. package/tests/newops/BtcNew.test.ts +48 -21
  113. package/tests/newops/integrationtools.ts +47 -36
  114. package/tests/newops/testtx.ts +0 -55
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ledgerhq/hw-app-btc",
3
- "version": "6.10.0",
3
+ "version": "6.12.0",
4
4
  "description": "Ledger Hardware Wallet Bitcoin Application API",
5
5
  "keywords": [
6
6
  "Ledger",
@@ -27,7 +27,7 @@
27
27
  "types": "lib/Btc.d.ts",
28
28
  "license": "Apache-2.0",
29
29
  "dependencies": {
30
- "@ledgerhq/hw-transport": "^6.10.0",
30
+ "@ledgerhq/hw-transport": "^6.11.2",
31
31
  "@ledgerhq/logs": "^6.10.0",
32
32
  "bip32-path": "^0.4.2",
33
33
  "bitcoinjs-lib": "^5.2.0",
@@ -45,5 +45,5 @@
45
45
  "watch": "bash ../../script/watch.sh",
46
46
  "doc": "bash ../../script/doc.sh"
47
47
  },
48
- "gitHead": "03b06be36f668077572feb4d5ccd7486f546f7b4"
48
+ "gitHead": "3b13acdc6ecb1750fc394a0991c7fc116c84583c"
49
49
  }
package/src/Btc.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type Transport from "@ledgerhq/hw-transport";
2
+ import { pathStringToArray } from "./bip32";
2
3
  import BtcNew, { canSupportApp } from "./BtcNew";
3
4
  import BtcOld from "./BtcOld";
4
5
  import type { CreateTransactionArg } from "./createTransaction";
@@ -65,7 +66,7 @@ export default class Btc {
65
66
  *
66
67
  * - p2sh format with 49' paths
67
68
  *
68
- * - bech32 format with 173' paths
69
+ * - bech32 format with 84' paths
69
70
  *
70
71
  * - cashaddr in case of Bitcoin Cash
71
72
  *
@@ -98,7 +99,69 @@ export default class Btc {
98
99
  options = opts || {};
99
100
  }
100
101
  return this.getCorrectImpl().then((impl) => {
101
- return impl.getWalletPublicKey(path, options);
102
+ /**
103
+ * Definition: A "normal path" is a prefix of a standard path where all
104
+ * the hardened steps of the standard path are included. For example, the
105
+ * paths m/44'/1'/17' and m/44'/1'/17'/1 are normal paths, but m/44'/1'
106
+ * is not. m/'199/1'/17'/0/1 is not a normal path either.
107
+ *
108
+ * There's a compatiblity issue between old and new app: When exporting
109
+ * the key of a non-normal path with verify=false, the new app would
110
+ * return an error, whereas the old app would return the key.
111
+ *
112
+ * See
113
+ * https://github.com/LedgerHQ/app-bitcoin-new/blob/master/doc/bitcoin.md#get_extended_pubkey
114
+ *
115
+ * If format bech32m is used, we'll not use old, because it doesn't
116
+ * support it.
117
+ *
118
+ * When to use new (given the app supports it)
119
+ * * format is bech32m or
120
+ * * path is normal or
121
+ * * verify is true
122
+ *
123
+ * Otherwise use old.
124
+ */
125
+ if (
126
+ impl instanceof BtcNew &&
127
+ options.format != "bech32m" &&
128
+ (!options.verify || options.verify == false) &&
129
+ !isPathNormal(path)
130
+ ) {
131
+ console.warn(`WARNING: Using deprecated device protocol to get the public key because
132
+
133
+ * a non-standard path is requested, and
134
+ * verify flag is false
135
+
136
+ The new protocol only allows export of non-standard paths if the
137
+ verify flag is true. Standard paths are (currently):
138
+
139
+ M/44'/(1|0)'/X'
140
+ M/49'/(1|0)'/X'
141
+ M/84'/(1|0)'/X'
142
+ M/86'/(1|0)'/X'
143
+ M/48'/(1|0)'/X'/Y'
144
+
145
+ followed by "", "(0|1)", or "(0|1)/b", where a and b are
146
+ non-hardened. For example, the following paths are standard
147
+
148
+ M/48'/1'/99'/7'
149
+ M/86'/1'/99'/0
150
+ M/48'/0'/99'/7'/1/17
151
+
152
+ The following paths are non-standard
153
+
154
+ M/48'/0'/99' // Not deepest hardened path
155
+ M/48'/0'/99'/7'/1/17/2 // Too many non-hardened derivation steps
156
+ M/199'/0'/1'/0/88 // Not a known purpose 199
157
+ M/86'/1'/99'/2 // Change path item must be 0 or 1
158
+
159
+ This compatibility safeguard will be removed in the future.
160
+ Please consider calling Btc.getWalletXpub() instead.`);
161
+ return this.old().getWalletPublicKey(path, options);
162
+ } else {
163
+ return impl.getWalletPublicKey(path, options);
164
+ }
102
165
  });
103
166
  }
104
167
 
@@ -132,21 +195,21 @@ export default class Btc {
132
195
  * * sequence is the sequence number to use for this input (when using RBF), or non present
133
196
  * @param associatedKeysets is an array of BIP 32 paths pointing to the path to the private key used for each UTXO
134
197
  * @param changePath is an optional BIP 32 path pointing to the path to the public key used to compute the change address
135
- * @param outputScriptHex is the hexadecimal serialized outputs of the transaction to sign
198
+ * @param outputScriptHex is the hexadecimal serialized outputs of the transaction to sign, including leading vararg voutCount
136
199
  * @param lockTime is the optional lockTime of the transaction to sign, or default (0)
137
200
  * @param sigHashType is the hash type of the transaction to sign, or default (all)
138
- * @param segwit is an optional boolean indicating wether to use segwit or not
201
+ * @param segwit is an optional boolean indicating wether to use segwit or not. This includes wrapped segwit.
139
202
  * @param initialTimestamp is an optional timestamp of the function call to use for coins that necessitate timestamps only, (not the one that the tx will include)
140
203
  * @param additionals list of additionnal options
141
204
  *
142
205
  * - "bech32" for spending native segwit outputs
143
- * - "bech32m" for spending native segwit outputs
206
+ * - "bech32m" for spending segwit v1+ outputs
144
207
  * - "abc" for bch
145
208
  * - "gold" for btg
146
209
  * - "bipxxx" for using BIPxxx
147
210
  * - "sapling" to indicate a zec transaction is supporting sapling (to be set over block 419200)
148
211
  * @param expiryHeight is an optional Buffer for zec overwinter / sapling Txs
149
- * @param useTrustedInputForSegwit trust inputs for segwit transactions
212
+ * @param useTrustedInputForSegwit trust inputs for segwit transactions. If app version >= 1.4.0 this should be true.
150
213
  * @return the signed transaction ready to be broadcast
151
214
  * @example
152
215
  btc.createTransaction({
@@ -259,13 +322,52 @@ export default class Btc {
259
322
  const appAndVersion = await getAppAndVersion(this.transport);
260
323
  const canUseNewImplementation = canSupportApp(appAndVersion);
261
324
  if (!canUseNewImplementation) {
262
- return new BtcOld(this.transport);
325
+ return this.old();
263
326
  } else {
264
- return new BtcNew(new AppClient(this.transport));
327
+ return this.new();
265
328
  }
266
329
  }
267
330
 
268
- private old(): BtcOld {
331
+ protected old(): BtcOld {
269
332
  return new BtcOld(this.transport);
270
333
  }
334
+
335
+ protected new(): BtcNew {
336
+ return new BtcNew(new AppClient(this.transport));
337
+ }
338
+ }
339
+
340
+ function isPathNormal(path: string): boolean {
341
+ //path is not deepest hardened node of a standard path or deeper, use BtcOld
342
+ const h = 0x80000000;
343
+ const pathElems = pathStringToArray(path);
344
+
345
+ const hard = (n: number) => n >= h;
346
+ const soft = (n: number | undefined) => !n || n < h;
347
+ const change = (n: number | undefined) => !n || n == 0 || n == 1;
348
+
349
+ if (
350
+ pathElems.length >= 3 &&
351
+ pathElems.length <= 5 &&
352
+ [44 + h, 49 + h, 84 + h, 86 + h].some((v) => v == pathElems[0]) &&
353
+ [0 + h, 1 + h].some((v) => v == pathElems[1]) &&
354
+ hard(pathElems[2]) &&
355
+ change(pathElems[3]) &&
356
+ soft(pathElems[4])
357
+ ) {
358
+ return true;
359
+ }
360
+ if (
361
+ pathElems.length >= 4 &&
362
+ pathElems.length <= 6 &&
363
+ 48 + h == pathElems[0] &&
364
+ [0 + h, 1 + h].some((v) => v == pathElems[1]) &&
365
+ hard(pathElems[2]) &&
366
+ hard(pathElems[3]) &&
367
+ change(pathElems[4]) &&
368
+ soft(pathElems[5])
369
+ ) {
370
+ return true;
371
+ }
372
+ return false;
271
373
  }