@bitgo-beta/utxo-bin 2.8.3-beta.98 → 2.8.3-beta.981

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 (138) hide show
  1. package/README.md +4 -4
  2. package/dist/bin/index.js +39 -4
  3. package/dist/src/AddressParser.d.ts +0 -1
  4. package/dist/src/AddressParser.d.ts.map +1 -1
  5. package/dist/src/AddressParser.js +48 -9
  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 +66 -23
  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 +52 -6
  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 +12 -5
  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 +41 -9
  18. package/dist/src/ScriptParser.d.ts +8 -6
  19. package/dist/src/ScriptParser.d.ts.map +1 -1
  20. package/dist/src/ScriptParser.js +60 -8
  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 +44 -11
  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/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 +153 -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 +100 -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 +122 -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 +57 -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 +99 -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 +60 -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 +1 -2
  91. package/dist/src/ecdsa.d.ts.map +1 -1
  92. package/dist/src/ecdsa.js +9 -9
  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 +77 -11
  96. package/dist/src/format.d.ts.map +1 -1
  97. package/dist/src/format.js +9 -8
  98. package/dist/src/generateAddress.d.ts +24 -9
  99. package/dist/src/generateAddress.d.ts.map +1 -1
  100. package/dist/src/generateAddress.js +99 -26
  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 +37 -5
  104. package/dist/src/parseUnknown.js +4 -5
  105. package/dist/test/args/stringToBuffer.d.ts.map +1 -0
  106. package/dist/test/args/stringToBuffer.js +49 -0
  107. package/dist/test/bip32.d.ts +2 -0
  108. package/dist/test/bip32.d.ts.map +1 -0
  109. package/dist/test/bip32.js +55 -0
  110. package/dist/test/bip32.util.d.ts +6 -0
  111. package/dist/test/bip32.util.d.ts.map +1 -0
  112. package/dist/test/bip32.util.js +46 -0
  113. package/dist/test/cmdPsbt.d.ts +2 -0
  114. package/dist/test/cmdPsbt.d.ts.map +1 -0
  115. package/dist/test/cmdPsbt.js +138 -0
  116. package/dist/test/fixtures.d.ts +4 -4
  117. package/dist/test/fixtures.d.ts.map +1 -1
  118. package/dist/test/fixtures.js +45 -13
  119. package/dist/test/generateAddress.js +63 -13
  120. package/dist/test/parseAddress.d.ts +1 -5
  121. package/dist/test/parseAddress.d.ts.map +1 -1
  122. package/dist/test/parseAddress.js +54 -22
  123. package/dist/test/parseScript.js +45 -9
  124. package/dist/test/parseTransaction.js +49 -12
  125. package/dist/tsconfig.tsbuildinfo +1 -1
  126. package/package.json +9 -8
  127. package/dist/src/commands.d.ts +0 -78
  128. package/dist/src/commands.d.ts.map +0 -1
  129. package/dist/src/commands.js +0 -284
  130. package/dist/src/parseString.d.ts +0 -5
  131. package/dist/src/parseString.d.ts.map +0 -1
  132. package/dist/src/parseString.js +0 -29
  133. package/dist/src/readStdin.d.ts +0 -5
  134. package/dist/src/readStdin.d.ts.map +0 -1
  135. package/dist/src/readStdin.js +0 -42
  136. package/dist/test/stringToBuffer.d.ts.map +0 -1
  137. package/dist/test/stringToBuffer.js +0 -16
  138. /package/dist/test/{stringToBuffer.d.ts → args/stringToBuffer.d.ts} +0 -0
@@ -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,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,30 @@
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
+ blockHeight?: number;
9
+ txIndex?: number;
10
+ all: boolean;
11
+ cache: boolean;
12
+ format: FormatTreeOrJson;
13
+ fetchAll: boolean;
14
+ fetchStatus: boolean;
15
+ fetchInputs: boolean;
16
+ fetchSpends: boolean;
17
+ finalize: boolean;
18
+ parseSignatureData: boolean;
19
+ parseAsUnknown: boolean;
20
+ parseError: 'throw' | 'continue';
21
+ } & Omit<TxParserArgs, 'parseSignatureData'>;
22
+ export declare function getTxParser(argv: ArgsParseTransaction): TxParser;
23
+ export declare const cmdParseTx: {
24
+ readonly command: "parseTx [path]";
25
+ readonly aliases: readonly ["parse", "tx"];
26
+ readonly describe: string;
27
+ readonly builder: (b: yargs.Argv<unknown>) => yargs.Argv<ArgsParseTransaction>;
28
+ readonly handler: (argv: yargs.Arguments<ArgsParseTransaction>) => Promise<void>;
29
+ };
30
+ //# 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;AAerD,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAAG;IACrD,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,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;6BAwC7C,KAAK,CAAC,SAAS,CAAC,oBAAoB,CAAC,KAAG,OAAO,CAAC,IAAI,CAAC;CA6DjE,CAAC"}
@@ -0,0 +1,153 @@
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.cmdParseTx = void 0;
37
+ exports.getTxParser = getTxParser;
38
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
39
+ const args_1 = require("../args");
40
+ const TxParser_1 = require("../TxParser");
41
+ const fetch_1 = require("../fetch");
42
+ const ParserTx_1 = require("../ParserTx");
43
+ const parseUnknown_1 = require("../parseUnknown");
44
+ const Parser_1 = require("../Parser");
45
+ const formatString_1 = require("./formatString");
46
+ function getTxParser(argv) {
47
+ if (argv.all) {
48
+ return new TxParser_1.TxParser({ ...argv, ...TxParser_1.TxParser.PARSE_ALL });
49
+ }
50
+ return new TxParser_1.TxParser({
51
+ ...argv,
52
+ parseSignatureData: {
53
+ script: argv.parseSignatureData,
54
+ ecdsa: argv.parseSignatureData,
55
+ schnorr: argv.parseSignatureData,
56
+ },
57
+ });
58
+ }
59
+ exports.cmdParseTx = {
60
+ command: 'parseTx [path]',
61
+ aliases: ['parse', 'tx'],
62
+ describe: 'Display transaction components in human-readable form. ' +
63
+ 'Supported formats are Partially Signed Bitcoin Transaction (PSBT), ' +
64
+ 'bitcoinjs-lib encoding (Legacy) or fully signed transaction. ' +
65
+ 'Bytes must be encoded in hex or base64 format.',
66
+ builder(b) {
67
+ return b
68
+ .options(args_1.readStringOptions)
69
+ .options((0, args_1.getNetworkOptionsDemand)())
70
+ .option('txid', { type: 'string' })
71
+ .option('blockHeight', { type: 'number' })
72
+ .option('txIndex', { type: 'number' })
73
+ .option('fetchAll', { type: 'boolean', default: false })
74
+ .option('fetchStatus', { type: 'boolean', default: false })
75
+ .option('fetchInputs', { type: 'boolean', default: false })
76
+ .option('fetchSpends', { type: 'boolean', default: false })
77
+ .option('parseScriptAsm', { alias: 'scriptasm', type: 'boolean', default: false })
78
+ .option('parseScriptData', { alias: 'scriptdata', type: 'boolean', default: false })
79
+ .option('parseSignatureData', { alias: 'sigdata', type: 'boolean', default: false })
80
+ .option('parseOutputScript', { type: 'boolean', default: false })
81
+ .option('parseAsUnknown', {
82
+ type: 'boolean',
83
+ default: false,
84
+ description: 'show plain Javascript object without any post-processing',
85
+ })
86
+ .option('maxOutputs', { type: 'number' })
87
+ .option('vin', { type: 'number' })
88
+ .array('vin')
89
+ .option('vout', { type: 'number' })
90
+ .array('vout')
91
+ .option('finalize', {
92
+ type: 'boolean',
93
+ default: false,
94
+ description: 'finalize PSBT and parse result instead of PSBT',
95
+ })
96
+ .option('all', { type: 'boolean', default: false })
97
+ .option('cache', {
98
+ type: 'boolean',
99
+ default: false,
100
+ description: 'use local cache for http responses',
101
+ })
102
+ .option('format', args_1.formatTreeOrJson)
103
+ .option('parseError', { choices: ['continue', 'throw'], default: 'continue' });
104
+ },
105
+ async handler(argv) {
106
+ let data;
107
+ const httpClient = await (0, fetch_1.getClient)({ cache: argv.cache });
108
+ if (argv.txid || argv.blockHeight !== undefined || argv.txIndex !== undefined) {
109
+ data = await (0, fetch_1.fetchTransactionHex)(httpClient, {
110
+ txid: argv.txid,
111
+ blockHeight: argv.blockHeight,
112
+ txIndex: argv.txIndex,
113
+ }, argv.network);
114
+ }
115
+ const string = await (0, args_1.argToString)(argv, data);
116
+ if (!string) {
117
+ throw new Error(`no txdata`);
118
+ }
119
+ const bytes = (0, args_1.stringToBuffer)(string, ['hex', 'base64']);
120
+ let tx = utxolib.bitgo.isPsbt(bytes)
121
+ ? utxolib.bitgo.createPsbtFromBuffer(bytes, argv.network)
122
+ : utxolib.bitgo.createTransactionFromBuffer(bytes, argv.network, { amountType: 'bigint' });
123
+ const { id: txid } = (0, ParserTx_1.getParserTxProperties)(tx, undefined);
124
+ if (tx instanceof utxolib.bitgo.UtxoTransaction) {
125
+ if (argv.txid && txid !== argv.txid) {
126
+ throw new Error(`computed txid does not match txid argument`);
127
+ }
128
+ }
129
+ else if (argv.finalize) {
130
+ tx.finalizeAllInputs();
131
+ tx = tx.extractTransaction();
132
+ }
133
+ if (argv.parseAsUnknown) {
134
+ console.log((0, formatString_1.formatString)((0, parseUnknown_1.parseUnknown)(new Parser_1.Parser(), 'tx', tx), argv));
135
+ return;
136
+ }
137
+ if (argv.fetchAll) {
138
+ argv.fetchStatus = true;
139
+ argv.fetchInputs = true;
140
+ argv.fetchSpends = true;
141
+ }
142
+ const parsed = getTxParser(argv).parse(tx, {
143
+ status: argv.fetchStatus && txid ? await (0, fetch_1.fetchTransactionStatus)(httpClient, txid, argv.network) : undefined,
144
+ prevOutputs: argv.fetchInputs ? await (0, fetch_1.fetchPrevOutputs)(httpClient, tx) : undefined,
145
+ prevOutputSpends: argv.fetchSpends ? await (0, fetch_1.fetchPrevOutputSpends)(httpClient, tx) : undefined,
146
+ outputSpends: argv.fetchSpends && tx instanceof utxolib.bitgo.UtxoTransaction
147
+ ? await (0, fetch_1.fetchOutputSpends)(httpClient, tx)
148
+ : undefined,
149
+ });
150
+ console.log((0, formatString_1.formatString)(parsed, argv));
151
+ },
152
+ };
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kUGFyc2VUeC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9jbWRQYXJzZVR4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTZDQSxrQ0FZQztBQXpERCw4REFBZ0Q7QUFHaEQsa0NBUWlCO0FBQ2pCLDBDQUFxRDtBQUNyRCxvQ0FPa0I7QUFDbEIsMENBQW9EO0FBQ3BELGtEQUErQztBQUMvQyxzQ0FBbUM7QUFFbkMsaURBQThDO0FBb0I5QyxTQUFnQixXQUFXLENBQUMsSUFBMEI7SUFDcEQsSUFBSSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDYixPQUFPLElBQUksbUJBQVEsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsbUJBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxPQUFPLElBQUksbUJBQVEsQ0FBQztRQUNsQixHQUFHLElBQUk7UUFDUCxrQkFBa0IsRUFBRTtZQUNsQixNQUFNLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtZQUMvQixLQUFLLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtZQUM5QixPQUFPLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtTQUNqQztLQUNGLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFWSxRQUFBLFVBQVUsR0FBRztJQUN4QixPQUFPLEVBQUUsZ0JBQWdCO0lBQ3pCLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7SUFDeEIsUUFBUSxFQUNOLHlEQUF5RDtRQUN6RCxxRUFBcUU7UUFDckUsK0RBQStEO1FBQy9ELGdEQUFnRDtJQUVsRCxPQUFPLENBQUMsQ0FBc0I7UUFDNUIsT0FBTyxDQUFDO2FBQ0wsT0FBTyxDQUFDLHdCQUFpQixDQUFDO2FBQzFCLE9BQU8sQ0FBQyxJQUFBLDhCQUF1QixHQUFFLENBQUM7YUFDbEMsTUFBTSxDQUFDLE1BQU0sRUFBRSxF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QUFDLFNBQVM7WUFDNUYsWUFBWSxFQUNWLElBQUksQ0FBQyxXQUFXLElBQUksRUFBRSxZQUFZLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZTtnQkFDN0QsQ0FBQyxDQUFDLE1BQU0sSUFBQSx5QkFBaUIsRUFBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO2dCQUN6QyxDQUFDLENBQUMsU0FBUztTQUNoQixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUEsMkJBQVksRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ08sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuaW1wb3J0ICogYXMgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuXG5pbXBvcnQge1xuICBhcmdUb1N0cmluZyxcbiAgZm9ybWF0VHJlZU9ySnNvbixcbiAgZ2V0TmV0d29ya09wdGlvbnNEZW1hbmQsXG4gIEZvcm1hdFRyZWVPckpzb24sXG4gIFJlYWRTdHJpbmdPcHRpb25zLFxuICByZWFkU3RyaW5nT3B0aW9ucyxcbiAgc3RyaW5nVG9CdWZmZXIsXG59IGZyb20gJy4uL2FyZ3MnO1xuaW1wb3J0IHsgVHhQYXJzZXIsIFR4UGFyc2VyQXJncyB9IGZyb20gJy4uL1R4UGFyc2VyJztcbmltcG9ydCB7XG4gIGZldGNoT3V0cHV0U3BlbmRzLFxuICBmZXRjaFByZXZPdXRwdXRzLFxuICBmZXRjaFByZXZPdXRwdXRTcGVuZHMsXG4gIGZldGNoVHJhbnNhY3Rpb25IZXgsXG4gIGZldGNoVHJhbnNhY3Rpb25TdGF0dXMsXG4gIGdldENsaWVudCxcbn0gZnJvbSAnLi4vZmV0Y2gnO1xuaW1wb3J0IHsgZ2V0UGFyc2VyVHhQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vUGFyc2VyVHgnO1xuaW1wb3J0IHsgcGFyc2VVbmtub3duIH0gZnJvbSAnLi4vcGFyc2VVbmtub3duJztcbmltcG9ydCB7IFBhcnNlciB9IGZyb20gJy4uL1BhcnNlcic7XG5cbmltcG9ydCB7IGZvcm1hdFN0cmluZyB9IGZyb20gJy4vZm9ybWF0U3RyaW5nJztcblxuZXhwb3J0IHR5cGUgQXJnc1BhcnNlVHJhbnNhY3Rpb24gPSBSZWFkU3RyaW5nT3B0aW9ucyAmIHtcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrO1xuICB0eGlkPzogc3RyaW5nO1xuICBibG9ja0hlaWdodD86IG51bWJlcjtcbiAgdHhJbmRleD86IG51bWJlcjtcbiAgYWxsOiBib29sZWFuO1xuICBjYWNoZTogYm9vbGVhbjtcbiAgZm9ybWF0OiBGb3JtYXRUcmVlT3JKc29uO1xuICBmZXRjaEFsbDogYm9vbGVhbjtcbiAgZmV0Y2hTdGF0dXM6IGJvb2xlYW47XG4gIGZldGNoSW5wdXRzOiBib29sZWFuO1xuICBmZXRjaFNwZW5kczogYm9vbGVhbjtcbiAgZmluYWxpemU6IGJvb2xlYW47XG4gIHBhcnNlU2lnbmF0dXJlRGF0YTogYm9vbGVhbjtcbiAgcGFyc2VBc1Vua25vd246IGJvb2xlYW47XG4gIHBhcnNlRXJyb3I6ICd0aHJvdycgfCAnY29udGludWUnO1xufSAmIE9taXQ8VHhQYXJzZXJBcmdzLCAncGFyc2VTaWduYXR1cmVEYXRhJz47XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRUeFBhcnNlcihhcmd2OiBBcmdzUGFyc2VUcmFuc2FjdGlvbik6IFR4UGFyc2VyIHtcbiAgaWYgKGFyZ3YuYWxsKSB7XG4gICAgcmV0dXJuIG5ldyBUeFBhcnNlcih7IC4uLmFyZ3YsIC4uLlR4UGFyc2VyLlBBUlNFX0FMTCB9KTtcbiAgfVxuICByZXR1cm4gbmV3IFR4UGFyc2VyKHtcbiAgICAuLi5hcmd2LFxuICAgIHBhcnNlU2lnbmF0dXJlRGF0YToge1xuICAgICAgc2NyaXB0OiBhcmd2LnBhcnNlU2lnbmF0dXJlRGF0YSxcbiAgICAgIGVjZHNhOiBhcmd2LnBhcnNlU2lnbmF0dXJlRGF0YSxcbiAgICAgIHNjaG5vcnI6IGFyZ3YucGFyc2VTaWduYXR1cmVEYXRhLFxuICAgIH0sXG4gIH0pO1xufVxuXG5leHBvcnQgY29uc3QgY21kUGFyc2VUeCA9IHtcbiAgY29tbWFuZDogJ3BhcnNlVHggW3BhdGhdJyxcbiAgYWxpYXNlczogWydwYXJzZScsICd0eCddLFxuICBkZXNjcmliZTpcbiAgICAnRGlzcGxheSB0cmFuc2FjdGlvbiBjb21wb25lbnRzIGluIGh1bWFuLXJlYWRhYmxlIGZvcm0uICcgK1xuICAgICdTdXBwb3J0ZWQgZm9ybWF0cyBhcmUgUGFydGlhbGx5IFNpZ25lZCBCaXRjb2luIFRyYW5zYWN0aW9uIChQU0JUKSwgJyArXG4gICAgJ2JpdGNvaW5qcy1saWIgZW5jb2RpbmcgKExlZ2FjeSkgb3IgZnVsbHkgc2lnbmVkIHRyYW5zYWN0aW9uLiAnICtcbiAgICAnQnl0ZXMgbXVzdCBiZSBlbmNvZGVkIGluIGhleCBvciBiYXNlNjQgZm9ybWF0LicsXG5cbiAgYnVpbGRlcihiOiB5YXJncy5Bcmd2PHVua25vd24+KTogeWFyZ3MuQXJndjxBcmdzUGFyc2VUcmFuc2FjdGlvbj4ge1xuICAgIHJldHVybiBiXG4gICAgICAub3B0aW9ucyhyZWFkU3RyaW5nT3B0aW9ucylcbiAgICAgIC5vcHRpb25zKGdldE5ldHdvcmtPcHRpb25zRGVtYW5kKCkpXG4gICAgICAub3B0aW9uKCd0eGlkJywgeyB0eXBlOiAnc3RyaW5nJyB9KVxuICAgICAgLm9wdGlvbignYmxvY2tIZWlnaHQnLCB7IHR5cGU6ICdudW1iZXInIH0pXG4gICAgICAub3B0aW9uKCd0eEluZGV4JywgeyB0eXBlOiAnbnVtYmVyJyB9KVxuICAgICAgLm9wdGlvbignZmV0Y2hBbGwnLCB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ2ZldGNoU3RhdHVzJywgeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0pXG4gICAgICAub3B0aW9uKCdmZXRjaElucHV0cycsIHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9KVxuICAgICAgLm9wdGlvbignZmV0Y2hTcGVuZHMnLCB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ3BhcnNlU2NyaXB0QXNtJywgeyBhbGlhczogJ3NjcmlwdGFzbScsIHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ3BhcnNlU2NyaXB0RGF0YScsIHsgYWxpYXM6ICdzY3JpcHRkYXRhJywgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9KVxuICAgICAgLm9wdGlvbigncGFyc2VTaWduYXR1cmVEYXRhJywgeyBhbGlhczogJ3NpZ2RhdGEnLCB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0pXG4gICAgICAub3B0aW9uKCdwYXJzZU91dHB1dFNjcmlwdCcsIHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9KVxuICAgICAgLm9wdGlvbigncGFyc2VBc1Vua25vd24nLCB7XG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnc2hvdyBwbGFpbiBKYXZhc2NyaXB0IG9iamVjdCB3aXRob3V0IGFueSBwb3N0LXByb2Nlc3NpbmcnLFxuICAgICAgfSlcbiAgICAgIC5vcHRpb24oJ21heE91dHB1dHMnLCB7IHR5cGU6ICdudW1iZXInIH0pXG4gICAgICAub3B0aW9uKCd2aW4nLCB7IHR5cGU6ICdudW1iZXInIH0pXG4gICAgICAuYXJyYXkoJ3ZpbicpXG4gICAgICAub3B0aW9uKCd2b3V0JywgeyB0eXBlOiAnbnVtYmVyJyB9KVxuICAgICAgLmFycmF5KCd2b3V0JylcbiAgICAgIC5vcHRpb24oJ2ZpbmFsaXplJywge1xuICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ2ZpbmFsaXplIFBTQlQgYW5kIHBhcnNlIHJlc3VsdCBpbnN0ZWFkIG9mIFBTQlQnLFxuICAgICAgfSlcbiAgICAgIC5vcHRpb24oJ2FsbCcsIHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9KVxuICAgICAgLm9wdGlvbignY2FjaGUnLCB7XG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAndXNlIGxvY2FsIGNhY2hlIGZvciBodHRwIHJlc3BvbnNlcycsXG4gICAgICB9KVxuICAgICAgLm9wdGlvbignZm9ybWF0JywgZm9ybWF0VHJlZU9ySnNvbilcbiAgICAgIC5vcHRpb24oJ3BhcnNlRXJyb3InLCB7IGNob2ljZXM6IFsnY29udGludWUnLCAndGhyb3cnXSwgZGVmYXVsdDogJ2NvbnRpbnVlJyB9IGFzIGNvbnN0KTtcbiAgfSxcblxuICBhc3luYyBoYW5kbGVyKGFyZ3Y6IHlhcmdzLkFyZ3VtZW50czxBcmdzUGFyc2VUcmFuc2FjdGlvbj4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBsZXQgZGF0YTtcblxuICAgIGNvbnN0IGh0dHBDbGllbnQgPSBhd2FpdCBnZXRDbGllbnQoeyBjYWNoZTogYXJndi5jYWNoZSB9KTtcblxuICAgIGlmIChhcmd2LnR4aWQgfHwgYXJndi5ibG9ja0hlaWdodCAhPT0gdW5kZWZpbmVkIHx8IGFyZ3YudHhJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBkYXRhID0gYXdhaXQgZmV0Y2hUcmFuc2FjdGlvbkhleChcbiAgICAgICAgaHR0cENsaWVudCxcbiAgICAgICAge1xuICAgICAgICAgIHR4aWQ6IGFyZ3YudHhpZCxcbiAgICAgICAgICBibG9ja0hlaWdodDogYXJndi5ibG9ja0hlaWdodCxcbiAgICAgICAgICB0eEluZGV4OiBhcmd2LnR4SW5kZXgsXG4gICAgICAgIH0sXG4gICAgICAgIGFyZ3YubmV0d29ya1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdHJpbmcgPSBhd2FpdCBhcmdUb1N0cmluZyhhcmd2LCBkYXRhKTtcbiAgICBpZiAoIXN0cmluZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBubyB0eGRhdGFgKTtcbiAgICB9XG5cbiAgICBjb25zdCBieXRlcyA9IHN0cmluZ1RvQnVmZmVyKHN0cmluZywgWydoZXgnLCAnYmFzZTY0J10pO1xuXG4gICAgbGV0IHR4ID0gdXR4b2xpYi5iaXRnby5pc1BzYnQoYnl0ZXMpXG4gICAgICA/IHV0eG9saWIuYml0Z28uY3JlYXRlUHNidEZyb21CdWZmZXIoYnl0ZXMsIGFyZ3YubmV0d29yaylcbiAgICAgIDogdXR4b2xpYi5iaXRnby5jcmVhdGVUcmFuc2FjdGlvbkZyb21CdWZmZXIoYnl0ZXMsIGFyZ3YubmV0d29yaywgeyBhbW91bnRUeXBlOiAnYmlnaW50JyB9KTtcblxuICAgIGNvbnN0IHsgaWQ6IHR4aWQgfSA9IGdldFBhcnNlclR4UHJvcGVydGllcyh0eCwgdW5kZWZpbmVkKTtcbiAgICBpZiAodHggaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbikge1xuICAgICAgaWYgKGFyZ3YudHhpZCAmJiB0eGlkICE9PSBhcmd2LnR4aWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBjb21wdXRlZCB0eGlkIGRvZXMgbm90IG1hdGNoIHR4aWQgYXJndW1lbnRgKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGFyZ3YuZmluYWxpemUpIHtcbiAgICAgIHR4LmZpbmFsaXplQWxsSW5wdXRzKCk7XG4gICAgICB0eCA9IHR4LmV4dHJhY3RUcmFuc2FjdGlvbigpO1xuICAgIH1cblxuICAgIGlmIChhcmd2LnBhcnNlQXNVbmtub3duKSB7XG4gICAgICBjb25zb2xlLmxvZyhmb3JtYXRTdHJpbmcocGFyc2VVbmtub3duKG5ldyBQYXJzZXIoKSwgJ3R4JywgdHgpLCBhcmd2KSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGFyZ3YuZmV0Y2hBbGwpIHtcbiAgICAgIGFyZ3YuZmV0Y2hTdGF0dXMgPSB0cnVlO1xuICAgICAgYXJndi5mZXRjaElucHV0cyA9IHRydWU7XG4gICAgICBhcmd2LmZldGNoU3BlbmRzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWQgPSBnZXRUeFBhcnNlcihhcmd2KS5wYXJzZSh0eCwge1xuICAgICAgc3RhdHVzOiBhcmd2LmZldGNoU3RhdHVzICYmIHR4aWQgPyBhd2FpdCBmZXRjaFRyYW5zYWN0aW9uU3RhdHVzKGh0dHBDbGllbnQsIHR4aWQsIGFyZ3YubmV0d29yaykgOiB1bmRlZmluZWQsXG4gICAgICBwcmV2T3V0cHV0czogYXJndi5mZXRjaElucHV0cyA/IGF3YWl0IGZldGNoUHJldk91dHB1dHMoaHR0cENsaWVudCwgdHgpIDogdW5kZWZpbmVkLFxuICAgICAgcHJldk91dHB1dFNwZW5kczogYXJndi5mZXRjaFNwZW5kcyA/IGF3YWl0IGZldGNoUHJldk91dHB1dFNwZW5kcyhodHRwQ2xpZW50LCB0eCkgOiB1bmRlZmluZWQsXG4gICAgICBvdXRwdXRTcGVuZHM6XG4gICAgICAgIGFyZ3YuZmV0Y2hTcGVuZHMgJiYgdHggaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvblxuICAgICAgICAgID8gYXdhaXQgZmV0Y2hPdXRwdXRTcGVuZHMoaHR0cENsaWVudCwgdHgpXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfSk7XG5cbiAgICBjb25zb2xlLmxvZyhmb3JtYXRTdHJpbmcocGFyc2VkLCBhcmd2KSk7XG4gIH0sXG59IGFzIGNvbnN0O1xuIl19
@@ -0,0 +1,13 @@
1
+ import * as yargs from 'yargs';
2
+ import { WithPsbtOptions } from './withPsbt';
3
+ type ArgsAddDescriptorInput = WithPsbtOptions & {
4
+ outputId: string;
5
+ address?: string;
6
+ scriptPubKey?: string;
7
+ value: string;
8
+ descriptor: string;
9
+ descriptorIndex: number;
10
+ };
11
+ export declare const cmdAddDescriptorInput: yargs.CommandModule<unknown, ArgsAddDescriptorInput>;
12
+ export {};
13
+ //# sourceMappingURL=cmdAddDescriptorInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmdAddDescriptorInput.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdPsbt/cmdAddDescriptorInput.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAY,eAAe,EAAmB,MAAM,YAAY,CAAC;AAQxE,KAAK,sBAAsB,GAAG,eAAe,GAAG;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AA8CF,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,sBAAsB,CAgCtF,CAAC"}
@@ -0,0 +1,100 @@
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.cmdAddDescriptorInput = void 0;
37
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
38
+ const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
39
+ const wrap_1 = require("./wrap");
40
+ const withPsbt_1 = require("./withPsbt");
41
+ /**
42
+ * Non-Final (Replaceable)
43
+ * Reference: https://github.com/bitcoin/bitcoin/blob/v25.1/src/rpc/rawtransaction_util.cpp#L49
44
+ * */
45
+ const MAX_BIP125_RBF_SEQUENCE = 0xffffffff - 2;
46
+ function getScriptPubKey(args, network) {
47
+ if (args.address) {
48
+ return utxolib.addressFormat.toOutputScriptTryFormats(args.address, network);
49
+ }
50
+ if (args.scriptPubKey) {
51
+ return Buffer.from(args.scriptPubKey, 'hex');
52
+ }
53
+ return undefined;
54
+ }
55
+ function addDescriptorInput(psbt, outputId, scriptPubKey, value, descriptorString, descriptorIndex, { sequence = MAX_BIP125_RBF_SEQUENCE } = {}) {
56
+ const { txid, vout } = utxolib.bitgo.parseOutputId(outputId);
57
+ const descriptor = wasm_miniscript_1.Descriptor.fromString(descriptorString, 'derivable');
58
+ const derivedDescriptor = descriptor.atDerivationIndex(descriptorIndex);
59
+ if (scriptPubKey === undefined) {
60
+ scriptPubKey = Buffer.from(derivedDescriptor.scriptPubkey());
61
+ }
62
+ psbt.addInput({
63
+ hash: txid,
64
+ index: vout,
65
+ sequence,
66
+ witnessUtxo: {
67
+ script: scriptPubKey,
68
+ value,
69
+ },
70
+ });
71
+ const inputIndex = psbt.txInputs.length - 1;
72
+ const wrappedPsbt = (0, wrap_1.toWrappedPsbt)(psbt);
73
+ wrappedPsbt.updateInputWithDescriptor(inputIndex, derivedDescriptor);
74
+ const utxoPsbt = (0, wrap_1.toUtxoPsbt)(wrappedPsbt);
75
+ psbt.data.inputs[inputIndex] = utxoPsbt.data.inputs[inputIndex];
76
+ }
77
+ exports.cmdAddDescriptorInput = {
78
+ command: 'addDescriptorInput',
79
+ describe: 'add descriptor input to psbt',
80
+ builder(b) {
81
+ return b
82
+ .options(withPsbt_1.withPsbtOptions)
83
+ .option('outputId', { type: 'string', demandOption: true })
84
+ .option('address', { type: 'string' })
85
+ .option('scriptPubKey', { type: 'string' })
86
+ .option('value', { type: 'string', demandOption: true })
87
+ .option('descriptor', { type: 'string', demandOption: true })
88
+ .option('descriptorIndex', { type: 'number', demandOption: true });
89
+ },
90
+ async handler(argv) {
91
+ await (0, withPsbt_1.withPsbt)(argv, async function (psbt) {
92
+ addDescriptorInput(psbt, argv.outputId, getScriptPubKey({
93
+ address: argv.address,
94
+ scriptPubKey: argv.scriptPubKey,
95
+ }, argv.network), BigInt(argv.value), argv.descriptor, argv.descriptorIndex);
96
+ return psbt;
97
+ });
98
+ },
99
+ };
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kQWRkRGVzY3JpcHRvcklucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2NtZFBzYnQvY21kQWRkRGVzY3JpcHRvcklucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhEQUFnRDtBQUNoRCw0REFBb0Q7QUFHcEQsaUNBQW1EO0FBQ25ELHlDQUF3RTtBQUV4RTs7O0tBR0s7QUFDTCxNQUFNLHVCQUF1QixHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFXL0MsU0FBUyxlQUFlLENBQ3RCLElBQWlELEVBQ2pELE9BQXdCO0lBRXhCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2pCLE9BQU8sT0FBTyxDQUFDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN0QixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELFNBQVMsa0JBQWtCLENBQ3pCLElBQWtCLEVBQ2xCLFFBQWdCLEVBQ2hCLFlBQWdDLEVBQ2hDLEtBQWEsRUFDYixnQkFBd0IsRUFDeEIsZUFBdUIsRUFDdkIsRUFBRSxRQUFRLEdBQUcsdUJBQXVCLEVBQUUsR0FBRyxFQUFFO0lBRTNDLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDN0QsTUFBTSxVQUFVLEdBQUcsNEJBQVUsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDeEUsTUFBTSxpQkFBaUIsR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDeEUsSUFBSSxZQUFZLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDL0IsWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNaLElBQUksRUFBRSxJQUFJO1FBQ1YsS0FBSyxFQUFFLElBQUk7UUFDWCxRQUFRO1FBQ1IsV0FBVyxFQUFFO1lBQ1gsTUFBTSxFQUFFLFlBQVk7WUFDcEIsS0FBSztTQUNOO0tBQ0YsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sV0FBVyxHQUFHLElBQUEsb0JBQWEsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxXQUFXLENBQUMseUJBQXlCLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDckUsTUFBTSxRQUFRLEdBQUcsSUFBQSxpQkFBVSxFQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFFWSxRQUFBLHFCQUFxQixHQUF5RDtJQUN6RixPQUFPLEVBQUUsb0JBQW9CO0lBQzdCLFFBQVEsRUFBRSw4QkFBOEI7SUFDeEMsT0FBTyxDQUFDLENBQXNCO1FBQzVCLE9BQU8sQ0FBQzthQUNMLE9BQU8sQ0FBQywwQkFBZSxDQUFDO2FBQ3hCLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUMxRCxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO2FBQ3JDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7YUFDMUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDO2FBQ3ZELE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUM1RCxNQUFNLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFDRCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUk7UUFDaEIsTUFBTSxJQUFBLG1CQUFRLEVBQUMsSUFBSSxFQUFFLEtBQUssV0FBVyxJQUFJO1lBQ3ZDLGtCQUFrQixDQUNoQixJQUFJLEVBQ0osSUFBSSxDQUFDLFFBQVEsRUFDYixlQUFlLENBQ2I7Z0JBQ0UsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7YUFDaEMsRUFDRCxJQUFJLENBQUMsT0FBTyxDQUNiLEVBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFDbEIsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsZUFBZSxDQUNyQixDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBEZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5pbXBvcnQgKiBhcyB5YXJncyBmcm9tICd5YXJncyc7XG5cbmltcG9ydCB7IHRvVXR4b1BzYnQsIHRvV3JhcHBlZFBzYnQgfSBmcm9tICcuL3dyYXAnO1xuaW1wb3J0IHsgd2l0aFBzYnQsIFdpdGhQc2J0T3B0aW9ucywgd2l0aFBzYnRPcHRpb25zIH0gZnJvbSAnLi93aXRoUHNidCc7XG5cbi8qKlxuICogTm9uLUZpbmFsIChSZXBsYWNlYWJsZSlcbiAqIFJlZmVyZW5jZTogaHR0cHM6Ly9naXRodWIuY29tL2JpdGNvaW4vYml0Y29pbi9ibG9iL3YyNS4xL3NyYy9ycGMvcmF3dHJhbnNhY3Rpb25fdXRpbC5jcHAjTDQ5XG4gKiAqL1xuY29uc3QgTUFYX0JJUDEyNV9SQkZfU0VRVUVOQ0UgPSAweGZmZmZmZmZmIC0gMjtcblxudHlwZSBBcmdzQWRkRGVzY3JpcHRvcklucHV0ID0gV2l0aFBzYnRPcHRpb25zICYge1xuICBvdXRwdXRJZDogc3RyaW5nO1xuICBhZGRyZXNzPzogc3RyaW5nO1xuICBzY3JpcHRQdWJLZXk/OiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIGRlc2NyaXB0b3I6IHN0cmluZztcbiAgZGVzY3JpcHRvckluZGV4OiBudW1iZXI7XG59O1xuXG5mdW5jdGlvbiBnZXRTY3JpcHRQdWJLZXkoXG4gIGFyZ3M6IHsgYWRkcmVzcz86IHN0cmluZzsgc2NyaXB0UHViS2V5Pzogc3RyaW5nIH0sXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29ya1xuKTogQnVmZmVyIHwgdW5kZWZpbmVkIHtcbiAgaWYgKGFyZ3MuYWRkcmVzcykge1xuICAgIHJldHVybiB1dHhvbGliLmFkZHJlc3NGb3JtYXQudG9PdXRwdXRTY3JpcHRUcnlGb3JtYXRzKGFyZ3MuYWRkcmVzcywgbmV0d29yayk7XG4gIH1cbiAgaWYgKGFyZ3Muc2NyaXB0UHViS2V5KSB7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKGFyZ3Muc2NyaXB0UHViS2V5LCAnaGV4Jyk7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gYWRkRGVzY3JpcHRvcklucHV0KFxuICBwc2J0OiB1dHhvbGliLlBzYnQsXG4gIG91dHB1dElkOiBzdHJpbmcsXG4gIHNjcmlwdFB1YktleTogQnVmZmVyIHwgdW5kZWZpbmVkLFxuICB2YWx1ZTogYmlnaW50LFxuICBkZXNjcmlwdG9yU3RyaW5nOiBzdHJpbmcsXG4gIGRlc2NyaXB0b3JJbmRleDogbnVtYmVyLFxuICB7IHNlcXVlbmNlID0gTUFYX0JJUDEyNV9SQkZfU0VRVUVOQ0UgfSA9IHt9XG4pOiB2b2lkIHtcbiAgY29uc3QgeyB0eGlkLCB2b3V0IH0gPSB1dHhvbGliLmJpdGdvLnBhcnNlT3V0cHV0SWQob3V0cHV0SWQpO1xuICBjb25zdCBkZXNjcmlwdG9yID0gRGVzY3JpcHRvci5mcm9tU3RyaW5nKGRlc2NyaXB0b3JTdHJpbmcsICdkZXJpdmFibGUnKTtcbiAgY29uc3QgZGVyaXZlZERlc2NyaXB0b3IgPSBkZXNjcmlwdG9yLmF0RGVyaXZhdGlvbkluZGV4KGRlc2NyaXB0b3JJbmRleCk7XG4gIGlmIChzY3JpcHRQdWJLZXkgPT09IHVuZGVmaW5lZCkge1xuICAgIHNjcmlwdFB1YktleSA9IEJ1ZmZlci5mcm9tKGRlcml2ZWREZXNjcmlwdG9yLnNjcmlwdFB1YmtleSgpKTtcbiAgfVxuICBwc2J0LmFkZElucHV0KHtcbiAgICBoYXNoOiB0eGlkLFxuICAgIGluZGV4OiB2b3V0LFxuICAgIHNlcXVlbmNlLFxuICAgIHdpdG5lc3NVdHhvOiB7XG4gICAgICBzY3JpcHQ6IHNjcmlwdFB1YktleSxcbiAgICAgIHZhbHVlLFxuICAgIH0sXG4gIH0pO1xuICBjb25zdCBpbnB1dEluZGV4ID0gcHNidC50eElucHV0cy5sZW5ndGggLSAxO1xuICBjb25zdCB3cmFwcGVkUHNidCA9IHRvV3JhcHBlZFBzYnQocHNidCk7XG4gIHdyYXBwZWRQc2J0LnVwZGF0ZUlucHV0V2l0aERlc2NyaXB0b3IoaW5wdXRJbmRleCwgZGVyaXZlZERlc2NyaXB0b3IpO1xuICBjb25zdCB1dHhvUHNidCA9IHRvVXR4b1BzYnQod3JhcHBlZFBzYnQpO1xuICBwc2J0LmRhdGEuaW5wdXRzW2lucHV0SW5kZXhdID0gdXR4b1BzYnQuZGF0YS5pbnB1dHNbaW5wdXRJbmRleF07XG59XG5cbmV4cG9ydCBjb25zdCBjbWRBZGREZXNjcmlwdG9ySW5wdXQ6IHlhcmdzLkNvbW1hbmRNb2R1bGU8dW5rbm93biwgQXJnc0FkZERlc2NyaXB0b3JJbnB1dD4gPSB7XG4gIGNvbW1hbmQ6ICdhZGREZXNjcmlwdG9ySW5wdXQnLFxuICBkZXNjcmliZTogJ2FkZCBkZXNjcmlwdG9yIGlucHV0IHRvIHBzYnQnLFxuICBidWlsZGVyKGI6IHlhcmdzLkFyZ3Y8dW5rbm93bj4pIHtcbiAgICByZXR1cm4gYlxuICAgICAgLm9wdGlvbnMod2l0aFBzYnRPcHRpb25zKVxuICAgICAgLm9wdGlvbignb3V0cHV0SWQnLCB7IHR5cGU6ICdzdHJpbmcnLCBkZW1hbmRPcHRpb246IHRydWUgfSlcbiAgICAgIC5vcHRpb24oJ2FkZHJlc3MnLCB7IHR5cGU6ICdzdHJpbmcnIH0pXG4gICAgICAub3B0aW9uKCdzY3JpcHRQdWJLZXknLCB7IHR5cGU6ICdzdHJpbmcnIH0pXG4gICAgICAub3B0aW9uKCd2YWx1ZScsIHsgdHlwZTogJ3N0cmluZycsIGRlbWFuZE9wdGlvbjogdHJ1ZSB9KVxuICAgICAgLm9wdGlvbignZGVzY3JpcHRvcicsIHsgdHlwZTogJ3N0cmluZycsIGRlbWFuZE9wdGlvbjogdHJ1ZSB9KVxuICAgICAgLm9wdGlvbignZGVzY3JpcHRvckluZGV4JywgeyB0eXBlOiAnbnVtYmVyJywgZGVtYW5kT3B0aW9uOiB0cnVlIH0pO1xuICB9LFxuICBhc3luYyBoYW5kbGVyKGFyZ3YpIHtcbiAgICBhd2FpdCB3aXRoUHNidChhcmd2LCBhc3luYyBmdW5jdGlvbiAocHNidCkge1xuICAgICAgYWRkRGVzY3JpcHRvcklucHV0KFxuICAgICAgICBwc2J0LFxuICAgICAgICBhcmd2Lm91dHB1dElkLFxuICAgICAgICBnZXRTY3JpcHRQdWJLZXkoXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWRkcmVzczogYXJndi5hZGRyZXNzLFxuICAgICAgICAgICAgc2NyaXB0UHViS2V5OiBhcmd2LnNjcmlwdFB1YktleSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGFyZ3YubmV0d29ya1xuICAgICAgICApLFxuICAgICAgICBCaWdJbnQoYXJndi52YWx1ZSksXG4gICAgICAgIGFyZ3YuZGVzY3JpcHRvcixcbiAgICAgICAgYXJndi5kZXNjcmlwdG9ySW5kZXhcbiAgICAgICk7XG4gICAgICByZXR1cm4gcHNidDtcbiAgICB9KTtcbiAgfSxcbn07XG4iXX0=
@@ -0,0 +1,11 @@
1
+ import * as yargs from 'yargs';
2
+ import { WithPsbtOptions } from './withPsbt';
3
+ type ArgsAddOutput = WithPsbtOptions & {
4
+ address?: string;
5
+ scriptPubKey?: string;
6
+ amount: string;
7
+ feeRateSatB?: number;
8
+ };
9
+ export declare const cmdAddOutput: yargs.CommandModule<unknown, ArgsAddOutput>;
10
+ export {};
11
+ //# sourceMappingURL=cmdAddOutput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmdAddOutput.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdPsbt/cmdAddOutput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,EAA6B,eAAe,EAAE,MAAM,YAAY,CAAC;AAkBxE,KAAK,aAAa,GAAG,eAAe,GAAG;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AA0EF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,aAAa,CAyBpE,CAAC"}