@bitgo-beta/utxo-bin 2.8.3-beta.97 → 2.8.3-beta.971

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,122 @@
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.cmdAddOutput = void 0;
37
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
38
+ const unspents_1 = require("@bitgo-beta/unspents");
39
+ const buffer_1 = require("buffer");
40
+ const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
41
+ const withPsbt_1 = require("./withPsbt");
42
+ function toScriptPubKey(params, network) {
43
+ if (params.address) {
44
+ return utxolib.addressFormat.toOutputScriptTryFormats(params.address, network);
45
+ }
46
+ if (params.scriptPubKey) {
47
+ return buffer_1.Buffer.from(params.scriptPubKey, 'hex');
48
+ }
49
+ throw new Error('address or scriptPubKey is required');
50
+ }
51
+ function getInputWeight(psbt, inputIndex) {
52
+ if (inputIndex === undefined) {
53
+ return psbt.txInputs.reduce((sum, input, inputIndex) => sum + getInputWeight(psbt, inputIndex), 0);
54
+ }
55
+ const { redeemScript, witnessScript } = psbt.data.inputs[inputIndex];
56
+ if (redeemScript) {
57
+ throw new Error('redeemScript is not supported');
58
+ }
59
+ if (!witnessScript) {
60
+ throw new Error('witnessScript is required');
61
+ }
62
+ const witnessMiniscript = wasm_miniscript_1.Miniscript.fromBitcoinScript(witnessScript, 'segwitv0');
63
+ const descriptor = wasm_miniscript_1.Descriptor.fromString(`wsh(${witnessMiniscript.toString()})`, 'definite');
64
+ return descriptor.maxWeightToSatisfy();
65
+ }
66
+ function getOutputVsize(psbt, outputIndex) {
67
+ if (outputIndex === undefined) {
68
+ return psbt.txOutputs.reduce((sum, output, outputIndex) => sum + getOutputVsize(psbt, outputIndex), 0);
69
+ }
70
+ const { script } = psbt.txOutputs[outputIndex];
71
+ return unspents_1.Dimensions.getVSizeForOutputWithScriptLength(script.length);
72
+ }
73
+ function getMaxOutputValue(psbt, { scriptPubKey, feeRateSatB, }) {
74
+ const inputSum = psbt.data.inputs.reduce((sum, input) => {
75
+ if (!input.witnessUtxo) {
76
+ throw new Error('witnessUtxo is required');
77
+ }
78
+ return sum + input.witnessUtxo.value;
79
+ }, BigInt(0));
80
+ const outputSum = psbt.txOutputs.reduce((sum, output) => sum + output.value, BigInt(0));
81
+ const inputVsize = Math.ceil(getInputWeight(psbt) / 4);
82
+ const outputVsize = getOutputVsize(psbt) + unspents_1.Dimensions.getVSizeForOutputWithScriptLength(scriptPubKey.length);
83
+ const totalVsize = inputVsize + outputVsize + 11;
84
+ const fee = BigInt(totalVsize * feeRateSatB);
85
+ if (inputSum < outputSum + fee) {
86
+ throw new Error(`insufficient funds: [inputSum=${inputSum}, outputSum=${outputSum}, fee=${fee}]`);
87
+ }
88
+ return inputSum - outputSum - fee;
89
+ }
90
+ function getOutputValue(amount, { scriptPubKey, psbt, feeRateSatB, }) {
91
+ if (amount === 'max') {
92
+ if (!feeRateSatB) {
93
+ throw new Error('feeRateSatB is required');
94
+ }
95
+ return getMaxOutputValue(psbt, { scriptPubKey, feeRateSatB });
96
+ }
97
+ return BigInt(parseFloat(amount));
98
+ }
99
+ exports.cmdAddOutput = {
100
+ command: 'addOutput',
101
+ describe: 'add output to psbt',
102
+ builder(b) {
103
+ return b
104
+ .options(withPsbt_1.withPsbtOptions)
105
+ .option('address', { type: 'string' })
106
+ .option('scriptPubKey', { type: 'string' })
107
+ .option('amount', { type: 'string', demandOption: true })
108
+ .option('feeRateSatB', { type: 'number' });
109
+ },
110
+ async handler(argv) {
111
+ await (0, withPsbt_1.withPsbt)(argv, async function (psbt) {
112
+ const scriptPubKey = toScriptPubKey({
113
+ address: argv.address,
114
+ scriptPubKey: argv.scriptPubKey,
115
+ }, argv.network);
116
+ const value = getOutputValue(argv.amount, { scriptPubKey, psbt, feeRateSatB: argv.feeRateSatB });
117
+ psbt.addOutput({ script: scriptPubKey, value });
118
+ return psbt;
119
+ });
120
+ },
121
+ };
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kQWRkT3V0cHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2NtZFBzYnQvY21kQWRkT3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDhEQUFnRDtBQUNoRCxtREFBa0Q7QUFDbEQsbUNBQWdDO0FBQ2hDLDREQUFnRTtBQUVoRSx5Q0FBd0U7QUFFeEUsU0FBUyxjQUFjLENBQ3JCLE1BR0MsRUFDRCxPQUF3QjtJQUV4QixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQixPQUFPLE9BQU8sQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDeEIsT0FBTyxlQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUNELE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBU0QsU0FBUyxjQUFjLENBQUMsSUFBa0IsRUFBRSxVQUFtQjtJQUM3RCxJQUFJLFVBQVUsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUM3QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3JHLENBQUM7SUFDRCxNQUFNLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JFLElBQUksWUFBWSxF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LEVBQUUsQ0FBQyxDQUFDO1lBQ2pHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDaEQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBEaW1lbnNpb25zIH0gZnJvbSAnQGJpdGdvLWJldGEvdW5zcGVudHMnO1xuaW1wb3J0IHsgQnVmZmVyIH0gZnJvbSAnYnVmZmVyJztcbmltcG9ydCB7IERlc2NyaXB0b3IsIE1pbmlzY3JpcHQgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcblxuaW1wb3J0IHsgd2l0aFBzYnQsIHdpdGhQc2J0T3B0aW9ucywgV2l0aFBzYnRPcHRpb25zIH0gZnJvbSAnLi93aXRoUHNidCc7XG5cbmZ1bmN0aW9uIHRvU2NyaXB0UHViS2V5KFxuICBwYXJhbXM6IHtcbiAgICBhZGRyZXNzPzogc3RyaW5nO1xuICAgIHNjcmlwdFB1YktleT86IHN0cmluZztcbiAgfSxcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrXG4pOiBCdWZmZXIge1xuICBpZiAocGFyYW1zLmFkZHJlc3MpIHtcbiAgICByZXR1cm4gdXR4b2xpYi5hZGRyZXNzRm9ybWF0LnRvT3V0cHV0U2NyaXB0VHJ5Rm9ybWF0cyhwYXJhbXMuYWRkcmVzcywgbmV0d29yayk7XG4gIH1cbiAgaWYgKHBhcmFtcy5zY3JpcHRQdWJLZXkpIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20ocGFyYW1zLnNjcmlwdFB1YktleSwgJ2hleCcpO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcignYWRkcmVzcyBvciBzY3JpcHRQdWJLZXkgaXMgcmVxdWlyZWQnKTtcbn1cblxudHlwZSBBcmdzQWRkT3V0cHV0ID0gV2l0aFBzYnRPcHRpb25zICYge1xuICBhZGRyZXNzPzogc3RyaW5nO1xuICBzY3JpcHRQdWJLZXk/OiBzdHJpbmc7XG4gIGFtb3VudDogc3RyaW5nO1xuICBmZWVSYXRlU2F0Qj86IG51bWJlcjtcbn07XG5cbmZ1bmN0aW9uIGdldElucHV0V2VpZ2h0KHBzYnQ6IHV0eG9saWIuUHNidCwgaW5wdXRJbmRleD86IG51bWJlcik6IG51bWJlciB7XG4gIGlmIChpbnB1dEluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gcHNidC50eElucHV0cy5yZWR1Y2UoKHN1bSwgaW5wdXQsIGlucHV0SW5kZXgpID0+IHN1bSArIGdldElucHV0V2VpZ2h0KHBzYnQsIGlucHV0SW5kZXgpLCAwKTtcbiAgfVxuICBjb25zdCB7IHJlZGVlbVNjcmlwdCwgd2l0bmVzc1NjcmlwdCB9ID0gcHNidC5kYXRhLmlucHV0c1tpbnB1dEluZGV4XTtcbiAgaWYgKHJlZGVlbVNjcmlwdCkge1xuICAgIHRocm93IG5ldyBFcnJvcigncmVkZWVtU2NyaXB0IGlzIG5vdCBzdXBwb3J0ZWQnKTtcbiAgfVxuICBpZiAoIXdpdG5lc3NTY3JpcHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3dpdG5lc3NTY3JpcHQgaXMgcmVxdWlyZWQnKTtcbiAgfVxuICBjb25zdCB3aXRuZXNzTWluaXNjcmlwdCA9IE1pbmlzY3JpcHQuZnJvbUJpdGNvaW5TY3JpcHQod2l0bmVzc1NjcmlwdCwgJ3NlZ3dpdHYwJyk7XG4gIGNvbnN0IGRlc2NyaXB0b3IgPSBEZXNjcmlwdG9yLmZyb21TdHJpbmcoYHdzaCgke3dpdG5lc3NNaW5pc2NyaXB0LnRvU3RyaW5nKCl9KWAsICdkZWZpbml0ZScpO1xuICByZXR1cm4gZGVzY3JpcHRvci5tYXhXZWlnaHRUb1NhdGlzZnkoKTtcbn1cblxuZnVuY3Rpb24gZ2V0T3V0cHV0VnNpemUocHNidDogdXR4b2xpYi5Qc2J0LCBvdXRwdXRJbmRleD86IG51bWJlcik6IG51bWJlciB7XG4gIGlmIChvdXRwdXRJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHBzYnQudHhPdXRwdXRzLnJlZHVjZSgoc3VtLCBvdXRwdXQsIG91dHB1dEluZGV4KSA9PiBzdW0gKyBnZXRPdXRwdXRWc2l6ZShwc2J0LCBvdXRwdXRJbmRleCksIDApO1xuICB9XG4gIGNvbnN0IHsgc2NyaXB0IH0gPSBwc2J0LnR4T3V0cHV0c1tvdXRwdXRJbmRleF07XG4gIHJldHVybiBEaW1lbnNpb25zLmdldFZTaXplRm9yT3V0cHV0V2l0aFNjcmlwdExlbmd0aChzY3JpcHQubGVuZ3RoKTtcbn1cblxuZnVuY3Rpb24gZ2V0TWF4T3V0cHV0VmFsdWUoXG4gIHBzYnQ6IHV0eG9saWIuUHNidCxcbiAge1xuICAgIHNjcmlwdFB1YktleSxcbiAgICBmZWVSYXRlU2F0QixcbiAgfToge1xuICAgIHNjcmlwdFB1YktleTogQnVmZmVyO1xuICAgIGZlZVJhdGVTYXRCOiBudW1iZXI7XG4gIH1cbik6IGJpZ2ludCB7XG4gIGNvbnN0IGlucHV0U3VtID0gcHNidC5kYXRhLmlucHV0cy5yZWR1Y2UoKHN1bSwgaW5wdXQpID0+IHtcbiAgICBpZiAoIWlucHV0LndpdG5lc3NVdHhvKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3dpdG5lc3NVdHhvIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIHJldHVybiBzdW0gKyBpbnB1dC53aXRuZXNzVXR4by52YWx1ZTtcbiAgfSwgQmlnSW50KDApKTtcbiAgY29uc3Qgb3V0cHV0U3VtID0gcHNidC50eE91dHB1dHMucmVkdWNlKChzdW0sIG91dHB1dCkgPT4gc3VtICsgb3V0cHV0LnZhbHVlLCBCaWdJbnQoMCkpO1xuICBjb25zdCBpbnB1dFZzaXplID0gTWF0aC5jZWlsKGdldElucHV0V2VpZ2h0KHBzYnQpIC8gNCk7XG4gIGNvbnN0IG91dHB1dFZzaXplID0gZ2V0T3V0cHV0VnNpemUocHNidCkgKyBEaW1lbnNpb25zLmdldFZTaXplRm9yT3V0cHV0V2l0aFNjcmlwdExlbmd0aChzY3JpcHRQdWJLZXkubGVuZ3RoKTtcbiAgY29uc3QgdG90YWxWc2l6ZSA9IGlucHV0VnNpemUgKyBvdXRwdXRWc2l6ZSArIDExO1xuICBjb25zdCBmZWUgPSBCaWdJbnQodG90YWxWc2l6ZSAqIGZlZVJhdGVTYXRCKTtcbiAgaWYgKGlucHV0U3VtIDwgb3V0cHV0U3VtICsgZmVlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBpbnN1ZmZpY2llbnQgZnVuZHM6IFtpbnB1dFN1bT0ke2lucHV0U3VtfSwgb3V0cHV0U3VtPSR7b3V0cHV0U3VtfSwgZmVlPSR7ZmVlfV1gKTtcbiAgfVxuICByZXR1cm4gaW5wdXRTdW0gLSBvdXRwdXRTdW0gLSBmZWU7XG59XG5cbmZ1bmN0aW9uIGdldE91dHB1dFZhbHVlKFxuICBhbW91bnQ6IHN0cmluZyxcbiAge1xuICAgIHNjcmlwdFB1YktleSxcbiAgICBwc2J0LFxuICAgIGZlZVJhdGVTYXRCLFxuICB9OiB7XG4gICAgc2NyaXB0UHViS2V5OiBCdWZmZXI7XG4gICAgcHNidDogdXR4b2xpYi5Qc2J0O1xuICAgIGZlZVJhdGVTYXRCPzogbnVtYmVyO1xuICB9XG4pOiBiaWdpbnQge1xuICBpZiAoYW1vdW50ID09PSAnbWF4Jykge1xuICAgIGlmICghZmVlUmF0ZVNhdEIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignZmVlUmF0ZVNhdEIgaXMgcmVxdWlyZWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIGdldE1heE91dHB1dFZhbHVlKHBzYnQsIHsgc2NyaXB0UHViS2V5LCBmZWVSYXRlU2F0QiB9KTtcbiAgfVxuICByZXR1cm4gQmlnSW50KHBhcnNlRmxvYXQoYW1vdW50KSk7XG59XG5cbmV4cG9ydCBjb25zdCBjbWRBZGRPdXRwdXQ6IHlhcmdzLkNvbW1hbmRNb2R1bGU8dW5rbm93biwgQXJnc0FkZE91dHB1dD4gPSB7XG4gIGNvbW1hbmQ6ICdhZGRPdXRwdXQnLFxuICBkZXNjcmliZTogJ2FkZCBvdXRwdXQgdG8gcHNidCcsXG4gIGJ1aWxkZXIoYjogeWFyZ3MuQXJndjx1bmtub3duPikge1xuICAgIHJldHVybiBiXG4gICAgICAub3B0aW9ucyh3aXRoUHNidE9wdGlvbnMpXG4gICAgICAub3B0aW9uKCdhZGRyZXNzJywgeyB0eXBlOiAnc3RyaW5nJyB9KVxuICAgICAgLm9wdGlvbignc2NyaXB0UHViS2V5JywgeyB0eXBlOiAnc3RyaW5nJyB9KVxuICAgICAgLm9wdGlvbignYW1vdW50JywgeyB0eXBlOiAnc3RyaW5nJywgZGVtYW5kT3B0aW9uOiB0cnVlIH0pXG4gICAgICAub3B0aW9uKCdmZWVSYXRlU2F0QicsIHsgdHlwZTogJ251bWJlcicgfSk7XG4gIH0sXG4gIGFzeW5jIGhhbmRsZXIoYXJndikge1xuICAgIGF3YWl0IHdpdGhQc2J0KGFyZ3YsIGFzeW5jIGZ1bmN0aW9uIChwc2J0KSB7XG4gICAgICBjb25zdCBzY3JpcHRQdWJLZXkgPSB0b1NjcmlwdFB1YktleShcbiAgICAgICAge1xuICAgICAgICAgIGFkZHJlc3M6IGFyZ3YuYWRkcmVzcyxcbiAgICAgICAgICBzY3JpcHRQdWJLZXk6IGFyZ3Yuc2NyaXB0UHViS2V5LFxuICAgICAgICB9LFxuICAgICAgICBhcmd2Lm5ldHdvcmtcbiAgICAgICk7XG4gICAgICBjb25zdCB2YWx1ZSA9IGdldE91dHB1dFZhbHVlKGFyZ3YuYW1vdW50LCB7IHNjcmlwdFB1YktleSwgcHNidCwgZmVlUmF0ZVNhdEI6IGFyZ3YuZmVlUmF0ZVNhdEIgfSk7XG4gICAgICBwc2J0LmFkZE91dHB1dCh7IHNjcmlwdDogc2NyaXB0UHViS2V5LCB2YWx1ZSB9KTtcbiAgICAgIHJldHVybiBwc2J0O1xuICAgIH0pO1xuICB9LFxufTtcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import * as yargs from 'yargs';
2
+ import { WithPsbtOptions } from './withPsbt';
3
+ type ArgsCreatePsbt = WithPsbtOptions & {
4
+ txVersion?: number;
5
+ txLocktime?: number;
6
+ };
7
+ export declare const cmdCreate: yargs.CommandModule<unknown, ArgsCreatePsbt>;
8
+ export {};
9
+ //# sourceMappingURL=cmdCreate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmdCreate.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdPsbt/cmdCreate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAA6B,eAAe,EAAE,MAAM,YAAY,CAAC;AAExE,KAAK,cAAc,GAAG,eAAe,GAAG;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO,EAAE,cAAc,CAiBlE,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cmdCreate = void 0;
4
+ const withPsbt_1 = require("./withPsbt");
5
+ exports.cmdCreate = {
6
+ builder(b) {
7
+ return b.options(withPsbt_1.withPsbtOptions).option('txVersion', { type: 'number' }).option('txLocktime', { type: 'number' });
8
+ },
9
+ command: 'create',
10
+ describe: 'create empty psbt without inputs or outputs',
11
+ async handler(argv) {
12
+ return (0, withPsbt_1.withPsbt)({ ...argv, create: true, expectEmpty: true }, async function (psbt) {
13
+ if (argv.txVersion !== undefined) {
14
+ psbt.setVersion(argv.txVersion);
15
+ }
16
+ if (argv.txLocktime !== undefined) {
17
+ psbt.setLocktime(argv.txLocktime);
18
+ }
19
+ return psbt;
20
+ });
21
+ },
22
+ };
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kQ3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2NtZFBzYnQvY21kQ3JlYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHlDQUF3RTtBQU8zRCxRQUFBLFNBQVMsR0FBaUQ7SUFDckUsT0FBTyxDQUFDLENBQXNCO1FBQzVCLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQywwQkFBZSxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNySCxDQUFDO0lBQ0QsT0FBTyxFQUFFLFFBQVE7SUFDakIsUUFBUSxFQUFFLDZDQUE2QztJQUN2RCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUk7UUFDaEIsT0FBTyxJQUFBLG1CQUFRLEVBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLFdBQVcsSUFBSTtZQUNoRixJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ2pDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2xDLENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB5YXJncyBmcm9tICd5YXJncyc7XG5pbXBvcnQgeyB3aXRoUHNidCwgd2l0aFBzYnRPcHRpb25zLCBXaXRoUHNidE9wdGlvbnMgfSBmcm9tICcuL3dpdGhQc2J0JztcblxudHlwZSBBcmdzQ3JlYXRlUHNidCA9IFdpdGhQc2J0T3B0aW9ucyAmIHtcbiAgdHhWZXJzaW9uPzogbnVtYmVyO1xuICB0eExvY2t0aW1lPzogbnVtYmVyO1xufTtcblxuZXhwb3J0IGNvbnN0IGNtZENyZWF0ZTogeWFyZ3MuQ29tbWFuZE1vZHVsZTx1bmtub3duLCBBcmdzQ3JlYXRlUHNidD4gPSB7XG4gIGJ1aWxkZXIoYjogeWFyZ3MuQXJndjx1bmtub3duPikge1xuICAgIHJldHVybiBiLm9wdGlvbnMod2l0aFBzYnRPcHRpb25zKS5vcHRpb24oJ3R4VmVyc2lvbicsIHsgdHlwZTogJ251bWJlcicgfSkub3B0aW9uKCd0eExvY2t0aW1lJywgeyB0eXBlOiAnbnVtYmVyJyB9KTtcbiAgfSxcbiAgY29tbWFuZDogJ2NyZWF0ZScsXG4gIGRlc2NyaWJlOiAnY3JlYXRlIGVtcHR5IHBzYnQgd2l0aG91dCBpbnB1dHMgb3Igb3V0cHV0cycsXG4gIGFzeW5jIGhhbmRsZXIoYXJndikge1xuICAgIHJldHVybiB3aXRoUHNidCh7IC4uLmFyZ3YsIGNyZWF0ZTogdHJ1ZSwgZXhwZWN0RW1wdHk6IHRydWUgfSwgYXN5bmMgZnVuY3Rpb24gKHBzYnQpIHtcbiAgICAgIGlmIChhcmd2LnR4VmVyc2lvbiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHBzYnQuc2V0VmVyc2lvbihhcmd2LnR4VmVyc2lvbik7XG4gICAgICB9XG4gICAgICBpZiAoYXJndi50eExvY2t0aW1lICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcHNidC5zZXRMb2NrdGltZShhcmd2LnR4TG9ja3RpbWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBzYnQ7XG4gICAgfSk7XG4gIH0sXG59O1xuIl19
@@ -0,0 +1,11 @@
1
+ import { CommandModule } from 'yargs';
2
+ import { WithPsbtOptions } from './withPsbt';
3
+ import * as utxolib from '@bitgo-beta/utxo-lib';
4
+ type ArgsFinalizePsbt = WithPsbtOptions & {
5
+ extract: boolean;
6
+ };
7
+ export declare function finalizeWithWrappedPsbt(psbt: utxolib.bitgo.UtxoPsbt | utxolib.Psbt): void;
8
+ export declare const cmdFinalize: CommandModule<unknown, ArgsFinalizePsbt>;
9
+ export declare const cmdExtract: CommandModule<unknown, WithPsbtOptions>;
10
+ export {};
11
+ //# sourceMappingURL=cmdFinalize.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmdFinalize.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdPsbt/cmdFinalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAY,eAAe,EAAmB,MAAM,YAAY,CAAC;AACxE,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAGhD,KAAK,gBAAgB,GAAG,eAAe,GAAG;IACxC,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAOzF;AAED,eAAO,MAAM,WAAW,EAAE,aAAa,CAAC,OAAO,EAAE,gBAAgB,CAehE,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,OAAO,EAAE,eAAe,CAW9D,CAAC"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cmdExtract = exports.cmdFinalize = void 0;
4
+ exports.finalizeWithWrappedPsbt = finalizeWithWrappedPsbt;
5
+ const withPsbt_1 = require("./withPsbt");
6
+ const wrap_1 = require("./wrap");
7
+ function finalizeWithWrappedPsbt(psbt) {
8
+ const wrappedPsbt = (0, wrap_1.toWrappedPsbt)(psbt);
9
+ wrappedPsbt.finalize();
10
+ const unwrappedPsbt = (0, wrap_1.toUtxoPsbt)(wrappedPsbt);
11
+ for (let i = 0; i < psbt.data.inputs.length; i++) {
12
+ psbt.data.inputs[i] = unwrappedPsbt.data.inputs[i];
13
+ }
14
+ }
15
+ exports.cmdFinalize = {
16
+ command: 'finalize [psbt]',
17
+ describe: 'finalize psbt',
18
+ builder(b) {
19
+ return b.options(withPsbt_1.withPsbtOptions).option('extract', { type: 'boolean', default: false });
20
+ },
21
+ async handler(argv) {
22
+ await (0, withPsbt_1.withPsbt)(argv, async function (psbt) {
23
+ finalizeWithWrappedPsbt(psbt);
24
+ if (argv.extract) {
25
+ return psbt.extractTransaction().toBuffer();
26
+ }
27
+ return psbt;
28
+ });
29
+ },
30
+ };
31
+ exports.cmdExtract = {
32
+ command: 'extract [psbt]',
33
+ describe: 'extract transaction from psbt',
34
+ builder(b) {
35
+ return b.options(withPsbt_1.withPsbtOptions);
36
+ },
37
+ async handler(argv) {
38
+ await (0, withPsbt_1.withPsbt)(argv, async function (psbt) {
39
+ return psbt.extractTransaction().toBuffer();
40
+ });
41
+ },
42
+ };
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kRmluYWxpemUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kUHNidC9jbWRGaW5hbGl6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFTQSwwREFPQztBQWZELHlDQUF3RTtBQUV4RSxpQ0FBbUQ7QUFNbkQsU0FBZ0IsdUJBQXVCLENBQUMsSUFBMkM7SUFDakYsTUFBTSxXQUFXLEdBQUcsSUFBQSxvQkFBYSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN2QixNQUFNLGFBQWEsR0FBRyxJQUFBLGlCQUFVLEVBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7QUFDSCxDQUFDO0FBRVksUUFBQSxXQUFXLEdBQTZDO0lBQ25FLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsUUFBUSxFQUFFLGVBQWU7SUFDekIsT0FBTyxDQUFDLENBQWdCO1FBQ3RCLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQywwQkFBZSxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUNELEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSTtRQUNoQixNQUFNLElBQUEsbUJBQVEsRUFBQyxJQUFJLEVBQUUsS0FBSyxXQUFXLElBQUk7WUFDdkMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDOUMsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YsQ0FBQztBQUVXLFFBQUEsVUFBVSxHQUE0QztJQUNqRSxPQUFPLEVBQUUsZ0JBQWdCO0lBQ3pCLFFBQVEsRUFBRSwrQkFBK0I7SUFDekMsT0FBTyxDQUFDLENBQWdCO1FBQ3RCLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQywwQkFBZSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUNELEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSTtRQUNoQixNQUFNLElBQUEsbUJBQVEsRUFBQyxJQUFJLEVBQUUsS0FBSyxXQUFXLElBQUk7WUFDdkMsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXJndiwgQ29tbWFuZE1vZHVsZSB9IGZyb20gJ3lhcmdzJztcbmltcG9ydCB7IHdpdGhQc2J0LCBXaXRoUHNidE9wdGlvbnMsIHdpdGhQc2J0T3B0aW9ucyB9IGZyb20gJy4vd2l0aFBzYnQnO1xuaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyB0b1V0eG9Qc2J0LCB0b1dyYXBwZWRQc2J0IH0gZnJvbSAnLi93cmFwJztcblxudHlwZSBBcmdzRmluYWxpemVQc2J0ID0gV2l0aFBzYnRPcHRpb25zICYge1xuICBleHRyYWN0OiBib29sZWFuO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmFsaXplV2l0aFdyYXBwZWRQc2J0KHBzYnQ6IHV0eG9saWIuYml0Z28uVXR4b1BzYnQgfCB1dHhvbGliLlBzYnQpOiB2b2lkIHtcbiAgY29uc3Qgd3JhcHBlZFBzYnQgPSB0b1dyYXBwZWRQc2J0KHBzYnQpO1xuICB3cmFwcGVkUHNidC5maW5hbGl6ZSgpO1xuICBjb25zdCB1bndyYXBwZWRQc2J0ID0gdG9VdHhvUHNidCh3cmFwcGVkUHNidCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgcHNidC5kYXRhLmlucHV0cy5sZW5ndGg7IGkrKykge1xuICAgIHBzYnQuZGF0YS5pbnB1dHNbaV0gPSB1bndyYXBwZWRQc2J0LmRhdGEuaW5wdXRzW2ldO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBjbWRGaW5hbGl6ZTogQ29tbWFuZE1vZHVsZTx1bmtub3duLCBBcmdzRmluYWxpemVQc2J0PiA9IHtcbiAgY29tbWFuZDogJ2ZpbmFsaXplIFtwc2J0XScsXG4gIGRlc2NyaWJlOiAnZmluYWxpemUgcHNidCcsXG4gIGJ1aWxkZXIoYjogQXJndjx1bmtub3duPik6IEFyZ3Y8QXJnc0ZpbmFsaXplUHNidD4ge1xuICAgIHJldHVybiBiLm9wdGlvbnMod2l0aFBzYnRPcHRpb25zKS5vcHRpb24oJ2V4dHJhY3QnLCB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSk7XG4gIH0sXG4gIGFzeW5jIGhhbmRsZXIoYXJndikge1xuICAgIGF3YWl0IHdpdGhQc2J0KGFyZ3YsIGFzeW5jIGZ1bmN0aW9uIChwc2J0KSB7XG4gICAgICBmaW5hbGl6ZVdpdGhXcmFwcGVkUHNidChwc2J0KTtcbiAgICAgIGlmIChhcmd2LmV4dHJhY3QpIHtcbiAgICAgICAgcmV0dXJuIHBzYnQuZXh0cmFjdFRyYW5zYWN0aW9uKCkudG9CdWZmZXIoKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwc2J0O1xuICAgIH0pO1xuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IGNtZEV4dHJhY3Q6IENvbW1hbmRNb2R1bGU8dW5rbm93biwgV2l0aFBzYnRPcHRpb25zPiA9IHtcbiAgY29tbWFuZDogJ2V4dHJhY3QgW3BzYnRdJyxcbiAgZGVzY3JpYmU6ICdleHRyYWN0IHRyYW5zYWN0aW9uIGZyb20gcHNidCcsXG4gIGJ1aWxkZXIoYjogQXJndjx1bmtub3duPik6IEFyZ3Y8V2l0aFBzYnRPcHRpb25zPiB7XG4gICAgcmV0dXJuIGIub3B0aW9ucyh3aXRoUHNidE9wdGlvbnMpO1xuICB9LFxuICBhc3luYyBoYW5kbGVyKGFyZ3YpIHtcbiAgICBhd2FpdCB3aXRoUHNidChhcmd2LCBhc3luYyBmdW5jdGlvbiAocHNidCkge1xuICAgICAgcmV0dXJuIHBzYnQuZXh0cmFjdFRyYW5zYWN0aW9uKCkudG9CdWZmZXIoKTtcbiAgICB9KTtcbiAgfSxcbn07XG4iXX0=
@@ -0,0 +1,7 @@
1
+ import { CommandModule } from 'yargs';
2
+ import { WithPsbtOptions } from './withPsbt';
3
+ export type ArgsSignPsbt = WithPsbtOptions & {
4
+ key: string;
5
+ };
6
+ export declare const cmdSign: CommandModule<unknown, ArgsSignPsbt>;
7
+ //# sourceMappingURL=cmdSign.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cmdSign.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdPsbt/cmdSign.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAE,MAAM,OAAO,CAAC;AAG5C,OAAO,EAAY,eAAe,EAAmB,MAAM,YAAY,CAAC;AAGxE,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG;IAC3C,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,aAAa,CAAC,OAAO,EAAE,YAAY,CAgBxD,CAAC"}
@@ -0,0 +1,57 @@
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.cmdSign = void 0;
37
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
38
+ const withPsbt_1 = require("./withPsbt");
39
+ const args_1 = require("../../args");
40
+ exports.cmdSign = {
41
+ command: 'sign [psbt]',
42
+ describe: 'sign psbt',
43
+ builder(b) {
44
+ return b
45
+ .options((0, args_1.getNetworkOptionsDemand)('bitcoin'))
46
+ .options(withPsbt_1.withPsbtOptions)
47
+ .option('key', { type: 'string', demandOption: true });
48
+ },
49
+ async handler(argv) {
50
+ const key = utxolib.bip32.fromBase58(argv.key, argv.network);
51
+ await (0, withPsbt_1.withPsbt)(argv, async function (psbt) {
52
+ psbt.signAllInputsHD(key);
53
+ return psbt;
54
+ });
55
+ },
56
+ };
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kU2lnbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tYW5kcy9jbWRQc2J0L2NtZFNpZ24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQ0EsOERBQWdEO0FBRWhELHlDQUF3RTtBQUN4RSxxQ0FBcUQ7QUFNeEMsUUFBQSxPQUFPLEdBQXlDO0lBQzNELE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLE9BQU8sQ0FBQyxDQUFnQjtRQUN0QixPQUFPLENBQUM7YUFDTCxPQUFPLENBQUMsSUFBQSw4QkFBdUIsRUFBQyxTQUFTLENBQUMsQ0FBQzthQUMzQyxPQUFPLENBQUMsMEJBQWUsQ0FBQzthQUN4QixNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJO1FBQ2hCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzdELE1BQU0sSUFBQSxtQkFBUSxFQUFDLElBQUksRUFBRSxLQUFLLFdBQVcsSUFBSTtZQUN2QyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFyZ3YsIENvbW1hbmRNb2R1bGUgfSBmcm9tICd5YXJncyc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuaW1wb3J0IHsgd2l0aFBzYnQsIFdpdGhQc2J0T3B0aW9ucywgd2l0aFBzYnRPcHRpb25zIH0gZnJvbSAnLi93aXRoUHNidCc7XG5pbXBvcnQgeyBnZXROZXR3b3JrT3B0aW9uc0RlbWFuZCB9IGZyb20gJy4uLy4uL2FyZ3MnO1xuXG5leHBvcnQgdHlwZSBBcmdzU2lnblBzYnQgPSBXaXRoUHNidE9wdGlvbnMgJiB7XG4gIGtleTogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IGNtZFNpZ246IENvbW1hbmRNb2R1bGU8dW5rbm93biwgQXJnc1NpZ25Qc2J0PiA9IHtcbiAgY29tbWFuZDogJ3NpZ24gW3BzYnRdJyxcbiAgZGVzY3JpYmU6ICdzaWduIHBzYnQnLFxuICBidWlsZGVyKGI6IEFyZ3Y8dW5rbm93bj4pOiBBcmd2PEFyZ3NTaWduUHNidD4ge1xuICAgIHJldHVybiBiXG4gICAgICAub3B0aW9ucyhnZXROZXR3b3JrT3B0aW9uc0RlbWFuZCgnYml0Y29pbicpKVxuICAgICAgLm9wdGlvbnMod2l0aFBzYnRPcHRpb25zKVxuICAgICAgLm9wdGlvbigna2V5JywgeyB0eXBlOiAnc3RyaW5nJywgZGVtYW5kT3B0aW9uOiB0cnVlIH0pO1xuICB9LFxuICBhc3luYyBoYW5kbGVyKGFyZ3YpIHtcbiAgICBjb25zdCBrZXkgPSB1dHhvbGliLmJpcDMyLmZyb21CYXNlNTgoYXJndi5rZXksIGFyZ3YubmV0d29yayk7XG4gICAgYXdhaXQgd2l0aFBzYnQoYXJndiwgYXN5bmMgZnVuY3Rpb24gKHBzYnQpIHtcbiAgICAgIHBzYnQuc2lnbkFsbElucHV0c0hEKGtleSk7XG4gICAgICByZXR1cm4gcHNidDtcbiAgICB9KTtcbiAgfSxcbn07XG4iXX0=
@@ -0,0 +1,8 @@
1
+ import { Argv } from 'yargs';
2
+ export declare const cmdPsbt: {
3
+ command: string;
4
+ describe: string;
5
+ builder(b: Argv<unknown>): Argv<unknown>;
6
+ handler(): void;
7
+ };
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdPsbt/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAiB,MAAM,OAAO,CAAC;AAQ5C,eAAO,MAAM,OAAO;;;eAGP,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;eAW7B,IAAI;CAG0B,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cmdPsbt = void 0;
4
+ const cmdSign_1 = require("./cmdSign");
5
+ const cmdAddOutput_1 = require("./cmdAddOutput");
6
+ const cmdAddDescriptorInput_1 = require("./cmdAddDescriptorInput");
7
+ const cmdFinalize_1 = require("./cmdFinalize");
8
+ const cmdCreate_1 = require("./cmdCreate");
9
+ exports.cmdPsbt = {
10
+ command: 'psbt <command>',
11
+ describe: 'psbt commands',
12
+ builder(b) {
13
+ return b
14
+ .strict()
15
+ .command(cmdCreate_1.cmdCreate)
16
+ .command(cmdAddDescriptorInput_1.cmdAddDescriptorInput)
17
+ .command(cmdAddOutput_1.cmdAddOutput)
18
+ .command(cmdSign_1.cmdSign)
19
+ .command(cmdFinalize_1.cmdFinalize)
20
+ .command(cmdFinalize_1.cmdExtract)
21
+ .demandCommand();
22
+ },
23
+ handler() {
24
+ // do nothing
25
+ },
26
+ };
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kUHNidC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSx1Q0FBb0M7QUFDcEMsaURBQThDO0FBQzlDLG1FQUFnRTtBQUNoRSwrQ0FBd0Q7QUFDeEQsMkNBQXdDO0FBRTNCLFFBQUEsT0FBTyxHQUFHO0lBQ3JCLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsUUFBUSxFQUFFLGVBQWU7SUFDekIsT0FBTyxDQUFDLENBQWdCO1FBQ3RCLE9BQU8sQ0FBQzthQUNMLE1BQU0sRUFBRTthQUNSLE9BQU8sQ0FBQyxxQkFBUyxDQUFDO2FBQ2xCLE9BQU8sQ0FBQyw2Q0FBcUIsQ0FBQzthQUM5QixPQUFPLENBQUMsMkJBQVksQ0FBQzthQUNyQixPQUFPLENBQUMsaUJBQU8sQ0FBQzthQUNoQixPQUFPLENBQUMseUJBQVcsQ0FBQzthQUNwQixPQUFPLENBQUMsd0JBQVUsQ0FBQzthQUNuQixhQUFhLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBQ0QsT0FBTztRQUNMLGFBQWE7SUFDZixDQUFDO0NBQ3dDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcmd2LCBDb21tYW5kTW9kdWxlIH0gZnJvbSAneWFyZ3MnO1xuXG5pbXBvcnQgeyBjbWRTaWduIH0gZnJvbSAnLi9jbWRTaWduJztcbmltcG9ydCB7IGNtZEFkZE91dHB1dCB9IGZyb20gJy4vY21kQWRkT3V0cHV0JztcbmltcG9ydCB7IGNtZEFkZERlc2NyaXB0b3JJbnB1dCB9IGZyb20gJy4vY21kQWRkRGVzY3JpcHRvcklucHV0JztcbmltcG9ydCB7IGNtZEV4dHJhY3QsIGNtZEZpbmFsaXplIH0gZnJvbSAnLi9jbWRGaW5hbGl6ZSc7XG5pbXBvcnQgeyBjbWRDcmVhdGUgfSBmcm9tICcuL2NtZENyZWF0ZSc7XG5cbmV4cG9ydCBjb25zdCBjbWRQc2J0ID0ge1xuICBjb21tYW5kOiAncHNidCA8Y29tbWFuZD4nLFxuICBkZXNjcmliZTogJ3BzYnQgY29tbWFuZHMnLFxuICBidWlsZGVyKGI6IEFyZ3Y8dW5rbm93bj4pOiBBcmd2PHVua25vd24+IHtcbiAgICByZXR1cm4gYlxuICAgICAgLnN0cmljdCgpXG4gICAgICAuY29tbWFuZChjbWRDcmVhdGUpXG4gICAgICAuY29tbWFuZChjbWRBZGREZXNjcmlwdG9ySW5wdXQpXG4gICAgICAuY29tbWFuZChjbWRBZGRPdXRwdXQpXG4gICAgICAuY29tbWFuZChjbWRTaWduKVxuICAgICAgLmNvbW1hbmQoY21kRmluYWxpemUpXG4gICAgICAuY29tbWFuZChjbWRFeHRyYWN0KVxuICAgICAgLmRlbWFuZENvbW1hbmQoKTtcbiAgfSxcbiAgaGFuZGxlcigpOiB2b2lkIHtcbiAgICAvLyBkbyBub3RoaW5nXG4gIH0sXG59IHNhdGlzZmllcyBDb21tYW5kTW9kdWxlPHVua25vd24sIHVua25vd24+O1xuIl19
@@ -0,0 +1,63 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ import { Buffer } from 'buffer';
3
+ type InputArgs = {
4
+ /** path to psbt file */
5
+ path?: string;
6
+ /** when set, create a new psbt */
7
+ create?: boolean;
8
+ /** network */
9
+ network: utxolib.Network;
10
+ /** expect empty psbt */
11
+ expectEmpty?: boolean;
12
+ };
13
+ type OutputArgs = {
14
+ /** edit the input file */
15
+ edit: boolean;
16
+ /** output path */
17
+ out?: string;
18
+ };
19
+ export type WithPsbtOptions = InputArgs & OutputArgs;
20
+ export declare const withPsbtOptions: {
21
+ readonly create: {
22
+ readonly type: "boolean";
23
+ readonly default: false;
24
+ };
25
+ readonly edit: {
26
+ readonly type: "boolean";
27
+ readonly default: false;
28
+ };
29
+ readonly out: {
30
+ readonly type: "string";
31
+ };
32
+ readonly network: {
33
+ type: "string";
34
+ description: string;
35
+ default: string | undefined;
36
+ coerce: (arg: string) => utxolib.Network;
37
+ } & {
38
+ demandOption: true;
39
+ };
40
+ readonly path: {
41
+ readonly type: "string";
42
+ readonly nargs: 1;
43
+ readonly default: "";
44
+ };
45
+ readonly stdin: {
46
+ readonly type: "boolean";
47
+ readonly default: false;
48
+ };
49
+ readonly data: {
50
+ readonly type: "string";
51
+ readonly description: "hex or base64";
52
+ readonly alias: "hex";
53
+ };
54
+ readonly clipboard: {
55
+ readonly type: "boolean";
56
+ readonly default: false;
57
+ };
58
+ };
59
+ export declare function getOrCreatePsbt(args: InputArgs): Promise<utxolib.Psbt>;
60
+ export declare function emitOutput(value: utxolib.Psbt | Buffer | string, args: InputArgs & OutputArgs): Promise<void>;
61
+ export declare function withPsbt(args: InputArgs & OutputArgs, fn: (psbt: utxolib.Psbt) => Promise<utxolib.Psbt | Buffer>): Promise<void>;
62
+ export {};
63
+ //# sourceMappingURL=withPsbt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withPsbt.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdPsbt/withPsbt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAGhD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,KAAK,SAAS,GAAG;IACf,wBAAwB;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc;IACd,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,wBAAwB;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AACF,KAAK,UAAU,GAAG;IAChB,0BAA0B;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,UAAU,CAAC;AAErD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;iCAyCP,QAAU,OAC3B;;;;;;;;;;;;;;;;;;;;;;CApCM,CAAC;AAEX,wBAAsB,eAAe,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAqB5E;AAED,wBAAsB,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,GAAG,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBnH;AAED,wBAAsB,QAAQ,CAC5B,IAAI,EAAE,SAAS,GAAG,UAAU,EAC5B,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,GACzD,OAAO,CAAC,IAAI,CAAC,CAGf"}
@@ -0,0 +1,99 @@
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.withPsbtOptions = void 0;
37
+ exports.getOrCreatePsbt = getOrCreatePsbt;
38
+ exports.emitOutput = emitOutput;
39
+ exports.withPsbt = withPsbt;
40
+ const fs = __importStar(require("fs/promises"));
41
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
42
+ const args_1 = require("../../args");
43
+ const buffer_1 = require("buffer");
44
+ exports.withPsbtOptions = {
45
+ ...args_1.readStringOptions,
46
+ ...(0, args_1.getNetworkOptionsDemand)('bitcoin'),
47
+ create: { type: 'boolean', default: false },
48
+ edit: { type: 'boolean', default: false },
49
+ out: { type: 'string' },
50
+ };
51
+ async function getOrCreatePsbt(args) {
52
+ let psbt;
53
+ try {
54
+ psbt = await (0, args_1.argToString)({ path: args.path, stdin: false });
55
+ }
56
+ catch (e) {
57
+ // check for ENOENT
58
+ if (e.code !== 'ENOENT') {
59
+ throw e;
60
+ }
61
+ }
62
+ if (psbt) {
63
+ if (args.expectEmpty) {
64
+ throw new Error(`psbt is not empty (path=${args.path})`);
65
+ }
66
+ const buffer = utxolib.bitgo.toPsbtBuffer(psbt);
67
+ return utxolib.Psbt.fromBuffer(buffer, { network: args.network });
68
+ }
69
+ if (args.create) {
70
+ return new utxolib.Psbt({ network: args.network });
71
+ }
72
+ throw new Error(`missing psbt (path=${args.path})`);
73
+ }
74
+ async function emitOutput(value, args) {
75
+ if (value instanceof utxolib.Psbt) {
76
+ value = value.toBase64();
77
+ }
78
+ if (value instanceof buffer_1.Buffer) {
79
+ value = value.toString('hex');
80
+ }
81
+ if (args.edit || args.out) {
82
+ if (args.edit && args.out) {
83
+ throw new Error('cannot specify both edit and out');
84
+ }
85
+ const path = args.edit ? args.path : args.out;
86
+ if (!path) {
87
+ throw new Error('missing out path');
88
+ }
89
+ await fs.writeFile(path, value);
90
+ }
91
+ else {
92
+ console.log(value);
93
+ }
94
+ }
95
+ async function withPsbt(args, fn) {
96
+ const psbt = await getOrCreatePsbt(args);
97
+ await emitOutput(await fn(psbt), args);
98
+ }
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aFBzYnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kUHNidC93aXRoUHNidC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnQ0EsMENBcUJDO0FBRUQsZ0NBcUJDO0FBRUQsNEJBTUM7QUFwRkQsZ0RBQWtDO0FBQ2xDLDhEQUFnRDtBQUVoRCxxQ0FBcUY7QUFDckYsbUNBQWdDO0FBb0JuQixRQUFBLGVBQWUsR0FBRztJQUM3QixHQUFHLHdCQUFpQjtJQUNwQixHQUFHLElBQUEsOEJBQXVCLEVBQUMsU0FBUyxDQUFDO0lBQ3JDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtJQUMzQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7SUFDekMsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRTtDQUNmLENBQUM7QUFFSixLQUFLLFVBQVUsZUFBZSxDQUFDLElBQWU7SUFDbkQsSUFBSSxJQUF3QixDQUFDO0lBQzdCLElBQUksQ0FBQztRQUNILElBQUksR0FBRyxNQUFNLElBQUEsa0JBQVcsRUFBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsbUJBQW1CO1FBQ25CLElBQUssQ0FBMkIsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbkQsTUFBTSxDQUFDLENBQUM7UUFDVixDQUFDO0lBQ0gsQ0FBQztJQUNELElBQUksSUFBSSxFQUFFLENBQUM7UUFDVCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQixNQUFNLElBQUksS0FBSyxDQUFDLDJCQUEyQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2hCLE9BQU8sSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHNCQUFzQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztBQUN0RCxDQUFDO0FBRU0sS0FBSyxVQUFVLFVBQVUsQ0FBQyxLQUFxQyxFQUFFLElBQTRCO0lBQ2xHLElBQUksS0FBSyxZQUFZLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNsQyxLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLEtBQUssWUFBWSxlQUFNLEVBQUUsQ0FBQztRQUM1QixLQUFLLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUM5QyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixNQUFNLElBQUksS0FBSyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUNELE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEMsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLENBQUM7QUFDSCxDQUFDO0FBRU0sS0FBSyxVQUFVLFFBQVEsQ0FDNUIsSUFBNEIsRUFDNUIsRUFBMEQ7SUFFMUQsTUFBTSxJQUFJLEdBQUcsTUFBTSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsTUFBTSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDekMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzL3Byb21pc2VzJztcbmltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvLWJldGEvdXR4by1saWInO1xuXG5pbXBvcnQgeyBhcmdUb1N0cmluZywgZ2V0TmV0d29ya09wdGlvbnNEZW1hbmQsIHJlYWRTdHJpbmdPcHRpb25zIH0gZnJvbSAnLi4vLi4vYXJncyc7XG5pbXBvcnQgeyBCdWZmZXIgfSBmcm9tICdidWZmZXInO1xuXG50eXBlIElucHV0QXJncyA9IHtcbiAgLyoqIHBhdGggdG8gcHNidCBmaWxlICovXG4gIHBhdGg/OiBzdHJpbmc7XG4gIC8qKiB3aGVuIHNldCwgY3JlYXRlIGEgbmV3IHBzYnQgKi9cbiAgY3JlYXRlPzogYm9vbGVhbjtcbiAgLyoqIG5ldHdvcmsgKi9cbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrO1xuICAvKiogZXhwZWN0IGVtcHR5IHBzYnQgKi9cbiAgZXhwZWN0RW1wdHk/OiBib29sZWFuO1xufTtcbnR5cGUgT3V0cHV0QXJncyA9IHtcbiAgLyoqIGVkaXQgdGhlIGlucHV0IGZpbGUgKi9cbiAgZWRpdDogYm9vbGVhbjtcbiAgLyoqIG91dHB1dCBwYXRoICovXG4gIG91dD86IHN0cmluZztcbn07XG5leHBvcnQgdHlwZSBXaXRoUHNidE9wdGlvbnMgPSBJbnB1dEFyZ3MgJiBPdXRwdXRBcmdzO1xuXG5leHBvcnQgY29uc3Qgd2l0aFBzYnRPcHRpb25zID0ge1xuICAuLi5yZWFkU3RyaW5nT3B0aW9ucyxcbiAgLi4uZ2V0TmV0d29ya09wdGlvbnNEZW1hbmQoJ2JpdGNvaW4nKSxcbiAgY3JlYXRlOiB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSxcbiAgZWRpdDogeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0sXG4gIG91dDogeyB0eXBlOiAnc3RyaW5nJyB9LFxufSBhcyBjb25zdDtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldE9yQ3JlYXRlUHNidChhcmdzOiBJbnB1dEFyZ3MpOiBQcm9taXNlPHV0eG9saWIuUHNidD4ge1xuICBsZXQgcHNidDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICB0cnkge1xuICAgIHBzYnQgPSBhd2FpdCBhcmdUb1N0cmluZyh7IHBhdGg6IGFyZ3MucGF0aCwgc3RkaW46IGZhbHNlIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgLy8gY2hlY2sgZm9yIEVOT0VOVFxuICAgIGlmICgoZSBhcyBOb2RlSlMuRXJybm9FeGNlcHRpb24pLmNvZGUgIT09ICdFTk9FTlQnKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxuICBpZiAocHNidCkge1xuICAgIGlmIChhcmdzLmV4cGVjdEVtcHR5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHBzYnQgaXMgbm90IGVtcHR5IChwYXRoPSR7YXJncy5wYXRofSlgKTtcbiAgICB9XG4gICAgY29uc3QgYnVmZmVyID0gdXR4b2xpYi5iaXRnby50b1BzYnRCdWZmZXIocHNidCk7XG4gICAgcmV0dXJuIHV0eG9saWIuUHNidC5mcm9tQnVmZmVyKGJ1ZmZlciwgeyBuZXR3b3JrOiBhcmdzLm5ldHdvcmsgfSk7XG4gIH1cbiAgaWYgKGFyZ3MuY3JlYXRlKSB7XG4gICAgcmV0dXJuIG5ldyB1dHhvbGliLlBzYnQoeyBuZXR3b3JrOiBhcmdzLm5ldHdvcmsgfSk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBtaXNzaW5nIHBzYnQgKHBhdGg9JHthcmdzLnBhdGh9KWApO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW1pdE91dHB1dCh2YWx1ZTogdXR4b2xpYi5Qc2J0IHwgQnVmZmVyIHwgc3RyaW5nLCBhcmdzOiBJbnB1dEFyZ3MgJiBPdXRwdXRBcmdzKTogUHJvbWlzZTx2b2lkPiB7XG4gIGlmICh2YWx1ZSBpbnN0YW5jZW9mIHV0eG9saWIuUHNidCkge1xuICAgIHZhbHVlID0gdmFsdWUudG9CYXNlNjQoKTtcbiAgfVxuXG4gIGlmICh2YWx1ZSBpbnN0YW5jZW9mIEJ1ZmZlcikge1xuICAgIHZhbHVlID0gdmFsdWUudG9TdHJpbmcoJ2hleCcpO1xuICB9XG5cbiAgaWYgKGFyZ3MuZWRpdCB8fCBhcmdzLm91dCkge1xuICAgIGlmIChhcmdzLmVkaXQgJiYgYXJncy5vdXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignY2Fubm90IHNwZWNpZnkgYm90aCBlZGl0IGFuZCBvdXQnKTtcbiAgICB9XG4gICAgY29uc3QgcGF0aCA9IGFyZ3MuZWRpdCA/IGFyZ3MucGF0aCA6IGFyZ3Mub3V0O1xuICAgIGlmICghcGF0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdtaXNzaW5nIG91dCBwYXRoJyk7XG4gICAgfVxuICAgIGF3YWl0IGZzLndyaXRlRmlsZShwYXRoLCB2YWx1ZSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc29sZS5sb2codmFsdWUpO1xuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB3aXRoUHNidChcbiAgYXJnczogSW5wdXRBcmdzICYgT3V0cHV0QXJncyxcbiAgZm46IChwc2J0OiB1dHhvbGliLlBzYnQpID0+IFByb21pc2U8dXR4b2xpYi5Qc2J0IHwgQnVmZmVyPlxuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHBzYnQgPSBhd2FpdCBnZXRPckNyZWF0ZVBzYnQoYXJncyk7XG4gIGF3YWl0IGVtaXRPdXRwdXQoYXdhaXQgZm4ocHNidCksIGFyZ3MpO1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ import * as utxolib from '@bitgo-beta/utxo-lib';
2
+ import { Psbt } from '@bitgo/wasm-miniscript';
3
+ export declare function toWrappedPsbt(psbt: utxolib.bitgo.UtxoPsbt | utxolib.Psbt | Buffer | Uint8Array): Psbt;
4
+ export declare function toUtxoPsbt(psbt: Psbt | Buffer | Uint8Array): utxolib.bitgo.UtxoPsbt;
5
+ //# sourceMappingURL=wrap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrap.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdPsbt/wrap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,wBAAgB,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAQrG;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAUnF"}
@@ -0,0 +1,60 @@
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.toWrappedPsbt = toWrappedPsbt;
37
+ exports.toUtxoPsbt = toUtxoPsbt;
38
+ const utxolib = __importStar(require("@bitgo-beta/utxo-lib"));
39
+ const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
40
+ function toWrappedPsbt(psbt) {
41
+ if (psbt instanceof utxolib.bitgo.UtxoPsbt || psbt instanceof utxolib.Psbt) {
42
+ psbt = psbt.toBuffer();
43
+ }
44
+ if (psbt instanceof Buffer || psbt instanceof Uint8Array) {
45
+ return wasm_miniscript_1.Psbt.deserialize(psbt);
46
+ }
47
+ throw new Error('Invalid input');
48
+ }
49
+ function toUtxoPsbt(psbt) {
50
+ if (psbt instanceof wasm_miniscript_1.Psbt) {
51
+ psbt = psbt.serialize();
52
+ }
53
+ if (psbt instanceof Buffer || psbt instanceof Uint8Array) {
54
+ return utxolib.bitgo.UtxoPsbt.fromBuffer(Buffer.from(psbt), {
55
+ network: utxolib.networks.bitcoin,
56
+ });
57
+ }
58
+ throw new Error('Invalid input');
59
+ }
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JhcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21tYW5kcy9jbWRQc2J0L3dyYXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHQSxzQ0FRQztBQUVELGdDQVVDO0FBdkJELDhEQUFnRDtBQUNoRCw0REFBOEM7QUFFOUMsU0FBZ0IsYUFBYSxDQUFDLElBQWlFO0lBQzdGLElBQUksSUFBSSxZQUFZLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksWUFBWSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDM0UsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxJQUFJLFlBQVksTUFBTSxJQUFJLElBQUksWUFBWSxVQUFVLEVBQUUsQ0FBQztRQUN6RCxPQUFPLHNCQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ25DLENBQUM7QUFFRCxTQUFnQixVQUFVLENBQUMsSUFBZ0M7SUFDekQsSUFBSSxJQUFJLFlBQVksc0JBQUksRUFBRSxDQUFDO1FBQ3pCLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELElBQUksSUFBSSxZQUFZLE1BQU0sSUFBSSxJQUFJLFlBQVksVUFBVSxFQUFFLENBQUM7UUFDekQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMxRCxPQUFPLEVBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQ25DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCB7IFBzYnQgfSBmcm9tICdAYml0Z28vd2FzbS1taW5pc2NyaXB0JztcblxuZXhwb3J0IGZ1bmN0aW9uIHRvV3JhcHBlZFBzYnQocHNidDogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB8IHV0eG9saWIuUHNidCB8IEJ1ZmZlciB8IFVpbnQ4QXJyYXkpOiBQc2J0IHtcbiAgaWYgKHBzYnQgaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9Qc2J0IHx8IHBzYnQgaW5zdGFuY2VvZiB1dHhvbGliLlBzYnQpIHtcbiAgICBwc2J0ID0gcHNidC50b0J1ZmZlcigpO1xuICB9XG4gIGlmIChwc2J0IGluc3RhbmNlb2YgQnVmZmVyIHx8IHBzYnQgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7XG4gICAgcmV0dXJuIFBzYnQuZGVzZXJpYWxpemUocHNidCk7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGlucHV0Jyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1V0eG9Qc2J0KHBzYnQ6IFBzYnQgfCBCdWZmZXIgfCBVaW50OEFycmF5KTogdXR4b2xpYi5iaXRnby5VdHhvUHNidCB7XG4gIGlmIChwc2J0IGluc3RhbmNlb2YgUHNidCkge1xuICAgIHBzYnQgPSBwc2J0LnNlcmlhbGl6ZSgpO1xuICB9XG4gIGlmIChwc2J0IGluc3RhbmNlb2YgQnVmZmVyIHx8IHBzYnQgaW5zdGFuY2VvZiBVaW50OEFycmF5KSB7XG4gICAgcmV0dXJuIHV0eG9saWIuYml0Z28uVXR4b1BzYnQuZnJvbUJ1ZmZlcihCdWZmZXIuZnJvbShwc2J0KSwge1xuICAgICAgbmV0d29yazogdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luLFxuICAgIH0pO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBpbnB1dCcpO1xufVxuIl19
@@ -0,0 +1,8 @@
1
+ import { ParserNode } from '../Parser';
2
+ import { FormatTreeOrJson } from '../args';
3
+ export type FormatStringArgs = {
4
+ format: FormatTreeOrJson;
5
+ all: boolean;
6
+ };
7
+ export declare function formatString(parsed: ParserNode, argv: FormatStringArgs): string;
8
+ //# sourceMappingURL=formatString.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatString.d.ts","sourceRoot":"","sources":["../../../src/commands/formatString.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAQ/E"}