@bitgo-beta/utxo-bin 2.8.3-beta.50 → 2.8.3-beta.501

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 (104) hide show
  1. package/README.md +63 -4
  2. package/dist/bin/index.js +11 -2
  3. package/dist/src/AddressParser.d.ts +1 -0
  4. package/dist/src/AddressParser.d.ts.map +1 -1
  5. package/dist/src/AddressParser.js +7 -1
  6. package/dist/src/InputParser.d.ts +1 -1
  7. package/dist/src/InputParser.d.ts.map +1 -1
  8. package/dist/src/InputParser.js +29 -22
  9. package/dist/src/OutputParser.d.ts +3 -2
  10. package/dist/src/OutputParser.d.ts.map +1 -1
  11. package/dist/src/OutputParser.js +17 -4
  12. package/dist/src/Parser.d.ts +2 -2
  13. package/dist/src/Parser.d.ts.map +1 -1
  14. package/dist/src/Parser.js +5 -2
  15. package/dist/src/ParserTx.d.ts +3 -3
  16. package/dist/src/ParserTx.d.ts.map +1 -1
  17. package/dist/src/ScriptParser.d.ts +21 -0
  18. package/dist/src/ScriptParser.d.ts.map +1 -0
  19. package/dist/src/ScriptParser.js +77 -0
  20. package/dist/src/TxParser.d.ts +3 -2
  21. package/dist/src/TxParser.d.ts.map +1 -1
  22. package/dist/src/TxParser.js +9 -7
  23. package/dist/src/args/format.d.ts +8 -0
  24. package/dist/src/args/format.d.ts.map +1 -0
  25. package/dist/src/args/format.js +15 -0
  26. package/dist/src/args/index.d.ts +5 -0
  27. package/dist/src/args/index.d.ts.map +1 -0
  28. package/dist/src/args/index.js +21 -0
  29. package/dist/src/args/parseNetwork.d.ts +22 -0
  30. package/dist/src/args/parseNetwork.d.ts.map +1 -0
  31. package/dist/src/args/parseNetwork.js +34 -0
  32. package/dist/src/args/parseString.d.ts +41 -0
  33. package/dist/src/args/parseString.d.ts.map +1 -0
  34. package/dist/src/args/parseString.js +120 -0
  35. package/dist/src/args/walletKeys.d.ts +38 -0
  36. package/dist/src/args/walletKeys.d.ts.map +1 -0
  37. package/dist/src/args/walletKeys.js +29 -0
  38. package/dist/src/bip32.d.ts +5 -0
  39. package/dist/src/bip32.d.ts.map +1 -0
  40. package/dist/src/bip32.js +25 -0
  41. package/dist/src/commands/cmdBip32.d.ts +16 -0
  42. package/dist/src/commands/cmdBip32.d.ts.map +1 -0
  43. package/dist/src/commands/cmdBip32.js +45 -0
  44. package/dist/src/commands/cmdGenerateAddress.d.ts +17 -0
  45. package/dist/src/commands/cmdGenerateAddress.d.ts.map +1 -0
  46. package/dist/src/commands/cmdGenerateAddress.js +55 -0
  47. package/dist/src/commands/cmdParseAddress.d.ts +20 -0
  48. package/dist/src/commands/cmdParseAddress.d.ts.map +1 -0
  49. package/dist/src/commands/cmdParseAddress.js +28 -0
  50. package/dist/src/commands/cmdParseScript.d.ts +18 -0
  51. package/dist/src/commands/cmdParseScript.d.ts.map +1 -0
  52. package/dist/src/commands/cmdParseScript.js +27 -0
  53. package/dist/src/commands/cmdParseTx.d.ts +30 -0
  54. package/dist/src/commands/cmdParseTx.d.ts.map +1 -0
  55. package/dist/src/commands/cmdParseTx.js +120 -0
  56. package/dist/src/commands/formatString.d.ts +9 -0
  57. package/dist/src/commands/formatString.d.ts.map +1 -0
  58. package/dist/src/commands/formatString.js +15 -0
  59. package/dist/src/commands/index.d.ts +6 -0
  60. package/dist/src/commands/index.d.ts.map +1 -0
  61. package/dist/src/commands/index.js +22 -0
  62. package/dist/src/fetch.d.ts +8 -1
  63. package/dist/src/fetch.d.ts.map +1 -1
  64. package/dist/src/fetch.js +38 -4
  65. package/dist/src/format.d.ts.map +1 -1
  66. package/dist/src/format.js +14 -5
  67. package/dist/src/generateAddress.d.ts +30 -0
  68. package/dist/src/generateAddress.d.ts.map +1 -0
  69. package/dist/src/generateAddress.js +103 -0
  70. package/dist/src/hollowSegwitSpend.d.ts +1 -1
  71. package/dist/src/hollowSegwitSpend.d.ts.map +1 -1
  72. package/dist/src/parseUnknown.d.ts +3 -1
  73. package/dist/src/parseUnknown.d.ts.map +1 -1
  74. package/dist/src/parseUnknown.js +4 -4
  75. package/dist/test/args/stringToBuffer.d.ts +2 -0
  76. package/dist/test/args/stringToBuffer.d.ts.map +1 -0
  77. package/dist/test/args/stringToBuffer.js +16 -0
  78. package/dist/test/bip32.d.ts +2 -0
  79. package/dist/test/bip32.d.ts.map +1 -0
  80. package/dist/test/bip32.js +22 -0
  81. package/dist/test/bip32.util.d.ts +6 -0
  82. package/dist/test/bip32.util.d.ts.map +1 -0
  83. package/dist/test/bip32.util.js +14 -0
  84. package/dist/test/fixtures.d.ts +2 -2
  85. package/dist/test/fixtures.d.ts.map +1 -1
  86. package/dist/test/fixtures.js +11 -4
  87. package/dist/test/generateAddress.d.ts +2 -0
  88. package/dist/test/generateAddress.d.ts.map +1 -0
  89. package/dist/test/generateAddress.js +29 -0
  90. package/dist/test/parseAddress.d.ts +1 -5
  91. package/dist/test/parseAddress.d.ts.map +1 -1
  92. package/dist/test/parseAddress.js +14 -18
  93. package/dist/test/parseScript.d.ts +2 -0
  94. package/dist/test/parseScript.d.ts.map +1 -0
  95. package/dist/test/parseScript.js +38 -0
  96. package/dist/test/parseTransaction.js +10 -7
  97. package/dist/tsconfig.tsbuildinfo +1 -4790
  98. package/package.json +7 -6
  99. package/dist/src/commands.d.ts +0 -48
  100. package/dist/src/commands.d.ts.map +0 -1
  101. package/dist/src/commands.js +0 -213
  102. package/dist/src/readStdin.d.ts +0 -5
  103. package/dist/src/readStdin.d.ts.map +0 -1
  104. package/dist/src/readStdin.js +0 -42
@@ -14,8 +14,8 @@ function getPrototypeKeys(obj) {
14
14
  }
15
15
  return keys;
16
16
  }
17
- function parseUnknown(p, label, obj) {
18
- if (Parser_1.isParserNodeValue(obj)) {
17
+ function parseUnknown(p, label, obj, { omit = [] } = {}) {
18
+ if ((0, Parser_1.isParserNodeValue)(obj)) {
19
19
  if (typeof obj === 'string') {
20
20
  obj = JSON.stringify(obj);
21
21
  }
@@ -31,7 +31,7 @@ function parseUnknown(p, label, obj) {
31
31
  if (allKeys.length > 0) {
32
32
  return p.node(label, undefined, allKeys.flatMap((k) => {
33
33
  const objAsRecord = obj;
34
- if (omitObject(objAsRecord[k])) {
34
+ if (omitObject(objAsRecord[k]) || (omit === null || omit === void 0 ? void 0 : omit.includes(k))) {
35
35
  return [];
36
36
  }
37
37
  try {
@@ -47,4 +47,4 @@ function parseUnknown(p, label, obj) {
47
47
  }
48
48
  }
49
49
  exports.parseUnknown = parseUnknown;
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VVbmtub3duLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhcnNlVW5rbm93bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBa0Y7QUFFbEYsU0FBUyxVQUFVLENBQUMsQ0FBVTtJQUM1QixPQUFPLE9BQU8sQ0FBQyxLQUFLLFVBQVUsQ0FBQztBQUNqQyxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxHQUFZO0lBQ3BDLE1BQU0sSUFBSSxHQUFhLEVBQUUsQ0FBQztJQUMxQixJQUFJLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDaEIsT0FBTyxLQUFLLElBQUksS0FBSyxLQUFLLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hELEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3RDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBZ0IsWUFBWSxDQUFDLENBQVMsRUFBRSxLQUFzQixFQUFFLEdBQVk7SUFDMUUsSUFBSSwwQkFBaUIsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUMxQixJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtZQUMzQixHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUMzQjtRQUNELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBc0IsQ0FBQyxDQUFDO0tBQzlDO0lBRUQsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLElBQUksR0FBRyxLQUFLLElBQUksRUFBRTtRQUMzQyxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixPQUFPLEdBQUcsRUFBRSxDQUFDLENBQUM7S0FDdkQ7SUFFRCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDdEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNYLEtBQUssRUFDTCxXQUFXLEdBQUcsQ0FBQyxNQUFNLEVBQUUsRUFDdkIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUN2RSxDQUFDO0tBQ0g7SUFFRCxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN0QyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ3RCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDWCxLQUFLLEVBQ0wsU0FBUyxFQUNULE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNwQixNQUFNLFdBQVcsR0FBRyxHQUE4QixDQUFDO1lBQ25ELElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUM5QixPQUFPLEVBQUUsQ0FBQzthQUNYO1lBQ0QsSUFBSTtnQkFDRixPQUFPLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUM3QztZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNWLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDNUM7UUFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO0tBQ0g7U0FBTTtRQUNMLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDNUI7QUFDSCxDQUFDO0FBeENELG9DQXdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGFyc2VyTm9kZVZhbHVlLCBQYXJzZXIsIFBhcnNlck5vZGUsIFBhcnNlck5vZGVWYWx1ZSB9IGZyb20gJy4vUGFyc2VyJztcblxuZnVuY3Rpb24gb21pdE9iamVjdCh2OiB1bmtub3duKTogYm9vbGVhbiB7XG4gIHJldHVybiB0eXBlb2YgdiA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZnVuY3Rpb24gZ2V0UHJvdG90eXBlS2V5cyhvYmo6IHVua25vd24pOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGtleXM6IHN0cmluZ1tdID0gW107XG4gIGxldCBwcm90byA9IG9iajtcbiAgd2hpbGUgKHByb3RvICYmIHByb3RvICE9PSBPYmplY3QucHJvdG90eXBlKSB7XG4gICAga2V5cy5wdXNoKC4uLk9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHByb3RvKSk7XG4gICAgcHJvdG8gPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YocHJvdG8pO1xuICB9XG4gIHJldHVybiBrZXlzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VVbmtub3duKHA6IFBhcnNlciwgbGFiZWw6IHN0cmluZyB8IG51bWJlciwgb2JqOiB1bmtub3duKTogUGFyc2VyTm9kZSB7XG4gIGlmIChpc1BhcnNlck5vZGVWYWx1ZShvYmopKSB7XG4gICAgaWYgKHR5cGVvZiBvYmogPT09ICdzdHJpbmcnKSB7XG4gICAgICBvYmogPSBKU09OLnN0cmluZ2lmeShvYmopO1xuICAgIH1cbiAgICByZXR1cm4gcC5ub2RlKGxhYmVsLCBvYmogYXMgUGFyc2VyTm9kZVZhbHVlKTtcbiAgfVxuXG4gIGlmICh0eXBlb2Ygb2JqICE9PSAnb2JqZWN0JyB8fCBvYmogPT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGV4cGVjdGVkIG9iamVjdCwgZ290ICR7dHlwZW9mIG9ian1gKTtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KG9iaikpIHtcbiAgICByZXR1cm4gcC5ub2RlKFxuICAgICAgbGFiZWwsXG4gICAgICBgbGVuZ3RoOiAke29iai5sZW5ndGh9YCxcbiAgICAgIG9iai5maWx0ZXIoKHYpID0+ICFvbWl0T2JqZWN0KHYpKS5tYXAoKHYsIGkpID0+IHBhcnNlVW5rbm93bihwLCBpLCB2KSlcbiAgICApO1xuICB9XG5cbiAgY29uc3QgYWxsS2V5cyA9IGdldFByb3RvdHlwZUtleXMob2JqKTtcbiAgaWYgKGFsbEtleXMubGVuZ3RoID4gMCkge1xuICAgIHJldHVybiBwLm5vZGUoXG4gICAgICBsYWJlbCxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGFsbEtleXMuZmxhdE1hcCgoaykgPT4ge1xuICAgICAgICBjb25zdCBvYmpBc1JlY29yZCA9IG9iaiBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICAgICAgaWYgKG9taXRPYmplY3Qob2JqQXNSZWNvcmRba10pKSB7XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgcmV0dXJuIFtwYXJzZVVua25vd24ocCwgaywgb2JqQXNSZWNvcmRba10pXTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIHJldHVybiBbcC5ub2RlKGssIGBFcnJvcjogJHtlLm1lc3NhZ2V9fWApXTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBwLm5vZGUobGFiZWwsICd7fScpO1xuICB9XG59XG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VVbmtub3duLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhcnNlVW5rbm93bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxQ0FBa0Y7QUFFbEYsU0FBUyxVQUFVLENBQUMsQ0FBVTtJQUM1QixPQUFPLE9BQU8sQ0FBQyxLQUFLLFVBQVUsQ0FBQztBQUNqQyxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxHQUFZO0lBQ3BDLE1BQU0sSUFBSSxHQUFhLEVBQUUsQ0FBQztJQUMxQixJQUFJLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDaEIsT0FBTyxLQUFLLElBQUksS0FBSyxLQUFLLE1BQU0sQ0FBQyxTQUFTLEVBQUU7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ2hELEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ3RDO0lBQ0QsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBRUQsU0FBZ0IsWUFBWSxDQUMxQixDQUFTLEVBQ1QsS0FBc0IsRUFDdEIsR0FBWSxFQUNaLEVBQUUsSUFBSSxHQUFHLEVBQUUsS0FBMEIsRUFBRTtJQUV2QyxJQUFJLElBQUEsMEJBQWlCLEVBQUMsR0FBRyxDQUFDLEVBQUU7UUFDMUIsSUFBSSxPQUFPLEdBQUcsS0FBSyxRQUFRLEVBQUU7WUFDM0IsR0FBRyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDM0I7UUFDRCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQXNCLENBQUMsQ0FBQztLQUM5QztJQUVELElBQUksT0FBTyxHQUFHLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDM0MsTUFBTSxJQUFJLEtBQUssQ0FBQyx3QkFBd0IsT0FBTyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0tBQ3ZEO0lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ3RCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDWCxLQUFLLEVBQ0wsV0FBVyxHQUFHLENBQUMsTUFBTSxFQUFFLEVBQ3ZCLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FDdkUsQ0FBQztLQUNIO0lBRUQsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEMsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUN0QixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ1gsS0FBSyxFQUNMLFNBQVMsRUFDVCxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxXQUFXLEdBQUcsR0FBOEIsQ0FBQztZQUNuRCxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFBLEVBQUU7Z0JBQ25ELE9BQU8sRUFBRSxDQUFDO2FBQ1g7WUFDRCxJQUFJO2dCQUNGLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzdDO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQzthQUM1QztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7S0FDSDtTQUFNO1FBQ0wsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztLQUM1QjtBQUNILENBQUM7QUE3Q0Qsb0NBNkNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQYXJzZXJOb2RlVmFsdWUsIFBhcnNlciwgUGFyc2VyTm9kZSwgUGFyc2VyTm9kZVZhbHVlIH0gZnJvbSAnLi9QYXJzZXInO1xuXG5mdW5jdGlvbiBvbWl0T2JqZWN0KHY6IHVua25vd24pOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGVvZiB2ID09PSAnZnVuY3Rpb24nO1xufVxuXG5mdW5jdGlvbiBnZXRQcm90b3R5cGVLZXlzKG9iajogdW5rbm93bik6IHN0cmluZ1tdIHtcbiAgY29uc3Qga2V5czogc3RyaW5nW10gPSBbXTtcbiAgbGV0IHByb3RvID0gb2JqO1xuICB3aGlsZSAocHJvdG8gJiYgcHJvdG8gIT09IE9iamVjdC5wcm90b3R5cGUpIHtcbiAgICBrZXlzLnB1c2goLi4uT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMocHJvdG8pKTtcbiAgICBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihwcm90byk7XG4gIH1cbiAgcmV0dXJuIGtleXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVVua25vd24oXG4gIHA6IFBhcnNlcixcbiAgbGFiZWw6IHN0cmluZyB8IG51bWJlcixcbiAgb2JqOiB1bmtub3duLFxuICB7IG9taXQgPSBbXSB9OiB7IG9taXQ/OiBzdHJpbmdbXSB9ID0ge31cbik6IFBhcnNlck5vZGUge1xuICBpZiAoaXNQYXJzZXJOb2RlVmFsdWUob2JqKSkge1xuICAgIGlmICh0eXBlb2Ygb2JqID09PSAnc3RyaW5nJykge1xuICAgICAgb2JqID0gSlNPTi5zdHJpbmdpZnkob2JqKTtcbiAgICB9XG4gICAgcmV0dXJuIHAubm9kZShsYWJlbCwgb2JqIGFzIFBhcnNlck5vZGVWYWx1ZSk7XG4gIH1cblxuICBpZiAodHlwZW9mIG9iaiAhPT0gJ29iamVjdCcgfHwgb2JqID09PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBleHBlY3RlZCBvYmplY3QsIGdvdCAke3R5cGVvZiBvYmp9YCk7XG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheShvYmopKSB7XG4gICAgcmV0dXJuIHAubm9kZShcbiAgICAgIGxhYmVsLFxuICAgICAgYGxlbmd0aDogJHtvYmoubGVuZ3RofWAsXG4gICAgICBvYmouZmlsdGVyKCh2KSA9PiAhb21pdE9iamVjdCh2KSkubWFwKCh2LCBpKSA9PiBwYXJzZVVua25vd24ocCwgaSwgdikpXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGFsbEtleXMgPSBnZXRQcm90b3R5cGVLZXlzKG9iaik7XG4gIGlmIChhbGxLZXlzLmxlbmd0aCA+IDApIHtcbiAgICByZXR1cm4gcC5ub2RlKFxuICAgICAgbGFiZWwsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBhbGxLZXlzLmZsYXRNYXAoKGspID0+IHtcbiAgICAgICAgY29uc3Qgb2JqQXNSZWNvcmQgPSBvYmogYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgICAgIGlmIChvbWl0T2JqZWN0KG9iakFzUmVjb3JkW2tdKSB8fCBvbWl0Py5pbmNsdWRlcyhrKSkge1xuICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgIHJldHVybiBbcGFyc2VVbmtub3duKHAsIGssIG9iakFzUmVjb3JkW2tdKV07XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICByZXR1cm4gW3Aubm9kZShrLCBgRXJyb3I6ICR7ZS5tZXNzYWdlfX1gKV07XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gcC5ub2RlKGxhYmVsLCAne30nKTtcbiAgfVxufVxuIl19
@@ -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,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const assert = require("assert");
4
+ const parseString_1 = require("../../src/args/parseString");
5
+ describe('stringToBuffer', function () {
6
+ const bytes = Buffer.alloc(32, 42);
7
+ it('converts hex and base64', function () {
8
+ for (const e of ['hex', 'base64']) {
9
+ const str = bytes.toString(e);
10
+ assert.deepStrictEqual((0, parseString_1.stringToBuffer)(str, ['hex', 'base64']), bytes);
11
+ const strNl = [str.slice(0, 4), str.slice(4)].join('\n');
12
+ assert.deepStrictEqual((0, parseString_1.stringToBuffer)(strNl, ['hex', 'base64']), bytes);
13
+ }
14
+ });
15
+ });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nVG9CdWZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L2FyZ3Mvc3RyaW5nVG9CdWZmZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpQ0FBaUM7QUFFakMsNERBQTREO0FBRTVELFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRTtJQUN6QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNuQyxFQUFFLENBQUMseUJBQXlCLEVBQUU7UUFDNUIsS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQXFCLEVBQUU7WUFDckQsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixNQUFNLENBQUMsZUFBZSxDQUFDLElBQUEsNEJBQWMsRUFBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUV0RSxNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDekQsTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFBLDRCQUFjLEVBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDekU7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCB7IHN0cmluZ1RvQnVmZmVyIH0gZnJvbSAnLi4vLi4vc3JjL2FyZ3MvcGFyc2VTdHJpbmcnO1xuXG5kZXNjcmliZSgnc3RyaW5nVG9CdWZmZXInLCBmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IGJ5dGVzID0gQnVmZmVyLmFsbG9jKDMyLCA0Mik7XG4gIGl0KCdjb252ZXJ0cyBoZXggYW5kIGJhc2U2NCcsIGZ1bmN0aW9uICgpIHtcbiAgICBmb3IgKGNvbnN0IGUgb2YgWydoZXgnLCAnYmFzZTY0J10gYXMgQnVmZmVyRW5jb2RpbmdbXSkge1xuICAgICAgY29uc3Qgc3RyID0gYnl0ZXMudG9TdHJpbmcoZSk7XG4gICAgICBhc3NlcnQuZGVlcFN0cmljdEVxdWFsKHN0cmluZ1RvQnVmZmVyKHN0ciwgWydoZXgnLCAnYmFzZTY0J10pLCBieXRlcyk7XG5cbiAgICAgIGNvbnN0IHN0ck5sID0gW3N0ci5zbGljZSgwLCA0KSwgc3RyLnNsaWNlKDQpXS5qb2luKCdcXG4nKTtcbiAgICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwoc3RyaW5nVG9CdWZmZXIoc3RyTmwsIFsnaGV4JywgJ2Jhc2U2NCddKSwgYnl0ZXMpO1xuICAgIH1cbiAgfSk7XG59KTtcbiJdfQ==
@@ -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,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const assert = require("assert");
4
+ const bip32_1 = require("../src/bip32");
5
+ const fixtures_1 = require("./fixtures");
6
+ const bip32_util_1 = require("./bip32.util");
7
+ function runTest(bip32Key, args) {
8
+ describe(`parse bip32 ${JSON.stringify(args)}`, function () {
9
+ it('has expected output', async function () {
10
+ const formatted = (0, fixtures_1.formatTreeNoColor)((0, bip32_1.parseBip32)(bip32Key, args), { showAll: true });
11
+ const filename = [bip32Key];
12
+ if (args.derive) {
13
+ filename.push(args.derive.replace(/\//g, '_'));
14
+ }
15
+ assert.strictEqual(await (0, fixtures_1.getFixtureString)(`test/fixtures/bip32/${filename.join('_')}.txt`, formatted), formatted);
16
+ });
17
+ });
18
+ }
19
+ runTest((0, bip32_util_1.getKey)('bip32').toBase58(), {});
20
+ runTest((0, bip32_util_1.getKey)('bip32').toBase58(), { derive: 'm/0/0' });
21
+ runTest((0, bip32_util_1.getKey)('bip32').neutered().toBase58(), { derive: 'm/0/0' });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlwMzIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L2JpcDMyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaUNBQWlDO0FBRWpDLHdDQUEwQztBQUUxQyx5Q0FBaUU7QUFDakUsNkNBQXNDO0FBRXRDLFNBQVMsT0FBTyxDQUFDLFFBQWdCLEVBQUUsSUFBeUI7SUFDMUQsUUFBUSxDQUFDLGVBQWUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFO1FBQzlDLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxLQUFLO1lBQzdCLE1BQU0sU0FBUyxHQUFHLElBQUEsNEJBQWlCLEVBQUMsSUFBQSxrQkFBVSxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ25GLE1BQU0sUUFBUSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDNUIsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNmLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDaEQ7WUFDRCxNQUFNLENBQUMsV0FBVyxDQUFDLE1BQU0sSUFBQSwyQkFBZ0IsRUFBQyx1QkFBdUIsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3BILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsT0FBTyxDQUFDLElBQUEsbUJBQU0sRUFBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN4QyxPQUFPLENBQUMsSUFBQSxtQkFBTSxFQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDekQsT0FBTyxDQUFDLElBQUEsbUJBQU0sRUFBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCB7IHBhcnNlQmlwMzIgfSBmcm9tICcuLi9zcmMvYmlwMzInO1xuXG5pbXBvcnQgeyBmb3JtYXRUcmVlTm9Db2xvciwgZ2V0Rml4dHVyZVN0cmluZyB9IGZyb20gJy4vZml4dHVyZXMnO1xuaW1wb3J0IHsgZ2V0S2V5IH0gZnJvbSAnLi9iaXAzMi51dGlsJztcblxuZnVuY3Rpb24gcnVuVGVzdChiaXAzMktleTogc3RyaW5nLCBhcmdzOiB7IGRlcml2ZT86IHN0cmluZyB9KSB7XG4gIGRlc2NyaWJlKGBwYXJzZSBiaXAzMiAke0pTT04uc3RyaW5naWZ5KGFyZ3MpfWAsIGZ1bmN0aW9uICgpIHtcbiAgICBpdCgnaGFzIGV4cGVjdGVkIG91dHB1dCcsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGZvcm1hdFRyZWVOb0NvbG9yKHBhcnNlQmlwMzIoYmlwMzJLZXksIGFyZ3MpLCB7IHNob3dBbGw6IHRydWUgfSk7XG4gICAgICBjb25zdCBmaWxlbmFtZSA9IFtiaXAzMktleV07XG4gICAgICBpZiAoYXJncy5kZXJpdmUpIHtcbiAgICAgICAgZmlsZW5hbWUucHVzaChhcmdzLmRlcml2ZS5yZXBsYWNlKC9cXC8vZywgJ18nKSk7XG4gICAgICB9XG4gICAgICBhc3NlcnQuc3RyaWN0RXF1YWwoYXdhaXQgZ2V0Rml4dHVyZVN0cmluZyhgdGVzdC9maXh0dXJlcy9iaXAzMi8ke2ZpbGVuYW1lLmpvaW4oJ18nKX0udHh0YCwgZm9ybWF0dGVkKSwgZm9ybWF0dGVkKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbnJ1blRlc3QoZ2V0S2V5KCdiaXAzMicpLnRvQmFzZTU4KCksIHt9KTtcbnJ1blRlc3QoZ2V0S2V5KCdiaXAzMicpLnRvQmFzZTU4KCksIHsgZGVyaXZlOiAnbS8wLzAnIH0pO1xucnVuVGVzdChnZXRLZXkoJ2JpcDMyJykubmV1dGVyZWQoKS50b0Jhc2U1OCgpLCB7IGRlcml2ZTogJ20vMC8wJyB9KTtcbiJdfQ==
@@ -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,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getKeyTriple = exports.getKey = void 0;
4
+ const crypto = require("crypto");
5
+ const utxolib = require("@bitgo-beta/utxo-lib");
6
+ function getKey(seed) {
7
+ return utxolib.bip32.fromSeed(crypto.createHash('sha256').update(seed).digest());
8
+ }
9
+ exports.getKey = getKey;
10
+ function getKeyTriple(seed) {
11
+ return [getKey(seed + '.0'), getKey(seed + '.1'), getKey(seed + '.2')];
12
+ }
13
+ exports.getKeyTriple = getKeyTriple;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlwMzIudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3QvYmlwMzIudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpQ0FBaUM7QUFFakMsZ0RBQWdEO0FBTWhELFNBQWdCLE1BQU0sQ0FBQyxJQUFZO0lBQ2pDLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUNuRixDQUFDO0FBRkQsd0JBRUM7QUFDRCxTQUFnQixZQUFZLENBQUMsSUFBWTtJQUN2QyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDO0FBRkQsb0NBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBjcnlwdG8gZnJvbSAnY3J5cHRvJztcblxuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBCSVAzMkludGVyZmFjZSB9IGZyb20gJ2JpcDMyJztcblxuZXhwb3J0IHR5cGUgVHJpcGxlPFQ+ID0gW1QsIFQsIFRdO1xuXG5leHBvcnQgdHlwZSBLZXlUcmlwbGUgPSBUcmlwbGU8QklQMzJJbnRlcmZhY2U+O1xuZXhwb3J0IGZ1bmN0aW9uIGdldEtleShzZWVkOiBzdHJpbmcpOiBCSVAzMkludGVyZmFjZSB7XG4gIHJldHVybiB1dHhvbGliLmJpcDMyLmZyb21TZWVkKGNyeXB0by5jcmVhdGVIYXNoKCdzaGEyNTYnKS51cGRhdGUoc2VlZCkuZGlnZXN0KCkpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldEtleVRyaXBsZShzZWVkOiBzdHJpbmcpOiBLZXlUcmlwbGUge1xuICByZXR1cm4gW2dldEtleShzZWVkICsgJy4wJyksIGdldEtleShzZWVkICsgJy4xJyksIGdldEtleShzZWVkICsgJy4yJyldO1xufVxuIl19
@@ -3,14 +3,14 @@ import { ParserNode } from '../src/Parser';
3
3
  export declare function formatTreeNoColor(n: ParserNode, { showAll }: {
4
4
  showAll: boolean;
5
5
  }): string;
6
- export declare type ParsedFixture = {
6
+ export type ParsedFixture = {
7
7
  transaction: utxolib.bitgo.UtxoTransaction<bigint>;
8
8
  prevOutputs: utxolib.TxOutput<bigint>[];
9
9
  } | {
10
10
  transaction: utxolib.bitgo.UtxoPsbt;
11
11
  prevOutputs: undefined;
12
12
  };
13
- declare type FixtureParams = {
13
+ type FixtureParams = {
14
14
  fixtureType: 'psbtUnsigned' | 'psbtHalfSigned' | 'psbtFullSigned' | 'networkFullSigned';
15
15
  scriptType: utxolib.bitgo.outputScripts.ScriptType2Of3;
16
16
  spendType?: 'keyPath' | 'scriptPath';
@@ -1 +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,oBAAY,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,aAAK,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,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,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,aAAa,CAAC,CAsCxB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAU1F"}
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,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,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"}
@@ -6,7 +6,7 @@ const chalk_1 = require("chalk");
6
6
  const utxolib = require("@bitgo-beta/utxo-lib");
7
7
  const format_1 = require("../src/format");
8
8
  function formatTreeNoColor(n, { showAll }) {
9
- return format_1.formatTree(n, { hide: showAll ? [] : undefined, chalk: new chalk_1.Instance({ level: 0 }) });
9
+ return (0, format_1.formatTree)(n, { hide: showAll ? [] : undefined, chalk: new chalk_1.Instance({ level: 0 }) });
10
10
  }
11
11
  exports.formatTreeNoColor = formatTreeNoColor;
12
12
  const walletKeys = utxolib.testutil.getDefaultWalletKeys();
@@ -52,8 +52,15 @@ async function getTransactionWithSpendType(network, params) {
52
52
  if (params.fixtureType !== 'networkFullSigned') {
53
53
  return await getPsbt(network, params);
54
54
  }
55
- if (params.scriptType === 'p2trMusig2' && !params.spendType) {
56
- throw new Error('p2trMusig2 requires params');
55
+ if (params.scriptType === 'p2trMusig2') {
56
+ if (!params.spendType) {
57
+ throw new Error('p2trMusig2 requires params');
58
+ }
59
+ }
60
+ else {
61
+ if (params.spendType) {
62
+ throw new Error('only p2trMusig2 requires spendType');
63
+ }
57
64
  }
58
65
  const filename = `spend_${params.scriptType}${params.spendType ? `${params.spendType}` : ''}.json`;
59
66
  const f = await JSON.parse(await fs_1.promises.readFile(`../utxo-lib/test/integration_local_rpc/fixtures/${utxolib.getNetworkName(network)}/v1/${filename}`, 'utf8'));
@@ -85,4 +92,4 @@ async function getFixtureString(path, defaultValue) {
85
92
  }
86
93
  }
87
94
  exports.getFixtureString = getFixtureString;
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L2ZpeHR1cmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJCQUFvQztBQUVwQyxpQ0FBaUM7QUFDakMsZ0RBQWdEO0FBRWhELDBDQUEyQztBQUczQyxTQUFnQixpQkFBaUIsQ0FBQyxDQUFhLEVBQUUsRUFBRSxPQUFPLEVBQXdCO0lBQ2hGLE9BQU8sbUJBQVUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxnQkFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQzlGLENBQUM7QUFGRCw4Q0FFQztBQWtCRCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLG9CQUFvQixFQUFFLENBQUM7QUFFcEQsS0FBSyxVQUFVLE9BQU8sQ0FDM0IsT0FBd0IsRUFDeEIsTUFBcUIsRUFDckIsRUFBRSxZQUFZLEtBQWdDLEVBQUU7SUFFaEQsTUFBTSxNQUFNLEdBQTZCO1FBQ3ZDLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQU0sQ0FBQyxFQUFFO0tBQ2xILENBQUM7SUFDRixNQUFNLE9BQU8sR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUUsSUFBSSxLQUFLLEdBQVcsTUFBTSxDQUFDLFdBQVcsQ0FBQztJQUN2QyxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFD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O1FBQ1YsSUFBSyxDQUFTLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNoQyxNQUFNLGFBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMvQyxNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsTUFBTSxDQUFDLENBQUM7S0FDVDtBQUNILENBQUM7QUFWRCw0Q0FVQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHByb21pc2VzIGFzIGZzIH0gZnJvbSAnZnMnO1xuXG5pbXBvcnQgeyBJbnN0YW5jZSB9IGZyb20gJ2NoYWxrJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5pbXBvcnQgeyBmb3JtYXRUcmVlIH0gZnJvbSAnLi4vc3JjL2Zvcm1hdCc7XG5pbXBvcnQgeyBQYXJzZXJOb2RlIH0gZnJvbSAnLi4vc3JjL1BhcnNlcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRUcmVlTm9Db2xvcihuOiBQYXJzZXJOb2RlLCB7IHNob3dBbGwgfTogeyBzaG93QWxsOiBib29sZWFuIH0pOiBzdHJpbmcge1xuICByZXR1cm4gZm9ybWF0VHJlZShuLCB7IGhpZGU6IHNob3dBbGwgPyBbXSA6IHVuZGVmaW5lZCwgY2hhbGs6IG5ldyBJbnN0YW5jZSh7IGxldmVsOiAwIH0pIH0pO1xufVxuXG5leHBvcnQgdHlwZSBQYXJzZWRGaXh0dXJlID1cbiAgfCB7XG4gICAgICB0cmFuc2FjdGlvbjogdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb248YmlnaW50PjtcbiAgICAgIHByZXZPdXRwdXRzOiB1dHhvbGliLlR4T3V0cHV0PGJpZ2ludD5bXTtcbiAgICB9XG4gIHwge1xuICAgICAgdHJhbnNhY3Rpb246IHV0eG9saWIuYml0Z28uVXR4b1BzYnQ7XG4gICAgICBwcmV2T3V0cHV0czogdW5kZWZpbmVkO1xuICAgIH07XG5cbnR5cGUgRml4dHVyZVBhcmFtcyA9IHtcbiAgZml4dHVyZVR5cGU6ICdwc2J0VW5zaWduZWQnIHwgJ3BzYnRIYWxmU2lnbmVkJyB8ICdwc2J0RnVsbFNpZ25lZCcgfCAnbmV0d29ya0Z1bGxTaWduZWQnO1xuICBzY3JpcHRUeXBlOiB1dHhvbGliLmJpdGdvLm91dHB1dFNjcmlwdHMuU2NyaXB0VHlwZTJPZjM7XG4gIHNwZW5kVHlwZT86ICdrZXlQYXRoJyB8ICdzY3JpcHRQYXRoJztcbn07XG5cbmNvbnN0IHdhbGxldEtleXMgPSB1dHhvbGliLnRlc3R1dGlsLmdldERlZmF1bHRXYWxsZXRLZXlzKCk7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRQc2J0KFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmssXG4gIHBhcmFtczogRml4dHVyZVBhcmFtcyxcbiAgeyB3cml0ZUZpeHR1cmUgfTogeyB3cml0ZUZpeHR1cmU/OiBzdHJpbmcgfSA9IHt9XG4pOiBQcm9taXNlPFBhcnNlZEZpeHR1cmU+IHtcbiAgY29uc3QgaW5wdXRzOiB1dHhvbGliLnRlc3R1dGlsLklucHV0W10gPSBbXG4gICAgeyBzY3JpcHRUeXBlOiBwYXJhbXMuc3BlbmRUeXBlID09PSAna2V5UGF0aCcgPyAndGFwcm9vdEtleVBhdGhTcGVuZCcgOiBwYXJhbXMuc2NyaXB0VHlwZSwgdmFsdWU6IEJpZ0ludCgxMF8wMDApIH0sXG4gIF07XG4gIGNvbnN0IG91dHB1dHMgPSBbeyBzY3JpcHRUeXBlOiBwYXJhbXMuc2NyaXB0VHlwZSwgdmFsdWU6IEJpZ0ludCg5XzAwMCkgfV07XG4gIGxldCBzdGFnZTogc3RyaW5nID0gcGFyYW1zLmZpeHR1cmVUeXBlO1xuICBpZiAoc3RhZ2Uuc3RhcnRzV2l0aCgncHNidCcpKSB7XG4gICAgc3RhZ2UgPSBzdGFnZS5zbGljZSgncHNidCcubGVuZ3RoKS50b0xvd2VyQ2FzZSgpO1xuICB9XG4gIGlmIChzdGFnZSAhPT0gJ3Vuc2lnbmVkJyAmJiBzdGFnZSAhPT0gJ2hhbGZzaWduZWQnICYmIHN0YWdlICE9PSAnZnVsbHNpZ25lZCcpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgc3RhZ2UgJHtzdGFnZX1gKTtcbiAgfVxuICBpZiAocGFyYW1zLnNwZW5kVHlwZSA9PT0gJ2tleVBhdGgnICYmIHdyaXRlRml4dHVyZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgLy8gYmVjYXVzZSB3ZSBjdXJyZW50bHkgY2Fubm90IGNyZWF0ZSBkZXRlcm1pbmlzdGljIHNpZ25hdHVyZXMgZm9yIHRhcHJvb3RLZXlQYXRoU3BlbmQsIHdlXG4gICAgLy8gc3RvcmUgYSBjb3B5IGluIGZpeHR1cmVzL3BzYnQgYW5kIHVzZSB0aGF0IGluc3RlYWQgb2YgY3JlYXRpbmcgYSBuZXcgb25lXG4gICAgY29uc3QgZmlsZW5hbWUgPSBgdGVzdC9maXh0dXJlcy9wc2J0LyR7cGFyYW1zLnNjcmlwdFR5cGV9LiR7cGFyYW1zLnNwZW5kVHlwZX0uJHtzdGFnZX0uanNvbmA7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBzYnRIZXggPSBKU09OLnBhcnNlKGF3YWl0IGZzLnJlYWRGaWxlKGZpbGVuYW1lLCAndXRmOCcpKTtcbiAgICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdXR4b2xpYi5iaXRnby5jcmVhdGVQc2J0RnJvbUhleChwc2J0SGV4LCBuZXR3b3JrKTtcbiAgICAgIHJldHVybiB7IHRyYW5zYWN0aW9uLCBwcmV2T3V0cHV0czogdW5kZWZpbmVkIH07XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKGUuY29kZSA9PT0gJ0VOT0VOVCcpIHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IGdldFBzYnQobmV0d29yaywgcGFyYW1zLCB7IHdyaXRlRml4dHVyZTogZmlsZW5hbWUgfSk7XG4gICAgICB9XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxuICBjb25zdCB0cmFuc2FjdGlvbiA9IHV0eG9saWIudGVzdHV0aWwuY29uc3RydWN0UHNidChpbnB1dHMsIG91dHB1dHMsIG5ldHdvcmssIHdhbGxldEtleXMsIHN0YWdlKTtcbiAgaWYgKHdyaXRlRml4dHVyZSkge1xuICAgIGF3YWl0IGZzLndyaXRlRmlsZSh3cml0ZUZpeHR1cmUsIEpTT04uc3RyaW5naWZ5KHRyYW5zYWN0aW9uLnRvSGV4KCkpLCAndXRmOCcpO1xuICB9XG4gIHJldHVybiB7XG4gICAgdHJhbnNhY3Rpb24sXG4gICAgcHJldk91dHB1dHM6IHVuZGVmaW5lZCxcbiAgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFRyYW5zYWN0aW9uV2l0aFNwZW5kVHlwZShcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrLFxuICBwYXJhbXM6IEZpeHR1cmVQYXJhbXNcbik6IFByb21pc2U8UGFyc2VkRml4dHVyZT4ge1xuICBpZiAocGFyYW1zLmZpeHR1cmVUeXBlICE9PSAnbmV0d29ya0Z1bGxTaWduZWQnKSB7XG4gICAgcmV0dXJuIGF3YWl0IGdldFBzYnQobmV0d29yaywgcGFyYW1zKTtcbiAgfVxuXG4gIGlmIChwYXJhbXMuc2NyaXB0VHlwZSA9PT0gJ3AydHJNdXNpZzInICYmICFwYXJhbXMuc3BlbmRUeXBlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdwMnRyTXVzaWcyIHJlcXVpcmVzIHBhcmFtcycpO1xuICB9XG5cbiAgY29uc3QgZmlsZW5hbWUgPSBgc3BlbmRfJHtwYXJhbXMuc2NyaXB0VHlwZX0ke3BhcmFtcy5zcGVuZFR5cGUgPyBgJHtwYXJhbXMuc3BlbmRUeXBlfWAgOiAnJ30uanNvbmA7XG4gIHR5cGUgRml4dHVyZSA9IHtcbiAgICB0cmFuc2FjdGlvbjogeyBoZXg6IHN0cmluZyB9O1xuICAgIGlucHV0czogeyBoZXg6IHN0cmluZyB9W107XG4gIH07XG5cbiAgY29uc3QgZjogRml4dHVyZSA9IGF3YWl0IEpTT04ucGFyc2UoXG4gICAgYXdhaXQgZnMucmVhZEZpbGUoXG4gICAgICBgLi4vdXR4by1saWIvdGVzdC9pbnRlZ3JhdGlvbl9sb2NhbF9ycGMvZml4dHVyZXMvJHt1dHhvbGliLmdldE5ldHdvcmtOYW1lKG5ldHdvcmspfS92MS8ke2ZpbGVuYW1lfWAsXG4gICAgICAndXRmOCdcbiAgICApXG4gICk7XG5cbiAgZnVuY3Rpb24gZ2V0UHJldk91dChpOiB1dHhvbGliLlR4SW5wdXQpOiB1dHhvbGliLlR4T3V0cHV0PGJpZ2ludD4ge1xuICAgIGZvciAoY29uc3QgdCBvZiBpbnB1dFR4cykge1xuICAgICAgaWYgKHQuZ2V0SGFzaCgpLmVxdWFscyhpLmhhc2gpICYmIGkuaW5kZXggaW4gdC5vdXRzKSB7XG4gICAgICAgIHJldHVybiB0Lm91dHNbaS5pbmRleF07XG4gICAgICB9XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihgbWlzc2luZyBpbnB1dCAke3V0eG9saWIuYml0Z28uZm9ybWF0T3V0cHV0SWQodXR4b2xpYi5iaXRnby5nZXRPdXRwdXRJZEZvcklucHV0KGkpKX1gKTtcbiAgfVxuXG4gIGNvbnN0IGlucHV0VHhzID0gZi5pbnB1dHMubWFwKChpKSA9PlxuICAgIHV0eG9saWIuYml0Z28uY3JlYXRlVHJhbnNhY3Rpb25Gcm9tQnVmZmVyKEJ1ZmZlci5mcm9tKGkuaGV4LCAnaGV4JyksIG5ldHdvcmssIHsgYW1vdW50VHlwZTogJ2JpZ2ludCcgfSlcbiAgKTtcbiAgY29uc3QgdHggPSB1dHhvbGliLmJpdGdvLmNyZWF0ZVRyYW5zYWN0aW9uRnJvbUJ1ZmZlcihCdWZmZXIuZnJvbShmLnRyYW5zYWN0aW9uLmhleCwgJ2hleCcpLCBuZXR3b3JrLCB7XG4gICAgYW1vdW50VHlwZTogJ2JpZ2ludCcsXG4gIH0pO1xuICByZXR1cm4geyB0cmFuc2FjdGlvbjogdHgsIHByZXZPdXRwdXRzOiB0eC5pbnMubWFwKChpKSA9PiBnZXRQcmV2T3V0KGkpKSB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0Rml4dHVyZVN0cmluZyhwYXRoOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgZnMucmVhZEZpbGUocGF0aCwgJ3V0ZjgnKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmICgoZSBhcyBhbnkpLmNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICBhd2FpdCBmcy53cml0ZUZpbGUocGF0aCwgZGVmYXVsdFZhbHVlLCAndXRmOCcpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB3cm90ZSBkZWZhdWx0IHZhbHVlIGZvciAke3BhdGh9YCk7XG4gICAgfVxuICAgIHRocm93IGU7XG4gIH1cbn1cbiJdfQ==
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml4dHVyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L2ZpeHR1cmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJCQUFvQztBQUVwQyxpQ0FBaUM7QUFDakMsZ0RBQWdEO0FBRWhELDBDQUEyQztBQUczQyxTQUFnQixpQkFBaUIsQ0FBQyxDQUFhLEVBQUUsRUFBRSxPQUFPLEVBQXdCO0lBQ2hGLE9BQU8sSUFBQSxtQkFBVSxFQUFDLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLGdCQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDOUYsQ0FBQztBQUZELDhDQUVDO0FBa0JELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztBQUVwRCxLQUFLLFVBQVUsT0FBTyxDQUMzQixPQUF3QixFQUN4QixNQUFxQixFQUNyQixFQUFFLFlBQVksS0FBZ0MsRUFBRTtJQUVoRCxNQUFNLE1BQU0sR0FBNkI7UUFDdkMsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBTSxDQUFDLEVBQUU7S0FDbEgsQ0FBQztJQUNGLE1BQU0sT0FBTyxHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMxRSxJQUFJLEtBQUssR0FBVyxNQUFNLENBQUMsV0FBVyxDQUFDO0lBQ3ZDLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFB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QVksRUFBRSxZQUFvQjtJQUN2RSxJQUFJO1FBQ0YsT0FBTyxNQUFNLGFBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQ3hDO0lBQUMsT0FBTyxDQUFDLEVBQUU7UUFDVixJQUFLLENBQVMsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQ2hDLE1BQU0sYUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQy9DLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLElBQUksRUFBRSxDQUFDLENBQUM7U0FDcEQ7UUFDRCxNQUFNLENBQUMsQ0FBQztLQUNUO0FBQ0gsQ0FBQztBQVZELDRDQVVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHJvbWlzZXMgYXMgZnMgfSBmcm9tICdmcyc7XG5cbmltcG9ydCB7IEluc3RhbmNlIH0gZnJvbSAnY2hhbGsnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5cbmltcG9ydCB7IGZvcm1hdFRyZWUgfSBmcm9tICcuLi9zcmMvZm9ybWF0JztcbmltcG9ydCB7IFBhcnNlck5vZGUgfSBmcm9tICcuLi9zcmMvUGFyc2VyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFRyZWVOb0NvbG9yKG46IFBhcnNlck5vZGUsIHsgc2hvd0FsbCB9OiB7IHNob3dBbGw6IGJvb2xlYW4gfSk6IHN0cmluZyB7XG4gIHJldHVybiBmb3JtYXRUcmVlKG4sIHsgaGlkZTogc2hvd0FsbCA/IFtdIDogdW5kZWZpbmVkLCBjaGFsazogbmV3IEluc3RhbmNlKHsgbGV2ZWw6IDAgfSkgfSk7XG59XG5cbmV4cG9ydCB0eXBlIFBhcnNlZEZpeHR1cmUgPVxuICB8IHtcbiAgICAgIHRyYW5zYWN0aW9uOiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxiaWdpbnQ+O1xuICAgICAgcHJldk91dHB1dHM6IHV0eG9saWIuVHhPdXRwdXQ8YmlnaW50PltdO1xuICAgIH1cbiAgfCB7XG4gICAgICB0cmFuc2FjdGlvbjogdXR4b2xpYi5iaXRnby5VdHhvUHNidDtcbiAgICAgIHByZXZPdXRwdXRzOiB1bmRlZmluZWQ7XG4gICAgfTtcblxudHlwZSBGaXh0dXJlUGFyYW1zID0ge1xuICBmaXh0dXJlVHlwZTogJ3BzYnRVbnNpZ25lZCcgfCAncHNidEhhbGZTaWduZWQnIHwgJ3BzYnRGdWxsU2lnbmVkJyB8ICduZXR3b3JrRnVsbFNpZ25lZCc7XG4gIHNjcmlwdFR5cGU6IHV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy5TY3JpcHRUeXBlMk9mMztcbiAgc3BlbmRUeXBlPzogJ2tleVBhdGgnIHwgJ3NjcmlwdFBhdGgnO1xufTtcblxuY29uc3Qgd2FsbGV0S2V5cyA9IHV0eG9saWIudGVzdHV0aWwuZ2V0RGVmYXVsdFdhbGxldEtleXMoKTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldFBzYnQoXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29yayxcbiAgcGFyYW1zOiBGaXh0dXJlUGFyYW1zLFxuICB7IHdyaXRlRml4dHVyZSB9OiB7IHdyaXRlRml4dHVyZT86IHN0cmluZyB9ID0ge31cbik6IFByb21pc2U8UGFyc2VkRml4dHVyZT4ge1xuICBjb25zdCBpbnB1dHM6IHV0eG9saWIudGVzdHV0aWwuSW5wdXRbXSA9IFtcbiAgICB7IHNjcmlwdFR5cGU6IHBhcmFtcy5zcGVuZFR5cGUgPT09ICdrZXlQYXRoJyA/ICd0YXByb290S2V5UGF0aFNwZW5kJyA6IHBhcmFtcy5zY3JpcHRUeXBlLCB2YWx1ZTogQmlnSW50KDEwXzAwMCkgfSxcbiAgXTtcbiAgY29uc3Qgb3V0cHV0cyA9IFt7IHNjcmlwdFR5cGU6IHBhcmFtcy5zY3JpcHRUeXBlLCB2YWx1ZTogQmlnSW50KDlfMDAwKSB9XTtcbiAgbGV0IHN0YWdlOiBzdHJpbmcgPSBwYXJhbXMuZml4dHVyZVR5cGU7XG4gIGlmIChzdGFnZS5zdGFydHNXaXRoKCdwc2J0JykpIHtcbiAgICBzdGFnZSA9IHN0YWdlLnNsaWNlKCdwc2J0Jy5sZW5ndGgpLnRvTG93ZXJDYXNlKCk7XG4gIH1cbiAgaWYgKHN0YWdlICE9PSAndW5zaWduZWQnICYmIHN0YWdlICE9PSAnaGFsZnNpZ25lZCcgJiYgc3RhZ2UgIT09ICdmdWxsc2lnbmVkJykge1xuICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCBzdGFnZSAke3N0YWdlfWApO1xuICB9XG4gIGlmIChwYXJhbXMuc3BlbmRUeXBlID09PSAna2V5UGF0aCcgJiYgd3JpdGVGaXh0dXJlID09PSB1bmRlZmluZWQpIHtcbiAgICAvLyBiZWNhdXNlIHdlIGN1cnJlbnRseSBjYW5ub3QgY3JlYXRlIGRldGVybWluaXN0aWMgc2lnbmF0dXJlcyBmb3IgdGFwcm9vdEtleVBhdGhTcGVuZCwgd2VcbiAgICAvLyBzdG9yZSBhIGNvcHkgaW4gZml4dHVyZXMvcHNidCBhbmQgdXNlIHRoYXQgaW5zdGVhZCBvZiBjcmVhdGluZyBhIG5ldyBvbmVcbiAgICBjb25zdCBmaWxlbmFtZSA9IGB0ZXN0L2ZpeHR1cmVzL3BzYnQvJHtwYXJhbXMuc2NyaXB0VHlwZX0uJHtwYXJhbXMuc3BlbmRUeXBlfS4ke3N0YWdlfS5qc29uYDtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcHNidEhleCA9IEpTT04ucGFyc2UoYXdhaXQgZnMucmVhZEZpbGUoZmlsZW5hbWUsICd1dGY4JykpO1xuICAgICAgY29uc3QgdHJhbnNhY3Rpb24gPSB1dHhvbGliLmJpdGdvLmNyZWF0ZVBzYnRGcm9tSGV4KHBzYnRIZXgsIG5ldHdvcmspO1xuICAgICAgcmV0dXJuIHsgdHJhbnNhY3Rpb24sIHByZXZPdXRwdXRzOiB1bmRlZmluZWQgfTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoZS5jb2RlID09PSAnRU5PRU5UJykge1xuICAgICAgICByZXR1cm4gYXdhaXQgZ2V0UHNidChuZXR3b3JrLCBwYXJhbXMsIHsgd3JpdGVGaXh0dXJlOiBmaWxlbmFtZSB9KTtcbiAgICAgIH1cbiAgICAgIHRocm93IGU7XG4gICAgfVxuICB9XG4gIGNvbnN0IHRyYW5zYWN0aW9uID0gdXR4b2xpYi50ZXN0dXRpbC5jb25zdHJ1Y3RQc2J0KGlucHV0cywgb3V0cHV0cywgbmV0d29yaywgd2FsbGV0S2V5cywgc3RhZ2UpO1xuICBpZiAod3JpdGVGaXh0dXJlKSB7XG4gICAgYXdhaXQgZnMud3JpdGVGaWxlKHdyaXRlRml4dHVyZSwgSlNPTi5zdHJpbmdpZnkodHJhbnNhY3Rpb24udG9IZXgoKSksICd1dGY4Jyk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB0cmFuc2FjdGlvbixcbiAgICBwcmV2T3V0cHV0czogdW5kZWZpbmVkLFxuICB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0VHJhbnNhY3Rpb25XaXRoU3BlbmRUeXBlKFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmssXG4gIHBhcmFtczogRml4dHVyZVBhcmFtc1xuKTogUHJvbWlzZTxQYXJzZWRGaXh0dXJlPiB7XG4gIGlmIChwYXJhbXMuZml4dHVyZVR5cGUgIT09ICduZXR3b3JrRnVsbFNpZ25lZCcpIHtcbiAgICByZXR1cm4gYXdhaXQgZ2V0UHNidChuZXR3b3JrLCBwYXJhbXMpO1xuICB9XG5cbiAgaWYgKHBhcmFtcy5zY3JpcHRUeXBlID09PSAncDJ0ck11c2lnMicpIHtcbiAgICBpZiAoIXBhcmFtcy5zcGVuZFR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigncDJ0ck11c2lnMiByZXF1aXJlcyBwYXJhbXMnKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKHBhcmFtcy5zcGVuZFR5cGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignb25seSBwMnRyTXVzaWcyIHJlcXVpcmVzIHNwZW5kVHlwZScpO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGZpbGVuYW1lID0gYHNwZW5kXyR7cGFyYW1zLnNjcmlwdFR5cGV9JHtwYXJhbXMuc3BlbmRUeXBlID8gYCR7cGFyYW1zLnNwZW5kVHlwZX1gIDogJyd9Lmpzb25gO1xuICB0eXBlIEZpeHR1cmUgPSB7XG4gICAgdHJhbnNhY3Rpb246IHsgaGV4OiBzdHJpbmcgfTtcbiAgICBpbnB1dHM6IHsgaGV4OiBzdHJpbmcgfVtdO1xuICB9O1xuXG4gIGNvbnN0IGY6IEZpeHR1cmUgPSBhd2FpdCBKU09OLnBhcnNlKFxuICAgIGF3YWl0IGZzLnJlYWRGaWxlKFxuICAgICAgYC4uL3V0eG8tbGliL3Rlc3QvaW50ZWdyYXRpb25fbG9jYWxfcnBjL2ZpeHR1cmVzLyR7dXR4b2xpYi5nZXROZXR3b3JrTmFtZShuZXR3b3JrKX0vdjEvJHtmaWxlbmFtZX1gLFxuICAgICAgJ3V0ZjgnXG4gICAgKVxuICApO1xuXG4gIGZ1bmN0aW9uIGdldFByZXZPdXQoaTogdXR4b2xpYi5UeElucHV0KTogdXR4b2xpYi5UeE91dHB1dDxiaWdpbnQ+IHtcbiAgICBmb3IgKGNvbnN0IHQgb2YgaW5wdXRUeHMpIHtcbiAgICAgIGlmICh0LmdldEhhc2goKS5lcXVhbHMoaS5oYXNoKSAmJiBpLmluZGV4IGluIHQub3V0cykge1xuICAgICAgICByZXR1cm4gdC5vdXRzW2kuaW5kZXhdO1xuICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYG1pc3NpbmcgaW5wdXQgJHt1dHhvbGliLmJpdGdvLmZvcm1hdE91dHB1dElkKHV0eG9saWIuYml0Z28uZ2V0T3V0cHV0SWRGb3JJbnB1dChpKSl9YCk7XG4gIH1cblxuICBjb25zdCBpbnB1dFR4cyA9IGYuaW5wdXRzLm1hcCgoaSkgPT5cbiAgICB1dHhvbGliLmJpdGdvLmNyZWF0ZVRyYW5zYWN0aW9uRnJvbUJ1ZmZlcihCdWZmZXIuZnJvbShpLmhleCwgJ2hleCcpLCBuZXR3b3JrLCB7IGFtb3VudFR5cGU6ICdiaWdpbnQnIH0pXG4gICk7XG4gIGNvbnN0IHR4ID0gdXR4b2xpYi5iaXRnby5jcmVhdGVUcmFuc2FjdGlvbkZyb21CdWZmZXIoQnVmZmVyLmZyb20oZi50cmFuc2FjdGlvbi5oZXgsICdoZXgnKSwgbmV0d29yaywge1xuICAgIGFtb3VudFR5cGU6ICdiaWdpbnQnLFxuICB9KTtcbiAgcmV0dXJuIHsgdHJhbnNhY3Rpb246IHR4LCBwcmV2T3V0cHV0czogdHguaW5zLm1hcCgoaSkgPT4gZ2V0UHJldk91dChpKSkgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldEZpeHR1cmVTdHJpbmcocGF0aDogc3RyaW5nLCBkZWZhdWx0VmFsdWU6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGF3YWl0IGZzLnJlYWRGaWxlKHBhdGgsICd1dGY4Jyk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoKGUgYXMgYW55KS5jb2RlID09PSAnRU5PRU5UJykge1xuICAgICAgYXdhaXQgZnMud3JpdGVGaWxlKHBhdGgsIGRlZmF1bHRWYWx1ZSwgJ3V0ZjgnKTtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgd3JvdGUgZGVmYXVsdCB2YWx1ZSBmb3IgJHtwYXRofWApO1xuICAgIH1cbiAgICB0aHJvdyBlO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generateAddress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateAddress.d.ts","sourceRoot":"","sources":["../../test/generateAddress.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const assert = require("assert");
4
+ const generateAddress_1 = require("../src/generateAddress");
5
+ const bip32_util_1 = require("./bip32.util");
6
+ describe('generateAddresses', function () {
7
+ it('should generate addresses', function () {
8
+ const [userKey, backupKey, bitgoKey] = (0, bip32_util_1.getKeyTriple)('generateAddress').map((k) => k.neutered().toBase58());
9
+ const lines = [];
10
+ for (const l of (0, generateAddress_1.generateAddress)({
11
+ userKey,
12
+ backupKey,
13
+ bitgoKey,
14
+ index: (0, generateAddress_1.parseIndexRange)(['0-1']),
15
+ format: '%a',
16
+ chain: [0, 1],
17
+ })) {
18
+ lines.push((0, generateAddress_1.formatAddressWithFormatString)(l, '%a'));
19
+ }
20
+ assert.strictEqual(lines.length, 4);
21
+ assert.deepStrictEqual(lines, [
22
+ '38FHxcU7KY4E2nDEezEVcKWGvHy9717ehF',
23
+ '35Qg1UqVWSJdtF1ysfz9h3KRGdk9uH8iYx',
24
+ '3ARnshsLXE9QfJemQdoKL2kp6TRqGohLDz',
25
+ '3QxKW93NN8CQrKaNqkDsAXPyxPsrxfTYME',
26
+ ]);
27
+ });
28
+ });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhdGVBZGRyZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9nZW5lcmF0ZUFkZHJlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpQ0FBaUM7QUFFakMsNERBQXlHO0FBRXpHLDZDQUE0QztBQUU1QyxRQUFRLENBQUMsbUJBQW1CLEVBQUU7SUFDNUIsRUFBRSxDQUFDLDJCQUEyQixFQUFFO1FBQzlCLE1BQU0sQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxHQUFHLElBQUEseUJBQVksRUFBQyxpQkFBaUIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDM0csTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLEtBQUssTUFBTSxDQUFDLElBQUksSUFBQSxpQ0FBZSxFQUFDO1lBQzlCLE9BQU87WUFDUCxTQUFTO1lBQ1QsUUFBUTtZQUNSLEtBQUssRUFBRSxJQUFBLGlDQUFlLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMvQixNQUFNLEVBQUUsSUFBSTtZQUNaLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDZCxDQUFDLEVBQUU7WUFDRixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUEsK0NBQTZCLEVBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7U0FDcEQ7UUFFRCxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUU7WUFDNUIsb0NBQW9DO1lBQ3BDLG9DQUFvQztZQUNwQyxvQ0FBb0M7WUFDcEMsb0NBQW9DO1NBQ3JDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcblxuaW1wb3J0IHsgZm9ybWF0QWRkcmVzc1dpdGhGb3JtYXRTdHJpbmcsIGdlbmVyYXRlQWRkcmVzcywgcGFyc2VJbmRleFJhbmdlIH0gZnJvbSAnLi4vc3JjL2dlbmVyYXRlQWRkcmVzcyc7XG5cbmltcG9ydCB7IGdldEtleVRyaXBsZSB9IGZyb20gJy4vYmlwMzIudXRpbCc7XG5cbmRlc2NyaWJlKCdnZW5lcmF0ZUFkZHJlc3NlcycsIGZ1bmN0aW9uICgpIHtcbiAgaXQoJ3Nob3VsZCBnZW5lcmF0ZSBhZGRyZXNzZXMnLCBmdW5jdGlvbiAoKSB7XG4gICAgY29uc3QgW3VzZXJLZXksIGJhY2t1cEtleSwgYml0Z29LZXldID0gZ2V0S2V5VHJpcGxlKCdnZW5lcmF0ZUFkZHJlc3MnKS5tYXAoKGspID0+IGsubmV1dGVyZWQoKS50b0Jhc2U1OCgpKTtcbiAgICBjb25zdCBsaW5lcyA9IFtdO1xuICAgIGZvciAoY29uc3QgbCBvZiBnZW5lcmF0ZUFkZHJlc3Moe1xuICAgICAgdXNlcktleSxcbiAgICAgIGJhY2t1cEtleSxcbiAgICAgIGJpdGdvS2V5LFxuICAgICAgaW5kZXg6IHBhcnNlSW5kZXhSYW5nZShbJzAtMSddKSxcbiAgICAgIGZvcm1hdDogJyVhJyxcbiAgICAgIGNoYWluOiBbMCwgMV0sXG4gICAgfSkpIHtcbiAgICAgIGxpbmVzLnB1c2goZm9ybWF0QWRkcmVzc1dpdGhGb3JtYXRTdHJpbmcobCwgJyVhJykpO1xuICAgIH1cblxuICAgIGFzc2VydC5zdHJpY3RFcXVhbChsaW5lcy5sZW5ndGgsIDQpO1xuICAgIGFzc2VydC5kZWVwU3RyaWN0RXF1YWwobGluZXMsIFtcbiAgICAgICczOEZIeGNVN0tZNEUybkRFZXpFVmNLV0d2SHk5NzE3ZWhGJyxcbiAgICAgICczNVFnMVVxVldTSmR0RjF5c2Z6OWgzS1JHZGs5dUg4aVl4JyxcbiAgICAgICczQVJuc2hzTFhFOVFmSmVtUWRvS0wya3A2VFJxR29oTER6JyxcbiAgICAgICczUXhLVzkzTk44Q1FyS2FOcWtEc0FYUHl4UHNyeGZUWU1FJyxcbiAgICBdKTtcbiAgfSk7XG59KTtcbiJdfQ==
@@ -1,10 +1,6 @@
1
- import { BIP32Interface } from 'bip32';
2
1
  import * as utxolib from '@bitgo-beta/utxo-lib';
3
- declare type Triple<T> = [T, T, T];
4
- declare type KeyTriple = Triple<BIP32Interface>;
5
2
  declare const scriptTypes: readonly ["p2sh", "p2shP2wsh", "p2wsh", "p2tr", "p2trMusig2", "p2pkh", "p2wkh"];
6
- declare type ScriptType = (typeof scriptTypes)[number];
7
- export declare function getKeyTriple(seed: string): KeyTriple;
3
+ type ScriptType = (typeof scriptTypes)[number];
8
4
  export declare function isSupportedDepositType(network: utxolib.Network, scriptType: ScriptType): boolean;
9
5
  export {};
10
6
  //# sourceMappingURL=parseAddress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseAddress.d.ts","sourceRoot":"","sources":["../../test/parseAddress.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAKhD,aAAK,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAE3B,aAAK,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAGxC,QAAA,MAAM,WAAW,iFAAqF,CAAC;AACvG,aAAK,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAK/C,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAEpD;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAUhG"}
1
+ {"version":3,"file":"parseAddress.d.ts","sourceRoot":"","sources":["../../test/parseAddress.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAQhD,QAAA,MAAM,WAAW,iFAAqF,CAAC;AACvG,KAAK,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAUhG"}
@@ -1,21 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isSupportedDepositType = exports.getKeyTriple = void 0;
3
+ exports.isSupportedDepositType = void 0;
4
4
  const assert = require("assert");
5
- const crypto = require("crypto");
6
5
  const yargs = require("yargs");
7
6
  const utxolib = require("@bitgo-beta/utxo-lib");
8
7
  const commands_1 = require("../src/commands");
9
8
  const fixtures_1 = require("./fixtures");
9
+ const bip32_util_1 = require("./bip32.util");
10
10
  const scriptTypesSingleSig = ['p2pkh', 'p2wkh'];
11
11
  const scriptTypes = [...utxolib.bitgo.outputScripts.scriptTypes2Of3, ...scriptTypesSingleSig];
12
- function getKey(seed) {
13
- return utxolib.bip32.fromSeed(crypto.createHash('sha256').update(seed).digest());
14
- }
15
- function getKeyTriple(seed) {
16
- return [getKey(seed + '.0'), getKey(seed + '.1'), getKey(seed + '.2')];
17
- }
18
- exports.getKeyTriple = getKeyTriple;
19
12
  function isSupportedDepositType(network, scriptType) {
20
13
  if (scriptType === 'p2pkh') {
21
14
  return true;
@@ -52,34 +45,37 @@ function createScriptPubKey(keys, scriptType, network) {
52
45
  }
53
46
  }
54
47
  function getAddresses(n) {
55
- const keys = getKeyTriple('parseAddress');
48
+ const keys = (0, bip32_util_1.getKeyTriple)('parseAddress');
56
49
  return scriptTypes
57
50
  .filter((t) => isSupportedDepositType(n, t))
58
51
  .flatMap((t) => utxolib.addressFormat.addressFormats
59
52
  .filter((format) => utxolib.addressFormat.isSupportedAddressFormat(format, n))
60
53
  .map((format) => [
54
+ t,
61
55
  format,
62
56
  utxolib.addressFormat.fromOutputScriptWithFormat(createScriptPubKey(keys, t, n), format, n),
63
57
  ]));
64
58
  }
65
59
  function parse(address, args) {
66
- return commands_1.getAddressParser(yargs.command(commands_1.cmdParseAddress).parseSync(args)).parse(address);
60
+ return (0, commands_1.getAddressParser)(yargs.command(commands_1.cmdParseAddress).parseSync(args)).parse(address);
67
61
  }
68
- function testParseAddress(network, addressFormat, address, args, suffix) {
62
+ function testParseAddress(network, type, addressFormat, address, args, suffix) {
69
63
  describe(`parse address ${address} with arguments ${args.join(' ')}`, function () {
70
64
  it(`formats address`, async function () {
71
- const formatted = fixtures_1.formatTreeNoColor(parse(address, args), { showAll: true });
65
+ const formatted = (0, fixtures_1.formatTreeNoColor)(parse(address, args), { showAll: true });
72
66
  const addrNoColon = address.replace(':', '_');
73
- assert.strictEqual(await fixtures_1.getFixtureString(`test/fixtures/formatAddress_${utxolib.getNetworkName(network)}_${addressFormat}_${addrNoColon}${suffix}`, formatted), formatted);
67
+ const filename = [utxolib.getNetworkName(network), type, addressFormat, addrNoColon + suffix].join('_');
68
+ console.log(filename);
69
+ assert.strictEqual(await (0, fixtures_1.getFixtureString)(`test/fixtures/formatAddress/${filename}.txt`, formatted), formatted);
74
70
  });
75
71
  });
76
72
  }
77
73
  utxolib.getNetworkList().forEach((n) => {
78
- getAddresses(n).forEach(([addressFormat, address], i) => {
79
- testParseAddress(n, addressFormat, address, [], '.txt');
74
+ getAddresses(n).forEach(([type, addressFormat, address], i) => {
75
+ testParseAddress(n, type, addressFormat, address, [], '');
80
76
  if ([utxolib.networks.bitcoin, utxolib.networks.bitcoincash, utxolib.networks.ecash].includes(n) && i === 0) {
81
- testParseAddress(n, addressFormat, address, ['--all'], '.all.txt');
77
+ testParseAddress(n, type, addressFormat, address, ['--all'], '.all');
82
78
  }
83
79
  });
84
80
  });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VBZGRyZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9wYXJzZUFkZHJlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWlDO0FBQ2pDLGlDQUFpQztBQUNqQywrQkFBK0I7QUFFL0IsZ0RBQWdEO0FBRWhELDhDQUFvRTtBQUNwRSx5Q0FBaUU7QUFNakUsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQVUsQ0FBQztBQUN6RCxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLEdBQUcsb0JBQW9CLENBQVUsQ0FBQztBQUd2RyxTQUFTLE1BQU0sQ0FBQyxJQUFZO0lBQzFCLE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztBQUNuRixDQUFDO0FBQ0QsU0FBZ0IsWUFBWSxDQUFDLElBQVk7SUFDdkMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDekUsQ0FBQztBQUZELG9DQUVDO0FBRUQsU0FBZ0Isc0JBQXNCLENBQUMsT0FBd0IsRUFBRSxVQUFzQjtJQUNyRixJQUFJLFVBQVUsS0FBSyxPQUFPLEVBQUU7UUFDMUIsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUVELElBQUksVUFBVSxLQUFLLE9BQU8sRUFBRTtRQUMxQixPQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7S0FDeEM7SUFFRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLHFCQUFx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MkJBQWdCLENBQ3BCLCtCQUErQixPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLGFBQWEsSUFBSSxXQUFXLEdBQUcsTUFBTSxFQUFFLEVBQ3pHLFNBQVMsQ0FDVixFQUNELFNBQVMsQ0FDVixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7SUFDckMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQ3RELGdCQUFnQixDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN4RCxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMzRyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1NBQ3BFO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgKiBhcyB5YXJncyBmcm9tICd5YXJncyc7XG5pbXBvcnQgeyBCSVAzMkludGVyZmFjZSB9IGZyb20gJ2JpcDMyJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5pbXBvcnQgeyBjbWRQYXJzZUFkZHJlc3MsIGdldEFkZHJlc3NQYXJzZXIgfSBmcm9tICcuLi9zcmMvY29tbWFuZHMnO1xuaW1wb3J0IHsgZ2V0Rml4dHVyZVN0cmluZywgZm9ybWF0VHJlZU5vQ29sb3IgfSBmcm9tICcuL2ZpeHR1cmVzJztcblxudHlwZSBUcmlwbGU8VD4gPSBbVCwgVCwgVF07XG5cbnR5cGUgS2V5VHJpcGxlID0gVHJpcGxlPEJJUDMySW50ZXJmYWNlPjtcblxuY29uc3Qgc2NyaXB0VHlwZXNTaW5nbGVTaWcgPSBbJ3AycGtoJywgJ3Ayd2toJ10gYXMgY29uc3Q7XG5jb25zdCBzY3JpcHRUeXBlcyA9IFsuLi51dHhvbGliLmJpdGdvLm91dHB1dFNjcmlwdHMuc2NyaXB0VHlwZXMyT2YzLCAuLi5zY3JpcHRUeXBlc1NpbmdsZVNpZ10gYXMgY29uc3Q7XG50eXBlIFNjcmlwdFR5cGUgPSAodHlwZW9mIHNjcmlwdFR5cGVzKVtudW1iZXJdO1xuXG5mdW5jdGlvbiBnZXRLZXkoc2VlZDogc3RyaW5nKTogQklQMzJJbnRlcmZhY2Uge1xuICByZXR1cm4gdXR4b2xpYi5iaXAzMi5mcm9tU2VlZChjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKHNlZWQpLmRpZ2VzdCgpKTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBnZXRLZXlUcmlwbGUoc2VlZDogc3RyaW5nKTogS2V5VHJpcGxlIHtcbiAgcmV0dXJuIFtnZXRLZXkoc2VlZCArICcuMCcpLCBnZXRLZXkoc2VlZCArICcuMScpLCBnZXRLZXkoc2VlZCArICcuMicpXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzU3VwcG9ydGVkRGVwb3NpdFR5cGUobmV0d29yazogdXR4b2xpYi5OZXR3b3JrLCBzY3JpcHRUeXBlOiBTY3JpcHRUeXBlKTogYm9vbGVhbiB7XG4gIGlmIChzY3JpcHRUeXBlID09PSAncDJwa2gnKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAoc2NyaXB0VHlwZSA9PT0gJ3Ayd2toJykge1xuICAgIHJldHVybiB1dHhvbGliLnN1cHBvcnRzU2Vnd2l0KG5ldHdvcmspO1xuICB9XG5cbiAgcmV0dXJuIHV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy5pc1N1cHBvcnRlZFNjcmlwdFR5cGUobmV0d29yaywgc2NyaXB0VHlwZSk7XG59XG5cbi8qKlxuICpcbiAqIEBwYXJhbSBrZXlzIC0gUHVia2V5cyB0byB1c2UgZm9yIGdlbmVyYXRpbmcgdGhlIGFkZHJlc3MuXG4gKiAgICAgICAgICAgICAgIElmIHNjcmlwdFR5cGUgaXMgc2luZ2xlLXNpZywgdGhlIGZpcnN0IGtleSB3aWxsIGJlIHVzZWQuXG4gKiBAcGFyYW0gc2NyaXB0VHlwZVxuICogQHBhcmFtIG5ldHdvcmtcbiAqIEByZXR1cm4ge0J1ZmZlcn0gc2NyaXB0UHViS2V5XG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVNjcmlwdFB1YktleShrZXlzOiBLZXlUcmlwbGUsIHNjcmlwdFR5cGU6IFNjcmlwdFR5cGUsIG5ldHdvcms6IHV0eG9saWIuTmV0d29yayk6IEJ1ZmZlciB7XG4gIGNvbnN0IHB1YmtleXMgPSBrZXlzLm1hcCgoaykgPT4gay5wdWJsaWNLZXkpO1xuXG4gIHN3aXRjaCAoc2NyaXB0VHlwZSkge1xuICAgIGNhc2UgJ3Ayc2gnOlxuICAgIGNhc2UgJ3Ayc2hQMndzaCc6XG4gICAgY2FzZSAncDJ3c2gnOlxuICAgIGNhc2UgJ3AydHInOlxuICAgIGNhc2UgJ3AydHJNdXNpZzInOlxuICAgICAgcmV0dXJuIHV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy5jcmVhdGVPdXRwdXRTY3JpcHQyb2YzKHB1YmtleXMsIHNjcmlwdFR5cGUpLnNjcmlwdFB1YktleTtcbiAgICBjYXNlICdwMnBraCc6XG4gICAgICByZXR1cm4gdXR4b2xpYi5wYXltZW50cy5wMnBraCh7IHB1YmtleToga2V5c1swXS5wdWJsaWNLZXkgfSkub3V0cHV0IGFzIEJ1ZmZlcjtcbiAgICBjYXNlICdwMndraCc6XG4gICAgICByZXR1cm4gdXR4b2xpYi5wYXltZW50cy5wMndwa2goeyBwdWJrZXk6IGtleXNbMF0ucHVibGljS2V5IH0pLm91dHB1dCBhcyBCdWZmZXI7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdW5zdXBwb3J0ZWQgb3V0cHV0IHR5cGUgJHtzY3JpcHRUeXBlfWApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldEFkZHJlc3NlcyhuOiB1dHhvbGliLk5ldHdvcmspOiBbZm9ybWF0OiBzdHJpbmcsIGFkZHJlc3M6IHN0cmluZ11bXSB7XG4gIGNvbnN0IGtleXMgPSBnZXRLZXlUcmlwbGUoJ3BhcnNlQWRkcmVzcycpO1xuICByZXR1cm4gc2NyaXB0VHlwZXNcbiAgICAuZmlsdGVyKCh0KSA9PiBpc1N1cHBvcnRlZERlcG9zaXRUeXBlKG4sIHQpKVxuICAgIC5mbGF0TWFwKCh0KSA9PlxuICAgICAgdXR4b2xpYi5hZGRyZXNzRm9ybWF0LmFkZHJlc3NGb3JtYXRzXG4gICAgICAgIC5maWx0ZXIoKGZvcm1hdCkgPT4gdXR4b2xpYi5hZGRyZXNzRm9ybWF0LmlzU3VwcG9ydGVkQWRkcmVzc0Zvcm1hdChmb3JtYXQsIG4pKVxuICAgICAgICAubWFwKChmb3JtYXQpOiBbc3RyaW5nLCBzdHJpbmddID0+IFtcbiAgICAgICAgICBmb3JtYXQsXG4gICAgICAgICAgdXR4b2xpYi5hZGRyZXNzRm9ybWF0LmZyb21PdXRwdXRTY3JpcHRXaXRoRm9ybWF0KGNyZWF0ZVNjcmlwdFB1YktleShrZXlzLCB0LCBuKSwgZm9ybWF0LCBuKSxcbiAgICAgICAgXSlcbiAgICApO1xufVxuXG5mdW5jdGlvbiBwYXJzZShhZGRyZXNzOiBzdHJpbmcsIGFyZ3M6IHN0cmluZ1tdKSB7XG4gIHJldHVybiBnZXRBZGRyZXNzUGFyc2VyKHlhcmdzLmNvbW1hbmQoY21kUGFyc2VBZGRyZXNzKS5wYXJzZVN5bmMoYXJncykpLnBhcnNlKGFkZHJlc3MpO1xufVxuXG5mdW5jdGlvbiB0ZXN0UGFyc2VBZGRyZXNzKFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmssXG4gIGFkZHJlc3NGb3JtYXQ6IHN0cmluZyxcbiAgYWRkcmVzczogc3RyaW5nLFxuICBhcmdzOiBzdHJpbmdbXSxcbiAgc3VmZml4OiBzdHJpbmdcbikge1xuICBkZXNjcmliZShgcGFyc2UgYWRkcmVzcyAke2FkZHJlc3N9IHdpdGggYXJndW1lbnRzICR7YXJncy5qb2luKCcgJyl9YCwgZnVuY3Rpb24gKCkge1xuICAgIGl0KGBmb3JtYXRzIGFkZHJlc3NgLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWQgPSBmb3JtYXRUcmVlTm9Db2xvcihwYXJzZShhZGRyZXNzLCBhcmdzKSwgeyBzaG93QWxsOiB0cnVlIH0pO1xuICAgICAgY29uc3QgYWRkck5vQ29sb24gPSBhZGRyZXNzLnJlcGxhY2UoJzonLCAnXycpO1xuICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgICAgICBhd2FpdCBnZXRGaXh0dXJlU3RyaW5nKFxuICAgICAgICAgIGB0ZXN0L2ZpeHR1cmVzL2Zvcm1hdEFkZHJlc3NfJHt1dHhvbGliLmdldE5ldHdvcmtOYW1lKG5ldHdvcmspfV8ke2FkZHJlc3NGb3JtYXR9XyR7YWRkck5vQ29sb259JHtzdWZmaXh9YCxcbiAgICAgICAgICBmb3JtYXR0ZWRcbiAgICAgICAgKSxcbiAgICAgICAgZm9ybWF0dGVkXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcbn1cblxudXR4b2xpYi5nZXROZXR3b3JrTGlzdCgpLmZvckVhY2goKG4pID0+IHtcbiAgZ2V0QWRkcmVzc2VzKG4pLmZvckVhY2goKFthZGRyZXNzRm9ybWF0LCBhZGRyZXNzXSwgaSkgPT4ge1xuICAgIHRlc3RQYXJzZUFkZHJlc3MobiwgYWRkcmVzc0Zvcm1hdCwgYWRkcmVzcywgW10sICcudHh0Jyk7XG4gICAgaWYgKFt1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW4sIHV0eG9saWIubmV0d29ya3MuYml0Y29pbmNhc2gsIHV0eG9saWIubmV0d29ya3MuZWNhc2hdLmluY2x1ZGVzKG4pICYmIGkgPT09IDApIHtcbiAgICAgIHRlc3RQYXJzZUFkZHJlc3MobiwgYWRkcmVzc0Zvcm1hdCwgYWRkcmVzcywgWyctLWFsbCddLCAnLmFsbC50eHQnKTtcbiAgICB9XG4gIH0pO1xufSk7XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VBZGRyZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vdGVzdC9wYXJzZUFkZHJlc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWlDO0FBRWpDLCtCQUErQjtBQUMvQixnREFBZ0Q7QUFFaEQsOENBQW9FO0FBRXBFLHlDQUFpRTtBQUNqRSw2Q0FBdUQ7QUFFdkQsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQVUsQ0FBQztBQUN6RCxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsZUFBZSxFQUFFLEdBQUcsb0JBQW9CLENBQVUsQ0FBQztBQUd2RyxTQUFnQixzQkFBc0IsQ0FBQyxPQUF3QixFQUFFLFVBQXNCO0lBQ3JGLElBQUksVUFBVSxLQUFLLE9BQU8sRUFBRTtRQUMxQixPQUFPLElBQUksQ0FBQztLQUNiO0lBRUQsSUFBSSxVQUFVLEtBQUssT0FBTyxFQUFFO1FBQzFCLE9BQU8sT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQUN4QztJQUVELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQ2hGLENBQUM7QUFWRCx3REFVQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxTQUFTLGtCQUFrQixDQUFDLElBQWUsRUFBRSxVQUFzQixFQUFFLE9BQXdCO0lBQzNGLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUU3QyxRQUFRLFVBQVUsRUFBRTtRQUNsQixLQUFLLE1BQU0sQ0FBQztRQUNaLEtBQUssV0FBVyxDQUFDO1FBQ2pCLEtBQUssT0FBTyxDQUFDO1FBQ2IsS0FBSyxNQUFNLENBQUM7UUFDWixLQUFLLFlBQVk7WUFD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LE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUNyQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1FBQzVELGdCQUFnQixDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0csZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDdEU7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCAqIGFzIHlhcmdzIGZyb20gJ3lhcmdzJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5pbXBvcnQgeyBjbWRQYXJzZUFkZHJlc3MsIGdldEFkZHJlc3NQYXJzZXIgfSBmcm9tICcuLi9zcmMvY29tbWFuZHMnO1xuXG5pbXBvcnQgeyBmb3JtYXRUcmVlTm9Db2xvciwgZ2V0Rml4dHVyZVN0cmluZyB9IGZyb20gJy4vZml4dHVyZXMnO1xuaW1wb3J0IHsgZ2V0S2V5VHJpcGxlLCBLZXlUcmlwbGUgfSBmcm9tICcuL2JpcDMyLnV0aWwnO1xuXG5jb25zdCBzY3JpcHRUeXBlc1NpbmdsZVNpZyA9IFsncDJwa2gnLCAncDJ3a2gnXSBhcyBjb25zdDtcbmNvbnN0IHNjcmlwdFR5cGVzID0gWy4uLnV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy5zY3JpcHRUeXBlczJPZjMsIC4uLnNjcmlwdFR5cGVzU2luZ2xlU2lnXSBhcyBjb25zdDtcbnR5cGUgU2NyaXB0VHlwZSA9ICh0eXBlb2Ygc2NyaXB0VHlwZXMpW251bWJlcl07XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N1cHBvcnRlZERlcG9zaXRUeXBlKG5ldHdvcms6IHV0eG9saWIuTmV0d29yaywgc2NyaXB0VHlwZTogU2NyaXB0VHlwZSk6IGJvb2xlYW4ge1xuICBpZiAoc2NyaXB0VHlwZSA9PT0gJ3AycGtoJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKHNjcmlwdFR5cGUgPT09ICdwMndraCcpIHtcbiAgICByZXR1cm4gdXR4b2xpYi5zdXBwb3J0c1NlZ3dpdChuZXR3b3JrKTtcbiAgfVxuXG4gIHJldHVybiB1dHhvbGliLmJpdGdvLm91dHB1dFNjcmlwdHMuaXNTdXBwb3J0ZWRTY3JpcHRUeXBlKG5ldHdvcmssIHNjcmlwdFR5cGUpO1xufVxuXG4vKipcbiAqXG4gKiBAcGFyYW0ga2V5cyAtIFB1YmtleXMgdG8gdXNlIGZvciBnZW5lcmF0aW5nIHRoZSBhZGRyZXNzLlxuICogICAgICAgICAgICAgICBJZiBzY3JpcHRUeXBlIGlzIHNpbmdsZS1zaWcsIHRoZSBmaXJzdCBrZXkgd2lsbCBiZSB1c2VkLlxuICogQHBhcmFtIHNjcmlwdFR5cGVcbiAqIEBwYXJhbSBuZXR3b3JrXG4gKiBAcmV0dXJuIHtCdWZmZXJ9IHNjcmlwdFB1YktleVxuICovXG5mdW5jdGlvbiBjcmVhdGVTY3JpcHRQdWJLZXkoa2V5czogS2V5VHJpcGxlLCBzY3JpcHRUeXBlOiBTY3JpcHRUeXBlLCBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmspOiBCdWZmZXIge1xuICBjb25zdCBwdWJrZXlzID0ga2V5cy5tYXAoKGspID0+IGsucHVibGljS2V5KTtcblxuICBzd2l0Y2ggKHNjcmlwdFR5cGUpIHtcbiAgICBjYXNlICdwMnNoJzpcbiAgICBjYXNlICdwMnNoUDJ3c2gnOlxuICAgIGNhc2UgJ3Ayd3NoJzpcbiAgICBjYXNlICdwMnRyJzpcbiAgICBjYXNlICdwMnRyTXVzaWcyJzpcbiAgICAgIHJldHVybiB1dHhvbGliLmJpdGdvLm91dHB1dFNjcmlwdHMuY3JlYXRlT3V0cHV0U2NyaXB0Mm9mMyhwdWJrZXlzLCBzY3JpcHRUeXBlKS5zY3JpcHRQdWJLZXk7XG4gICAgY2FzZSAncDJwa2gnOlxuICAgICAgcmV0dXJuIHV0eG9saWIucGF5bWVudHMucDJwa2goeyBwdWJrZXk6IGtleXNbMF0ucHVibGljS2V5IH0pLm91dHB1dCBhcyBCdWZmZXI7XG4gICAgY2FzZSAncDJ3a2gnOlxuICAgICAgcmV0dXJuIHV0eG9saWIucGF5bWVudHMucDJ3cGtoKHsgcHVia2V5OiBrZXlzWzBdLnB1YmxpY0tleSB9KS5vdXRwdXQgYXMgQnVmZmVyO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHVuc3VwcG9ydGVkIG91dHB1dCB0eXBlICR7c2NyaXB0VHlwZX1gKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRBZGRyZXNzZXMobjogdXR4b2xpYi5OZXR3b3JrKTogW3R5cGU6IHN0cmluZywgZm9ybWF0OiBzdHJpbmcsIGFkZHJlc3M6IHN0cmluZ11bXSB7XG4gIGNvbnN0IGtleXMgPSBnZXRLZXlUcmlwbGUoJ3BhcnNlQWRkcmVzcycpO1xuICByZXR1cm4gc2NyaXB0VHlwZXNcbiAgICAuZmlsdGVyKCh0KSA9PiBpc1N1cHBvcnRlZERlcG9zaXRUeXBlKG4sIHQpKVxuICAgIC5mbGF0TWFwKCh0KSA9PlxuICAgICAgdXR4b2xpYi5hZGRyZXNzRm9ybWF0LmFkZHJlc3NGb3JtYXRzXG4gICAgICAgIC5maWx0ZXIoKGZvcm1hdCkgPT4gdXR4b2xpYi5hZGRyZXNzRm9ybWF0LmlzU3VwcG9ydGVkQWRkcmVzc0Zvcm1hdChmb3JtYXQsIG4pKVxuICAgICAgICAubWFwKChmb3JtYXQpOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10gPT4gW1xuICAgICAgICAgIHQsXG4gICAgICAgICAgZm9ybWF0LFxuICAgICAgICAgIHV0eG9saWIuYWRkcmVzc0Zvcm1hdC5mcm9tT3V0cHV0U2NyaXB0V2l0aEZvcm1hdChjcmVhdGVTY3JpcHRQdWJLZXkoa2V5cywgdCwgbiksIGZvcm1hdCwgbiksXG4gICAgICAgIF0pXG4gICAgKTtcbn1cblxuZnVuY3Rpb24gcGFyc2UoYWRkcmVzczogc3RyaW5nLCBhcmdzOiBzdHJpbmdbXSkge1xuICByZXR1cm4gZ2V0QWRkcmVzc1BhcnNlcih5YXJncy5jb21tYW5kKGNtZFBhcnNlQWRkcmVzcykucGFyc2VTeW5jKGFyZ3MpKS5wYXJzZShhZGRyZXNzKTtcbn1cblxuZnVuY3Rpb24gdGVzdFBhcnNlQWRkcmVzcyhcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrLFxuICB0eXBlOiBzdHJpbmcsXG4gIGFkZHJlc3NGb3JtYXQ6IHN0cmluZyxcbiAgYWRkcmVzczogc3RyaW5nLFxuICBhcmdzOiBzdHJpbmdbXSxcbiAgc3VmZml4OiBzdHJpbmdcbikge1xuICBkZXNjcmliZShgcGFyc2UgYWRkcmVzcyAke2FkZHJlc3N9IHdpdGggYXJndW1lbnRzICR7YXJncy5qb2luKCcgJyl9YCwgZnVuY3Rpb24gKCkge1xuICAgIGl0KGBmb3JtYXRzIGFkZHJlc3NgLCBhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWQgPSBmb3JtYXRUcmVlTm9Db2xvcihwYXJzZShhZGRyZXNzLCBhcmdzKSwgeyBzaG93QWxsOiB0cnVlIH0pO1xuICAgICAgY29uc3QgYWRkck5vQ29sb24gPSBhZGRyZXNzLnJlcGxhY2UoJzonLCAnXycpO1xuICAgICAgY29uc3QgZmlsZW5hbWUgPSBbdXR4b2xpYi5nZXROZXR3b3JrTmFtZShuZXR3b3JrKSwgdHlwZSwgYWRkcmVzc0Zvcm1hdCwgYWRkck5vQ29sb24gKyBzdWZmaXhdLmpvaW4oJ18nKTtcbiAgICAgIGNvbnNvbGUubG9nKGZpbGVuYW1lKTtcbiAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChhd2FpdCBnZXRGaXh0dXJlU3RyaW5nKGB0ZXN0L2ZpeHR1cmVzL2Zvcm1hdEFkZHJlc3MvJHtmaWxlbmFtZX0udHh0YCwgZm9ybWF0dGVkKSwgZm9ybWF0dGVkKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbnV0eG9saWIuZ2V0TmV0d29ya0xpc3QoKS5mb3JFYWNoKChuKSA9PiB7XG4gIGdldEFkZHJlc3NlcyhuKS5mb3JFYWNoKChbdHlwZSwgYWRkcmVzc0Zvcm1hdCwgYWRkcmVzc10sIGkpID0+IHtcbiAgICB0ZXN0UGFyc2VBZGRyZXNzKG4sIHR5cGUsIGFkZHJlc3NGb3JtYXQsIGFkZHJlc3MsIFtdLCAnJyk7XG4gICAgaWYgKFt1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW4sIHV0eG9saWIubmV0d29ya3MuYml0Y29pbmNhc2gsIHV0eG9saWIubmV0d29ya3MuZWNhc2hdLmluY2x1ZGVzKG4pICYmIGkgPT09IDApIHtcbiAgICAgIHRlc3RQYXJzZUFkZHJlc3MobiwgdHlwZSwgYWRkcmVzc0Zvcm1hdCwgYWRkcmVzcywgWyctLWFsbCddLCAnLmFsbCcpO1xuICAgIH1cbiAgfSk7XG59KTtcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parseScript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseScript.d.ts","sourceRoot":"","sources":["../../test/parseScript.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const assert = require("assert");
4
+ const utxolib = require("@bitgo-beta/utxo-lib");
5
+ const ScriptParser_1 = require("../src/ScriptParser");
6
+ const fixtures_1 = require("./fixtures");
7
+ function testParseScript(type) {
8
+ let tx;
9
+ before('setup transaction', async function () {
10
+ tx = await (0, fixtures_1.getTransactionWithSpendType)(utxolib.networks.testnet, {
11
+ scriptType: type,
12
+ spendType: type === 'p2trMusig2' ? 'scriptPath' : undefined,
13
+ fixtureType: 'psbtFullSigned',
14
+ });
15
+ });
16
+ const parser = new ScriptParser_1.ScriptParser();
17
+ function parse(label, script) {
18
+ return parser.node(label, undefined, [parser.parse(script)]);
19
+ }
20
+ it(`parse script ${type}`, async function () {
21
+ if (tx.transaction instanceof utxolib.bitgo.UtxoTransaction) {
22
+ return this.skip();
23
+ }
24
+ const nodes = tx.transaction.data.inputs.flatMap((input) => {
25
+ return [
26
+ ...(input.redeemScript ? [parse('redeemScript', input.redeemScript)] : []),
27
+ ...(input.witnessScript ? [parse('witnessScript', input.witnessScript)] : []),
28
+ ];
29
+ });
30
+ const root = new ScriptParser_1.ScriptParser().node('inputScripts', undefined, nodes);
31
+ const formatted = (0, fixtures_1.formatTreeNoColor)(root, { showAll: true });
32
+ assert.strictEqual(formatted, await (0, fixtures_1.getFixtureString)(`test/fixtures/formatScript/${type}.txt`, formatted));
33
+ });
34
+ }
35
+ utxolib.bitgo.outputScripts.scriptTypes2Of3.forEach((scriptType) => {
36
+ testParseScript(scriptType);
37
+ });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VTY3JpcHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90ZXN0L3BhcnNlU2NyaXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaUNBQWlDO0FBRWpDLGdEQUFnRDtBQUdoRCxzREFBbUQ7QUFFbkQseUNBQTZHO0FBRTdHLFNBQVMsZUFBZSxDQUFDLElBQWdEO0lBQ3ZFLElBQUksRUFBaUIsQ0FBQztJQUN0QixNQUFNLENBQUMsbUJBQW1CLEVBQUUsS0FBSztRQUMvQixFQUFFLEdBQUcsTUFBTSxJQUFBLHNDQUEyQixFQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFO1lBQy9ELFVBQVUsRUFBRSxJQUFJO1lBQ2hCLFNBQVMsRUFBRSxJQUFJLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDM0QsV0FBVyxFQUFFLGdCQUFnQjtTQUM5QixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILE1BQU0sTUFBTSxHQUFHLElBQUksMkJBQVksRUFBRSxDQUFDO0lBRWxDLFNBQVMsS0FBSyxDQUFDLEtBQWEsRUFBRSxNQUFjO1FBQzFDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELEVBQUUsQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUUsS0FBSztRQUM5QixJQUFJLEVBQUUsQ0FBQyxXQUFXLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUU7WUFDM0QsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDcEI7UUFFRCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDekQsT0FBTztnQkFDTCxHQUFHLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzthQUM5RSxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLElBQUksR0FBRyxJQUFJLDJCQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV2RSxNQUFNLFNBQVMsR0FBRyxJQUFBLDRCQUFpQixFQUFDLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRTdELE1BQU0sQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLE1BQU0sSUFBQSwyQkFBZ0IsRUFBQyw4QkFBOEIsSUFBSSxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUM3RyxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxPQUFPLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7SUFDakUsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzlCLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5pbXBvcnQgeyBQYXJzZXJOb2RlIH0gZnJvbSAnLi4vc3JjL1BhcnNlcic7XG5pbXBvcnQgeyBTY3JpcHRQYXJzZXIgfSBmcm9tICcuLi9zcmMvU2NyaXB0UGFyc2VyJztcblxuaW1wb3J0IHsgZm9ybWF0VHJlZU5vQ29sb3IsIGdldEZpeHR1cmVTdHJpbmcsIGdldFRyYW5zYWN0aW9uV2l0aFNwZW5kVHlwZSwgUGFyc2VkRml4dHVyZSB9IGZyb20gJy4vZml4dHVyZXMnO1xuXG5mdW5jdGlvbiB0ZXN0UGFyc2VTY3JpcHQodHlwZTogdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLlNjcmlwdFR5cGUyT2YzKSB7XG4gIGxldCB0eDogUGFyc2VkRml4dHVyZTtcbiAgYmVmb3JlKCdzZXR1cCB0cmFuc2FjdGlvbicsIGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICB0eCA9IGF3YWl0IGdldFRyYW5zYWN0aW9uV2l0aFNwZW5kVHlwZSh1dHhvbGliLm5ldHdvcmtzLnRlc3RuZXQsIHtcbiAgICAgIHNjcmlwdFR5cGU6IHR5cGUsXG4gICAgICBzcGVuZFR5cGU6IHR5cGUgPT09ICdwMnRyTXVzaWcyJyA/ICdzY3JpcHRQYXRoJyA6IHVuZGVmaW5lZCxcbiAgICAgIGZpeHR1cmVUeXBlOiAncHNidEZ1bGxTaWduZWQnLFxuICAgIH0pO1xuICB9KTtcblxuICBjb25zdCBwYXJzZXIgPSBuZXcgU2NyaXB0UGFyc2VyKCk7XG5cbiAgZnVuY3Rpb24gcGFyc2UobGFiZWw6IHN0cmluZywgc2NyaXB0OiBCdWZmZXIpOiBQYXJzZXJOb2RlIHtcbiAgICByZXR1cm4gcGFyc2VyLm5vZGUobGFiZWwsIHVuZGVmaW5lZCwgW3BhcnNlci5wYXJzZShzY3JpcHQpXSk7XG4gIH1cblxuICBpdChgcGFyc2Ugc2NyaXB0ICR7dHlwZX1gLCBhc3luYyBmdW5jdGlvbiAodGhpczogTW9jaGEuQ29udGV4dCkge1xuICAgIGlmICh0eC50cmFuc2FjdGlvbiBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uVXR4b1RyYW5zYWN0aW9uKSB7XG4gICAgICByZXR1cm4gdGhpcy5za2lwKCk7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZXMgPSB0eC50cmFuc2FjdGlvbi5kYXRhLmlucHV0cy5mbGF0TWFwKChpbnB1dCkgPT4ge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4uKGlucHV0LnJlZGVlbVNjcmlwdCA/IFtwYXJzZSgncmVkZWVtU2NyaXB0JywgaW5wdXQucmVkZWVtU2NyaXB0KV0gOiBbXSksXG4gICAgICAgIC4uLihpbnB1dC53aXRuZXNzU2NyaXB0ID8gW3BhcnNlKCd3aXRuZXNzU2NyaXB0JywgaW5wdXQud2l0bmVzc1NjcmlwdCldIDogW10pLFxuICAgICAgXTtcbiAgICB9KTtcblxuICAgIGNvbnN0IHJvb3QgPSBuZXcgU2NyaXB0UGFyc2VyKCkubm9kZSgnaW5wdXRTY3JpcHRzJywgdW5kZWZpbmVkLCBub2Rlcyk7XG5cbiAgICBjb25zdCBmb3JtYXR0ZWQgPSBmb3JtYXRUcmVlTm9Db2xvcihyb290LCB7IHNob3dBbGw6IHRydWUgfSk7XG5cbiAgICBhc3NlcnQuc3RyaWN0RXF1YWwoZm9ybWF0dGVkLCBhd2FpdCBnZXRGaXh0dXJlU3RyaW5nKGB0ZXN0L2ZpeHR1cmVzL2Zvcm1hdFNjcmlwdC8ke3R5cGV9LnR4dGAsIGZvcm1hdHRlZCkpO1xuICB9KTtcbn1cblxudXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLnNjcmlwdFR5cGVzMk9mMy5mb3JFYWNoKChzY3JpcHRUeXBlKSA9PiB7XG4gIHRlc3RQYXJzZVNjcmlwdChzY3JpcHRUeXBlKTtcbn0pO1xuIl19
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const yargs = require("yargs");
4
3
  const assert = require("assert");
4
+ const yargs = require("yargs");
5
5
  const utxolib = require("@bitgo-beta/utxo-lib");
6
- const fixtures_1 = require("./fixtures");
7
6
  const commands_1 = require("../src/commands");
7
+ const fixtures_1 = require("./fixtures");
8
8
  function getArgs({ showAll }) {
9
9
  return showAll ? ['--all'] : [];
10
10
  }
@@ -28,13 +28,13 @@ getParams().forEach(({ scriptType, spendType, fixtureType, showAll }) => {
28
28
  showAll,
29
29
  })}`, function () {
30
30
  function parse(tx, prevOutputs) {
31
- return commands_1.getTxParser(yargs.command(commands_1.cmdParseTx).parse([...getArgs({ showAll }), '--parseError=throw'])).parse(tx, {
31
+ return (0, commands_1.getTxParser)(yargs.command(commands_1.cmdParseTx).parse([...getArgs({ showAll }), '--parseError=throw'])).parse(tx, {
32
32
  prevOutputs,
33
33
  });
34
34
  }
35
35
  let fixture;
36
36
  before(async function () {
37
- fixture = await fixtures_1.getTransactionWithSpendType(utxolib.networks.testnet, {
37
+ fixture = await (0, fixtures_1.getTransactionWithSpendType)(utxolib.networks.testnet, {
38
38
  scriptType,
39
39
  spendType,
40
40
  fixtureType,
@@ -51,13 +51,16 @@ getParams().forEach(({ scriptType, spendType, fixtureType, showAll }) => {
51
51
  if (usePrevOuts && !fixture.prevOutputs) {
52
52
  this.skip();
53
53
  }
54
- const formatted = fixtures_1.formatTreeNoColor(parse(fixture.transaction, usePrevOuts ? fixture.prevOutputs : undefined), {
54
+ const formatted = (0, fixtures_1.formatTreeNoColor)(parse(fixture.transaction, usePrevOuts ? fixture.prevOutputs : undefined), {
55
55
  showAll,
56
56
  });
57
57
  const fixtureName = spendType ? `${scriptType}_${spendType}` : scriptType;
58
- assert.strictEqual(formatted, await fixtures_1.getFixtureString(`test/fixtures/format_${fixtureName}_${fixtureType}${showAll ? '_all' : ''}${usePrevOuts ? '_prevOuts' : ''}.txt`, formatted));
58
+ const filename = [fixtureName, fixtureType, showAll ? 'all' : '', usePrevOuts ? 'prevOuts' : '']
59
+ .filter((v) => v !== '')
60
+ .join('_');
61
+ assert.strictEqual(formatted, await (0, fixtures_1.getFixtureString)(`test/fixtures/formatTransaction/${filename}.txt`, formatted));
59
62
  });
60
63
  });
61
64
  });
62
65
  });
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VUcmFuc2FjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3QvcGFyc2VUcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLCtCQUErQjtBQUMvQixpQ0FBaUM7QUFDakMsZ0RBQWdEO0FBQ2hELHlDQUE2RztBQUU3Ryw4Q0FBMEQ7QUFVMUQsU0FBUyxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQXdCO0lBQ2hELE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDbEMsQ0FBQztBQUVELFNBQVMsU0FBUztJQUNoQixPQUFRLENBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDbEgsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN2QyxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQWdCLEVBQUU7Z0JBQ3RGLElBQUksVUFBVSxLQUFLLFlBQVksRUFBRTtvQkFDL0IsT0FBTzt3QkFDTCxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUU7d0JBQzFELEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRTtxQkFDOUQsQ0FBQztpQkFDSDtnQkFDRCxPQUFPLENBQUMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUN0RSxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO0lBQ3RFLFFBQVEsQ0FBQyxTQUFTLFdBQVcsSUFBSSxVQUFVLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsZ0JBQWdCLE9BQU8sQ0FBQztRQUN0RyxPQUFPO0tBQ1IsQ0FBQyxFQUFFLEVBQUU7UUFDSixTQUFTLEtBQUssQ0FBQyxFQUFZLEVBQUUsV0FBd0M7WUFDbkUsT0FBTyxzQkFBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMscUJBQVUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFRLENBQUMsQ0FBQyxLQUFLLENBQy9HLEVBQUUsRUFDRjtnQkFDRSxXQUFXO2FBQ1osQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksT0FBc0IsQ0FBQztRQUMzQixNQUFNLENBQUMsS0FBSztZQUNWLE9BQU8sR0FBRyxNQUFNLHNDQUEyQixDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFO2dCQUNwRSxVQUFVO2dCQUNWLFNBQVM7Z0JBQ1QsV0FBVzthQUNaLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUNYLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDM0IsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFO2dCQUN2QixLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDakQ7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQ3BDLEVBQUUsQ0FBQyx3QkFBd0IsV0FBVyxHQUFHLEVBQUUsS0FBSztnQkFDOUMsSUFBSSxXQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFO29CQUN2QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7aUJBQ2I7Z0JBQ0QsTUFBTSxTQUFTLEdBQUcsNEJBQWlCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDN0csT0FBTztpQkFDUixDQUFDLENBQUM7Z0JBQ0gsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO2dCQUMxRSxNQUFNLENBQUMsV0FBVyxDQUNoQixTQUFTLEVBQ1QsTUFBTSwyQkFBZ0IsQ0FDcEIsd0JBQXdCLFdBQVcsSUFBSSxXQUFXLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FDeEUsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQzlCLE1BQU0sRUFDTixTQUFTLENBQ1YsQ0FDRixDQUFDO1lBQ0osQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBtb2NoYSBmcm9tICdtb2NoYSc7XG5pbXBvcnQgKiBhcyB5YXJncyBmcm9tICd5YXJncyc7XG5pbXBvcnQgKiBhcyBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0IHsgZ2V0Rml4dHVyZVN0cmluZywgZ2V0VHJhbnNhY3Rpb25XaXRoU3BlbmRUeXBlLCBmb3JtYXRUcmVlTm9Db2xvciwgUGFyc2VkRml4dHVyZSB9IGZyb20gJy4vZml4dHVyZXMnO1xuaW1wb3J0IHsgUGFyc2VyTm9kZSB9IGZyb20gJy4uL3NyYy9QYXJzZXInO1xuaW1wb3J0IHsgY21kUGFyc2VUeCwgZ2V0VHhQYXJzZXIgfSBmcm9tICcuLi9zcmMvY29tbWFuZHMnO1xuaW1wb3J0IHsgUGFyc2VyVHggfSBmcm9tICcuLi9zcmMvUGFyc2VyVHgnO1xuXG50eXBlIFRlc3RQYXJhbXMgPSB7XG4gIHNjcmlwdFR5cGU6IHV0eG9saWIuYml0Z28ub3V0cHV0U2NyaXB0cy5TY3JpcHRUeXBlMk9mMztcbiAgc3BlbmRUeXBlOiAna2V5UGF0aCcgfCAnc2NyaXB0UGF0aCcgfCB1bmRlZmluZWQ7XG4gIGZpeHR1cmVUeXBlOiAncHNidFVuc2lnbmVkJyB8ICdwc2J0SGFsZlNpZ25lZCcgfCAncHNidEZ1bGxTaWduZWQnIHwgJ25ldHdvcmtGdWxsU2lnbmVkJztcbiAgc2hvd0FsbDogYm9vbGVhbjtcbn07XG5cbmZ1bmN0aW9uIGdldEFyZ3MoeyBzaG93QWxsIH06IHsgc2hvd0FsbDogYm9vbGVhbiB9KTogc3RyaW5nW10ge1xuICByZXR1cm4gc2hvd0FsbCA/IFsnLS1hbGwnXSA6IFtdO1xufVxuXG5mdW5jdGlvbiBnZXRQYXJhbXMoKTogVGVzdFBhcmFtc1tdIHtcbiAgcmV0dXJuIChbJ3BzYnRVbnNpZ25lZCcsICdwc2J0SGFsZlNpZ25lZCcsICdwc2J0RnVsbFNpZ25lZCcsICduZXR3b3JrRnVsbFNpZ25lZCddIGFzIGNvbnN0KS5mbGF0TWFwKChmaXh0dXJlVHlwZSkgPT4ge1xuICAgIHJldHVybiBbZmFsc2UsIHRydWVdLmZsYXRNYXAoKHNob3dBbGwpID0+IHtcbiAgICAgIHJldHVybiB1dHhvbGliLmJpdGdvLm91dHB1dFNjcmlwdHMuc2NyaXB0VHlwZXMyT2YzLmZsYXRNYXAoKHNjcmlwdFR5cGUpOiBUZXN0UGFyYW1zW10gPT4ge1xuICAgICAgICBpZiAoc2NyaXB0VHlwZSA9PT0gJ3AydHJNdXNpZzInKSB7XG4gICAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHsgc2NyaXB0VHlwZSwgc3BlbmRUeXBlOiAna2V5UGF0aCcsIHNob3dBbGwsIGZpeHR1cmVUeXBlIH0sXG4gICAgICAgICAgICB7IHNjcmlwdFR5cGUsIHNwZW5kVHlwZTogJ3NjcmlwdFBhdGgnLCBzaG93QWxsLCBmaXh0dXJlVHlwZSB9LFxuICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFt7IHNjcmlwdFR5cGUsIHNwZW5kVHlwZTogdW5kZWZpbmVkLCBzaG93QWxsLCBmaXh0dXJlVHlwZSB9XTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9KTtcbn1cblxuZ2V0UGFyYW1zKCkuZm9yRWFjaCgoeyBzY3JpcHRUeXBlLCBzcGVuZFR5cGUsIGZpeHR1cmVUeXBlLCBzaG93QWxsIH0pID0+IHtcbiAgZGVzY3JpYmUoYHBhcnNlICR7Zml4dHVyZVR5cGV9ICR7c2NyaXB0VHlwZX0gJHtzcGVuZFR5cGUgPyBzcGVuZFR5cGUgOiAnZGVmYXVsdCd9IHNwZW5kIFthcmdzPSR7Z2V0QXJncyh7XG4gICAgc2hvd0FsbCxcbiAgfSl9YCwgZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIHBhcnNlKHR4OiBQYXJzZXJUeCwgcHJldk91dHB1dHM/OiB1dHhvbGliLlR4T3V0cHV0PGJpZ2ludD5bXSk6IFBhcnNlck5vZGUge1xuICAgICAgcmV0dXJuIGdldFR4UGFyc2VyKHlhcmdzLmNvbW1hbmQoY21kUGFyc2VUeCkucGFyc2UoWy4uLmdldEFyZ3MoeyBzaG93QWxsIH0pLCAnLS1wYXJzZUVycm9yPXRocm93J10pIGFzIGFueSkucGFyc2UoXG4gICAgICAgIHR4LFxuICAgICAgICB7XG4gICAgICAgICAgcHJldk91dHB1dHMsXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IGZpeHR1cmU6IFBhcnNlZEZpeHR1cmU7XG4gICAgYmVmb3JlKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGZpeHR1cmUgPSBhd2FpdCBnZXRUcmFuc2FjdGlvbldpdGhTcGVuZFR5cGUodXR4b2xpYi5uZXR3b3Jrcy50ZXN0bmV0LCB7XG4gICAgICAgIHNjcmlwdFR5cGUsXG4gICAgICAgIHNwZW5kVHlwZSxcbiAgICAgICAgZml4dHVyZVR5cGUsXG4gICAgICB9KTtcbiAgICB9KTtcblxuICAgIGl0KGBwYXJzZXNgLCBmdW5jdGlvbiAoKSB7XG4gICAgICBwYXJzZShmaXh0dXJlLnRyYW5zYWN0aW9uKTtcbiAgICAgIGlmIChmaXh0dXJlLnByZXZPdXRwdXRzKSB7XG4gICAgICAgIHBhcnNlKGZpeHR1cmUudHJhbnNhY3Rpb24sIGZpeHR1cmUucHJldk91dHB1dHMpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgW2ZhbHNlLCB0cnVlXS5mb3JFYWNoKCh1c2VQcmV2T3V0cykgPT4ge1xuICAgICAgaXQoYGZvcm1hdHMgW3VzZVByZXZPdXRzPSR7dXNlUHJldk91dHN9XWAsIGFzeW5jIGZ1bmN0aW9uICh0aGlzOiBtb2NoYS5Db250ZXh0KSB7XG4gICAgICAgIGlmICh1c2VQcmV2T3V0cyAmJiAhZml4dHVyZS5wcmV2T3V0cHV0cykge1xuICAgICAgICAgIHRoaXMuc2tpcCgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9IGZvcm1hdFRyZWVOb0NvbG9yKHBhcnNlKGZpeHR1cmUudHJhbnNhY3Rpb24sIHVzZVByZXZPdXRzID8gZml4dHVyZS5wcmV2T3V0cHV0cyA6IHVuZGVmaW5lZCksIHtcbiAgICAgICAgICBzaG93QWxsLFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgZml4dHVyZU5hbWUgPSBzcGVuZFR5cGUgPyBgJHtzY3JpcHRUeXBlfV8ke3NwZW5kVHlwZX1gIDogc2NyaXB0VHlwZTtcbiAgICAgICAgYXNzZXJ0LnN0cmljdEVxdWFsKFxuICAgICAgICAgIGZvcm1hdHRlZCxcbiAgICAgICAgICBhd2FpdCBnZXRGaXh0dXJlU3RyaW5nKFxuICAgICAgICAgICAgYHRlc3QvZml4dHVyZXMvZm9ybWF0XyR7Zml4dHVyZU5hbWV9XyR7Zml4dHVyZVR5cGV9JHtzaG93QWxsID8gJ19hbGwnIDogJyd9JHtcbiAgICAgICAgICAgICAgdXNlUHJldk91dHMgPyAnX3ByZXZPdXRzJyA6ICcnXG4gICAgICAgICAgICB9LnR4dGAsXG4gICAgICAgICAgICBmb3JtYXR0ZWRcbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VUcmFuc2FjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3QvcGFyc2VUcmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGlDQUFpQztBQUVqQywrQkFBK0I7QUFFL0IsZ0RBQWdEO0FBSWhELDhDQUEwRDtBQUUxRCx5Q0FBNkc7QUFTN0csU0FBUyxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQXdCO0lBQ2hELE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDbEMsQ0FBQztBQUVELFNBQVMsU0FBUztJQUNoQixPQUFRLENBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixDQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7UUFDbEgsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN2QyxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQWdCLEVBQUU7Z0JBQ3RGLElBQUksVUFBVSxLQUFLLFlBQVksRUFBRTtvQkFDL0IsT0FBTzt3QkFDTCxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUU7d0JBQzFELEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRTtxQkFDOUQsQ0FBQztpQkFDSDtnQkFDRCxPQUFPLENBQUMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztZQUN0RSxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFO0lBQ3RFLFFBQVEsQ0FBQyxTQUFTLFdBQVcsSUFBSSxVQUFVLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsZ0JBQWdCLE9BQU8sQ0FBQztRQUN0RyxPQUFPO0tBQ1IsQ0FBQyxFQUFFLEVBQUU7UUFDSixTQUFTLEtBQUssQ0FBQyxFQUFZLEVBQUUsV0FBd0M7WUFDbkUsT0FBTyxJQUFBLHNCQUFXLEVBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxxQkFBVSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLENBQVEsQ0FBQyxDQUFDLEtBQUssQ0FDL0csRUFBRSxFQUNGO2dCQUNFLFdBQVc7YUFDWixDQUNGLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxPQUFzQixDQUFDO1FBQzNCLE1BQU0sQ0FBQyxLQUFLO1lBQ1YsT0FBTyxHQUFHLE1BQU0sSUFBQSxzQ0FBMkIsRUFBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtnQkFDcEUsVUFBVTtnQkFDVixTQUFTO2dCQUNULFdBQVc7YUFDWixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQyxRQUFRLEVBQUU7WUFDWCxLQUFLLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzNCLElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRTtnQkFDdkIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2FBQ2pEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRTtZQUNwQyxFQUFFLENBQUMsd0JBQXdCLFdBQVcsR0FBRyxFQUFFLEtBQUs7Z0JBQzlDLElBQUksV0FBVyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRTtvQkFDdkMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2lCQUNiO2dCQUNELE1BQU0sU0FBUyxHQUFHLElBQUEsNEJBQWlCLEVBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRTtvQkFDN0csT0FBTztpQkFDUixDQUFDLENBQUM7Z0JBQ0gsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsSUFBSSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO2dCQUMxRSxNQUFNLFFBQVEsR0FBRyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO3FCQUM3RixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7cUJBQ3ZCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDYixNQUFNLENBQUMsV0FBVyxDQUNoQixTQUFTLEVBQ1QsTUFBTSxJQUFBLDJCQUFnQixFQUFDLG1DQUFtQyxRQUFRLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FDckYsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5cbmltcG9ydCAqIGFzIHlhcmdzIGZyb20gJ3lhcmdzJztcbmltcG9ydCAqIGFzIG1vY2hhIGZyb20gJ21vY2hhJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5pbXBvcnQgeyBQYXJzZXJOb2RlIH0gZnJvbSAnLi4vc3JjL1BhcnNlcic7XG5pbXBvcnQgeyBQYXJzZXJUeCB9IGZyb20gJy4uL3NyYy9QYXJzZXJUeCc7XG5pbXBvcnQgeyBjbWRQYXJzZVR4LCBnZXRUeFBhcnNlciB9IGZyb20gJy4uL3NyYy9jb21tYW5kcyc7XG5cbmltcG9ydCB7IGZvcm1hdFRyZWVOb0NvbG9yLCBnZXRGaXh0dXJlU3RyaW5nLCBnZXRUcmFuc2FjdGlvbldpdGhTcGVuZFR5cGUsIFBhcnNlZEZpeHR1cmUgfSBmcm9tICcuL2ZpeHR1cmVzJztcblxudHlwZSBUZXN0UGFyYW1zID0ge1xuICBzY3JpcHRUeXBlOiB1dHhvbGliLmJpdGdvLm91dHB1dFNjcmlwdHMuU2NyaXB0VHlwZTJPZjM7XG4gIHNwZW5kVHlwZTogJ2tleVBhdGgnIHwgJ3NjcmlwdFBhdGgnIHwgdW5kZWZpbmVkO1xuICBmaXh0dXJlVHlwZTogJ3BzYnRVbnNpZ25lZCcgfCAncHNidEhhbGZTaWduZWQnIHwgJ3BzYnRGdWxsU2lnbmVkJyB8ICduZXR3b3JrRnVsbFNpZ25lZCc7XG4gIHNob3dBbGw6IGJvb2xlYW47XG59O1xuXG5mdW5jdGlvbiBnZXRBcmdzKHsgc2hvd0FsbCB9OiB7IHNob3dBbGw6IGJvb2xlYW4gfSk6IHN0cmluZ1tdIHtcbiAgcmV0dXJuIHNob3dBbGwgPyBbJy0tYWxsJ10gOiBbXTtcbn1cblxuZnVuY3Rpb24gZ2V0UGFyYW1zKCk6IFRlc3RQYXJhbXNbXSB7XG4gIHJldHVybiAoWydwc2J0VW5zaWduZWQnLCAncHNidEhhbGZTaWduZWQnLCAncHNidEZ1bGxTaWduZWQnLCAnbmV0d29ya0Z1bGxTaWduZWQnXSBhcyBjb25zdCkuZmxhdE1hcCgoZml4dHVyZVR5cGUpID0+IHtcbiAgICByZXR1cm4gW2ZhbHNlLCB0cnVlXS5mbGF0TWFwKChzaG93QWxsKSA9PiB7XG4gICAgICByZXR1cm4gdXR4b2xpYi5iaXRnby5vdXRwdXRTY3JpcHRzLnNjcmlwdFR5cGVzMk9mMy5mbGF0TWFwKChzY3JpcHRUeXBlKTogVGVzdFBhcmFtc1tdID0+IHtcbiAgICAgICAgaWYgKHNjcmlwdFR5cGUgPT09ICdwMnRyTXVzaWcyJykge1xuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICB7IHNjcmlwdFR5cGUsIHNwZW5kVHlwZTogJ2tleVBhdGgnLCBzaG93QWxsLCBmaXh0dXJlVHlwZSB9LFxuICAgICAgICAgICAgeyBzY3JpcHRUeXBlLCBzcGVuZFR5cGU6ICdzY3JpcHRQYXRoJywgc2hvd0FsbCwgZml4dHVyZVR5cGUgfSxcbiAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbeyBzY3JpcHRUeXBlLCBzcGVuZFR5cGU6IHVuZGVmaW5lZCwgc2hvd0FsbCwgZml4dHVyZVR5cGUgfV07XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbmdldFBhcmFtcygpLmZvckVhY2goKHsgc2NyaXB0VHlwZSwgc3BlbmRUeXBlLCBmaXh0dXJlVHlwZSwgc2hvd0FsbCB9KSA9PiB7XG4gIGRlc2NyaWJlKGBwYXJzZSAke2ZpeHR1cmVUeXBlfSAke3NjcmlwdFR5cGV9ICR7c3BlbmRUeXBlID8gc3BlbmRUeXBlIDogJ2RlZmF1bHQnfSBzcGVuZCBbYXJncz0ke2dldEFyZ3Moe1xuICAgIHNob3dBbGwsXG4gIH0pfWAsIGZ1bmN0aW9uICgpIHtcbiAgICBmdW5jdGlvbiBwYXJzZSh0eDogUGFyc2VyVHgsIHByZXZPdXRwdXRzPzogdXR4b2xpYi5UeE91dHB1dDxiaWdpbnQ+W10pOiBQYXJzZXJOb2RlIHtcbiAgICAgIHJldHVybiBnZXRUeFBhcnNlcih5YXJncy5jb21tYW5kKGNtZFBhcnNlVHgpLnBhcnNlKFsuLi5nZXRBcmdzKHsgc2hvd0FsbCB9KSwgJy0tcGFyc2VFcnJvcj10aHJvdyddKSBhcyBhbnkpLnBhcnNlKFxuICAgICAgICB0eCxcbiAgICAgICAge1xuICAgICAgICAgIHByZXZPdXRwdXRzLFxuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBmaXh0dXJlOiBQYXJzZWRGaXh0dXJlO1xuICAgIGJlZm9yZShhc3luYyBmdW5jdGlvbiAoKSB7XG4gICAgICBmaXh0dXJlID0gYXdhaXQgZ2V0VHJhbnNhY3Rpb25XaXRoU3BlbmRUeXBlKHV0eG9saWIubmV0d29ya3MudGVzdG5ldCwge1xuICAgICAgICBzY3JpcHRUeXBlLFxuICAgICAgICBzcGVuZFR5cGUsXG4gICAgICAgIGZpeHR1cmVUeXBlLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdChgcGFyc2VzYCwgZnVuY3Rpb24gKCkge1xuICAgICAgcGFyc2UoZml4dHVyZS50cmFuc2FjdGlvbik7XG4gICAgICBpZiAoZml4dHVyZS5wcmV2T3V0cHV0cykge1xuICAgICAgICBwYXJzZShmaXh0dXJlLnRyYW5zYWN0aW9uLCBmaXh0dXJlLnByZXZPdXRwdXRzKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIFtmYWxzZSwgdHJ1ZV0uZm9yRWFjaCgodXNlUHJldk91dHMpID0+IHtcbiAgICAgIGl0KGBmb3JtYXRzIFt1c2VQcmV2T3V0cz0ke3VzZVByZXZPdXRzfV1gLCBhc3luYyBmdW5jdGlvbiAodGhpczogbW9jaGEuQ29udGV4dCkge1xuICAgICAgICBpZiAodXNlUHJldk91dHMgJiYgIWZpeHR1cmUucHJldk91dHB1dHMpIHtcbiAgICAgICAgICB0aGlzLnNraXAoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmb3JtYXR0ZWQgPSBmb3JtYXRUcmVlTm9Db2xvcihwYXJzZShmaXh0dXJlLnRyYW5zYWN0aW9uLCB1c2VQcmV2T3V0cyA/IGZpeHR1cmUucHJldk91dHB1dHMgOiB1bmRlZmluZWQpLCB7XG4gICAgICAgICAgc2hvd0FsbCxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IGZpeHR1cmVOYW1lID0gc3BlbmRUeXBlID8gYCR7c2NyaXB0VHlwZX1fJHtzcGVuZFR5cGV9YCA6IHNjcmlwdFR5cGU7XG4gICAgICAgIGNvbnN0IGZpbGVuYW1lID0gW2ZpeHR1cmVOYW1lLCBmaXh0dXJlVHlwZSwgc2hvd0FsbCA/ICdhbGwnIDogJycsIHVzZVByZXZPdXRzID8gJ3ByZXZPdXRzJyA6ICcnXVxuICAgICAgICAgIC5maWx0ZXIoKHYpID0+IHYgIT09ICcnKVxuICAgICAgICAgIC5qb2luKCdfJyk7XG4gICAgICAgIGFzc2VydC5zdHJpY3RFcXVhbChcbiAgICAgICAgICBmb3JtYXR0ZWQsXG4gICAgICAgICAgYXdhaXQgZ2V0Rml4dHVyZVN0cmluZyhgdGVzdC9maXh0dXJlcy9mb3JtYXRUcmFuc2FjdGlvbi8ke2ZpbGVuYW1lfS50eHRgLCBmb3JtYXR0ZWQpXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==