@ledgerhq/hw-app-btc 6.9.1-taproot.0 → 6.11.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 (133) hide show
  1. package/README.md +602 -107
  2. package/lib/Btc.d.ts +11 -7
  3. package/lib/Btc.d.ts.map +1 -1
  4. package/lib/Btc.js +113 -31
  5. package/lib/Btc.js.map +1 -1
  6. package/lib/BtcNew.d.ts +81 -32
  7. package/lib/BtcNew.d.ts.map +1 -1
  8. package/lib/BtcNew.js +296 -99
  9. package/lib/BtcNew.js.map +1 -1
  10. package/lib/BtcOld.d.ts +3 -1
  11. package/lib/BtcOld.d.ts.map +1 -1
  12. package/lib/BtcOld.js +22 -6
  13. package/lib/BtcOld.js.map +1 -1
  14. package/lib/constants.d.ts +1 -0
  15. package/lib/constants.d.ts.map +1 -1
  16. package/lib/constants.js +2 -1
  17. package/lib/constants.js.map +1 -1
  18. package/lib/getAppAndVersion.d.ts +3 -2
  19. package/lib/getAppAndVersion.d.ts.map +1 -1
  20. package/lib/getAppAndVersion.js.map +1 -1
  21. package/lib/newops/appClient.d.ts +6 -2
  22. package/lib/newops/appClient.d.ts.map +1 -1
  23. package/lib/newops/appClient.js +9 -5
  24. package/lib/newops/appClient.js.map +1 -1
  25. package/lib/newops/clientCommands.d.ts +18 -2
  26. package/lib/newops/clientCommands.d.ts.map +1 -1
  27. package/lib/newops/clientCommands.js +20 -3
  28. package/lib/newops/clientCommands.js.map +1 -1
  29. package/lib/newops/merkelizedPsbt.d.ts +11 -0
  30. package/lib/newops/merkelizedPsbt.d.ts.map +1 -1
  31. package/lib/newops/merkelizedPsbt.js +11 -0
  32. package/lib/newops/merkelizedPsbt.js.map +1 -1
  33. package/lib/newops/merkle.d.ts +5 -0
  34. package/lib/newops/merkle.d.ts.map +1 -1
  35. package/lib/newops/merkle.js +5 -0
  36. package/lib/newops/merkle.js.map +1 -1
  37. package/lib/newops/merkleMap.d.ts +10 -0
  38. package/lib/newops/merkleMap.d.ts.map +1 -1
  39. package/lib/newops/merkleMap.js +10 -0
  40. package/lib/newops/merkleMap.js.map +1 -1
  41. package/lib/newops/policy.d.ts +8 -0
  42. package/lib/newops/policy.d.ts.map +1 -1
  43. package/lib/newops/policy.js +9 -1
  44. package/lib/newops/policy.js.map +1 -1
  45. package/lib/newops/psbtExtractor.d.ts +6 -0
  46. package/lib/newops/psbtExtractor.d.ts.map +1 -1
  47. package/lib/newops/psbtExtractor.js +6 -0
  48. package/lib/newops/psbtExtractor.js.map +1 -1
  49. package/lib/newops/psbtFinalizer.d.ts +11 -1
  50. package/lib/newops/psbtFinalizer.d.ts.map +1 -1
  51. package/lib/newops/psbtFinalizer.js +28 -4
  52. package/lib/newops/psbtFinalizer.js.map +1 -1
  53. package/lib/newops/psbtv2.d.ts +22 -2
  54. package/lib/newops/psbtv2.d.ts.map +1 -1
  55. package/lib/newops/psbtv2.js +37 -8
  56. package/lib/newops/psbtv2.js.map +1 -1
  57. package/lib-es/Btc.d.ts +11 -7
  58. package/lib-es/Btc.d.ts.map +1 -1
  59. package/lib-es/Btc.js +94 -31
  60. package/lib-es/Btc.js.map +1 -1
  61. package/lib-es/BtcNew.d.ts +81 -32
  62. package/lib-es/BtcNew.d.ts.map +1 -1
  63. package/lib-es/BtcNew.js +293 -101
  64. package/lib-es/BtcNew.js.map +1 -1
  65. package/lib-es/BtcOld.d.ts +3 -1
  66. package/lib-es/BtcOld.d.ts.map +1 -1
  67. package/lib-es/BtcOld.js +22 -6
  68. package/lib-es/BtcOld.js.map +1 -1
  69. package/lib-es/constants.d.ts +1 -0
  70. package/lib-es/constants.d.ts.map +1 -1
  71. package/lib-es/constants.js +1 -0
  72. package/lib-es/constants.js.map +1 -1
  73. package/lib-es/getAppAndVersion.d.ts +3 -2
  74. package/lib-es/getAppAndVersion.d.ts.map +1 -1
  75. package/lib-es/getAppAndVersion.js.map +1 -1
  76. package/lib-es/newops/appClient.d.ts +6 -2
  77. package/lib-es/newops/appClient.d.ts.map +1 -1
  78. package/lib-es/newops/appClient.js +9 -5
  79. package/lib-es/newops/appClient.js.map +1 -1
  80. package/lib-es/newops/clientCommands.d.ts +18 -2
  81. package/lib-es/newops/clientCommands.d.ts.map +1 -1
  82. package/lib-es/newops/clientCommands.js +20 -3
  83. package/lib-es/newops/clientCommands.js.map +1 -1
  84. package/lib-es/newops/merkelizedPsbt.d.ts +11 -0
  85. package/lib-es/newops/merkelizedPsbt.d.ts.map +1 -1
  86. package/lib-es/newops/merkelizedPsbt.js +11 -0
  87. package/lib-es/newops/merkelizedPsbt.js.map +1 -1
  88. package/lib-es/newops/merkle.d.ts +5 -0
  89. package/lib-es/newops/merkle.d.ts.map +1 -1
  90. package/lib-es/newops/merkle.js +5 -0
  91. package/lib-es/newops/merkle.js.map +1 -1
  92. package/lib-es/newops/merkleMap.d.ts +10 -0
  93. package/lib-es/newops/merkleMap.d.ts.map +1 -1
  94. package/lib-es/newops/merkleMap.js +10 -0
  95. package/lib-es/newops/merkleMap.js.map +1 -1
  96. package/lib-es/newops/policy.d.ts +8 -0
  97. package/lib-es/newops/policy.d.ts.map +1 -1
  98. package/lib-es/newops/policy.js +10 -2
  99. package/lib-es/newops/policy.js.map +1 -1
  100. package/lib-es/newops/psbtExtractor.d.ts +6 -0
  101. package/lib-es/newops/psbtExtractor.d.ts.map +1 -1
  102. package/lib-es/newops/psbtExtractor.js +6 -0
  103. package/lib-es/newops/psbtExtractor.js.map +1 -1
  104. package/lib-es/newops/psbtFinalizer.d.ts +11 -1
  105. package/lib-es/newops/psbtFinalizer.d.ts.map +1 -1
  106. package/lib-es/newops/psbtFinalizer.js +28 -4
  107. package/lib-es/newops/psbtFinalizer.js.map +1 -1
  108. package/lib-es/newops/psbtv2.d.ts +22 -2
  109. package/lib-es/newops/psbtv2.d.ts.map +1 -1
  110. package/lib-es/newops/psbtv2.js +37 -8
  111. package/lib-es/newops/psbtv2.js.map +1 -1
  112. package/package.json +4 -4
  113. package/src/Btc.ts +92 -21
  114. package/src/BtcNew.ts +295 -77
  115. package/src/BtcOld.ts +13 -9
  116. package/src/bip32.ts +1 -1
  117. package/src/constants.ts +1 -0
  118. package/src/getAppAndVersion.ts +7 -4
  119. package/src/newops/appClient.ts +13 -5
  120. package/src/newops/clientCommands.ts +19 -3
  121. package/src/newops/merkelizedPsbt.ts +11 -0
  122. package/src/newops/merkle.ts +5 -0
  123. package/src/newops/merkleMap.ts +10 -0
  124. package/src/newops/policy.ts +10 -2
  125. package/src/newops/psbtExtractor.ts +6 -0
  126. package/src/newops/psbtFinalizer.ts +28 -4
  127. package/src/newops/psbtv2.ts +38 -14
  128. package/tests/Btc.integration.test.ts +125 -15
  129. package/tests/Btc.test.ts +83 -0
  130. package/tests/newops/BtcNew.test.ts +75 -508
  131. package/tests/newops/integrationtools.ts +174 -0
  132. package/tests/newops/testtx.ts +676 -0
  133. package/tests/speculosclient.ts +47 -0
package/lib-es/BtcOld.js CHANGED
@@ -63,7 +63,27 @@ import { pathArrayToString, pathStringToArray } from "./bip32";
63
63
  var BtcOld = /** @class */ (function () {
64
64
  function BtcOld(transport) {
65
65
  this.transport = transport;
66
+ this.derivationsCache = {};
66
67
  }
68
+ BtcOld.prototype.derivatePath = function (path) {
69
+ return __awaiter(this, void 0, void 0, function () {
70
+ var res;
71
+ return __generator(this, function (_a) {
72
+ switch (_a.label) {
73
+ case 0:
74
+ if (this.derivationsCache[path])
75
+ return [2 /*return*/, this.derivationsCache[path]];
76
+ return [4 /*yield*/, getWalletPublicKey(this.transport, {
77
+ path: path
78
+ })];
79
+ case 1:
80
+ res = _a.sent();
81
+ this.derivationsCache[path] = res;
82
+ return [2 /*return*/, res];
83
+ }
84
+ });
85
+ });
86
+ };
67
87
  BtcOld.prototype.getWalletXpub = function (_a) {
68
88
  var path = _a.path, xpubVersion = _a.xpubVersion;
69
89
  return __awaiter(this, void 0, void 0, function () {
@@ -73,14 +93,10 @@ var BtcOld = /** @class */ (function () {
73
93
  case 0:
74
94
  pathElements = pathStringToArray(path);
75
95
  parentPath = pathElements.slice(0, -1);
76
- return [4 /*yield*/, getWalletPublicKey(this.transport, {
77
- path: pathArrayToString(parentPath)
78
- })];
96
+ return [4 /*yield*/, this.derivatePath(pathArrayToString(parentPath))];
79
97
  case 1:
80
98
  parentDerivation = _b.sent();
81
- return [4 /*yield*/, getWalletPublicKey(this.transport, {
82
- path: path
83
- })];
99
+ return [4 /*yield*/, this.derivatePath(path)];
84
100
  case 2:
85
101
  accountDerivation = _b.sent();
86
102
  fingerprint = makeFingerprint(compressPublicKeySECP256(Buffer.from(parentDerivation.publicKey, "hex")));
@@ -1 +1 @@
1
- {"version":3,"file":"BtcOld.js","sourceRoot":"","sources":["../src/BtcOld.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,GAAG,MAAM,QAAQ,CAAC;AAGzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAG/D;;;;;;GAMG;AAEH;IAGE,gBAAY,SAAoB;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAEK,8BAAa,GAAnB,UAAoB,EAMnB;YALC,IAAI,UAAA,EACJ,WAAW,iBAAA;;;;;;wBAKL,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;wBACvC,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBACpB,qBAAM,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE;gCAChE,IAAI,EAAE,iBAAiB,CAAC,UAAU,CAAC;6BACpC,CAAC,EAAA;;wBAFI,gBAAgB,GAAG,SAEvB;wBACwB,qBAAM,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE;gCACjE,IAAI,MAAA;6BACL,CAAC,EAAA;;wBAFI,iBAAiB,GAAG,SAExB;wBACI,WAAW,GAAG,eAAe,CACjC,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CACzE,CAAC;wBACI,IAAI,GAAG,QAAQ,CACnB,WAAW,EACX,YAAY,CAAC,MAAM,EACnB,WAAW,EACX,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,EACrC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,EAC/C,wBAAwB,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAC1E,CAAC;wBACF,sBAAO,IAAI,EAAC;;;;KACb;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,mCAAkB,GAAlB,UACE,IAAY,EACZ,IAGC;QAMD,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,MAAK,SAAS,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QACD,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,wBAAO,IAAI,KAAE,IAAI,MAAA,IAAG,CAAC;IAC/D,CAAC;IAED;;;;;;;;OAQG;IACH,+BAAc,GAAd,UACE,IAAY,EACZ,UAAkB;QAMlB,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE;YACjC,IAAI,MAAA;YACJ,UAAU,YAAA;SACX,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,4CAA2B,GAA3B,UAA4B,GAAyB;QACnD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,OAAO,CAAC,IAAI,CACV,8HAA8H,CAC/H,CAAC;SACH;QACD,OAAO,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,oCAAmB,GAAnB,UAAoB,GAA2B;QAC7C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,OAAO,CAAC,IAAI,CACV,sHAAsH,CACvH,CAAC;SACH;QAED,OAAO,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC;IACH,aAAC;AAAD,CAAC,AAvKD,IAuKC;;AAED,SAAS,eAAe,CAAC,gBAAgB;IACvC,OAAO,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAS;IACjC,IAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAClC,GAAG,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,IAAM,wBAAwB,GAAG,UAAC,SAAiB;IACjD,OAAA,MAAM,CAAC,MAAM,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAC5C,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;KACvB,CAAC;AAHF,CAGE,CAAC;AAEL,SAAS,QAAQ,CACf,OAAe,EACf,KAAa,EACb,iBAAyB,EACzB,KAAa,EACb,SAAiB,EACjB,MAAc;IAEd,IAAM,WAAW,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC5C,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IACvB,IAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;QACrC,gBAAgB,CAAC,OAAO,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;QACpB,iBAAiB;QACjB,WAAW;QACX,SAAS;QACT,MAAM;KACP,CAAC,CAAC;IACH,IAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,MAAM,CAAC,MAAuB;IACrC,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AAC/C,CAAC;AACD,SAAS,OAAO,CAAC,MAAuB;IACtC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AAChC,CAAC;AACD,SAAS,SAAS,CAAC,MAAuB;IACxC,OAAO,IAAI,SAAS,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;AACjD,CAAC;AACD,SAAS,OAAO,CAAC,MAAuB;IACtC,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"BtcOld.js","sourceRoot":"","sources":["../src/BtcOld.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export declare const SIGHASH_ALL = 1;
6
6
  export declare const OP_DUP = 118;
7
7
  export declare const OP_HASH160 = 169;
8
8
  export declare const HASH_SIZE = 20;
9
+ export declare const OP_EQUAL = 135;
9
10
  export declare const OP_EQUALVERIFY = 136;
10
11
  export declare const OP_CHECKSIG = 172;
11
12
  export declare const OP_RETURN = 106;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAC3C,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,MAAM,MAAO,CAAC;AAC3B,eAAO,MAAM,UAAU,MAAO,CAAC;AAC/B,eAAO,MAAM,SAAS,KAAO,CAAC;AAC9B,eAAO,MAAM,cAAc,MAAO,CAAC;AACnC,eAAO,MAAM,WAAW,MAAO,CAAC;AAChC,eAAO,MAAM,SAAS,MAAO,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,gBAAgB,aAAa,CAAC;AAC3C,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,MAAM,MAAO,CAAC;AAC3B,eAAO,MAAM,UAAU,MAAO,CAAC;AAC/B,eAAO,MAAM,SAAS,KAAO,CAAC;AAC9B,eAAO,MAAM,QAAQ,MAAO,CAAC;AAC7B,eAAO,MAAM,cAAc,MAAO,CAAC;AACnC,eAAO,MAAM,WAAW,MAAO,CAAC;AAChC,eAAO,MAAM,SAAS,MAAO,CAAC"}
@@ -7,6 +7,7 @@ export var SIGHASH_ALL = 1;
7
7
  export var OP_DUP = 0x76;
8
8
  export var OP_HASH160 = 0xa9;
9
9
  export var HASH_SIZE = 0x14;
10
+ export var OP_EQUAL = 0x87;
10
11
  export var OP_EQUALVERIFY = 0x88;
11
12
  export var OP_CHECKSIG = 0xac;
12
13
  export var OP_RETURN = 0x6a;
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,MAAM,CAAC,IAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,MAAM,CAAC,IAAM,eAAe,GAAG,CAAC,CAAC;AACjC,MAAM,CAAC,IAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAU,CAAC;AAC3C,MAAM,CAAC,IAAM,WAAW,GAAG,CAAC,CAAC;AAC7B,MAAM,CAAC,IAAM,MAAM,GAAG,IAAI,CAAC;AAC3B,MAAM,CAAC,IAAM,UAAU,GAAG,IAAI,CAAC;AAC/B,MAAM,CAAC,IAAM,SAAS,GAAG,IAAI,CAAC;AAC9B,MAAM,CAAC,IAAM,cAAc,GAAG,IAAI,CAAC;AACnC,MAAM,CAAC,IAAM,WAAW,GAAG,IAAI,CAAC;AAChC,MAAM,CAAC,IAAM,SAAS,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,MAAM,CAAC,IAAM,gBAAgB,GAAG,EAAE,CAAC;AACnC,MAAM,CAAC,IAAM,eAAe,GAAG,CAAC,CAAC;AACjC,MAAM,CAAC,IAAM,gBAAgB,GAAG,CAAC,CAAC;AAClC,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAU,CAAC;AAC3C,MAAM,CAAC,IAAM,WAAW,GAAG,CAAC,CAAC;AAC7B,MAAM,CAAC,IAAM,MAAM,GAAG,IAAI,CAAC;AAC3B,MAAM,CAAC,IAAM,UAAU,GAAG,IAAI,CAAC;AAC/B,MAAM,CAAC,IAAM,SAAS,GAAG,IAAI,CAAC;AAC9B,MAAM,CAAC,IAAM,QAAQ,GAAG,IAAI,CAAC;AAC7B,MAAM,CAAC,IAAM,cAAc,GAAG,IAAI,CAAC;AACnC,MAAM,CAAC,IAAM,WAAW,GAAG,IAAI,CAAC;AAChC,MAAM,CAAC,IAAM,SAAS,GAAG,IAAI,CAAC"}
@@ -1,8 +1,9 @@
1
1
  /// <reference types="node" />
2
2
  import Transport from "@ledgerhq/hw-transport";
3
- export declare const getAppAndVersion: (transport: Transport) => Promise<{
3
+ export declare type AppAndVersion = {
4
4
  name: string;
5
5
  version: string;
6
6
  flags: number | Buffer;
7
- }>;
7
+ };
8
+ export declare const getAppAndVersion: (transport: Transport) => Promise<AppAndVersion>;
8
9
  //# sourceMappingURL=getAppAndVersion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getAppAndVersion.d.ts","sourceRoot":"","sources":["../src/getAppAndVersion.ts"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAC/C,eAAO,MAAM,gBAAgB,cAChB,SAAS;UAEd,MAAM;aACH,MAAM;WACR,MAAM,GAAG,MAAM;EAiBvB,CAAC"}
1
+ {"version":3,"file":"getAppAndVersion.d.ts","sourceRoot":"","sources":["../src/getAppAndVersion.ts"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,oBAAY,aAAa,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,gBAAgB,cAChB,SAAS,KACnB,QAAQ,aAAa,CAgBvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getAppAndVersion.js","sourceRoot":"","sources":["../src/getAppAndVersion.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAC9B,SAAoB;;;;oBAMV,qBAAM,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAA;;gBAAhD,CAAC,GAAG,SAA4C;gBAClD,CAAC,GAAG,CAAC,CAAC;gBACJ,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtB,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,wCAAwC,CAAC,CAAC;gBAC5D,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpB,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACvD,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvB,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC7D,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpB,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;gBAC5C,sBAAO;wBACL,IAAI,MAAA;wBACJ,OAAO,SAAA;wBACP,KAAK,OAAA;qBACN,EAAC;;;KACH,CAAC"}
1
+ {"version":3,"file":"getAppAndVersion.js","sourceRoot":"","sources":["../src/getAppAndVersion.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AASlC,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAC9B,SAAoB;;;;oBAEV,qBAAM,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAA;;gBAAhD,CAAC,GAAG,SAA4C;gBAClD,CAAC,GAAG,CAAC,CAAC;gBACJ,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtB,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,wCAAwC,CAAC,CAAC;gBAC5D,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpB,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACvD,aAAa,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACvB,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC7D,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpB,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC;gBAC5C,sBAAO;wBACL,IAAI,MAAA;wBACJ,OAAO,SAAA;wBACP,KAAK,OAAA;qBACN,EAAC;;;KACH,CAAC"}
@@ -2,13 +2,17 @@
2
2
  import Transport from "@ledgerhq/hw-transport";
3
3
  import { PsbtV2 } from "./psbtv2";
4
4
  import { WalletPolicy } from "./policy";
5
+ /**
6
+ * This class encapsulates the APDU protocol documented at
7
+ * https://github.com/LedgerHQ/app-bitcoin-new/blob/master/doc/bitcoin.md
8
+ */
5
9
  export declare class AppClient {
6
10
  transport: Transport;
7
11
  constructor(transport: Transport);
8
12
  private makeRequest;
9
- getPubkey(display: boolean, pathElements: number[]): Promise<string>;
13
+ getExtendedPubkey(display: boolean, pathElements: number[]): Promise<string>;
10
14
  getWalletAddress(walletPolicy: WalletPolicy, walletHMAC: Buffer | null, change: number, addressIndex: number, display: boolean): Promise<string>;
11
- signPsbt(psbt: PsbtV2, walletPolicy: WalletPolicy, walletHMAC: Buffer | null): Promise<Map<number, Buffer>>;
15
+ signPsbt(psbt: PsbtV2, walletPolicy: WalletPolicy, walletHMAC: Buffer | null, progressCallback: () => void): Promise<Map<number, Buffer>>;
12
16
  getMasterFingerprint(): Promise<Buffer>;
13
17
  }
14
18
  //# sourceMappingURL=appClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"appClient.d.ts","sourceRoot":"","sources":["../../src/newops/appClient.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAoBxC,qBAAa,SAAS;IACpB,SAAS,EAAE,SAAS,CAAC;gBAET,SAAS,EAAE,SAAS;YAIlB,WAAW;IA6BnB,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAcpE,gBAAgB,CACpB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC;IAkCZ,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,GACxB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAuDzB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;CAG9C"}
1
+ {"version":3,"file":"appClient.d.ts","sourceRoot":"","sources":["../../src/newops/appClient.ts"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,wBAAwB,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAoBxC;;;GAGG;AACH,qBAAa,SAAS;IACpB,SAAS,EAAE,SAAS,CAAC;gBAET,SAAS,EAAE,SAAS;YAIlB,WAAW;IA6BnB,iBAAiB,CACrB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,MAAM,CAAC;IAcZ,gBAAgB,CACpB,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC;IAkCZ,QAAQ,CACZ,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,gBAAgB,EAAE,MAAM,IAAI,GAC3B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAuDzB,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;CAG9C"}
@@ -65,6 +65,10 @@ var FrameworkIns;
65
65
  (function (FrameworkIns) {
66
66
  FrameworkIns[FrameworkIns["CONTINUE_INTERRUPTED"] = 1] = "CONTINUE_INTERRUPTED";
67
67
  })(FrameworkIns || (FrameworkIns = {}));
68
+ /**
69
+ * This class encapsulates the APDU protocol documented at
70
+ * https://github.com/LedgerHQ/app-bitcoin-new/blob/master/doc/bitcoin.md
71
+ */
68
72
  var AppClient = /** @class */ (function () {
69
73
  function AppClient(transport) {
70
74
  this.transport = transport;
@@ -97,7 +101,7 @@ var AppClient = /** @class */ (function () {
97
101
  });
98
102
  });
99
103
  };
100
- AppClient.prototype.getPubkey = function (display, pathElements) {
104
+ AppClient.prototype.getExtendedPubkey = function (display, pathElements) {
101
105
  return __awaiter(this, void 0, void 0, function () {
102
106
  var response;
103
107
  return __generator(this, function (_a) {
@@ -130,7 +134,7 @@ var AppClient = /** @class */ (function () {
130
134
  if (walletHMAC != null && walletHMAC.length != 32) {
131
135
  throw new Error("Invalid HMAC length");
132
136
  }
133
- clientInterpreter = new ClientCommandInterpreter();
137
+ clientInterpreter = new ClientCommandInterpreter(function () { });
134
138
  clientInterpreter.addKnownList(walletPolicy.keys.map(function (k) { return Buffer.from(k, "ascii"); }));
135
139
  clientInterpreter.addKnownPreimage(walletPolicy.serialize());
136
140
  addressIndexBuffer = Buffer.alloc(4);
@@ -149,7 +153,7 @@ var AppClient = /** @class */ (function () {
149
153
  });
150
154
  });
151
155
  };
152
- AppClient.prototype.signPsbt = function (psbt, walletPolicy, walletHMAC) {
156
+ AppClient.prototype.signPsbt = function (psbt, walletPolicy, walletHMAC, progressCallback) {
153
157
  return __awaiter(this, void 0, void 0, function () {
154
158
  var merkelizedPsbt, clientInterpreter, _a, _b, map, _c, _d, map, inputMapsRoot, outputMapsRoot, yielded, ret, yielded_1, yielded_1_1, inputAndSig;
155
159
  var e_1, _e, e_2, _f, e_3, _g;
@@ -160,7 +164,7 @@ var AppClient = /** @class */ (function () {
160
164
  if (walletHMAC != null && walletHMAC.length != 32) {
161
165
  throw new Error("Invalid HMAC length");
162
166
  }
163
- clientInterpreter = new ClientCommandInterpreter();
167
+ clientInterpreter = new ClientCommandInterpreter(progressCallback);
164
168
  // prepare ClientCommandInterpreter
165
169
  clientInterpreter.addKnownList(walletPolicy.keys.map(function (k) { return Buffer.from(k, "ascii"); }));
166
170
  clientInterpreter.addKnownPreimage(walletPolicy.serialize());
@@ -211,7 +215,7 @@ var AppClient = /** @class */ (function () {
211
215
  try {
212
216
  for (yielded_1 = __values(yielded), yielded_1_1 = yielded_1.next(); !yielded_1_1.done; yielded_1_1 = yielded_1.next()) {
213
217
  inputAndSig = yielded_1_1.value;
214
- ret[inputAndSig[0]] = inputAndSig.slice(1);
218
+ ret.set(inputAndSig[0], inputAndSig.slice(1));
215
219
  }
216
220
  }
217
221
  catch (e_3_1) { e_3 = { error: e_3_1 }; }
@@ -1 +1 @@
1
- {"version":3,"file":"appClient.js","sourceRoot":"","sources":["../../src/newops/appClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"appClient.js","sourceRoot":"","sources":["../../src/newops/appClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE5C,IAAM,OAAO,GAAG,IAAI,CAAC;AACrB,IAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,IAAK,UAOJ;AAPD,WAAK,UAAU;IACb,uDAAiB,CAAA;IACjB,0CAA0C;IAC1C,iEAAsB,CAAA;IACtB,uEAAyB,CAAA;IACzB,qDAAgB,CAAA;IAChB,+EAA6B,CAAA;AAC/B,CAAC,EAPI,UAAU,KAAV,UAAU,QAOd;AAED,IAAK,YAEJ;AAFD,WAAK,YAAY;IACf,+EAA2B,CAAA;AAC7B,CAAC,EAFI,YAAY,KAAZ,YAAY,QAEhB;AAED;;;GAGG;AACH;IAGE,mBAAY,SAAoB;QAC9B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAEa,+BAAW,GAAzB,UACE,GAAe,EACf,IAAY,EACZ,GAA8B;;;;;4BAEP,qBAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE;4BACzE,MAAM;4BACN,MAAM;yBACP,CAAC,EAAA;;wBAHE,QAAQ,GAAW,SAGrB;;;6BACK,CAAA,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,MAAM,CAAA;wBAC1D,IAAI,CAAC,GAAG,EAAE;4BACR,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;yBACxD;wBAEK,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAClC,eAAe,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;wBAEpC,qBAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAClC,aAAa,EACb,YAAY,CAAC,oBAAoB,EACjC,CAAC,EACD,CAAC,EACD,eAAe,EACf,CAAC,MAAM,EAAE,MAAM,CAAC,CACjB,EAAA;;wBAPD,QAAQ,GAAG,SAOV,CAAC;;4BAEJ,sBAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,CAAC,0DAA0D;;;;KACzF;IAEK,qCAAiB,GAAvB,UACE,OAAgB,EAChB,YAAsB;;;;;;wBAEtB,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC3B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;yBAC7D;wBACgB,qBAAM,IAAI,CAAC,WAAW,CACrC,UAAU,CAAC,UAAU,EACrB,MAAM,CAAC,MAAM,CAAC;gCACZ,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC1B,oBAAoB,CAAC,YAAY,CAAC;6BACnC,CAAC,CACH,EAAA;;wBANK,QAAQ,GAAG,SAMhB;wBACD,sBAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC;;;;KACnC;IAEK,oCAAgB,GAAtB,UACE,YAA0B,EAC1B,UAAyB,EACzB,MAAc,EACd,YAAoB,EACpB,OAAgB;;;;;;wBAEhB,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC;4BAC9B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;wBAC/C,IAAI,YAAY,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC;4BACrD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;wBAE3C,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,IAAI,EAAE,EAAE;4BACjD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;yBACxC;wBAEK,iBAAiB,GAAG,IAAI,wBAAwB,CAAC,cAAO,CAAC,CAAC,CAAC;wBACjE,iBAAiB,CAAC,YAAY,CAC5B,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,EAAvB,CAAuB,CAAC,CACtD,CAAC;wBACF,iBAAiB,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;wBAEvD,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAC3C,kBAAkB,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;wBAEjC,qBAAM,IAAI,CAAC,WAAW,CACrC,UAAU,CAAC,kBAAkB,EAC7B,MAAM,CAAC,MAAM,CAAC;gCACZ,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gCAC1B,YAAY,CAAC,WAAW,EAAE;gCAC1B,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;gCACjC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC;gCACjB,kBAAkB;6BACnB,CAAC,EACF,iBAAiB,CAClB,EAAA;;wBAVK,QAAQ,GAAG,SAUhB;wBAED,sBAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC;;;;KACnC;IAEK,4BAAQ,GAAd,UACE,IAAY,EACZ,YAA0B,EAC1B,UAAyB,EACzB,gBAA4B;;;;;;;wBAEtB,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;wBAEhD,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,IAAI,EAAE,EAAE;4BACjD,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;yBACxC;wBAEK,iBAAiB,GAAG,IAAI,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;wBAEzE,mCAAmC;wBACnC,iBAAiB,CAAC,YAAY,CAC5B,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,EAAvB,CAAuB,CAAC,CACtD,CAAC;wBACF,iBAAiB,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;wBAE7D,iBAAiB,CAAC,eAAe,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;;4BAClE,KAAkB,KAAA,SAAA,cAAc,CAAC,eAAe,CAAA,4CAAE;gCAAvC,GAAG;gCACZ,iBAAiB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;6BACxC;;;;;;;;;;4BACD,KAAkB,KAAA,SAAA,cAAc,CAAC,gBAAgB,CAAA,4CAAE;gCAAxC,GAAG;gCACZ,iBAAiB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;6BACxC;;;;;;;;;wBAED,iBAAiB,CAAC,YAAY,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;wBAC7D,aAAa,GAAG,IAAI,MAAM,CAC9B,cAAc,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,CAC3D,CAAC,OAAO,EAAE,CAAC;wBACZ,iBAAiB,CAAC,YAAY,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;wBAC9D,cAAc,GAAG,IAAI,MAAM,CAC/B,cAAc,CAAC,oBAAoB,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,CAC5D,CAAC,OAAO,EAAE,CAAC;wBAEZ,qBAAM,IAAI,CAAC,WAAW,CACpB,UAAU,CAAC,SAAS,EACpB,MAAM,CAAC,MAAM,CAAC;gCACZ,cAAc,CAAC,uBAAuB,EAAE;gCACxC,YAAY,CAAC,cAAc,CAAC,mBAAmB,EAAE,CAAC;gCAClD,aAAa;gCACb,YAAY,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC;gCACnD,cAAc;gCACd,YAAY,CAAC,WAAW,EAAE;gCAC1B,UAAU,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;6BAClC,CAAC,EACF,iBAAiB,CAClB,EAAA;;wBAZD,SAYC,CAAC;wBAEI,OAAO,GAAG,iBAAiB,CAAC,UAAU,EAAE,CAAC;wBAEzC,GAAG,GAAwB,IAAI,GAAG,EAAE,CAAC;;4BAC3C,KAA0B,YAAA,SAAA,OAAO,CAAA,qFAAE;gCAAxB,WAAW;gCACpB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;6BAC/C;;;;;;;;;wBACD,sBAAO,GAAG,EAAC;;;;KACZ;IAEK,wCAAoB,GAA1B;;;gBACE,sBAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,sBAAsB,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,EAAC;;;KACzE;IACH,gBAAC;AAAD,CAAC,AA5JD,IA4JC"}
@@ -13,9 +13,10 @@ declare abstract class ClientCommand {
13
13
  abstract execute(request: Buffer): Buffer;
14
14
  }
15
15
  export declare class YieldCommand extends ClientCommand {
16
+ private progressCallback;
16
17
  private results;
17
18
  code: ClientCommandCode;
18
- constructor(results: Buffer[]);
19
+ constructor(results: Buffer[], progressCallback: () => void);
19
20
  execute(request: Buffer): Buffer;
20
21
  }
21
22
  export declare class GetPreimageCommand extends ClientCommand {
@@ -44,13 +45,28 @@ export declare class GetMoreElementsCommand extends ClientCommand {
44
45
  constructor(queue: Buffer[]);
45
46
  execute(request: Buffer): Buffer;
46
47
  }
48
+ /**
49
+ * This class will dispatch a client command coming from the hardware device to
50
+ * the appropriate client command implementation. Those client commands
51
+ * typically requests data from a merkle tree or merkelized maps.
52
+ *
53
+ * A ClientCommandInterpreter is prepared by adding the merkle trees and
54
+ * merkelized maps it should be able to serve to the hardware device. This class
55
+ * doesn't know anything about the semantics of the data it holds, it just
56
+ * serves merkle data. It doesn't even know in what context it is being
57
+ * executed, ie SignPsbt, getWalletAddress, etc.
58
+ *
59
+ * If the command yelds results to the client, as signPsbt does, the yielded
60
+ * data will be accessible after the command completed by calling getYielded(),
61
+ * which will return the yields in the same order as they came in.
62
+ */
47
63
  export declare class ClientCommandInterpreter {
48
64
  private roots;
49
65
  private preimages;
50
66
  private yielded;
51
67
  private queue;
52
68
  private commands;
53
- constructor();
69
+ constructor(progressCallback: () => void);
54
70
  getYielded(): Buffer[];
55
71
  addKnownPreimage(preimage: Buffer): void;
56
72
  addKnownList(elements: Buffer[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"clientCommands.d.ts","sourceRoot":"","sources":["../../src/newops/clientCommands.ts"],"names":[],"mappings":";AAEA,OAAO,EAAY,MAAM,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,aAAK,iBAAiB;IACpB,KAAK,KAAO;IACZ,YAAY,KAAO;IACnB,qBAAqB,KAAO;IAC5B,qBAAqB,KAAO;IAC5B,iBAAiB,MAAO;CACzB;AAED,uBAAe,aAAa;IAC1B,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAC1C;AAED,qBAAa,YAAa,SAAQ,aAAa;IAC7C,OAAO,CAAC,OAAO,CAAW;IAE1B,IAAI,oBAA2B;gBAEnB,OAAO,EAAE,MAAM,EAAE;IAK7B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAIjC;AAED,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,KAAK,CAAW;IAExB,IAAI,oBAAkC;gBAE1B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;IAMjE,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CA4CjC;AAED,qBAAa,yBAA0B,SAAQ,aAAa;IAC1D,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,KAAK,CAAW;IAExB,IAAI,oBAA2C;gBAEnC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;IAM7D,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAoDjC;AAED,qBAAa,yBAA0B,SAAQ,aAAa;IAC1D,OAAO,CAAC,WAAW,CAAsB;IAEzC,IAAI,oBAA2C;gBAEnC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAK5C,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAuCjC;AAED,qBAAa,sBAAuB,SAAQ,aAAa;IACvD,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB,IAAI,oBAAuC;gBAE/B,KAAK,EAAE,MAAM,EAAE;IAK3B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CA4BjC;AAED,qBAAa,wBAAwB;IACnC,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,SAAS,CAAkC;IAEnD,OAAO,CAAC,OAAO,CAAgB;IAE/B,OAAO,CAAC,KAAK,CAAgB;IAE7B,OAAO,CAAC,QAAQ,CAAoD;;IAmBpE,UAAU,IAAI,MAAM,EAAE;IAItB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIxC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAStC,eAAe,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAKpC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAajC"}
1
+ {"version":3,"file":"clientCommands.d.ts","sourceRoot":"","sources":["../../src/newops/clientCommands.ts"],"names":[],"mappings":";AAEA,OAAO,EAAY,MAAM,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,aAAK,iBAAiB;IACpB,KAAK,KAAO;IACZ,YAAY,KAAO;IACnB,qBAAqB,KAAO;IAC5B,qBAAqB,KAAO;IAC5B,iBAAiB,MAAO;CACzB;AAED,uBAAe,aAAa;IAC1B,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAC1C;AAED,qBAAa,YAAa,SAAQ,aAAa;IAKd,OAAO,CAAC,gBAAgB;IAJvD,OAAO,CAAC,OAAO,CAAW;IAE1B,IAAI,oBAA2B;gBAEnB,OAAO,EAAE,MAAM,EAAE,EAAU,gBAAgB,EAAE,MAAM,IAAI;IAKnE,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAKjC;AAED,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,KAAK,CAAW;IAExB,IAAI,oBAAkC;gBAE1B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;IAMjE,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CA4CjC;AAED,qBAAa,yBAA0B,SAAQ,aAAa;IAC1D,OAAO,CAAC,WAAW,CAAsB;IACzC,OAAO,CAAC,KAAK,CAAW;IAExB,IAAI,oBAA2C;gBAEnC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;IAM7D,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAoDjC;AAED,qBAAa,yBAA0B,SAAQ,aAAa;IAC1D,OAAO,CAAC,WAAW,CAAsB;IAEzC,IAAI,oBAA2C;gBAEnC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAK5C,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAuCjC;AAED,qBAAa,sBAAuB,SAAQ,aAAa;IACvD,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB,IAAI,oBAAuC;gBAE/B,KAAK,EAAE,MAAM,EAAE;IAK3B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CA4BjC;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,KAAK,CAAkC;IAC/C,OAAO,CAAC,SAAS,CAAkC;IAEnD,OAAO,CAAC,OAAO,CAAgB;IAE/B,OAAO,CAAC,KAAK,CAAgB;IAE7B,OAAO,CAAC,QAAQ,CAAoD;gBAExD,gBAAgB,EAAE,MAAM,IAAI;IAiBxC,UAAU,IAAI,MAAM,EAAE;IAItB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIxC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAStC,eAAe,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI;IAKpC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAajC"}
@@ -67,14 +67,16 @@ var ClientCommand = /** @class */ (function () {
67
67
  }());
68
68
  var YieldCommand = /** @class */ (function (_super) {
69
69
  __extends(YieldCommand, _super);
70
- function YieldCommand(results) {
70
+ function YieldCommand(results, progressCallback) {
71
71
  var _this = _super.call(this) || this;
72
+ _this.progressCallback = progressCallback;
72
73
  _this.code = ClientCommandCode.YIELD;
73
74
  _this.results = results;
74
75
  return _this;
75
76
  }
76
77
  YieldCommand.prototype.execute = function (request) {
77
78
  this.results.push(Buffer.from(request.subarray(1)));
79
+ this.progressCallback();
78
80
  return Buffer.from("");
79
81
  };
80
82
  return YieldCommand;
@@ -250,8 +252,23 @@ var GetMoreElementsCommand = /** @class */ (function (_super) {
250
252
  return GetMoreElementsCommand;
251
253
  }(ClientCommand));
252
254
  export { GetMoreElementsCommand };
255
+ /**
256
+ * This class will dispatch a client command coming from the hardware device to
257
+ * the appropriate client command implementation. Those client commands
258
+ * typically requests data from a merkle tree or merkelized maps.
259
+ *
260
+ * A ClientCommandInterpreter is prepared by adding the merkle trees and
261
+ * merkelized maps it should be able to serve to the hardware device. This class
262
+ * doesn't know anything about the semantics of the data it holds, it just
263
+ * serves merkle data. It doesn't even know in what context it is being
264
+ * executed, ie SignPsbt, getWalletAddress, etc.
265
+ *
266
+ * If the command yelds results to the client, as signPsbt does, the yielded
267
+ * data will be accessible after the command completed by calling getYielded(),
268
+ * which will return the yields in the same order as they came in.
269
+ */
253
270
  var ClientCommandInterpreter = /** @class */ (function () {
254
- function ClientCommandInterpreter() {
271
+ function ClientCommandInterpreter(progressCallback) {
255
272
  var e_1, _a;
256
273
  this.roots = new Map();
257
274
  this.preimages = new Map();
@@ -259,7 +276,7 @@ var ClientCommandInterpreter = /** @class */ (function () {
259
276
  this.queue = [];
260
277
  this.commands = new Map();
261
278
  var commands = [
262
- new YieldCommand(this.yielded),
279
+ new YieldCommand(this.yielded, progressCallback),
263
280
  new GetPreimageCommand(this.preimages, this.queue),
264
281
  new GetMerkleLeafIndexCommand(this.roots),
265
282
  new GetMerkleLeafProofCommand(this.roots, this.queue),
@@ -1 +1 @@
1
- {"version":3,"file":"clientCommands.js","sourceRoot":"","sources":["../../src/newops/clientCommands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clientCommands.js","sourceRoot":"","sources":["../../src/newops/clientCommands.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,17 @@
1
1
  /// <reference types="node" />
2
2
  import { MerkleMap } from "./merkleMap";
3
3
  import { PsbtV2 } from "./psbtv2";
4
+ /**
5
+ * This class merkelizes a PSBTv2, by merkelizing the different
6
+ * maps of the psbt. This is used during the transaction signing process,
7
+ * where the hardware app can request specific parts of the psbt from the
8
+ * client code and be sure that the response data actually belong to the psbt.
9
+ * The reason for this is the limited amount of memory available to the app,
10
+ * so it can't always store the full psbt in memory.
11
+ *
12
+ * The signing process is documented at
13
+ * https://github.com/LedgerHQ/app-bitcoin-new/blob/master/doc/bitcoin.md#sign_psbt
14
+ */
4
15
  export declare class MerkelizedPsbt extends PsbtV2 {
5
16
  globalMerkleMap: MerkleMap;
6
17
  inputMerkleMaps: MerkleMap[];
@@ -1 +1 @@
1
- {"version":3,"file":"merkelizedPsbt.d.ts","sourceRoot":"","sources":["../../src/newops/merkelizedPsbt.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,qBAAa,cAAe,SAAQ,MAAM;IACjC,eAAe,EAAE,SAAS,CAAC;IAC3B,eAAe,EAAE,SAAS,EAAE,CAAM;IAClC,gBAAgB,EAAE,SAAS,EAAE,CAAM;IACnC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,oBAAoB,EAAE,MAAM,EAAE,CAAC;gBAC1B,IAAI,EAAE,MAAM;IAwBxB,aAAa,IAAI,MAAM;IAGvB,uBAAuB,IAAI,MAAM;IAIjC,OAAO,CAAC,MAAM,CAAC,eAAe;CAc/B"}
1
+ {"version":3,"file":"merkelizedPsbt.d.ts","sourceRoot":"","sources":["../../src/newops/merkelizedPsbt.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;;;;;;;;GAUG;AACH,qBAAa,cAAe,SAAQ,MAAM;IACjC,eAAe,EAAE,SAAS,CAAC;IAC3B,eAAe,EAAE,SAAS,EAAE,CAAM;IAClC,gBAAgB,EAAE,SAAS,EAAE,CAAM;IACnC,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,oBAAoB,EAAE,MAAM,EAAE,CAAC;gBAC1B,IAAI,EAAE,MAAM;IAwBxB,aAAa,IAAI,MAAM;IAGvB,uBAAuB,IAAI,MAAM;IAIjC,OAAO,CAAC,MAAM,CAAC,eAAe;CAc/B"}
@@ -40,6 +40,17 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
40
40
  };
41
41
  import { MerkleMap } from "./merkleMap";
42
42
  import { PsbtV2 } from "./psbtv2";
43
+ /**
44
+ * This class merkelizes a PSBTv2, by merkelizing the different
45
+ * maps of the psbt. This is used during the transaction signing process,
46
+ * where the hardware app can request specific parts of the psbt from the
47
+ * client code and be sure that the response data actually belong to the psbt.
48
+ * The reason for this is the limited amount of memory available to the app,
49
+ * so it can't always store the full psbt in memory.
50
+ *
51
+ * The signing process is documented at
52
+ * https://github.com/LedgerHQ/app-bitcoin-new/blob/master/doc/bitcoin.md#sign_psbt
53
+ */
43
54
  var MerkelizedPsbt = /** @class */ (function (_super) {
44
55
  __extends(MerkelizedPsbt, _super);
45
56
  function MerkelizedPsbt(psbt) {
@@ -1 +1 @@
1
- {"version":3,"file":"merkelizedPsbt.js","sourceRoot":"","sources":["../../src/newops/merkelizedPsbt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;IAAoC,kCAAM;IAMxC,wBAAY,IAAY;QAAxB,YACE,iBAAO,SAqBR;QA1BM,qBAAe,GAAgB,EAAE,CAAC;QAClC,sBAAgB,GAAgB,EAAE,CAAC;QAKxC,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAChB,KAAI,CAAC,eAAe,GAAG,cAAc,CAAC,eAAe,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;QAEtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE;YACnD,KAAI,CAAC,eAAe,CAAC,IAAI,CACvB,cAAc,CAAC,eAAe,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAClD,CAAC;SACH;QACD,KAAI,CAAC,mBAAmB,GAAG,yBAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAE,UAAE,GAAG,CAAC,UAAC,CAAC;YAClE,OAAA,CAAC,CAAC,UAAU,EAAE;QAAd,CAAc,CACf,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,EAAE,EAAE;YACpD,KAAI,CAAC,gBAAgB,CAAC,IAAI,CACxB,cAAc,CAAC,eAAe,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CACnD,CAAC;SACH;QACD,KAAI,CAAC,oBAAoB,GAAG,yBAAI,KAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAE,GAAG,CAAC,UAAC,CAAC;YACpE,OAAA,CAAC,CAAC,UAAU,EAAE;QAAd,CAAc,CACf,CAAC;;IACJ,CAAC;IACD,iDAAiD;IACjD,sCAAa,GAAb;QACE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC7B,CAAC;IACD,gDAAuB,GAAvB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;IAC3C,CAAC;IAEc,8BAAe,GAA9B,UAA+B,GAAwB;QACrD,IAAM,iBAAiB,GAAG,yBAAI,GAAG,CAAC,IAAI,EAAE,UAAE,IAAI,EAAE,CAAC;QACjD,IAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAC,CAAC;YACrC,IAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,CAAC,EAAE;gBACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;aAC1C;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QACH,IAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAArB,CAAqB,CAAC,CAAC;QAEvE,IAAM,SAAS,GAAG,IAAI,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IACH,qBAAC;AAAD,CAAC,AAnDD,CAAoC,MAAM,GAmDzC"}
1
+ {"version":3,"file":"merkelizedPsbt.js","sourceRoot":"","sources":["../../src/newops/merkelizedPsbt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC;;;;;;;;;;GAUG;AACH;IAAoC,kCAAM;IAMxC,wBAAY,IAAY;QAAxB,YACE,iBAAO,SAqBR;QA1BM,qBAAe,GAAgB,EAAE,CAAC;QAClC,sBAAgB,GAAgB,EAAE,CAAC;QAKxC,IAAI,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;QAChB,KAAI,CAAC,eAAe,GAAG,cAAc,CAAC,eAAe,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC;QAEtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE;YACnD,KAAI,CAAC,eAAe,CAAC,IAAI,CACvB,cAAc,CAAC,eAAe,CAAC,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAClD,CAAC;SACH;QACD,KAAI,CAAC,mBAAmB,GAAG,yBAAI,KAAI,CAAC,eAAe,CAAC,MAAM,EAAE,UAAE,GAAG,CAAC,UAAC,CAAC;YAClE,OAAA,CAAC,CAAC,UAAU,EAAE;QAAd,CAAc,CACf,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,EAAE,EAAE;YACpD,KAAI,CAAC,gBAAgB,CAAC,IAAI,CACxB,cAAc,CAAC,eAAe,CAAC,KAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CACnD,CAAC;SACH;QACD,KAAI,CAAC,oBAAoB,GAAG,yBAAI,KAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAE,GAAG,CAAC,UAAC,CAAC;YACpE,OAAA,CAAC,CAAC,UAAU,EAAE;QAAd,CAAc,CACf,CAAC;;IACJ,CAAC;IACD,iDAAiD;IACjD,sCAAa,GAAb;QACE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IAC7B,CAAC;IACD,gDAAuB,GAAvB;QACE,OAAO,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;IAC3C,CAAC;IAEc,8BAAe,GAA9B,UAA+B,GAAwB;QACrD,IAAM,iBAAiB,GAAG,yBAAI,GAAG,CAAC,IAAI,EAAE,UAAE,IAAI,EAAE,CAAC;QACjD,IAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAC,CAAC;YACrC,IAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,CAAC,EAAE;gBACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,CAAC;aAC1C;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC,CAAC;QACH,IAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,EAArB,CAAqB,CAAC,CAAC;QAEvE,IAAM,SAAS,GAAG,IAAI,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IACH,qBAAC;AAAD,CAAC,AAnDD,CAAoC,MAAM,GAmDzC"}
@@ -1,4 +1,9 @@
1
1
  /// <reference types="node" />
2
+ /**
3
+ * This class implements the merkle tree used by Ledger Bitcoin app v2+,
4
+ * which is documented at
5
+ * https://github.com/LedgerHQ/app-bitcoin-new/blob/master/doc/merkle.md
6
+ */
2
7
  export declare class Merkle {
3
8
  private leaves;
4
9
  private rootNode;
@@ -1 +1 @@
1
- {"version":3,"file":"merkle.d.ts","sourceRoot":"","sources":["../../src/newops/merkle.ts"],"names":[],"mappings":";AAEA,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,QAAQ,CAAO;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,CAAC,CAA0B;gBAEjC,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAsB;IAQjD,OAAO,IAAI,MAAM;IAGjB,IAAI,IAAI,MAAM;IAGd,SAAS,IAAI,MAAM,EAAE;IAGrB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAGlC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAKjC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,IAAI,EAAE,CAAA;KAAE;IAwB/D,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;CAG9C;AAED,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,YAAY,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAsB,GACpD,MAAM,CAER;AAUD,cAAM,IAAI;IACR,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;gBACD,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM;IAKzE,MAAM,IAAI,OAAO;CAGlB"}
1
+ {"version":3,"file":"merkle.d.ts","sourceRoot":"","sources":["../../src/newops/merkle.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,QAAQ,CAAO;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,CAAC,CAA0B;gBAEjC,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAsB;IAQjD,OAAO,IAAI,MAAM;IAGjB,IAAI,IAAI,MAAM;IAGd,SAAS,IAAI,MAAM,EAAE;IAGrB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAGlC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAKjC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG;QAAE,IAAI,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,IAAI,EAAE,CAAA;KAAE;IAwB/D,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;CAG9C;AAED,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,YAAY,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAsB,GACpD,MAAM,CAER;AAUD,cAAM,IAAI;IACR,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;gBACD,IAAI,EAAE,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM;IAKzE,MAAM,IAAI,OAAO;CAGlB"}
@@ -24,6 +24,11 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
24
24
  return to.concat(ar || Array.prototype.slice.call(from));
25
25
  };
26
26
  import { crypto } from "bitcoinjs-lib";
27
+ /**
28
+ * This class implements the merkle tree used by Ledger Bitcoin app v2+,
29
+ * which is documented at
30
+ * https://github.com/LedgerHQ/app-bitcoin-new/blob/master/doc/merkle.md
31
+ */
27
32
  var Merkle = /** @class */ (function () {
28
33
  function Merkle(leaves, hasher) {
29
34
  if (hasher === void 0) { hasher = crypto.sha256; }
@@ -1 +1 @@
1
- {"version":3,"file":"merkle.js","sourceRoot":"","sources":["../../src/newops/merkle.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC;IAKE,gBACE,MAAgB,EAChB,MAA+C;QAA/C,uBAAA,EAAA,SAAkC,MAAM,CAAC,MAAM;QAE/C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;QAChB,IAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;IAChC,CAAC;IACD,wBAAO,GAAP;QACE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IACD,qBAAI,GAAJ;QACE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IACD,0BAAS,GAAT;QACE,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,4BAAW,GAAX,UAAY,KAAa;QACvB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;IACpC,CAAC;IACD,yBAAQ,GAAR,UAAS,KAAa;QACpB,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,MAAM,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACpE,OAAO,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,8BAAa,GAAb,UAAc,MAAgB;QAC5B,IAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,EAAE;YACV,OAAO;gBACL,IAAI,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;gBACzD,MAAM,EAAE,EAAE;aACX,CAAC;SACH;QACD,IAAI,CAAC,IAAI,CAAC,EAAE;YACV,IAAM,OAAO,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;SAC7C;QACD,IAAM,SAAS,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QAClE,IAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAChE,IAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC;QAClC,IAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC;QACpC,IAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAM,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QACnD,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC;QACxB,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;QACzB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;IAC9E,CAAC;IAED,yBAAQ,GAAR,UAAS,IAAY,EAAE,KAAa;QAClC,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5D,CAAC;IACH,aAAC;AAAD,CAAC,AA3DD,IA2DC;;AAED,MAAM,UAAU,QAAQ,CACtB,GAAW,EACX,YAAqD;IAArD,6BAAA,EAAA,eAAwC,MAAM,CAAC,MAAM;IAErD,OAAO,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,UAAU,CACjB,IAAY,EACZ,IAAY,EACZ,YAAqC;IAErC,OAAO,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;IAKE,cAAY,IAAsB,EAAE,KAAuB,EAAE,IAAY;QACvE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IACD,qBAAM,GAAN;QACE,OAAO,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC;IACrC,CAAC;IACH,WAAC;AAAD,CAAC,AAbD,IAaC;AAED,SAAS,SAAS,CAAC,IAAU;IAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,CAAC;KACX;IACD,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,EAAE;QACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAClD;QACD,sBAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,UAAK,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAE;KACjE;SAAM;QACL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACjD;QACD,sBAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,UAAK,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAE;KAChE;AACH,CAAC;AAED,SAAS,uBAAuB,CAAC,CAAS;IACxC,IAAI,CAAC,GAAG,CAAC,EAAE;QACT,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;KAChC;IACD,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE;QACjB,OAAO,CAAC,GAAG,CAAC,CAAC;KACd;IACD,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC3B,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"merkle.js","sourceRoot":"","sources":["../../src/newops/merkle.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,15 @@
1
1
  /// <reference types="node" />
2
2
  import { Merkle } from "./merkle";
3
+ /**
4
+ * This implements "Merkelized Maps", documented at
5
+ * https://github.com/LedgerHQ/app-bitcoin-new/blob/master/doc/merkle.md#merkleized-maps
6
+ *
7
+ * A merkelized map consist of two merkle trees, one for the keys of
8
+ * a map and one for the values of the same map, thus the two merkle
9
+ * trees have the same shape. The commitment is the number elements
10
+ * in the map followed by the keys' merkle root followed by the
11
+ * values' merkle root.
12
+ */
3
13
  export declare class MerkleMap {
4
14
  keys: Buffer[];
5
15
  keysTree: Merkle;
@@ -1 +1 @@
1
- {"version":3,"file":"merkleMap.d.ts","sourceRoot":"","sources":["../../src/newops/merkleMap.ts"],"names":[],"mappings":";AACA,OAAO,EAAY,MAAM,EAAE,MAAM,UAAU,CAAC;AAE5C,qBAAa,SAAS;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;gBACS,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IAkB5C,UAAU,IAAI,MAAM;CAQrB"}
1
+ {"version":3,"file":"merkleMap.d.ts","sourceRoot":"","sources":["../../src/newops/merkleMap.ts"],"names":[],"mappings":";AACA,OAAO,EAAY,MAAM,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;;;;GASG;AACH,qBAAa,SAAS;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;gBACS,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;IAkB5C,UAAU,IAAI,MAAM;CAQrB"}
@@ -1,5 +1,15 @@
1
1
  import { createVarint } from "../varint";
2
2
  import { hashLeaf, Merkle } from "./merkle";
3
+ /**
4
+ * This implements "Merkelized Maps", documented at
5
+ * https://github.com/LedgerHQ/app-bitcoin-new/blob/master/doc/merkle.md#merkleized-maps
6
+ *
7
+ * A merkelized map consist of two merkle trees, one for the keys of
8
+ * a map and one for the values of the same map, thus the two merkle
9
+ * trees have the same shape. The commitment is the number elements
10
+ * in the map followed by the keys' merkle root followed by the
11
+ * values' merkle root.
12
+ */
3
13
  var MerkleMap = /** @class */ (function () {
4
14
  /**
5
15
  * @param keys Sorted list of (unhashed) keys
@@ -1 +1 @@
1
- {"version":3,"file":"merkleMap.js","sourceRoot":"","sources":["../../src/newops/merkleMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE5C;IAKE;;;OAGG;IACH,mBAAY,IAAc,EAAE,MAAgB;QAC1C,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;SAChE;QAED,4EAA4E;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAC1D,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC9D;SACF;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,8BAAU,GAAV;QACE,2DAA2D;QAC3D,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACvB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC;IACH,gBAAC;AAAD,CAAC,AAnCD,IAmCC"}
1
+ {"version":3,"file":"merkleMap.js","sourceRoot":"","sources":["../../src/newops/merkleMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;;;;GASG;AACH;IAKE;;;OAGG;IACH,mBAAY,IAAc,EAAE,MAAgB;QAC1C,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;SAChE;QAED,4EAA4E;QAC5E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YACxC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBAC1D,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAC9D;SACF;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,8BAAU,GAAV;QACE,2DAA2D;QAC3D,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;YACvB,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC;IACH,gBAAC;AAAD,CAAC,AAnCD,IAmCC"}
@@ -1,5 +1,13 @@
1
1
  /// <reference types="node" />
2
2
  export declare type DefaultDescriptorTemplate = "pkh(@0)" | "sh(wpkh(@0))" | "wpkh(@0)" | "tr(@0)";
3
+ /**
4
+ * The Bitcon hardware app uses a descriptors-like thing to describe
5
+ * how to construct output scripts from keys. A "Wallet Policy" consists
6
+ * of a "Descriptor Template" and a list of "keys". A key is basically
7
+ * a serialized BIP32 extended public key with some added derivation path
8
+ * information. This is documented at
9
+ * https://github.com/LedgerHQ/app-bitcoin-new/blob/master/doc/wallet.md
10
+ */
3
11
  export declare class WalletPolicy {
4
12
  descriptorTemplate: string;
5
13
  keys: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/newops/policy.ts"],"names":[],"mappings":";AAKA,oBAAY,yBAAyB,GACjC,SAAS,GACT,cAAc,GACd,UAAU,GACV,QAAQ,CAAC;AAEb,qBAAa,YAAY;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;OAEG;gBACS,kBAAkB,EAAE,yBAAyB,EAAE,GAAG,EAAE,MAAM;IAKtE,WAAW,IAAI,MAAM;IAKrB,SAAS,IAAI,MAAM;CAapB;AAED,wBAAgB,SAAS,CACvB,iBAAiB,EAAE,MAAM,EACzB,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,MAAM,GACX,MAAM,CAKR"}
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/newops/policy.ts"],"names":[],"mappings":";AAKA,oBAAY,yBAAyB,GACjC,SAAS,GACT,cAAc,GACd,UAAU,GACV,QAAQ,CAAC;AAEb;;;;;;;GAOG;AACH,qBAAa,YAAY;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf;;OAEG;gBACS,kBAAkB,EAAE,yBAAyB,EAAE,GAAG,EAAE,MAAM;IAKtE,WAAW,IAAI,MAAM;IAKrB,SAAS,IAAI,MAAM;CAapB;AAED,wBAAgB,SAAS,CACvB,iBAAiB,EAAE,MAAM,EACzB,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,EAAE,MAAM,GACX,MAAM,CAKR"}
@@ -1,7 +1,15 @@
1
+ import { crypto } from "bitcoinjs-lib";
1
2
  import { pathArrayToString } from "../bip32";
2
3
  import { BufferWriter } from "../buffertools";
3
- import { crypto } from "bitcoinjs-lib";
4
- import { Merkle, hashLeaf } from "./merkle";
4
+ import { hashLeaf, Merkle } from "./merkle";
5
+ /**
6
+ * The Bitcon hardware app uses a descriptors-like thing to describe
7
+ * how to construct output scripts from keys. A "Wallet Policy" consists
8
+ * of a "Descriptor Template" and a list of "keys". A key is basically
9
+ * a serialized BIP32 extended public key with some added derivation path
10
+ * information. This is documented at
11
+ * https://github.com/LedgerHQ/app-bitcoin-new/blob/master/doc/wallet.md
12
+ */
5
13
  var WalletPolicy = /** @class */ (function () {
6
14
  /**
7
15
  * For now, we only support default descriptor templates.
@@ -1 +1 @@
1
- {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/newops/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAQ5C;IAGE;;OAEG;IACH,sBAAY,kBAA6C,EAAE,GAAW;QACpE,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,kCAAW,GAAX;QACE,kDAAkD;QAClD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,gCAAS,GAAT;QACE,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC;YACjC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,CAAC,CAAC;QAEzD,IAAM,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B;QACjD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,2DAA2D;QAC9E,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;QACjE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IACH,mBAAC;AAAD,CAAC,AA7BD,IA6BC;;AAED,MAAM,UAAU,SAAS,CACvB,iBAAyB,EACzB,IAAc,EACd,IAAY;IAEZ,IAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,MAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,SAAS,CAClE,CAAC,CACF,SAAI,IAAI,QAAK,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/newops/policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAQ5C;;;;;;;GAOG;AACH;IAGE;;OAEG;IACH,sBAAY,kBAA6C,EAAE,GAAW;QACpE,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,kCAAW,GAAX;QACE,kDAAkD;QAClD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,gCAAS,GAAT;QACE,IAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC;YACjC,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QACH,IAAM,CAAC,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,QAAQ,CAAC,CAAC,CAAC,EAAX,CAAW,CAAC,CAAC,CAAC;QAEzD,IAAM,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,2BAA2B;QACjD,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,2DAA2D;QAC9E,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;QACjE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,OAAO,GAAG,CAAC,MAAM,EAAE,CAAC;IACtB,CAAC;IACH,mBAAC;AAAD,CAAC,AA7BD,IA6BC;;AAED,MAAM,UAAU,SAAS,CACvB,iBAAyB,EACzB,IAAc,EACd,IAAY;IAEZ,IAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC5C,OAAO,MAAI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,SAAS,CAClE,CAAC,CACF,SAAI,IAAI,QAAK,CAAC;AACjB,CAAC"}
@@ -1,4 +1,10 @@
1
1
  /// <reference types="node" />
2
2
  import { PsbtV2 } from "./psbtv2";
3
+ /**
4
+ * This implements the "Transaction Extractor" role of BIP370 (PSBTv2
5
+ * https://github.com/bitcoin/bips/blob/master/bip-0370.mediawiki#transaction-extractor). However
6
+ * the role is partially documented in BIP174 (PSBTv0
7
+ * https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki#transaction-extractor).
8
+ */
3
9
  export declare function extract(psbt: PsbtV2): Buffer;
4
10
  //# sourceMappingURL=psbtExtractor.d.ts.map