@bitgo-beta/utxo-bin 2.8.3-beta.13 → 2.8.3-beta.1300

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 (154) hide show
  1. package/README.md +107 -86
  2. package/dist/bin/index.js +46 -3
  3. package/dist/src/AddressParser.d.ts +1 -1
  4. package/dist/src/AddressParser.d.ts.map +1 -1
  5. package/dist/src/AddressParser.js +54 -9
  6. package/dist/src/InputParser.d.ts +43 -0
  7. package/dist/src/InputParser.d.ts.map +1 -0
  8. package/dist/src/InputParser.js +282 -0
  9. package/dist/src/OutputParser.d.ts +24 -0
  10. package/dist/src/OutputParser.d.ts.map +1 -0
  11. package/dist/src/OutputParser.js +98 -0
  12. package/dist/src/Parser.d.ts +9 -3
  13. package/dist/src/Parser.d.ts.map +1 -1
  14. package/dist/src/Parser.js +35 -1
  15. package/dist/src/ParserTx.d.ts +27 -0
  16. package/dist/src/ParserTx.d.ts.map +1 -0
  17. package/dist/src/ParserTx.js +126 -0
  18. package/dist/src/ScriptParser.d.ts +23 -0
  19. package/dist/src/ScriptParser.d.ts.map +1 -0
  20. package/dist/src/ScriptParser.js +129 -0
  21. package/dist/src/TxParser.d.ts +12 -8
  22. package/dist/src/TxParser.d.ts.map +1 -1
  23. package/dist/src/TxParser.js +60 -29
  24. package/dist/src/args/format.d.ts +8 -0
  25. package/dist/src/args/format.d.ts.map +1 -0
  26. package/dist/src/args/format.js +15 -0
  27. package/dist/src/args/index.d.ts +5 -0
  28. package/dist/src/args/index.d.ts.map +1 -0
  29. package/dist/src/args/index.js +21 -0
  30. package/dist/src/args/parseNetwork.d.ts +25 -0
  31. package/dist/src/args/parseNetwork.d.ts.map +1 -0
  32. package/dist/src/args/parseNetwork.js +108 -0
  33. package/dist/src/args/parseString.d.ts +40 -0
  34. package/dist/src/args/parseString.d.ts.map +1 -0
  35. package/dist/src/args/parseString.js +153 -0
  36. package/dist/src/args/walletKeys.d.ts +38 -0
  37. package/dist/src/args/walletKeys.d.ts.map +1 -0
  38. package/dist/src/args/walletKeys.js +64 -0
  39. package/dist/src/bip32.d.ts +5 -0
  40. package/dist/src/bip32.d.ts.map +1 -0
  41. package/dist/src/bip32.js +56 -0
  42. package/dist/src/commands/cmdAddress/cmdGenerate.d.ts +21 -0
  43. package/dist/src/commands/cmdAddress/cmdGenerate.d.ts.map +1 -0
  44. package/dist/src/commands/cmdAddress/cmdGenerate.js +89 -0
  45. package/dist/src/commands/cmdAddress/cmdParse.d.ts +20 -0
  46. package/dist/src/commands/cmdAddress/cmdParse.d.ts.map +1 -0
  47. package/dist/src/commands/cmdAddress/cmdParse.js +28 -0
  48. package/dist/src/commands/cmdAddress/index.d.ts +3 -0
  49. package/dist/src/commands/cmdAddress/index.d.ts.map +1 -0
  50. package/dist/src/commands/cmdAddress/index.js +16 -0
  51. package/dist/src/commands/cmdBip32.d.ts +16 -0
  52. package/dist/src/commands/cmdBip32.d.ts.map +1 -0
  53. package/dist/src/commands/cmdBip32.js +78 -0
  54. package/dist/src/commands/cmdDescriptor/fromFixedScript.d.ts +10 -0
  55. package/dist/src/commands/cmdDescriptor/fromFixedScript.d.ts.map +1 -0
  56. package/dist/src/commands/cmdDescriptor/fromFixedScript.js +73 -0
  57. package/dist/src/commands/cmdDescriptor/index.d.ts +4 -0
  58. package/dist/src/commands/cmdDescriptor/index.d.ts.map +1 -0
  59. package/dist/src/commands/cmdDescriptor/index.js +30 -0
  60. package/dist/src/commands/cmdParseScript.d.ts +18 -0
  61. package/dist/src/commands/cmdParseScript.d.ts.map +1 -0
  62. package/dist/src/commands/cmdParseScript.js +27 -0
  63. package/dist/src/commands/cmdParseTx.d.ts +30 -0
  64. package/dist/src/commands/cmdParseTx.d.ts.map +1 -0
  65. package/dist/src/commands/cmdParseTx.js +153 -0
  66. package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.d.ts +13 -0
  67. package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.d.ts.map +1 -0
  68. package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.js +100 -0
  69. package/dist/src/commands/cmdPsbt/cmdAddOutput.d.ts +11 -0
  70. package/dist/src/commands/cmdPsbt/cmdAddOutput.d.ts.map +1 -0
  71. package/dist/src/commands/cmdPsbt/cmdAddOutput.js +122 -0
  72. package/dist/src/commands/cmdPsbt/cmdCreate.d.ts +9 -0
  73. package/dist/src/commands/cmdPsbt/cmdCreate.d.ts.map +1 -0
  74. package/dist/src/commands/cmdPsbt/cmdCreate.js +23 -0
  75. package/dist/src/commands/cmdPsbt/cmdFinalize.d.ts +11 -0
  76. package/dist/src/commands/cmdPsbt/cmdFinalize.d.ts.map +1 -0
  77. package/dist/src/commands/cmdPsbt/cmdFinalize.js +43 -0
  78. package/dist/src/commands/cmdPsbt/cmdSign.d.ts +7 -0
  79. package/dist/src/commands/cmdPsbt/cmdSign.d.ts.map +1 -0
  80. package/dist/src/commands/cmdPsbt/cmdSign.js +57 -0
  81. package/dist/src/commands/cmdPsbt/index.d.ts +8 -0
  82. package/dist/src/commands/cmdPsbt/index.d.ts.map +1 -0
  83. package/dist/src/commands/cmdPsbt/index.js +27 -0
  84. package/dist/src/commands/cmdPsbt/withPsbt.d.ts +63 -0
  85. package/dist/src/commands/cmdPsbt/withPsbt.d.ts.map +1 -0
  86. package/dist/src/commands/cmdPsbt/withPsbt.js +99 -0
  87. package/dist/src/commands/cmdPsbt/wrap.d.ts +5 -0
  88. package/dist/src/commands/cmdPsbt/wrap.d.ts.map +1 -0
  89. package/dist/src/commands/cmdPsbt/wrap.js +60 -0
  90. package/dist/src/commands/formatString.d.ts +8 -0
  91. package/dist/src/commands/formatString.d.ts.map +1 -0
  92. package/dist/src/commands/formatString.js +14 -0
  93. package/dist/src/commands/index.d.ts +7 -0
  94. package/dist/src/commands/index.d.ts.map +1 -0
  95. package/dist/src/commands/index.js +23 -0
  96. package/dist/src/ecdsa.d.ts +1 -2
  97. package/dist/src/ecdsa.d.ts.map +1 -1
  98. package/dist/src/ecdsa.js +9 -9
  99. package/dist/src/fetch.d.ts +12 -4
  100. package/dist/src/fetch.d.ts.map +1 -1
  101. package/dist/src/fetch.js +90 -13
  102. package/dist/src/format.d.ts +6 -3
  103. package/dist/src/format.d.ts.map +1 -1
  104. package/dist/src/format.js +38 -13
  105. package/dist/src/generateAddress.d.ts +47 -0
  106. package/dist/src/generateAddress.d.ts.map +1 -0
  107. package/dist/src/generateAddress.js +177 -0
  108. package/dist/src/hollowSegwitSpend.d.ts +1 -1
  109. package/dist/src/hollowSegwitSpend.d.ts.map +1 -1
  110. package/dist/src/hollowSegwitSpend.js +37 -5
  111. package/dist/src/parseUnknown.d.ts +5 -0
  112. package/dist/src/parseUnknown.d.ts.map +1 -0
  113. package/dist/src/parseUnknown.js +49 -0
  114. package/dist/test/args/stringToBuffer.d.ts +2 -0
  115. package/dist/test/args/stringToBuffer.d.ts.map +1 -0
  116. package/dist/test/args/stringToBuffer.js +49 -0
  117. package/dist/test/bip32.d.ts +2 -0
  118. package/dist/test/bip32.d.ts.map +1 -0
  119. package/dist/test/bip32.js +55 -0
  120. package/dist/test/bip32.util.d.ts +6 -0
  121. package/dist/test/bip32.util.d.ts.map +1 -0
  122. package/dist/test/bip32.util.js +46 -0
  123. package/dist/test/captureConsole.d.ts +6 -0
  124. package/dist/test/captureConsole.d.ts.map +1 -0
  125. package/dist/test/captureConsole.js +65 -0
  126. package/dist/test/cmdDescriptor/fromFixedScript.d.ts +2 -0
  127. package/dist/test/cmdDescriptor/fromFixedScript.d.ts.map +1 -0
  128. package/dist/test/cmdDescriptor/fromFixedScript.js +70 -0
  129. package/dist/test/cmdPsbt.d.ts +2 -0
  130. package/dist/test/cmdPsbt.d.ts.map +1 -0
  131. package/dist/test/cmdPsbt.js +138 -0
  132. package/dist/test/fixtures.d.ts +24 -0
  133. package/dist/test/fixtures.d.ts.map +1 -0
  134. package/dist/test/fixtures.js +127 -0
  135. package/dist/test/generateAddress.d.ts +2 -0
  136. package/dist/test/generateAddress.d.ts.map +1 -0
  137. package/dist/test/generateAddress.js +79 -0
  138. package/dist/test/parseAddress.d.ts +6 -0
  139. package/dist/test/parseAddress.d.ts.map +1 -0
  140. package/dist/test/parseAddress.js +119 -0
  141. package/dist/test/parseScript.d.ts +2 -0
  142. package/dist/test/parseScript.d.ts.map +1 -0
  143. package/dist/test/parseScript.js +74 -0
  144. package/dist/test/parseTransaction.d.ts +2 -0
  145. package/dist/test/parseTransaction.d.ts.map +1 -0
  146. package/dist/test/parseTransaction.js +103 -0
  147. package/dist/tsconfig.tsbuildinfo +1 -4635
  148. package/package.json +13 -9
  149. package/dist/src/InputOutputParser.d.ts +0 -35
  150. package/dist/src/InputOutputParser.d.ts.map +0 -1
  151. package/dist/src/InputOutputParser.js +0 -196
  152. package/dist/src/commands.d.ts +0 -43
  153. package/dist/src/commands.d.ts.map +0 -1
  154. package/dist/src/commands.js +0 -152
@@ -0,0 +1,5 @@
1
+ import { Parser, ParserNode } from './Parser';
2
+ export declare function parseUnknown(p: Parser, label: string | number, obj: unknown, { omit }?: {
3
+ omit?: string[];
4
+ }): ParserNode;
5
+ //# sourceMappingURL=parseUnknown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseUnknown.d.ts","sourceRoot":"","sources":["../../src/parseUnknown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,MAAM,EAAE,UAAU,EAAmB,MAAM,UAAU,CAAC;AAgBlF,wBAAgB,YAAY,CAC1B,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,GAAG,EAAE,OAAO,EACZ,EAAE,IAAS,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAAO,GACtC,UAAU,CAwCZ"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseUnknown = parseUnknown;
4
+ const Parser_1 = require("./Parser");
5
+ function omitObject(v) {
6
+ return typeof v === 'function';
7
+ }
8
+ function getPrototypeKeys(obj) {
9
+ const keys = [];
10
+ let proto = obj;
11
+ while (proto && proto !== Object.prototype) {
12
+ keys.push(...Object.getOwnPropertyNames(proto));
13
+ proto = Object.getPrototypeOf(proto);
14
+ }
15
+ return keys;
16
+ }
17
+ function parseUnknown(p, label, obj, { omit = [] } = {}) {
18
+ if ((0, Parser_1.isParserNodeValue)(obj)) {
19
+ if (typeof obj === 'string') {
20
+ obj = JSON.stringify(obj);
21
+ }
22
+ return p.node(label, obj);
23
+ }
24
+ if (typeof obj !== 'object' || obj === null) {
25
+ throw new Error(`expected object, got ${typeof obj}`);
26
+ }
27
+ if (Array.isArray(obj)) {
28
+ return p.node(label, `length: ${obj.length}`, obj.filter((v) => !omitObject(v)).map((v, i) => parseUnknown(p, i, v)));
29
+ }
30
+ const allKeys = getPrototypeKeys(obj);
31
+ if (allKeys.length > 0) {
32
+ return p.node(label, undefined, allKeys.flatMap((k) => {
33
+ const objAsRecord = obj;
34
+ if (omitObject(objAsRecord[k]) || omit?.includes(k)) {
35
+ return [];
36
+ }
37
+ try {
38
+ return [parseUnknown(p, k, objAsRecord[k])];
39
+ }
40
+ catch (e) {
41
+ return [p.node(k, `Error: ${e.message}}`)];
42
+ }
43
+ }));
44
+ }
45
+ else {
46
+ return p.node(label, '{}');
47
+ }
48
+ }
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VVbmtub3duLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhcnNlVW5rbm93bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWdCQSxvQ0E2Q0M7QUE3REQscUNBQWtGO0FBRWxGLFNBQVMsVUFBVSxDQUFDLENBQVU7SUFDNUIsT0FBTyxPQUFPLENBQUMsS0FBSyxVQUFVLENBQUM7QUFDakMsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBQUMsR0FBWTtJQUNwQyxNQUFNLElBQUksR0FBYSxFQUFFLENBQUM7SUFDMUIsSUFBSSxLQUFLLEdBQUcsR0FBRyxDQUFDO0lBQ2hCLE9BQU8sS0FBSyxJQUFJLEtBQUssS0FBSyxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hELEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFnQixZQUFZLENBQzFCLENBQVMsRUFDVCxLQUFzQixFQUN0QixHQUFZLEVBQ1osRUFBRSxJQUFJLEdBQUcsRUFBRSxLQUEwQixFQUFFO0lBRXZDLElBQUksSUFBQSwwQkFBaUIsRUFBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzNCLElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDNUIsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBc0IsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDNUMsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN2QixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ1gsS0FBSyxFQUNMLFdBQVcsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUN2QixHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQ3ZFLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDWCxLQUFLLEVBQ0wsU0FBUyxFQUNULE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNwQixNQUFNLFdBQVcsR0FBRyxHQUE4QixDQUFDO1lBQ25ELElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDcEQsT0FBTyxFQUFFLENBQUM7WUFDWixDQUFDO1lBQ0QsSUFBSSxDQUFDO2dCQUNILE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlDLENBQUM7WUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO2dCQUNYLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDN0MsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BhcnNlck5vZGVWYWx1ZSwgUGFyc2VyLCBQYXJzZXJOb2RlLCBQYXJzZXJOb2RlVmFsdWUgfSBmcm9tICcuL1BhcnNlcic7XG5cbmZ1bmN0aW9uIG9taXRPYmplY3QodjogdW5rbm93bik6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZW9mIHYgPT09ICdmdW5jdGlvbic7XG59XG5cbmZ1bmN0aW9uIGdldFByb3RvdHlwZUtleXMob2JqOiB1bmtub3duKTogc3RyaW5nW10ge1xuICBjb25zdCBrZXlzOiBzdHJpbmdbXSA9IFtdO1xuICBsZXQgcHJvdG8gPSBvYmo7XG4gIHdoaWxlIChwcm90byAmJiBwcm90byAhPT0gT2JqZWN0LnByb3RvdHlwZSkge1xuICAgIGtleXMucHVzaCguLi5PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhwcm90bykpO1xuICAgIHByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHByb3RvKTtcbiAgfVxuICByZXR1cm4ga2V5cztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlVW5rbm93bihcbiAgcDogUGFyc2VyLFxuICBsYWJlbDogc3RyaW5nIHwgbnVtYmVyLFxuICBvYmo6IHVua25vd24sXG4gIHsgb21pdCA9IFtdIH06IHsgb21pdD86IHN0cmluZ1tdIH0gPSB7fVxuKTogUGFyc2VyTm9kZSB7XG4gIGlmIChpc1BhcnNlck5vZGVWYWx1ZShvYmopKSB7XG4gICAgaWYgKHR5cGVvZiBvYmogPT09ICdzdHJpbmcnKSB7XG4gICAgICBvYmogPSBKU09OLnN0cmluZ2lmeShvYmopO1xuICAgIH1cbiAgICByZXR1cm4gcC5ub2RlKGxhYmVsLCBvYmogYXMgUGFyc2VyTm9kZVZhbHVlKTtcbiAgfVxuXG4gIGlmICh0eXBlb2Ygb2JqICE9PSAnb2JqZWN0JyB8fCBvYmogPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGV4cGVjdGVkIG9iamVjdCwgZ290ICR7dHlwZW9mIG9ian1gKTtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcbiAgICByZXR1cm4gcC5ub2RlKFxuICAgICAgbGFiZWwsXG4gICAgICBgbGVuZ3RoOiAke29iai5sZW5ndGh9YCxcbiAgICAgIG9iai5maWx0ZXIoKHYpID0+ICFvbWl0T2JqZWN0KHYpKS5tYXAoKHYsIGkpID0+IHBhcnNlVW5rbm93bihwLCBpLCB2KSlcbiAgICApO1xuICB9XG5cbiAgY29uc3QgYWxsS2V5cyA9IGdldFByb3RvdHlwZUtleXMob2JqKTtcbiAgaWYgKGFsbEtleXMubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiBwLm5vZGUoXG4gICAgICBsYWJlbCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGFsbEtleXMuZmxhdE1hcCgoaykgPT4ge1xuICAgICAgICBjb25zdCBvYmpBc1JlY29yZCA9IG9iaiBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICAgICAgaWYgKG9taXRPYmplY3Qob2JqQXNSZWNvcmRba10pIHx8IG9taXQ/LmluY2x1ZGVzKGspKSB7XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmV0dXJuIFtwYXJzZVVua25vd24ocCwgaywgb2JqQXNSZWNvcmRba10pXTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIHJldHVybiBbcC5ub2RlKGssIGBFcnJvcjogJHtlLm1lc3NhZ2V9fWApXTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBwLm5vZGUobGFiZWwsICd7fScpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=stringToBuffer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringToBuffer.d.ts","sourceRoot":"","sources":["../../../test/args/stringToBuffer.ts"],"names":[],"mappings":""}
@@ -0,0 +1,49 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const assert = __importStar(require("assert"));
37
+ const parseString_1 = require("../../src/args/parseString");
38
+ describe('stringToBuffer', function () {
39
+ const bytes = Buffer.alloc(32, 42);
40
+ it('converts hex and base64', function () {
41
+ for (const e of ['hex', 'base64']) {
42
+ const str = bytes.toString(e);
43
+ assert.deepStrictEqual((0, parseString_1.stringToBuffer)(str, ['hex', 'base64']), bytes);
44
+ const strNl = [str.slice(0, 4), str.slice(4)].join('\n');
45
+ assert.deepStrictEqual((0, parseString_1.stringToBuffer)(strNl, ['hex', 'base64']), bytes);
46
+ }
47
+ });
48
+ });
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nVG9CdWZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L2FyZ3Mvc3RyaW5nVG9CdWZmZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBaUM7QUFFakMsNERBQTREO0FBRTVELFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRTtJQUN6QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNuQyxFQUFFLENBQUMseUJBQXlCLEVBQUU7UUFDNUIsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQXFCLEVBQUUsQ0FBQztZQUN0RCxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxlQUFlLENBQUMsSUFBQSw0QkFBYyxFQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBRXRFLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN6RCxNQUFNLENBQUMsZUFBZSxDQUFDLElBQUEsNEJBQWMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxRSxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgeyBzdHJpbmdUb0J1ZmZlciB9IGZyb20gJy4uLy4uL3NyYy9hcmdzL3BhcnNlU3RyaW5nJztcblxuZGVzY3JpYmUoJ3N0cmluZ1RvQnVmZmVyJywgZnVuY3Rpb24gKCkge1xuICBjb25zdCBieXRlcyA9IEJ1ZmZlci5hbGxvYygzMiwgNDIpO1xuICBpdCgnY29udmVydHMgaGV4IGFuZCBiYXNlNjQnLCBmdW5jdGlvbiAoKSB7XG4gICAgZm9yIChjb25zdCBlIG9mIFsnaGV4JywgJ2Jhc2U2NCddIGFzIEJ1ZmZlckVuY29kaW5nW10pIHtcbiAgICAgIGNvbnN0IHN0ciA9IGJ5dGVzLnRvU3RyaW5nKGUpO1xuICAgICAgYXNzZXJ0LmRlZXBTdHJpY3RFcXVhbChzdHJpbmdUb0J1ZmZlcihzdHIsIFsnaGV4JywgJ2Jhc2U2NCddKSwgYnl0ZXMpO1xuXG4gICAgICBjb25zdCBzdHJObCA9IFtzdHIuc2xpY2UoMCwgNCksIHN0ci5zbGljZSg0KV0uam9pbignXFxuJyk7XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHN0cmluZ1RvQnVmZmVyKHN0ck5sLCBbJ2hleCcsICdiYXNlNjQnXSksIGJ5dGVzKTtcbiAgICB9XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bip32.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bip32.d.ts","sourceRoot":"","sources":["../../test/bip32.ts"],"names":[],"mappings":""}
@@ -0,0 +1,55 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ const assert = __importStar(require("assert"));
37
+ const bip32_1 = require("../src/bip32");
38
+ const fixtures_1 = require("./fixtures");
39
+ const bip32_util_1 = require("./bip32.util");
40
+ function runTest(bip32Key, args) {
41
+ describe(`parse bip32 ${JSON.stringify(args)}`, function () {
42
+ it('has expected output', async function () {
43
+ const formatted = (0, fixtures_1.formatTreeNoColor)((0, bip32_1.parseBip32)(bip32Key, args), { showAll: true });
44
+ const filename = [bip32Key];
45
+ if (args.derive) {
46
+ filename.push(args.derive.replace(/\//g, '_'));
47
+ }
48
+ assert.strictEqual(await (0, fixtures_1.getFixtureString)(`test/fixtures/bip32/${filename.join('_')}.txt`, formatted), formatted);
49
+ });
50
+ });
51
+ }
52
+ runTest((0, bip32_util_1.getKey)('bip32').toBase58(), {});
53
+ runTest((0, bip32_util_1.getKey)('bip32').toBase58(), { derive: 'm/0/0' });
54
+ runTest((0, bip32_util_1.getKey)('bip32').neutered().toBase58(), { derive: 'm/0/0' });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlwMzIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L2JpcDMyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQWlDO0FBRWpDLHdDQUEwQztBQUUxQyx5Q0FBaUU7QUFDakUsNkNBQXNDO0FBRXRDLFNBQVMsT0FBTyxDQUFDLFFBQWdCLEVBQUUsSUFBeUI7SUFDMUQsUUFBUSxDQUFDLGVBQWUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQzlDLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxLQUFLO1lBQzdCLE1BQU0sU0FBUyxHQUFHLElBQUEsNEJBQWlCLEVBQUMsSUFBQSxrQkFBVSxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ25GLE1BQU0sUUFBUSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDNUIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2hCLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDakQsQ0FBQztZQUNELE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFBLDJCQUFnQixFQUFDLHVCQUF1QixRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDcEgsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxPQUFPLENBQUMsSUFBQSxtQkFBTSxFQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3hDLE9BQU8sQ0FBQyxJQUFBLG1CQUFNLEVBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUN6RCxPQUFPLENBQUMsSUFBQSxtQkFBTSxFQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHsgcGFyc2VCaXAzMiB9IGZyb20gJy4uL3NyYy9iaXAzMic7XG5cbmltcG9ydCB7IGZvcm1hdFRyZWVOb0NvbG9yLCBnZXRGaXh0dXJlU3RyaW5nIH0gZnJvbSAnLi9maXh0dXJlcyc7XG5pbXBvcnQgeyBnZXRLZXkgfSBmcm9tICcuL2JpcDMyLnV0aWwnO1xuXG5mdW5jdGlvbiBydW5UZXN0KGJpcDMyS2V5OiBzdHJpbmcsIGFyZ3M6IHsgZGVyaXZlPzogc3RyaW5nIH0pIHtcbiAgZGVzY3JpYmUoYHBhcnNlIGJpcDMyICR7SlNPTi5zdHJpbmdpZnkoYXJncyl9YCwgZnVuY3Rpb24gKCkge1xuICAgIGl0KCdoYXMgZXhwZWN0ZWQgb3V0cHV0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgZm9ybWF0dGVkID0gZm9ybWF0VHJlZU5vQ29sb3IocGFyc2VCaXAzMihiaXAzMktleSwgYXJncyksIHsgc2hvd0FsbDogdHJ1ZSB9KTtcbiAgICAgIGNvbnN0IGZpbGVuYW1lID0gW2JpcDMyS2V5XTtcbiAgICAgIGlmIChhcmdzLmRlcml2ZSkge1xuICAgICAgICBmaWxlbmFtZS5wdXNoKGFyZ3MuZGVyaXZlLnJlcGxhY2UoL1xcLy9nLCAnXycpKTtcbiAgICAgIH1cbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChhd2FpdCBnZXRGaXh0dXJlU3RyaW5nKGB0ZXN0L2ZpeHR1cmVzL2JpcDMyLyR7ZmlsZW5hbWUuam9pbignXycpfS50eHRgLCBmb3JtYXR0ZWQpLCBmb3JtYXR0ZWQpO1xuICAgIH0pO1xuICB9KTtcbn1cblxucnVuVGVzdChnZXRLZXkoJ2JpcDMyJykudG9CYXNlNTgoKSwge30pO1xucnVuVGVzdChnZXRLZXkoJ2JpcDMyJykudG9CYXNlNTgoKSwgeyBkZXJpdmU6ICdtLzAvMCcgfSk7XG5ydW5UZXN0KGdldEtleSgnYmlwMzInKS5uZXV0ZXJlZCgpLnRvQmFzZTU4KCksIHsgZGVyaXZlOiAnbS8wLzAnIH0pO1xuIl19
@@ -0,0 +1,6 @@
1
+ import { BIP32Interface } from 'bip32';
2
+ export type Triple<T> = [T, T, T];
3
+ export type KeyTriple = Triple<BIP32Interface>;
4
+ export declare function getKey(seed: string): BIP32Interface;
5
+ export declare function getKeyTriple(seed: string): KeyTriple;
6
+ //# sourceMappingURL=bip32.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bip32.util.d.ts","sourceRoot":"","sources":["../../test/bip32.util.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAElC,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAC/C,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAEnD;AACD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAEpD"}
@@ -0,0 +1,46 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getKey = getKey;
37
+ exports.getKeyTriple = getKeyTriple;
38
+ const crypto = __importStar(require("crypto"));
39
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
40
+ function getKey(seed) {
41
+ return utxolib.bip32.fromSeed(crypto.createHash('sha256').update(seed).digest());
42
+ }
43
+ function getKeyTriple(seed) {
44
+ return [getKey(seed + '.0'), getKey(seed + '.1'), getKey(seed + '.2')];
45
+ }
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlwMzIudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3QvYmlwMzIudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFBLHdCQUVDO0FBQ0Qsb0NBRUM7QUFiRCwrQ0FBaUM7QUFFakMsOERBQWdEO0FBTWhELFNBQWdCLE1BQU0sQ0FBQyxJQUFZO0lBQ2pDLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUNuRixDQUFDO0FBQ0QsU0FBZ0IsWUFBWSxDQUFDLElBQVk7SUFDdkMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDekUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNyeXB0byBmcm9tICdjcnlwdG8nO1xuXG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IEJJUDMySW50ZXJmYWNlIH0gZnJvbSAnYmlwMzInO1xuXG5leHBvcnQgdHlwZSBUcmlwbGU8VD4gPSBbVCwgVCwgVF07XG5cbmV4cG9ydCB0eXBlIEtleVRyaXBsZSA9IFRyaXBsZTxCSVAzMkludGVyZmFjZT47XG5leHBvcnQgZnVuY3Rpb24gZ2V0S2V5KHNlZWQ6IHN0cmluZyk6IEJJUDMySW50ZXJmYWNlIHtcbiAgcmV0dXJuIHV0eG9saWIuYmlwMzIuZnJvbVNlZWQoY3J5cHRvLmNyZWF0ZUhhc2goJ3NoYTI1NicpLnVwZGF0ZShzZWVkKS5kaWdlc3QoKSk7XG59XG5leHBvcnQgZnVuY3Rpb24gZ2V0S2V5VHJpcGxlKHNlZWQ6IHN0cmluZyk6IEtleVRyaXBsZSB7XG4gIHJldHVybiBbZ2V0S2V5KHNlZWQgKyAnLjAnKSwgZ2V0S2V5KHNlZWQgKyAnLjEnKSwgZ2V0S2V5KHNlZWQgKyAnLjInKV07XG59XG4iXX0=
@@ -0,0 +1,6 @@
1
+ export declare function captureConsole<T>(func: () => Promise<T>): Promise<{
2
+ stdout: string;
3
+ stderr: string;
4
+ result: T;
5
+ }>;
6
+ //# sourceMappingURL=captureConsole.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"captureConsole.d.ts","sourceRoot":"","sources":["../../test/captureConsole.ts"],"names":[],"mappings":"AAEA,wBAAsB,cAAc,CAAC,CAAC,EACpC,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GACrB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC,CA+BxD"}
@@ -0,0 +1,65 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.captureConsole = captureConsole;
37
+ const util = __importStar(require("node:util"));
38
+ async function captureConsole(func) {
39
+ process.env.NO_COLOR = '1'; // Disable colors in console output for easier testing
40
+ const oldConsoleLog = console.log;
41
+ const oldConsoleError = console.error;
42
+ const stdoutData = [];
43
+ const stderrData = [];
44
+ console.log = (...args) => {
45
+ stdoutData.push(util.format(...args));
46
+ };
47
+ console.error = (...args) => {
48
+ stderrData.push(util.format(...args));
49
+ };
50
+ let result;
51
+ try {
52
+ result = await func();
53
+ }
54
+ finally {
55
+ console.log = oldConsoleLog;
56
+ console.error = oldConsoleError;
57
+ }
58
+ const join = (data) => (data.length > 0 ? data.join('\n') + '\n' : '');
59
+ return {
60
+ stdout: join(stdoutData),
61
+ stderr: join(stderrData),
62
+ result,
63
+ };
64
+ }
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FwdHVyZUNvbnNvbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L2NhcHR1cmVDb25zb2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRUEsd0NBaUNDO0FBbkNELGdEQUFrQztBQUUzQixLQUFLLFVBQVUsY0FBYyxDQUNsQyxJQUFzQjtJQUV0QixPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQyxzREFBc0Q7SUFDbEYsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQztJQUNsQyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO0lBRXRDLE1BQU0sVUFBVSxHQUFhLEVBQUUsQ0FBQztJQUNoQyxNQUFNLFVBQVUsR0FBYSxFQUFFLENBQUM7SUFFaEMsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUU7UUFDL0IsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDLENBQUM7SUFFRixPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFXLEVBQUUsRUFBRTtRQUNqQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUMsQ0FBQztJQUVGLElBQUksTUFBUyxDQUFDO0lBQ2QsSUFBSSxDQUFDO1FBQ0gsTUFBTSxHQUFHLE1BQU0sSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztZQUFTLENBQUM7UUFDVCxPQUFPLENBQUMsR0FBRyxHQUFHLGFBQWEsQ0FBQztRQUM1QixPQUFPLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFjLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUVqRixPQUFPO1FBQ0wsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDeEIsTUFBTTtLQUNQLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXRpbCBmcm9tICdub2RlOnV0aWwnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY2FwdHVyZUNvbnNvbGU8VD4oXG4gIGZ1bmM6ICgpID0+IFByb21pc2U8VD5cbik6IFByb21pc2U8eyBzdGRvdXQ6IHN0cmluZzsgc3RkZXJyOiBzdHJpbmc7IHJlc3VsdDogVCB9PiB7XG4gIHByb2Nlc3MuZW52Lk5PX0NPTE9SID0gJzEnOyAvLyBEaXNhYmxlIGNvbG9ycyBpbiBjb25zb2xlIG91dHB1dCBmb3IgZWFzaWVyIHRlc3RpbmdcbiAgY29uc3Qgb2xkQ29uc29sZUxvZyA9IGNvbnNvbGUubG9nO1xuICBjb25zdCBvbGRDb25zb2xlRXJyb3IgPSBjb25zb2xlLmVycm9yO1xuXG4gIGNvbnN0IHN0ZG91dERhdGE6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IHN0ZGVyckRhdGE6IHN0cmluZ1tdID0gW107XG5cbiAgY29uc29sZS5sb2cgPSAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICBzdGRvdXREYXRhLnB1c2godXRpbC5mb3JtYXQoLi4uYXJncykpO1xuICB9O1xuXG4gIGNvbnNvbGUuZXJyb3IgPSAoLi4uYXJnczogYW55W10pID0+IHtcbiAgICBzdGRlcnJEYXRhLnB1c2godXRpbC5mb3JtYXQoLi4uYXJncykpO1xuICB9O1xuXG4gIGxldCByZXN1bHQ6IFQ7XG4gIHRyeSB7XG4gICAgcmVzdWx0ID0gYXdhaXQgZnVuYygpO1xuICB9IGZpbmFsbHkge1xuICAgIGNvbnNvbGUubG9nID0gb2xkQ29uc29sZUxvZztcbiAgICBjb25zb2xlLmVycm9yID0gb2xkQ29uc29sZUVycm9yO1xuICB9XG5cbiAgY29uc3Qgam9pbiA9IChkYXRhOiBzdHJpbmdbXSkgPT4gKGRhdGEubGVuZ3RoID4gMCA/IGRhdGEuam9pbignXFxuJykgKyAnXFxuJyA6ICcnKTtcblxuICByZXR1cm4ge1xuICAgIHN0ZG91dDogam9pbihzdGRvdXREYXRhKSxcbiAgICBzdGRlcnI6IGpvaW4oc3RkZXJyRGF0YSksXG4gICAgcmVzdWx0LFxuICB9O1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=fromFixedScript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fromFixedScript.d.ts","sourceRoot":"","sources":["../../../test/cmdDescriptor/fromFixedScript.ts"],"names":[],"mappings":""}
@@ -0,0 +1,70 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const assert = __importStar(require("assert"));
40
+ const yargs_1 = __importDefault(require("yargs"));
41
+ const cmdDescriptor_1 = require("../../src/commands/cmdDescriptor");
42
+ const fixtures_1 = require("../fixtures");
43
+ const bip32_util_1 = require("../bip32.util");
44
+ const captureConsole_1 = require("../captureConsole");
45
+ function keyArgs() {
46
+ const [userKey, backupKey, bitgoKey] = (0, bip32_util_1.getKeyTriple)('generateAddress').map((k) => k.neutered().toBase58());
47
+ return ['--userKey', userKey, '--backupKey', backupKey, '--bitgoKey', bitgoKey, '--scriptType', 'p2sh'];
48
+ }
49
+ describe('cmdDescriptor fromFixedScript', function () {
50
+ function runTest(argv, fixtureName) {
51
+ it(`should output expected descriptor (${fixtureName})`, async function () {
52
+ const y = (0, yargs_1.default)(argv)
53
+ .command(cmdDescriptor_1.cmdFromFixedScript)
54
+ .exitProcess(false)
55
+ .fail((msg, err) => {
56
+ throw err || new Error(msg);
57
+ });
58
+ const { stdout, stderr } = await (0, captureConsole_1.captureConsole)(async () => {
59
+ await y.parse();
60
+ });
61
+ // Compare output to fixture, or check for expected descriptor substring
62
+ const expected = await (0, fixtures_1.getFixtureString)(`test/fixtures/fromFixedScript/${fixtureName}.txt`, stdout);
63
+ assert.strictEqual(stdout.trim(), expected.trim());
64
+ assert.strictEqual(stderr, '');
65
+ });
66
+ }
67
+ runTest(['fromFixedScript', ...keyArgs()], 'default');
68
+ runTest(['fromFixedScript', ...keyArgs(), '--network', 'testnet'], 'network-testnet');
69
+ });
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbUZpeGVkU2NyaXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC9jbWREZXNjcmlwdG9yL2Zyb21GaXhlZFNjcmlwdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQUNqQyxrREFBMEI7QUFFMUIsb0VBQXNFO0FBQ3RFLDBDQUErQztBQUMvQyw4Q0FBNkM7QUFDN0Msc0RBQW1EO0FBRW5ELFNBQVMsT0FBTztJQUNkLE1BQU0sQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxHQUFHLElBQUEseUJBQVksRUFBQyxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDM0csT0FBTyxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUMxRyxDQUFDO0FBRUQsUUFBUSxDQUFDLCtCQUErQixFQUFFO0lBQ3hDLFNBQVMsT0FBTyxDQUFDLElBQWMsRUFBRSxXQUFtQjtRQUNsRCxFQUFFLENBQUMsc0NBQXNDLFdBQVcsR0FBRyxFQUFFLEtBQUs7WUFDNUQsTUFBTSxDQUFDLEdBQUcsSUFBQSxlQUFLLEVBQUMsSUFBSSxDQUFDO2lCQUNsQixPQUFPLENBQUMsa0NBQWtCLENBQUM7aUJBQzNCLFdBQVcsQ0FBQyxLQUFLLENBQUM7aUJBQ2xCLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtnQkFDakIsTUFBTSxHQUFHLElBQUksSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDOUIsQ0FBQyxDQUFDLENBQUM7WUFFTCxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSwrQkFBYyxFQUFDLEtBQUssSUFBSSxFQUFFO2dCQUN6RCxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQixDQUFDLENBQUMsQ0FBQztZQUVILHdFQUF3RTtZQUN4RSxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUEsMkJBQWdCLEVBQUMsaUNBQWlDLFdBQVcsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3BHLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxDQUFDLGlCQUFpQixFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUV0RCxPQUFPLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLE9BQU8sRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0FBQ3hGLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuXG5pbXBvcnQgeyBjbWRGcm9tRml4ZWRTY3JpcHQgfSBmcm9tICcuLi8uLi9zcmMvY29tbWFuZHMvY21kRGVzY3JpcHRvcic7XG5pbXBvcnQgeyBnZXRGaXh0dXJlU3RyaW5nIH0gZnJvbSAnLi4vZml4dHVyZXMnO1xuaW1wb3J0IHsgZ2V0S2V5VHJpcGxlIH0gZnJvbSAnLi4vYmlwMzIudXRpbCc7XG5pbXBvcnQgeyBjYXB0dXJlQ29uc29sZSB9IGZyb20gJy4uL2NhcHR1cmVDb25zb2xlJztcblxuZnVuY3Rpb24ga2V5QXJncygpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IFt1c2VyS2V5LCBiYWNrdXBLZXksIGJpdGdvS2V5XSA9IGdldEtleVRyaXBsZSgnZ2VuZXJhdGVBZGRyZXNzJykubWFwKChrKSA9PiBrLm5ldXRlcmVkKCkudG9CYXNlNTgoKSk7XG4gIHJldHVybiBbJy0tdXNlcktleScsIHVzZXJLZXksICctLWJhY2t1cEtleScsIGJhY2t1cEtleSwgJy0tYml0Z29LZXknLCBiaXRnb0tleSwgJy0tc2NyaXB0VHlwZScsICdwMnNoJ107XG59XG5cbmRlc2NyaWJlKCdjbWREZXNjcmlwdG9yIGZyb21GaXhlZFNjcmlwdCcsIGZ1bmN0aW9uICgpIHtcbiAgZnVuY3Rpb24gcnVuVGVzdChhcmd2OiBzdHJpbmdbXSwgZml4dHVyZU5hbWU6IHN0cmluZykge1xuICAgIGl0KGBzaG91bGQgb3V0cHV0IGV4cGVjdGVkIGRlc2NyaXB0b3IgKCR7Zml4dHVyZU5hbWV9KWAsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IHkgPSB5YXJncyhhcmd2KVxuICAgICAgICAuY29tbWFuZChjbWRGcm9tRml4ZWRTY3JpcHQpXG4gICAgICAgIC5leGl0UHJvY2VzcyhmYWxzZSlcbiAgICAgICAgLmZhaWwoKG1zZywgZXJyKSA9PiB7XG4gICAgICAgICAgdGhyb3cgZXJyIHx8IG5ldyBFcnJvcihtc2cpO1xuICAgICAgICB9KTtcblxuICAgICAgY29uc3QgeyBzdGRvdXQsIHN0ZGVyciB9ID0gYXdhaXQgY2FwdHVyZUNvbnNvbGUoYXN5bmMgKCkgPT4ge1xuICAgICAgICBhd2FpdCB5LnBhcnNlKCk7XG4gICAgICB9KTtcblxuICAgICAgLy8gQ29tcGFyZSBvdXRwdXQgdG8gZml4dHVyZSwgb3IgY2hlY2sgZm9yIGV4cGVjdGVkIGRlc2NyaXB0b3Igc3Vic3RyaW5nXG4gICAgICBjb25zdCBleHBlY3RlZCA9IGF3YWl0IGdldEZpeHR1cmVTdHJpbmcoYHRlc3QvZml4dHVyZXMvZnJvbUZpeGVkU2NyaXB0LyR7Zml4dHVyZU5hbWV9LnR4dGAsIHN0ZG91dCk7XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoc3Rkb3V0LnRyaW0oKSwgZXhwZWN0ZWQudHJpbSgpKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChzdGRlcnIsICcnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJ1blRlc3QoWydmcm9tRml4ZWRTY3JpcHQnLCAuLi5rZXlBcmdzKCldLCAnZGVmYXVsdCcpO1xuXG4gIHJ1blRlc3QoWydmcm9tRml4ZWRTY3JpcHQnLCAuLi5rZXlBcmdzKCksICctLW5ldHdvcmsnLCAndGVzdG5ldCddLCAnbmV0d29yay10ZXN0bmV0Jyk7XG59KTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=cmdPsbt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmdPsbt.d.ts","sourceRoot":"","sources":["../../test/cmdPsbt.ts"],"names":[],"mappings":""}
@@ -0,0 +1,138 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const assert = __importStar(require("assert"));
40
+ const fs = __importStar(require("fs/promises"));
41
+ const yargs_1 = __importDefault(require("yargs"));
42
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
43
+ const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
44
+ const commands_1 = require("../src/commands");
45
+ const fixtures_1 = require("./fixtures");
46
+ const bip32_util_1 = require("./bip32.util");
47
+ const TxParser_1 = require("../src/TxParser");
48
+ async function runPsbtCommand(args) {
49
+ return commands_1.cmdPsbt.builder((0, yargs_1.default)([])).strict().exitProcess(false).parse(args);
50
+ }
51
+ async function assertEqualFixture(path, fixture, network = utxolib.networks.bitcoin) {
52
+ const actual = await fs.readFile(path, 'utf8');
53
+ const expected = await (0, fixtures_1.getFixtureString)(`test/fixtures/psbt/${fixture}`, actual);
54
+ assert.strictEqual(actual, expected);
55
+ const tx = path.endsWith('.psbt')
56
+ ? utxolib.bitgo.createPsbtDecode(actual, network)
57
+ : utxolib.bitgo.createTransactionFromBuffer(Buffer.from(actual, 'hex'), network, { amountType: 'bigint' });
58
+ const parsed = new TxParser_1.TxParser(TxParser_1.TxParser.PARSE_ALL).parse(tx);
59
+ const format = (0, fixtures_1.formatTreeNoColor)(parsed, { showAll: true });
60
+ assert.strictEqual(format, await (0, fixtures_1.getFixtureString)(`test/fixtures/psbt/${fixture}.txt`, format));
61
+ }
62
+ function multi(n, xpubs, path) {
63
+ return 'multi(' + n + ',' + xpubs.map((xpub) => xpub + path).join(',') + ')';
64
+ }
65
+ function getAddressFromDescriptor(descriptor, network) {
66
+ return utxolib.address.fromOutputScript(Buffer.from(descriptor.scriptPubkey()), network);
67
+ }
68
+ describe('cmdPsbt commands', function () {
69
+ const keys = (0, bip32_util_1.getKeyTriple)('cmdPsbt');
70
+ const xpubs = keys.map((k) => k.neutered().toBase58());
71
+ const descriptorString = `wsh(${multi(2, xpubs, '/*')})`;
72
+ const descriptor = wasm_miniscript_1.Descriptor.fromString(descriptorString, 'derivable');
73
+ it('creates empty psbt', async function () {
74
+ await fs.rm('/tmp/test.psbt', { force: true });
75
+ await runPsbtCommand(['create', '--path', '/tmp/test.psbt', '--edit']);
76
+ await assertEqualFixture('/tmp/test.psbt', '1.empty.psbt');
77
+ });
78
+ it('adds descriptor input', async function () {
79
+ const outputId = Buffer.alloc(32).fill(1).toString('hex') + ':0';
80
+ await runPsbtCommand([
81
+ 'addDescriptorInput',
82
+ '--path',
83
+ '/tmp/test.psbt',
84
+ '--edit',
85
+ '--outputId',
86
+ outputId,
87
+ '--value',
88
+ '1000000',
89
+ '--descriptor',
90
+ descriptorString,
91
+ '--descriptorIndex',
92
+ '0',
93
+ ]);
94
+ await assertEqualFixture('/tmp/test.psbt', '2.addDescriptorInput.psbt');
95
+ });
96
+ it('add output', async function () {
97
+ await runPsbtCommand([
98
+ 'addOutput',
99
+ '--path',
100
+ '/tmp/test.psbt',
101
+ '--edit',
102
+ '--address',
103
+ getAddressFromDescriptor(descriptor.atDerivationIndex(1), utxolib.networks.bitcoin),
104
+ '--amount',
105
+ '1111',
106
+ ]);
107
+ await assertEqualFixture('/tmp/test.psbt', '3.addOutput.psbt');
108
+ });
109
+ it('add max output', async function () {
110
+ await runPsbtCommand([
111
+ 'addOutput',
112
+ '--path',
113
+ '/tmp/test.psbt',
114
+ '--edit',
115
+ '--address',
116
+ getAddressFromDescriptor(descriptor.atDerivationIndex(2), utxolib.networks.bitcoin),
117
+ '--amount',
118
+ 'max',
119
+ '--feeRateSatB',
120
+ '10',
121
+ ]);
122
+ await assertEqualFixture('/tmp/test.psbt', '4.addMaxOutput.psbt');
123
+ });
124
+ it('sign', async function () {
125
+ await runPsbtCommand(['sign', '--path', '/tmp/test.psbt', '--edit', '--key', keys[0].toBase58()]);
126
+ await runPsbtCommand(['sign', '--path', '/tmp/test.psbt', '--edit', '--key', keys[1].toBase58()]);
127
+ await assertEqualFixture('/tmp/test.psbt', '5.sign.psbt');
128
+ });
129
+ it('finalize', async function () {
130
+ await runPsbtCommand(['finalize', '--path', '/tmp/test.psbt', '--edit']);
131
+ await assertEqualFixture('/tmp/test.psbt', '6.finalize.psbt');
132
+ });
133
+ it('extract', async function () {
134
+ await runPsbtCommand(['extract', '--path', '/tmp/test.psbt', '--out', '/tmp/test.hex']);
135
+ await assertEqualFixture('/tmp/test.hex', '7.extract.hex');
136
+ });
137
+ });
138
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kUHNidC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3QvY21kUHNidC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUFpQztBQUNqQyxnREFBa0M7QUFFbEMsa0RBQTBCO0FBQzFCLDhEQUFnRDtBQUNoRCw0REFBb0Q7QUFFcEQsOENBQTBDO0FBQzFDLHlDQUFpRTtBQUNqRSw2Q0FBNEM7QUFDNUMsOENBQTJDO0FBRTNDLEtBQUssVUFBVSxjQUFjLENBQUMsSUFBYztJQUMxQyxPQUFPLGtCQUFPLENBQUMsT0FBTyxDQUFDLElBQUEsZUFBSyxFQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM1RSxDQUFDO0FBRUQsS0FBSyxVQUFVLGtCQUFrQixDQUFDLElBQVksRUFBRSxPQUFlLEVBQUUsT0FBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTztJQUNqRyxNQUFNLE1BQU0sR0FBRyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQy9DLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBQSwyQkFBZ0IsRUFBQyxzQkFBc0IsT0FBTyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDakYsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckMsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7UUFDL0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQztRQUNqRCxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLENBQUMsSUFB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RSxLQUFLO1FBQ2xCLE1BQU0sY0FBYyxDQUFDLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3pFLE1BQU0sa0JBQWtCLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztJQUNoRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxTQUFTLEVBQUUsS0FBSztRQUNqQixNQUFNLGNBQWMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDeEYsTUFBTSxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDN0QsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMvcHJvbWlzZXMnO1xuXG5pbXBvcnQgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBEZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5cbmltcG9ydCB7IGNtZFBzYnQgfSBmcm9tICcuLi9zcmMvY29tbWFuZHMnO1xuaW1wb3J0IHsgZm9ybWF0VHJlZU5vQ29sb3IsIGdldEZpeHR1cmVTdHJpbmcgfSBmcm9tICcuL2ZpeHR1cmVzJztcbmltcG9ydCB7IGdldEtleVRyaXBsZSB9IGZyb20gJy4vYmlwMzIudXRpbCc7XG5pbXBvcnQgeyBUeFBhcnNlciB9IGZyb20gJy4uL3NyYy9UeFBhcnNlcic7XG5cbmFzeW5jIGZ1bmN0aW9uIHJ1blBzYnRDb21tYW5kKGFyZ3M6IHN0cmluZ1tdKSB7XG4gIHJldHVybiBjbWRQc2J0LmJ1aWxkZXIoeWFyZ3MoW10pKS5zdHJpY3QoKS5leGl0UHJvY2VzcyhmYWxzZSkucGFyc2UoYXJncyk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGFzc2VydEVxdWFsRml4dHVyZShwYXRoOiBzdHJpbmcsIGZpeHR1cmU6IHN0cmluZywgbmV0d29yayA9IHV0eG9saWIubmV0d29ya3MuYml0Y29pbikge1xuICBjb25zdCBhY3R1YWwgPSBhd2FpdCBmcy5yZWFkRmlsZShwYXRoLCAndXRmOCcpO1xuICBjb25zdCBleHBlY3RlZCA9IGF3YWl0IGdldEZpeHR1cmVTdHJpbmcoYHRlc3QvZml4dHVyZXMvcHNidC8ke2ZpeHR1cmV9YCwgYWN0dWFsKTtcbiAgYXNzZXJ0LnN0cmljdEVxdWFsKGFjdHVhbCwgZXhwZWN0ZWQpO1xuICBjb25zdCB0eCA9IHBhdGguZW5kc1dpdGgoJy5wc2J0JylcbiAgICA/IHV0eG9saWIuYml0Z28uY3JlYXRlUHNidERlY29kZShhY3R1YWwsIG5ldHdvcmspXG4gICAgOiB1dHhvbGliLmJpdGdvLmNyZWF0ZVRyYW5zYWN0aW9uRnJvbUJ1ZmZlcihCdWZmZXIuZnJvbShhY3R1YWwsICdoZXgnKSwgbmV0d29yaywgeyBhbW91bnRUeXBlOiAnYmlnaW50JyB9KTtcbiAgY29uc3QgcGFyc2VkID0gbmV3IFR4UGFyc2VyKFR4UGFyc2VyLlBBUlNFX0FMTCkucGFyc2UodHgpO1xuICBjb25zdCBmb3JtYXQgPSBmb3JtYXRUcmVlTm9Db2xvcihwYXJzZWQsIHsgc2hvd0FsbDogdHJ1ZSB9KTtcbiAgYXNzZXJ0LnN0cmljdEVxdWFsKGZvcm1hdCwgYXdhaXQgZ2V0Rml4dHVyZVN0cmluZyhgdGVzdC9maXh0dXJlcy9wc2J0LyR7Zml4dHVyZX0udHh0YCwgZm9ybWF0KSk7XG59XG5cbmZ1bmN0aW9uIG11bHRpKG46IG51bWJlciwgeHB1YnM6IHN0cmluZ1tdLCBwYXRoOiBzdHJpbmcpIHtcbiAgcmV0dXJuICdtdWx0aSgnICsgbiArICcsJyArIHhwdWJzLm1hcCgoeHB1YikgPT4geHB1YiArIHBhdGgpLmpvaW4oJywnKSArICcpJztcbn1cblxuZnVuY3Rpb24gZ2V0QWRkcmVzc0Zyb21EZXNjcmlwdG9yKGRlc2NyaXB0b3I6IERlc2NyaXB0b3IsIG5ldHdvcms6IHV0eG9saWIuTmV0d29yaykge1xuICByZXR1cm4gdXR4b2xpYi5hZGRyZXNzLmZyb21PdXRwdXRTY3JpcHQoQnVmZmVyLmZyb20oZGVzY3JpcHRvci5zY3JpcHRQdWJrZXkoKSksIG5ldHdvcmspO1xufVxuXG5kZXNjcmliZSgnY21kUHNidCBjb21tYW5kcycsIGZ1bmN0aW9uICgpIHtcbiAgY29uc3Qga2V5cyA9IGdldEtleVRyaXBsZSgnY21kUHNidCcpO1xuICBjb25zdCB4cHVicyA9IGtleXMubWFwKChrKSA9PiBrLm5ldXRlcmVkKCkudG9CYXNlNTgoKSk7XG4gIGNvbnN0IGRlc2NyaXB0b3JTdHJpbmcgPSBgd3NoKCR7bXVsdGkoMiwgeHB1YnMsICcvKicpfSlgO1xuICBjb25zdCBkZXNjcmlwdG9yID0gRGVzY3JpcHRvci5mcm9tU3RyaW5nKGRlc2NyaXB0b3JTdHJpbmcsICdkZXJpdmFibGUnKTtcblxuICBpdCgnY3JlYXRlcyBlbXB0eSBwc2J0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGF3YWl0IGZzLnJtKCcvdG1wL3Rlc3QucHNidCcsIHsgZm9yY2U6IHRydWUgfSk7XG4gICAgYXdhaXQgcnVuUHNidENvbW1hbmQoWydjcmVhdGUnLCAnLS1wYXRoJywgJy90bXAvdGVzdC5wc2J0JywgJy0tZWRpdCddKTtcbiAgICBhd2FpdCBhc3NlcnRFcXVhbEZpeHR1cmUoJy90bXAvdGVzdC5wc2J0JywgJzEuZW1wdHkucHNidCcpO1xuICB9KTtcblxuICBpdCgnYWRkcyBkZXNjcmlwdG9yIGlucHV0JywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGNvbnN0IG91dHB1dElkID0gQnVmZmVyLmFsbG9jKDMyKS5maWxsKDEpLnRvU3RyaW5nKCdoZXgnKSArICc6MCc7XG4gICAgYXdhaXQgcnVuUHNidENvbW1hbmQoW1xuICAgICAgJ2FkZERlc2NyaXB0b3JJbnB1dCcsXG4gICAgICAnLS1wYXRoJyxcbiAgICAgICcvdG1wL3Rlc3QucHNidCcsXG4gICAgICAnLS1lZGl0JyxcbiAgICAgICctLW91dHB1dElkJyxcbiAgICAgIG91dHB1dElkLFxuICAgICAgJy0tdmFsdWUnLFxuICAgICAgJzEwMDAwMDAnLFxuICAgICAgJy0tZGVzY3JpcHRvcicsXG4gICAgICBkZXNjcmlwdG9yU3RyaW5nLFxuICAgICAgJy0tZGVzY3JpcHRvckluZGV4JyxcbiAgICAgICcwJyxcbiAgICBdKTtcbiAgICBhd2FpdCBhc3NlcnRFcXVhbEZpeHR1cmUoJy90bXAvdGVzdC5wc2J0JywgJzIuYWRkRGVzY3JpcHRvcklucHV0LnBzYnQnKTtcbiAgfSk7XG5cbiAgaXQoJ2FkZCBvdXRwdXQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgYXdhaXQgcnVuUHNidENvbW1hbmQoW1xuICAgICAgJ2FkZE91dHB1dCcsXG4gICAgICAnLS1wYXRoJyxcbiAgICAgICcvdG1wL3Rlc3QucHNidCcsXG4gICAgICAnLS1lZGl0JyxcbiAgICAgICctLWFkZHJlc3MnLFxuICAgICAgZ2V0QWRkcmVzc0Zyb21EZXNjcmlwdG9yKGRlc2NyaXB0b3IuYXREZXJpdmF0aW9uSW5kZXgoMSksIHV0eG9saWIubmV0d29ya3MuYml0Y29pbiksXG4gICAgICAnLS1hbW91bnQnLFxuICAgICAgJzExMTEnLFxuICAgIF0pO1xuICAgIGF3YWl0IGFzc2VydEVxdWFsRml4dHVyZSgnL3RtcC90ZXN0LnBzYnQnLCAnMy5hZGRPdXRwdXQucHNidCcpO1xuICB9KTtcblxuICBpdCgnYWRkIG1heCBvdXRwdXQnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgYXdhaXQgcnVuUHNidENvbW1hbmQoW1xuICAgICAgJ2FkZE91dHB1dCcsXG4gICAgICAnLS1wYXRoJyxcbiAgICAgICcvdG1wL3Rlc3QucHNidCcsXG4gICAgICAnLS1lZGl0JyxcbiAgICAgICctLWFkZHJlc3MnLFxuICAgICAgZ2V0QWRkcmVzc0Zyb21EZXNjcmlwdG9yKGRlc2NyaXB0b3IuYXREZXJpdmF0aW9uSW5kZXgoMiksIHV0eG9saWIubmV0d29ya3MuYml0Y29pbiksXG4gICAgICAnLS1hbW91bnQnLFxuICAgICAgJ21heCcsXG4gICAgICAnLS1mZWVSYXRlU2F0QicsXG4gICAgICAnMTAnLFxuICAgIF0pO1xuXG4gICAgYXdhaXQgYXNzZXJ0RXF1YWxGaXh0dXJlKCcvdG1wL3Rlc3QucHNidCcsICc0LmFkZE1heE91dHB1dC5wc2J0Jyk7XG4gIH0pO1xuXG4gIGl0KCdzaWduJywgYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgIGF3YWl0IHJ1blBzYnRDb21tYW5kKFsnc2lnbicsICctLXBhdGgnLCAnL3RtcC90ZXN0LnBzYnQnLCAnLS1lZGl0JywgJy0ta2V5Jywga2V5c1swXS50b0Jhc2U1OCgpXSk7XG4gICAgYXdhaXQgcnVuUHNidENvbW1hbmQoWydzaWduJywgJy0tcGF0aCcsICcvdG1wL3Rlc3QucHNidCcsICctLWVkaXQnLCAnLS1rZXknLCBrZXlzWzFdLnRvQmFzZTU4KCldKTtcbiAgICBhd2FpdCBhc3NlcnRFcXVhbEZpeHR1cmUoJy90bXAvdGVzdC5wc2J0JywgJzUuc2lnbi5wc2J0Jyk7XG4gIH0pO1xuXG4gIGl0KCdmaW5hbGl6ZScsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICBhd2FpdCBydW5Qc2J0Q29tbWFuZChbJ2ZpbmFsaXplJywgJy0tcGF0aCcsICcvdG1wL3Rlc3QucHNidCcsICctLWVkaXQnXSk7XG4gICAgYXdhaXQgYXNzZXJ0RXF1YWxGaXh0dXJlKCcvdG1wL3Rlc3QucHNidCcsICc2LmZpbmFsaXplLnBzYnQnKTtcbiAgfSk7XG5cbiAgaXQoJ2V4dHJhY3QnLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgYXdhaXQgcnVuUHNidENvbW1hbmQoWydleHRyYWN0JywgJy0tcGF0aCcsICcvdG1wL3Rlc3QucHNidCcsICctLW91dCcsICcvdG1wL3Rlc3QuaGV4J10pO1xuICAgIGF3YWl0IGFzc2VydEVxdWFsRml4dHVyZSgnL3RtcC90ZXN0LmhleCcsICc3LmV4dHJhY3QuaGV4Jyk7XG4gIH0pO1xufSk7XG4iXX0=
@@ -0,0 +1,24 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ import { ParserNode } from '../src/Parser';
3
+ export declare function formatTreeNoColor(n: ParserNode, { showAll }: {
4
+ showAll: boolean;
5
+ }): string;
6
+ export type ParsedFixture = {
7
+ transaction: utxolib.bitgo.UtxoTransaction<bigint>;
8
+ prevOutputs: utxolib.TxOutput<bigint>[];
9
+ } | {
10
+ transaction: utxolib.bitgo.UtxoPsbt;
11
+ prevOutputs: undefined;
12
+ };
13
+ type FixtureParams = {
14
+ fixtureType: 'psbtUnsigned' | 'psbtHalfSigned' | 'psbtFullSigned' | 'networkFullSigned';
15
+ scriptType: utxolib.bitgo.outputScripts.ScriptType2Of3;
16
+ spendType?: 'keyPath' | 'scriptPath';
17
+ };
18
+ export declare function getPsbt(network: utxolib.Network, basePath: string, params: FixtureParams, { writeFixture }?: {
19
+ writeFixture?: string;
20
+ }): Promise<ParsedFixture>;
21
+ export declare function getTransactionWithSpendType(network: utxolib.Network, basePath: string, params: FixtureParams): Promise<ParsedFixture>;
22
+ export declare function getFixtureString(path: string, defaultValue: string): Promise<string>;
23
+ export {};
24
+ //# sourceMappingURL=fixtures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../test/fixtures.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,UAAU,EAAE,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAE1F;AAED,MAAM,MAAM,aAAa,GACrB;IACE,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACnD,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;CACzC,GACD;IACE,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;IACpC,WAAW,EAAE,SAAS,CAAC;CACxB,CAAC;AAEN,KAAK,aAAa,GAAG;IACnB,WAAW,EAAE,cAAc,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;IACxF,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC;IACvD,SAAS,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;CACtC,CAAC;AAIF,wBAAsB,OAAO,CAC3B,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,aAAa,EACrB,EAAE,YAAY,EAAE,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/C,OAAO,CAAC,aAAa,CAAC,CAmCxB;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,aAAa,CAAC,CA4CxB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU1F"}