@bitgo-beta/utxo-bin 2.8.3-beta.67 → 2.8.3-beta.670

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 (139) hide show
  1. package/README.md +63 -4
  2. package/dist/bin/index.js +11 -2
  3. package/dist/src/AddressParser.d.ts +1 -1
  4. package/dist/src/AddressParser.d.ts.map +1 -1
  5. package/dist/src/AddressParser.js +19 -7
  6. package/dist/src/InputParser.d.ts +1 -2
  7. package/dist/src/InputParser.d.ts.map +1 -1
  8. package/dist/src/InputParser.js +34 -32
  9. package/dist/src/OutputParser.d.ts +3 -3
  10. package/dist/src/OutputParser.d.ts.map +1 -1
  11. package/dist/src/OutputParser.js +18 -5
  12. package/dist/src/Parser.d.ts +3 -3
  13. package/dist/src/Parser.d.ts.map +1 -1
  14. package/dist/src/Parser.js +16 -6
  15. package/dist/src/ParserTx.d.ts +3 -4
  16. package/dist/src/ParserTx.d.ts.map +1 -1
  17. package/dist/src/ParserTx.js +7 -8
  18. package/dist/src/ScriptParser.d.ts +23 -0
  19. package/dist/src/ScriptParser.d.ts.map +1 -0
  20. package/dist/src/ScriptParser.js +96 -0
  21. package/dist/src/TxParser.d.ts +3 -2
  22. package/dist/src/TxParser.d.ts.map +1 -1
  23. package/dist/src/TxParser.js +10 -10
  24. package/dist/src/args/format.d.ts +8 -0
  25. package/dist/src/args/format.d.ts.map +1 -0
  26. package/dist/src/args/format.js +15 -0
  27. package/dist/src/args/index.d.ts +5 -0
  28. package/dist/src/args/index.d.ts.map +1 -0
  29. package/dist/src/args/index.js +21 -0
  30. package/dist/src/args/parseNetwork.d.ts +25 -0
  31. package/dist/src/args/parseNetwork.d.ts.map +1 -0
  32. package/dist/src/args/parseNetwork.js +75 -0
  33. package/dist/src/args/parseString.d.ts +40 -0
  34. package/dist/src/args/parseString.d.ts.map +1 -0
  35. package/dist/src/args/parseString.js +120 -0
  36. package/dist/src/args/walletKeys.d.ts +38 -0
  37. package/dist/src/args/walletKeys.d.ts.map +1 -0
  38. package/dist/src/args/walletKeys.js +28 -0
  39. package/dist/src/bip32.d.ts +5 -0
  40. package/dist/src/bip32.d.ts.map +1 -0
  41. package/dist/src/bip32.js +23 -0
  42. package/dist/src/commands/cmdAddress/cmdGenerate.d.ts +21 -0
  43. package/dist/src/commands/cmdAddress/cmdGenerate.d.ts.map +1 -0
  44. package/dist/src/commands/cmdAddress/cmdGenerate.js +89 -0
  45. package/dist/src/commands/cmdAddress/cmdParse.d.ts +20 -0
  46. package/dist/src/commands/cmdAddress/cmdParse.d.ts.map +1 -0
  47. package/dist/src/commands/cmdAddress/cmdParse.js +28 -0
  48. package/dist/src/commands/cmdAddress/index.d.ts +3 -0
  49. package/dist/src/commands/cmdAddress/index.d.ts.map +1 -0
  50. package/dist/src/commands/cmdAddress/index.js +16 -0
  51. package/dist/src/commands/cmdBip32.d.ts +16 -0
  52. package/dist/src/commands/cmdBip32.d.ts.map +1 -0
  53. package/dist/src/commands/cmdBip32.js +45 -0
  54. package/dist/src/commands/cmdParseScript.d.ts +18 -0
  55. package/dist/src/commands/cmdParseScript.d.ts.map +1 -0
  56. package/dist/src/commands/cmdParseScript.js +27 -0
  57. package/dist/src/commands/cmdParseTx.d.ts +30 -0
  58. package/dist/src/commands/cmdParseTx.d.ts.map +1 -0
  59. package/dist/src/commands/cmdParseTx.js +120 -0
  60. package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.d.ts +13 -0
  61. package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.d.ts.map +1 -0
  62. package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.js +67 -0
  63. package/dist/src/commands/cmdPsbt/cmdAddOutput.d.ts +11 -0
  64. package/dist/src/commands/cmdPsbt/cmdAddOutput.d.ts.map +1 -0
  65. package/dist/src/commands/cmdPsbt/cmdAddOutput.js +89 -0
  66. package/dist/src/commands/cmdPsbt/cmdCreate.d.ts +9 -0
  67. package/dist/src/commands/cmdPsbt/cmdCreate.d.ts.map +1 -0
  68. package/dist/src/commands/cmdPsbt/cmdCreate.js +23 -0
  69. package/dist/src/commands/cmdPsbt/cmdFinalize.d.ts +11 -0
  70. package/dist/src/commands/cmdPsbt/cmdFinalize.d.ts.map +1 -0
  71. package/dist/src/commands/cmdPsbt/cmdFinalize.js +43 -0
  72. package/dist/src/commands/cmdPsbt/cmdSign.d.ts +7 -0
  73. package/dist/src/commands/cmdPsbt/cmdSign.d.ts.map +1 -0
  74. package/dist/src/commands/cmdPsbt/cmdSign.js +24 -0
  75. package/dist/src/commands/cmdPsbt/index.d.ts +8 -0
  76. package/dist/src/commands/cmdPsbt/index.d.ts.map +1 -0
  77. package/dist/src/commands/cmdPsbt/index.js +27 -0
  78. package/dist/src/commands/cmdPsbt/withPsbt.d.ts +63 -0
  79. package/dist/src/commands/cmdPsbt/withPsbt.d.ts.map +1 -0
  80. package/dist/src/commands/cmdPsbt/withPsbt.js +66 -0
  81. package/dist/src/commands/cmdPsbt/wrap.d.ts +5 -0
  82. package/dist/src/commands/cmdPsbt/wrap.d.ts.map +1 -0
  83. package/dist/src/commands/cmdPsbt/wrap.js +27 -0
  84. package/dist/src/commands/formatString.d.ts +8 -0
  85. package/dist/src/commands/formatString.d.ts.map +1 -0
  86. package/dist/src/commands/formatString.js +14 -0
  87. package/dist/src/commands/index.d.ts +6 -0
  88. package/dist/src/commands/index.d.ts.map +1 -0
  89. package/dist/src/commands/index.js +22 -0
  90. package/dist/src/ecdsa.d.ts +0 -1
  91. package/dist/src/ecdsa.d.ts.map +1 -1
  92. package/dist/src/ecdsa.js +2 -3
  93. package/dist/src/fetch.d.ts +8 -1
  94. package/dist/src/fetch.d.ts.map +1 -1
  95. package/dist/src/fetch.js +42 -9
  96. package/dist/src/format.d.ts.map +1 -1
  97. package/dist/src/format.js +15 -8
  98. package/dist/src/generateAddress.d.ts +47 -0
  99. package/dist/src/generateAddress.d.ts.map +1 -0
  100. package/dist/src/generateAddress.js +141 -0
  101. package/dist/src/hollowSegwitSpend.d.ts +1 -1
  102. package/dist/src/hollowSegwitSpend.d.ts.map +1 -1
  103. package/dist/src/hollowSegwitSpend.js +3 -4
  104. package/dist/src/parseUnknown.d.ts +3 -1
  105. package/dist/src/parseUnknown.d.ts.map +1 -1
  106. package/dist/src/parseUnknown.js +5 -6
  107. package/dist/test/args/stringToBuffer.d.ts +2 -0
  108. package/dist/test/args/stringToBuffer.d.ts.map +1 -0
  109. package/dist/test/args/stringToBuffer.js +16 -0
  110. package/dist/test/bip32.d.ts +2 -0
  111. package/dist/test/bip32.d.ts.map +1 -0
  112. package/dist/test/bip32.js +22 -0
  113. package/dist/test/bip32.util.d.ts +6 -0
  114. package/dist/test/bip32.util.d.ts.map +1 -0
  115. package/dist/test/bip32.util.js +13 -0
  116. package/dist/test/cmdPsbt.d.ts +2 -0
  117. package/dist/test/cmdPsbt.d.ts.map +1 -0
  118. package/dist/test/cmdPsbt.js +102 -0
  119. package/dist/test/fixtures.d.ts +4 -4
  120. package/dist/test/fixtures.d.ts.map +1 -1
  121. package/dist/test/fixtures.js +20 -14
  122. package/dist/test/generateAddress.d.ts +2 -0
  123. package/dist/test/generateAddress.d.ts.map +1 -0
  124. package/dist/test/generateAddress.js +46 -0
  125. package/dist/test/parseAddress.d.ts +1 -5
  126. package/dist/test/parseAddress.d.ts.map +1 -1
  127. package/dist/test/parseAddress.js +20 -22
  128. package/dist/test/parseScript.d.ts +2 -0
  129. package/dist/test/parseScript.d.ts.map +1 -0
  130. package/dist/test/parseScript.js +41 -0
  131. package/dist/test/parseTransaction.js +14 -10
  132. package/dist/tsconfig.tsbuildinfo +1 -1
  133. package/package.json +9 -6
  134. package/dist/src/commands.d.ts +0 -48
  135. package/dist/src/commands.d.ts.map +0 -1
  136. package/dist/src/commands.js +0 -213
  137. package/dist/src/readStdin.d.ts +0 -5
  138. package/dist/src/readStdin.d.ts.map +0 -1
  139. package/dist/src/readStdin.js +0 -42
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getParserTxInputProperties = exports.getParserTxProperties = exports.getPrevOut = void 0;
3
+ exports.getPrevOut = getPrevOut;
4
+ exports.getParserTxProperties = getParserTxProperties;
5
+ exports.getParserTxInputProperties = getParserTxInputProperties;
4
6
  const utxolib = require("@bitgo-beta/utxo-lib");
5
7
  function getPrevOut(prevOutput, prevOutpoint, network) {
6
8
  if (prevOutput.witnessUtxo) {
@@ -13,7 +15,6 @@ function getPrevOut(prevOutput, prevOutpoint, network) {
13
15
  }
14
16
  return undefined;
15
17
  }
16
- exports.getPrevOut = getPrevOut;
17
18
  function getOutputSum(outputs) {
18
19
  return outputs.reduce((sum, o) => sum + o.value, BigInt(0));
19
20
  }
@@ -55,20 +56,19 @@ function getParserTxProperties(tx, prevOutputs) {
55
56
  return {
56
57
  format: 'psbt',
57
58
  complete,
58
- id: (signedTx !== null && signedTx !== void 0 ? signedTx : unsignedTx).getId(),
59
- weight: (signedTx !== null && signedTx !== void 0 ? signedTx : unsignedTx).weight(),
59
+ id: (signedTx ?? unsignedTx).getId(),
60
+ weight: (signedTx ?? unsignedTx).weight(),
60
61
  inputs: tx.txInputs,
61
62
  outputs: tx.txOutputs,
62
63
  outputSum: getOutputSum(tx.txOutputs),
63
64
  inputSum: tx.data.inputs
64
- .map((input, i) => { var _a; return (_a = getPrevOut(input, tx.txInputs[i], tx.network)) === null || _a === void 0 ? void 0 : _a.value; })
65
+ .map((input, i) => getPrevOut(input, tx.txInputs[i], tx.network)?.value)
65
66
  .reduce((sum, v) => sum === undefined || v === undefined ? undefined : sum + v, BigInt(0)),
66
67
  hasWitnesses: tx.data.inputs.some((i) => i.witnessUtxo !== undefined),
67
68
  };
68
69
  }
69
70
  throw new Error('unknown transaction type');
70
71
  }
71
- exports.getParserTxProperties = getParserTxProperties;
72
72
  function getParserTxInputProperties(input, prevOut) {
73
73
  const outputId = utxolib.bitgo.getOutputIdForInput(input);
74
74
  if ('sequence' in input && 'script' in input && 'witness' in input) {
@@ -90,5 +90,4 @@ function getParserTxInputProperties(input, prevOut) {
90
90
  witness: prevOut.witnessScript ? [prevOut.witnessScript] : [],
91
91
  };
92
92
  }
93
- exports.getParserTxInputProperties = getParserTxInputProperties;
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFyc2VyVHguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvUGFyc2VyVHgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0RBQWdEO0FBUWhELFNBQWdCLFVBQVUsQ0FDeEIsVUFBbUMsRUFDbkMsWUFBMEMsRUFDMUMsT0FBd0I7SUFPeEIsSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFO1FBQzFCLE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQztLQUMvQjtJQUNELE1BQU0sV0FBVyxHQUNmLE9BQU8sWUFBWSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN6RyxJQUFJLFVBQVUsQ0FBQyxjQUFjLEVBQUU7UUFDN0IsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ25ILE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUM3QjtJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFwQkQsZ0NBb0JDO0FBRUQsU0FBUyxZQUFZLENBQUMsT0FBNEI7SUFDaEQsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUQsQ0FBQztBQUVELFNBQWdCLHFCQUFxQixDQUNuQyxFQUFZLEVBQ1osV0FBbUQ7SUFZbkQsSUFBSSxFQUFFLFlBQVksT0FBTyxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUU7UUFDL0MsSUFBSSxRQUFRLEdBQUcsSUFB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RUFDcEIsT0FBaUM7SUFRakMsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxRCxJQUFJLFVBQVUsSUFBSSxLQUFLLElBQUksUUFBUSxJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksS0FBSyxFQUFFO1FBQ2xFLDZCQUE2QjtRQUM3QixPQUFPO1lBQ0wsR0FBRyxRQUFRO1lBQ1gsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU87U0FDdkIsQ0FBQztLQUNIO0lBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztLQUNwQztJQUNELE9BQU87UUFDTCxHQUFHLFFBQVE7UUFDWCxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7UUFDeEIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxZQUFZO1FBQzVCLE9BQU8sRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtLQUM5RCxDQUFDO0FBQ0osQ0FBQztBQTlCRCxnRUE4QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuZXhwb3J0IHR5cGUgUGFyc2VyVHggPSB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxiaWdpbnQ+IHwgdXR4b2xpYi5iaXRnby5VdHhvUHNidDtcbmV4cG9ydCB0eXBlIFBhcnNlclR4SW5wdXQgPVxuICB8IHV0eG9saWIuVHhJbnB1dCAvKiB0eGlucHV0IGhhcyB0aGUgVHhPdXRQb2ludCBhbmQgYWxzbyBzY3JpcHQgYW5kIHdpdG5lc3MgZGF0YSAqL1xuICB8IHV0eG9saWIuUHNidFR4SW5wdXQgLyogdGhpcyBpcyBiYXNpY2FsbHkgZXF1aXZhbGVudCB0byBUeE91dFBvaW50IG9ubHkgKi87XG5leHBvcnQgdHlwZSBQYXJzZXJUeE91dHB1dCA9IHV0eG9saWIuVHhPdXRwdXQ8YmlnaW50PiB8IHV0eG9saWIuUHNidFR4T3V0cHV0O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJldk91dChcbiAgcHJldk91dHB1dDogdXR4b2xpYi5iaXRnby5Qc2J0SW5wdXQsXG4gIHByZXZPdXRwb2ludDogdXR4b2xpYi5Qc2J0VHhJbnB1dCB8IG51bWJlcixcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrXG4pOlxuICB8IHtcbiAgICAgIHZhbHVlOiBiaWdpbnQ7XG4gICAgICBzY3JpcHQ6IEJ1ZmZlcjtcbiAgICB9XG4gIHwgdW5kZWZpbmVkIHtcbiAgaWYgKHByZXZPdXRwdXQud2l0bmVzc1V0eG8pIHtcbiAgICByZXR1cm4gcHJldk91dHB1dC53aXRuZXNzVXR4bztcbiAgfVxuICBjb25zdCBvdXRwdXRJbmRleCA9XG4gICAgdHlwZW9mIHByZXZPdXRwb2ludCA9PT0gJ251bWJlcicgPyBwcmV2T3V0cG9pbnQgOiB1dHhvbGliLmJpdGdvLmdldE91dHB1dElkRm9ySW5wdXQocHJldk91dHBvaW50KS52b3V0O1xuICBpZiAocHJldk91dHB1dC5ub25XaXRuZXNzVXR4bykge1xuICAgIGNvbnN0IHR4ID0gdXR4b2xpYi5iaXRnby5jcmVhdGVUcmFuc2FjdGlvbkZyb21CdWZmZXIocHJldk91dHB1dC5ub25XaXRuZXNzVXR4bywgbmV0d29yaywgeyBhbW91bnRUeXBlOiAnYmlnaW50JyB9KTtcbiAgICByZXR1cm4gdHgub3V0c1tvdXRwdXRJbmRleF07XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gZ2V0T3V0cHV0U3VtKG91dHB1dHM6IHsgdmFsdWU6IGJpZ2ludCB9W10pOiBiaWdpbnQge1xuICByZXR1cm4gb3V0cHV0cy5yZWR1Y2UoKHN1bSwgbykgPT4gc3VtICsgby52YWx1ZSwgQmlnSW50KDApKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBhcnNlclR4UHJvcGVydGllcyhcbiAgdHg6IFBhcnNlclR4LFxuICBwcmV2T3V0cHV0czogdXR4b2xpYi5UeE91dHB1dDxiaWdpbnQ+W10gfCB1bmRlZmluZWRcbik6IHtcbiAgZm9ybWF0OiAnbmV0d29yaycgfCAnbGVnYWN5JyB8ICdwc2J0JztcbiAgY29tcGxldGU6IGJvb2xlYW47XG4gIGlkOiBzdHJpbmc7XG4gIHdlaWdodDogbnVtYmVyO1xuICBpbnB1dHM6IFBhcnNlclR4SW5wdXRbXTtcbiAgb3V0cHV0czogUGFyc2VyVHhPdXRwdXRbXTtcbiAgb3V0cHV0U3VtOiBiaWdpbnQ7XG4gIGlucHV0U3VtOiBiaWdpbnQgfCB1bmRlZmluZWQ7XG4gIGhhc1dpdG5lc3NlczogYm9vbGVhbjtcbn0ge1xuICBpZiAodHggaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbikge1xuICAgIGxldCBjb21wbGV0ZSA9IHRydWU7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHR4YiA9IHV0eG9saWIuYml0Z28uY3JlYXRlVHJhbnNhY3Rpb25CdWlsZGVyRnJvbVRyYW5zYWN0aW9uKHR4KTtcbiAgICAgIHR4Yi5idWlsZCgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbXBsZXRlID0gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBmb3JtYXQ6IGNvbXBsZXRlID8gJ25ldHdvcmsnIDogJ2xlZ2FjeScsXG4gICAgICBjb21wbGV0ZSxcbiAgICAgIGlkOiB0eC5nZXRJZCgpLFxuICAgICAgd2VpZ2h0OiB0eC53ZWlnaHQoKSxcbiAgICAgIGlucHV0czogdHguaW5zLFxuICAgICAgb3V0cHV0czogdHgub3V0cyxcbiAgICAgIG91dHB1dFN1bTogZ2V0T3V0cHV0U3VtKHR4Lm91dHMpLFxuICAgICAgaW5wdXRTdW06IHByZXZPdXRwdXRzID8gZ2V0T3V0cHV0U3VtKHByZXZPdXRwdXRzKSA6IHVuZGVmaW5lZCxcbiAgICAgIGhhc1dpdG5lc3NlczogdHguaGFzV2l0bmVzc2VzKCksXG4gICAgfTtcbiAgfVxuXG4gIGlmICh0eCBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uVXR4b1BzYnQpIHtcbiAgICBsZXQgc2lnbmVkVHg7XG4gICAgbGV0IGNvbXBsZXRlID0gdHJ1ZTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY2xvbmUgPSB0eC5jbG9uZSgpO1xuICAgICAgY2xvbmUuZmluYWxpemVBbGxJbnB1dHMoKTtcbiAgICAgIHNpZ25lZFR4ID0gY2xvbmUuZXh0cmFjdFRyYW5zYWN0aW9uKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29tcGxldGUgPSBmYWxzZTtcbiAgICAgIC8vIGlnbm9yZVxuICAgIH1cblxuICAgIGNvbnN0IHVuc2lnbmVkVHggPSB0eC5nZXRVbnNpZ25lZFR4KCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZm9ybWF0OiAncHNidCcsXG4gICAgICBjb21wbGV0ZSxcbiAgICAgIGlkOiAoc2lnbmVkVHggPz8gdW5zaWduZWRUeCkuZ2V0SWQoKSxcbiAgICAgIHdlaWdodDogKHNpZ25lZFR4ID8/IHVuc2lnbmVkVHgpLndlaWdodCgpLFxuICAgICAgaW5wdXRzOiB0eC50eElucHV0cyxcbiAgICAgIG91dHB1dHM6IHR4LnR4T3V0cHV0cyxcbiAgICAgIG91dHB1dFN1bTogZ2V0T3V0cHV0U3VtKHR4LnR4T3V0cHV0cyksXG4gICAgICBpbnB1dFN1bTogdHguZGF0YS5pbnB1dHNcbiAgICAgICAgLm1hcCgoaW5wdXQsIGkpID0+IGdldFByZXZPdXQoaW5wdXQsIHR4LnR4SW5wdXRzW2ldLCB0eC5uZXR3b3JrKT8udmFsdWUpXG4gICAgICAgIC5yZWR1Y2UoXG4gICAgICAgICAgKHN1bTogYmlnaW50IHwgdW5kZWZpbmVkLCB2OiBiaWdpbnQgfCB1bmRlZmluZWQpID0+XG4gICAgICAgICAgICBzdW0gPT09IHVuZGVmaW5lZCB8fCB2ID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBzdW0gKyB2LFxuICAgICAgICAgIEJpZ0ludCgwKVxuICAgICAgICApLFxuICAgICAgaGFzV2l0bmVzc2VzOiB0eC5kYXRhLmlucHV0cy5zb21lKChpKSA9PiBpLndpdG5lc3NVdHhvICE9PSB1bmRlZmluZWQpLFxuICAgIH07XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoJ3Vua25vd24gdHJhbnNhY3Rpb24gdHlwZScpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFBhcnNlclR4SW5wdXRQcm9wZXJ0aWVzKFxuICBpbnB1dDogUGFyc2VyVHhJbnB1dCxcbiAgcHJldk91dD86IHV0eG9saWIuYml0Z28uUHNidElucHV0XG4pOiB7XG4gIHR4aWQ6IHN0cmluZztcbiAgdm91dDogbnVtYmVyO1xuICBzZXF1ZW5jZT86IG51bWJlcjtcbiAgc2NyaXB0PzogQnVmZmVyO1xuICB3aXRuZXNzPzogQnVmZmVyW107XG59IHtcbiAgY29uc3Qgb3V0cHV0SWQgPSB1dHhvbGliLmJpdGdvLmdldE91dHB1dElkRm9ySW5wdXQoaW5wdXQpO1xuICBpZiAoJ3NlcXVlbmNlJyBpbiBpbnB1dCAmJiAnc2NyaXB0JyBpbiBpbnB1dCAmJiAnd2l0bmVzcycgaW4gaW5wdXQpIHtcbiAgICAvLyBmdWxsLXNpZ25lZCBvciBsZWdhY3kgY2FzZVxuICAgIHJldHVybiB7XG4gICAgICAuLi5vdXRwdXRJZCxcbiAgICAgIHNlcXVlbmNlOiBpbnB1dC5zZXF1ZW5jZSxcbiAgICAgIHNjcmlwdDogaW5wdXQuc2NyaXB0LFxuICAgICAgd2l0bmVzczogaW5wdXQud2l0bmVzcyxcbiAgICB9O1xuICB9XG5cbiAgaWYgKCFwcmV2T3V0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHByZXZPdXQnKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIC4uLm91dHB1dElkLFxuICAgIHNlcXVlbmNlOiBpbnB1dC5zZXF1ZW5jZSxcbiAgICBzY3JpcHQ6IHByZXZPdXQucmVkZWVtU2NyaXB0LFxuICAgIHdpdG5lc3M6IHByZXZPdXQud2l0bmVzc1NjcmlwdCA/IFtwcmV2T3V0LndpdG5lc3NTY3JpcHRdIDogW10sXG4gIH07XG59XG4iXX0=
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFyc2VyVHguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvUGFyc2VyVHgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSxnQ0FvQkM7QUFNRCxzREFxRUM7QUFDRCxnRUE4QkM7QUF0SUQsZ0RBQWdEO0FBUWhELFNBQWdCLFVBQVUsQ0FDeEIsVUFBbUMsRUFDbkMsWUFBMEMsRUFDMUMsT0FBd0I7SUFPeEIsSUFBSSxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0IsT0FBTyxVQUFVLENBQUMsV0FBVyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxNQUFNLFdBQVcsR0FDZixPQUFPLFlBQVksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDekcsSUFBSSxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDOUIsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLE9BQU8sRUFBRSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ25ILE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELFNBQVMsWUFBWSxDQUFDLE9BQTRCO0lBQ2hELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlELENBQUM7QUFFRCxTQUFnQixxQkFBcUIsQ0FDbkMsRUFBWSxFQUNaLFdBQW1EO0lBWW5ELElBQUksRUFBRSxZQUFZLE9BQU8sQ0FBQyxL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QUNELFNBQWdCLDBCQUEwQixDQUN4QyxLQUFvQixFQUNwQixPQUFpQztJQVFqQyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFELElBQUksVUFBVSxJQUFJLEtBQUssSUFBSSxRQUFRLElBQUksS0FBSyxJQUFJLFNBQVMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNuRSw2QkFBNkI7UUFDN0IsT0FBTztZQUNMLEdBQUcsUUFBUTtZQUNYLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDcEIsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1NBQ3ZCLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxPQUFPO1FBQ0wsR0FBRyxRQUFRO1FBQ1gsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1FBQ3hCLE1BQU0sRUFBRSxPQUFPLENBQUMsWUFBWTtRQUM1QixPQUFPLEVBQUUsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU7S0FDOUQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuZXhwb3J0IHR5cGUgUGFyc2VyVHggPSB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxiaWdpbnQ+IHwgdXR4b2xpYi5iaXRnby5VdHhvUHNidDtcbmV4cG9ydCB0eXBlIFBhcnNlclR4SW5wdXQgPVxuICB8IHV0eG9saWIuVHhJbnB1dCAvKiB0eGlucHV0IGhhcyB0aGUgVHhPdXRQb2ludCBhbmQgYWxzbyBzY3JpcHQgYW5kIHdpdG5lc3MgZGF0YSAqL1xuICB8IHV0eG9saWIuUHNidFR4SW5wdXQgLyogdGhpcyBpcyBiYXNpY2FsbHkgZXF1aXZhbGVudCB0byBUeE91dFBvaW50IG9ubHkgKi87XG5leHBvcnQgdHlwZSBQYXJzZXJUeE91dHB1dCA9IHV0eG9saWIuVHhPdXRwdXQ8YmlnaW50PiB8IHV0eG9saWIuUHNidFR4T3V0cHV0O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UHJldk91dChcbiAgcHJldk91dHB1dDogdXR4b2xpYi5iaXRnby5Qc2J0SW5wdXQsXG4gIHByZXZPdXRwb2ludDogdXR4b2xpYi5Qc2J0VHhJbnB1dCB8IG51bWJlcixcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrXG4pOlxuICB8IHtcbiAgICAgIHZhbHVlOiBiaWdpbnQ7XG4gICAgICBzY3JpcHQ6IEJ1ZmZlcjtcbiAgICB9XG4gIHwgdW5kZWZpbmVkIHtcbiAgaWYgKHByZXZPdXRwdXQud2l0bmVzc1V0eG8pIHtcbiAgICByZXR1cm4gcHJldk91dHB1dC53aXRuZXNzVXR4bztcbiAgfVxuICBjb25zdCBvdXRwdXRJbmRleCA9XG4gICAgdHlwZW9mIHByZXZPdXRwb2ludCA9PT0gJ251bWJlcicgPyBwcmV2T3V0cG9pbnQgOiB1dHhvbGliLmJpdGdvLmdldE91dHB1dElkRm9ySW5wdXQocHJldk91dHBvaW50KS52b3V0O1xuICBpZiAocHJldk91dHB1dC5ub25XaXRuZXNzVXR4bykge1xuICAgIGNvbnN0IHR4ID0gdXR4b2xpYi5iaXRnby5jcmVhdGVUcmFuc2FjdGlvbkZyb21CdWZmZXIocHJldk91dHB1dC5ub25XaXRuZXNzVXR4bywgbmV0d29yaywgeyBhbW91bnRUeXBlOiAnYmlnaW50JyB9KTtcbiAgICByZXR1cm4gdHgub3V0c1tvdXRwdXRJbmRleF07XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gZ2V0T3V0cHV0U3VtKG91dHB1dHM6IHsgdmFsdWU6IGJpZ2ludCB9W10pOiBiaWdpbnQge1xuICByZXR1cm4gb3V0cHV0cy5yZWR1Y2UoKHN1bSwgbykgPT4gc3VtICsgby52YWx1ZSwgQmlnSW50KDApKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBhcnNlclR4UHJvcGVydGllcyhcbiAgdHg6IFBhcnNlclR4LFxuICBwcmV2T3V0cHV0czogdXR4b2xpYi5UeE91dHB1dDxiaWdpbnQ+W10gfCB1bmRlZmluZWRcbik6IHtcbiAgZm9ybWF0OiAnbmV0d29yaycgfCAnbGVnYWN5JyB8ICdwc2J0JztcbiAgY29tcGxldGU6IGJvb2xlYW47XG4gIGlkOiBzdHJpbmc7XG4gIHdlaWdodDogbnVtYmVyO1xuICBpbnB1dHM6IFBhcnNlclR4SW5wdXRbXTtcbiAgb3V0cHV0czogUGFyc2VyVHhPdXRwdXRbXTtcbiAgb3V0cHV0U3VtOiBiaWdpbnQ7XG4gIGlucHV0U3VtOiBiaWdpbnQgfCB1bmRlZmluZWQ7XG4gIGhhc1dpdG5lc3NlczogYm9vbGVhbjtcbn0ge1xuICBpZiAodHggaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbikge1xuICAgIGxldCBjb21wbGV0ZSA9IHRydWU7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHR4YiA9IHV0eG9saWIuYml0Z28uY3JlYXRlVHJhbnNhY3Rpb25CdWlsZGVyRnJvbVRyYW5zYWN0aW9uKHR4KTtcbiAgICAgIHR4Yi5idWlsZCgpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbXBsZXRlID0gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBmb3JtYXQ6IGNvbXBsZXRlID8gJ25ldHdvcmsnIDogJ2xlZ2FjeScsXG4gICAgICBjb21wbGV0ZSxcbiAgICAgIGlkOiB0eC5nZXRJZCgpLFxuICAgICAgd2VpZ2h0OiB0eC53ZWlnaHQoKSxcbiAgICAgIGlucHV0czogdHguaW5zLFxuICAgICAgb3V0cHV0czogdHgub3V0cyxcbiAgICAgIG91dHB1dFN1bTogZ2V0T3V0cHV0U3VtKHR4Lm91dHMpLFxuICAgICAgaW5wdXRTdW06IHByZXZPdXRwdXRzID8gZ2V0T3V0cHV0U3VtKHByZXZPdXRwdXRzKSA6IHVuZGVmaW5lZCxcbiAgICAgIGhhc1dpdG5lc3NlczogdHguaGFzV2l0bmVzc2VzKCksXG4gICAgfTtcbiAgfVxuXG4gIGlmICh0eCBpbnN0YW5jZW9mIHV0eG9saWIuYml0Z28uVXR4b1BzYnQpIHtcbiAgICBsZXQgc2lnbmVkVHg7XG4gICAgbGV0IGNvbXBsZXRlID0gdHJ1ZTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY2xvbmUgPSB0eC5jbG9uZSgpO1xuICAgICAgY2xvbmUuZmluYWxpemVBbGxJbnB1dHMoKTtcbiAgICAgIHNpZ25lZFR4ID0gY2xvbmUuZXh0cmFjdFRyYW5zYWN0aW9uKCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29tcGxldGUgPSBmYWxzZTtcbiAgICAgIC8vIGlnbm9yZVxuICAgIH1cblxuICAgIGNvbnN0IHVuc2lnbmVkVHggPSB0eC5nZXRVbnNpZ25lZFR4KCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZm9ybWF0OiAncHNidCcsXG4gICAgICBjb21wbGV0ZSxcbiAgICAgIGlkOiAoc2lnbmVkVHggPz8gdW5zaWduZWRUeCkuZ2V0SWQoKSxcbiAgICAgIHdlaWdodDogKHNpZ25lZFR4ID8/IHVuc2lnbmVkVHgpLndlaWdodCgpLFxuICAgICAgaW5wdXRzOiB0eC50eElucHV0cyxcbiAgICAgIG91dHB1dHM6IHR4LnR4T3V0cHV0cyxcbiAgICAgIG91dHB1dFN1bTogZ2V0T3V0cHV0U3VtKHR4LnR4T3V0cHV0cyksXG4gICAgICBpbnB1dFN1bTogdHguZGF0YS5pbnB1dHNcbiAgICAgICAgLm1hcCgoaW5wdXQsIGkpID0+IGdldFByZXZPdXQoaW5wdXQsIHR4LnR4SW5wdXRzW2ldLCB0eC5uZXR3b3JrKT8udmFsdWUpXG4gICAgICAgIC5yZWR1Y2UoXG4gICAgICAgICAgKHN1bTogYmlnaW50IHwgdW5kZWZpbmVkLCB2OiBiaWdpbnQgfCB1bmRlZmluZWQpID0+XG4gICAgICAgICAgICBzdW0gPT09IHVuZGVmaW5lZCB8fCB2ID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBzdW0gKyB2LFxuICAgICAgICAgIEJpZ0ludCgwKVxuICAgICAgICApLFxuICAgICAgaGFzV2l0bmVzc2VzOiB0eC5kYXRhLmlucHV0cy5zb21lKChpKSA9PiBpLndpdG5lc3NVdHhvICE9PSB1bmRlZmluZWQpLFxuICAgIH07XG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoJ3Vua25vd24gdHJhbnNhY3Rpb24gdHlwZScpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGdldFBhcnNlclR4SW5wdXRQcm9wZXJ0aWVzKFxuICBpbnB1dDogUGFyc2VyVHhJbnB1dCxcbiAgcHJldk91dD86IHV0eG9saWIuYml0Z28uUHNidElucHV0XG4pOiB7XG4gIHR4aWQ6IHN0cmluZztcbiAgdm91dDogbnVtYmVyO1xuICBzZXF1ZW5jZT86IG51bWJlcjtcbiAgc2NyaXB0PzogQnVmZmVyO1xuICB3aXRuZXNzPzogQnVmZmVyW107XG59IHtcbiAgY29uc3Qgb3V0cHV0SWQgPSB1dHhvbGliLmJpdGdvLmdldE91dHB1dElkRm9ySW5wdXQoaW5wdXQpO1xuICBpZiAoJ3NlcXVlbmNlJyBpbiBpbnB1dCAmJiAnc2NyaXB0JyBpbiBpbnB1dCAmJiAnd2l0bmVzcycgaW4gaW5wdXQpIHtcbiAgICAvLyBmdWxsLXNpZ25lZCBvciBsZWdhY3kgY2FzZVxuICAgIHJldHVybiB7XG4gICAgICAuLi5vdXRwdXRJZCxcbiAgICAgIHNlcXVlbmNlOiBpbnB1dC5zZXF1ZW5jZSxcbiAgICAgIHNjcmlwdDogaW5wdXQuc2NyaXB0LFxuICAgICAgd2l0bmVzczogaW5wdXQud2l0bmVzcyxcbiAgICB9O1xuICB9XG5cbiAgaWYgKCFwcmV2T3V0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIHByZXZPdXQnKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIC4uLm91dHB1dElkLFxuICAgIHNlcXVlbmNlOiBpbnB1dC5zZXF1ZW5jZSxcbiAgICBzY3JpcHQ6IHByZXZPdXQucmVkZWVtU2NyaXB0LFxuICAgIHdpdG5lc3M6IHByZXZPdXQud2l0bmVzc1NjcmlwdCA/IFtwcmV2T3V0LndpdG5lc3NTY3JpcHRdIDogW10sXG4gIH07XG59XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ import { Parser, ParserNode } from './Parser';
3
+ declare const paymentTypes: readonly ["p2sh", "p2shP2wsh", "p2pkh", "p2wpkh", "p2wsh", "p2ms"];
4
+ type PaymentType = (typeof paymentTypes)[number];
5
+ export declare class ScriptParser extends Parser {
6
+ network: utxolib.Network;
7
+ constructor({ network }: {
8
+ network: utxolib.Network;
9
+ });
10
+ static toASM(script: Buffer, { insertNewlines }?: {
11
+ insertNewlines?: boolean | undefined;
12
+ }): string | undefined;
13
+ static classify(script: Buffer | undefined, witness: Buffer[] | undefined): {
14
+ input: string | undefined;
15
+ output: string | undefined;
16
+ witness: string | undefined;
17
+ };
18
+ parsePayment(type: PaymentType, payment: utxolib.Payment): ParserNode;
19
+ parseBufferAsPayment(script: Buffer): ParserNode[];
20
+ parse(script: Buffer): ParserNode;
21
+ }
22
+ export {};
23
+ //# sourceMappingURL=ScriptParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScriptParser.d.ts","sourceRoot":"","sources":["../../src/ScriptParser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG9C,QAAA,MAAM,YAAY,oEAAqE,CAAC;AACxF,KAAK,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAkCjD,qBAAa,YAAa,SAAQ,MAAM;IACtC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;gBACb,EAAE,OAAO,EAAE,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAA;KAAE;IAKrD,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,cAAqB,EAAE;;KAAK,GAAG,MAAM,GAAG,SAAS;IAahF,MAAM,CAAC,QAAQ,CACb,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,GAC5B;QACD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;QAC1B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;KAC7B;IAQD,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,UAAU;IAWrE,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE;IAUlD,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU;CAelC"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScriptParser = void 0;
4
+ const utxolib = require("@bitgo-beta/utxo-lib");
5
+ const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
6
+ const Parser_1 = require("./Parser");
7
+ const parseUnknown_1 = require("./parseUnknown");
8
+ const paymentTypes = ['p2sh', 'p2shP2wsh', 'p2pkh', 'p2wpkh', 'p2wsh', 'p2ms'];
9
+ function parsePaymentWithType(script, type, network) {
10
+ switch (type) {
11
+ case 'p2sh':
12
+ return utxolib.payments.p2sh({ redeem: { output: script }, network });
13
+ case 'p2shP2wsh':
14
+ return utxolib.payments.p2sh({
15
+ redeem: { output: utxolib.payments.p2wsh({ redeem: { output: script }, network }).output },
16
+ network,
17
+ });
18
+ case 'p2pkh':
19
+ return utxolib.payments.p2pkh({ output: script, network });
20
+ case 'p2wpkh':
21
+ return utxolib.payments.p2wpkh({ output: script, network });
22
+ case 'p2wsh':
23
+ return utxolib.payments.p2wsh({ output: script, network });
24
+ case 'p2ms':
25
+ return utxolib.payments.p2ms({ output: script, network });
26
+ }
27
+ }
28
+ function asMiniscript(script) {
29
+ const contexts = ['tap', 'segwitv0', 'legacy'];
30
+ for (const ctx of contexts) {
31
+ try {
32
+ return wasm_miniscript_1.Miniscript.fromBitcoinScript(script, ctx);
33
+ }
34
+ catch (e) {
35
+ continue;
36
+ }
37
+ }
38
+ throw new Error('failed to parse as miniscript');
39
+ }
40
+ class ScriptParser extends Parser_1.Parser {
41
+ constructor({ network }) {
42
+ super();
43
+ this.network = network;
44
+ }
45
+ static toASM(script, { insertNewlines = true } = {}) {
46
+ let parsed;
47
+ try {
48
+ parsed = utxolib.script.toASM(script);
49
+ }
50
+ catch (e) {
51
+ return 'error';
52
+ }
53
+ if (parsed) {
54
+ return insertNewlines ? ['', ...parsed.split(' ')].join('\n') : parsed;
55
+ }
56
+ }
57
+ static classify(script, witness) {
58
+ return {
59
+ input: script ? utxolib.classify.input(script, /* allowIncomplete */ true) : undefined,
60
+ output: script ? utxolib.classify.output(script) : undefined,
61
+ witness: witness ? utxolib.classify.witness(witness) : undefined,
62
+ };
63
+ }
64
+ parsePayment(type, payment) {
65
+ return (0, parseUnknown_1.parseUnknown)(this, `payment: ${type}`, { name: payment.name, ...payment }, {
66
+ omit: ['network'],
67
+ });
68
+ }
69
+ parseBufferAsPayment(script) {
70
+ return paymentTypes.flatMap((type) => {
71
+ try {
72
+ return [this.parsePayment(type, parsePaymentWithType(script, type, this.network))];
73
+ }
74
+ catch (e) {
75
+ return [];
76
+ }
77
+ });
78
+ }
79
+ parse(script) {
80
+ const classification = ScriptParser.classify(script, undefined);
81
+ const decompiled = utxolib.script.decompile(script);
82
+ return this.node('script', `length ${script.length} bytes`, [
83
+ this.nodeCatchError('miniscript', () => asMiniscript(script)?.toString()),
84
+ this.node('classification', undefined, [
85
+ this.node('input', classification.input),
86
+ this.node('output', classification.output),
87
+ this.node('witness', classification.witness),
88
+ ]),
89
+ this.node('asm', ScriptParser.toASM(script)),
90
+ this.node('decompiled', undefined, decompiled ? decompiled.map((v, i) => this.node(i, v)) : undefined),
91
+ ...this.parseBufferAsPayment(script),
92
+ ]);
93
+ }
94
+ }
95
+ exports.ScriptParser = ScriptParser;
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2NyaXB0UGFyc2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1NjcmlwdFBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxnREFBZ0Q7QUFDaEQsNERBQW9EO0FBRXBELHFDQUE4QztBQUM5QyxpREFBOEM7QUFFOUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBVSxDQUFDO0FBR3hGLFNBQVMsb0JBQW9CLENBQUMsTUFBYyxFQUFFLElBQWlCLEVBQUUsT0FBeUI7SUFDeEYsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNiLEtBQUssTUFBTTtZQUNULE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4RSxLQUFLLFdBQVc7WUFDZCxPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO2dCQUMzQixNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7Z0JBQzFGLE9BQU87YUFDUixDQUFDLENBQUM7UUFDTCxLQUFLLE9BQU87WUFDVixPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzdELEtBQUssUUFBUTtZQUNYLE9BQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDOUQsS0FBSyxPQUFPO1lBQ1Ys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LEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ3RHLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztTQUNyQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF2RUQsb0NBdUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBNaW5pc2NyaXB0IH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5cbmltcG9ydCB7IFBhcnNlciwgUGFyc2VyTm9kZSB9IGZyb20gJy4vUGFyc2VyJztcbmltcG9ydCB7IHBhcnNlVW5rbm93biB9IGZyb20gJy4vcGFyc2VVbmtub3duJztcblxuY29uc3QgcGF5bWVudFR5cGVzID0gWydwMnNoJywgJ3Ayc2hQMndzaCcsICdwMnBraCcsICdwMndwa2gnLCAncDJ3c2gnLCAncDJtcyddIGFzIGNvbnN0O1xudHlwZSBQYXltZW50VHlwZSA9ICh0eXBlb2YgcGF5bWVudFR5cGVzKVtudW1iZXJdO1xuXG5mdW5jdGlvbiBwYXJzZVBheW1lbnRXaXRoVHlwZShzY3JpcHQ6IEJ1ZmZlciwgdHlwZTogUGF5bWVudFR5cGUsIG5ldHdvcms/OiB1dHhvbGliLk5ldHdvcmspOiB1dHhvbGliLlBheW1lbnQge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlICdwMnNoJzpcbiAgICAgIHJldHVybiB1dHhvbGliLnBheW1lbnRzLnAyc2goeyByZWRlZW06IHsgb3V0cHV0OiBzY3JpcHQgfSwgbmV0d29yayB9KTtcbiAgICBjYXNlICdwMnNoUDJ3c2gnOlxuICAgICAgcmV0dXJuIHV0eG9saWIucGF5bWVudHMucDJzaCh7XG4gICAgICAgIHJlZGVlbTogeyBvdXRwdXQ6IHV0eG9saWIucGF5bWVudHMucDJ3c2goeyByZWRlZW06IHsgb3V0cHV0OiBzY3JpcHQgfSwgbmV0d29yayB9KS5vdXRwdXQgfSxcbiAgICAgICAgbmV0d29yayxcbiAgICAgIH0pO1xuICAgIGNhc2UgJ3AycGtoJzpcbiAgICAgIHJldHVybiB1dHhvbGliLnBheW1lbnRzLnAycGtoKHsgb3V0cHV0OiBzY3JpcHQsIG5ldHdvcmsgfSk7XG4gICAgY2FzZSAncDJ3cGtoJzpcbiAgICAgIHJldHVybiB1dHhvbGliLnBheW1lbnRzLnAyd3BraCh7IG91dHB1dDogc2NyaXB0LCBuZXR3b3JrIH0pO1xuICAgIGNhc2UgJ3Ayd3NoJzpcbiAgICAgIHJldHVybiB1dHhvbGliLnBheW1lbnRzLnAyd3NoKHsgb3V0cHV0OiBzY3JpcHQsIG5ldHdvcmsgfSk7XG4gICAgY2FzZSAncDJtcyc6XG4gICAgICByZXR1cm4gdXR4b2xpYi5wYXltZW50cy5wMm1zKHsgb3V0cHV0OiBzY3JpcHQsIG5ldHdvcmsgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gYXNNaW5pc2NyaXB0KHNjcmlwdDogQnVmZmVyKTogTWluaXNjcmlwdCB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGNvbnRleHRzID0gWyd0YXAnLCAnc2Vnd2l0djAnLCAnbGVnYWN5J10gYXMgY29uc3Q7XG4gIGZvciAoY29uc3QgY3R4IG9mIGNvbnRleHRzKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBNaW5pc2NyaXB0LmZyb21CaXRjb2luU2NyaXB0KHNjcmlwdCwgY3R4KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdmYWlsZWQgdG8gcGFyc2UgYXMgbWluaXNjcmlwdCcpO1xufVxuXG5leHBvcnQgY2xhc3MgU2NyaXB0UGFyc2VyIGV4dGVuZHMgUGFyc2VyIHtcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrO1xuICBjb25zdHJ1Y3Rvcih7IG5ldHdvcmsgfTogeyBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmsgfSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5uZXR3b3JrID0gbmV0d29yaztcbiAgfVxuXG4gIHN0YXRpYyB0b0FTTShzY3JpcHQ6IEJ1ZmZlciwgeyBpbnNlcnROZXdsaW5lcyA9IHRydWUgfSA9IHt9KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgcGFyc2VkO1xuICAgIHRyeSB7XG4gICAgICBwYXJzZWQgPSB1dHhvbGliLnNjcmlwdC50b0FTTShzY3JpcHQpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiAnZXJyb3InO1xuICAgIH1cblxuICAgIGlmIChwYXJzZWQpIHtcbiAgICAgIHJldHVybiBpbnNlcnROZXdsaW5lcyA/IFsnJywgLi4ucGFyc2VkLnNwbGl0KCcgJyldLmpvaW4oJ1xcbicpIDogcGFyc2VkO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBjbGFzc2lmeShcbiAgICBzY3JpcHQ6IEJ1ZmZlciB8IHVuZGVmaW5lZCxcbiAgICB3aXRuZXNzOiBCdWZmZXJbXSB8IHVuZGVmaW5lZFxuICApOiB7XG4gICAgaW5wdXQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBvdXRwdXQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICB3aXRuZXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIH0ge1xuICAgIHJldHVybiB7XG4gICAgICBpbnB1dDogc2NyaXB0ID8gdXR4b2xpYi5jbGFzc2lmeS5pbnB1dChzY3JpcHQsIC8qIGFsbG93SW5jb21wbGV0ZSAqLyB0cnVlKSA6IHVuZGVmaW5lZCxcbiAgICAgIG91dHB1dDogc2NyaXB0ID8gdXR4b2xpYi5jbGFzc2lmeS5vdXRwdXQoc2NyaXB0KSA6IHVuZGVmaW5lZCxcbiAgICAgIHdpdG5lc3M6IHdpdG5lc3MgPyB1dHhvbGliLmNsYXNzaWZ5LndpdG5lc3Mod2l0bmVzcykgOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxuXG4gIHBhcnNlUGF5bWVudCh0eXBlOiBQYXltZW50VHlwZSwgcGF5bWVudDogdXR4b2xpYi5QYXltZW50KTogUGFyc2VyTm9kZSB7XG4gICAgcmV0dXJuIHBhcnNlVW5rbm93bihcbiAgICAgIHRoaXMsXG4gICAgICBgcGF5bWVudDogJHt0eXBlfWAsXG4gICAgICB7IG5hbWU6IHBheW1lbnQubmFtZSwgLi4ucGF5bWVudCB9LFxuICAgICAge1xuICAgICAgICBvbWl0OiBbJ25ldHdvcmsnXSxcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcGFyc2VCdWZmZXJBc1BheW1lbnQoc2NyaXB0OiBCdWZmZXIpOiBQYXJzZXJOb2RlW10ge1xuICAgIHJldHVybiBwYXltZW50VHlwZXMuZmxhdE1hcCgodHlwZSkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIFt0aGlzLnBhcnNlUGF5bWVudCh0eXBlLCBwYXJzZVBheW1lbnRXaXRoVHlwZShzY3JpcHQsIHR5cGUsIHRoaXMubmV0d29yaykpXTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcGFyc2Uoc2NyaXB0OiBCdWZmZXIpOiBQYXJzZXJOb2RlIHtcbiAgICBjb25zdCBjbGFzc2lmaWNhdGlvbiA9IFNjcmlwdFBhcnNlci5jbGFzc2lmeShzY3JpcHQsIHVuZGVmaW5lZCk7XG4gICAgY29uc3QgZGVjb21waWxlZCA9IHV0eG9saWIuc2NyaXB0LmRlY29tcGlsZShzY3JpcHQpO1xuICAgIHJldHVybiB0aGlzLm5vZGUoJ3NjcmlwdCcsIGBsZW5ndGggJHtzY3JpcHQubGVuZ3RofSBieXRlc2AsIFtcbiAgICAgIHRoaXMubm9kZUNhdGNoRXJyb3IoJ21pbmlzY3JpcHQnLCAoKSA9PiBhc01pbmlzY3JpcHQoc2NyaXB0KT8udG9TdHJpbmcoKSksXG4gICAgICB0aGlzLm5vZGUoJ2NsYXNzaWZpY2F0aW9uJywgdW5kZWZpbmVkLCBbXG4gICAgICAgIHRoaXMubm9kZSgnaW5wdXQnLCBjbGFzc2lmaWNhdGlvbi5pbnB1dCksXG4gICAgICAgIHRoaXMubm9kZSgnb3V0cHV0JywgY2xhc3NpZmljYXRpb24ub3V0cHV0KSxcbiAgICAgICAgdGhpcy5ub2RlKCd3aXRuZXNzJywgY2xhc3NpZmljYXRpb24ud2l0bmVzcyksXG4gICAgICBdKSxcbiAgICAgIHRoaXMubm9kZSgnYXNtJywgU2NyaXB0UGFyc2VyLnRvQVNNKHNjcmlwdCkpLFxuICAgICAgdGhpcy5ub2RlKCdkZWNvbXBpbGVkJywgdW5kZWZpbmVkLCBkZWNvbXBpbGVkID8gZGVjb21waWxlZC5tYXAoKHYsIGkpID0+IHRoaXMubm9kZShpLCB2KSkgOiB1bmRlZmluZWQpLFxuICAgICAgLi4udGhpcy5wYXJzZUJ1ZmZlckFzUGF5bWVudChzY3JpcHQpLFxuICAgIF0pO1xuICB9XG59XG4iXX0=
@@ -2,7 +2,7 @@ import { OutputSpend, TransactionStatus } from '@bitgo-beta/blockapis';
2
2
  import * as utxolib from '@bitgo-beta/utxo-lib';
3
3
  import { Parser, ParserNode } from './Parser';
4
4
  import { ParserTx, ParserTxInput, ParserTxOutput } from './ParserTx';
5
- export declare type TxParserArgs = {
5
+ export type TxParserArgs = {
6
6
  parseScriptData: boolean;
7
7
  parseScriptAsm: boolean;
8
8
  parseOutputScript: boolean;
@@ -15,9 +15,10 @@ export declare type TxParserArgs = {
15
15
  hide?: string[];
16
16
  maxOutputs?: number;
17
17
  vin?: number[];
18
+ vout?: number[];
18
19
  parseError?: 'throw' | 'continue';
19
20
  };
20
- export declare type ChainInfo = {
21
+ export type ChainInfo = {
21
22
  status?: TransactionStatus;
22
23
  outputSpends?: OutputSpend[];
23
24
  prevOutputs?: utxolib.TxOutput<bigint>[];
@@ -1 +1 @@
1
- {"version":3,"file":"TxParser.d.ts","sourceRoot":"","sources":["../../src/TxParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAyB,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAa5F,oBAAY,YAAY,GAAG;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,OAAO,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;CACnC,CAAC;AAEF,oBAAY,SAAS,GAAG;IACtB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IACzC,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAC;CAClC,CAAC;AAEF,qBAAa,QAAS,SAAQ,MAAM;IAatB,OAAO,CAAC,MAAM;IAZ1B,MAAM,CAAC,SAAS,EAAE,YAAY,CAU5B;gBAEkB,MAAM,EAAE,YAAY;IAIxC,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,GAAG,UAAU,EAAE;IAQ/F,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,UAAU,EAAE;IAQ9F,WAAW,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,UAAU,EAAE;IAsBrD,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU;IAc5F,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,GAAE,SAAc,GAAG,UAAU;CAoC3D"}
1
+ {"version":3,"file":"TxParser.d.ts","sourceRoot":"","sources":["../../src/TxParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAyB,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAa5F,MAAM,MAAM,YAAY,GAAG;IACzB,eAAe,EAAE,OAAO,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,OAAO,CAAC;QACf,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IACzC,gBAAgB,CAAC,EAAE,WAAW,EAAE,CAAC;CAClC,CAAC;AAEF,qBAAa,QAAS,SAAQ,MAAM;IAatB,OAAO,CAAC,MAAM;IAZ1B,MAAM,CAAC,SAAS,EAAE,YAAY,CAU5B;gBAEkB,MAAM,EAAE,YAAY;IAIxC,QAAQ,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,GAAG,UAAU,EAAE;IAQ/F,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,UAAU,EAAE;IAY9F,WAAW,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,UAAU,EAAE;IAsBrD,YAAY,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU;IAc5F,KAAK,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,GAAE,SAAc,GAAG,UAAU;CAoC3D"}
@@ -8,13 +8,12 @@ const ParserTx_1 = require("./ParserTx");
8
8
  const InputParser_1 = require("./InputParser");
9
9
  const OutputParser_1 = require("./OutputParser");
10
10
  function formatConsensusBranchId(branchId) {
11
- var _a;
12
11
  const map = {
13
12
  OVERWINTER_BRANCH_ID: 0x5ba81b19,
14
13
  CANOPY_BRANCH_ID: 0xe9ff75a6,
15
14
  NU5_BRANCH_ID: 0xc2d6d0b4,
16
15
  };
17
- return (_a = Object.keys(map).find((k) => map[k] === branchId)) !== null && _a !== void 0 ? _a : 'unknown';
16
+ return Object.keys(map).find((k) => map[k] === branchId) ?? 'unknown';
18
17
  }
19
18
  class TxParser extends Parser_1.Parser {
20
19
  constructor(params) {
@@ -27,11 +26,12 @@ class TxParser extends Parser_1.Parser {
27
26
  : []);
28
27
  }
29
28
  parseOuts(outs, tx, txid, params) {
30
- var _a;
31
- if (outs.length > ((_a = this.params.maxOutputs) !== null && _a !== void 0 ? _a : 200)) {
29
+ if (this.params.vout === undefined && outs.length > (this.params.maxOutputs ?? 200)) {
32
30
  return [this.node('(omitted)', undefined)];
33
31
  }
34
- return outs.map((o, i) => new OutputParser_1.OutputParser(tx.network, txid, i, o, params, this.params).parseOutput());
32
+ return outs.flatMap((o, i) => this.params.vout === undefined || this.params.vout.includes(i)
33
+ ? [new OutputParser_1.OutputParser(tx.network, txid, i, o, params, this.params).parseOutput()]
34
+ : []);
35
35
  }
36
36
  parseStatus(status) {
37
37
  if (!status) {
@@ -57,7 +57,7 @@ class TxParser extends Parser_1.Parser {
57
57
  : []);
58
58
  }
59
59
  parse(tx, chainInfo = {}) {
60
- const { format, complete, id, weight, inputs, outputs, hasWitnesses, inputSum, outputSum } = ParserTx_1.getParserTxProperties(tx, chainInfo.prevOutputs);
60
+ const { format, complete, id, weight, inputs, outputs, hasWitnesses, inputSum, outputSum } = (0, ParserTx_1.getParserTxProperties)(tx, chainInfo.prevOutputs);
61
61
  const vsize = weight === undefined ? undefined : Math.ceil(weight / 4);
62
62
  const fee = inputSum ? inputSum - outputSum : undefined;
63
63
  const feeRate = fee && vsize ? Number(fee) / vsize : undefined;
@@ -72,10 +72,10 @@ class TxParser extends Parser_1.Parser {
72
72
  ...this.parseStatus(chainInfo.status),
73
73
  this.node('vsize', `${vsize}vbytes (${weight}wu)`),
74
74
  ...(fee && feeRate
75
- ? [this.node('fee [btc]', format_1.formatSat(fee)), this.node('feeRate [sat/vbyte]', feeRate.toFixed(2))]
75
+ ? [this.node('fee [btc]', (0, format_1.formatSat)(fee)), this.node('feeRate [sat/vbyte]', feeRate.toFixed(2))]
76
76
  : []),
77
- this.node(`inputs`, [inputs.length.toString()].concat(inputSum ? ['sum=' + format_1.formatSat(inputSum)] : []).join(' '), this.parseIns(inputs, tx, id, chainInfo)),
78
- this.node(`outputs`, [outputs.length.toString(), 'sum=' + format_1.formatSat(outputSum)].join(' '), this.parseOuts(outputs, tx, id, chainInfo)),
77
+ this.node(`inputs`, [inputs.length.toString()].concat(inputSum ? ['sum=' + (0, format_1.formatSat)(inputSum)] : []).join(' '), this.parseIns(inputs, tx, id, chainInfo)),
78
+ this.node(`outputs`, [outputs.length.toString(), 'sum=' + (0, format_1.formatSat)(outputSum)].join(' '), this.parseOuts(outputs, tx, id, chainInfo)),
79
79
  ]);
80
80
  }
81
81
  }
@@ -91,4 +91,4 @@ TxParser.PARSE_ALL = {
91
91
  },
92
92
  parseAsUnknown: false,
93
93
  };
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHhQYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvVHhQYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsZ0RBQWdEO0FBQ2hELHFDQUE4QztBQUM5QyxxQ0FBcUM7QUFDckMseUNBQTRGO0FBQzVGLCtDQUE0QztBQUM1QyxpREFBOEM7QUFFOUMsU0FBUyx1QkFBdUIsQ0FBQyxRQUFnQjs7SUFDL0MsTUFBTSxHQUFHLEdBQTJCO1FBQ2xDLG9CQUFvQixFQUFFLFVBQVU7UUFDaEMsZ0JBQWdCLEVBQUUsVUFBVTtRQUM1QixhQUFhLEVBQUUsVUFBVTtLQUMxQixDQUFDO0lBQ0YsT0FBTyxNQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDLG1DQUFJLFNBQVMsQ0FBQztBQUN4RSxDQUFDO0FBeUJELE1BQWEsUUFBUyxTQUFRLGVBQU07SUFhbEMsWUFBb0IsTUFBb0I7UUFDdEMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBREksV0FBTSxHQUFOLE1BQU0sQ0FBYztJQUV4QyxDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQW9CLEVBQUUsRUFBWSxFQUFFLElBQVksRUFBRSxVQUFxQjtRQUM5RSxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFvQixFQUFFLENBQVMsRUFBRSxFQUFFLENBQ3JELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzFELENBQUMsQ0FBQyxDQUFDLElBQUkseUJBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsRUFBRSxD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RSxDQUFDO1lBQ1AsSUFBSSxDQUFDLElBQUksQ0FDUCxRQUFRLEVBQ1IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsa0JBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQzNGLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQ3pDO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FDUCxTQUFTLEVBQ1QsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sR0FBRyxrQkFBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUNwRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUMzQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBeEdILDRCQXlHQztBQXhHUSxrQkFBUyxHQUFpQjtJQUMvQixlQUFlLEVBQUUsSUFBSTtJQUNyQixjQUFjLEVBQUUsSUFBSTtJQUNwQixpQkFBaUIsRUFBRSxJQUFJO0lBQ3ZCLGtCQUFrQixFQUFFO1FBQ2xCLE1BQU0sRUFBRSxJQUFJO1FBQ1osS0FBSyxFQUFFLElBQUk7UUFDWCxPQUFPLEVBQUUsSUFBSTtLQUNkO0lBQ0QsY0FBYyxFQUFFLEtBQUs7Q0FDdEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE91dHB1dFNwZW5kLCBUcmFuc2FjdGlvblN0YXR1cyB9IGZyb20gJ0BiaXRnby1iZXRhL2Jsb2NrYXBpcyc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IFBhcnNlciwgUGFyc2VyTm9kZSB9IGZyb20gJy4vUGFyc2VyJztcbmltcG9ydCB7IGZvcm1hdFNhdCB9IGZyb20gJy4vZm9ybWF0JztcbmltcG9ydCB7IGdldFBhcnNlclR4UHJvcGVydGllcywgUGFyc2VyVHgsIFBhcnNlclR4SW5wdXQsIFBhcnNlclR4T3V0cHV0IH0gZnJvbSAnLi9QYXJzZXJUeCc7XG5pbXBvcnQgeyBJbnB1dFBhcnNlciB9IGZyb20gJy4vSW5wdXRQYXJzZXInO1xuaW1wb3J0IHsgT3V0cHV0UGFyc2VyIH0gZnJvbSAnLi9PdXRwdXRQYXJzZXInO1xuXG5mdW5jdGlvbiBmb3JtYXRDb25zZW5zdXNCcmFuY2hJZChicmFuY2hJZDogbnVtYmVyKTogc3RyaW5nIHtcbiAgY29uc3QgbWFwOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+ID0ge1xuICAgIE9WRVJXSU5URVJfQlJBTkNIX0lEOiAweDViYTgxYjE5LFxuICAgIENBTk9QWV9CUkFOQ0hfSUQ6IDB4ZTlmZjc1YTYsXG4gICAgTlU1X0JSQU5DSF9JRDogMHhjMmQ2ZDBiNCxcbiAgfTtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKG1hcCkuZmluZCgoaykgPT4gbWFwW2tdID09PSBicmFuY2hJZCkgPz8gJ3Vua25vd24nO1xufVxuXG5leHBvcnQgdHlwZSBUeFBhcnNlckFyZ3MgPSB7XG4gIHBhcnNlU2NyaXB0RGF0YTogYm9vbGVhbjtcbiAgcGFyc2VTY3JpcHRBc206IGJvb2xlYW47XG4gIHBhcnNlT3V0cHV0U2NyaXB0OiBib29sZWFuO1xuICBwYXJzZVNpZ25hdHVyZURhdGE6IHtcbiAgICBzY3JpcHQ6IGJvb2xlYW47XG4gICAgZWNkc2E6IGJvb2xlYW47XG4gICAgc2Nobm9ycjogYm9vbGVhbjtcbiAgfTtcbiAgcGFyc2VBc1Vua25vd246IGJvb2xlYW47XG4gIGhpZGU/OiBzdHJpbmdbXTtcbiAgbWF4T3V0cHV0cz86IG51bWJlcjtcbiAgdmluPzogbnVtYmVyW107XG4gIHBhcnNlRXJyb3I/OiAndGhyb3cnIHwgJ2NvbnRpbnVlJztcbn07XG5cbmV4cG9ydCB0eXBlIENoYWluSW5mbyA9IHtcbiAgc3RhdHVzPzogVHJhbnNhY3Rpb25TdGF0dXM7XG4gIG91dHB1dFNwZW5kcz86IE91dHB1dFNwZW5kW107XG4gIHByZXZPdXRwdXRzPzogdXR4b2xpYi5UeE91dHB1dDxiaWdpbnQ+W107XG4gIHByZXZPdXRwdXRTcGVuZHM/OiBPdXRwdXRTcGVuZFtdO1xufTtcblxuZXhwb3J0IGNsYXNzIFR4UGFyc2VyIGV4dGVuZHMgUGFyc2VyIHtcbiAgc3RhdGljIFBBUlNFX0FMTDogVHhQYXJzZXJBcmdzID0ge1xuICAgIHBhcnNlU2NyaXB0RGF0YTogdHJ1ZSxcbiAgICBwYXJzZVNjcmlwdEFzbTogdHJ1ZSxcbiAgICBwYXJzZU91dHB1dFNjcmlwdDogdHJ1ZSxcbiAgICBwYXJzZVNpZ25hdHVyZURhdGE6IHtcbiAgICAgIHNjcmlwdDogdHJ1ZSxcbiAgICAgIGVjZHNhOiB0cnVlLFxuICAgICAgc2Nobm9ycjogdHJ1ZSxcbiAgICB9LFxuICAgIHBhcnNlQXNVbmtub3duOiBmYWxzZSxcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmFtczogVHhQYXJzZXJBcmdzKSB7XG4gICAgc3VwZXIocGFyYW1zKTtcbiAgfVxuXG4gIHBhcnNlSW5zKGluczogUGFyc2VyVHhJbnB1dFtdLCB0eDogUGFyc2VyVHgsIHR4aWQ6IHN0cmluZywgb3V0cHV0SW5mbzogQ2hhaW5JbmZvKTogUGFyc2VyTm9kZVtdIHtcbiAgICByZXR1cm4gaW5zLmZsYXRNYXAoKGlucHV0OiBQYXJzZXJUeElucHV0LCBpOiBudW1iZXIpID0+XG4gICAgICB0aGlzLnBhcmFtcy52aW4gPT09IHVuZGVmaW5lZCB8fCB0aGlzLnBhcmFtcy52aW4uaW5jbHVkZXMoaSlcbiAgICAgICAgPyBbbmV3IElucHV0UGFyc2VyKHR4aWQsIHR4LCBpLCBvdXRwdXRJbmZvLCB0aGlzLnBhcmFtcykucGFyc2VJbnB1dCgpXVxuICAgICAgICA6IFtdXG4gICAgKTtcbiAgfVxuXG4gIHBhcnNlT3V0cyhvdXRzOiBQYXJzZXJUeE91dHB1dFtdLCB0eDogUGFyc2VyVHgsIHR4aWQ6IHN0cmluZywgcGFyYW1zOiBDaGFpbkluZm8pOiBQYXJzZXJOb2RlW10ge1xuICAgIGlmIChvdXRzLmxlbmd0aCA+ICh0aGlzLnBhcmFtcy5tYXhPdXRwdXRzID8/IDIwMCkpIHtcbiAgICAgIHJldHVybiBbdGhpcy5ub2RlKCcob21pdHRlZCknLCB1bmRlZmluZWQpXTtcbiAgICB9XG5cbiAgICByZXR1cm4gb3V0cy5tYXAoKG8sIGkpID0+IG5ldyBPdXRwdXRQYXJzZXIodHgubmV0d29yaywgdHhpZCwgaSwgbywgcGFyYW1zLCB0aGlzLnBhcmFtcykucGFyc2VPdXRwdXQoKSk7XG4gIH1cblxuICBwYXJzZVN0YXR1cyhzdGF0dXM/OiBUcmFuc2FjdGlvblN0YXR1cyk6IFBhcnNlck5vZGVbXSB7XG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybiBbdGhpcy5ub2RlKCdzdGF0dXMnLCAndW5rbm93bicpXTtcbiAgICB9XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMubm9kZShcbiAgICAgICAgJ3N0YXR1cycsXG4gICAgICAgIHN0YXR1cy5mb3VuZCA/ICdmb3VuZCcgOiAnbm90IGZvdW5kJyxcbiAgICAgICAgc3RhdHVzLmZvdW5kXG4gICAgICAgICAgPyBzdGF0dXMuY29uZmlybWVkXG4gICAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUoXG4gICAgICAgICAgICAgICAgICAnY29uZmlybWVkJyxcbiAgICAgICAgICAgICAgICAgIGBibG9jayAke3N0YXR1cy5ibG9ja0hlaWdodH1gICsgKHN0YXR1cy5kYXRlID8gYCBkYXRlPSR7c3RhdHVzLmRhdGUudG9JU09TdHJpbmcoKX1gIDogJycpXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgOiBbdGhpcy5ub2RlKCdjb25maXJtZWQnLCBmYWxzZSldXG4gICAgICAgICAgOiBbXVxuICAgICAgKSxcbiAgICBdO1xuICB9XG5cbiAgcGFyc2VWZXJzaW9uKHR4OiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxiaWdpbnQ+IHwgdXR4b2xpYi5iaXRnby5VdHhvUHNidCk6IFBhcnNlck5vZGUge1xuICAgIHJldHVybiB0aGlzLm5vZGUoXG4gICAgICAndmVyc2lvbicsXG4gICAgICB0eC52ZXJzaW9uLFxuICAgICAgdHggaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlpjYXNoVHJhbnNhY3Rpb25cbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLm5vZGUoJ2NvbnNlbnN1c0JyYW5jaElkIChpbmZlcnJlZCknLCB0eC5jb25zZW5zdXNCcmFuY2hJZC50b1N0cmluZygxNiksIFtcbiAgICAgICAgICAgICAgdGhpcy5ub2RlKCduYW1lJywgZm9ybWF0Q29uc2Vuc3VzQnJhbmNoSWQodHguY29uc2Vuc3VzQnJhbmNoSWQpKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXVxuICAgICk7XG4gIH1cblxuICBwYXJzZSh0eDogUGFyc2VyVHgsIGNoYWluSW5mbzogQ2hhaW5JbmZvID0ge30pOiBQYXJzZXJOb2RlIHtcbiAgICBjb25zdCB7IGZvcm1hdCwgY29tcGxldGUsIGlkLCB3ZWlnaHQsIGlucHV0cywgb3V0cHV0cywgaGFzV2l0bmVzc2VzLCBpbnB1dFN1bSwgb3V0cHV0U3VtIH0gPSBnZXRQYXJzZXJUeFByb3BlcnRpZXMoXG4gICAgICB0eCxcbiAgICAgIGNoYWluSW5mby5wcmV2T3V0cHV0c1xuICAgICk7XG4gICAgY29uc3QgdnNpemUgPSB3ZWlnaHQgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IE1hdGguY2VpbCh3ZWlnaHQgLyA0KTtcbiAgICBjb25zdCBmZWUgPSBpbnB1dFN1bSA/IGlucHV0U3VtIC0gb3V0cHV0U3VtIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGZlZVJhdGUgPSBmZWUgJiYgdnNpemUgPyBOdW1iZXIoZmVlKSAvIHZzaXplIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiB0aGlzLm5vZGUoJ3RyYW5zYWN0aW9uJywgaWQsIFtcbiAgICAgIHRoaXMubm9kZSgnZm9ybWF0JywgZm9ybWF0KSxcbiAgICAgIHRoaXMubm9kZSgnY29tcGxldGUnLCBjb21wbGV0ZSksXG4gICAgICB0aGlzLm5vZGUoXG4gICAgICAgICdwYXJzZWRBcycsXG4gICAgICAgIGAke3V0eG9saWIuZ2V0TmV0d29ya05hbWUodXR4b2xpYi5nZXRNYWlubmV0KHR4Lm5ldHdvcmspKX0gYCArXG4gICAgICAgICAgYCR7dXR4b2xpYi5pc01haW5uZXQodHgubmV0d29yaykgPyAnbWFpbm5ldCcgOiAndGVzdG5ldCd9YFxuICAgICAgKSxcbiAgICAgIHRoaXMucGFyc2VWZXJzaW9uKHR4KSxcbiAgICAgIHRoaXMubm9kZSgnbG9ja3RpbWUnLCB0eC5sb2NrdGltZSksXG4gICAgICB0aGlzLm5vZGUoJ2hhc1dpdG5lc3NlcycsIGhhc1dpdG5lc3NlcyksXG4gICAgICAuLi50aGlzLnBhcnNlU3RhdHVzKGNoYWluSW5mby5zdGF0dXMpLFxuICAgICAgdGhpcy5ub2RlKCd2c2l6ZScsIGAke3ZzaXplfXZieXRlcyAoJHt3ZWlnaHR9d3UpYCksXG4gICAgICAuLi4oZmVlICYmIGZlZVJhdGVcbiAgICAgICAgPyBbdGhpcy5ub2RlKCdmZWUgW2J0Y10nLCBmb3JtYXRTYXQoZmVlKSksIHRoaXMubm9kZSgnZmVlUmF0ZSBbc2F0L3ZieXRlXScsIGZlZVJhdGUudG9GaXhlZCgyKSldXG4gICAgICAgIDogW10pLFxuICAgICAgdGhpcy5ub2RlKFxuICAgICAgICBgaW5wdXRzYCxcbiAgICAgICAgW2lucHV0cy5sZW5ndGgudG9TdHJpbmcoKV0uY29uY2F0KGlucHV0U3VtID8gWydzdW09JyArIGZvcm1hdFNhdChpbnB1dFN1bSldIDogW10pLmpvaW4oJyAnKSxcbiAgICAgICAgdGhpcy5wYXJzZUlucyhpbnB1dHMsIHR4LCBpZCwgY2hhaW5JbmZvKVxuICAgICAgKSxcbiAgICAgIHRoaXMubm9kZShcbiAgICAgICAgYG91dHB1dHNgLFxuICAgICAgICBbb3V0cHV0cy5sZW5ndGgudG9TdHJpbmcoKSwgJ3N1bT0nICsgZm9ybWF0U2F0KG91dHB1dFN1bSldLmpvaW4oJyAnKSxcbiAgICAgICAgdGhpcy5wYXJzZU91dHMob3V0cHV0cywgdHgsIGlkLCBjaGFpbkluZm8pXG4gICAgICApLFxuICAgIF0pO1xuICB9XG59XG4iXX0=
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVHhQYXJzZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvVHhQYXJzZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsZ0RBQWdEO0FBRWhELHFDQUE4QztBQUM5QyxxQ0FBcUM7QUFDckMseUNBQTRGO0FBQzVGLCtDQUE0QztBQUM1QyxpREFBOEM7QUFFOUMsU0FBUyx1QkFBdUIsQ0FBQyxRQUFnQjtJQUMvQyxNQUFNLEdBQUcsR0FBMkI7UUFDbEMsb0JBQW9CLEVBQUUsVUFBVTtRQUNoQyxnQkFBZ0IsRUFBRSxVQUFVO1FBQzVCLGFBQWEsRUFBRSxVQUFVO0tBQzFCLENBQUM7SUFDRixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssUUFBUSxDQUFDLElBQUksU0FBUyxDQUFDO0FBQ3hFLENBQUM7QUEwQkQsTUFBYSxRQUFTLFNBQVEsZUFBTTtJQWFsQyxZQUFvQixNQUFvQjtRQUN0QyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFESSxXQUFNLEdBQU4sTUFBTSxDQUFjO0lBRXhDLENBQUM7SUFFRCxRQUFRLENBQUMsR0FBb0IsRUFBRSxFQUFZLEVBQUUsSUFBWSxFQUFFLFVBQXFCO1FBQzlFLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQW9CLEVBQUUsQ0FBUyxFQUFFLEVBQUUsQ0FDckQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDMUQsQ0FBQyxDQUFDLENBQUMsSUFBSSx5QkFBVyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDdEUsQ0FBQyxDQUFDLEVBQUUsQ0FDUCxDQUFDO0lBQ0osQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFzQixFQUFFLEVBQVksRUFBRSxJQUFZLEVBQUUsTUFBaUI7UUFDN0UsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEYsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDN0MsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUM1RCxDQUFDLENBQUMsQ0FBQyxJQUFJLDJCQUFZLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQy9FLENBQUMsQ0FBQyxFQUFFLENBQ1AsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBMEI7UUFDcEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsQ0FBQztRQUNELE9BQU87WUFDTCxJQUFJLENBQUMsSUFBSSxDQUNQLFFBQVEsRUFDUixNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFDcEMsTUFBTSxDQUFDLEtBQUs7Z0JBQ1YsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTO29CQUNoQixDQUFDLENBQUM7d0JBQ0UsSUFBSSxDQUFDLElBQUksQ0FDUCxXQUFXLEVBQ1gsU0FBUyxNQUFNLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQzFGO3FCQUNGO29CQUNILENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNuQyxDQUFDLENBQUMsRUFBRSxDQUNQO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZLENBQUMsRUFBa0U7UUFDN0UsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUNkLFNBQVMsRUFDVCxFQUFFLENBQUMsT0FBTyxFQUNWLEVBQUUsWUFBWSxPQUFPLENBQUMsS0FBSyxDQUFDLGdCQUFnQjtZQUMxQyxDQUFDLENBQUM7Z0JBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsRUFBRSxFQUFFLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFO29CQUMzRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztpQkFDakUsQ0FBQzthQUNIO1lBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FDUCxDQUFDO0lBQ0osQ0FBQztJQUVELEtBQUssQ0FBQyxFQUFZLEVBQUUsWUFBdUIsRUFBRTtRQUMzQyxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFBLGdDQUFxQixFQUNoSCxFQUFFLEVBQ0YsU0FBUyxDQUFDLFdBQVcsQ0FDdEIsQ0FBQztRQUNGLE1BQU0sS0FBSyxHQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDdkUsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDeEQsTUFBTSxPQUFPLEdBQUcsR0FBRyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQy9ELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQztZQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUM7WUFDL0IsSUFBSSxDQUFDLElBQUksQ0FDUCxVQUFVLEVBQ1YsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUc7Z0JBQzFELEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQzdEO1lBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUM7WUFDdkMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7WUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxLQUFLLFdBQVcsTUFBTSxLQUFLLENBQUM7WUFDbEQsR0FBRyxDQUFDLEdBQUcsSUFBSSxPQUFPO2dCQUNoQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFBLGtCQUFTLEVBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNQLElBQUksQ0FBQyxJQUFJLENBQ1AsUUFBUSxFQUNSLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLElBQUEsa0JBQVMsRUFBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQzNGLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQ3pDO1lBQ0QsSUFBSSxDQUFDLElBQUksQ0FDUCxTQUFTLEVBQ1QsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sR0FBRyxJQUFBLGtCQUFTLEVBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQ3BFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQzNDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE1R0gsNEJBNkdDO0FBNUdRLGtCQUFTLEdBQWlCO0lBQy9CLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLGlCQUFpQixFQUFFLElBQUk7SUFDdkIsa0JBQWtCLEVBQUU7UUFDbEIsTUFBTSxFQUFFLElBQUk7UUFDWixLQUFLLEVBQUUsSUFBSTtRQUNYLE9BQU8sRUFBRSxJQUFJO0tBQ2Q7SUFDRCxjQUFjLEVBQUUsS0FBSztDQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3V0cHV0U3BlbmQsIFRyYW5zYWN0aW9uU3RhdHVzIH0gZnJvbSAnQGJpdGdvLWJldGEvYmxvY2thcGlzJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5pbXBvcnQgeyBQYXJzZXIsIFBhcnNlck5vZGUgfSBmcm9tICcuL1BhcnNlcic7XG5pbXBvcnQgeyBmb3JtYXRTYXQgfSBmcm9tICcuL2Zvcm1hdCc7XG5pbXBvcnQgeyBnZXRQYXJzZXJUeFByb3BlcnRpZXMsIFBhcnNlclR4LCBQYXJzZXJUeElucHV0LCBQYXJzZXJUeE91dHB1dCB9IGZyb20gJy4vUGFyc2VyVHgnO1xuaW1wb3J0IHsgSW5wdXRQYXJzZXIgfSBmcm9tICcuL0lucHV0UGFyc2VyJztcbmltcG9ydCB7IE91dHB1dFBhcnNlciB9IGZyb20gJy4vT3V0cHV0UGFyc2VyJztcblxuZnVuY3Rpb24gZm9ybWF0Q29uc2Vuc3VzQnJhbmNoSWQoYnJhbmNoSWQ6IG51bWJlcik6IHN0cmluZyB7XG4gIGNvbnN0IG1hcDogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHtcbiAgICBPVkVSV0lOVEVSX0JSQU5DSF9JRDogMHg1YmE4MWIxOSxcbiAgICBDQU5PUFlfQlJBTkNIX0lEOiAweGU5ZmY3NWE2LFxuICAgIE5VNV9CUkFOQ0hfSUQ6IDB4YzJkNmQwYjQsXG4gIH07XG4gIHJldHVybiBPYmplY3Qua2V5cyhtYXApLmZpbmQoKGspID0+IG1hcFtrXSA9PT0gYnJhbmNoSWQpID8/ICd1bmtub3duJztcbn1cblxuZXhwb3J0IHR5cGUgVHhQYXJzZXJBcmdzID0ge1xuICBwYXJzZVNjcmlwdERhdGE6IGJvb2xlYW47XG4gIHBhcnNlU2NyaXB0QXNtOiBib29sZWFuO1xuICBwYXJzZU91dHB1dFNjcmlwdDogYm9vbGVhbjtcbiAgcGFyc2VTaWduYXR1cmVEYXRhOiB7XG4gICAgc2NyaXB0OiBib29sZWFuO1xuICAgIGVjZHNhOiBib29sZWFuO1xuICAgIHNjaG5vcnI6IGJvb2xlYW47XG4gIH07XG4gIHBhcnNlQXNVbmtub3duOiBib29sZWFuO1xuICBoaWRlPzogc3RyaW5nW107XG4gIG1heE91dHB1dHM/OiBudW1iZXI7XG4gIHZpbj86IG51bWJlcltdO1xuICB2b3V0PzogbnVtYmVyW107XG4gIHBhcnNlRXJyb3I/OiAndGhyb3cnIHwgJ2NvbnRpbnVlJztcbn07XG5cbmV4cG9ydCB0eXBlIENoYWluSW5mbyA9IHtcbiAgc3RhdHVzPzogVHJhbnNhY3Rpb25TdGF0dXM7XG4gIG91dHB1dFNwZW5kcz86IE91dHB1dFNwZW5kW107XG4gIHByZXZPdXRwdXRzPzogdXR4b2xpYi5UeE91dHB1dDxiaWdpbnQ+W107XG4gIHByZXZPdXRwdXRTcGVuZHM/OiBPdXRwdXRTcGVuZFtdO1xufTtcblxuZXhwb3J0IGNsYXNzIFR4UGFyc2VyIGV4dGVuZHMgUGFyc2VyIHtcbiAgc3RhdGljIFBBUlNFX0FMTDogVHhQYXJzZXJBcmdzID0ge1xuICAgIHBhcnNlU2NyaXB0RGF0YTogdHJ1ZSxcbiAgICBwYXJzZVNjcmlwdEFzbTogdHJ1ZSxcbiAgICBwYXJzZU91dHB1dFNjcmlwdDogdHJ1ZSxcbiAgICBwYXJzZVNpZ25hdHVyZURhdGE6IHtcbiAgICAgIHNjcmlwdDogdHJ1ZSxcbiAgICAgIGVjZHNhOiB0cnVlLFxuICAgICAgc2Nobm9ycjogdHJ1ZSxcbiAgICB9LFxuICAgIHBhcnNlQXNVbmtub3duOiBmYWxzZSxcbiAgfTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcmFtczogVHhQYXJzZXJBcmdzKSB7XG4gICAgc3VwZXIocGFyYW1zKTtcbiAgfVxuXG4gIHBhcnNlSW5zKGluczogUGFyc2VyVHhJbnB1dFtdLCB0eDogUGFyc2VyVHgsIHR4aWQ6IHN0cmluZywgb3V0cHV0SW5mbzogQ2hhaW5JbmZvKTogUGFyc2VyTm9kZVtdIHtcbiAgICByZXR1cm4gaW5zLmZsYXRNYXAoKGlucHV0OiBQYXJzZXJUeElucHV0LCBpOiBudW1iZXIpID0+XG4gICAgICB0aGlzLnBhcmFtcy52aW4gPT09IHVuZGVmaW5lZCB8fCB0aGlzLnBhcmFtcy52aW4uaW5jbHVkZXMoaSlcbiAgICAgICAgPyBbbmV3IElucHV0UGFyc2VyKHR4aWQsIHR4LCBpLCBvdXRwdXRJbmZvLCB0aGlzLnBhcmFtcykucGFyc2VJbnB1dCgpXVxuICAgICAgICA6IFtdXG4gICAgKTtcbiAgfVxuXG4gIHBhcnNlT3V0cyhvdXRzOiBQYXJzZXJUeE91dHB1dFtdLCB0eDogUGFyc2VyVHgsIHR4aWQ6IHN0cmluZywgcGFyYW1zOiBDaGFpbkluZm8pOiBQYXJzZXJOb2RlW10ge1xuICAgIGlmICh0aGlzLnBhcmFtcy52b3V0ID09PSB1bmRlZmluZWQgJiYgb3V0cy5sZW5ndGggPiAodGhpcy5wYXJhbXMubWF4T3V0cHV0cyA/PyAyMDApKSB7XG4gICAgICByZXR1cm4gW3RoaXMubm9kZSgnKG9taXR0ZWQpJywgdW5kZWZpbmVkKV07XG4gICAgfVxuXG4gICAgcmV0dXJuIG91dHMuZmxhdE1hcCgobywgaSkgPT5cbiAgICAgIHRoaXMucGFyYW1zLnZvdXQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLnBhcmFtcy52b3V0LmluY2x1ZGVzKGkpXG4gICAgICAgID8gW25ldyBPdXRwdXRQYXJzZXIodHgubmV0d29yaywgdHhpZCwgaSwgbywgcGFyYW1zLCB0aGlzLnBhcmFtcykucGFyc2VPdXRwdXQoKV1cbiAgICAgICAgOiBbXVxuICAgICk7XG4gIH1cblxuICBwYXJzZVN0YXR1cyhzdGF0dXM/OiBUcmFuc2FjdGlvblN0YXR1cyk6IFBhcnNlck5vZGVbXSB7XG4gICAgaWYgKCFzdGF0dXMpIHtcbiAgICAgIHJldHVybiBbdGhpcy5ub2RlKCdzdGF0dXMnLCAndW5rbm93bicpXTtcbiAgICB9XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMubm9kZShcbiAgICAgICAgJ3N0YXR1cycsXG4gICAgICAgIHN0YXR1cy5mb3VuZCA/ICdmb3VuZCcgOiAnbm90IGZvdW5kJyxcbiAgICAgICAgc3RhdHVzLmZvdW5kXG4gICAgICAgICAgPyBzdGF0dXMuY29uZmlybWVkXG4gICAgICAgICAgICA/IFtcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGUoXG4gICAgICAgICAgICAgICAgICAnY29uZmlybWVkJyxcbiAgICAgICAgICAgICAgICAgIGBibG9jayAke3N0YXR1cy5ibG9ja0hlaWdodH1gICsgKHN0YXR1cy5kYXRlID8gYCBkYXRlPSR7c3RhdHVzLmRhdGUudG9JU09TdHJpbmcoKX1gIDogJycpXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgOiBbdGhpcy5ub2RlKCdjb25maXJtZWQnLCBmYWxzZSldXG4gICAgICAgICAgOiBbXVxuICAgICAgKSxcbiAgICBdO1xuICB9XG5cbiAgcGFyc2VWZXJzaW9uKHR4OiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbjxiaWdpbnQ+IHwgdXR4b2xpYi5iaXRnby5VdHhvUHNidCk6IFBhcnNlck5vZGUge1xuICAgIHJldHVybiB0aGlzLm5vZGUoXG4gICAgICAndmVyc2lvbicsXG4gICAgICB0eC52ZXJzaW9uLFxuICAgICAgdHggaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlpjYXNoVHJhbnNhY3Rpb25cbiAgICAgICAgPyBbXG4gICAgICAgICAgICB0aGlzLm5vZGUoJ2NvbnNlbnN1c0JyYW5jaElkIChpbmZlcnJlZCknLCB0eC5jb25zZW5zdXNCcmFuY2hJZC50b1N0cmluZygxNiksIFtcbiAgICAgICAgICAgICAgdGhpcy5ub2RlKCduYW1lJywgZm9ybWF0Q29uc2Vuc3VzQnJhbmNoSWQodHguY29uc2Vuc3VzQnJhbmNoSWQpKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXVxuICAgICk7XG4gIH1cblxuICBwYXJzZSh0eDogUGFyc2VyVHgsIGNoYWluSW5mbzogQ2hhaW5JbmZvID0ge30pOiBQYXJzZXJOb2RlIHtcbiAgICBjb25zdCB7IGZvcm1hdCwgY29tcGxldGUsIGlkLCB3ZWlnaHQsIGlucHV0cywgb3V0cHV0cywgaGFzV2l0bmVzc2VzLCBpbnB1dFN1bSwgb3V0cHV0U3VtIH0gPSBnZXRQYXJzZXJUeFByb3BlcnRpZXMoXG4gICAgICB0eCxcbiAgICAgIGNoYWluSW5mby5wcmV2T3V0cHV0c1xuICAgICk7XG4gICAgY29uc3QgdnNpemUgPSB3ZWlnaHQgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IE1hdGguY2VpbCh3ZWlnaHQgLyA0KTtcbiAgICBjb25zdCBmZWUgPSBpbnB1dFN1bSA/IGlucHV0U3VtIC0gb3V0cHV0U3VtIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGZlZVJhdGUgPSBmZWUgJiYgdnNpemUgPyBOdW1iZXIoZmVlKSAvIHZzaXplIDogdW5kZWZpbmVkO1xuICAgIHJldHVybiB0aGlzLm5vZGUoJ3RyYW5zYWN0aW9uJywgaWQsIFtcbiAgICAgIHRoaXMubm9kZSgnZm9ybWF0JywgZm9ybWF0KSxcbiAgICAgIHRoaXMubm9kZSgnY29tcGxldGUnLCBjb21wbGV0ZSksXG4gICAgICB0aGlzLm5vZGUoXG4gICAgICAgICdwYXJzZWRBcycsXG4gICAgICAgIGAke3V0eG9saWIuZ2V0TmV0d29ya05hbWUodXR4b2xpYi5nZXRNYWlubmV0KHR4Lm5ldHdvcmspKX0gYCArXG4gICAgICAgICAgYCR7dXR4b2xpYi5pc01haW5uZXQodHgubmV0d29yaykgPyAnbWFpbm5ldCcgOiAndGVzdG5ldCd9YFxuICAgICAgKSxcbiAgICAgIHRoaXMucGFyc2VWZXJzaW9uKHR4KSxcbiAgICAgIHRoaXMubm9kZSgnbG9ja3RpbWUnLCB0eC5sb2NrdGltZSksXG4gICAgICB0aGlzLm5vZGUoJ2hhc1dpdG5lc3NlcycsIGhhc1dpdG5lc3NlcyksXG4gICAgICAuLi50aGlzLnBhcnNlU3RhdHVzKGNoYWluSW5mby5zdGF0dXMpLFxuICAgICAgdGhpcy5ub2RlKCd2c2l6ZScsIGAke3ZzaXplfXZieXRlcyAoJHt3ZWlnaHR9d3UpYCksXG4gICAgICAuLi4oZmVlICYmIGZlZVJhdGVcbiAgICAgICAgPyBbdGhpcy5ub2RlKCdmZWUgW2J0Y10nLCBmb3JtYXRTYXQoZmVlKSksIHRoaXMubm9kZSgnZmVlUmF0ZSBbc2F0L3ZieXRlXScsIGZlZVJhdGUudG9GaXhlZCgyKSldXG4gICAgICAgIDogW10pLFxuICAgICAgdGhpcy5ub2RlKFxuICAgICAgICBgaW5wdXRzYCxcbiAgICAgICAgW2lucHV0cy5sZW5ndGgudG9TdHJpbmcoKV0uY29uY2F0KGlucHV0U3VtID8gWydzdW09JyArIGZvcm1hdFNhdChpbnB1dFN1bSldIDogW10pLmpvaW4oJyAnKSxcbiAgICAgICAgdGhpcy5wYXJzZUlucyhpbnB1dHMsIHR4LCBpZCwgY2hhaW5JbmZvKVxuICAgICAgKSxcbiAgICAgIHRoaXMubm9kZShcbiAgICAgICAgYG91dHB1dHNgLFxuICAgICAgICBbb3V0cHV0cy5sZW5ndGgudG9TdHJpbmcoKSwgJ3N1bT0nICsgZm9ybWF0U2F0KG91dHB1dFN1bSldLmpvaW4oJyAnKSxcbiAgICAgICAgdGhpcy5wYXJzZU91dHMob3V0cHV0cywgdHgsIGlkLCBjaGFpbkluZm8pXG4gICAgICApLFxuICAgIF0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,8 @@
1
+ export type FormatTreeOrJson = 'tree' | 'json';
2
+ export declare const formatTreeOrJson: {
3
+ readonly type: "string";
4
+ readonly choices: readonly ["tree", "json"];
5
+ readonly default: "tree";
6
+ readonly coerce: (arg: string) => "tree" | "json";
7
+ };
8
+ //# sourceMappingURL=format.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../src/args/format.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,MAAM,CAAC;AAE/C,eAAO,MAAM,gBAAgB;;;;2BAIf,MAAM,KAAG,MAAM,GAAG,MAAM;CAM5B,CAAC"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatTreeOrJson = void 0;
4
+ exports.formatTreeOrJson = {
5
+ type: 'string',
6
+ choices: ['tree', 'json'],
7
+ default: 'tree',
8
+ coerce(arg) {
9
+ if (arg !== 'tree' && arg !== 'json') {
10
+ throw new Error(`invalid format ${arg}`);
11
+ }
12
+ return arg;
13
+ },
14
+ };
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FyZ3MvZm9ybWF0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVhLFFBQUEsZ0JBQWdCLEdBQUc7SUFDOUIsSUFBSSxFQUFFLFFBQVE7SUFDZCxPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFVO0lBQ2xDLE9BQU8sRUFBRSxNQUFNO0lBQ2YsTUFBTSxDQUFDLEdBQVc7UUFDaEIsSUFBSSxHQUFHLEtBQUssTUFBTSxJQUFJLEdBQUcsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUNyQyxNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FDTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgRm9ybWF0VHJlZU9ySnNvbiA9ICd0cmVlJyB8ICdqc29uJztcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFRyZWVPckpzb24gPSB7XG4gIHR5cGU6ICdzdHJpbmcnLFxuICBjaG9pY2VzOiBbJ3RyZWUnLCAnanNvbiddIGFzIGNvbnN0LFxuICBkZWZhdWx0OiAndHJlZScsXG4gIGNvZXJjZShhcmc6IHN0cmluZyk6ICd0cmVlJyB8ICdqc29uJyB7XG4gICAgaWYgKGFyZyAhPT0gJ3RyZWUnICYmIGFyZyAhPT0gJ2pzb24nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgZm9ybWF0ICR7YXJnfWApO1xuICAgIH1cbiAgICByZXR1cm4gYXJnO1xuICB9LFxufSBhcyBjb25zdDtcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './parseString';
2
+ export * from './walletKeys';
3
+ export * from './parseNetwork';
4
+ export * from './format';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/args/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./parseString"), exports);
18
+ __exportStar(require("./walletKeys"), exports);
19
+ __exportStar(require("./parseNetwork"), exports);
20
+ __exportStar(require("./format"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJncy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0RBQThCO0FBQzlCLCtDQUE2QjtBQUM3QixpREFBK0I7QUFDL0IsMkNBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wYXJzZVN0cmluZyc7XG5leHBvcnQgKiBmcm9tICcuL3dhbGxldEtleXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wYXJzZU5ldHdvcmsnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtYXQnO1xuIl19
@@ -0,0 +1,25 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ export declare const bitcoinRegtest: utxolib.Network;
3
+ export declare function getNetworkForName(name: string): utxolib.Network;
4
+ export declare function getNetworkName(network: utxolib.Network): string;
5
+ export declare function getNetworkList(): utxolib.Network[];
6
+ export declare function getNetwork(argv: {
7
+ network: string;
8
+ }): utxolib.Network;
9
+ type DemandOption<T> = T & {
10
+ demandOption: true;
11
+ };
12
+ type NetworkOption<TDefault> = {
13
+ type: 'string';
14
+ description: string;
15
+ default: TDefault;
16
+ coerce: (arg: string) => utxolib.Network;
17
+ };
18
+ export declare function getNetworkOptions(defaultValue?: string): {
19
+ network: NetworkOption<typeof defaultValue>;
20
+ };
21
+ export declare function getNetworkOptionsDemand(defaultValue?: string): {
22
+ network: DemandOption<NetworkOption<typeof defaultValue>>;
23
+ };
24
+ export {};
25
+ //# sourceMappingURL=parseNetwork.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseNetwork.d.ts","sourceRoot":"","sources":["../../../src/args/parseNetwork.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAGhD,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,OAGpC,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAS/D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAK/D;AA0BD,wBAAgB,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAIlD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAErE;AAED,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,YAAY,EAAE,IAAI,CAAA;CAAE,CAAC;AAElD,KAAK,aAAa,CAAC,QAAQ,IAAI;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC;CAC1C,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG;IACxD,OAAO,EAAE,aAAa,CAAC,OAAO,YAAY,CAAC,CAAC;CAC7C,CASA;AAED,wBAAgB,uBAAuB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG;IAC9D,OAAO,EAAE,YAAY,CAAC,aAAa,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC;CAC3D,CAIA"}
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bitcoinRegtest = void 0;
4
+ exports.getNetworkForName = getNetworkForName;
5
+ exports.getNetworkName = getNetworkName;
6
+ exports.getNetworkList = getNetworkList;
7
+ exports.getNetwork = getNetwork;
8
+ exports.getNetworkOptions = getNetworkOptions;
9
+ exports.getNetworkOptionsDemand = getNetworkOptionsDemand;
10
+ const utxolib = require("@bitgo-beta/utxo-lib");
11
+ const utxo_lib_1 = require("@bitgo-beta/utxo-lib");
12
+ exports.bitcoinRegtest = {
13
+ ...utxolib.networks.testnet,
14
+ bech32: 'bcrt',
15
+ };
16
+ function getNetworkForName(name) {
17
+ if (name === 'bitcoinRegtest') {
18
+ return exports.bitcoinRegtest;
19
+ }
20
+ const network = utxolib.networks[name];
21
+ if (!network) {
22
+ throw new Error(`invalid network ${name}`);
23
+ }
24
+ return network;
25
+ }
26
+ function getNetworkName(network) {
27
+ if (network === exports.bitcoinRegtest) {
28
+ return 'bitcoinRegtest';
29
+ }
30
+ return utxolib.getNetworkName(network);
31
+ }
32
+ const networkOrder = [
33
+ utxolib.networks.bitcoin,
34
+ utxolib.networks.bitcoincash,
35
+ utxolib.networks.bitcoingold,
36
+ utxolib.networks.bitcoinsv,
37
+ utxolib.networks.dash,
38
+ utxolib.networks.dogecoin,
39
+ utxolib.networks.ecash,
40
+ utxolib.networks.litecoin,
41
+ utxolib.networks.zcash,
42
+ ];
43
+ function getNetworkOrderIndex(network) {
44
+ if (network === exports.bitcoinRegtest) {
45
+ network = utxolib.networks.bitcoin;
46
+ }
47
+ network = (0, utxo_lib_1.getMainnet)(network);
48
+ const index = networkOrder.indexOf(network);
49
+ if (index === -1) {
50
+ throw new Error(`unknown network ${network}`);
51
+ }
52
+ return index;
53
+ }
54
+ function getNetworkList() {
55
+ return [...utxolib.getNetworkList(), exports.bitcoinRegtest].sort((a, b) => getNetworkOrderIndex(a) - getNetworkOrderIndex(b) || getNetworkName(a).localeCompare(getNetworkName(b)));
56
+ }
57
+ function getNetwork(argv) {
58
+ return getNetworkForName(argv.network);
59
+ }
60
+ function getNetworkOptions(defaultValue) {
61
+ return {
62
+ network: {
63
+ type: 'string',
64
+ description: 'network name',
65
+ default: defaultValue,
66
+ coerce: getNetworkForName,
67
+ },
68
+ };
69
+ }
70
+ function getNetworkOptionsDemand(defaultValue) {
71
+ return {
72
+ network: { ...getNetworkOptions(defaultValue).network, demandOption: true },
73
+ };
74
+ }
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VOZXR3b3JrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FyZ3MvcGFyc2VOZXR3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVFBLDhDQVNDO0FBRUQsd0NBS0M7QUEwQkQsd0NBSUM7QUFFRCxnQ0FFQztBQVdELDhDQVdDO0FBRUQsMERBTUM7QUF4RkQsZ0RBQWdEO0FBQ2hELG1EQUFrRDtBQUVyQyxRQUFBLGNBQWMsR0FBb0I7SUFDN0MsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU87SUFDM0IsTUFBTSxFQUFFLE1BQU07Q0FDZixDQUFDO0FBRUYsU0FBZ0IsaUJBQWlCLENBQUMsSUFBWTtJQUM1QyxJQUFJLElBQUksS0FBSyxnQkFBZ0IsRUFBRSxDQUFDO1FBQzlCLE9BQU8sc0JBQWMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUEyQixDQUFDLENBQUM7SUFDOUQsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVELFNBQWdCLGNBQWMsQ0FBQyxPQUF3QjtJQUNyRCxJQUFJLE9BQU8sS0FBSyxzQkFBYyxFQUFFLENBQUM7UUFDL0IsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBQ0QsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBVyxDQUFDO0FBQ25ELENBQUM7QUFFRCxNQUFNLFlBQVksR0FBRztJQUNuQixPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU87SUFDeEIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXO0lBQzVCLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVztJQUM1QixPQUFPLENBQUMsUUFBUSxDQUFDLFNBQVM7SUFDMUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJO0lBQ3JCLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUTtJQUN6QixPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUs7SUFDdEIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRO0lBQ3pCLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSztDQUN2QixDQUFDO0FBRUYsU0FBUyxvQkFBb0IsQ0FBQyxPQUF3QjtJQUNwRCxJQUFJLE9BQU8sS0FBSyxzQkFBYyxFQUFFLENBQUM7UUFDL0IsT0FBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxPQUFPLEdBQUcsSUFBQSxxQkFBVSxFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsSUFBSSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxTQUFnQixjQUFjO0lBQzVCLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxzQkFBYyxDQUFDLENBQUMsSUFBSSxDQUN2RCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxHQUFHLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2xILENBQUM7QUFDSixDQUFDO0FBRUQsU0FBZ0IsVUFBVSxDQUFDLElBQXlCO0lBQ2xELE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFXRCxTQUFnQixpQkFBaUIsQ0FBQyxZQUFxQjtJQUdyRCxPQUFPO1FBQ0wsT0FBTyxFQUFFO1lBQ1AsSUFBSSxFQUFFLFFBQVE7WUFDZCxXQUFXLEVBQUUsY0FBYztZQUMzQixPQUFPLEVBQUUsWUFBWTtZQUNyQixNQUFNLEVBQUUsaUJBQWlCO1NBQzFCO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFnQix1QkFBdUIsQ0FBQyxZQUFxQjtJQUczRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRTtLQUM1RSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0IHsgZ2V0TWFpbm5ldCB9IGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuZXhwb3J0IGNvbnN0IGJpdGNvaW5SZWd0ZXN0OiB1dHhvbGliLk5ldHdvcmsgPSB7XG4gIC4uLnV0eG9saWIubmV0d29ya3MudGVzdG5ldCxcbiAgYmVjaDMyOiAnYmNydCcsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV0d29ya0Zvck5hbWUobmFtZTogc3RyaW5nKTogdXR4b2xpYi5OZXR3b3JrIHtcbiAgaWYgKG5hbWUgPT09ICdiaXRjb2luUmVndGVzdCcpIHtcbiAgICByZXR1cm4gYml0Y29pblJlZ3Rlc3Q7XG4gIH1cbiAgY29uc3QgbmV0d29yayA9IHV0eG9saWIubmV0d29ya3NbbmFtZSBhcyB1dHhvbGliLk5ldHdvcmtOYW1lXTtcbiAgaWYgKCFuZXR3b3JrKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIG5ldHdvcmsgJHtuYW1lfWApO1xuICB9XG4gIHJldHVybiBuZXR3b3JrO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV0d29ya05hbWUobmV0d29yazogdXR4b2xpYi5OZXR3b3JrKTogc3RyaW5nIHtcbiAgaWYgKG5ldHdvcmsgPT09IGJpdGNvaW5SZWd0ZXN0KSB7XG4gICAgcmV0dXJuICdiaXRjb2luUmVndGVzdCc7XG4gIH1cbiAgcmV0dXJuIHV0eG9saWIuZ2V0TmV0d29ya05hbWUobmV0d29yaykgYXMgc3RyaW5nO1xufVxuXG5jb25zdCBuZXR3b3JrT3JkZXIgPSBbXG4gIHV0eG9saWIubmV0d29ya3MuYml0Y29pbixcbiAgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luY2FzaCxcbiAgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luZ29sZCxcbiAgdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luc3YsXG4gIHV0eG9saWIubmV0d29ya3MuZGFzaCxcbiAgdXR4b2xpYi5uZXR3b3Jrcy5kb2dlY29pbixcbiAgdXR4b2xpYi5uZXR3b3Jrcy5lY2FzaCxcbiAgdXR4b2xpYi5uZXR3b3Jrcy5saXRlY29pbixcbiAgdXR4b2xpYi5uZXR3b3Jrcy56Y2FzaCxcbl07XG5cbmZ1bmN0aW9uIGdldE5ldHdvcmtPcmRlckluZGV4KG5ldHdvcms6IHV0eG9saWIuTmV0d29yayk6IG51bWJlciB7XG4gIGlmIChuZXR3b3JrID09PSBiaXRjb2luUmVndGVzdCkge1xuICAgIG5ldHdvcmsgPSB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW47XG4gIH1cbiAgbmV0d29yayA9IGdldE1haW5uZXQobmV0d29yayk7XG4gIGNvbnN0IGluZGV4ID0gbmV0d29ya09yZGVyLmluZGV4T2YobmV0d29yayk7XG4gIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYHVua25vd24gbmV0d29yayAke25ldHdvcmt9YCk7XG4gIH1cbiAgcmV0dXJuIGluZGV4O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV0d29ya0xpc3QoKTogdXR4b2xpYi5OZXR3b3JrW10ge1xuICByZXR1cm4gWy4uLnV0eG9saWIuZ2V0TmV0d29ya0xpc3QoKSwgYml0Y29pblJlZ3Rlc3RdLnNvcnQoXG4gICAgKGEsIGIpID0+IGdldE5ldHdvcmtPcmRlckluZGV4KGEpIC0gZ2V0TmV0d29ya09yZGVySW5kZXgoYikgfHwgZ2V0TmV0d29ya05hbWUoYSkubG9jYWxlQ29tcGFyZShnZXROZXR3b3JrTmFtZShiKSlcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5ldHdvcmsoYXJndjogeyBuZXR3b3JrOiBzdHJpbmcgfSk6IHV0eG9saWIuTmV0d29yayB7XG4gIHJldHVybiBnZXROZXR3b3JrRm9yTmFtZShhcmd2Lm5ldHdvcmspO1xufVxuXG50eXBlIERlbWFuZE9wdGlvbjxUPiA9IFQgJiB7IGRlbWFuZE9wdGlvbjogdHJ1ZSB9O1xuXG50eXBlIE5ldHdvcmtPcHRpb248VERlZmF1bHQ+ID0ge1xuICB0eXBlOiAnc3RyaW5nJztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgZGVmYXVsdDogVERlZmF1bHQ7XG4gIGNvZXJjZTogKGFyZzogc3RyaW5nKSA9PiB1dHhvbGliLk5ldHdvcms7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV0d29ya09wdGlvbnMoZGVmYXVsdFZhbHVlPzogc3RyaW5nKToge1xuICBuZXR3b3JrOiBOZXR3b3JrT3B0aW9uPHR5cGVvZiBkZWZhdWx0VmFsdWU+O1xufSB7XG4gIHJldHVybiB7XG4gICAgbmV0d29yazoge1xuICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICBkZXNjcmlwdGlvbjogJ25ldHdvcmsgbmFtZScsXG4gICAgICBkZWZhdWx0OiBkZWZhdWx0VmFsdWUsXG4gICAgICBjb2VyY2U6IGdldE5ldHdvcmtGb3JOYW1lLFxuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROZXR3b3JrT3B0aW9uc0RlbWFuZChkZWZhdWx0VmFsdWU/OiBzdHJpbmcpOiB7XG4gIG5ldHdvcms6IERlbWFuZE9wdGlvbjxOZXR3b3JrT3B0aW9uPHR5cGVvZiBkZWZhdWx0VmFsdWU+Pjtcbn0ge1xuICByZXR1cm4ge1xuICAgIG5ldHdvcms6IHsgLi4uZ2V0TmV0d29ya09wdGlvbnMoZGVmYXVsdFZhbHVlKS5uZXR3b3JrLCBkZW1hbmRPcHRpb246IHRydWUgfSxcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,40 @@
1
+ type Format = 'hex' | 'base64';
2
+ export declare function stringToBuffer(data: string, format: Format | Format[]): Buffer;
3
+ export declare const readStringOptions: {
4
+ readonly path: {
5
+ readonly type: "string";
6
+ readonly nargs: 1;
7
+ readonly default: "";
8
+ };
9
+ readonly stdin: {
10
+ readonly type: "boolean";
11
+ readonly default: false;
12
+ };
13
+ readonly data: {
14
+ readonly type: "string";
15
+ readonly description: "hex or base64";
16
+ readonly alias: "hex";
17
+ };
18
+ readonly clipboard: {
19
+ readonly type: "boolean";
20
+ readonly default: false;
21
+ };
22
+ };
23
+ export type ReadStringOptions = {
24
+ clipboard?: boolean;
25
+ path?: string;
26
+ data?: string;
27
+ stdin: boolean;
28
+ };
29
+ /**
30
+ * Reads from stdin until Ctrl-D is pressed.
31
+ */
32
+ export declare function readStdin(): Promise<string>;
33
+ /**
34
+ * @param argv
35
+ * @param input - optional input data. If set, this function just ensures that nothing else is set.
36
+ * @return string from specified source
37
+ */
38
+ export declare function argToString(argv: ReadStringOptions, input?: string): Promise<string | undefined>;
39
+ export {};
40
+ //# sourceMappingURL=parseString.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseString.d.ts","sourceRoot":"","sources":["../../../src/args/parseString.ts"],"names":[],"mappings":"AAKA,KAAK,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;AAC/B,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,CAyB9E;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;CASpB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAoCjD;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAoCtG"}