@bitgo/utxo-bin 3.1.5 → 3.3.0
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.
- package/dist/bin/index.js +2 -1
- package/dist/src/AddressParser.d.ts.map +1 -1
- package/dist/src/AddressParser.js +13 -7
- package/dist/src/args/parseNetwork.d.ts +3 -0
- package/dist/src/args/parseNetwork.d.ts.map +1 -1
- package/dist/src/args/parseNetwork.js +43 -2
- package/dist/src/commands/cmdAddress/index.js +2 -2
- package/dist/src/commands/cmdParseTx.d.ts +1 -1
- package/dist/src/commands/cmdParseTx.d.ts.map +1 -1
- package/dist/src/commands/cmdParseTx.js +1 -1
- package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.d.ts +13 -0
- package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.d.ts.map +1 -0
- package/dist/src/commands/cmdPsbt/cmdAddDescriptorInput.js +67 -0
- package/dist/src/commands/cmdPsbt/cmdAddOutput.d.ts +11 -0
- package/dist/src/commands/cmdPsbt/cmdAddOutput.d.ts.map +1 -0
- package/dist/src/commands/cmdPsbt/cmdAddOutput.js +89 -0
- package/dist/src/commands/cmdPsbt/cmdCreate.d.ts +9 -0
- package/dist/src/commands/cmdPsbt/cmdCreate.d.ts.map +1 -0
- package/dist/src/commands/cmdPsbt/cmdCreate.js +23 -0
- package/dist/src/commands/cmdPsbt/cmdFinalize.d.ts +11 -0
- package/dist/src/commands/cmdPsbt/cmdFinalize.d.ts.map +1 -0
- package/dist/src/commands/cmdPsbt/cmdFinalize.js +43 -0
- package/dist/src/commands/cmdPsbt/cmdSign.d.ts +7 -0
- package/dist/src/commands/cmdPsbt/cmdSign.d.ts.map +1 -0
- package/dist/src/commands/cmdPsbt/cmdSign.js +24 -0
- package/dist/src/commands/cmdPsbt/index.d.ts +8 -0
- package/dist/src/commands/cmdPsbt/index.d.ts.map +1 -0
- package/dist/src/commands/cmdPsbt/index.js +27 -0
- package/dist/src/commands/cmdPsbt/withPsbt.d.ts +65 -0
- package/dist/src/commands/cmdPsbt/withPsbt.d.ts.map +1 -0
- package/dist/src/commands/cmdPsbt/withPsbt.js +66 -0
- package/dist/src/commands/cmdPsbt/wrap.d.ts +7 -0
- package/dist/src/commands/cmdPsbt/wrap.d.ts.map +1 -0
- package/dist/src/commands/cmdPsbt/wrap.js +28 -0
- package/dist/src/commands/index.d.ts +1 -0
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +2 -1
- package/dist/test/cmdPsbt.d.ts +2 -0
- package/dist/test/cmdPsbt.d.ts.map +1 -0
- package/dist/test/cmdPsbt.js +102 -0
- package/dist/test/fixtures.d.ts +2 -2
- package/dist/test/fixtures.d.ts.map +1 -1
- package/dist/test/fixtures.js +6 -6
- package/dist/test/parseAddress.d.ts.map +1 -1
- package/dist/test/parseAddress.js +9 -6
- package/dist/test/parseScript.js +2 -2
- package/dist/test/parseTransaction.js +7 -6
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -5
package/dist/bin/index.js
CHANGED
|
@@ -7,9 +7,10 @@ yargs
|
|
|
7
7
|
.command(commands_1.cmdParseTx)
|
|
8
8
|
.command(commands_1.cmdAddress)
|
|
9
9
|
.command(commands_1.cmdParseScript)
|
|
10
|
+
.command(commands_1.cmdPsbt)
|
|
10
11
|
.command(commands_1.cmdBip32)
|
|
11
12
|
.strict()
|
|
12
13
|
.demandCommand()
|
|
13
14
|
.help()
|
|
14
15
|
.parse();
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9iaW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsK0JBQStCO0FBRS9CLDhDQUE0RjtBQUU1RixLQUFLO0tBQ0YsT0FBTyxDQUFDLHFCQUFVLENBQUM7S0FDbkIsT0FBTyxDQUFDLHFCQUFVLENBQUM7S0FDbkIsT0FBTyxDQUFDLHlCQUFjLENBQUM7S0FDdkIsT0FBTyxDQUFDLGtCQUFPLENBQUM7S0FDaEIsT0FBTyxDQUFDLG1CQUFRLENBQUM7S0FDakIsTUFBTSxFQUFFO0tBQ1IsYUFBYSxFQUFFO0tBQ2YsSUFBSSxFQUFFO0tBQ04sS0FBSyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQgKiBhcyB5YXJncyBmcm9tICd5YXJncyc7XG5cbmltcG9ydCB7IGNtZFBhcnNlVHgsIGNtZFBhcnNlU2NyaXB0LCBjbWRCaXAzMiwgY21kUHNidCwgY21kQWRkcmVzcyB9IGZyb20gJy4uL3NyYy9jb21tYW5kcyc7XG5cbnlhcmdzXG4gIC5jb21tYW5kKGNtZFBhcnNlVHgpXG4gIC5jb21tYW5kKGNtZEFkZHJlc3MpXG4gIC5jb21tYW5kKGNtZFBhcnNlU2NyaXB0KVxuICAuY29tbWFuZChjbWRQc2J0KVxuICAuY29tbWFuZChjbWRCaXAzMilcbiAgLnN0cmljdCgpXG4gIC5kZW1hbmRDb21tYW5kKClcbiAgLmhlbHAoKVxuICAucGFyc2UoKTtcbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressParser.d.ts","sourceRoot":"","sources":["../../src/AddressParser.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"AddressParser.d.ts","sourceRoot":"","sources":["../../src/AddressParser.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAY9C,qBAAa,aAAc,SAAQ,MAAM;IAE9B,MAAM,EAAE;QACb,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;QAC1B,GAAG,EAAE,OAAO,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;KAClB;gBAJM,MAAM,EAAE;QACb,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;QAC1B,GAAG,EAAE,OAAO,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;KAClB;IAKH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE;IAwB9C,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE;IAU/C,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE;IAK1C,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE;IAS/C,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE;IASxE,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE;IAI1C,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE;IAI3C,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,EAAE;IAS5C,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU;IA2BzC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,EAAE;IAmBzC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU;CAuCjC"}
|
|
@@ -4,6 +4,7 @@ exports.AddressParser = void 0;
|
|
|
4
4
|
const utxolib = require("@bitgo/utxo-lib");
|
|
5
5
|
const bech32 = require("bech32");
|
|
6
6
|
const Parser_1 = require("./Parser");
|
|
7
|
+
const args_1 = require("./args");
|
|
7
8
|
const bs58 = require('bs58');
|
|
8
9
|
const bs58check = require('bs58check');
|
|
9
10
|
const cashaddress = require('cashaddress');
|
|
@@ -85,15 +86,20 @@ class AddressParser extends Parser_1.Parser {
|
|
|
85
86
|
];
|
|
86
87
|
}
|
|
87
88
|
convert(outputScript) {
|
|
88
|
-
|
|
89
|
+
function getWidth(list) {
|
|
90
|
+
return Math.max(...list.map((s) => s.length));
|
|
91
|
+
}
|
|
92
|
+
const networkWith = getWidth((0, args_1.getNetworkList)().map(args_1.getNetworkName));
|
|
93
|
+
const addressFormatWith = getWidth(utxolib.addressFormat.addressFormats);
|
|
94
|
+
return this.node('converted', undefined, (0, args_1.getNetworkList)().flatMap((network) => utxolib.addressFormat.addressFormats
|
|
89
95
|
.filter((f) => utxolib.addressFormat.isSupportedAddressFormat(f, network))
|
|
90
96
|
.map((addressFormat) => {
|
|
91
|
-
const
|
|
97
|
+
const label = `${(0, args_1.getNetworkName)(network).padEnd(networkWith)} ${addressFormat.padEnd(addressFormatWith)}`;
|
|
92
98
|
try {
|
|
93
|
-
return this.node(
|
|
99
|
+
return this.node(label, utxolib.addressFormat.fromOutputScriptWithFormat(outputScript, addressFormat, network));
|
|
94
100
|
}
|
|
95
101
|
catch (e) {
|
|
96
|
-
return this.node(
|
|
102
|
+
return this.node(label, 'undefined');
|
|
97
103
|
}
|
|
98
104
|
})));
|
|
99
105
|
}
|
|
@@ -115,7 +121,7 @@ class AddressParser extends Parser_1.Parser {
|
|
|
115
121
|
];
|
|
116
122
|
}
|
|
117
123
|
parse(input) {
|
|
118
|
-
const networks = this.params.network ? [this.params.network] :
|
|
124
|
+
const networks = this.params.network ? [this.params.network] : (0, args_1.getNetworkList)();
|
|
119
125
|
const matches = networks.flatMap((network) => {
|
|
120
126
|
try {
|
|
121
127
|
const [addressFormat, buffer] = utxolib.addressFormat.toOutputScriptAndFormat(input, network);
|
|
@@ -135,7 +141,7 @@ class AddressParser extends Parser_1.Parser {
|
|
|
135
141
|
}
|
|
136
142
|
nodes.push(this.node('format', firstMatch.addressFormat));
|
|
137
143
|
nodes.push(this.node('outputScript', firstMatch.buffer, this.parseOutputScript(firstMatch.buffer)));
|
|
138
|
-
nodes.push(this.node('network', matches.map((m) =>
|
|
144
|
+
nodes.push(this.node('network', matches.map((m) => (0, args_1.getNetworkName)(m.network)).join(', ')));
|
|
139
145
|
if (this.params.all || this.params.convert) {
|
|
140
146
|
nodes.push(this.convert(firstMatch.buffer));
|
|
141
147
|
}
|
|
@@ -144,4 +150,4 @@ class AddressParser extends Parser_1.Parser {
|
|
|
144
150
|
}
|
|
145
151
|
}
|
|
146
152
|
exports.AddressParser = AddressParser;
|
|
147
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkcmVzc1BhcnNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BZGRyZXNzUGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUEyQztBQUMzQyxpQ0FBaUM7QUFFakMscUNBQThDO0FBRTlDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUM3QixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDdkMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBRTNDLFNBQVMsV0FBVyxDQUFDLENBQVM7SUFDNUIsdUNBQXVDO0lBQ3ZDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVELE1BQWEsYUFBYyxTQUFRLGVBQU07SUFDdkMsWUFDUyxNQUlOO1FBRUQsS0FBSyxFQUFFLENBQUM7UUFORCxXQUFNLEdBQU4sTUFBTSxDQUlaO0lBR0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQWM7UUFDN0IsSUFBSSxJQUEwQixDQUFDO1FBQy9CLElBQUk7WUFDRixDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3pEO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixTQUFTO1NBQ1Y7UUFDRCxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsT0FBTyxFQUFFLENBQUM7U0FDWDtRQUNELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN6QixJQUFJLElBQUksQ0FBQztZQUNULElBQUk7Z0JBQ0YsSUFBSSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDN0I7WUFBQyxPQUFP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QyxDQUFDLENBQUM7WUFDMUQsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRW5HLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQzFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzthQUM3QztTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGO0FBcktELHNDQXFLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCAqIGFzIGJlY2gzMiBmcm9tICdiZWNoMzInO1xuXG5pbXBvcnQgeyBQYXJzZXIsIFBhcnNlck5vZGUgfSBmcm9tICcuL1BhcnNlcic7XG5cbmNvbnN0IGJzNTggPSByZXF1aXJlKCdiczU4Jyk7XG5jb25zdCBiczU4Y2hlY2sgPSByZXF1aXJlKCdiczU4Y2hlY2snKTtcbmNvbnN0IGNhc2hhZGRyZXNzID0gcmVxdWlyZSgnY2FzaGFkZHJlc3MnKTtcblxuZnVuY3Rpb24gaXNQcmludGFibGUoczogc3RyaW5nKTogYm9vbGVhbiB7XG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS82NjQ0NzQ5NFxuICByZXR1cm4gIXMubWF0Y2goL1tcXHB7Q2N9XFxwe0NufVxccHtDc31dKy9ndSk7XG59XG5cbmV4cG9ydCBjbGFzcyBBZGRyZXNzUGFyc2VyIGV4dGVuZHMgUGFyc2VyIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHBhcmFtczoge1xuICAgICAgbmV0d29yaz86IHV0eG9saWIuTmV0d29yaztcbiAgICAgIGFsbDogYm9vbGVhbjtcbiAgICAgIGNvbnZlcnQ6IGJvb2xlYW47XG4gICAgfVxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgdHJ5UGFyc2VPcFJldHVybihzY3JpcHQ6IEJ1ZmZlcik6IFBhcnNlck5vZGVbXSB7XG4gICAgbGV0IGRhdGE6IEJ1ZmZlcltdIHwgdW5kZWZpbmVkO1xuICAgIHRyeSB7XG4gICAgICAoeyBkYXRhIH0gPSB1dHhvbGliLnBheW1lbnRzLmVtYmVkKHsgb3V0cHV0OiBzY3JpcHQgfSkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIC8vIGlnbm9yZVxuICAgIH1cbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuIGRhdGEubWFwKChidWYsIGkpID0+IHtcbiAgICAgIGxldCB1dGY4O1xuICAgICAgdHJ5IHtcbiAgICAgICAgdXRmOCA9IGJ1Zi50b1N0cmluZygndXRmOCcpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvLyBpZ25vcmVcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLm5vZGUoYE9QX1JFVFVSTiAke2l9YCwgYCR7YnVmLmxlbmd0aH0gYnl0ZXNgLCBbXG4gICAgICAgIHRoaXMubm9kZSgnaGV4JywgYnVmKSxcbiAgICAgICAgLi4uKHV0ZjggJiYgaXNQcmludGFibGUodXRmOCkgPyBbdGhpcy5ub2RlKCd1dGY4JywgdXRmOCldIDogW10pLFxuICAgICAgXSk7XG4gICAgfSk7XG4gIH1cblxuICBwYXJzZU91dHB1dFNjcmlwdChidWZmZXI6IEJ1ZmZlcik6IFBhcnNlck5vZGVbXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMubm9kZSgnc2NyaXB0UHViS2V5JywgYFske2J1ZmZlci5sZW5ndGh9Ynl0ZV1gLCBbXG4gICAgICAgIHRoaXMubm9kZSgndHlwZScsIHV0eG9saWIuY2xhc3NpZnkub3V0cHV0KGJ1ZmZlcikpLFxuICAgICAgICB0aGlzLm5vZGUoJ2hleCcsIGJ1ZmZlci50b1N0cmluZygnaGV4JykpLFxuICAgICAgICB0aGlzLm5vZGUoJ2FzbScsIHV0eG9saWIuc2NyaXB0LnRvQVNNKGJ1ZmZlciksIHRoaXMudHJ5UGFyc2VPcFJldHVybihidWZmZXIpKSxcbiAgICAgIF0pLFxuICAgIF07XG4gIH1cblxuICBwYXJzZUJhc2U1OChhZGRyZXNzOiBzdHJpbmcpOiBQYXJzZXJOb2RlW10ge1xuICAgIGNvbnN0IHBheWxvYWQgPSBiczU4LmRlY29kZShhZGRyZXNzKTtcbiAgICByZXR1cm4gW3RoaXMubm9kZSgncGF5bG9hZCcsIHBheWxvYWQpXTtcbiAgfVxuXG4gIHBhcnNlQmFzZTU4Q2hlY2soYWRkcmVzczogc3RyaW5nKTogUGFyc2VyTm9kZVtdIHtcbiAgICBjb25zdCBwYXlsb2FkID0gYnM1OGNoZWNrLmRlY29kZShhZGRyZXNzKTtcbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy5ub2RlKCdwYXlsb2FkJywgcGF5bG9hZCksXG4gICAgICB0aGlzLm5vZGUoJ3ZlcnNpb24nLCBwYXlsb2FkLnJlYWRVSW50OCgwKS50b1N0cmluZygnMTYnKSksXG4gICAgICB0aGlzLm5vZGUoJ2hhc2gnLCBwYXlsb2FkLnNsaWNlKDEpKSxcbiAgICBdO1xuICB9XG5cbiAgcGFyc2VXaXRoQmVjaExpYihiZWNobGliOiBiZWNoMzIuQmVjaExpYiwgYWRkcmVzczogc3RyaW5nKTogUGFyc2VyTm9kZVtdIHtcbiAgICBjb25zdCBkZWNvZGVkID0gYmVjaGxpYi5kZWNvZGUoYWRkcmVzcyk7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMubm9kZSgncHJlZml4JywgZGVjb2RlZC5wcmVmaXgpLFxuICAgICAgdGhpcy5ub2RlKCd3b3JkcycsIEJ1ZmZlci5mcm9tKGRlY29kZWQud29yZHMpKSxcbiAgICAgIHRoaXMubm9kZSgnYnl0ZXMnLCBCdWZmZXIuZnJvbShiZWNobGliLmZyb21Xb3JkcyhkZWNvZGVkLndvcmRzKSkpLFxuICAgIF07XG4gIH1cblxuICBwYXJzZUJlY2gzMihhZGRyZXNzOiBzdHJpbmcpOiBQYXJzZXJOb2RlW10ge1xuICAgIHJldHVybiB0aGlzLnBhcnNlV2l0aEJlY2hMaWIoYmVjaDMyLmJlY2gzMiwgYWRkcmVzcyk7XG4gIH1cblxuICBwYXJzZUJlY2gzMm0oYWRkcmVzczogc3RyaW5nKTogUGFyc2VyTm9kZVtdIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZVdpdGhCZWNoTGliKGJlY2gzMi5iZWNoMzJtLCBhZGRyZXNzKTtcbiAgfVxuXG4gIHBhcnNlQ2FzaGFkZHIoYWRkcmVzczogc3RyaW5nKTogUGFyc2VyTm9kZVtdIHtcbiAgICBjb25zdCBwYXlsb2FkID0gY2FzaGFkZHJlc3MuZGVjb2RlKGFkZHJlc3MpO1xuICAgIHJldHVybiBbXG4gICAgICB0aGlzLm5vZGUoJ3ByZWZpeCcsIHBheWxvYWQucHJlZml4KSxcbiAgICAgIHRoaXMubm9kZSgndmVyc2lvbicsIHBheWxvYWQudmVyc2lvbiksXG4gICAgICB0aGlzLm5vZGUoJ2hhc2gnLCBwYXlsb2FkLmhhc2gpLFxuICAgIF07XG4gIH1cblxuICBjb252ZXJ0KG91dHB1dFNjcmlwdDogQnVmZmVyKTogUGFyc2VyTm9kZSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZShcbiAgICAgICdjb252ZXJ0ZWQnLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgdXR4b2xpYi5nZXROZXR3b3JrTGlzdCgpLmZsYXRNYXAoKG5ldHdvcmspID0+XG4gICAgICAgIHV0eG9saWIuYWRkcmVzc0Zvcm1hdC5hZGRyZXNzRm9ybWF0c1xuICAgICAgICAgIC5maWx0ZXIoKGYpID0+IHV0eG9saWIuYWRkcmVzc0Zvcm1hdC5pc1N1cHBvcnRlZEFkZHJlc3NGb3JtYXQoZiwgbmV0d29yaykpXG4gICAgICAgICAgLm1hcCgoYWRkcmVzc0Zvcm1hdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IHV0eG9saWIuZ2V0TmV0d29ya05hbWUobmV0d29yaykgYXMgc3RyaW5nO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubm9kZShcbiAgICAgICAgICAgICAgICBgJHtuYW1lfSAke2FkZHJlc3NGb3JtYXR9YCxcbiAgICAgICAgICAgICAgICB1dHhvbGliLmFkZHJlc3NGb3JtYXQuZnJvbU91dHB1dFNjcmlwdFdpdGhGb3JtYXQob3V0cHV0U2NyaXB0LCBhZGRyZXNzRm9ybWF0LCBuZXR3b3JrKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5ub2RlKGAke25hbWV9ICR7YWRkcmVzc0Zvcm1hdH1gLCAndW5kZWZpbmVkJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcGFyc2VUb0J5dGVzKGlucHV0OiBzdHJpbmcpOiBQYXJzZXJOb2RlW10ge1xuICAgIHR5cGUgRGVjb2RlciA9IChhZGRyZXNzOiBzdHJpbmcpID0+IFBhcnNlck5vZGVbXTtcbiAgICBjb25zdCBkZWNvZGVXaXRoID0gKG5hbWU6IHN0cmluZywgZGVjb2RlcjogRGVjb2Rlcik6IFBhcnNlck5vZGVbXSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gW3RoaXMubm9kZShuYW1lLCB1bmRlZmluZWQsIGRlY29kZXIoaW5wdXQpKV07XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhcmFtcy5hbGwgPyBbdGhpcy5ub2RlKG5hbWUsIHVuZGVmaW5lZCwgW3RoaXMubm9kZSgnZGVjb2RlRXJyb3InLCBTdHJpbmcoZSkpXSldIDogW107XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiBbXG4gICAgICAuLi5kZWNvZGVXaXRoKCdiYXNlNTgnLCB0aGlzLnBhcnNlQmFzZTU4LmJpbmQodGhpcykpLFxuICAgICAgLi4uZGVjb2RlV2l0aCgnYmFzZTU4Q2hlY2snLCB0aGlzLnBhcnNlQmFzZTU4Q2hlY2suYmluZCh0aGlzKSksXG4gICAgICAuLi5kZWNvZGVXaXRoKCdiZWNoMzInLCB0aGlzLnBhcnNlQmVjaDMyLmJpbmQodGhpcykpLFxuICAgICAgLi4uZGVjb2RlV2l0aCgnYmVjaDMybScsIHRoaXMucGFyc2VCZWNoMzJtLmJpbmQodGhpcykpLFxuICAgICAgLi4uZGVjb2RlV2l0aCgnY2FzaGFkZHInLCB0aGlzLnBhcnNlQ2FzaGFkZHIuYmluZCh0aGlzKSksXG4gICAgXTtcbiAgfVxuXG4gIHBhcnNlKGlucHV0OiBzdHJpbmcpOiBQYXJzZXJOb2RlIHtcbiAgICBjb25zdCBuZXR3b3JrcyA9IHRoaXMucGFyYW1zLm5ldHdvcmsgPyBbdGhpcy5wYXJhbXMubmV0d29ya10gOiB1dHhvbGliLmdldE5ldHdvcmtMaXN0KCk7XG5cbiAgICB0eXBlIE1hdGNoID0ge1xuICAgICAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrO1xuICAgICAgYWRkcmVzczogc3RyaW5nO1xuICAgICAgYWRkcmVzc0Zvcm1hdDogdXR4b2xpYi5hZGRyZXNzRm9ybWF0LkFkZHJlc3NGb3JtYXQ7XG4gICAgICBidWZmZXI6IEJ1ZmZlcjtcbiAgICB9O1xuICAgIGNvbnN0IG1hdGNoZXM6IE1hdGNoW10gPSBuZXR3b3Jrcy5mbGF0TWFwKChuZXR3b3JrKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBbYWRkcmVzc0Zvcm1hdCwgYnVmZmVyXSA9IHV0eG9saWIuYWRkcmVzc0Zvcm1hdC50b091dHB1dFNjcmlwdEFuZEZvcm1hdChpbnB1dCwgbmV0d29yayk7XG4gICAgICAgIGNvbnN0IGFkZHJlc3MgPSB1dHhvbGliLmFkZHJlc3NGb3JtYXQuZnJvbU91dHB1dFNjcmlwdFdpdGhGb3JtYXQoYnVmZmVyLCBhZGRyZXNzRm9ybWF0LCBuZXR3b3JrKTtcbiAgICAgICAgcmV0dXJuIFt7IG5ldHdvcmssIGFkZHJlc3MsIGFkZHJlc3NGb3JtYXQsIGJ1ZmZlciB9XTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGZpcnN0TWF0Y2ggPSBtYXRjaGVzWzBdO1xuICAgIGNvbnN0IG5vZGVzOiBQYXJzZXJOb2RlW10gPSBbXTtcblxuICAgIG5vZGVzLnB1c2goLi4udGhpcy5wYXJzZVRvQnl0ZXMoaW5wdXQpKTtcblxuICAgIGlmIChmaXJzdE1hdGNoKSB7XG4gICAgICBpZiAoaW5wdXQgIT09IGZpcnN0TWF0Y2guYWRkcmVzcykge1xuICAgICAgICBub2Rlcy5wdXNoKHRoaXMubm9kZSgnbm9ybWFsaXplZCcsIGZpcnN0TWF0Y2guYWRkcmVzcywgdGhpcy5wYXJzZVRvQnl0ZXMoZmlyc3RNYXRjaC5hZGRyZXNzKSkpO1xuICAgICAgfVxuXG4gICAgICBub2Rlcy5wdXNoKHRoaXMubm9kZSgnZm9ybWF0JywgZmlyc3RNYXRjaC5hZGRyZXNzRm9ybWF0KSk7XG4gICAgICBub2Rlcy5wdXNoKHRoaXMubm9kZSgnb3V0cHV0U2NyaXB0JywgZmlyc3RNYXRjaC5idWZmZXIsIHRoaXMucGFyc2VPdXRwdXRTY3JpcHQoZmlyc3RNYXRjaC5idWZmZXIpKSk7XG4gICAgICBub2Rlcy5wdXNoKHRoaXMubm9kZSgnbmV0d29yaycsIG1hdGNoZXMubWFwKChtKSA9PiB1dHhvbGliLmdldE5ldHdvcmtOYW1lKG0ubmV0d29yaykpLmpvaW4oJywgJykpKTtcblxuICAgICAgaWYgKHRoaXMucGFyYW1zLmFsbCB8fCB0aGlzLnBhcmFtcy5jb252ZXJ0KSB7XG4gICAgICAgIG5vZGVzLnB1c2godGhpcy5jb252ZXJ0KGZpcnN0TWF0Y2guYnVmZmVyKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubm9kZSgnYWRkcmVzcycsIGlucHV0LCBub2Rlcyk7XG4gIH1cbn1cbiJdfQ==
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWRkcmVzc1BhcnNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BZGRyZXNzUGFyc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUEyQztBQUMzQyxpQ0FBaUM7QUFFakMscUNBQThDO0FBQzlDLGlDQUF3RDtBQUV4RCxNQUFNLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDN0IsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3ZDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUUzQyxTQUFTLFdBQVcsQ0FBQyxDQUFTO0lBQzVCLHVDQUF1QztJQUN2QyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFFRCxNQUFhLGFBQWMsU0FBUSxlQUFNO0lBQ3ZDLFlBQ1MsTUFJTjtRQUVELEtBQUssRUFBRSxDQUFDO1FBTkQsV0FBTSxHQUFOLE1BQU0sQ0FJWjtJQUdILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxNQUFjO1FBQzdCLElBQUksSUFBMEIsQ0FBQztRQUMvQixJQUFJO1lBQ0YsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN6RDtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsU0FBUztTQUNWO1FBQ0QsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU8sRUFBRSxDQUFDO1NBQ1g7UUFDRCxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekIsSUFBSSxJQUFJLENBQUM7WUFDVCxJQUFJO2dCQUNGLElBQUksR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzdCO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsU0FBUzthQUNWO1lBQ0QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsTUFBTSxRQUFRLEVBQUU7Z0JBQ3hELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQztnQkFDckIsR0FBRyxDQUFDLElBQUksSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQ2hFLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGlCQUFpQixDQUFDLE1BQWM7UUFDOUIsT0FBTztZQUNMLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksTUFBTSxDQUFDLE1BQU0sT0FBTyxFQUFFO2dCQUNsRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzlFLENBQUM7U0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFlO1FBQ3pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELGdCQUFnQixDQUFDLE9BQWU7UUFDOUIsTUFBTSxPQUFPLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxPQUFPO1lBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDO1lBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDcEMsQ0FBQztJQUNKLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxPQUF1QixFQUFFLE9BQWU7UUFDdkQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxPQUFPO1lBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQztZQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDbEUsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBZTtRQUN6QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxZQUFZLENBQUMsT0FBZTtRQUMxQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxhQUFhLENBQUMsT0FBZTtRQUMzQixNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLE9BQU87WUFDTCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ25DLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUM7WUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQztTQUNoQyxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sQ0FBQyxZQUFvQjtRQUMxQixTQUFTLFFBQVEsQ0FBQyxJQUF1QjtZQUN2QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUEscUJBQWMsR0FBRSxDQUFDLEdBQUcsQ0FBQyxxQkFBYyxDQUFDLENBQUMsQ0FBQztRQUNuRSxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FDZCxXQUFXLEVBQ1gsU0FBUyxFQUNULElBQUEscUJBQWMsR0FBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ25DLE9BQU8sQ0FBQyxhQUFhLENBQUMsY0FBYzthQUNqQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2FBQ3pFLEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQ3JCLE1BQU0sS0FBSyxHQUFHLEdBQUcsSUFBQSxxQkFBYyxFQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztZQUMxRyxJQUFJO2dCQUNGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FDZCxLQUFLLEVBQ0wsT0FBTyxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUN2RixDQUFDO2FBQ0g7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO2FBQ3RDO1FBQ0gsQ0FBQyxDQUFDLENBQ0wsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFhO1FBRXhCLE1BQU0sVUFBVSxHQUFHLENBQUMsSUFBWSxFQUFFLE9BQWdCLEVBQWdCLEVBQUU7WUFDbEUsSUFBSTtnQkFDRixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDckQ7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDbkc7UUFDSCxDQUFDLENBQUM7UUFFRixPQUFPO1lBQ0wsR0FBRyxVQUFVLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BELEdBQUcsVUFBVSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzlELEdBQUcsVUFBVSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwRCxHQUFHLFVBQVUsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEQsR0FBRyxVQUFVLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3pELENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQWE7UUFDakIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBQSxxQkFBYyxHQUFFLENBQUM7UUFRaEYsTUFBTSxPQUFPLEdBQVksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3BELElBQUk7Z0JBQ0YsTUFBTSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDOUYsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNqRyxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO2FBQ3REO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1YsT0FBTyxFQUFFLENBQUM7YUFDWDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlCLE1BQU0sS0FBSyxHQUFpQixFQUFFLENBQUM7UUFFL0IsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUV4QyxJQUFJLFVBQVUsRUFBRTtZQUNkLElBQUksS0FBSyxLQUFLLFVBQVUsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDaEc7WUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQzFELEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUEscUJBQWMsRUFBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRTNGLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7Z0JBQzFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzthQUM3QztTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGO0FBMUtELHNDQTBLQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCAqIGFzIGJlY2gzMiBmcm9tICdiZWNoMzInO1xuXG5pbXBvcnQgeyBQYXJzZXIsIFBhcnNlck5vZGUgfSBmcm9tICcuL1BhcnNlcic7XG5pbXBvcnQgeyBnZXROZXR3b3JrTGlzdCwgZ2V0TmV0d29ya05hbWUgfSBmcm9tICcuL2FyZ3MnO1xuXG5jb25zdCBiczU4ID0gcmVxdWlyZSgnYnM1OCcpO1xuY29uc3QgYnM1OGNoZWNrID0gcmVxdWlyZSgnYnM1OGNoZWNrJyk7XG5jb25zdCBjYXNoYWRkcmVzcyA9IHJlcXVpcmUoJ2Nhc2hhZGRyZXNzJyk7XG5cbmZ1bmN0aW9uIGlzUHJpbnRhYmxlKHM6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvNjY0NDc0OTRcbiAgcmV0dXJuICFzLm1hdGNoKC9bXFxwe0NjfVxccHtDbn1cXHB7Q3N9XSsvZ3UpO1xufVxuXG5leHBvcnQgY2xhc3MgQWRkcmVzc1BhcnNlciBleHRlbmRzIFBhcnNlciB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBwYXJhbXM6IHtcbiAgICAgIG5ldHdvcms/OiB1dHhvbGliLk5ldHdvcms7XG4gICAgICBhbGw6IGJvb2xlYW47XG4gICAgICBjb252ZXJ0OiBib29sZWFuO1xuICAgIH1cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHRyeVBhcnNlT3BSZXR1cm4oc2NyaXB0OiBCdWZmZXIpOiBQYXJzZXJOb2RlW10ge1xuICAgIGxldCBkYXRhOiBCdWZmZXJbXSB8IHVuZGVmaW5lZDtcbiAgICB0cnkge1xuICAgICAgKHsgZGF0YSB9ID0gdXR4b2xpYi5wYXltZW50cy5lbWJlZCh7IG91dHB1dDogc2NyaXB0IH0pKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBpZ25vcmVcbiAgICB9XG4gICAgaWYgKCFkYXRhKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICAgIHJldHVybiBkYXRhLm1hcCgoYnVmLCBpKSA9PiB7XG4gICAgICBsZXQgdXRmODtcbiAgICAgIHRyeSB7XG4gICAgICAgIHV0ZjggPSBidWYudG9TdHJpbmcoJ3V0ZjgnKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gaWdub3JlXG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5ub2RlKGBPUF9SRVRVUk4gJHtpfWAsIGAke2J1Zi5sZW5ndGh9IGJ5dGVzYCwgW1xuICAgICAgICB0aGlzLm5vZGUoJ2hleCcsIGJ1ZiksXG4gICAgICAgIC4uLih1dGY4ICYmIGlzUHJpbnRhYmxlKHV0ZjgpID8gW3RoaXMubm9kZSgndXRmOCcsIHV0ZjgpXSA6IFtdKSxcbiAgICAgIF0pO1xuICAgIH0pO1xuICB9XG5cbiAgcGFyc2VPdXRwdXRTY3JpcHQoYnVmZmVyOiBCdWZmZXIpOiBQYXJzZXJOb2RlW10ge1xuICAgIHJldHVybiBbXG4gICAgICB0aGlzLm5vZGUoJ3NjcmlwdFB1YktleScsIGBbJHtidWZmZXIubGVuZ3RofWJ5dGVdYCwgW1xuICAgICAgICB0aGlzLm5vZGUoJ3R5cGUnLCB1dHhvbGliLmNsYXNzaWZ5Lm91dHB1dChidWZmZXIpKSxcbiAgICAgICAgdGhpcy5ub2RlKCdoZXgnLCBidWZmZXIudG9TdHJpbmcoJ2hleCcpKSxcbiAgICAgICAgdGhpcy5ub2RlKCdhc20nLCB1dHhvbGliLnNjcmlwdC50b0FTTShidWZmZXIpLCB0aGlzLnRyeVBhcnNlT3BSZXR1cm4oYnVmZmVyKSksXG4gICAgICBdKSxcbiAgICBdO1xuICB9XG5cbiAgcGFyc2VCYXNlNTgoYWRkcmVzczogc3RyaW5nKTogUGFyc2VyTm9kZVtdIHtcbiAgICBjb25zdCBwYXlsb2FkID0gYnM1OC5kZWNvZGUoYWRkcmVzcyk7XG4gICAgcmV0dXJuIFt0aGlzLm5vZGUoJ3BheWxvYWQnLCBwYXlsb2FkKV07XG4gIH1cblxuICBwYXJzZUJhc2U1OENoZWNrKGFkZHJlc3M6IHN0cmluZyk6IFBhcnNlck5vZGVbXSB7XG4gICAgY29uc3QgcGF5bG9hZCA9IGJzNThjaGVjay5kZWNvZGUoYWRkcmVzcyk7XG4gICAgcmV0dXJuIFtcbiAgICAgIHRoaXMubm9kZSgncGF5bG9hZCcsIHBheWxvYWQpLFxuICAgICAgdGhpcy5ub2RlKCd2ZXJzaW9uJywgcGF5bG9hZC5yZWFkVUludDgoMCkudG9TdHJpbmcoJzE2JykpLFxuICAgICAgdGhpcy5ub2RlKCdoYXNoJywgcGF5bG9hZC5zbGljZSgxKSksXG4gICAgXTtcbiAgfVxuXG4gIHBhcnNlV2l0aEJlY2hMaWIoYmVjaGxpYjogYmVjaDMyLkJlY2hMaWIsIGFkZHJlc3M6IHN0cmluZyk6IFBhcnNlck5vZGVbXSB7XG4gICAgY29uc3QgZGVjb2RlZCA9IGJlY2hsaWIuZGVjb2RlKGFkZHJlc3MpO1xuICAgIHJldHVybiBbXG4gICAgICB0aGlzLm5vZGUoJ3ByZWZpeCcsIGRlY29kZWQucHJlZml4KSxcbiAgICAgIHRoaXMubm9kZSgnd29yZHMnLCBCdWZmZXIuZnJvbShkZWNvZGVkLndvcmRzKSksXG4gICAgICB0aGlzLm5vZGUoJ2J5dGVzJywgQnVmZmVyLmZyb20oYmVjaGxpYi5mcm9tV29yZHMoZGVjb2RlZC53b3JkcykpKSxcbiAgICBdO1xuICB9XG5cbiAgcGFyc2VCZWNoMzIoYWRkcmVzczogc3RyaW5nKTogUGFyc2VyTm9kZVtdIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZVdpdGhCZWNoTGliKGJlY2gzMi5iZWNoMzIsIGFkZHJlc3MpO1xuICB9XG5cbiAgcGFyc2VCZWNoMzJtKGFkZHJlc3M6IHN0cmluZyk6IFBhcnNlck5vZGVbXSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VXaXRoQmVjaExpYihiZWNoMzIuYmVjaDMybSwgYWRkcmVzcyk7XG4gIH1cblxuICBwYXJzZUNhc2hhZGRyKGFkZHJlc3M6IHN0cmluZyk6IFBhcnNlck5vZGVbXSB7XG4gICAgY29uc3QgcGF5bG9hZCA9IGNhc2hhZGRyZXNzLmRlY29kZShhZGRyZXNzKTtcbiAgICByZXR1cm4gW1xuICAgICAgdGhpcy5ub2RlKCdwcmVmaXgnLCBwYXlsb2FkLnByZWZpeCksXG4gICAgICB0aGlzLm5vZGUoJ3ZlcnNpb24nLCBwYXlsb2FkLnZlcnNpb24pLFxuICAgICAgdGhpcy5ub2RlKCdoYXNoJywgcGF5bG9hZC5oYXNoKSxcbiAgICBdO1xuICB9XG5cbiAgY29udmVydChvdXRwdXRTY3JpcHQ6IEJ1ZmZlcik6IFBhcnNlck5vZGUge1xuICAgIGZ1bmN0aW9uIGdldFdpZHRoKGxpc3Q6IHJlYWRvbmx5IHN0cmluZ1tdKTogbnVtYmVyIHtcbiAgICAgIHJldHVybiBNYXRoLm1heCguLi5saXN0Lm1hcCgocykgPT4gcy5sZW5ndGgpKTtcbiAgICB9XG4gICAgY29uc3QgbmV0d29ya1dpdGggPSBnZXRXaWR0aChnZXROZXR3b3JrTGlzdCgpLm1hcChnZXROZXR3b3JrTmFtZSkpO1xuICAgIGNvbnN0IGFkZHJlc3NGb3JtYXRXaXRoID0gZ2V0V2lkdGgodXR4b2xpYi5hZGRyZXNzRm9ybWF0LmFkZHJlc3NGb3JtYXRzKTtcbiAgICByZXR1cm4gdGhpcy5ub2RlKFxuICAgICAgJ2NvbnZlcnRlZCcsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICBnZXROZXR3b3JrTGlzdCgpLmZsYXRNYXAoKG5ldHdvcmspID0+XG4gICAgICAgIHV0eG9saWIuYWRkcmVzc0Zvcm1hdC5hZGRyZXNzRm9ybWF0c1xuICAgICAgICAgIC5maWx0ZXIoKGYpID0+IHV0eG9saWIuYWRkcmVzc0Zvcm1hdC5pc1N1cHBvcnRlZEFkZHJlc3NGb3JtYXQoZiwgbmV0d29yaykpXG4gICAgICAgICAgLm1hcCgoYWRkcmVzc0Zvcm1hdCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBgJHtnZXROZXR3b3JrTmFtZShuZXR3b3JrKS5wYWRFbmQobmV0d29ya1dpdGgpfSAke2FkZHJlc3NGb3JtYXQucGFkRW5kKGFkZHJlc3NGb3JtYXRXaXRoKX1gO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubm9kZShcbiAgICAgICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgICAgICB1dHhvbGliLmFkZHJlc3NGb3JtYXQuZnJvbU91dHB1dFNjcmlwdFdpdGhGb3JtYXQob3V0cHV0U2NyaXB0LCBhZGRyZXNzRm9ybWF0LCBuZXR3b3JrKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5ub2RlKGxhYmVsLCAndW5kZWZpbmVkJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcGFyc2VUb0J5dGVzKGlucHV0OiBzdHJpbmcpOiBQYXJzZXJOb2RlW10ge1xuICAgIHR5cGUgRGVjb2RlciA9IChhZGRyZXNzOiBzdHJpbmcpID0+IFBhcnNlck5vZGVbXTtcbiAgICBjb25zdCBkZWNvZGVXaXRoID0gKG5hbWU6IHN0cmluZywgZGVjb2RlcjogRGVjb2Rlcik6IFBhcnNlck5vZGVbXSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gW3RoaXMubm9kZShuYW1lLCB1bmRlZmluZWQsIGRlY29kZXIoaW5wdXQpKV07XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhcmFtcy5hbGwgPyBbdGhpcy5ub2RlKG5hbWUsIHVuZGVmaW5lZCwgW3RoaXMubm9kZSgnZGVjb2RlRXJyb3InLCBTdHJpbmcoZSkpXSldIDogW107XG4gICAgICB9XG4gICAgfTtcblxuICAgIHJldHVybiBbXG4gICAgICAuLi5kZWNvZGVXaXRoKCdiYXNlNTgnLCB0aGlzLnBhcnNlQmFzZTU4LmJpbmQodGhpcykpLFxuICAgICAgLi4uZGVjb2RlV2l0aCgnYmFzZTU4Q2hlY2snLCB0aGlzLnBhcnNlQmFzZTU4Q2hlY2suYmluZCh0aGlzKSksXG4gICAgICAuLi5kZWNvZGVXaXRoKCdiZWNoMzInLCB0aGlzLnBhcnNlQmVjaDMyLmJpbmQodGhpcykpLFxuICAgICAgLi4uZGVjb2RlV2l0aCgnYmVjaDMybScsIHRoaXMucGFyc2VCZWNoMzJtLmJpbmQodGhpcykpLFxuICAgICAgLi4uZGVjb2RlV2l0aCgnY2FzaGFkZHInLCB0aGlzLnBhcnNlQ2FzaGFkZHIuYmluZCh0aGlzKSksXG4gICAgXTtcbiAgfVxuXG4gIHBhcnNlKGlucHV0OiBzdHJpbmcpOiBQYXJzZXJOb2RlIHtcbiAgICBjb25zdCBuZXR3b3JrcyA9IHRoaXMucGFyYW1zLm5ldHdvcmsgPyBbdGhpcy5wYXJhbXMubmV0d29ya10gOiBnZXROZXR3b3JrTGlzdCgpO1xuXG4gICAgdHlwZSBNYXRjaCA9IHtcbiAgICAgIG5ldHdvcms6IHV0eG9saWIuTmV0d29yaztcbiAgICAgIGFkZHJlc3M6IHN0cmluZztcbiAgICAgIGFkZHJlc3NGb3JtYXQ6IHV0eG9saWIuYWRkcmVzc0Zvcm1hdC5BZGRyZXNzRm9ybWF0O1xuICAgICAgYnVmZmVyOiBCdWZmZXI7XG4gICAgfTtcbiAgICBjb25zdCBtYXRjaGVzOiBNYXRjaFtdID0gbmV0d29ya3MuZmxhdE1hcCgobmV0d29yaykgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgW2FkZHJlc3NGb3JtYXQsIGJ1ZmZlcl0gPSB1dHhvbGliLmFkZHJlc3NGb3JtYXQudG9PdXRwdXRTY3JpcHRBbmRGb3JtYXQoaW5wdXQsIG5ldHdvcmspO1xuICAgICAgICBjb25zdCBhZGRyZXNzID0gdXR4b2xpYi5hZGRyZXNzRm9ybWF0LmZyb21PdXRwdXRTY3JpcHRXaXRoRm9ybWF0KGJ1ZmZlciwgYWRkcmVzc0Zvcm1hdCwgbmV0d29yayk7XG4gICAgICAgIHJldHVybiBbeyBuZXR3b3JrLCBhZGRyZXNzLCBhZGRyZXNzRm9ybWF0LCBidWZmZXIgfV07XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBmaXJzdE1hdGNoID0gbWF0Y2hlc1swXTtcbiAgICBjb25zdCBub2RlczogUGFyc2VyTm9kZVtdID0gW107XG5cbiAgICBub2Rlcy5wdXNoKC4uLnRoaXMucGFyc2VUb0J5dGVzKGlucHV0KSk7XG5cbiAgICBpZiAoZmlyc3RNYXRjaCkge1xuICAgICAgaWYgKGlucHV0ICE9PSBmaXJzdE1hdGNoLmFkZHJlc3MpIHtcbiAgICAgICAgbm9kZXMucHVzaCh0aGlzLm5vZGUoJ25vcm1hbGl6ZWQnLCBmaXJzdE1hdGNoLmFkZHJlc3MsIHRoaXMucGFyc2VUb0J5dGVzKGZpcnN0TWF0Y2guYWRkcmVzcykpKTtcbiAgICAgIH1cblxuICAgICAgbm9kZXMucHVzaCh0aGlzLm5vZGUoJ2Zvcm1hdCcsIGZpcnN0TWF0Y2guYWRkcmVzc0Zvcm1hdCkpO1xuICAgICAgbm9kZXMucHVzaCh0aGlzLm5vZGUoJ291dHB1dFNjcmlwdCcsIGZpcnN0TWF0Y2guYnVmZmVyLCB0aGlzLnBhcnNlT3V0cHV0U2NyaXB0KGZpcnN0TWF0Y2guYnVmZmVyKSkpO1xuICAgICAgbm9kZXMucHVzaCh0aGlzLm5vZGUoJ25ldHdvcmsnLCBtYXRjaGVzLm1hcCgobSkgPT4gZ2V0TmV0d29ya05hbWUobS5uZXR3b3JrKSkuam9pbignLCAnKSkpO1xuXG4gICAgICBpZiAodGhpcy5wYXJhbXMuYWxsIHx8IHRoaXMucGFyYW1zLmNvbnZlcnQpIHtcbiAgICAgICAgbm9kZXMucHVzaCh0aGlzLmNvbnZlcnQoZmlyc3RNYXRjaC5idWZmZXIpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5ub2RlKCdhZGRyZXNzJywgaW5wdXQsIG5vZGVzKTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import * as utxolib from '@bitgo/utxo-lib';
|
|
2
|
+
export declare const bitcoinRegtest: utxolib.Network;
|
|
2
3
|
export declare function getNetworkForName(name: string): utxolib.Network;
|
|
4
|
+
export declare function getNetworkName(network: utxolib.Network): string;
|
|
5
|
+
export declare function getNetworkList(): utxolib.Network[];
|
|
3
6
|
export declare function getNetwork(argv: {
|
|
4
7
|
network: string;
|
|
5
8
|
}): utxolib.Network;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseNetwork.d.ts","sourceRoot":"","sources":["../../../src/args/parseNetwork.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"parseNetwork.d.ts","sourceRoot":"","sources":["../../../src/args/parseNetwork.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAG3C,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,OAGpC,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAS/D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAK/D;AA0BD,wBAAgB,cAAc,IAAI,OAAO,CAAC,OAAO,EAAE,CAIlD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,OAAO,CAErE;AAED,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG;IAAE,YAAY,EAAE,IAAI,CAAA;CAAE,CAAC;AAElD,KAAK,aAAa,CAAC,QAAQ,IAAI;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,QAAQ,CAAC;IAClB,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC;CAC1C,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG;IACxD,OAAO,EAAE,aAAa,CAAC,OAAO,YAAY,CAAC,CAAC;CAC7C,CASA;AAED,wBAAgB,uBAAuB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG;IAC9D,OAAO,EAAE,YAAY,CAAC,aAAa,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC;CAC3D,CAIA"}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getNetworkOptionsDemand = exports.getNetworkOptions = exports.getNetwork = exports.getNetworkForName = void 0;
|
|
3
|
+
exports.getNetworkOptionsDemand = exports.getNetworkOptions = exports.getNetwork = exports.getNetworkList = exports.getNetworkName = exports.getNetworkForName = exports.bitcoinRegtest = void 0;
|
|
4
4
|
const utxolib = require("@bitgo/utxo-lib");
|
|
5
|
+
const utxo_lib_1 = require("@bitgo/utxo-lib");
|
|
6
|
+
exports.bitcoinRegtest = {
|
|
7
|
+
...utxolib.networks.testnet,
|
|
8
|
+
bech32: 'bcrt',
|
|
9
|
+
};
|
|
5
10
|
function getNetworkForName(name) {
|
|
11
|
+
if (name === 'bitcoinRegtest') {
|
|
12
|
+
return exports.bitcoinRegtest;
|
|
13
|
+
}
|
|
6
14
|
const network = utxolib.networks[name];
|
|
7
15
|
if (!network) {
|
|
8
16
|
throw new Error(`invalid network ${name}`);
|
|
@@ -10,6 +18,39 @@ function getNetworkForName(name) {
|
|
|
10
18
|
return network;
|
|
11
19
|
}
|
|
12
20
|
exports.getNetworkForName = getNetworkForName;
|
|
21
|
+
function getNetworkName(network) {
|
|
22
|
+
if (network === exports.bitcoinRegtest) {
|
|
23
|
+
return 'bitcoinRegtest';
|
|
24
|
+
}
|
|
25
|
+
return utxolib.getNetworkName(network);
|
|
26
|
+
}
|
|
27
|
+
exports.getNetworkName = getNetworkName;
|
|
28
|
+
const networkOrder = [
|
|
29
|
+
utxolib.networks.bitcoin,
|
|
30
|
+
utxolib.networks.bitcoincash,
|
|
31
|
+
utxolib.networks.bitcoingold,
|
|
32
|
+
utxolib.networks.bitcoinsv,
|
|
33
|
+
utxolib.networks.dash,
|
|
34
|
+
utxolib.networks.dogecoin,
|
|
35
|
+
utxolib.networks.ecash,
|
|
36
|
+
utxolib.networks.litecoin,
|
|
37
|
+
utxolib.networks.zcash,
|
|
38
|
+
];
|
|
39
|
+
function getNetworkOrderIndex(network) {
|
|
40
|
+
if (network === exports.bitcoinRegtest) {
|
|
41
|
+
network = utxolib.networks.bitcoin;
|
|
42
|
+
}
|
|
43
|
+
network = (0, utxo_lib_1.getMainnet)(network);
|
|
44
|
+
const index = networkOrder.indexOf(network);
|
|
45
|
+
if (index === -1) {
|
|
46
|
+
throw new Error(`unknown network ${network}`);
|
|
47
|
+
}
|
|
48
|
+
return index;
|
|
49
|
+
}
|
|
50
|
+
function getNetworkList() {
|
|
51
|
+
return [...utxolib.getNetworkList(), exports.bitcoinRegtest].sort((a, b) => getNetworkOrderIndex(a) - getNetworkOrderIndex(b) || getNetworkName(a).localeCompare(getNetworkName(b)));
|
|
52
|
+
}
|
|
53
|
+
exports.getNetworkList = getNetworkList;
|
|
13
54
|
function getNetwork(argv) {
|
|
14
55
|
return getNetworkForName(argv.network);
|
|
15
56
|
}
|
|
@@ -31,4 +72,4 @@ function getNetworkOptionsDemand(defaultValue) {
|
|
|
31
72
|
};
|
|
32
73
|
}
|
|
33
74
|
exports.getNetworkOptionsDemand = getNetworkOptionsDemand;
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VOZXR3b3JrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FyZ3MvcGFyc2VOZXR3b3JrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUEyQztBQUMzQyw4Q0FBNkM7QUFFaEMsUUFBQSxjQUFjLEdBQW9CO0lBQzdDLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPO0lBQzNCLE1BQU0sRUFBRSxNQUFNO0NBQ2YsQ0FBQztBQUVGLFNBQWdCLGlCQUFpQixDQUFDLElBQVk7SUFDNUMsSUFBSSxJQUFJLEtBQUssZ0JBQWdCLEVBQUU7UUFDN0IsT0FBTyxzQkFBYyxDQUFDO0tBQ3ZCO0lBQ0QsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUEyQixDQUFDLENBQUM7SUFDOUQsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDLENBQUM7S0FDNUM7SUFDRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBVEQsOENBU0M7QUFFRCxTQUFnQixjQUFjLENBQUMsT0FBd0I7SUFDckQsSUFBSSxPQUFPLEtBQUssc0JBQWMsRUFBRTtRQUM5QixPQUFPLGdCQUFnQixDQUFDO0tBQ3pCO0lBQ0QsT0FBTyxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBVyxDQUFDO0FBQ25ELENBQUM7QUFMRCx3Q0FLQztBQUVELE1BQU0sWUFBWSxHQUFHO0lBQ25CLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTztJQUN4QixPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVc7SUFDNUIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXO0lBQzVCLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUztJQUMxQixPQUFPLENBQUMsUUFBUSxDQUFDLElBQUk7SUFDckIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRO0lBQ3pCLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSztJQUN0QixPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVE7SUFDekIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLO0NBQ3ZCLENBQUM7QUFFRixTQUFTLG9CQUFvQixDQUFDLE9BQXdCO0lBQ3BELElBQUksT0FBTyxLQUFLLHNCQUFjLEVBQUU7UUFDOUIsT0FBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDO0tBQ3BDO0lBQ0QsT0FBTyxHQUFHLElBQUEscUJBQVUsRUFBQyxPQUFPLENBQUMsQ0FBQztJQUM5QixNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVDLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLE9BQU8sRUFBRSxDQUFDLENBQUM7S0FDL0M7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRCxTQUFnQixjQUFjO0lBQzVCLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxjQUFjLEVBQUUsRUFBRSxzQkFBYyxDQUFDLENBQUMsSUFBSSxDQUN2RCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxHQUFHLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2xILENBQUM7QUFDSixDQUFDO0FBSkQsd0NBSUM7QUFFRCxTQUFnQixVQUFVLENBQUMsSUFBeUI7SUFDbEQsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUZELGdDQUVDO0FBV0QsU0FBZ0IsaUJBQWlCLENBQUMsWUFBcUI7SUFHckQsT0FBTztRQUNMLE9BQU8sRUFBRTtZQUNQLElBQUksRUFBRSxRQUFRO1lBQ2QsV0FBVyxFQUFFLGNBQWM7WUFDM0IsT0FBTyxFQUFFLFlBQVk7WUFDckIsTUFBTSxFQUFFLGlCQUFpQjtTQUMxQjtLQUNGLENBQUM7QUFDSixDQUFDO0FBWEQsOENBV0M7QUFFRCxTQUFnQix1QkFBdUIsQ0FBQyxZQUFxQjtJQUczRCxPQUFPO1FBQ0wsT0FBTyxFQUFFLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRTtLQUM1RSxDQUFDO0FBQ0osQ0FBQztBQU5ELDBEQU1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgZ2V0TWFpbm5ldCB9IGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbmV4cG9ydCBjb25zdCBiaXRjb2luUmVndGVzdDogdXR4b2xpYi5OZXR3b3JrID0ge1xuICAuLi51dHhvbGliLm5ldHdvcmtzLnRlc3RuZXQsXG4gIGJlY2gzMjogJ2JjcnQnLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5ldHdvcmtGb3JOYW1lKG5hbWU6IHN0cmluZyk6IHV0eG9saWIuTmV0d29yayB7XG4gIGlmIChuYW1lID09PSAnYml0Y29pblJlZ3Rlc3QnKSB7XG4gICAgcmV0dXJuIGJpdGNvaW5SZWd0ZXN0O1xuICB9XG4gIGNvbnN0IG5ldHdvcmsgPSB1dHhvbGliLm5ldHdvcmtzW25hbWUgYXMgdXR4b2xpYi5OZXR3b3JrTmFtZV07XG4gIGlmICghbmV0d29yaykge1xuICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCBuZXR3b3JrICR7bmFtZX1gKTtcbiAgfVxuICByZXR1cm4gbmV0d29yaztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5ldHdvcmtOYW1lKG5ldHdvcms6IHV0eG9saWIuTmV0d29yayk6IHN0cmluZyB7XG4gIGlmIChuZXR3b3JrID09PSBiaXRjb2luUmVndGVzdCkge1xuICAgIHJldHVybiAnYml0Y29pblJlZ3Rlc3QnO1xuICB9XG4gIHJldHVybiB1dHhvbGliLmdldE5ldHdvcmtOYW1lKG5ldHdvcmspIGFzIHN0cmluZztcbn1cblxuY29uc3QgbmV0d29ya09yZGVyID0gW1xuICB1dHhvbGliLm5ldHdvcmtzLmJpdGNvaW4sXG4gIHV0eG9saWIubmV0d29ya3MuYml0Y29pbmNhc2gsXG4gIHV0eG9saWIubmV0d29ya3MuYml0Y29pbmdvbGQsXG4gIHV0eG9saWIubmV0d29ya3MuYml0Y29pbnN2LFxuICB1dHhvbGliLm5ldHdvcmtzLmRhc2gsXG4gIHV0eG9saWIubmV0d29ya3MuZG9nZWNvaW4sXG4gIHV0eG9saWIubmV0d29ya3MuZWNhc2gsXG4gIHV0eG9saWIubmV0d29ya3MubGl0ZWNvaW4sXG4gIHV0eG9saWIubmV0d29ya3MuemNhc2gsXG5dO1xuXG5mdW5jdGlvbiBnZXROZXR3b3JrT3JkZXJJbmRleChuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmspOiBudW1iZXIge1xuICBpZiAobmV0d29yayA9PT0gYml0Y29pblJlZ3Rlc3QpIHtcbiAgICBuZXR3b3JrID0gdXR4b2xpYi5uZXR3b3Jrcy5iaXRjb2luO1xuICB9XG4gIG5ldHdvcmsgPSBnZXRNYWlubmV0KG5ldHdvcmspO1xuICBjb25zdCBpbmRleCA9IG5ldHdvcmtPcmRlci5pbmRleE9mKG5ldHdvcmspO1xuICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGB1bmtub3duIG5ldHdvcmsgJHtuZXR3b3JrfWApO1xuICB9XG4gIHJldHVybiBpbmRleDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5ldHdvcmtMaXN0KCk6IHV0eG9saWIuTmV0d29ya1tdIHtcbiAgcmV0dXJuIFsuLi51dHhvbGliLmdldE5ldHdvcmtMaXN0KCksIGJpdGNvaW5SZWd0ZXN0XS5zb3J0KFxuICAgIChhLCBiKSA9PiBnZXROZXR3b3JrT3JkZXJJbmRleChhKSAtIGdldE5ldHdvcmtPcmRlckluZGV4KGIpIHx8IGdldE5ldHdvcmtOYW1lKGEpLmxvY2FsZUNvbXBhcmUoZ2V0TmV0d29ya05hbWUoYikpXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROZXR3b3JrKGFyZ3Y6IHsgbmV0d29yazogc3RyaW5nIH0pOiB1dHhvbGliLk5ldHdvcmsge1xuICByZXR1cm4gZ2V0TmV0d29ya0Zvck5hbWUoYXJndi5uZXR3b3JrKTtcbn1cblxudHlwZSBEZW1hbmRPcHRpb248VD4gPSBUICYgeyBkZW1hbmRPcHRpb246IHRydWUgfTtcblxudHlwZSBOZXR3b3JrT3B0aW9uPFREZWZhdWx0PiA9IHtcbiAgdHlwZTogJ3N0cmluZyc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGRlZmF1bHQ6IFREZWZhdWx0O1xuICBjb2VyY2U6IChhcmc6IHN0cmluZykgPT4gdXR4b2xpYi5OZXR3b3JrO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5ldHdvcmtPcHRpb25zKGRlZmF1bHRWYWx1ZT86IHN0cmluZyk6IHtcbiAgbmV0d29yazogTmV0d29ya09wdGlvbjx0eXBlb2YgZGVmYXVsdFZhbHVlPjtcbn0ge1xuICByZXR1cm4ge1xuICAgIG5ldHdvcms6IHtcbiAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgZGVzY3JpcHRpb246ICduZXR3b3JrIG5hbWUnLFxuICAgICAgZGVmYXVsdDogZGVmYXVsdFZhbHVlLFxuICAgICAgY29lcmNlOiBnZXROZXR3b3JrRm9yTmFtZSxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV0d29ya09wdGlvbnNEZW1hbmQoZGVmYXVsdFZhbHVlPzogc3RyaW5nKToge1xuICBuZXR3b3JrOiBEZW1hbmRPcHRpb248TmV0d29ya09wdGlvbjx0eXBlb2YgZGVmYXVsdFZhbHVlPj47XG59IHtcbiAgcmV0dXJuIHtcbiAgICBuZXR3b3JrOiB7IC4uLmdldE5ldHdvcmtPcHRpb25zKGRlZmF1bHRWYWx1ZSkubmV0d29yaywgZGVtYW5kT3B0aW9uOiB0cnVlIH0sXG4gIH07XG59XG4iXX0=
|
|
@@ -7,10 +7,10 @@ exports.cmdAddress = {
|
|
|
7
7
|
command: 'address <command>',
|
|
8
8
|
describe: 'address commands',
|
|
9
9
|
builder(b) {
|
|
10
|
-
return b.strict().command(cmdGenerate_1.cmdGenerateFixedScript).command(cmdParse_1.cmdParse).demandCommand();
|
|
10
|
+
return b.strict().command(cmdGenerate_1.cmdGenerateFixedScript).command(cmdGenerate_1.cmdFromDescriptor).command(cmdParse_1.cmdParse).demandCommand();
|
|
11
11
|
},
|
|
12
12
|
handler() {
|
|
13
13
|
// do nothing
|
|
14
14
|
},
|
|
15
15
|
};
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kQWRkcmVzcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSwrQ0FBMEU7QUFDMUUseUNBQXNDO0FBRXpCLFFBQUEsVUFBVSxHQUFvQztJQUN6RCxPQUFPLEVBQUUsbUJBQW1CO0lBQzVCLFFBQVEsRUFBRSxrQkFBa0I7SUFDNUIsT0FBTyxDQUFDLENBQUM7UUFDUCxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsb0NBQXNCLENBQUMsQ0FBQyxPQUFPLENBQUMsK0JBQWlCLENBQUMsQ0FBQyxPQUFPLENBQUMsbUJBQVEsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2pILENBQUM7SUFDRCxPQUFPO1FBQ0wsYUFBYTtJQUNmLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZE1vZHVsZSB9IGZyb20gJ3lhcmdzJztcblxuaW1wb3J0IHsgY21kRnJvbURlc2NyaXB0b3IsIGNtZEdlbmVyYXRlRml4ZWRTY3JpcHQgfSBmcm9tICcuL2NtZEdlbmVyYXRlJztcbmltcG9ydCB7IGNtZFBhcnNlIH0gZnJvbSAnLi9jbWRQYXJzZSc7XG5cbmV4cG9ydCBjb25zdCBjbWRBZGRyZXNzOiBDb21tYW5kTW9kdWxlPHVua25vd24sIHVua25vd24+ID0ge1xuICBjb21tYW5kOiAnYWRkcmVzcyA8Y29tbWFuZD4nLFxuICBkZXNjcmliZTogJ2FkZHJlc3MgY29tbWFuZHMnLFxuICBidWlsZGVyKGIpIHtcbiAgICByZXR1cm4gYi5zdHJpY3QoKS5jb21tYW5kKGNtZEdlbmVyYXRlRml4ZWRTY3JpcHQpLmNvbW1hbmQoY21kRnJvbURlc2NyaXB0b3IpLmNvbW1hbmQoY21kUGFyc2UpLmRlbWFuZENvbW1hbmQoKTtcbiAgfSxcbiAgaGFuZGxlcigpIHtcbiAgICAvLyBkbyBub3RoaW5nXG4gIH0sXG59O1xuIl19
|
|
@@ -19,7 +19,7 @@ export type ArgsParseTransaction = ReadStringOptions & {
|
|
|
19
19
|
parseAsUnknown: boolean;
|
|
20
20
|
parseError: 'throw' | 'continue';
|
|
21
21
|
} & Omit<TxParserArgs, 'parseSignatureData'>;
|
|
22
|
-
export declare function getTxParser(argv:
|
|
22
|
+
export declare function getTxParser(argv: ArgsParseTransaction): TxParser;
|
|
23
23
|
export declare const cmdParseTx: {
|
|
24
24
|
readonly command: "parseTx [path]";
|
|
25
25
|
readonly aliases: readonly ["parse", "tx"];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cmdParseTx.d.ts","sourceRoot":"","sources":["../../../src/commands/cmdParseTx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,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,
|
|
1
|
+
{"version":3,"file":"cmdParseTx.d.ts","sourceRoot":"","sources":["../../../src/commands/cmdParseTx.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,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,MAAM,IAAI,CAAC,OAAO,CAAC,KAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC;6BAwC7C,MAAM,SAAS,CAAC,oBAAoB,CAAC,KAAG,QAAQ,IAAI,CAAC;CA6DjE,CAAC"}
|
|
@@ -117,4 +117,4 @@ exports.cmdParseTx = {
|
|
|
117
117
|
console.log((0, formatString_1.formatString)(parsed, argv));
|
|
118
118
|
},
|
|
119
119
|
};
|
|
120
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kUGFyc2VUeC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9jbWRQYXJzZVR4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUEyQztBQUczQyxrQ0FRaUI7QUFDakIsMENBQXFEO0FBQ3JELG9DQU9rQjtBQUNsQiwwQ0FBb0Q7QUFDcEQsa0RBQStDO0FBQy9DLHNDQUFtQztBQUVuQyxpREFBOEM7QUFvQjlDLFNBQWdCLFdBQVcsQ0FBQyxJQUEyQztJQUNyRSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDWixPQUFPLElBQUksbUJBQVEsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsbUJBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0tBQ3pEO0lBQ0QsT0FBTyxJQUFJLG1CQUFRLENBQUM7UUFDbEIsR0FBRyxJQUFJO1FBQ1Asa0JBQWtCLEVBQUU7WUFDbEIsTUFBTSxFQUFFLElBQUksQ0FBQyxrQkFBa0I7WUFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0I7WUFDOUIsT0FBTyxFQUFFLElBQUksQ0FBQyxrQkFBa0I7U0FDakM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBWkQsa0NBWUM7QUFFWSxRQUFBLFVBQVUsR0FBRztJQUN4QixPQUFPLEVBQUUsZ0JBQWdCO0lBQ3pCLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7SUFDeEIsUUFBUSxFQUNOLHlEQUF5RDtRQUN6RCxxRUFBcUU7UUFDckUsK0RBQStEO1FBQy9ELGdEQUFnRDtJQUVsRCxPQUFPLENBQUMsQ0FBc0I7UUFDNUIsT0FBTyxDQUFDO2FBQ0wsT0FBTyxDQUFDLHdCQUFpQixDQUFDO2FBQzFCLE9BQU8sQ0FBQyxJQUFBLDhCQUF1QixHQUFFLENBQUM7YUFDbEMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQzthQUNsQyxNQUFNLENBQUMs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QUFDO2dCQUN6QyxDQUFDLENBQUMsU0FBUztTQUNoQixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUEsMkJBQVksRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ08sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCAqIGFzIHlhcmdzIGZyb20gJ3lhcmdzJztcblxuaW1wb3J0IHtcbiAgYXJnVG9TdHJpbmcsXG4gIGZvcm1hdFRyZWVPckpzb24sXG4gIGdldE5ldHdvcmtPcHRpb25zRGVtYW5kLFxuICBGb3JtYXRUcmVlT3JKc29uLFxuICBSZWFkU3RyaW5nT3B0aW9ucyxcbiAgcmVhZFN0cmluZ09wdGlvbnMsXG4gIHN0cmluZ1RvQnVmZmVyLFxufSBmcm9tICcuLi9hcmdzJztcbmltcG9ydCB7IFR4UGFyc2VyLCBUeFBhcnNlckFyZ3MgfSBmcm9tICcuLi9UeFBhcnNlcic7XG5pbXBvcnQge1xuICBmZXRjaE91dHB1dFNwZW5kcyxcbiAgZmV0Y2hQcmV2T3V0cHV0cyxcbiAgZmV0Y2hQcmV2T3V0cHV0U3BlbmRzLFxuICBmZXRjaFRyYW5zYWN0aW9uSGV4LFxuICBmZXRjaFRyYW5zYWN0aW9uU3RhdHVzLFxuICBnZXRDbGllbnQsXG59IGZyb20gJy4uL2ZldGNoJztcbmltcG9ydCB7IGdldFBhcnNlclR4UHJvcGVydGllcyB9IGZyb20gJy4uL1BhcnNlclR4JztcbmltcG9ydCB7IHBhcnNlVW5rbm93biB9IGZyb20gJy4uL3BhcnNlVW5rbm93bic7XG5pbXBvcnQgeyBQYXJzZXIgfSBmcm9tICcuLi9QYXJzZXInO1xuXG5pbXBvcnQgeyBmb3JtYXRTdHJpbmcgfSBmcm9tICcuL2Zvcm1hdFN0cmluZyc7XG5cbmV4cG9ydCB0eXBlIEFyZ3NQYXJzZVRyYW5zYWN0aW9uID0gUmVhZFN0cmluZ09wdGlvbnMgJiB7XG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29yaztcbiAgdHhpZD86IHN0cmluZztcbiAgYmxvY2tIZWlnaHQ/OiBudW1iZXI7XG4gIHR4SW5kZXg/OiBudW1iZXI7XG4gIGFsbDogYm9vbGVhbjtcbiAgY2FjaGU6IGJvb2xlYW47XG4gIGZvcm1hdDogRm9ybWF0VHJlZU9ySnNvbjtcbiAgZmV0Y2hBbGw6IGJvb2xlYW47XG4gIGZldGNoU3RhdHVzOiBib29sZWFuO1xuICBmZXRjaElucHV0czogYm9vbGVhbjtcbiAgZmV0Y2hTcGVuZHM6IGJvb2xlYW47XG4gIGZpbmFsaXplOiBib29sZWFuO1xuICBwYXJzZVNpZ25hdHVyZURhdGE6IGJvb2xlYW47XG4gIHBhcnNlQXNVbmtub3duOiBib29sZWFuO1xuICBwYXJzZUVycm9yOiAndGhyb3cnIHwgJ2NvbnRpbnVlJztcbn0gJiBPbWl0PFR4UGFyc2VyQXJncywgJ3BhcnNlU2lnbmF0dXJlRGF0YSc+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHhQYXJzZXIoYXJndjogeWFyZ3MuQXJndW1lbnRzPEFyZ3NQYXJzZVRyYW5zYWN0aW9uPik6IFR4UGFyc2VyIHtcbiAgaWYgKGFyZ3YuYWxsKSB7XG4gICAgcmV0dXJuIG5ldyBUeFBhcnNlcih7IC4uLmFyZ3YsIC4uLlR4UGFyc2VyLlBBUlNFX0FMTCB9KTtcbiAgfVxuICByZXR1cm4gbmV3IFR4UGFyc2VyKHtcbiAgICAuLi5hcmd2LFxuICAgIHBhcnNlU2lnbmF0dXJlRGF0YToge1xuICAgICAgc2NyaXB0OiBhcmd2LnBhcnNlU2lnbmF0dXJlRGF0YSxcbiAgICAgIGVjZHNhOiBhcmd2LnBhcnNlU2lnbmF0dXJlRGF0YSxcbiAgICAgIHNjaG5vcnI6IGFyZ3YucGFyc2VTaWduYXR1cmVEYXRhLFxuICAgIH0sXG4gIH0pO1xufVxuXG5leHBvcnQgY29uc3QgY21kUGFyc2VUeCA9IHtcbiAgY29tbWFuZDogJ3BhcnNlVHggW3BhdGhdJyxcbiAgYWxpYXNlczogWydwYXJzZScsICd0eCddLFxuICBkZXNjcmliZTpcbiAgICAnRGlzcGxheSB0cmFuc2FjdGlvbiBjb21wb25lbnRzIGluIGh1bWFuLXJlYWRhYmxlIGZvcm0uICcgK1xuICAgICdTdXBwb3J0ZWQgZm9ybWF0cyBhcmUgUGFydGlhbGx5IFNpZ25lZCBCaXRjb2luIFRyYW5zYWN0aW9uIChQU0JUKSwgJyArXG4gICAgJ2JpdGNvaW5qcy1saWIgZW5jb2RpbmcgKExlZ2FjeSkgb3IgZnVsbHkgc2lnbmVkIHRyYW5zYWN0aW9uLiAnICtcbiAgICAnQnl0ZXMgbXVzdCBiZSBlbmNvZGVkIGluIGhleCBvciBiYXNlNjQgZm9ybWF0LicsXG5cbiAgYnVpbGRlcihiOiB5YXJncy5Bcmd2PHVua25vd24+KTogeWFyZ3MuQXJndjxBcmdzUGFyc2VUcmFuc2FjdGlvbj4ge1xuICAgIHJldHVybiBiXG4gICAgICAub3B0aW9ucyhyZWFkU3RyaW5nT3B0aW9ucylcbiAgICAgIC5vcHRpb25zKGdldE5ldHdvcmtPcHRpb25zRGVtYW5kKCkpXG4gICAgICAub3B0aW9uKCd0eGlkJywgeyB0eXBlOiAnc3RyaW5nJyB9KVxuICAgICAgLm9wdGlvbignYmxvY2tIZWlnaHQnLCB7IHR5cGU6ICdudW1iZXInIH0pXG4gICAgICAub3B0aW9uKCd0eEluZGV4JywgeyB0eXBlOiAnbnVtYmVyJyB9KVxuICAgICAgLm9wdGlvbignZmV0Y2hBbGwnLCB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ2ZldGNoU3RhdHVzJywgeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0pXG4gICAgICAub3B0aW9uKCdmZXRjaElucHV0cycsIHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9KVxuICAgICAgLm9wdGlvbignZmV0Y2hTcGVuZHMnLCB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ3BhcnNlU2NyaXB0QXNtJywgeyBhbGlhczogJ3NjcmlwdGFzbScsIHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ3BhcnNlU2NyaXB0RGF0YScsIHsgYWxpYXM6ICdzY3JpcHRkYXRhJywgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9KVxuICAgICAgLm9wdGlvbigncGFyc2VTaWduYXR1cmVEYXRhJywgeyBhbGlhczogJ3NpZ2RhdGEnLCB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0pXG4gICAgICAub3B0aW9uKCdwYXJzZU91dHB1dFNjcmlwdCcsIHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9KVxuICAgICAgLm9wdGlvbigncGFyc2VBc1Vua25vd24nLCB7XG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnc2hvdyBwbGFpbiBKYXZhc2NyaXB0IG9iamVjdCB3aXRob3V0IGFueSBwb3N0LXByb2Nlc3NpbmcnLFxuICAgICAgfSlcbiAgICAgIC5vcHRpb24oJ21heE91dHB1dHMnLCB7IHR5cGU6ICdudW1iZXInIH0pXG4gICAgICAub3B0aW9uKCd2aW4nLCB7IHR5cGU6ICdudW1iZXInIH0pXG4gICAgICAuYXJyYXkoJ3ZpbicpXG4gICAgICAub3B0aW9uKCd2b3V0JywgeyB0eXBlOiAnbnVtYmVyJyB9KVxuICAgICAgLmFycmF5KCd2b3V0JylcbiAgICAgIC5vcHRpb24oJ2ZpbmFsaXplJywge1xuICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ2ZpbmFsaXplIFBTQlQgYW5kIHBhcnNlIHJlc3VsdCBpbnN0ZWFkIG9mIFBTQlQnLFxuICAgICAgfSlcbiAgICAgIC5vcHRpb24oJ2FsbCcsIHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9KVxuICAgICAgLm9wdGlvbignY2FjaGUnLCB7XG4gICAgICAgIHR5cGU6ICdib29sZWFuJyxcbiAgICAgICAgZGVmYXVsdDogZmFsc2UsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAndXNlIGxvY2FsIGNhY2hlIGZvciBodHRwIHJlc3BvbnNlcycsXG4gICAgICB9KVxuICAgICAgLm9wdGlvbignZm9ybWF0JywgZm9ybWF0VHJlZU9ySnNvbilcbiAgICAgIC5vcHRpb24oJ3BhcnNlRXJyb3InLCB7IGNob2ljZXM6IFsnY29udGludWUnLCAndGhyb3cnXSwgZGVmYXVsdDogJ2NvbnRpbnVlJyB9IGFzIGNvbnN0KTtcbiAgfSxcblxuICBhc3luYyBoYW5kbGVyKGFyZ3Y6IHlhcmdzLkFyZ3VtZW50czxBcmdzUGFyc2VUcmFuc2FjdGlvbj4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBsZXQgZGF0YTtcblxuICAgIGNvbnN0IGh0dHBDbGllbnQgPSBhd2FpdCBnZXRDbGllbnQoeyBjYWNoZTogYXJndi5jYWNoZSB9KTtcblxuICAgIGlmIChhcmd2LnR4aWQgfHwgYXJndi5ibG9ja0hlaWdodCAhPT0gdW5kZWZpbmVkIHx8IGFyZ3YudHhJbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBkYXRhID0gYXdhaXQgZmV0Y2hUcmFuc2FjdGlvbkhleChcbiAgICAgICAgaHR0cENsaWVudCxcbiAgICAgICAge1xuICAgICAgICAgIHR4aWQ6IGFyZ3YudHhpZCxcbiAgICAgICAgICBibG9ja0hlaWdodDogYXJndi5ibG9ja0hlaWdodCxcbiAgICAgICAgICB0eEluZGV4OiBhcmd2LnR4SW5kZXgsXG4gICAgICAgIH0sXG4gICAgICAgIGFyZ3YubmV0d29ya1xuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdHJpbmcgPSBhd2FpdCBhcmdUb1N0cmluZyhhcmd2LCBkYXRhKTtcbiAgICBpZiAoIXN0cmluZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBubyB0eGRhdGFgKTtcbiAgICB9XG5cbiAgICBjb25zdCBieXRlcyA9IHN0cmluZ1RvQnVmZmVyKHN0cmluZywgJ2hleCcpO1xuXG4gICAgbGV0IHR4ID0gdXR4b2xpYi5iaXRnby5pc1BzYnQoYnl0ZXMpXG4gICAgICA/IHV0eG9saWIuYml0Z28uY3JlYXRlUHNidEZyb21CdWZmZXIoYnl0ZXMsIGFyZ3YubmV0d29yaylcbiAgICAgIDogdXR4b2xpYi5iaXRnby5jcmVhdGVUcmFuc2FjdGlvbkZyb21CdWZmZXIoYnl0ZXMsIGFyZ3YubmV0d29yaywgeyBhbW91bnRUeXBlOiAnYmlnaW50JyB9KTtcblxuICAgIGNvbnN0IHsgaWQ6IHR4aWQgfSA9IGdldFBhcnNlclR4UHJvcGVydGllcyh0eCwgdW5kZWZpbmVkKTtcbiAgICBpZiAodHggaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvbikge1xuICAgICAgaWYgKGFyZ3YudHhpZCAmJiB0eGlkICE9PSBhcmd2LnR4aWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBjb21wdXRlZCB0eGlkIGRvZXMgbm90IG1hdGNoIHR4aWQgYXJndW1lbnRgKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGFyZ3YuZmluYWxpemUpIHtcbiAgICAgIHR4LmZpbmFsaXplQWxsSW5wdXRzKCk7XG4gICAgICB0eCA9IHR4LmV4dHJhY3RUcmFuc2FjdGlvbigpO1xuICAgIH1cblxuICAgIGlmIChhcmd2LnBhcnNlQXNVbmtub3duKSB7XG4gICAgICBjb25zb2xlLmxvZyhmb3JtYXRTdHJpbmcocGFyc2VVbmtub3duKG5ldyBQYXJzZXIoKSwgJ3R4JywgdHgpLCBhcmd2KSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGFyZ3YuZmV0Y2hBbGwpIHtcbiAgICAgIGFyZ3YuZmV0Y2hTdGF0dXMgPSB0cnVlO1xuICAgICAgYXJndi5mZXRjaElucHV0cyA9IHRydWU7XG4gICAgICBhcmd2LmZldGNoU3BlbmRzID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWQgPSBnZXRUeFBhcnNlcihhcmd2KS5wYXJzZSh0eCwge1xuICAgICAgc3RhdHVzOiBhcmd2LmZldGNoU3RhdHVzICYmIHR4aWQgPyBhd2FpdCBmZXRjaFRyYW5zYWN0aW9uU3RhdHVzKGh0dHBDbGllbnQsIHR4aWQsIGFyZ3YubmV0d29yaykgOiB1bmRlZmluZWQsXG4gICAgICBwcmV2T3V0cHV0czogYXJndi5mZXRjaElucHV0cyA/IGF3YWl0IGZldGNoUHJldk91dHB1dHMoaHR0cENsaWVudCwgdHgpIDogdW5kZWZpbmVkLFxuICAgICAgcHJldk91dHB1dFNwZW5kczogYXJndi5mZXRjaFNwZW5kcyA/IGF3YWl0IGZldGNoUHJldk91dHB1dFNwZW5kcyhodHRwQ2xpZW50LCB0eCkgOiB1bmRlZmluZWQsXG4gICAgICBvdXRwdXRTcGVuZHM6XG4gICAgICAgIGFyZ3YuZmV0Y2hTcGVuZHMgJiYgdHggaW5zdGFuY2VvZiB1dHhvbGliLmJpdGdvLlV0eG9UcmFuc2FjdGlvblxuICAgICAgICAgID8gYXdhaXQgZmV0Y2hPdXRwdXRTcGVuZHMoaHR0cENsaWVudCwgdHgpXG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfSk7XG5cbiAgICBjb25zb2xlLmxvZyhmb3JtYXRTdHJpbmcocGFyc2VkLCBhcmd2KSk7XG4gIH0sXG59IGFzIGNvbnN0O1xuIl19
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kUGFyc2VUeC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9jbWRQYXJzZVR4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUEyQztBQUczQyxrQ0FRaUI7QUFDakIsMENBQXFEO0FBQ3JELG9DQU9rQjtBQUNsQiwwQ0FBb0Q7QUFDcEQsa0RBQStDO0FBQy9DLHNDQUFtQztBQUVuQyxpREFBOEM7QUFvQjlDLFNBQWdCLFdBQVcsQ0FBQyxJQUEwQjtJQUNwRCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7UUFDWixPQUFPLElBQUksbUJBQVEsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsbUJBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO0tBQ3pEO0lBQ0QsT0FBTyxJQUFJLG1CQUFRLENBQUM7UUFDbEIsR0FBRyxJQUFJO1FBQ1Asa0JBQWtCLEVBQUU7WUFDbEIsTUFBTSxFQUFFLElBQUksQ0FBQyxrQkFBa0I7WUFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxrQkFBa0I7WUFDOUIsT0FBTyxFQUFFLElBQUksQ0FBQyxrQkFBa0I7U0FDakM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDO0FBWkQsa0NBWUM7QUFFWSxRQUFBLFVBQVUsR0FBRztJQUN4QixPQUFPLEVBQUUsZ0JBQWdCO0lBQ3pCLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7SUFDeEIsUUFBUSxFQUNOLHlEQUF5RDtRQUN6RCxxRUFBcUU7UUFDckUsK0RBQStEO1FBQy9ELGdEQUFnRDtJQUVsRCxPQUFPLENBQUMsQ0FBc0I7UUFDNUIsT0FBTyxDQUFDO2FBQ0wsT0FBTyxDQUFDLHdCQUFpQixDQUFDO2FBQzFCLE9BQU8sQ0FBQyxJQUFBLDhCQUF1QixHQUFFLENBQUM7YUFDbEMsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQzthQUNsQyxNQUFNLENBQUMs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QUFDO2dCQUN6QyxDQUFDLENBQUMsU0FBUztTQUNoQixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUEsMkJBQVksRUFBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ08sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCAqIGFzIHlhcmdzIGZyb20gJ3lhcmdzJztcblxuaW1wb3J0IHtcbiAgYXJnVG9TdHJpbmcsXG4gIGZvcm1hdFRyZWVPckpzb24sXG4gIGdldE5ldHdvcmtPcHRpb25zRGVtYW5kLFxuICBGb3JtYXRUcmVlT3JKc29uLFxuICBSZWFkU3RyaW5nT3B0aW9ucyxcbiAgcmVhZFN0cmluZ09wdGlvbnMsXG4gIHN0cmluZ1RvQnVmZmVyLFxufSBmcm9tICcuLi9hcmdzJztcbmltcG9ydCB7IFR4UGFyc2VyLCBUeFBhcnNlckFyZ3MgfSBmcm9tICcuLi9UeFBhcnNlcic7XG5pbXBvcnQge1xuICBmZXRjaE91dHB1dFNwZW5kcyxcbiAgZmV0Y2hQcmV2T3V0cHV0cyxcbiAgZmV0Y2hQcmV2T3V0cHV0U3BlbmRzLFxuICBmZXRjaFRyYW5zYWN0aW9uSGV4LFxuICBmZXRjaFRyYW5zYWN0aW9uU3RhdHVzLFxuICBnZXRDbGllbnQsXG59IGZyb20gJy4uL2ZldGNoJztcbmltcG9ydCB7IGdldFBhcnNlclR4UHJvcGVydGllcyB9IGZyb20gJy4uL1BhcnNlclR4JztcbmltcG9ydCB7IHBhcnNlVW5rbm93biB9IGZyb20gJy4uL3BhcnNlVW5rbm93bic7XG5pbXBvcnQgeyBQYXJzZXIgfSBmcm9tICcuLi9QYXJzZXInO1xuXG5pbXBvcnQgeyBmb3JtYXRTdHJpbmcgfSBmcm9tICcuL2Zvcm1hdFN0cmluZyc7XG5cbmV4cG9ydCB0eXBlIEFyZ3NQYXJzZVRyYW5zYWN0aW9uID0gUmVhZFN0cmluZ09wdGlvbnMgJiB7XG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29yaztcbiAgdHhpZD86IHN0cmluZztcbiAgYmxvY2tIZWlnaHQ/OiBudW1iZXI7XG4gIHR4SW5kZXg/OiBudW1iZXI7XG4gIGFsbDogYm9vbGVhbjtcbiAgY2FjaGU6IGJvb2xlYW47XG4gIGZvcm1hdDogRm9ybWF0VHJlZU9ySnNvbjtcbiAgZmV0Y2hBbGw6IGJvb2xlYW47XG4gIGZldGNoU3RhdHVzOiBib29sZWFuO1xuICBmZXRjaElucHV0czogYm9vbGVhbjtcbiAgZmV0Y2hTcGVuZHM6IGJvb2xlYW47XG4gIGZpbmFsaXplOiBib29sZWFuO1xuICBwYXJzZVNpZ25hdHVyZURhdGE6IGJvb2xlYW47XG4gIHBhcnNlQXNVbmtub3duOiBib29sZWFuO1xuICBwYXJzZUVycm9yOiAndGhyb3cnIHwgJ2NvbnRpbnVlJztcbn0gJiBPbWl0PFR4UGFyc2VyQXJncywgJ3BhcnNlU2lnbmF0dXJlRGF0YSc+O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VHhQYXJzZXIoYXJndjogQXJnc1BhcnNlVHJhbnNhY3Rpb24pOiBUeFBhcnNlciB7XG4gIGlmIChhcmd2LmFsbCkge1xuICAgIHJldHVybiBuZXcgVHhQYXJzZXIoeyAuLi5hcmd2LCAuLi5UeFBhcnNlci5QQVJTRV9BTEwgfSk7XG4gIH1cbiAgcmV0dXJuIG5ldyBUeFBhcnNlcih7XG4gICAgLi4uYXJndixcbiAgICBwYXJzZVNpZ25hdHVyZURhdGE6IHtcbiAgICAgIHNjcmlwdDogYXJndi5wYXJzZVNpZ25hdHVyZURhdGEsXG4gICAgICBlY2RzYTogYXJndi5wYXJzZVNpZ25hdHVyZURhdGEsXG4gICAgICBzY2hub3JyOiBhcmd2LnBhcnNlU2lnbmF0dXJlRGF0YSxcbiAgICB9LFxuICB9KTtcbn1cblxuZXhwb3J0IGNvbnN0IGNtZFBhcnNlVHggPSB7XG4gIGNvbW1hbmQ6ICdwYXJzZVR4IFtwYXRoXScsXG4gIGFsaWFzZXM6IFsncGFyc2UnLCAndHgnXSxcbiAgZGVzY3JpYmU6XG4gICAgJ0Rpc3BsYXkgdHJhbnNhY3Rpb24gY29tcG9uZW50cyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtLiAnICtcbiAgICAnU3VwcG9ydGVkIGZvcm1hdHMgYXJlIFBhcnRpYWxseSBTaWduZWQgQml0Y29pbiBUcmFuc2FjdGlvbiAoUFNCVCksICcgK1xuICAgICdiaXRjb2luanMtbGliIGVuY29kaW5nIChMZWdhY3kpIG9yIGZ1bGx5IHNpZ25lZCB0cmFuc2FjdGlvbi4gJyArXG4gICAgJ0J5dGVzIG11c3QgYmUgZW5jb2RlZCBpbiBoZXggb3IgYmFzZTY0IGZvcm1hdC4nLFxuXG4gIGJ1aWxkZXIoYjogeWFyZ3MuQXJndjx1bmtub3duPik6IHlhcmdzLkFyZ3Y8QXJnc1BhcnNlVHJhbnNhY3Rpb24+IHtcbiAgICByZXR1cm4gYlxuICAgICAgLm9wdGlvbnMocmVhZFN0cmluZ09wdGlvbnMpXG4gICAgICAub3B0aW9ucyhnZXROZXR3b3JrT3B0aW9uc0RlbWFuZCgpKVxuICAgICAgLm9wdGlvbigndHhpZCcsIHsgdHlwZTogJ3N0cmluZycgfSlcbiAgICAgIC5vcHRpb24oJ2Jsb2NrSGVpZ2h0JywgeyB0eXBlOiAnbnVtYmVyJyB9KVxuICAgICAgLm9wdGlvbigndHhJbmRleCcsIHsgdHlwZTogJ251bWJlcicgfSlcbiAgICAgIC5vcHRpb24oJ2ZldGNoQWxsJywgeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0pXG4gICAgICAub3B0aW9uKCdmZXRjaFN0YXR1cycsIHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9KVxuICAgICAgLm9wdGlvbignZmV0Y2hJbnB1dHMnLCB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ2ZldGNoU3BlbmRzJywgeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0pXG4gICAgICAub3B0aW9uKCdwYXJzZVNjcmlwdEFzbScsIHsgYWxpYXM6ICdzY3JpcHRhc20nLCB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0pXG4gICAgICAub3B0aW9uKCdwYXJzZVNjcmlwdERhdGEnLCB7IGFsaWFzOiAnc2NyaXB0ZGF0YScsIHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ3BhcnNlU2lnbmF0dXJlRGF0YScsIHsgYWxpYXM6ICdzaWdkYXRhJywgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9KVxuICAgICAgLm9wdGlvbigncGFyc2VPdXRwdXRTY3JpcHQnLCB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ3BhcnNlQXNVbmtub3duJywge1xuICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ3Nob3cgcGxhaW4gSmF2YXNjcmlwdCBvYmplY3Qgd2l0aG91dCBhbnkgcG9zdC1wcm9jZXNzaW5nJyxcbiAgICAgIH0pXG4gICAgICAub3B0aW9uKCdtYXhPdXRwdXRzJywgeyB0eXBlOiAnbnVtYmVyJyB9KVxuICAgICAgLm9wdGlvbigndmluJywgeyB0eXBlOiAnbnVtYmVyJyB9KVxuICAgICAgLmFycmF5KCd2aW4nKVxuICAgICAgLm9wdGlvbigndm91dCcsIHsgdHlwZTogJ251bWJlcicgfSlcbiAgICAgIC5hcnJheSgndm91dCcpXG4gICAgICAub3B0aW9uKCdmaW5hbGl6ZScsIHtcbiAgICAgICAgdHlwZTogJ2Jvb2xlYW4nLFxuICAgICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgICAgZGVzY3JpcHRpb246ICdmaW5hbGl6ZSBQU0JUIGFuZCBwYXJzZSByZXN1bHQgaW5zdGVhZCBvZiBQU0JUJyxcbiAgICAgIH0pXG4gICAgICAub3B0aW9uKCdhbGwnLCB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ2NhY2hlJywge1xuICAgICAgICB0eXBlOiAnYm9vbGVhbicsXG4gICAgICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ3VzZSBsb2NhbCBjYWNoZSBmb3IgaHR0cCByZXNwb25zZXMnLFxuICAgICAgfSlcbiAgICAgIC5vcHRpb24oJ2Zvcm1hdCcsIGZvcm1hdFRyZWVPckpzb24pXG4gICAgICAub3B0aW9uKCdwYXJzZUVycm9yJywgeyBjaG9pY2VzOiBbJ2NvbnRpbnVlJywgJ3Rocm93J10sIGRlZmF1bHQ6ICdjb250aW51ZScgfSBhcyBjb25zdCk7XG4gIH0sXG5cbiAgYXN5bmMgaGFuZGxlcihhcmd2OiB5YXJncy5Bcmd1bWVudHM8QXJnc1BhcnNlVHJhbnNhY3Rpb24+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgbGV0IGRhdGE7XG5cbiAgICBjb25zdCBodHRwQ2xpZW50ID0gYXdhaXQgZ2V0Q2xpZW50KHsgY2FjaGU6IGFyZ3YuY2FjaGUgfSk7XG5cbiAgICBpZiAoYXJndi50eGlkIHx8IGFyZ3YuYmxvY2tIZWlnaHQgIT09IHVuZGVmaW5lZCB8fCBhcmd2LnR4SW5kZXggIT09IHVuZGVmaW5lZCkge1xuICAgICAgZGF0YSA9IGF3YWl0IGZldGNoVHJhbnNhY3Rpb25IZXgoXG4gICAgICAgIGh0dHBDbGllbnQsXG4gICAgICAgIHtcbiAgICAgICAgICB0eGlkOiBhcmd2LnR4aWQsXG4gICAgICAgICAgYmxvY2tIZWlnaHQ6IGFyZ3YuYmxvY2tIZWlnaHQsXG4gICAgICAgICAgdHhJbmRleDogYXJndi50eEluZGV4LFxuICAgICAgICB9LFxuICAgICAgICBhcmd2Lm5ldHdvcmtcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RyaW5nID0gYXdhaXQgYXJnVG9TdHJpbmcoYXJndiwgZGF0YSk7XG4gICAgaWYgKCFzdHJpbmcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgbm8gdHhkYXRhYCk7XG4gICAgfVxuXG4gICAgY29uc3QgYnl0ZXMgPSBzdHJpbmdUb0J1ZmZlcihzdHJpbmcsICdoZXgnKTtcblxuICAgIGxldCB0eCA9IHV0eG9saWIuYml0Z28uaXNQc2J0KGJ5dGVzKVxuICAgICAgPyB1dHhvbGliLmJpdGdvLmNyZWF0ZVBzYnRGcm9tQnVmZmVyKGJ5dGVzLCBhcmd2Lm5ldHdvcmspXG4gICAgICA6IHV0eG9saWIuYml0Z28uY3JlYXRlVHJhbnNhY3Rpb25Gcm9tQnVmZmVyKGJ5dGVzLCBhcmd2Lm5ldHdvcmssIHsgYW1vdW50VHlwZTogJ2JpZ2ludCcgfSk7XG5cbiAgICBjb25zdCB7IGlkOiB0eGlkIH0gPSBnZXRQYXJzZXJUeFByb3BlcnRpZXModHgsIHVuZGVmaW5lZCk7XG4gICAgaWYgKHR4IGluc3RhbmNlb2YgdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb24pIHtcbiAgICAgIGlmIChhcmd2LnR4aWQgJiYgdHhpZCAhPT0gYXJndi50eGlkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgY29tcHV0ZWQgdHhpZCBkb2VzIG5vdCBtYXRjaCB0eGlkIGFyZ3VtZW50YCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChhcmd2LmZpbmFsaXplKSB7XG4gICAgICB0eC5maW5hbGl6ZUFsbElucHV0cygpO1xuICAgICAgdHggPSB0eC5leHRyYWN0VHJhbnNhY3Rpb24oKTtcbiAgICB9XG5cbiAgICBpZiAoYXJndi5wYXJzZUFzVW5rbm93bikge1xuICAgICAgY29uc29sZS5sb2coZm9ybWF0U3RyaW5nKHBhcnNlVW5rbm93bihuZXcgUGFyc2VyKCksICd0eCcsIHR4KSwgYXJndikpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChhcmd2LmZldGNoQWxsKSB7XG4gICAgICBhcmd2LmZldGNoU3RhdHVzID0gdHJ1ZTtcbiAgICAgIGFyZ3YuZmV0Y2hJbnB1dHMgPSB0cnVlO1xuICAgICAgYXJndi5mZXRjaFNwZW5kcyA9IHRydWU7XG4gICAgfVxuXG4gICAgY29uc3QgcGFyc2VkID0gZ2V0VHhQYXJzZXIoYXJndikucGFyc2UodHgsIHtcbiAgICAgIHN0YXR1czogYXJndi5mZXRjaFN0YXR1cyAmJiB0eGlkID8gYXdhaXQgZmV0Y2hUcmFuc2FjdGlvblN0YXR1cyhodHRwQ2xpZW50LCB0eGlkLCBhcmd2Lm5ldHdvcmspIDogdW5kZWZpbmVkLFxuICAgICAgcHJldk91dHB1dHM6IGFyZ3YuZmV0Y2hJbnB1dHMgPyBhd2FpdCBmZXRjaFByZXZPdXRwdXRzKGh0dHBDbGllbnQsIHR4KSA6IHVuZGVmaW5lZCxcbiAgICAgIHByZXZPdXRwdXRTcGVuZHM6IGFyZ3YuZmV0Y2hTcGVuZHMgPyBhd2FpdCBmZXRjaFByZXZPdXRwdXRTcGVuZHMoaHR0cENsaWVudCwgdHgpIDogdW5kZWZpbmVkLFxuICAgICAgb3V0cHV0U3BlbmRzOlxuICAgICAgICBhcmd2LmZldGNoU3BlbmRzICYmIHR4IGluc3RhbmNlb2YgdXR4b2xpYi5iaXRnby5VdHhvVHJhbnNhY3Rpb25cbiAgICAgICAgICA/IGF3YWl0IGZldGNoT3V0cHV0U3BlbmRzKGh0dHBDbGllbnQsIHR4KVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH0pO1xuXG4gICAgY29uc29sZS5sb2coZm9ybWF0U3RyaW5nKHBhcnNlZCwgYXJndikpO1xuICB9LFxufSBhcyBjb25zdDtcbiJdfQ==
|
|
@@ -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,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cmdAddDescriptorInput = void 0;
|
|
4
|
+
const utxolib = require("@bitgo/utxo-lib");
|
|
5
|
+
const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
|
|
6
|
+
const wrap_1 = require("./wrap");
|
|
7
|
+
const withPsbt_1 = require("./withPsbt");
|
|
8
|
+
/**
|
|
9
|
+
* Non-Final (Replaceable)
|
|
10
|
+
* Reference: https://github.com/bitcoin/bitcoin/blob/v25.1/src/rpc/rawtransaction_util.cpp#L49
|
|
11
|
+
* */
|
|
12
|
+
const MAX_BIP125_RBF_SEQUENCE = 0xffffffff - 2;
|
|
13
|
+
function getScriptPubKey(args, network) {
|
|
14
|
+
if (args.address) {
|
|
15
|
+
return utxolib.addressFormat.toOutputScriptTryFormats(args.address, network);
|
|
16
|
+
}
|
|
17
|
+
if (args.scriptPubKey) {
|
|
18
|
+
return Buffer.from(args.scriptPubKey, 'hex');
|
|
19
|
+
}
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
function addDescriptorInput(psbt, outputId, scriptPubKey, value, descriptorString, descriptorIndex, { sequence = MAX_BIP125_RBF_SEQUENCE } = {}) {
|
|
23
|
+
const { txid, vout } = utxolib.bitgo.parseOutputId(outputId);
|
|
24
|
+
const descriptor = wasm_miniscript_1.Descriptor.fromString(descriptorString, 'derivable');
|
|
25
|
+
const derivedDescriptor = descriptor.atDerivationIndex(descriptorIndex);
|
|
26
|
+
if (scriptPubKey === undefined) {
|
|
27
|
+
scriptPubKey = Buffer.from(derivedDescriptor.scriptPubkey());
|
|
28
|
+
}
|
|
29
|
+
psbt.addInput({
|
|
30
|
+
hash: txid,
|
|
31
|
+
index: vout,
|
|
32
|
+
sequence,
|
|
33
|
+
witnessUtxo: {
|
|
34
|
+
script: scriptPubKey,
|
|
35
|
+
value,
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
const inputIndex = psbt.txInputs.length - 1;
|
|
39
|
+
const wrappedPsbt = (0, wrap_1.toWrappedPsbt)(psbt);
|
|
40
|
+
wrappedPsbt.updateInputWithDescriptor(inputIndex, derivedDescriptor);
|
|
41
|
+
const utxoPsbt = (0, wrap_1.toUtxoPsbt)(wrappedPsbt);
|
|
42
|
+
psbt.data.inputs[inputIndex] = utxoPsbt.data.inputs[inputIndex];
|
|
43
|
+
}
|
|
44
|
+
exports.cmdAddDescriptorInput = {
|
|
45
|
+
command: 'addDescriptorInput',
|
|
46
|
+
describe: 'add descriptor input to psbt',
|
|
47
|
+
builder(b) {
|
|
48
|
+
return b
|
|
49
|
+
.options(withPsbt_1.withPsbtOptions)
|
|
50
|
+
.option('outputId', { type: 'string', demandOption: true })
|
|
51
|
+
.option('address', { type: 'string' })
|
|
52
|
+
.option('scriptPubKey', { type: 'string' })
|
|
53
|
+
.option('value', { type: 'string', demandOption: true })
|
|
54
|
+
.option('descriptor', { type: 'string', demandOption: true })
|
|
55
|
+
.option('descriptorIndex', { type: 'number', demandOption: true });
|
|
56
|
+
},
|
|
57
|
+
async handler(argv) {
|
|
58
|
+
await (0, withPsbt_1.withPsbt)(argv, async function (psbt) {
|
|
59
|
+
addDescriptorInput(psbt, argv.outputId, getScriptPubKey({
|
|
60
|
+
address: argv.address,
|
|
61
|
+
scriptPubKey: argv.scriptPubKey,
|
|
62
|
+
}, argv.network), BigInt(argv.value), argv.descriptor, argv.descriptorIndex);
|
|
63
|
+
return psbt;
|
|
64
|
+
});
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kQWRkRGVzY3JpcHRvcklucHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2NtZFBzYnQvY21kQWRkRGVzY3JpcHRvcklucHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUEyQztBQUMzQyw0REFBb0Q7QUFHcEQsaUNBQW1EO0FBQ25ELHlDQUF3RTtBQUV4RTs7O0tBR0s7QUFDTCxNQUFNLHVCQUF1QixHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFXL0MsU0FBUyxlQUFlLENBQ3RCLElBQWlELEVBQ2pELE9BQXdCO0lBRXhCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNoQixPQUFPLE9BQU8sQ0FBQyxhQUFhLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztLQUM5RTtJQUNELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtRQUNyQixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztLQUM5QztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUN6QixJQUFrQixFQUNsQixRQUFnQixFQUNoQixZQUFnQyxFQUNoQyxLQUFhLEVBQ2IsZ0JBQXdCLEVBQ3hCLGVBQXVCLEVBQ3ZCLEVBQUUsUUFBUSxHQUFHLHVCQUF1QixFQUFFLEdBQUcsRUFBRTtJQUUzQyxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzdELE1BQU0sVUFBVSxHQUFHLDRCQUFVLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3hFLE1BQU0saUJBQWlCLEdBQUcsVUFBVSxDQUFDLGlCQUFpQixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3hFLElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRTtRQUM5QixZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0tBQzlEO0lBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNaLElBQUksRUFBRSxJQUFJO1FBQ1YsS0FBSyxFQUFFLElBQUk7UUFDWCxRQUFRO1FBQ1IsV0FBVyxFQUFFO1lBQ1gsTUFBTSxFQUFFLFlBQVk7WUFDcEIsS0FBSztTQUNOO0tBQ0YsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sV0FBVyxHQUFHLElBQUEsb0JBQWEsRUFBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxXQUFXLENBQUMseUJBQXlCLENBQUMsVUFBVSxFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDckUsTUFBTSxRQUFRLEdBQUcsSUFBQSxpQkFBVSxFQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFFWSxRQUFBLHFCQUFxQixHQUF5RDtJQUN6RixPQUFPLEVBQUUsb0JBQW9CO0lBQzdCLFFBQVEsRUFBRSw4QkFBOEI7SUFDeEMsT0FBTyxDQUFDLENBQXNCO1FBQzVCLE9BQU8sQ0FBQzthQUNMLE9BQU8sQ0FBQywwQkFBZSxDQUFDO2FBQ3hCLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUMxRCxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDO2FBQ3JDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7YUFDMUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDO2FBQ3ZELE1BQU0sQ0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQzthQUM1RCxNQUFNLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFDRCxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUk7UUFDaEIsTUFBTSxJQUFBLG1CQUFRLEVBQUMsSUFBSSxFQUFFLEtBQUssV0FBVyxJQUFJO1lBQ3ZDLGtCQUFrQixDQUNoQixJQUFJLEVBQ0osSUFBSSxDQUFDLFFBQVEsRUFDYixlQUFlLENBQ2I7Z0JBQ0UsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNyQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7YUFDaEMsRUFDRCxJQUFJLENBQUMsT0FBTyxDQUNiLEVBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFDbEIsSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsZUFBZSxDQUNyQixDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgRGVzY3JpcHRvciB9IGZyb20gJ0BiaXRnby93YXNtLW1pbmlzY3JpcHQnO1xuaW1wb3J0ICogYXMgeWFyZ3MgZnJvbSAneWFyZ3MnO1xuXG5pbXBvcnQgeyB0b1V0eG9Qc2J0LCB0b1dyYXBwZWRQc2J0IH0gZnJvbSAnLi93cmFwJztcbmltcG9ydCB7IHdpdGhQc2J0LCBXaXRoUHNidE9wdGlvbnMsIHdpdGhQc2J0T3B0aW9ucyB9IGZyb20gJy4vd2l0aFBzYnQnO1xuXG4vKipcbiAqIE5vbi1GaW5hbCAoUmVwbGFjZWFibGUpXG4gKiBSZWZlcmVuY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9iaXRjb2luL2JpdGNvaW4vYmxvYi92MjUuMS9zcmMvcnBjL3Jhd3RyYW5zYWN0aW9uX3V0aWwuY3BwI0w0OVxuICogKi9cbmNvbnN0IE1BWF9CSVAxMjVfUkJGX1NFUVVFTkNFID0gMHhmZmZmZmZmZiAtIDI7XG5cbnR5cGUgQXJnc0FkZERlc2NyaXB0b3JJbnB1dCA9IFdpdGhQc2J0T3B0aW9ucyAmIHtcbiAgb3V0cHV0SWQ6IHN0cmluZztcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgc2NyaXB0UHViS2V5Pzogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xuICBkZXNjcmlwdG9yOiBzdHJpbmc7XG4gIGRlc2NyaXB0b3JJbmRleDogbnVtYmVyO1xufTtcblxuZnVuY3Rpb24gZ2V0U2NyaXB0UHViS2V5KFxuICBhcmdzOiB7IGFkZHJlc3M/OiBzdHJpbmc7IHNjcmlwdFB1YktleT86IHN0cmluZyB9LFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmtcbik6IEJ1ZmZlciB8IHVuZGVmaW5lZCB7XG4gIGlmIChhcmdzLmFkZHJlc3MpIHtcbiAgICByZXR1cm4gdXR4b2xpYi5hZGRyZXNzRm9ybWF0LnRvT3V0cHV0U2NyaXB0VHJ5Rm9ybWF0cyhhcmdzLmFkZHJlc3MsIG5ldHdvcmspO1xuICB9XG4gIGlmIChhcmdzLnNjcmlwdFB1YktleSkge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbShhcmdzLnNjcmlwdFB1YktleSwgJ2hleCcpO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGFkZERlc2NyaXB0b3JJbnB1dChcbiAgcHNidDogdXR4b2xpYi5Qc2J0LFxuICBvdXRwdXRJZDogc3RyaW5nLFxuICBzY3JpcHRQdWJLZXk6IEJ1ZmZlciB8IHVuZGVmaW5lZCxcbiAgdmFsdWU6IGJpZ2ludCxcbiAgZGVzY3JpcHRvclN0cmluZzogc3RyaW5nLFxuICBkZXNjcmlwdG9ySW5kZXg6IG51bWJlcixcbiAgeyBzZXF1ZW5jZSA9IE1BWF9CSVAxMjVfUkJGX1NFUVVFTkNFIH0gPSB7fVxuKTogdm9pZCB7XG4gIGNvbnN0IHsgdHhpZCwgdm91dCB9ID0gdXR4b2xpYi5iaXRnby5wYXJzZU91dHB1dElkKG91dHB1dElkKTtcbiAgY29uc3QgZGVzY3JpcHRvciA9IERlc2NyaXB0b3IuZnJvbVN0cmluZyhkZXNjcmlwdG9yU3RyaW5nLCAnZGVyaXZhYmxlJyk7XG4gIGNvbnN0IGRlcml2ZWREZXNjcmlwdG9yID0gZGVzY3JpcHRvci5hdERlcml2YXRpb25JbmRleChkZXNjcmlwdG9ySW5kZXgpO1xuICBpZiAoc2NyaXB0UHViS2V5ID09PSB1bmRlZmluZWQpIHtcbiAgICBzY3JpcHRQdWJLZXkgPSBCdWZmZXIuZnJvbShkZXJpdmVkRGVzY3JpcHRvci5zY3JpcHRQdWJrZXkoKSk7XG4gIH1cbiAgcHNidC5hZGRJbnB1dCh7XG4gICAgaGFzaDogdHhpZCxcbiAgICBpbmRleDogdm91dCxcbiAgICBzZXF1ZW5jZSxcbiAgICB3aXRuZXNzVXR4bzoge1xuICAgICAgc2NyaXB0OiBzY3JpcHRQdWJLZXksXG4gICAgICB2YWx1ZSxcbiAgICB9LFxuICB9KTtcbiAgY29uc3QgaW5wdXRJbmRleCA9IHBzYnQudHhJbnB1dHMubGVuZ3RoIC0gMTtcbiAgY29uc3Qgd3JhcHBlZFBzYnQgPSB0b1dyYXBwZWRQc2J0KHBzYnQpO1xuICB3cmFwcGVkUHNidC51cGRhdGVJbnB1dFdpdGhEZXNjcmlwdG9yKGlucHV0SW5kZXgsIGRlcml2ZWREZXNjcmlwdG9yKTtcbiAgY29uc3QgdXR4b1BzYnQgPSB0b1V0eG9Qc2J0KHdyYXBwZWRQc2J0KTtcbiAgcHNidC5kYXRhLmlucHV0c1tpbnB1dEluZGV4XSA9IHV0eG9Qc2J0LmRhdGEuaW5wdXRzW2lucHV0SW5kZXhdO1xufVxuXG5leHBvcnQgY29uc3QgY21kQWRkRGVzY3JpcHRvcklucHV0OiB5YXJncy5Db21tYW5kTW9kdWxlPHVua25vd24sIEFyZ3NBZGREZXNjcmlwdG9ySW5wdXQ+ID0ge1xuICBjb21tYW5kOiAnYWRkRGVzY3JpcHRvcklucHV0JyxcbiAgZGVzY3JpYmU6ICdhZGQgZGVzY3JpcHRvciBpbnB1dCB0byBwc2J0JyxcbiAgYnVpbGRlcihiOiB5YXJncy5Bcmd2PHVua25vd24+KSB7XG4gICAgcmV0dXJuIGJcbiAgICAgIC5vcHRpb25zKHdpdGhQc2J0T3B0aW9ucylcbiAgICAgIC5vcHRpb24oJ291dHB1dElkJywgeyB0eXBlOiAnc3RyaW5nJywgZGVtYW5kT3B0aW9uOiB0cnVlIH0pXG4gICAgICAub3B0aW9uKCdhZGRyZXNzJywgeyB0eXBlOiAnc3RyaW5nJyB9KVxuICAgICAgLm9wdGlvbignc2NyaXB0UHViS2V5JywgeyB0eXBlOiAnc3RyaW5nJyB9KVxuICAgICAgLm9wdGlvbigndmFsdWUnLCB7IHR5cGU6ICdzdHJpbmcnLCBkZW1hbmRPcHRpb246IHRydWUgfSlcbiAgICAgIC5vcHRpb24oJ2Rlc2NyaXB0b3InLCB7IHR5cGU6ICdzdHJpbmcnLCBkZW1hbmRPcHRpb246IHRydWUgfSlcbiAgICAgIC5vcHRpb24oJ2Rlc2NyaXB0b3JJbmRleCcsIHsgdHlwZTogJ251bWJlcicsIGRlbWFuZE9wdGlvbjogdHJ1ZSB9KTtcbiAgfSxcbiAgYXN5bmMgaGFuZGxlcihhcmd2KSB7XG4gICAgYXdhaXQgd2l0aFBzYnQoYXJndiwgYXN5bmMgZnVuY3Rpb24gKHBzYnQpIHtcbiAgICAgIGFkZERlc2NyaXB0b3JJbnB1dChcbiAgICAgICAgcHNidCxcbiAgICAgICAgYXJndi5vdXRwdXRJZCxcbiAgICAgICAgZ2V0U2NyaXB0UHViS2V5KFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFkZHJlc3M6IGFyZ3YuYWRkcmVzcyxcbiAgICAgICAgICAgIHNjcmlwdFB1YktleTogYXJndi5zY3JpcHRQdWJLZXksXG4gICAgICAgICAgfSxcbiAgICAgICAgICBhcmd2Lm5ldHdvcmtcbiAgICAgICAgKSxcbiAgICAgICAgQmlnSW50KGFyZ3YudmFsdWUpLFxuICAgICAgICBhcmd2LmRlc2NyaXB0b3IsXG4gICAgICAgIGFyZ3YuZGVzY3JpcHRvckluZGV4XG4gICAgICApO1xuICAgICAgcmV0dXJuIHBzYnQ7XG4gICAgfSk7XG4gIH0sXG59O1xuIl19
|
|
@@ -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"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cmdAddOutput = void 0;
|
|
4
|
+
const utxolib = require("@bitgo/utxo-lib");
|
|
5
|
+
const unspents_1 = require("@bitgo/unspents");
|
|
6
|
+
const buffer_1 = require("buffer");
|
|
7
|
+
const wasm_miniscript_1 = require("@bitgo/wasm-miniscript");
|
|
8
|
+
const withPsbt_1 = require("./withPsbt");
|
|
9
|
+
function toScriptPubKey(params, network) {
|
|
10
|
+
if (params.address) {
|
|
11
|
+
return utxolib.addressFormat.toOutputScriptTryFormats(params.address, network);
|
|
12
|
+
}
|
|
13
|
+
if (params.scriptPubKey) {
|
|
14
|
+
return buffer_1.Buffer.from(params.scriptPubKey, 'hex');
|
|
15
|
+
}
|
|
16
|
+
throw new Error('address or scriptPubKey is required');
|
|
17
|
+
}
|
|
18
|
+
function getInputWeight(psbt, inputIndex) {
|
|
19
|
+
if (inputIndex === undefined) {
|
|
20
|
+
return psbt.txInputs.reduce((sum, input, inputIndex) => sum + getInputWeight(psbt, inputIndex), 0);
|
|
21
|
+
}
|
|
22
|
+
const { redeemScript, witnessScript } = psbt.data.inputs[inputIndex];
|
|
23
|
+
if (redeemScript) {
|
|
24
|
+
throw new Error('redeemScript is not supported');
|
|
25
|
+
}
|
|
26
|
+
if (!witnessScript) {
|
|
27
|
+
throw new Error('witnessScript is required');
|
|
28
|
+
}
|
|
29
|
+
const witnessMiniscript = wasm_miniscript_1.Miniscript.fromBitcoinScript(witnessScript, 'segwitv0');
|
|
30
|
+
const descriptor = wasm_miniscript_1.Descriptor.fromString(`wsh(${witnessMiniscript.toString()})`, 'definite');
|
|
31
|
+
return descriptor.maxWeightToSatisfy();
|
|
32
|
+
}
|
|
33
|
+
function getOutputVsize(psbt, outputIndex) {
|
|
34
|
+
if (outputIndex === undefined) {
|
|
35
|
+
return psbt.txOutputs.reduce((sum, output, outputIndex) => sum + getOutputVsize(psbt, outputIndex), 0);
|
|
36
|
+
}
|
|
37
|
+
const { script } = psbt.txOutputs[outputIndex];
|
|
38
|
+
return unspents_1.Dimensions.getVSizeForOutputWithScriptLength(script.length);
|
|
39
|
+
}
|
|
40
|
+
function getMaxOutputValue(psbt, { scriptPubKey, feeRateSatB, }) {
|
|
41
|
+
const inputSum = psbt.data.inputs.reduce((sum, input) => {
|
|
42
|
+
if (!input.witnessUtxo) {
|
|
43
|
+
throw new Error('witnessUtxo is required');
|
|
44
|
+
}
|
|
45
|
+
return sum + input.witnessUtxo.value;
|
|
46
|
+
}, BigInt(0));
|
|
47
|
+
const outputSum = psbt.txOutputs.reduce((sum, output) => sum + output.value, BigInt(0));
|
|
48
|
+
const inputVsize = Math.ceil(getInputWeight(psbt) / 4);
|
|
49
|
+
const outputVsize = getOutputVsize(psbt) + unspents_1.Dimensions.getVSizeForOutputWithScriptLength(scriptPubKey.length);
|
|
50
|
+
const totalVsize = inputVsize + outputVsize + 11;
|
|
51
|
+
const fee = BigInt(totalVsize * feeRateSatB);
|
|
52
|
+
if (inputSum < outputSum + fee) {
|
|
53
|
+
throw new Error(`insufficient funds: [inputSum=${inputSum}, outputSum=${outputSum}, fee=${fee}]`);
|
|
54
|
+
}
|
|
55
|
+
return inputSum - outputSum - fee;
|
|
56
|
+
}
|
|
57
|
+
function getOutputValue(amount, { scriptPubKey, psbt, feeRateSatB, }) {
|
|
58
|
+
if (amount === 'max') {
|
|
59
|
+
if (!feeRateSatB) {
|
|
60
|
+
throw new Error('feeRateSatB is required');
|
|
61
|
+
}
|
|
62
|
+
return getMaxOutputValue(psbt, { scriptPubKey, feeRateSatB });
|
|
63
|
+
}
|
|
64
|
+
return BigInt(parseFloat(amount));
|
|
65
|
+
}
|
|
66
|
+
exports.cmdAddOutput = {
|
|
67
|
+
command: 'addOutput',
|
|
68
|
+
describe: 'add output to psbt',
|
|
69
|
+
builder(b) {
|
|
70
|
+
return b
|
|
71
|
+
.options(withPsbt_1.withPsbtOptions)
|
|
72
|
+
.option('address', { type: 'string' })
|
|
73
|
+
.option('scriptPubKey', { type: 'string' })
|
|
74
|
+
.option('amount', { type: 'string', demandOption: true })
|
|
75
|
+
.option('feeRateSatB', { type: 'number' });
|
|
76
|
+
},
|
|
77
|
+
async handler(argv) {
|
|
78
|
+
await (0, withPsbt_1.withPsbt)(argv, async function (psbt) {
|
|
79
|
+
const scriptPubKey = toScriptPubKey({
|
|
80
|
+
address: argv.address,
|
|
81
|
+
scriptPubKey: argv.scriptPubKey,
|
|
82
|
+
}, argv.network);
|
|
83
|
+
const value = getOutputValue(argv.amount, { scriptPubKey, psbt, feeRateSatB: argv.feeRateSatB });
|
|
84
|
+
psbt.addOutput({ script: scriptPubKey, value });
|
|
85
|
+
return psbt;
|
|
86
|
+
});
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kQWRkT3V0cHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1hbmRzL2NtZFBzYnQvY21kQWRkT3V0cHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLDJDQUEyQztBQUMzQyw4Q0FBNkM7QUFDN0MsbUNBQWdDO0FBQ2hDLDREQUFnRTtBQUVoRSx5Q0FBd0U7QUFFeEUsU0FBUyxjQUFjLENBQ3JCLE1BR0MsRUFDRCxPQUF3QjtJQUV4QixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUU7UUFDbEIsT0FBTyxPQUFPLENBQUMsYUFBYSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDaEY7SUFDRCxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUU7UUFDdkIsT0FBTyxlQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDaEQ7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7QUFDekQsQ0FBQztBQVNELFNBQVMsY0FBYyxDQUFDLElBQWtCLEVBQUUsVUFBbUI7SUFDN0QsSUFBSSxVQUFVLEtBQUssU0FBUyxFQUFFO1FBQzVCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLGNBQWMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7S0FDcEc7SUFDRCxNQUFNLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3JFLElBQUksWUFBWSxFQUFFO1FBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0JBQStCLENBQUMsQ0FBQztLQUNsRDtJQUNELElBQUks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Q0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB5YXJncyBmcm9tICd5YXJncyc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBEaW1lbnNpb25zIH0gZnJvbSAnQGJpdGdvL3Vuc3BlbnRzJztcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XG5pbXBvcnQgeyBEZXNjcmlwdG9yLCBNaW5pc2NyaXB0IH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5cbmltcG9ydCB7IHdpdGhQc2J0LCB3aXRoUHNidE9wdGlvbnMsIFdpdGhQc2J0T3B0aW9ucyB9IGZyb20gJy4vd2l0aFBzYnQnO1xuXG5mdW5jdGlvbiB0b1NjcmlwdFB1YktleShcbiAgcGFyYW1zOiB7XG4gICAgYWRkcmVzcz86IHN0cmluZztcbiAgICBzY3JpcHRQdWJLZXk/OiBzdHJpbmc7XG4gIH0sXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29ya1xuKTogQnVmZmVyIHtcbiAgaWYgKHBhcmFtcy5hZGRyZXNzKSB7XG4gICAgcmV0dXJuIHV0eG9saWIuYWRkcmVzc0Zvcm1hdC50b091dHB1dFNjcmlwdFRyeUZvcm1hdHMocGFyYW1zLmFkZHJlc3MsIG5ldHdvcmspO1xuICB9XG4gIGlmIChwYXJhbXMuc2NyaXB0UHViS2V5KSB7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHBhcmFtcy5zY3JpcHRQdWJLZXksICdoZXgnKTtcbiAgfVxuICB0aHJvdyBuZXcgRXJyb3IoJ2FkZHJlc3Mgb3Igc2NyaXB0UHViS2V5IGlzIHJlcXVpcmVkJyk7XG59XG5cbnR5cGUgQXJnc0FkZE91dHB1dCA9IFdpdGhQc2J0T3B0aW9ucyAmIHtcbiAgYWRkcmVzcz86IHN0cmluZztcbiAgc2NyaXB0UHViS2V5Pzogc3RyaW5nO1xuICBhbW91bnQ6IHN0cmluZztcbiAgZmVlUmF0ZVNhdEI/OiBudW1iZXI7XG59O1xuXG5mdW5jdGlvbiBnZXRJbnB1dFdlaWdodChwc2J0OiB1dHhvbGliLlBzYnQsIGlucHV0SW5kZXg/OiBudW1iZXIpOiBudW1iZXIge1xuICBpZiAoaW5wdXRJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHBzYnQudHhJbnB1dHMucmVkdWNlKChzdW0sIGlucHV0LCBpbnB1dEluZGV4KSA9PiBzdW0gKyBnZXRJbnB1dFdlaWdodChwc2J0LCBpbnB1dEluZGV4KSwgMCk7XG4gIH1cbiAgY29uc3QgeyByZWRlZW1TY3JpcHQsIHdpdG5lc3NTY3JpcHQgfSA9IHBzYnQuZGF0YS5pbnB1dHNbaW5wdXRJbmRleF07XG4gIGlmIChyZWRlZW1TY3JpcHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3JlZGVlbVNjcmlwdCBpcyBub3Qgc3VwcG9ydGVkJyk7XG4gIH1cbiAgaWYgKCF3aXRuZXNzU2NyaXB0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd3aXRuZXNzU2NyaXB0IGlzIHJlcXVpcmVkJyk7XG4gIH1cbiAgY29uc3Qgd2l0bmVzc01pbmlzY3JpcHQgPSBNaW5pc2NyaXB0LmZyb21CaXRjb2luU2NyaXB0KHdpdG5lc3NTY3JpcHQsICdzZWd3aXR2MCcpO1xuICBjb25zdCBkZXNjcmlwdG9yID0gRGVzY3JpcHRvci5mcm9tU3RyaW5nKGB3c2goJHt3aXRuZXNzTWluaXNjcmlwdC50b1N0cmluZygpfSlgLCAnZGVmaW5pdGUnKTtcbiAgcmV0dXJuIGRlc2NyaXB0b3IubWF4V2VpZ2h0VG9TYXRpc2Z5KCk7XG59XG5cbmZ1bmN0aW9uIGdldE91dHB1dFZzaXplKHBzYnQ6IHV0eG9saWIuUHNidCwgb3V0cHV0SW5kZXg/OiBudW1iZXIpOiBudW1iZXIge1xuICBpZiAob3V0cHV0SW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBwc2J0LnR4T3V0cHV0cy5yZWR1Y2UoKHN1bSwgb3V0cHV0LCBvdXRwdXRJbmRleCkgPT4gc3VtICsgZ2V0T3V0cHV0VnNpemUocHNidCwgb3V0cHV0SW5kZXgpLCAwKTtcbiAgfVxuICBjb25zdCB7IHNjcmlwdCB9ID0gcHNidC50eE91dHB1dHNbb3V0cHV0SW5kZXhdO1xuICByZXR1cm4gRGltZW5zaW9ucy5nZXRWU2l6ZUZvck91dHB1dFdpdGhTY3JpcHRMZW5ndGgoc2NyaXB0Lmxlbmd0aCk7XG59XG5cbmZ1bmN0aW9uIGdldE1heE91dHB1dFZhbHVlKFxuICBwc2J0OiB1dHhvbGliLlBzYnQsXG4gIHtcbiAgICBzY3JpcHRQdWJLZXksXG4gICAgZmVlUmF0ZVNhdEIsXG4gIH06IHtcbiAgICBzY3JpcHRQdWJLZXk6IEJ1ZmZlcjtcbiAgICBmZWVSYXRlU2F0QjogbnVtYmVyO1xuICB9XG4pOiBiaWdpbnQge1xuICBjb25zdCBpbnB1dFN1bSA9IHBzYnQuZGF0YS5pbnB1dHMucmVkdWNlKChzdW0sIGlucHV0KSA9PiB7XG4gICAgaWYgKCFpbnB1dC53aXRuZXNzVXR4bykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCd3aXRuZXNzVXR4byBpcyByZXF1aXJlZCcpO1xuICAgIH1cbiAgICByZXR1cm4gc3VtICsgaW5wdXQud2l0bmVzc1V0eG8udmFsdWU7XG4gIH0sIEJpZ0ludCgwKSk7XG4gIGNvbnN0IG91dHB1dFN1bSA9IHBzYnQudHhPdXRwdXRzLnJlZHVjZSgoc3VtLCBvdXRwdXQpID0+IHN1bSArIG91dHB1dC52YWx1ZSwgQmlnSW50KDApKTtcbiAgY29uc3QgaW5wdXRWc2l6ZSA9IE1hdGguY2VpbChnZXRJbnB1dFdlaWdodChwc2J0KSAvIDQpO1xuICBjb25zdCBvdXRwdXRWc2l6ZSA9IGdldE91dHB1dFZzaXplKHBzYnQpICsgRGltZW5zaW9ucy5nZXRWU2l6ZUZvck91dHB1dFdpdGhTY3JpcHRMZW5ndGgoc2NyaXB0UHViS2V5Lmxlbmd0aCk7XG4gIGNvbnN0IHRvdGFsVnNpemUgPSBpbnB1dFZzaXplICsgb3V0cHV0VnNpemUgKyAxMTtcbiAgY29uc3QgZmVlID0gQmlnSW50KHRvdGFsVnNpemUgKiBmZWVSYXRlU2F0Qik7XG4gIGlmIChpbnB1dFN1bSA8IG91dHB1dFN1bSArIGZlZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgaW5zdWZmaWNpZW50IGZ1bmRzOiBbaW5wdXRTdW09JHtpbnB1dFN1bX0sIG91dHB1dFN1bT0ke291dHB1dFN1bX0sIGZlZT0ke2ZlZX1dYCk7XG4gIH1cbiAgcmV0dXJuIGlucHV0U3VtIC0gb3V0cHV0U3VtIC0gZmVlO1xufVxuXG5mdW5jdGlvbiBnZXRPdXRwdXRWYWx1ZShcbiAgYW1vdW50OiBzdHJpbmcsXG4gIHtcbiAgICBzY3JpcHRQdWJLZXksXG4gICAgcHNidCxcbiAgICBmZWVSYXRlU2F0QixcbiAgfToge1xuICAgIHNjcmlwdFB1YktleTogQnVmZmVyO1xuICAgIHBzYnQ6IHV0eG9saWIuUHNidDtcbiAgICBmZWVSYXRlU2F0Qj86IG51bWJlcjtcbiAgfVxuKTogYmlnaW50IHtcbiAgaWYgKGFtb3VudCA9PT0gJ21heCcpIHtcbiAgICBpZiAoIWZlZVJhdGVTYXRCKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ZlZVJhdGVTYXRCIGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuICAgIHJldHVybiBnZXRNYXhPdXRwdXRWYWx1ZShwc2J0LCB7IHNjcmlwdFB1YktleSwgZmVlUmF0ZVNhdEIgfSk7XG4gIH1cbiAgcmV0dXJuIEJpZ0ludChwYXJzZUZsb2F0KGFtb3VudCkpO1xufVxuXG5leHBvcnQgY29uc3QgY21kQWRkT3V0cHV0OiB5YXJncy5Db21tYW5kTW9kdWxlPHVua25vd24sIEFyZ3NBZGRPdXRwdXQ+ID0ge1xuICBjb21tYW5kOiAnYWRkT3V0cHV0JyxcbiAgZGVzY3JpYmU6ICdhZGQgb3V0cHV0IHRvIHBzYnQnLFxuICBidWlsZGVyKGI6IHlhcmdzLkFyZ3Y8dW5rbm93bj4pIHtcbiAgICByZXR1cm4gYlxuICAgICAgLm9wdGlvbnMod2l0aFBzYnRPcHRpb25zKVxuICAgICAgLm9wdGlvbignYWRkcmVzcycsIHsgdHlwZTogJ3N0cmluZycgfSlcbiAgICAgIC5vcHRpb24oJ3NjcmlwdFB1YktleScsIHsgdHlwZTogJ3N0cmluZycgfSlcbiAgICAgIC5vcHRpb24oJ2Ftb3VudCcsIHsgdHlwZTogJ3N0cmluZycsIGRlbWFuZE9wdGlvbjogdHJ1ZSB9KVxuICAgICAgLm9wdGlvbignZmVlUmF0ZVNhdEInLCB7IHR5cGU6ICdudW1iZXInIH0pO1xuICB9LFxuICBhc3luYyBoYW5kbGVyKGFyZ3YpIHtcbiAgICBhd2FpdCB3aXRoUHNidChhcmd2LCBhc3luYyBmdW5jdGlvbiAocHNidCkge1xuICAgICAgY29uc3Qgc2NyaXB0UHViS2V5ID0gdG9TY3JpcHRQdWJLZXkoXG4gICAgICAgIHtcbiAgICAgICAgICBhZGRyZXNzOiBhcmd2LmFkZHJlc3MsXG4gICAgICAgICAgc2NyaXB0UHViS2V5OiBhcmd2LnNjcmlwdFB1YktleSxcbiAgICAgICAgfSxcbiAgICAgICAgYXJndi5uZXR3b3JrXG4gICAgICApO1xuICAgICAgY29uc3QgdmFsdWUgPSBnZXRPdXRwdXRWYWx1ZShhcmd2LmFtb3VudCwgeyBzY3JpcHRQdWJLZXksIHBzYnQsIGZlZVJhdGVTYXRCOiBhcmd2LmZlZVJhdGVTYXRCIH0pO1xuICAgICAgcHNidC5hZGRPdXRwdXQoeyBzY3JpcHQ6IHNjcmlwdFB1YktleSwgdmFsdWUgfSk7XG4gICAgICByZXR1cm4gcHNidDtcbiAgICB9KTtcbiAgfSxcbn07XG4iXX0=
|
|
@@ -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"}
|