@bitgo-beta/utxo-bin 2.8.3-beta.15 → 2.8.3-beta.1500

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 (157) hide show
  1. package/README.md +107 -86
  2. package/dist/bin/index.js +46 -3
  3. package/dist/src/AddressParser.d.ts +1 -1
  4. package/dist/src/AddressParser.d.ts.map +1 -1
  5. package/dist/src/AddressParser.js +54 -9
  6. package/dist/src/InputParser.d.ts +43 -0
  7. package/dist/src/InputParser.d.ts.map +1 -0
  8. package/dist/src/InputParser.js +287 -0
  9. package/dist/src/OutputParser.d.ts +24 -0
  10. package/dist/src/OutputParser.d.ts.map +1 -0
  11. package/dist/src/OutputParser.js +98 -0
  12. package/dist/src/Parser.d.ts +9 -3
  13. package/dist/src/Parser.d.ts.map +1 -1
  14. package/dist/src/Parser.js +35 -1
  15. package/dist/src/ParserTx.d.ts +27 -0
  16. package/dist/src/ParserTx.d.ts.map +1 -0
  17. package/dist/src/ParserTx.js +126 -0
  18. package/dist/src/ScriptParser.d.ts +23 -0
  19. package/dist/src/ScriptParser.d.ts.map +1 -0
  20. package/dist/src/ScriptParser.js +129 -0
  21. package/dist/src/TxParser.d.ts +12 -8
  22. package/dist/src/TxParser.d.ts.map +1 -1
  23. package/dist/src/TxParser.js +60 -29
  24. package/dist/src/args/format.d.ts +8 -0
  25. package/dist/src/args/format.d.ts.map +1 -0
  26. package/dist/src/args/format.js +15 -0
  27. package/dist/src/args/index.d.ts +5 -0
  28. package/dist/src/args/index.d.ts.map +1 -0
  29. package/dist/src/args/index.js +21 -0
  30. package/dist/src/args/parseNetwork.d.ts +25 -0
  31. package/dist/src/args/parseNetwork.d.ts.map +1 -0
  32. package/dist/src/args/parseNetwork.js +108 -0
  33. package/dist/src/args/parseString.d.ts +40 -0
  34. package/dist/src/args/parseString.d.ts.map +1 -0
  35. package/dist/src/args/parseString.js +153 -0
  36. package/dist/src/args/walletKeys.d.ts +38 -0
  37. package/dist/src/args/walletKeys.d.ts.map +1 -0
  38. package/dist/src/args/walletKeys.js +64 -0
  39. package/dist/src/bip32.d.ts +5 -0
  40. package/dist/src/bip32.d.ts.map +1 -0
  41. package/dist/src/bip32.js +56 -0
  42. package/dist/src/commands/cmdAddress/cmdGenerate.d.ts +21 -0
  43. package/dist/src/commands/cmdAddress/cmdGenerate.d.ts.map +1 -0
  44. package/dist/src/commands/cmdAddress/cmdGenerate.js +89 -0
  45. package/dist/src/commands/cmdAddress/cmdParse.d.ts +20 -0
  46. package/dist/src/commands/cmdAddress/cmdParse.d.ts.map +1 -0
  47. package/dist/src/commands/cmdAddress/cmdParse.js +28 -0
  48. package/dist/src/commands/cmdAddress/index.d.ts +3 -0
  49. package/dist/src/commands/cmdAddress/index.d.ts.map +1 -0
  50. package/dist/src/commands/cmdAddress/index.js +16 -0
  51. package/dist/src/commands/cmdBip32.d.ts +16 -0
  52. package/dist/src/commands/cmdBip32.d.ts.map +1 -0
  53. package/dist/src/commands/cmdBip32.js +78 -0
  54. package/dist/src/commands/cmdDescriptor/fromFixedScript.d.ts +10 -0
  55. package/dist/src/commands/cmdDescriptor/fromFixedScript.d.ts.map +1 -0
  56. package/dist/src/commands/cmdDescriptor/fromFixedScript.js +73 -0
  57. package/dist/src/commands/cmdDescriptor/index.d.ts +4 -0
  58. package/dist/src/commands/cmdDescriptor/index.d.ts.map +1 -0
  59. package/dist/src/commands/cmdDescriptor/index.js +30 -0
  60. package/dist/src/commands/cmdParseScript.d.ts +18 -0
  61. package/dist/src/commands/cmdParseScript.d.ts.map +1 -0
  62. package/dist/src/commands/cmdParseScript.js +27 -0
  63. package/dist/src/commands/cmdParseTx.d.ts +31 -0
  64. package/dist/src/commands/cmdParseTx.d.ts.map +1 -0
  65. package/dist/src/commands/cmdParseTx.js +162 -0
  66. package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.d.ts +13 -0
  67. package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.d.ts.map +1 -0
  68. package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.js +100 -0
  69. package/dist/src/commands/cmdPsbt/cmdAddOutput.d.ts +11 -0
  70. package/dist/src/commands/cmdPsbt/cmdAddOutput.d.ts.map +1 -0
  71. package/dist/src/commands/cmdPsbt/cmdAddOutput.js +122 -0
  72. package/dist/src/commands/cmdPsbt/cmdCreate.d.ts +9 -0
  73. package/dist/src/commands/cmdPsbt/cmdCreate.d.ts.map +1 -0
  74. package/dist/src/commands/cmdPsbt/cmdCreate.js +23 -0
  75. package/dist/src/commands/cmdPsbt/cmdFinalize.d.ts +11 -0
  76. package/dist/src/commands/cmdPsbt/cmdFinalize.d.ts.map +1 -0
  77. package/dist/src/commands/cmdPsbt/cmdFinalize.js +43 -0
  78. package/dist/src/commands/cmdPsbt/cmdSign.d.ts +7 -0
  79. package/dist/src/commands/cmdPsbt/cmdSign.d.ts.map +1 -0
  80. package/dist/src/commands/cmdPsbt/cmdSign.js +57 -0
  81. package/dist/src/commands/cmdPsbt/index.d.ts +8 -0
  82. package/dist/src/commands/cmdPsbt/index.d.ts.map +1 -0
  83. package/dist/src/commands/cmdPsbt/index.js +27 -0
  84. package/dist/src/commands/cmdPsbt/withPsbt.d.ts +63 -0
  85. package/dist/src/commands/cmdPsbt/withPsbt.d.ts.map +1 -0
  86. package/dist/src/commands/cmdPsbt/withPsbt.js +99 -0
  87. package/dist/src/commands/cmdPsbt/wrap.d.ts +5 -0
  88. package/dist/src/commands/cmdPsbt/wrap.d.ts.map +1 -0
  89. package/dist/src/commands/cmdPsbt/wrap.js +60 -0
  90. package/dist/src/commands/formatString.d.ts +8 -0
  91. package/dist/src/commands/formatString.d.ts.map +1 -0
  92. package/dist/src/commands/formatString.js +14 -0
  93. package/dist/src/commands/index.d.ts +7 -0
  94. package/dist/src/commands/index.d.ts.map +1 -0
  95. package/dist/src/commands/index.js +23 -0
  96. package/dist/src/ecdsa.d.ts +1 -2
  97. package/dist/src/ecdsa.d.ts.map +1 -1
  98. package/dist/src/ecdsa.js +9 -9
  99. package/dist/src/fetch.d.ts +12 -4
  100. package/dist/src/fetch.d.ts.map +1 -1
  101. package/dist/src/fetch.js +90 -13
  102. package/dist/src/format.d.ts +6 -3
  103. package/dist/src/format.d.ts.map +1 -1
  104. package/dist/src/format.js +38 -13
  105. package/dist/src/generateAddress.d.ts +47 -0
  106. package/dist/src/generateAddress.d.ts.map +1 -0
  107. package/dist/src/generateAddress.js +177 -0
  108. package/dist/src/hollowSegwitSpend.d.ts +1 -1
  109. package/dist/src/hollowSegwitSpend.d.ts.map +1 -1
  110. package/dist/src/hollowSegwitSpend.js +37 -5
  111. package/dist/src/parseUnknown.d.ts +5 -0
  112. package/dist/src/parseUnknown.d.ts.map +1 -0
  113. package/dist/src/parseUnknown.js +49 -0
  114. package/dist/src/prevTx.d.ts +4 -0
  115. package/dist/src/prevTx.d.ts.map +1 -0
  116. package/dist/src/prevTx.js +77 -0
  117. package/dist/test/args/stringToBuffer.d.ts +2 -0
  118. package/dist/test/args/stringToBuffer.d.ts.map +1 -0
  119. package/dist/test/args/stringToBuffer.js +49 -0
  120. package/dist/test/bip32.d.ts +2 -0
  121. package/dist/test/bip32.d.ts.map +1 -0
  122. package/dist/test/bip32.js +55 -0
  123. package/dist/test/bip32.util.d.ts +6 -0
  124. package/dist/test/bip32.util.d.ts.map +1 -0
  125. package/dist/test/bip32.util.js +46 -0
  126. package/dist/test/captureConsole.d.ts +6 -0
  127. package/dist/test/captureConsole.d.ts.map +1 -0
  128. package/dist/test/captureConsole.js +65 -0
  129. package/dist/test/cmdDescriptor/fromFixedScript.d.ts +2 -0
  130. package/dist/test/cmdDescriptor/fromFixedScript.d.ts.map +1 -0
  131. package/dist/test/cmdDescriptor/fromFixedScript.js +70 -0
  132. package/dist/test/cmdPsbt.d.ts +2 -0
  133. package/dist/test/cmdPsbt.d.ts.map +1 -0
  134. package/dist/test/cmdPsbt.js +138 -0
  135. package/dist/test/fixtures.d.ts +24 -0
  136. package/dist/test/fixtures.d.ts.map +1 -0
  137. package/dist/test/fixtures.js +127 -0
  138. package/dist/test/generateAddress.d.ts +2 -0
  139. package/dist/test/generateAddress.d.ts.map +1 -0
  140. package/dist/test/generateAddress.js +79 -0
  141. package/dist/test/parseAddress.d.ts +6 -0
  142. package/dist/test/parseAddress.d.ts.map +1 -0
  143. package/dist/test/parseAddress.js +119 -0
  144. package/dist/test/parseScript.d.ts +2 -0
  145. package/dist/test/parseScript.d.ts.map +1 -0
  146. package/dist/test/parseScript.js +74 -0
  147. package/dist/test/parseTransaction.d.ts +2 -0
  148. package/dist/test/parseTransaction.d.ts.map +1 -0
  149. package/dist/test/parseTransaction.js +103 -0
  150. package/dist/tsconfig.tsbuildinfo +1 -4675
  151. package/package.json +13 -9
  152. package/dist/src/InputOutputParser.d.ts +0 -35
  153. package/dist/src/InputOutputParser.d.ts.map +0 -1
  154. package/dist/src/InputOutputParser.js +0 -196
  155. package/dist/src/commands.d.ts +0 -43
  156. package/dist/src/commands.d.ts.map +0 -1
  157. package/dist/src/commands.js +0 -152
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cmdFromDescriptor = exports.cmdGenerateFixedScript = void 0;
4
+ const args_1 = require("../../args");
5
+ const generateAddress_1 = require("../../generateAddress");
6
+ const indexLimitOptions = {
7
+ index: {
8
+ type: 'string',
9
+ array: true,
10
+ description: 'Address index. Can be given as a range (e.g. 0-99). Takes precedence over --limit.',
11
+ },
12
+ limit: {
13
+ type: 'number',
14
+ description: 'Alias for --index with range starting at 0 to limit-1.',
15
+ default: 100,
16
+ },
17
+ };
18
+ function getIndexRangeFromArgv(argv) {
19
+ if (argv.index) {
20
+ return (0, generateAddress_1.parseIndexRange)(argv.index);
21
+ }
22
+ if (argv.limit) {
23
+ return (0, generateAddress_1.getRange)(0, argv.limit - 1);
24
+ }
25
+ throw new Error(`no index or limit`);
26
+ }
27
+ exports.cmdGenerateFixedScript = {
28
+ command: 'fromFixedScript',
29
+ describe: 'generate bitgo fixed-script addresses',
30
+ builder(b) {
31
+ return b
32
+ .options((0, args_1.getNetworkOptionsDemand)('bitcoin'))
33
+ .options(args_1.keyOptions)
34
+ .option('format', {
35
+ type: 'string',
36
+ default: '%p0\t%a',
37
+ description: `Format string.\nPlaceholders:\n${(0, generateAddress_1.getFixedScriptAddressPlaceholderDescription)()}`,
38
+ })
39
+ .option('chain', { type: 'number', array: true, description: 'Address chain' })
40
+ .options(indexLimitOptions);
41
+ },
42
+ handler(argv) {
43
+ for (const address of (0, generateAddress_1.generateFixedScriptAddress)({
44
+ ...argv,
45
+ index: getIndexRangeFromArgv(argv),
46
+ })) {
47
+ if (argv.format === 'tree') {
48
+ console.log((0, generateAddress_1.formatAddressTree)(address));
49
+ }
50
+ else {
51
+ console.log((0, generateAddress_1.formatFixedScriptAddress)(address, argv.format));
52
+ }
53
+ }
54
+ },
55
+ };
56
+ exports.cmdFromDescriptor = {
57
+ command: 'fromDescriptor [descriptor]',
58
+ describe: 'generate address from descriptor',
59
+ builder(b) {
60
+ return b
61
+ .options((0, args_1.getNetworkOptionsDemand)('bitcoin'))
62
+ .positional('descriptor', {
63
+ type: 'string',
64
+ demandOption: true,
65
+ })
66
+ .options({
67
+ format: {
68
+ type: 'string',
69
+ description: `Format string.\nPlaceholders:\n${(0, generateAddress_1.getDescriptorAddressPlaceholderDescription)()}`,
70
+ default: '%i\t%a',
71
+ },
72
+ })
73
+ .options(indexLimitOptions);
74
+ },
75
+ handler(argv) {
76
+ for (const address of (0, generateAddress_1.generateDescriptorAddress)({
77
+ ...argv,
78
+ index: getIndexRangeFromArgv(argv),
79
+ })) {
80
+ if (argv.format === 'tree') {
81
+ console.log((0, generateAddress_1.formatAddressTree)(address));
82
+ }
83
+ else {
84
+ console.log((0, generateAddress_1.formatDescriptorAddress)(address, argv.format));
85
+ }
86
+ }
87
+ },
88
+ };
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kR2VuZXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kQWRkcmVzcy9jbWRHZW5lcmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxxQ0FBNkU7QUFDN0UsMkRBVStCO0FBTy9CLE1BQU0saUJBQWlCLEdBQUc7SUFDeEIsS0FBSyxFQUFFO1FBQ0wsSUFBSSxFQUFFLFFBQVE7UUFDZCxLQUFLLEVBQUUsSUFBSTtRQUNYLFdBQVcsRUFBRSxvRkFBb0Y7S0FDbEc7SUFDRCxLQUFLLEVBQUU7UUFDTCxJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSx3REFBd0Q7UUFDckUsT0FBTyxFQUFFLEdBQUc7S0FDYjtDQUNPLENBQUM7QUFFWCxTQUFTLHFCQUFxQixDQUFDLElBQXVCO0lBQ3BELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxJQUFBLGlDQUFlLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sSUFBQSwwQkFBUSxFQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDdkMsQ0FBQztBQVNZLFFBQUEsc0JBQXNCLEdBQTJEO0lBQzVGLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsUUFBUSxFQUFFLHVDQUF1QztJQUNqRCxPQUFPLENBQUMsQ0FBQztRQUNQLE9BQU8sQ0FBQzthQUNMLE9BQU8sQ0FBQyxJQUFBLDhCQUF1QixFQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQzNDLE9BQU8sQ0FBQyxpQkFBVSxDQUFDO2FBQ25CLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDaEIsSUFBSSxFQUFFLFFBQVE7WUFDZCxPQUFPLEVBQUUsU0FBUztZQUNsQixXQUFXLEVBQUUsa0NBQWtDLElBQUEsNkRBQTJDLEdBQUUsRUFBRTtTQUMvRixDQUFDO2FBQ0QsTUFBTSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLENBQUM7YUFDOUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELE9BQU8sQ0FBQyxJQUFJO1FBQ1YsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFBLDRDQUEwQixFQUFDO1lBQy9DLEdBQUcsSUFBSTtZQUNQLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7U0FDbkMsQ0FBQyxFQUFFLENBQUM7WUFDSCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBQSxtQ0FBaUIsRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzFDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUEsMENBQXdCLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQzlELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUM7QUFRVyxRQUFBLGlCQUFpQixHQUEwRDtJQUN0RixPQUFPLEVBQUUsNkJBQTZCO0lBQ3RDLFFBQVEsRUFBRSxrQ0FBa0M7SUFDNUMsT0FBTyxDQUFDLENBQUM7UUFDUCxPQUFPLENBQUM7YUFDTCxPQUFPLENBQUMsSUFBQSw4QkFBdUIsRUFBQyxTQUFTLENBQUMsQ0FBQzthQUMzQyxVQUFVLENBQUMsWUFBWSxFQUFFO1lBQ3hCLElBQUksRUFBRSxRQUFRO1lBQ2QsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQzthQUNELE9BQU8sQ0FBQztZQUNQLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsUUFBUTtnQkFDZCxXQUFXLEVBQUUsa0NBQWtDLElBQUEsNERBQTBDLEdBQUUsRUFBRTtnQkFDN0YsT0FBTyxFQUFFLFFBQVE7YUFDbEI7U0FDRixDQUFDO2FBQ0QsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELE9BQU8sQ0FBQyxJQUFJO1FBQ1YsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFBLDJDQUF5QixFQUFDO1lBQzlDLEdBQUcsSUFBSTtZQUNQLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7U0FDbkMsQ0FBQyxFQUFFLENBQUM7WUFDSCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBQSxtQ0FBaUIsRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzFDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUEseUNBQXVCLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQzdELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IENvbW1hbmRNb2R1bGUgfSBmcm9tICd5YXJncyc7XG5cbmltcG9ydCB7IGdldE5ldHdvcmtPcHRpb25zRGVtYW5kLCBrZXlPcHRpb25zLCBLZXlPcHRpb25zIH0gZnJvbSAnLi4vLi4vYXJncyc7XG5pbXBvcnQge1xuICBmb3JtYXRBZGRyZXNzVHJlZSxcbiAgZm9ybWF0RGVzY3JpcHRvckFkZHJlc3MsXG4gIGZvcm1hdEZpeGVkU2NyaXB0QWRkcmVzcyxcbiAgZ2VuZXJhdGVEZXNjcmlwdG9yQWRkcmVzcyxcbiAgZ2VuZXJhdGVGaXhlZFNjcmlwdEFkZHJlc3MsXG4gIGdldERlc2NyaXB0b3JBZGRyZXNzUGxhY2Vob2xkZXJEZXNjcmlwdGlvbixcbiAgZ2V0Rml4ZWRTY3JpcHRBZGRyZXNzUGxhY2Vob2xkZXJEZXNjcmlwdGlvbixcbiAgZ2V0UmFuZ2UsXG4gIHBhcnNlSW5kZXhSYW5nZSxcbn0gZnJvbSAnLi4vLi4vZ2VuZXJhdGVBZGRyZXNzJztcblxudHlwZSBJbmRleExpbWl0T3B0aW9ucyA9IHtcbiAgaW5kZXg/OiBzdHJpbmdbXTtcbiAgbGltaXQ/OiBudW1iZXI7XG59O1xuXG5jb25zdCBpbmRleExpbWl0T3B0aW9ucyA9IHtcbiAgaW5kZXg6IHtcbiAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICBhcnJheTogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjogJ0FkZHJlc3MgaW5kZXguIENhbiBiZSBnaXZlbiBhcyBhIHJhbmdlIChlLmcuIDAtOTkpLiBUYWtlcyBwcmVjZWRlbmNlIG92ZXIgLS1saW1pdC4nLFxuICB9LFxuICBsaW1pdDoge1xuICAgIHR5cGU6ICdudW1iZXInLFxuICAgIGRlc2NyaXB0aW9uOiAnQWxpYXMgZm9yIC0taW5kZXggd2l0aCByYW5nZSBzdGFydGluZyBhdCAwIHRvIGxpbWl0LTEuJyxcbiAgICBkZWZhdWx0OiAxMDAsXG4gIH0sXG59IGFzIGNvbnN0O1xuXG5mdW5jdGlvbiBnZXRJbmRleFJhbmdlRnJvbUFyZ3YoYXJndjogSW5kZXhMaW1pdE9wdGlvbnMpOiBudW1iZXJbXSB7XG4gIGlmIChhcmd2LmluZGV4KSB7XG4gICAgcmV0dXJuIHBhcnNlSW5kZXhSYW5nZShhcmd2LmluZGV4KTtcbiAgfVxuICBpZiAoYXJndi5saW1pdCkge1xuICAgIHJldHVybiBnZXRSYW5nZSgwLCBhcmd2LmxpbWl0IC0gMSk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBubyBpbmRleCBvciBsaW1pdGApO1xufVxuXG50eXBlIEFyZ3NHZW5lcmF0ZUFkZHJlc3NGaXhlZFNjcmlwdCA9IEtleU9wdGlvbnMgJlxuICBJbmRleExpbWl0T3B0aW9ucyAmIHtcbiAgICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcms7XG4gICAgY2hhaW4/OiBudW1iZXJbXTtcbiAgICBmb3JtYXQ6IHN0cmluZztcbiAgfTtcblxuZXhwb3J0IGNvbnN0IGNtZEdlbmVyYXRlRml4ZWRTY3JpcHQ6IENvbW1hbmRNb2R1bGU8dW5rbm93biwgQXJnc0dlbmVyYXRlQWRkcmVzc0ZpeGVkU2NyaXB0PiA9IHtcbiAgY29tbWFuZDogJ2Zyb21GaXhlZFNjcmlwdCcsXG4gIGRlc2NyaWJlOiAnZ2VuZXJhdGUgYml0Z28gZml4ZWQtc2NyaXB0IGFkZHJlc3NlcycsXG4gIGJ1aWxkZXIoYikge1xuICAgIHJldHVybiBiXG4gICAgICAub3B0aW9ucyhnZXROZXR3b3JrT3B0aW9uc0RlbWFuZCgnYml0Y29pbicpKVxuICAgICAgLm9wdGlvbnMoa2V5T3B0aW9ucylcbiAgICAgIC5vcHRpb24oJ2Zvcm1hdCcsIHtcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgIGRlZmF1bHQ6ICclcDBcXHQlYScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBgRm9ybWF0IHN0cmluZy5cXG5QbGFjZWhvbGRlcnM6XFxuJHtnZXRGaXhlZFNjcmlwdEFkZHJlc3NQbGFjZWhvbGRlckRlc2NyaXB0aW9uKCl9YCxcbiAgICAgIH0pXG4gICAgICAub3B0aW9uKCdjaGFpbicsIHsgdHlwZTogJ251bWJlcicsIGFycmF5OiB0cnVlLCBkZXNjcmlwdGlvbjogJ0FkZHJlc3MgY2hhaW4nIH0pXG4gICAgICAub3B0aW9ucyhpbmRleExpbWl0T3B0aW9ucyk7XG4gIH0sXG4gIGhhbmRsZXIoYXJndik6IHZvaWQge1xuICAgIGZvciAoY29uc3QgYWRkcmVzcyBvZiBnZW5lcmF0ZUZpeGVkU2NyaXB0QWRkcmVzcyh7XG4gICAgICAuLi5hcmd2LFxuICAgICAgaW5kZXg6IGdldEluZGV4UmFuZ2VGcm9tQXJndihhcmd2KSxcbiAgICB9KSkge1xuICAgICAgaWYgKGFyZ3YuZm9ybWF0ID09PSAndHJlZScpIHtcbiAgICAgICAgY29uc29sZS5sb2coZm9ybWF0QWRkcmVzc1RyZWUoYWRkcmVzcykpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5sb2coZm9ybWF0Rml4ZWRTY3JpcHRBZGRyZXNzKGFkZHJlc3MsIGFyZ3YuZm9ybWF0KSk7XG4gICAgICB9XG4gICAgfVxuICB9LFxufTtcblxudHlwZSBBcmdzR2VuZXJhdGVEZXNjcmlwdG9yQWRkcmVzcyA9IHtcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrO1xuICBkZXNjcmlwdG9yOiBzdHJpbmc7XG4gIGZvcm1hdDogc3RyaW5nO1xufSAmIEluZGV4TGltaXRPcHRpb25zO1xuXG5leHBvcnQgY29uc3QgY21kRnJvbURlc2NyaXB0b3I6IENvbW1hbmRNb2R1bGU8dW5rbm93biwgQXJnc0dlbmVyYXRlRGVzY3JpcHRvckFkZHJlc3M+ID0ge1xuICBjb21tYW5kOiAnZnJvbURlc2NyaXB0b3IgW2Rlc2NyaXB0b3JdJyxcbiAgZGVzY3JpYmU6ICdnZW5lcmF0ZSBhZGRyZXNzIGZyb20gZGVzY3JpcHRvcicsXG4gIGJ1aWxkZXIoYikge1xuICAgIHJldHVybiBiXG4gICAgICAub3B0aW9ucyhnZXROZXR3b3JrT3B0aW9uc0RlbWFuZCgnYml0Y29pbicpKVxuICAgICAgLnBvc2l0aW9uYWwoJ2Rlc2NyaXB0b3InLCB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBkZW1hbmRPcHRpb246IHRydWUsXG4gICAgICB9KVxuICAgICAgLm9wdGlvbnMoe1xuICAgICAgICBmb3JtYXQ6IHtcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogYEZvcm1hdCBzdHJpbmcuXFxuUGxhY2Vob2xkZXJzOlxcbiR7Z2V0RGVzY3JpcHRvckFkZHJlc3NQbGFjZWhvbGRlckRlc2NyaXB0aW9uKCl9YCxcbiAgICAgICAgICBkZWZhdWx0OiAnJWlcXHQlYScsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgLm9wdGlvbnMoaW5kZXhMaW1pdE9wdGlvbnMpO1xuICB9LFxuICBoYW5kbGVyKGFyZ3YpIHtcbiAgICBmb3IgKGNvbnN0IGFkZHJlc3Mgb2YgZ2VuZXJhdGVEZXNjcmlwdG9yQWRkcmVzcyh7XG4gICAgICAuLi5hcmd2LFxuICAgICAgaW5kZXg6IGdldEluZGV4UmFuZ2VGcm9tQXJndihhcmd2KSxcbiAgICB9KSkge1xuICAgICAgaWYgKGFyZ3YuZm9ybWF0ID09PSAndHJlZScpIHtcbiAgICAgICAgY29uc29sZS5sb2coZm9ybWF0QWRkcmVzc1RyZWUoYWRkcmVzcykpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5sb2coZm9ybWF0RGVzY3JpcHRvckFkZHJlc3MoYWRkcmVzcywgYXJndi5mb3JtYXQpKTtcbiAgICAgIH1cbiAgICB9XG4gIH0sXG59O1xuIl19
@@ -0,0 +1,20 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ import * as yargs from 'yargs';
3
+ import { AddressParser } from '../../AddressParser';
4
+ import { FormatTreeOrJson } from '../../args';
5
+ export type ArgsParseAddress = {
6
+ network?: utxolib.Network;
7
+ format: FormatTreeOrJson;
8
+ all: boolean;
9
+ convert: boolean;
10
+ address: string;
11
+ };
12
+ export declare function getAddressParser(argv: ArgsParseAddress): AddressParser;
13
+ export declare const cmdParse: {
14
+ readonly command: "parse [address]";
15
+ readonly aliases: readonly ["address"];
16
+ readonly describe: "parse address";
17
+ readonly builder: (b: yargs.Argv<unknown>) => yargs.Argv<ArgsParseAddress>;
18
+ readonly handler: (argv: yargs.Arguments<ArgsParseAddress>) => void;
19
+ };
20
+ //# sourceMappingURL=cmdParse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmdParse.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdAddress/cmdParse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAoB,gBAAgB,EAAqB,MAAM,YAAY,CAAC;AAInF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;IAC1B,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,aAAa,CAEtE;AAED,eAAO,MAAM,QAAQ;;;;0BAIR,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;6BAS/C,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAG,IAAI;CAI9C,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cmdParse = void 0;
4
+ exports.getAddressParser = getAddressParser;
5
+ const AddressParser_1 = require("../../AddressParser");
6
+ const args_1 = require("../../args");
7
+ const formatString_1 = require("../formatString");
8
+ function getAddressParser(argv) {
9
+ return new AddressParser_1.AddressParser(argv);
10
+ }
11
+ exports.cmdParse = {
12
+ command: 'parse [address]',
13
+ aliases: ['address'],
14
+ describe: 'parse address',
15
+ builder(b) {
16
+ return b
17
+ .options((0, args_1.getNetworkOptions)())
18
+ .option('format', args_1.formatTreeOrJson)
19
+ .option('convert', { type: 'boolean', default: false })
20
+ .option('all', { type: 'boolean', default: false })
21
+ .positional('address', { type: 'string', demandOption: true });
22
+ },
23
+ handler(argv) {
24
+ const parsed = getAddressParser(argv).parse(argv.address);
25
+ console.log((0, formatString_1.formatString)(parsed, argv));
26
+ },
27
+ };
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kUGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kQWRkcmVzcy9jbWRQYXJzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFnQkEsNENBRUM7QUFmRCx1REFBb0Q7QUFDcEQscUNBQW1GO0FBRW5GLGtEQUErQztBQVUvQyxTQUFnQixnQkFBZ0IsQ0FBQyxJQUFzQjtJQUNyRCxPQUFPLElBQUksNkJBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBRVksUUFBQSxRQUFRLEdBQUc7SUFDdEIsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUM7SUFDcEIsUUFBUSxFQUFFLGVBQWU7SUFDekIsT0FBTyxDQUFDLENBQXNCO1FBQzVCLE9BQU8sQ0FBQzthQUNMLE9BQU8sQ0FBQyxJQUFBLHdCQUFpQixHQUFFLENBQUM7YUFDNUIsTUFBTSxDQUFDLFFBQVEsRUFBRSx1QkFBZ0IsQ0FBQzthQUNsQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7YUFDdEQsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO2FBQ2xELFVBQVUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBdUM7UUFDN0MsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUEsMkJBQVksRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ08sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0ICogYXMgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuXG5pbXBvcnQgeyBBZGRyZXNzUGFyc2VyIH0gZnJvbSAnLi4vLi4vQWRkcmVzc1BhcnNlcic7XG5pbXBvcnQgeyBmb3JtYXRUcmVlT3JKc29uLCBGb3JtYXRUcmVlT3JKc29uLCBnZXROZXR3b3JrT3B0aW9ucyB9IGZyb20gJy4uLy4uL2FyZ3MnO1xuXG5pbXBvcnQgeyBmb3JtYXRTdHJpbmcgfSBmcm9tICcuLi9mb3JtYXRTdHJpbmcnO1xuXG5leHBvcnQgdHlwZSBBcmdzUGFyc2VBZGRyZXNzID0ge1xuICBuZXR3b3JrPzogdXR4b2xpYi5OZXR3b3JrO1xuICBmb3JtYXQ6IEZvcm1hdFRyZWVPckpzb247XG4gIGFsbDogYm9vbGVhbjtcbiAgY29udmVydDogYm9vbGVhbjtcbiAgYWRkcmVzczogc3RyaW5nO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFkZHJlc3NQYXJzZXIoYXJndjogQXJnc1BhcnNlQWRkcmVzcyk6IEFkZHJlc3NQYXJzZXIge1xuICByZXR1cm4gbmV3IEFkZHJlc3NQYXJzZXIoYXJndik7XG59XG5cbmV4cG9ydCBjb25zdCBjbWRQYXJzZSA9IHtcbiAgY29tbWFuZDogJ3BhcnNlIFthZGRyZXNzXScsXG4gIGFsaWFzZXM6IFsnYWRkcmVzcyddLFxuICBkZXNjcmliZTogJ3BhcnNlIGFkZHJlc3MnLFxuICBidWlsZGVyKGI6IHlhcmdzLkFyZ3Y8dW5rbm93bj4pOiB5YXJncy5Bcmd2PEFyZ3NQYXJzZUFkZHJlc3M+IHtcbiAgICByZXR1cm4gYlxuICAgICAgLm9wdGlvbnMoZ2V0TmV0d29ya09wdGlvbnMoKSlcbiAgICAgIC5vcHRpb24oJ2Zvcm1hdCcsIGZvcm1hdFRyZWVPckpzb24pXG4gICAgICAub3B0aW9uKCdjb252ZXJ0JywgeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0pXG4gICAgICAub3B0aW9uKCdhbGwnLCB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5wb3NpdGlvbmFsKCdhZGRyZXNzJywgeyB0eXBlOiAnc3RyaW5nJywgZGVtYW5kT3B0aW9uOiB0cnVlIH0pO1xuICB9LFxuXG4gIGhhbmRsZXIoYXJndjogeWFyZ3MuQXJndW1lbnRzPEFyZ3NQYXJzZUFkZHJlc3M+KTogdm9pZCB7XG4gICAgY29uc3QgcGFyc2VkID0gZ2V0QWRkcmVzc1BhcnNlcihhcmd2KS5wYXJzZShhcmd2LmFkZHJlc3MpO1xuICAgIGNvbnNvbGUubG9nKGZvcm1hdFN0cmluZyhwYXJzZWQsIGFyZ3YpKTtcbiAgfSxcbn0gYXMgY29uc3Q7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { CommandModule } from 'yargs';
2
+ export declare const cmdAddress: CommandModule<unknown, unknown>;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdAddress/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAStD,CAAC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cmdAddress = void 0;
4
+ const cmdGenerate_1 = require("./cmdGenerate");
5
+ const cmdParse_1 = require("./cmdParse");
6
+ exports.cmdAddress = {
7
+ command: 'address <command>',
8
+ describe: 'address commands',
9
+ builder(b) {
10
+ return b.strict().command(cmdGenerate_1.cmdGenerateFixedScript).command(cmdGenerate_1.cmdFromDescriptor).command(cmdParse_1.cmdParse).demandCommand();
11
+ },
12
+ handler() {
13
+ // do nothing
14
+ },
15
+ };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kQWRkcmVzcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSwrQ0FBMEU7QUFDMUUseUNBQXNDO0FBRXpCLFFBQUEsVUFBVSxHQUFvQztJQUN6RCxPQUFPLEVBQUUsbUJBQW1CO0lBQzVCLFFBQVEsRUFBRSxrQkFBa0I7SUFDNUIsT0FBTyxDQUFDLENBQUM7UUFDUCxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsb0NBQXNCLENBQUMsQ0FBQyxPQUFPLENBQUMsK0JBQWlCLENBQUMsQ0FBQyxPQUFPLENBQUMsbUJBQVEsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2pILENBQUM7SUFDRCxPQUFPO1FBQ0wsYUFBYTtJQUNmLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZE1vZHVsZSB9IGZyb20gJ3lhcmdzJztcblxuaW1wb3J0IHsgY21kRnJvbURlc2NyaXB0b3IsIGNtZEdlbmVyYXRlRml4ZWRTY3JpcHQgfSBmcm9tICcuL2NtZEdlbmVyYXRlJztcbmltcG9ydCB7IGNtZFBhcnNlIH0gZnJvbSAnLi9jbWRQYXJzZSc7XG5cbmV4cG9ydCBjb25zdCBjbWRBZGRyZXNzOiBDb21tYW5kTW9kdWxlPHVua25vd24sIHVua25vd24+ID0ge1xuICBjb21tYW5kOiAnYWRkcmVzcyA8Y29tbWFuZD4nLFxuICBkZXNjcmliZTogJ2FkZHJlc3MgY29tbWFuZHMnLFxuICBidWlsZGVyKGIpIHtcbiAgICByZXR1cm4gYi5zdHJpY3QoKS5jb21tYW5kKGNtZEdlbmVyYXRlRml4ZWRTY3JpcHQpLmNvbW1hbmQoY21kRnJvbURlc2NyaXB0b3IpLmNvbW1hbmQoY21kUGFyc2UpLmRlbWFuZENvbW1hbmQoKTtcbiAgfSxcbiAgaGFuZGxlcigpIHtcbiAgICAvLyBkbyBub3RoaW5nXG4gIH0sXG59O1xuIl19
@@ -0,0 +1,16 @@
1
+ import { CommandModule } from 'yargs';
2
+ import { FormatTreeOrJson } from '../args';
3
+ type ArgsBip32Generate = {
4
+ format: FormatTreeOrJson;
5
+ bip32Key: string;
6
+ derive?: string;
7
+ all: boolean;
8
+ };
9
+ export declare const cmdBip32Parse: CommandModule<unknown, ArgsBip32Generate>;
10
+ type GenerateBip32Args = {
11
+ seed: string;
12
+ };
13
+ export declare const cmdBip32Generate: CommandModule<unknown, GenerateBip32Args>;
14
+ export declare const cmdBip32: CommandModule<unknown, unknown>;
15
+ export {};
16
+ //# sourceMappingURL=cmdBip32.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmdBip32.d.ts","sourceRoot":"","sources":["../../../src/commands/cmdBip32.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,OAAO,EAAoB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAI7D,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE,iBAAiB,CAanE,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,OAAO,EAAE,iBAAiB,CAWtE,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CASpD,CAAC"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.cmdBip32 = exports.cmdBip32Generate = exports.cmdBip32Parse = void 0;
37
+ const crypto = __importStar(require("crypto"));
38
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
39
+ const bip32_1 = require("../bip32");
40
+ const args_1 = require("../args");
41
+ const formatString_1 = require("./formatString");
42
+ exports.cmdBip32Parse = {
43
+ command: 'parse [xpub|xprv]',
44
+ describe: 'show xpub info',
45
+ builder(b) {
46
+ return b
47
+ .options({ format: args_1.formatTreeOrJson })
48
+ .positional('bip32Key', { type: 'string', demandOption: true })
49
+ .option('all', { type: 'boolean', default: false })
50
+ .option('derive', { type: 'string', description: 'show xpub derived with path' });
51
+ },
52
+ handler(argv) {
53
+ console.log((0, formatString_1.formatString)((0, bip32_1.parseBip32)(argv.bip32Key, { derive: argv.derive }), argv));
54
+ },
55
+ };
56
+ exports.cmdBip32Generate = {
57
+ command: 'generateFromSeed',
58
+ describe: 'generate keypair from seed - do not use for real keys!',
59
+ builder(b) {
60
+ return b.option('seed', { type: 'string', demandOption: true, default: 'setec astronomy' });
61
+ },
62
+ handler(argv) {
63
+ const key = utxolib.bip32.fromSeed(crypto.createHash('sha256').update(argv.seed).digest());
64
+ console.log(key.toBase58());
65
+ console.log(key.neutered().toBase58());
66
+ },
67
+ };
68
+ exports.cmdBip32 = {
69
+ command: 'bip32 <command>',
70
+ describe: 'bip32 commands',
71
+ builder(b) {
72
+ return b.strict().command(exports.cmdBip32Parse).command(exports.cmdBip32Generate).demandCommand();
73
+ },
74
+ handler() {
75
+ // do nothing
76
+ },
77
+ };
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kQmlwMzIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kQmlwMzIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0NBQWlDO0FBSWpDLDhEQUFnRDtBQUVoRCxvQ0FBc0M7QUFDdEMsa0NBQTZEO0FBRTdELGlEQUE4QztBQVNqQyxRQUFBLGFBQWEsR0FBOEM7SUFDdEUsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixRQUFRLEVBQUUsZ0JBQWdCO0lBQzFCLE9BQU8sQ0FBQyxDQUFzQjtRQUM1QixPQUFPLENBQUM7YUFDTCxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsdUJBQWdCLEVBQUUsQ0FBQzthQUNyQyxVQUFVLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDOUQsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO2FBQ2xELE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSw2QkFBNkIsRUFBRSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUNELE9BQU8sQ0FBQyxJQUFJO1FBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFBLDJCQUFZLEVBQUMsSUFBQSxrQkFBVSxFQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDO0NBQ0YsQ0FBQztBQU1XLFFBQUEsZ0JBQWdCLEdBQThDO0lBQ3pFLE9BQU8sRUFBRSxrQkFBa0I7SUFDM0IsUUFBUSxFQUFFLHdEQUF3RDtJQUNsRSxPQUFPLENBQUMsQ0FBQztRQUNQLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBQ0QsT0FBTyxDQUFDLElBQUk7UUFDVixNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMzRixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztDQUNGLENBQUM7QUFFVyxRQUFBLFFBQVEsR0FBb0M7SUFDdkQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixRQUFRLEVBQUUsZ0JBQWdCO0lBQzFCLE9BQU8sQ0FBQyxDQUFzQjtRQUM1QixPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMscUJBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyx3QkFBZ0IsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3JGLENBQUM7SUFDRCxPQUFPO1FBQ0wsYUFBYTtJQUNmLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5cbmltcG9ydCAqIGFzIHlhcmdzIGZyb20gJ3lhcmdzJztcbmltcG9ydCB7IENvbW1hbmRNb2R1bGUgfSBmcm9tICd5YXJncyc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuaW1wb3J0IHsgcGFyc2VCaXAzMiB9IGZyb20gJy4uL2JpcDMyJztcbmltcG9ydCB7IGZvcm1hdFRyZWVPckpzb24sIEZvcm1hdFRyZWVPckpzb24gfSBmcm9tICcuLi9hcmdzJztcblxuaW1wb3J0IHsgZm9ybWF0U3RyaW5nIH0gZnJvbSAnLi9mb3JtYXRTdHJpbmcnO1xuXG50eXBlIEFyZ3NCaXAzMkdlbmVyYXRlID0ge1xuICBmb3JtYXQ6IEZvcm1hdFRyZWVPckpzb247XG4gIGJpcDMyS2V5OiBzdHJpbmc7XG4gIGRlcml2ZT86IHN0cmluZztcbiAgYWxsOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IGNtZEJpcDMyUGFyc2U6IENvbW1hbmRNb2R1bGU8dW5rbm93biwgQXJnc0JpcDMyR2VuZXJhdGU+ID0ge1xuICBjb21tYW5kOiAncGFyc2UgW3hwdWJ8eHBydl0nLFxuICBkZXNjcmliZTogJ3Nob3cgeHB1YiBpbmZvJyxcbiAgYnVpbGRlcihiOiB5YXJncy5Bcmd2PHVua25vd24+KTogeWFyZ3MuQXJndjxBcmdzQmlwMzJHZW5lcmF0ZT4ge1xuICAgIHJldHVybiBiXG4gICAgICAub3B0aW9ucyh7IGZvcm1hdDogZm9ybWF0VHJlZU9ySnNvbiB9KVxuICAgICAgLnBvc2l0aW9uYWwoJ2JpcDMyS2V5JywgeyB0eXBlOiAnc3RyaW5nJywgZGVtYW5kT3B0aW9uOiB0cnVlIH0pXG4gICAgICAub3B0aW9uKCdhbGwnLCB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ2Rlcml2ZScsIHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnc2hvdyB4cHViIGRlcml2ZWQgd2l0aCBwYXRoJyB9KTtcbiAgfSxcbiAgaGFuZGxlcihhcmd2KTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coZm9ybWF0U3RyaW5nKHBhcnNlQmlwMzIoYXJndi5iaXAzMktleSwgeyBkZXJpdmU6IGFyZ3YuZGVyaXZlIH0pLCBhcmd2KSk7XG4gIH0sXG59O1xuXG50eXBlIEdlbmVyYXRlQmlwMzJBcmdzID0ge1xuICBzZWVkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3QgY21kQmlwMzJHZW5lcmF0ZTogQ29tbWFuZE1vZHVsZTx1bmtub3duLCBHZW5lcmF0ZUJpcDMyQXJncz4gPSB7XG4gIGNvbW1hbmQ6ICdnZW5lcmF0ZUZyb21TZWVkJyxcbiAgZGVzY3JpYmU6ICdnZW5lcmF0ZSBrZXlwYWlyIGZyb20gc2VlZCAtIGRvIG5vdCB1c2UgZm9yIHJlYWwga2V5cyEnLFxuICBidWlsZGVyKGIpIHtcbiAgICByZXR1cm4gYi5vcHRpb24oJ3NlZWQnLCB7IHR5cGU6ICdzdHJpbmcnLCBkZW1hbmRPcHRpb246IHRydWUsIGRlZmF1bHQ6ICdzZXRlYyBhc3Ryb25vbXknIH0pO1xuICB9LFxuICBoYW5kbGVyKGFyZ3YpIHtcbiAgICBjb25zdCBrZXkgPSB1dHhvbGliLmJpcDMyLmZyb21TZWVkKGNyeXB0by5jcmVhdGVIYXNoKCdzaGEyNTYnKS51cGRhdGUoYXJndi5zZWVkKS5kaWdlc3QoKSk7XG4gICAgY29uc29sZS5sb2coa2V5LnRvQmFzZTU4KCkpO1xuICAgIGNvbnNvbGUubG9nKGtleS5uZXV0ZXJlZCgpLnRvQmFzZTU4KCkpO1xuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IGNtZEJpcDMyOiBDb21tYW5kTW9kdWxlPHVua25vd24sIHVua25vd24+ID0ge1xuICBjb21tYW5kOiAnYmlwMzIgPGNvbW1hbmQ+JyxcbiAgZGVzY3JpYmU6ICdiaXAzMiBjb21tYW5kcycsXG4gIGJ1aWxkZXIoYjogeWFyZ3MuQXJndjx1bmtub3duPik6IHlhcmdzLkFyZ3Y8dW5rbm93bj4ge1xuICAgIHJldHVybiBiLnN0cmljdCgpLmNvbW1hbmQoY21kQmlwMzJQYXJzZSkuY29tbWFuZChjbWRCaXAzMkdlbmVyYXRlKS5kZW1hbmRDb21tYW5kKCk7XG4gIH0sXG4gIGhhbmRsZXIoKTogdm9pZCB7XG4gICAgLy8gZG8gbm90aGluZ1xuICB9LFxufTtcbiJdfQ==
@@ -0,0 +1,10 @@
1
+ import { CommandModule } from 'yargs';
2
+ import * as utxolib from '@bitgo-beta/utxo-lib';
3
+ import { FormatTreeOrJson, KeyOptions } from '../../args';
4
+ type ArgsFixedScriptToDescriptor = KeyOptions & {
5
+ network: utxolib.Network;
6
+ format: FormatTreeOrJson;
7
+ };
8
+ export declare const cmdFromFixedScript: CommandModule<unknown, ArgsFixedScriptToDescriptor>;
9
+ export {};
10
+ //# sourceMappingURL=fromFixedScript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fromFixedScript.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdDescriptor/fromFixedScript.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EACL,gBAAgB,EAKhB,UAAU,EACX,MAAM,YAAY,CAAC;AAKpB,KAAK,2BAA2B,GAAG,UAAU,GAAG;IAC9C,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,MAAM,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAkBF,eAAO,MAAM,kBAAkB,EAAE,aAAa,CAAC,OAAO,EAAE,2BAA2B,CAuBlF,CAAC"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.cmdFromFixedScript = void 0;
37
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
38
+ const descriptor_1 = require("@bitgo-beta/utxo-core/descriptor");
39
+ const args_1 = require("../../args");
40
+ const format_1 = require("../../format");
41
+ function mapKeyToNetwork(key, network) {
42
+ key = utxolib.bip32.fromBase58(key.toBase58());
43
+ key.network = network;
44
+ return key;
45
+ }
46
+ function mapRootWalletKeysToNetwork(rootWalletKeys, network) {
47
+ return new utxolib.bitgo.RootWalletKeys(rootWalletKeys.triple.map((key) => mapKeyToNetwork(key, network)), rootWalletKeys.derivationPrefixes);
48
+ }
49
+ exports.cmdFromFixedScript = {
50
+ command: 'fromFixedScript',
51
+ describe: 'Convert BitGo FixedScript RootWalletKeys to output descriptors',
52
+ builder(b) {
53
+ return b.option((0, args_1.getNetworkOptionsDemand)('bitcoin')).options(args_1.keyOptions).options({ format: args_1.formatTreeOrJson });
54
+ },
55
+ handler(argv) {
56
+ let rootWalletKeys = (0, args_1.getRootWalletKeys)(argv);
57
+ if (argv.network !== utxolib.networks.bitcoin) {
58
+ rootWalletKeys = mapRootWalletKeysToNetwork(rootWalletKeys, argv.network);
59
+ }
60
+ const descriptorMap = (0, descriptor_1.getNamedDescriptorsForRootWalletKeys)(rootWalletKeys);
61
+ const obj = Object.fromEntries([...descriptorMap].map(([name, descriptor]) => [name, descriptor?.toString() ?? null]));
62
+ if (argv.format === 'tree') {
63
+ console.log((0, format_1.formatObjAsTree)('descriptors', obj));
64
+ }
65
+ else if (argv.format === 'json') {
66
+ console.log(JSON.stringify(obj, null, 2));
67
+ }
68
+ else {
69
+ throw new Error(`Invalid format: ${argv.format}. Expected 'tree' or 'json'.`);
70
+ }
71
+ },
72
+ };
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbUZpeGVkU2NyaXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2NtZERlc2NyaXB0b3IvZnJvbUZpeGVkU2NyaXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDhEQUFnRDtBQUNoRCxpRUFBd0Y7QUFFeEYscUNBT29CO0FBQ3BCLHlDQUErQztBQVMvQyxTQUFTLGVBQWUsQ0FBQyxHQUEyQixFQUFFLE9BQXdCO0lBQzVFLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMvQyxHQUFHLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztJQUN0QixPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRCxTQUFTLDBCQUEwQixDQUNqQyxjQUE0QyxFQUM1QyxPQUF3QjtJQUV4QixPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQ3JDLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFtQyxFQUNuRyxjQUFjLENBQUMsa0JBQWtCLENBQ2xDLENBQUM7QUFDSixDQUFDO0FBRVksUUFBQSxrQkFBa0IsR0FBd0Q7SUFDckYsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixRQUFRLEVBQUUsZ0VBQWdFO0lBQzFFLE9BQU8sQ0FBQyxDQUFDO1FBQ1AsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUEsOEJBQXVCLEVBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsaUJBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sRUFBRSx1QkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUNELE9BQU8sQ0FBQyxJQUFJO1FBQ1YsSUFBSSxjQUFjLEdBQUcsSUFBQSx3QkFBaUIsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUM3QyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM5QyxjQUFjLEdBQUcsMEJBQTBCLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1RSxDQUFDO1FBQ0QsTUFBTSxhQUFhLEdBQUcsSUFBQSxpREFBb0MsRUFBQyxjQUFjLENBQUMsQ0FBQztRQUMzRSxNQUFNLEdBQUcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUM1QixDQUFDLEdBQUcsYUFBYSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUN2RixDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBQSx3QkFBZSxFQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ25ELENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDbEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLElBQUksQ0FBQyxNQUFNLDhCQUE4QixDQUFDLENBQUM7UUFDaEYsQ0FBQztJQUNILENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZE1vZHVsZSB9IGZyb20gJ3lhcmdzJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0IHsgZ2V0TmFtZWREZXNjcmlwdG9yc0ZvclJvb3RXYWxsZXRLZXlzIH0gZnJvbSAnQGJpdGdvLWJldGEvdXR4by1jb3JlL2Rlc2NyaXB0b3InO1xuXG5pbXBvcnQge1xuICBGb3JtYXRUcmVlT3JKc29uLFxuICBmb3JtYXRUcmVlT3JKc29uLFxuICBnZXROZXR3b3JrT3B0aW9uc0RlbWFuZCxcbiAgZ2V0Um9vdFdhbGxldEtleXMsXG4gIGtleU9wdGlvbnMsXG4gIEtleU9wdGlvbnMsXG59IGZyb20gJy4uLy4uL2FyZ3MnO1xuaW1wb3J0IHsgZm9ybWF0T2JqQXNUcmVlIH0gZnJvbSAnLi4vLi4vZm9ybWF0JztcblxudHlwZSBUcmlwbGU8VD4gPSBbVCwgVCwgVF07XG5cbnR5cGUgQXJnc0ZpeGVkU2NyaXB0VG9EZXNjcmlwdG9yID0gS2V5T3B0aW9ucyAmIHtcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrO1xuICBmb3JtYXQ6IEZvcm1hdFRyZWVPckpzb247XG59O1xuXG5mdW5jdGlvbiBtYXBLZXlUb05ldHdvcmsoa2V5OiB1dHhvbGliLkJJUDMySW50ZXJmYWNlLCBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmspOiB1dHhvbGliLkJJUDMySW50ZXJmYWNlIHtcbiAga2V5ID0gdXR4b2xpYi5iaXAzMi5mcm9tQmFzZTU4KGtleS50b0Jhc2U1OCgpKTtcbiAga2V5Lm5ldHdvcmsgPSBuZXR3b3JrO1xuICByZXR1cm4ga2V5O1xufVxuXG5mdW5jdGlvbiBtYXBSb290V2FsbGV0S2V5c1RvTmV0d29yayhcbiAgcm9vdFdhbGxldEtleXM6IHV0eG9saWIuYml0Z28uUm9vdFdhbGxldEtleXMsXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29ya1xuKTogdXR4b2xpYi5iaXRnby5Sb290V2FsbGV0S2V5cyB7XG4gIHJldHVybiBuZXcgdXR4b2xpYi5iaXRnby5Sb290V2FsbGV0S2V5cyhcbiAgICByb290V2FsbGV0S2V5cy50cmlwbGUubWFwKChrZXkpID0+IG1hcEtleVRvTmV0d29yayhrZXksIG5ldHdvcmspKSBhcyBUcmlwbGU8dXR4b2xpYi5CSVAzMkludGVyZmFjZT4sXG4gICAgcm9vdFdhbGxldEtleXMuZGVyaXZhdGlvblByZWZpeGVzXG4gICk7XG59XG5cbmV4cG9ydCBjb25zdCBjbWRGcm9tRml4ZWRTY3JpcHQ6IENvbW1hbmRNb2R1bGU8dW5rbm93biwgQXJnc0ZpeGVkU2NyaXB0VG9EZXNjcmlwdG9yPiA9IHtcbiAgY29tbWFuZDogJ2Zyb21GaXhlZFNjcmlwdCcsXG4gIGRlc2NyaWJlOiAnQ29udmVydCBCaXRHbyBGaXhlZFNjcmlwdCBSb290V2FsbGV0S2V5cyB0byBvdXRwdXQgZGVzY3JpcHRvcnMnLFxuICBidWlsZGVyKGIpIHtcbiAgICByZXR1cm4gYi5vcHRpb24oZ2V0TmV0d29ya09wdGlvbnNEZW1hbmQoJ2JpdGNvaW4nKSkub3B0aW9ucyhrZXlPcHRpb25zKS5vcHRpb25zKHsgZm9ybWF0OiBmb3JtYXRUcmVlT3JKc29uIH0pO1xuICB9LFxuICBoYW5kbGVyKGFyZ3YpOiB2b2lkIHtcbiAgICBsZXQgcm9vdFdhbGxldEtleXMgPSBnZXRSb290V2FsbGV0S2V5cyhhcmd2KTtcbiAgICBpZiAoYXJndi5uZXR3b3JrICE9PSB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW4pIHtcbiAgICAgIHJvb3RXYWxsZXRLZXlzID0gbWFwUm9vdFdhbGxldEtleXNUb05ldHdvcmsocm9vdFdhbGxldEtleXMsIGFyZ3YubmV0d29yayk7XG4gICAgfVxuICAgIGNvbnN0IGRlc2NyaXB0b3JNYXAgPSBnZXROYW1lZERlc2NyaXB0b3JzRm9yUm9vdFdhbGxldEtleXMocm9vdFdhbGxldEtleXMpO1xuICAgIGNvbnN0IG9iaiA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIFsuLi5kZXNjcmlwdG9yTWFwXS5tYXAoKFtuYW1lLCBkZXNjcmlwdG9yXSkgPT4gW25hbWUsIGRlc2NyaXB0b3I/LnRvU3RyaW5nKCkgPz8gbnVsbF0pXG4gICAgKTtcbiAgICBpZiAoYXJndi5mb3JtYXQgPT09ICd0cmVlJykge1xuICAgICAgY29uc29sZS5sb2coZm9ybWF0T2JqQXNUcmVlKCdkZXNjcmlwdG9ycycsIG9iaikpO1xuICAgIH0gZWxzZSBpZiAoYXJndi5mb3JtYXQgPT09ICdqc29uJykge1xuICAgICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkob2JqLCBudWxsLCAyKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBmb3JtYXQ6ICR7YXJndi5mb3JtYXR9LiBFeHBlY3RlZCAndHJlZScgb3IgJ2pzb24nLmApO1xuICAgIH1cbiAgfSxcbn07XG4iXX0=
@@ -0,0 +1,4 @@
1
+ import { CommandModule } from 'yargs';
2
+ export * from './fromFixedScript';
3
+ export declare const cmdDescriptor: CommandModule<unknown, unknown>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdDescriptor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,cAAc,mBAAmB,CAAC;AAElC,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CASzD,CAAC"}
@@ -0,0 +1,30 @@
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
+ exports.cmdDescriptor = void 0;
18
+ const fromFixedScript_1 = require("./fromFixedScript");
19
+ __exportStar(require("./fromFixedScript"), exports);
20
+ exports.cmdDescriptor = {
21
+ command: 'descriptor <command>',
22
+ describe: 'descriptor commands',
23
+ builder(b) {
24
+ return b.strict().command(fromFixedScript_1.cmdFromFixedScript).demandCommand();
25
+ },
26
+ handler() {
27
+ // do nothing
28
+ },
29
+ };
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kRGVzY3JpcHRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLHVEQUF1RDtBQUV2RCxvREFBa0M7QUFFckIsUUFBQSxhQUFhLEdBQW9DO0lBQzVELE9BQU8sRUFBRSxzQkFBc0I7SUFDL0IsUUFBUSxFQUFFLHFCQUFxQjtJQUMvQixPQUFPLENBQUMsQ0FBQztRQUNQLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxvQ0FBa0IsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2hFLENBQUM7SUFDRCxPQUFPO1FBQ0wsYUFBYTtJQUNmLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZE1vZHVsZSB9IGZyb20gJ3lhcmdzJztcbmltcG9ydCB7IGNtZEZyb21GaXhlZFNjcmlwdCB9IGZyb20gJy4vZnJvbUZpeGVkU2NyaXB0JztcblxuZXhwb3J0ICogZnJvbSAnLi9mcm9tRml4ZWRTY3JpcHQnO1xuXG5leHBvcnQgY29uc3QgY21kRGVzY3JpcHRvcjogQ29tbWFuZE1vZHVsZTx1bmtub3duLCB1bmtub3duPiA9IHtcbiAgY29tbWFuZDogJ2Rlc2NyaXB0b3IgPGNvbW1hbmQ+JyxcbiAgZGVzY3JpYmU6ICdkZXNjcmlwdG9yIGNvbW1hbmRzJyxcbiAgYnVpbGRlcihiKSB7XG4gICAgcmV0dXJuIGIuc3RyaWN0KCkuY29tbWFuZChjbWRGcm9tRml4ZWRTY3JpcHQpLmRlbWFuZENvbW1hbmQoKTtcbiAgfSxcbiAgaGFuZGxlcigpIHtcbiAgICAvLyBkbyBub3RoaW5nXG4gIH0sXG59O1xuIl19
@@ -0,0 +1,18 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ import * as yargs from 'yargs';
3
+ import { ScriptParser } from '../ScriptParser';
4
+ import { FormatTreeOrJson } from '../args';
5
+ export type ArgsParseScript = {
6
+ network: utxolib.Network;
7
+ format: FormatTreeOrJson;
8
+ all: boolean;
9
+ script: string;
10
+ };
11
+ export declare function getScriptParser(argv: ArgsParseScript): ScriptParser;
12
+ export declare const cmdParseScript: {
13
+ command: string;
14
+ describe: string;
15
+ builder(b: yargs.Argv<unknown>): yargs.Argv<ArgsParseScript>;
16
+ handler(argv: yargs.Arguments<ArgsParseScript>): void;
17
+ };
18
+ //# sourceMappingURL=cmdParseScript.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmdParseScript.d.ts","sourceRoot":"","sources":["../../../src/commands/cmdParseScript.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAoB,gBAAgB,EAA2C,MAAM,SAAS,CAAC;AAItG,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,YAAY,CAEnE;AAED,eAAO,MAAM,cAAc;;;eAGd,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC;kBAO9C,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,GAAG,IAAI;CAKtD,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cmdParseScript = void 0;
4
+ exports.getScriptParser = getScriptParser;
5
+ const ScriptParser_1 = require("../ScriptParser");
6
+ const args_1 = require("../args");
7
+ const formatString_1 = require("./formatString");
8
+ function getScriptParser(argv) {
9
+ return new ScriptParser_1.ScriptParser(argv);
10
+ }
11
+ exports.cmdParseScript = {
12
+ command: 'parseScript [script]',
13
+ describe: 'parse script',
14
+ builder(b) {
15
+ return b
16
+ .options((0, args_1.getNetworkOptionsDemand)('bitcoin'))
17
+ .option('format', args_1.formatTreeOrJson)
18
+ .option('all', { type: 'boolean', default: false })
19
+ .positional('script', { type: 'string', demandOption: true });
20
+ },
21
+ handler(argv) {
22
+ const script = (0, args_1.stringToBuffer)(argv.script, 'hex');
23
+ const parsed = getScriptParser(argv).parse(script);
24
+ console.log((0, formatString_1.formatString)(parsed, { ...argv, all: true }));
25
+ },
26
+ };
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kUGFyc2VTY3JpcHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kUGFyc2VTY3JpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBZUEsMENBRUM7QUFkRCxrREFBK0M7QUFDL0Msa0NBQXNHO0FBRXRHLGlEQUE4QztBQVM5QyxTQUFnQixlQUFlLENBQUMsSUFBcUI7SUFDbkQsT0FBTyxJQUFJLDJCQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEMsQ0FBQztBQUVZLFFBQUEsY0FBYyxHQUFHO0lBQzVCLE9BQU8sRUFBRSxzQkFBc0I7SUFDL0IsUUFBUSxFQUFFLGNBQWM7SUFDeEIsT0FBTyxDQUFDLENBQXNCO1FBQzVCLE9BQU8sQ0FBQzthQUNMLE9BQU8sQ0FBQyxJQUFBLDhCQUF1QixFQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQzNDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsdUJBQWdCLENBQUM7YUFDbEMsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO2FBQ2xELFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFDRCxPQUFPLENBQUMsSUFBc0M7UUFDNUMsTUFBTSxNQUFNLEdBQUcsSUFBQSxxQkFBYyxFQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbEQsTUFBTSxNQUFNLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuRCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUEsMkJBQVksRUFBQyxNQUFNLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgKiBhcyB5YXJncyBmcm9tICd5YXJncyc7XG5cbmltcG9ydCB7IFNjcmlwdFBhcnNlciB9IGZyb20gJy4uL1NjcmlwdFBhcnNlcic7XG5pbXBvcnQgeyBmb3JtYXRUcmVlT3JKc29uLCBGb3JtYXRUcmVlT3JKc29uLCBzdHJpbmdUb0J1ZmZlciwgZ2V0TmV0d29ya09wdGlvbnNEZW1hbmQgfSBmcm9tICcuLi9hcmdzJztcblxuaW1wb3J0IHsgZm9ybWF0U3RyaW5nIH0gZnJvbSAnLi9mb3JtYXRTdHJpbmcnO1xuXG5leHBvcnQgdHlwZSBBcmdzUGFyc2VTY3JpcHQgPSB7XG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29yaztcbiAgZm9ybWF0OiBGb3JtYXRUcmVlT3JKc29uO1xuICBhbGw6IGJvb2xlYW47XG4gIHNjcmlwdDogc3RyaW5nO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdFBhcnNlcihhcmd2OiBBcmdzUGFyc2VTY3JpcHQpOiBTY3JpcHRQYXJzZXIge1xuICByZXR1cm4gbmV3IFNjcmlwdFBhcnNlcihhcmd2KTtcbn1cblxuZXhwb3J0IGNvbnN0IGNtZFBhcnNlU2NyaXB0ID0ge1xuICBjb21tYW5kOiAncGFyc2VTY3JpcHQgW3NjcmlwdF0nLFxuICBkZXNjcmliZTogJ3BhcnNlIHNjcmlwdCcsXG4gIGJ1aWxkZXIoYjogeWFyZ3MuQXJndjx1bmtub3duPik6IHlhcmdzLkFyZ3Y8QXJnc1BhcnNlU2NyaXB0PiB7XG4gICAgcmV0dXJuIGJcbiAgICAgIC5vcHRpb25zKGdldE5ldHdvcmtPcHRpb25zRGVtYW5kKCdiaXRjb2luJykpXG4gICAgICAub3B0aW9uKCdmb3JtYXQnLCBmb3JtYXRUcmVlT3JKc29uKVxuICAgICAgLm9wdGlvbignYWxsJywgeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0pXG4gICAgICAucG9zaXRpb25hbCgnc2NyaXB0JywgeyB0eXBlOiAnc3RyaW5nJywgZGVtYW5kT3B0aW9uOiB0cnVlIH0pO1xuICB9LFxuICBoYW5kbGVyKGFyZ3Y6IHlhcmdzLkFyZ3VtZW50czxBcmdzUGFyc2VTY3JpcHQ+KTogdm9pZCB7XG4gICAgY29uc3Qgc2NyaXB0ID0gc3RyaW5nVG9CdWZmZXIoYXJndi5zY3JpcHQsICdoZXgnKTtcbiAgICBjb25zdCBwYXJzZWQgPSBnZXRTY3JpcHRQYXJzZXIoYXJndikucGFyc2Uoc2NyaXB0KTtcbiAgICBjb25zb2xlLmxvZyhmb3JtYXRTdHJpbmcocGFyc2VkLCB7IC4uLmFyZ3YsIGFsbDogdHJ1ZSB9KSk7XG4gIH0sXG59O1xuIl19
@@ -0,0 +1,31 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ import * as yargs from 'yargs';
3
+ import { FormatTreeOrJson, ReadStringOptions } from '../args';
4
+ import { TxParser, TxParserArgs } from '../TxParser';
5
+ export type ArgsParseTransaction = ReadStringOptions & {
6
+ network: utxolib.Network;
7
+ txid?: string;
8
+ prevTx?: string[];
9
+ blockHeight?: number;
10
+ txIndex?: number;
11
+ all: boolean;
12
+ cache: boolean;
13
+ format: FormatTreeOrJson;
14
+ fetchAll: boolean;
15
+ fetchStatus: boolean;
16
+ fetchInputs: boolean;
17
+ fetchSpends: boolean;
18
+ finalize: boolean;
19
+ parseSignatureData: boolean;
20
+ parseAsUnknown: boolean;
21
+ parseError: 'throw' | 'continue';
22
+ } & Omit<TxParserArgs, 'parseSignatureData'>;
23
+ export declare function getTxParser(argv: ArgsParseTransaction): TxParser;
24
+ export declare const cmdParseTx: {
25
+ readonly command: "parseTx [path]";
26
+ readonly aliases: readonly ["parse", "tx"];
27
+ readonly describe: string;
28
+ readonly builder: (b: yargs.Argv<unknown>) => yargs.Argv<ArgsParseTransaction>;
29
+ readonly handler: (argv: yargs.Arguments<ArgsParseTransaction>) => Promise<void>;
30
+ };
31
+ //# sourceMappingURL=cmdParseTx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmdParseTx.d.ts","sourceRoot":"","sources":["../../../src/commands/cmdParseTx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAIL,gBAAgB,EAChB,iBAAiB,EAGlB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgBrD,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAAG;IACrD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,OAAO,GAAG,UAAU,CAAC;CAClC,GAAG,IAAI,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;AAE7C,wBAAgB,WAAW,CAAC,IAAI,EAAE,oBAAoB,GAAG,QAAQ,CAYhE;AAED,eAAO,MAAM,UAAU;;;;0BASV,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC;6BAyC7C,KAAK,CAAC,SAAS,CAAC,oBAAoB,CAAC,KAAG,OAAO,CAAC,IAAI,CAAC;CAqEjE,CAAC"}