@bitgo-beta/utxo-bin 2.8.3-beta.52 → 2.8.3-beta.520
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/README.md +63 -4
- package/dist/bin/index.js +10 -2
- package/dist/src/AddressParser.d.ts +1 -0
- package/dist/src/AddressParser.d.ts.map +1 -1
- package/dist/src/AddressParser.js +7 -1
- package/dist/src/InputParser.d.ts +1 -1
- package/dist/src/InputParser.d.ts.map +1 -1
- package/dist/src/InputParser.js +29 -22
- package/dist/src/OutputParser.d.ts +3 -2
- package/dist/src/OutputParser.d.ts.map +1 -1
- package/dist/src/OutputParser.js +17 -4
- package/dist/src/Parser.d.ts +3 -2
- package/dist/src/Parser.d.ts.map +1 -1
- package/dist/src/Parser.js +13 -2
- package/dist/src/ParserTx.d.ts +3 -3
- package/dist/src/ParserTx.d.ts.map +1 -1
- package/dist/src/ScriptParser.d.ts +21 -0
- package/dist/src/ScriptParser.d.ts.map +1 -0
- package/dist/src/ScriptParser.js +91 -0
- package/dist/src/TxParser.d.ts +3 -2
- package/dist/src/TxParser.d.ts.map +1 -1
- package/dist/src/TxParser.js +9 -7
- package/dist/src/args/format.d.ts +8 -0
- package/dist/src/args/format.d.ts.map +1 -0
- package/dist/src/args/format.js +15 -0
- package/dist/src/args/index.d.ts +5 -0
- package/dist/src/args/index.d.ts.map +1 -0
- package/dist/src/args/index.js +21 -0
- package/dist/src/args/parseNetwork.d.ts +22 -0
- package/dist/src/args/parseNetwork.d.ts.map +1 -0
- package/dist/src/args/parseNetwork.js +34 -0
- package/dist/src/args/parseString.d.ts +41 -0
- package/dist/src/args/parseString.d.ts.map +1 -0
- package/dist/src/args/parseString.js +120 -0
- package/dist/src/args/walletKeys.d.ts +38 -0
- package/dist/src/args/walletKeys.d.ts.map +1 -0
- package/dist/src/args/walletKeys.js +29 -0
- package/dist/src/bip32.d.ts +5 -0
- package/dist/src/bip32.d.ts.map +1 -0
- package/dist/src/bip32.js +25 -0
- package/dist/src/commands/cmdAddress/cmdGenerate.d.ts +21 -0
- package/dist/src/commands/cmdAddress/cmdGenerate.d.ts.map +1 -0
- package/dist/src/commands/cmdAddress/cmdGenerate.js +89 -0
- package/dist/src/commands/cmdAddress/cmdParse.d.ts +20 -0
- package/dist/src/commands/cmdAddress/cmdParse.d.ts.map +1 -0
- package/dist/src/commands/cmdAddress/cmdParse.js +28 -0
- package/dist/src/commands/cmdAddress/index.d.ts +3 -0
- package/dist/src/commands/cmdAddress/index.d.ts.map +1 -0
- package/dist/src/commands/cmdAddress/index.js +16 -0
- package/dist/src/commands/cmdBip32.d.ts +16 -0
- package/dist/src/commands/cmdBip32.d.ts.map +1 -0
- package/dist/src/commands/cmdBip32.js +45 -0
- package/dist/src/commands/cmdParseScript.d.ts +18 -0
- package/dist/src/commands/cmdParseScript.d.ts.map +1 -0
- package/dist/src/commands/cmdParseScript.js +27 -0
- package/dist/src/commands/cmdParseTx.d.ts +30 -0
- package/dist/src/commands/cmdParseTx.d.ts.map +1 -0
- package/dist/src/commands/cmdParseTx.js +120 -0
- package/dist/src/commands/formatString.d.ts +8 -0
- package/dist/src/commands/formatString.d.ts.map +1 -0
- package/dist/src/commands/formatString.js +15 -0
- package/dist/src/commands/index.d.ts +5 -0
- package/dist/src/commands/index.d.ts.map +1 -0
- package/dist/src/commands/index.js +21 -0
- package/dist/src/fetch.d.ts +8 -1
- package/dist/src/fetch.d.ts.map +1 -1
- package/dist/src/fetch.js +38 -4
- package/dist/src/format.d.ts.map +1 -1
- package/dist/src/format.js +14 -5
- package/dist/src/generateAddress.d.ts +47 -0
- package/dist/src/generateAddress.d.ts.map +1 -0
- package/dist/src/generateAddress.js +144 -0
- package/dist/src/hollowSegwitSpend.d.ts +1 -1
- package/dist/src/hollowSegwitSpend.d.ts.map +1 -1
- package/dist/src/parseUnknown.d.ts +3 -1
- package/dist/src/parseUnknown.d.ts.map +1 -1
- package/dist/src/parseUnknown.js +4 -4
- package/dist/test/args/stringToBuffer.d.ts +2 -0
- package/dist/test/args/stringToBuffer.d.ts.map +1 -0
- package/dist/test/args/stringToBuffer.js +16 -0
- package/dist/test/bip32.d.ts +2 -0
- package/dist/test/bip32.d.ts.map +1 -0
- package/dist/test/bip32.js +22 -0
- package/dist/test/bip32.util.d.ts +6 -0
- package/dist/test/bip32.util.d.ts.map +1 -0
- package/dist/test/bip32.util.js +14 -0
- package/dist/test/fixtures.d.ts +2 -2
- package/dist/test/fixtures.d.ts.map +1 -1
- package/dist/test/fixtures.js +11 -4
- package/dist/test/generateAddress.d.ts +2 -0
- package/dist/test/generateAddress.d.ts.map +1 -0
- package/dist/test/generateAddress.js +46 -0
- package/dist/test/parseAddress.d.ts +1 -5
- package/dist/test/parseAddress.d.ts.map +1 -1
- package/dist/test/parseAddress.js +15 -19
- package/dist/test/parseScript.d.ts +2 -0
- package/dist/test/parseScript.d.ts.map +1 -0
- package/dist/test/parseScript.js +38 -0
- package/dist/test/parseTransaction.js +10 -7
- package/dist/tsconfig.tsbuildinfo +1 -4790
- package/package.json +8 -6
- package/dist/src/commands.d.ts +0 -48
- package/dist/src/commands.d.ts.map +0 -1
- package/dist/src/commands.js +0 -213
- package/dist/src/readStdin.d.ts +0 -5
- package/dist/src/readStdin.d.ts.map +0 -1
- package/dist/src/readStdin.js +0 -42
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.argToString = exports.readStdin = exports.readStringOptions = exports.stringToBuffer = void 0;
|
|
4
|
+
const process = require("process");
|
|
5
|
+
const fs = require("fs");
|
|
6
|
+
const clipboardy_cjs_1 = require("clipboardy-cjs");
|
|
7
|
+
function stringToBuffer(data, format) {
|
|
8
|
+
if (typeof format !== 'string') {
|
|
9
|
+
for (const f of format) {
|
|
10
|
+
try {
|
|
11
|
+
return stringToBuffer(data, f);
|
|
12
|
+
}
|
|
13
|
+
catch (err) {
|
|
14
|
+
// ignore, try next
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
throw new Error(`could not parse data, formats: ${format}`);
|
|
18
|
+
}
|
|
19
|
+
// strip all whitespace
|
|
20
|
+
data = data.replace(/\s*/g, '');
|
|
21
|
+
if (format === 'hex') {
|
|
22
|
+
data = data.toLowerCase();
|
|
23
|
+
}
|
|
24
|
+
const buf = Buffer.from(data, format);
|
|
25
|
+
// make sure there were no decoding errors
|
|
26
|
+
if (buf.toString(format) !== data) {
|
|
27
|
+
throw new Error(`invalid ${format}`);
|
|
28
|
+
}
|
|
29
|
+
return buf;
|
|
30
|
+
}
|
|
31
|
+
exports.stringToBuffer = stringToBuffer;
|
|
32
|
+
exports.readStringOptions = {
|
|
33
|
+
path: { type: 'string', nargs: 1, default: '' },
|
|
34
|
+
stdin: { type: 'boolean', default: false },
|
|
35
|
+
data: {
|
|
36
|
+
type: 'string',
|
|
37
|
+
description: 'hex or base64',
|
|
38
|
+
alias: 'hex',
|
|
39
|
+
},
|
|
40
|
+
clipboard: { type: 'boolean', default: false },
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Reads from stdin until Ctrl-D is pressed.
|
|
44
|
+
*/
|
|
45
|
+
async function readStdin() {
|
|
46
|
+
/*
|
|
47
|
+
* High-performance implementation of reading from stdin.
|
|
48
|
+
* Standard readline is extremely slow for long lines.
|
|
49
|
+
*/
|
|
50
|
+
return new Promise((resolve, reject) => {
|
|
51
|
+
// Using readline is not an option because it is extremely slow for long lines.
|
|
52
|
+
// By enabling raw mode, we can read more than 4096 bytes, but it requires manual Ctrl-C/Ctrl-D handling
|
|
53
|
+
if (!process.stdin.setRawMode) {
|
|
54
|
+
throw new Error('stdin is not a tty');
|
|
55
|
+
}
|
|
56
|
+
process.stdin.setRawMode(true);
|
|
57
|
+
const buf = [];
|
|
58
|
+
process.stdin.on('data', (chunk) => {
|
|
59
|
+
if (chunk[0] === 0x03) {
|
|
60
|
+
// Ctrl-C
|
|
61
|
+
process.exit(130);
|
|
62
|
+
}
|
|
63
|
+
if (chunk[0] === 0x04) {
|
|
64
|
+
// Ctrl-D
|
|
65
|
+
process.stdin.emit('end');
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
buf.push(chunk);
|
|
69
|
+
process.stdout.write(chunk);
|
|
70
|
+
});
|
|
71
|
+
process.stdin.on('end', () => {
|
|
72
|
+
resolve(Buffer.concat(buf).toString('utf8'));
|
|
73
|
+
});
|
|
74
|
+
process.stdin.on('error', (err) => {
|
|
75
|
+
reject(err);
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
exports.readStdin = readStdin;
|
|
80
|
+
/**
|
|
81
|
+
* @param argv
|
|
82
|
+
* @param input - optional input data. If set, this function just ensures that nothing else is set.
|
|
83
|
+
* @return string from specified source
|
|
84
|
+
*/
|
|
85
|
+
async function argToString(argv, input) {
|
|
86
|
+
if (argv.stdin || argv.path === '-') {
|
|
87
|
+
if (input) {
|
|
88
|
+
throw new Error(`conflicting arguments`);
|
|
89
|
+
}
|
|
90
|
+
console.log('Reading from stdin. Please paste hex-encoded transaction data.');
|
|
91
|
+
console.log('After inserting data, press Ctrl-D to finish. Press Ctrl-C to cancel.');
|
|
92
|
+
if (process.stdin.isTTY) {
|
|
93
|
+
input = await readStdin();
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
input = await fs.promises.readFile('/dev/stdin', 'utf8');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (argv.clipboard) {
|
|
100
|
+
if (input) {
|
|
101
|
+
throw new Error(`conflicting arguments`);
|
|
102
|
+
}
|
|
103
|
+
input = await clipboardy_cjs_1.default.read();
|
|
104
|
+
}
|
|
105
|
+
if (argv.path) {
|
|
106
|
+
if (input) {
|
|
107
|
+
throw new Error(`conflicting arguments`);
|
|
108
|
+
}
|
|
109
|
+
input = (await fs.promises.readFile(argv.path, 'utf8')).toString();
|
|
110
|
+
}
|
|
111
|
+
if (argv.data) {
|
|
112
|
+
if (input) {
|
|
113
|
+
throw new Error(`conflicting arguments`);
|
|
114
|
+
}
|
|
115
|
+
input = argv.data;
|
|
116
|
+
}
|
|
117
|
+
return input;
|
|
118
|
+
}
|
|
119
|
+
exports.argToString = argToString;
|
|
120
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VTdHJpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXJncy9wYXJzZVN0cmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBbUM7QUFDbkMseUJBQXlCO0FBRXpCLG1EQUF3QztBQUd4QyxTQUFnQixjQUFjLENBQUMsSUFBWSxFQUFFLE1BQXlCO0lBQ3BFLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1FBQzlCLEtBQUssTUFBTSxDQUFDLElBQUksTUFBTSxFQUFFO1lBQ3RCLElBQUk7Z0JBQ0YsT0FBTyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQ2hDO1lBQUMsT0FBTyxHQUFHLEVBQUU7Z0JBQ1osbUJBQW1CO2FBQ3BCO1NBQ0Y7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0tBQzdEO0lBRUQsdUJBQXVCO0lBQ3ZCLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVoQyxJQUFJLE1BQU0sS0FBSyxLQUFLLEVBQUU7UUFDcEIsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUMzQjtJQUVELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3RDLDBDQUEwQztJQUMxQyxJQUFJLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxFQUFFO1FBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQUMsV0FBVyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0tBQ3RDO0lBQ0QsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBekJELHdDQXlCQztBQUVZLFFBQUEsaUJBQWlCLEdBQUc7SUFDL0IsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUU7SUFDL0MsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0lBQzFDLElBQUksRUFBRTtRQUNKLElBQUksRUFBRSxRQUFRO1FBQ2QsV0FBVyxFQUFFLGVBQWU7UUFDNUIsS0FBSyxFQUFFLEtBQUs7S0FDYjtJQUNELFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtDQUN0QyxDQUFDO0FBU1g7O0dBRUc7QUFDSSxLQUFLLFVBQVUsU0FBUztJQUM3Qjs7O09BR0c7SUFDSCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3JDLCtFQUErRTtRQUMvRSx3R0FBd0c7UUFDeEcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQzdCLE1BQU0sSUFBSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsQ0FBQztTQUN2QztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLE1BQU0sR0FBRyxHQUFhLEVBQUUsQ0FBQztRQUV6QixPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNqQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ3JCLFNBQVM7Z0JBQ1QsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNuQjtZQUNELElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDckIsU0FBUztnQkFDVCxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDMUIsT0FBTzthQUNSO1lBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoQixPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUU7WUFDM0IsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNoQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQXBDRCw4QkFvQ0M7QUFFRDs7OztHQUlHO0FBQ0ksS0FBSyxVQUFVLFdBQVcsQ0FBQyxJQUF1QixFQUFFLEtBQWM7SUFDdkUsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxFQUFFO1FBQ25DLElBQUksS0FBSyxFQUFFO1lBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1NBQzFDO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDO1FBQzlFLE9BQU8sQ0FBQyxHQUFHLENBQUMsdUVBQXVFLENBQUMsQ0FBQztRQUNyRixJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFO1lBQ3ZCLEtBQUssR0FBRyxNQUFNLFNBQVMsRUFBRSxDQUFDO1NBQzNCO2FBQU07WUFDTCxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7U0FDMUQ7S0FDRjtJQUVELElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtRQUNsQixJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztTQUMxQztRQUNELEtBQUssR0FBRyxNQUFNLHdCQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7S0FDakM7SUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7UUFDYixJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztTQUMxQztRQUNELEtBQUssR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0tBQ3BFO0lBRUQsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1FBQ2IsSUFBSSxLQUFLLEVBQUU7WUFDVCxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7U0FDMUM7UUFDRCxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztLQUNuQjtJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQXBDRCxrQ0FvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBwcm9jZXNzIGZyb20gJ3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuXG5pbXBvcnQgY2xpcGJvYXJkeSBmcm9tICdjbGlwYm9hcmR5LWNqcyc7XG5cbnR5cGUgRm9ybWF0ID0gJ2hleCcgfCAnYmFzZTY0JztcbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdUb0J1ZmZlcihkYXRhOiBzdHJpbmcsIGZvcm1hdDogRm9ybWF0IHwgRm9ybWF0W10pOiBCdWZmZXIge1xuICBpZiAodHlwZW9mIGZvcm1hdCAhPT0gJ3N0cmluZycpIHtcbiAgICBmb3IgKGNvbnN0IGYgb2YgZm9ybWF0KSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gc3RyaW5nVG9CdWZmZXIoZGF0YSwgZik7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgLy8gaWdub3JlLCB0cnkgbmV4dFxuICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYGNvdWxkIG5vdCBwYXJzZSBkYXRhLCBmb3JtYXRzOiAke2Zvcm1hdH1gKTtcbiAgfVxuXG4gIC8vIHN0cmlwIGFsbCB3aGl0ZXNwYWNlXG4gIGRhdGEgPSBkYXRhLnJlcGxhY2UoL1xccyovZywgJycpO1xuXG4gIGlmIChmb3JtYXQgPT09ICdoZXgnKSB7XG4gICAgZGF0YSA9IGRhdGEudG9Mb3dlckNhc2UoKTtcbiAgfVxuXG4gIGNvbnN0IGJ1ZiA9IEJ1ZmZlci5mcm9tKGRhdGEsIGZvcm1hdCk7XG4gIC8vIG1ha2Ugc3VyZSB0aGVyZSB3ZXJlIG5vIGRlY29kaW5nIGVycm9yc1xuICBpZiAoYnVmLnRvU3RyaW5nKGZvcm1hdCkgIT09IGRhdGEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGludmFsaWQgJHtmb3JtYXR9YCk7XG4gIH1cbiAgcmV0dXJuIGJ1Zjtcbn1cblxuZXhwb3J0IGNvbnN0IHJlYWRTdHJpbmdPcHRpb25zID0ge1xuICBwYXRoOiB7IHR5cGU6ICdzdHJpbmcnLCBuYXJnczogMSwgZGVmYXVsdDogJycgfSxcbiAgc3RkaW46IHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9LFxuICBkYXRhOiB7XG4gICAgdHlwZTogJ3N0cmluZycsXG4gICAgZGVzY3JpcHRpb246ICdoZXggb3IgYmFzZTY0JyxcbiAgICBhbGlhczogJ2hleCcsXG4gIH0sXG4gIGNsaXBib2FyZDogeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0sXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBSZWFkU3RyaW5nT3B0aW9ucyA9IHtcbiAgY2xpcGJvYXJkPzogYm9vbGVhbjtcbiAgcGF0aD86IHN0cmluZztcbiAgZGF0YT86IHN0cmluZztcbiAgc3RkaW46IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIFJlYWRzIGZyb20gc3RkaW4gdW50aWwgQ3RybC1EIGlzIHByZXNzZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWFkU3RkaW4oKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgLypcbiAgICogSGlnaC1wZXJmb3JtYW5jZSBpbXBsZW1lbnRhdGlvbiBvZiByZWFkaW5nIGZyb20gc3RkaW4uXG4gICAqIFN0YW5kYXJkIHJlYWRsaW5lIGlzIGV4dHJlbWVseSBzbG93IGZvciBsb25nIGxpbmVzLlxuICAgKi9cbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAvLyBVc2luZyByZWFkbGluZSBpcyBub3QgYW4gb3B0aW9uIGJlY2F1c2UgaXQgaXMgZXh0cmVtZWx5IHNsb3cgZm9yIGxvbmcgbGluZXMuXG4gICAgLy8gQnkgZW5hYmxpbmcgcmF3IG1vZGUsIHdlIGNhbiByZWFkIG1vcmUgdGhhbiA0MDk2IGJ5dGVzLCBidXQgaXQgcmVxdWlyZXMgbWFudWFsIEN0cmwtQy9DdHJsLUQgaGFuZGxpbmdcbiAgICBpZiAoIXByb2Nlc3Muc3RkaW4uc2V0UmF3TW9kZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdzdGRpbiBpcyBub3QgYSB0dHknKTtcbiAgICB9XG4gICAgcHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKHRydWUpO1xuICAgIGNvbnN0IGJ1ZjogQnVmZmVyW10gPSBbXTtcblxuICAgIHByb2Nlc3Muc3RkaW4ub24oJ2RhdGEnLCAoY2h1bmspID0+IHtcbiAgICAgIGlmIChjaHVua1swXSA9PT0gMHgwMykge1xuICAgICAgICAvLyBDdHJsLUNcbiAgICAgICAgcHJvY2Vzcy5leGl0KDEzMCk7XG4gICAgICB9XG4gICAgICBpZiAoY2h1bmtbMF0gPT09IDB4MDQpIHtcbiAgICAgICAgLy8gQ3RybC1EXG4gICAgICAgIHByb2Nlc3Muc3RkaW4uZW1pdCgnZW5kJyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGJ1Zi5wdXNoKGNodW5rKTtcbiAgICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKGNodW5rKTtcbiAgICB9KTtcblxuICAgIHByb2Nlc3Muc3RkaW4ub24oJ2VuZCcsICgpID0+IHtcbiAgICAgIHJlc29sdmUoQnVmZmVyLmNvbmNhdChidWYpLnRvU3RyaW5nKCd1dGY4JykpO1xuICAgIH0pO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5vbignZXJyb3InLCAoZXJyKSA9PiB7XG4gICAgICByZWplY3QoZXJyKTtcbiAgICB9KTtcbiAgfSk7XG59XG5cbi8qKlxuICogQHBhcmFtIGFyZ3ZcbiAqIEBwYXJhbSBpbnB1dCAtIG9wdGlvbmFsIGlucHV0IGRhdGEuIElmIHNldCwgdGhpcyBmdW5jdGlvbiBqdXN0IGVuc3VyZXMgdGhhdCBub3RoaW5nIGVsc2UgaXMgc2V0LlxuICogQHJldHVybiBzdHJpbmcgZnJvbSBzcGVjaWZpZWQgc291cmNlXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhcmdUb1N0cmluZyhhcmd2OiBSZWFkU3RyaW5nT3B0aW9ucywgaW5wdXQ/OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICBpZiAoYXJndi5zdGRpbiB8fCBhcmd2LnBhdGggPT09ICctJykge1xuICAgIGlmIChpbnB1dCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBjb25mbGljdGluZyBhcmd1bWVudHNgKTtcbiAgICB9XG4gICAgY29uc29sZS5sb2coJ1JlYWRpbmcgZnJvbSBzdGRpbi4gUGxlYXNlIHBhc3RlIGhleC1lbmNvZGVkIHRyYW5zYWN0aW9uIGRhdGEuJyk7XG4gICAgY29uc29sZS5sb2coJ0FmdGVyIGluc2VydGluZyBkYXRhLCBwcmVzcyBDdHJsLUQgdG8gZmluaXNoLiBQcmVzcyBDdHJsLUMgdG8gY2FuY2VsLicpO1xuICAgIGlmIChwcm9jZXNzLnN0ZGluLmlzVFRZKSB7XG4gICAgICBpbnB1dCA9IGF3YWl0IHJlYWRTdGRpbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbnB1dCA9IGF3YWl0IGZzLnByb21pc2VzLnJlYWRGaWxlKCcvZGV2L3N0ZGluJywgJ3V0ZjgnKTtcbiAgICB9XG4gIH1cblxuICBpZiAoYXJndi5jbGlwYm9hcmQpIHtcbiAgICBpZiAoaW5wdXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgY29uZmxpY3RpbmcgYXJndW1lbnRzYCk7XG4gICAgfVxuICAgIGlucHV0ID0gYXdhaXQgY2xpcGJvYXJkeS5yZWFkKCk7XG4gIH1cblxuICBpZiAoYXJndi5wYXRoKSB7XG4gICAgaWYgKGlucHV0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGNvbmZsaWN0aW5nIGFyZ3VtZW50c2ApO1xuICAgIH1cbiAgICBpbnB1dCA9IChhd2FpdCBmcy5wcm9taXNlcy5yZWFkRmlsZShhcmd2LnBhdGgsICd1dGY4JykpLnRvU3RyaW5nKCk7XG4gIH1cblxuICBpZiAoYXJndi5kYXRhKSB7XG4gICAgaWYgKGlucHV0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYGNvbmZsaWN0aW5nIGFyZ3VtZW50c2ApO1xuICAgIH1cbiAgICBpbnB1dCA9IGFyZ3YuZGF0YTtcbiAgfVxuXG4gIHJldHVybiBpbnB1dDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as utxolib from '@bitgo-beta/utxo-lib';
|
|
2
|
+
export declare function isWalletKeyName(name: string): name is utxolib.bitgo.KeyName;
|
|
3
|
+
export declare const keyOptions: {
|
|
4
|
+
readonly userKey: {
|
|
5
|
+
readonly type: "string";
|
|
6
|
+
readonly demandOption: true;
|
|
7
|
+
};
|
|
8
|
+
readonly userKeyPrefix: {
|
|
9
|
+
readonly type: "string";
|
|
10
|
+
readonly default: "0/0";
|
|
11
|
+
};
|
|
12
|
+
readonly backupKey: {
|
|
13
|
+
readonly type: "string";
|
|
14
|
+
readonly demandOption: true;
|
|
15
|
+
};
|
|
16
|
+
readonly backupKeyPrefix: {
|
|
17
|
+
readonly type: "string";
|
|
18
|
+
readonly default: "0/0";
|
|
19
|
+
};
|
|
20
|
+
readonly bitgoKey: {
|
|
21
|
+
readonly type: "string";
|
|
22
|
+
readonly demandOption: true;
|
|
23
|
+
};
|
|
24
|
+
readonly bitgoKeyPrefix: {
|
|
25
|
+
readonly type: "string";
|
|
26
|
+
readonly default: "0/0";
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export type KeyOptions = {
|
|
30
|
+
userKey: string;
|
|
31
|
+
userKeyPrefix?: string;
|
|
32
|
+
backupKey: string;
|
|
33
|
+
backupKeyPrefix?: string;
|
|
34
|
+
bitgoKey: string;
|
|
35
|
+
bitgoKeyPrefix?: string;
|
|
36
|
+
};
|
|
37
|
+
export declare function getRootWalletKeys(argv: KeyOptions): utxolib.bitgo.RootWalletKeys;
|
|
38
|
+
//# sourceMappingURL=walletKeys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walletKeys.d.ts","sourceRoot":"","sources":["../../../src/args/walletKeys.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAE3E;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;CAOb,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAQhF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRootWalletKeys = exports.keyOptions = exports.isWalletKeyName = void 0;
|
|
4
|
+
const assert = require("assert");
|
|
5
|
+
const utxolib = require("@bitgo-beta/utxo-lib");
|
|
6
|
+
function isWalletKeyName(name) {
|
|
7
|
+
return name === 'user' || name === 'backup' || name === 'bitgo';
|
|
8
|
+
}
|
|
9
|
+
exports.isWalletKeyName = isWalletKeyName;
|
|
10
|
+
exports.keyOptions = {
|
|
11
|
+
userKey: { type: 'string', demandOption: true },
|
|
12
|
+
userKeyPrefix: { type: 'string', default: '0/0' },
|
|
13
|
+
backupKey: { type: 'string', demandOption: true },
|
|
14
|
+
backupKeyPrefix: { type: 'string', default: '0/0' },
|
|
15
|
+
bitgoKey: { type: 'string', demandOption: true },
|
|
16
|
+
bitgoKeyPrefix: { type: 'string', default: '0/0' },
|
|
17
|
+
};
|
|
18
|
+
function getRootWalletKeys(argv) {
|
|
19
|
+
var _a, _b, _c;
|
|
20
|
+
const xpubs = [argv.userKey, argv.backupKey, argv.bitgoKey].map((k) => utxolib.bip32.fromBase58(k));
|
|
21
|
+
assert(utxolib.bitgo.isTriple(xpubs));
|
|
22
|
+
return new utxolib.bitgo.RootWalletKeys(xpubs, [
|
|
23
|
+
(_a = argv.userKeyPrefix) !== null && _a !== void 0 ? _a : utxolib.bitgo.RootWalletKeys.defaultPrefix,
|
|
24
|
+
(_b = argv.backupKeyPrefix) !== null && _b !== void 0 ? _b : utxolib.bitgo.RootWalletKeys.defaultPrefix,
|
|
25
|
+
(_c = argv.bitgoKeyPrefix) !== null && _c !== void 0 ? _c : utxolib.bitgo.RootWalletKeys.defaultPrefix,
|
|
26
|
+
]);
|
|
27
|
+
}
|
|
28
|
+
exports.getRootWalletKeys = getRootWalletKeys;
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FsbGV0S2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcmdzL3dhbGxldEtleXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWlDO0FBRWpDLGdEQUFnRDtBQUVoRCxTQUFnQixlQUFlLENBQUMsSUFBWTtJQUMxQyxPQUFPLElBQUksS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLEtBQUssT0FBTyxDQUFDO0FBQ2xFLENBQUM7QUFGRCwwQ0FFQztBQUVZLFFBQUEsVUFBVSxHQUFHO0lBQ3hCLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRTtJQUMvQyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUU7SUFDakQsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFO0lBQ2pELGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRTtJQUNuRCxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUU7SUFDaEQsY0FBYyxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFO0NBQzFDLENBQUM7QUFXWCxTQUFnQixpQkFBaUIsQ0FBQyxJQUFnQjs7SUFDaEQsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNwRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN0QyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFO1FBQzdDLE1BQUEsSUFBSSxDQUFDLGFBQWEsbUNBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsYUFBYTtRQUNoRSxNQUFBLElBQUksQ0FBQyxlQUFlLG1DQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLGFBQWE7UUFDbEUsTUFBQSxJQUFJLENBQUMsY0FBYyxtQ0FBSSxPQUFPLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxhQUFhO0tBQ2xFLENBQUMsQ0FBQztBQUNMLENBQUM7QUFSRCw4Q0FRQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGFzc2VydCBmcm9tICdhc3NlcnQnO1xuXG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzV2FsbGV0S2V5TmFtZShuYW1lOiBzdHJpbmcpOiBuYW1lIGlzIHV0eG9saWIuYml0Z28uS2V5TmFtZSB7XG4gIHJldHVybiBuYW1lID09PSAndXNlcicgfHwgbmFtZSA9PT0gJ2JhY2t1cCcgfHwgbmFtZSA9PT0gJ2JpdGdvJztcbn1cblxuZXhwb3J0IGNvbnN0IGtleU9wdGlvbnMgPSB7XG4gIHVzZXJLZXk6IHsgdHlwZTogJ3N0cmluZycsIGRlbWFuZE9wdGlvbjogdHJ1ZSB9LFxuICB1c2VyS2V5UHJlZml4OiB7IHR5cGU6ICdzdHJpbmcnLCBkZWZhdWx0OiAnMC8wJyB9LFxuICBiYWNrdXBLZXk6IHsgdHlwZTogJ3N0cmluZycsIGRlbWFuZE9wdGlvbjogdHJ1ZSB9LFxuICBiYWNrdXBLZXlQcmVmaXg6IHsgdHlwZTogJ3N0cmluZycsIGRlZmF1bHQ6ICcwLzAnIH0sXG4gIGJpdGdvS2V5OiB7IHR5cGU6ICdzdHJpbmcnLCBkZW1hbmRPcHRpb246IHRydWUgfSxcbiAgYml0Z29LZXlQcmVmaXg6IHsgdHlwZTogJ3N0cmluZycsIGRlZmF1bHQ6ICcwLzAnIH0sXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgdHlwZSBLZXlPcHRpb25zID0ge1xuICB1c2VyS2V5OiBzdHJpbmc7XG4gIHVzZXJLZXlQcmVmaXg/OiBzdHJpbmc7XG4gIGJhY2t1cEtleTogc3RyaW5nO1xuICBiYWNrdXBLZXlQcmVmaXg/OiBzdHJpbmc7XG4gIGJpdGdvS2V5OiBzdHJpbmc7XG4gIGJpdGdvS2V5UHJlZml4Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJvb3RXYWxsZXRLZXlzKGFyZ3Y6IEtleU9wdGlvbnMpOiB1dHhvbGliLmJpdGdvLlJvb3RXYWxsZXRLZXlzIHtcbiAgY29uc3QgeHB1YnMgPSBbYXJndi51c2VyS2V5LCBhcmd2LmJhY2t1cEtleSwgYXJndi5iaXRnb0tleV0ubWFwKChrKSA9PiB1dHhvbGliLmJpcDMyLmZyb21CYXNlNTgoaykpO1xuICBhc3NlcnQodXR4b2xpYi5iaXRnby5pc1RyaXBsZSh4cHVicykpO1xuICByZXR1cm4gbmV3IHV0eG9saWIuYml0Z28uUm9vdFdhbGxldEtleXMoeHB1YnMsIFtcbiAgICBhcmd2LnVzZXJLZXlQcmVmaXggPz8gdXR4b2xpYi5iaXRnby5Sb290V2FsbGV0S2V5cy5kZWZhdWx0UHJlZml4LFxuICAgIGFyZ3YuYmFja3VwS2V5UHJlZml4ID8/IHV0eG9saWIuYml0Z28uUm9vdFdhbGxldEtleXMuZGVmYXVsdFByZWZpeCxcbiAgICBhcmd2LmJpdGdvS2V5UHJlZml4ID8/IHV0eG9saWIuYml0Z28uUm9vdFdhbGxldEtleXMuZGVmYXVsdFByZWZpeCxcbiAgXSk7XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bip32.d.ts","sourceRoot":"","sources":["../../src/bip32.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,UAAU,EAAE,MAAM,UAAU,CAAC;AAG9C,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,CAepF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseBip32 = void 0;
|
|
4
|
+
const utxolib = require("@bitgo-beta/utxo-lib");
|
|
5
|
+
const Parser_1 = require("./Parser");
|
|
6
|
+
const parseUnknown_1 = require("./parseUnknown");
|
|
7
|
+
function parseBip32(bip32Key, params) {
|
|
8
|
+
var _a;
|
|
9
|
+
const parser = new Parser_1.Parser();
|
|
10
|
+
let bip32 = utxolib.bip32.fromBase58(bip32Key);
|
|
11
|
+
if (params.derive) {
|
|
12
|
+
bip32 = bip32.derivePath(params.derive);
|
|
13
|
+
}
|
|
14
|
+
const label = bip32.isNeutered() ? 'xpub' : 'xprv';
|
|
15
|
+
const node = (0, parseUnknown_1.parseUnknown)(parser, label, bip32, {
|
|
16
|
+
omit: ['network', '__Q', '__D', '__DEPTH', '__INDEX', '__PARENT_FINGERPRINT'],
|
|
17
|
+
});
|
|
18
|
+
if (!bip32.isNeutered()) {
|
|
19
|
+
(_a = node.nodes) === null || _a === void 0 ? void 0 : _a.unshift(parser.node('xpub', bip32.neutered().toBase58()));
|
|
20
|
+
}
|
|
21
|
+
node.value = bip32.toBase58();
|
|
22
|
+
return node;
|
|
23
|
+
}
|
|
24
|
+
exports.parseBip32 = parseBip32;
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlwMzIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYmlwMzIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsZ0RBQWdEO0FBRWhELHFDQUE4QztBQUM5QyxpREFBOEM7QUFFOUMsU0FBZ0IsVUFBVSxDQUFDLFFBQWdCLEVBQUUsTUFBMkI7O0lBQ3RFLE1BQU0sTUFBTSxHQUFHLElBQUksZUFBTSxFQUFFLENBQUM7SUFDNUIsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0MsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ2pCLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN6QztJQUNELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDbkQsTUFBTSxJQUFJLEdBQUcsSUFBQSwyQkFBWSxFQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1FBQzlDLElBQUksRUFBRSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsc0JBQXNCLENBQUM7S0FDOUUsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUN2QixNQUFBLElBQUksQ0FBQyxLQUFLLDBDQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQ3ZFO0lBQ0QsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDOUIsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBZkQsZ0NBZUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuaW1wb3J0IHsgUGFyc2VyLCBQYXJzZXJOb2RlIH0gZnJvbSAnLi9QYXJzZXInO1xuaW1wb3J0IHsgcGFyc2VVbmtub3duIH0gZnJvbSAnLi9wYXJzZVVua25vd24nO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VCaXAzMihiaXAzMktleTogc3RyaW5nLCBwYXJhbXM6IHsgZGVyaXZlPzogc3RyaW5nIH0pOiBQYXJzZXJOb2RlIHtcbiAgY29uc3QgcGFyc2VyID0gbmV3IFBhcnNlcigpO1xuICBsZXQgYmlwMzIgPSB1dHhvbGliLmJpcDMyLmZyb21CYXNlNTgoYmlwMzJLZXkpO1xuICBpZiAocGFyYW1zLmRlcml2ZSkge1xuICAgIGJpcDMyID0gYmlwMzIuZGVyaXZlUGF0aChwYXJhbXMuZGVyaXZlKTtcbiAgfVxuICBjb25zdCBsYWJlbCA9IGJpcDMyLmlzTmV1dGVyZWQoKSA/ICd4cHViJyA6ICd4cHJ2JztcbiAgY29uc3Qgbm9kZSA9IHBhcnNlVW5rbm93bihwYXJzZXIsIGxhYmVsLCBiaXAzMiwge1xuICAgIG9taXQ6IFsnbmV0d29yaycsICdfX1EnLCAnX19EJywgJ19fREVQVEgnLCAnX19JTkRFWCcsICdfX1BBUkVOVF9GSU5HRVJQUklOVCddLFxuICB9KTtcbiAgaWYgKCFiaXAzMi5pc05ldXRlcmVkKCkpIHtcbiAgICBub2RlLm5vZGVzPy51bnNoaWZ0KHBhcnNlci5ub2RlKCd4cHViJywgYmlwMzIubmV1dGVyZWQoKS50b0Jhc2U1OCgpKSk7XG4gIH1cbiAgbm9kZS52YWx1ZSA9IGJpcDMyLnRvQmFzZTU4KCk7XG4gIHJldHVybiBub2RlO1xufVxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as utxolib from '@bitgo-beta/utxo-lib';
|
|
2
|
+
import { CommandModule } from 'yargs';
|
|
3
|
+
import { KeyOptions } from '../../args';
|
|
4
|
+
type IndexLimitOptions = {
|
|
5
|
+
index?: string[];
|
|
6
|
+
limit?: number;
|
|
7
|
+
};
|
|
8
|
+
type ArgsGenerateAddressFixedScript = KeyOptions & IndexLimitOptions & {
|
|
9
|
+
network: utxolib.Network;
|
|
10
|
+
chain?: number[];
|
|
11
|
+
format: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const cmdGenerateFixedScript: CommandModule<unknown, ArgsGenerateAddressFixedScript>;
|
|
14
|
+
type ArgsGenerateDescriptorAddress = {
|
|
15
|
+
network: utxolib.Network;
|
|
16
|
+
descriptor: string;
|
|
17
|
+
format: string;
|
|
18
|
+
} & IndexLimitOptions;
|
|
19
|
+
export declare const cmdFromDescriptor: CommandModule<unknown, ArgsGenerateDescriptorAddress>;
|
|
20
|
+
export {};
|
|
21
|
+
//# sourceMappingURL=cmdGenerate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cmdGenerate.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdAddress/cmdGenerate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAuC,UAAU,EAAE,MAAM,YAAY,CAAC;AAa7E,KAAK,iBAAiB,GAAG;IACvB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAyBF,KAAK,8BAA8B,GAAG,UAAU,GAC9C,iBAAiB,GAAG;IAClB,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEJ,eAAO,MAAM,sBAAsB,EAAE,aAAa,CAAC,OAAO,EAAE,8BAA8B,CA2BzF,CAAC;AAEF,KAAK,6BAA6B,GAAG;IACnC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,iBAAiB,CAAC;AAEtB,eAAO,MAAM,iBAAiB,EAAE,aAAa,CAAC,OAAO,EAAE,6BAA6B,CA+BnF,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cmdFromDescriptor = exports.cmdGenerateFixedScript = void 0;
|
|
4
|
+
const args_1 = require("../../args");
|
|
5
|
+
const generateAddress_1 = require("../../generateAddress");
|
|
6
|
+
const indexLimitOptions = {
|
|
7
|
+
index: {
|
|
8
|
+
type: 'string',
|
|
9
|
+
array: true,
|
|
10
|
+
description: 'Address index. Can be given as a range (e.g. 0-99). Takes precedence over --limit.',
|
|
11
|
+
},
|
|
12
|
+
limit: {
|
|
13
|
+
type: 'number',
|
|
14
|
+
description: 'Alias for --index with range starting at 0 to limit-1.',
|
|
15
|
+
default: 100,
|
|
16
|
+
},
|
|
17
|
+
};
|
|
18
|
+
function getIndexRangeFromArgv(argv) {
|
|
19
|
+
if (argv.index) {
|
|
20
|
+
return (0, generateAddress_1.parseIndexRange)(argv.index);
|
|
21
|
+
}
|
|
22
|
+
if (argv.limit) {
|
|
23
|
+
return (0, generateAddress_1.getRange)(0, argv.limit - 1);
|
|
24
|
+
}
|
|
25
|
+
throw new Error(`no index or limit`);
|
|
26
|
+
}
|
|
27
|
+
exports.cmdGenerateFixedScript = {
|
|
28
|
+
command: 'fromFixedScript',
|
|
29
|
+
describe: 'generate bitgo fixed-script addresses',
|
|
30
|
+
builder(b) {
|
|
31
|
+
return b
|
|
32
|
+
.options((0, args_1.getNetworkOptionsDemand)('bitcoin'))
|
|
33
|
+
.options(args_1.keyOptions)
|
|
34
|
+
.option('format', {
|
|
35
|
+
type: 'string',
|
|
36
|
+
default: '%p0\t%a',
|
|
37
|
+
description: `Format string.\nPlaceholders:\n${(0, generateAddress_1.getFixedScriptAddressPlaceholderDescription)()}`,
|
|
38
|
+
})
|
|
39
|
+
.option('chain', { type: 'number', array: true, description: 'Address chain' })
|
|
40
|
+
.options(indexLimitOptions);
|
|
41
|
+
},
|
|
42
|
+
handler(argv) {
|
|
43
|
+
for (const address of (0, generateAddress_1.generateFixedScriptAddress)({
|
|
44
|
+
...argv,
|
|
45
|
+
index: getIndexRangeFromArgv(argv),
|
|
46
|
+
})) {
|
|
47
|
+
if (argv.format === 'tree') {
|
|
48
|
+
console.log((0, generateAddress_1.formatAddressTree)(address));
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
console.log((0, generateAddress_1.formatFixedScriptAddress)(address, argv.format));
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
exports.cmdFromDescriptor = {
|
|
57
|
+
command: 'fromDescriptor [descriptor]',
|
|
58
|
+
describe: 'generate address from descriptor',
|
|
59
|
+
builder(b) {
|
|
60
|
+
return b
|
|
61
|
+
.options((0, args_1.getNetworkOptionsDemand)('bitcoin'))
|
|
62
|
+
.positional('descriptor', {
|
|
63
|
+
type: 'string',
|
|
64
|
+
demandOption: true,
|
|
65
|
+
})
|
|
66
|
+
.options({
|
|
67
|
+
format: {
|
|
68
|
+
type: 'string',
|
|
69
|
+
description: `Format string.\nPlaceholders:\n${(0, generateAddress_1.getDescriptorAddressPlaceholderDescription)()}`,
|
|
70
|
+
default: '%i\t%a',
|
|
71
|
+
},
|
|
72
|
+
})
|
|
73
|
+
.options(indexLimitOptions);
|
|
74
|
+
},
|
|
75
|
+
handler(argv) {
|
|
76
|
+
for (const address of (0, generateAddress_1.generateDescriptorAddress)({
|
|
77
|
+
...argv,
|
|
78
|
+
index: getIndexRangeFromArgv(argv),
|
|
79
|
+
})) {
|
|
80
|
+
if (argv.format === 'tree') {
|
|
81
|
+
console.log((0, generateAddress_1.formatAddressTree)(address));
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
console.log((0, generateAddress_1.formatDescriptorAddress)(address, argv.format));
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kR2VuZXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kQWRkcmVzcy9jbWRHZW5lcmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxxQ0FBNkU7QUFDN0UsMkRBVStCO0FBTy9CLE1BQU0saUJBQWlCLEdBQUc7SUFDeEIsS0FBSyxFQUFFO1FBQ0wsSUFBSSxFQUFFLFFBQVE7UUFDZCxLQUFLLEVBQUUsSUFBSTtRQUNYLFdBQVcsRUFBRSxvRkFBb0Y7S0FDbEc7SUFDRCxLQUFLLEVBQUU7UUFDTCxJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSx3REFBd0Q7UUFDckUsT0FBTyxFQUFFLEdBQUc7S0FDYjtDQUNPLENBQUM7QUFFWCxTQUFTLHFCQUFxQixDQUFDLElBQXVCO0lBQ3BELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNkLE9BQU8sSUFBQSxpQ0FBZSxFQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNwQztJQUNELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtRQUNkLE9BQU8sSUFBQSwwQkFBUSxFQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0tBQ3BDO0lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFTWSxRQUFBLHNCQUFzQixHQUEyRDtJQUM1RixPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFFBQVEsRUFBRSx1Q0FBdUM7SUFDakQsT0FBTyxDQUFDLENBQUM7UUFDUCxPQUFPLENBQUM7YUFDTCxPQUFPLENBQUMsSUFBQSw4QkFBdUIsRUFBQyxTQUFTLENBQUMsQ0FBQzthQUMzQyxPQUFPLENBQUMsaUJBQVUsQ0FBQzthQUNuQixNQUFNLENBQUMsUUFBUSxFQUFFO1lBQ2hCLElBQUksRUFBRSxRQUFRO1lBQ2QsT0FBTyxFQUFFLFNBQVM7WUFDbEIsV0FBVyxFQUFFLGtDQUFrQyxJQUFBLDZEQUEyQyxHQUFFLEVBQUU7U0FDL0YsQ0FBQzthQUNELE1BQU0sQ0FBQyxPQUFPLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxDQUFDO2FBQzlFLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxPQUFPLENBQUMsSUFBSTtRQUNWLEtBQUssTUFBTSxPQUFPLElBQUksSUFBQSw0Q0FBMEIsRUFBQztZQUMvQyxHQUFHLElBQUk7WUFDUCxLQUFLLEVBQUUscUJBQXFCLENBQUMsSUFBSSxDQUFDO1NBQ25DLENBQUMsRUFBRTtZQUNGLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxNQUFNLEVBQUU7Z0JBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBQSxtQ0FBaUIsRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQ3pDO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBQSwwQ0FBd0IsRUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDN0Q7U0FDRjtJQUNILENBQUM7Q0FDRixDQUFDO0FBUVcsUUFBQSxpQkFBaUIsR0FBMEQ7SUFDdEYsT0FBTyxFQUFFLDZCQUE2QjtJQUN0QyxRQUFRLEVBQUUsa0NBQWtDO0lBQzVDLE9BQU8sQ0FBQyxDQUFDO1FBQ1AsT0FBTyxDQUFDO2FBQ0wsT0FBTyxDQUFDLElBQUEsOEJBQXVCLEVBQUMsU0FBUyxDQUFDLENBQUM7YUFDM0MsVUFBVSxDQUFDLFlBQVksRUFBRTtZQUN4QixJQUFJLEVBQUUsUUFBUTtZQUNkLFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQUM7YUFDRCxPQUFPLENBQUM7WUFDUCxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsV0FBVyxFQUFFLGtDQUFrQyxJQUFBLDREQUEwQyxHQUFFLEVBQUU7Z0JBQzdGLE9BQU8sRUFBRSxRQUFRO2FBQ2xCO1NBQ0YsQ0FBQzthQUNELE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxPQUFPLENBQUMsSUFBSTtRQUNWLEtBQUssTUFBTSxPQUFPLElBQUksSUFBQSwyQ0FBeUIsRUFBQztZQUM5QyxHQUFHLElBQUk7WUFDUCxLQUFLLEVBQUUscUJBQXFCLENBQUMsSUFBSSxDQUFDO1NBQ25DLENBQUMsRUFBRTtZQUNGLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxNQUFNLEVBQUU7Z0JBQzFCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBQSxtQ0FBaUIsRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQ3pDO2lCQUFNO2dCQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBQSx5Q0FBdUIsRUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDNUQ7U0FDRjtJQUNILENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgeyBDb21tYW5kTW9kdWxlIH0gZnJvbSAneWFyZ3MnO1xuXG5pbXBvcnQgeyBnZXROZXR3b3JrT3B0aW9uc0RlbWFuZCwga2V5T3B0aW9ucywgS2V5T3B0aW9ucyB9IGZyb20gJy4uLy4uL2FyZ3MnO1xuaW1wb3J0IHtcbiAgZm9ybWF0QWRkcmVzc1RyZWUsXG4gIGZvcm1hdERlc2NyaXB0b3JBZGRyZXNzLFxuICBmb3JtYXRGaXhlZFNjcmlwdEFkZHJlc3MsXG4gIGdlbmVyYXRlRGVzY3JpcHRvckFkZHJlc3MsXG4gIGdlbmVyYXRlRml4ZWRTY3JpcHRBZGRyZXNzLFxuICBnZXREZXNjcmlwdG9yQWRkcmVzc1BsYWNlaG9sZGVyRGVzY3JpcHRpb24sXG4gIGdldEZpeGVkU2NyaXB0QWRkcmVzc1BsYWNlaG9sZGVyRGVzY3JpcHRpb24sXG4gIGdldFJhbmdlLFxuICBwYXJzZUluZGV4UmFuZ2UsXG59IGZyb20gJy4uLy4uL2dlbmVyYXRlQWRkcmVzcyc7XG5cbnR5cGUgSW5kZXhMaW1pdE9wdGlvbnMgPSB7XG4gIGluZGV4Pzogc3RyaW5nW107XG4gIGxpbWl0PzogbnVtYmVyO1xufTtcblxuY29uc3QgaW5kZXhMaW1pdE9wdGlvbnMgPSB7XG4gIGluZGV4OiB7XG4gICAgdHlwZTogJ3N0cmluZycsXG4gICAgYXJyYXk6IHRydWUsXG4gICAgZGVzY3JpcHRpb246ICdBZGRyZXNzIGluZGV4LiBDYW4gYmUgZ2l2ZW4gYXMgYSByYW5nZSAoZS5nLiAwLTk5KS4gVGFrZXMgcHJlY2VkZW5jZSBvdmVyIC0tbGltaXQuJyxcbiAgfSxcbiAgbGltaXQ6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZXNjcmlwdGlvbjogJ0FsaWFzIGZvciAtLWluZGV4IHdpdGggcmFuZ2Ugc3RhcnRpbmcgYXQgMCB0byBsaW1pdC0xLicsXG4gICAgZGVmYXVsdDogMTAwLFxuICB9LFxufSBhcyBjb25zdDtcblxuZnVuY3Rpb24gZ2V0SW5kZXhSYW5nZUZyb21Bcmd2KGFyZ3Y6IEluZGV4TGltaXRPcHRpb25zKTogbnVtYmVyW10ge1xuICBpZiAoYXJndi5pbmRleCkge1xuICAgIHJldHVybiBwYXJzZUluZGV4UmFuZ2UoYXJndi5pbmRleCk7XG4gIH1cbiAgaWYgKGFyZ3YubGltaXQpIHtcbiAgICByZXR1cm4gZ2V0UmFuZ2UoMCwgYXJndi5saW1pdCAtIDEpO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgbm8gaW5kZXggb3IgbGltaXRgKTtcbn1cblxudHlwZSBBcmdzR2VuZXJhdGVBZGRyZXNzRml4ZWRTY3JpcHQgPSBLZXlPcHRpb25zICZcbiAgSW5kZXhMaW1pdE9wdGlvbnMgJiB7XG4gICAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrO1xuICAgIGNoYWluPzogbnVtYmVyW107XG4gICAgZm9ybWF0OiBzdHJpbmc7XG4gIH07XG5cbmV4cG9ydCBjb25zdCBjbWRHZW5lcmF0ZUZpeGVkU2NyaXB0OiBDb21tYW5kTW9kdWxlPHVua25vd24sIEFyZ3NHZW5lcmF0ZUFkZHJlc3NGaXhlZFNjcmlwdD4gPSB7XG4gIGNvbW1hbmQ6ICdmcm9tRml4ZWRTY3JpcHQnLFxuICBkZXNjcmliZTogJ2dlbmVyYXRlIGJpdGdvIGZpeGVkLXNjcmlwdCBhZGRyZXNzZXMnLFxuICBidWlsZGVyKGIpIHtcbiAgICByZXR1cm4gYlxuICAgICAgLm9wdGlvbnMoZ2V0TmV0d29ya09wdGlvbnNEZW1hbmQoJ2JpdGNvaW4nKSlcbiAgICAgIC5vcHRpb25zKGtleU9wdGlvbnMpXG4gICAgICAub3B0aW9uKCdmb3JtYXQnLCB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBkZWZhdWx0OiAnJXAwXFx0JWEnLFxuICAgICAgICBkZXNjcmlwdGlvbjogYEZvcm1hdCBzdHJpbmcuXFxuUGxhY2Vob2xkZXJzOlxcbiR7Z2V0Rml4ZWRTY3JpcHRBZGRyZXNzUGxhY2Vob2xkZXJEZXNjcmlwdGlvbigpfWAsXG4gICAgICB9KVxuICAgICAgLm9wdGlvbignY2hhaW4nLCB7IHR5cGU6ICdudW1iZXInLCBhcnJheTogdHJ1ZSwgZGVzY3JpcHRpb246ICdBZGRyZXNzIGNoYWluJyB9KVxuICAgICAgLm9wdGlvbnMoaW5kZXhMaW1pdE9wdGlvbnMpO1xuICB9LFxuICBoYW5kbGVyKGFyZ3YpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGFkZHJlc3Mgb2YgZ2VuZXJhdGVGaXhlZFNjcmlwdEFkZHJlc3Moe1xuICAgICAgLi4uYXJndixcbiAgICAgIGluZGV4OiBnZXRJbmRleFJhbmdlRnJvbUFyZ3YoYXJndiksXG4gICAgfSkpIHtcbiAgICAgIGlmIChhcmd2LmZvcm1hdCA9PT0gJ3RyZWUnKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGZvcm1hdEFkZHJlc3NUcmVlKGFkZHJlc3MpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGZvcm1hdEZpeGVkU2NyaXB0QWRkcmVzcyhhZGRyZXNzLCBhcmd2LmZvcm1hdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbn07XG5cbnR5cGUgQXJnc0dlbmVyYXRlRGVzY3JpcHRvckFkZHJlc3MgPSB7XG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29yaztcbiAgZGVzY3JpcHRvcjogc3RyaW5nO1xuICBmb3JtYXQ6IHN0cmluZztcbn0gJiBJbmRleExpbWl0T3B0aW9ucztcblxuZXhwb3J0IGNvbnN0IGNtZEZyb21EZXNjcmlwdG9yOiBDb21tYW5kTW9kdWxlPHVua25vd24sIEFyZ3NHZW5lcmF0ZURlc2NyaXB0b3JBZGRyZXNzPiA9IHtcbiAgY29tbWFuZDogJ2Zyb21EZXNjcmlwdG9yIFtkZXNjcmlwdG9yXScsXG4gIGRlc2NyaWJlOiAnZ2VuZXJhdGUgYWRkcmVzcyBmcm9tIGRlc2NyaXB0b3InLFxuICBidWlsZGVyKGIpIHtcbiAgICByZXR1cm4gYlxuICAgICAgLm9wdGlvbnMoZ2V0TmV0d29ya09wdGlvbnNEZW1hbmQoJ2JpdGNvaW4nKSlcbiAgICAgIC5wb3NpdGlvbmFsKCdkZXNjcmlwdG9yJywge1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZGVtYW5kT3B0aW9uOiB0cnVlLFxuICAgICAgfSlcbiAgICAgIC5vcHRpb25zKHtcbiAgICAgICAgZm9ybWF0OiB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgZGVzY3JpcHRpb246IGBGb3JtYXQgc3RyaW5nLlxcblBsYWNlaG9sZGVyczpcXG4ke2dldERlc2NyaXB0b3JBZGRyZXNzUGxhY2Vob2xkZXJEZXNjcmlwdGlvbigpfWAsXG4gICAgICAgICAgZGVmYXVsdDogJyVpXFx0JWEnLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICAgIC5vcHRpb25zKGluZGV4TGltaXRPcHRpb25zKTtcbiAgfSxcbiAgaGFuZGxlcihhcmd2KSB7XG4gICAgZm9yIChjb25zdCBhZGRyZXNzIG9mIGdlbmVyYXRlRGVzY3JpcHRvckFkZHJlc3Moe1xuICAgICAgLi4uYXJndixcbiAgICAgIGluZGV4OiBnZXRJbmRleFJhbmdlRnJvbUFyZ3YoYXJndiksXG4gICAgfSkpIHtcbiAgICAgIGlmIChhcmd2LmZvcm1hdCA9PT0gJ3RyZWUnKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGZvcm1hdEFkZHJlc3NUcmVlKGFkZHJlc3MpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGZvcm1hdERlc2NyaXB0b3JBZGRyZXNzKGFkZHJlc3MsIGFyZ3YuZm9ybWF0KSk7XG4gICAgICB9XG4gICAgfVxuICB9LFxufTtcbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as utxolib from '@bitgo-beta/utxo-lib';
|
|
2
|
+
import * as yargs from 'yargs';
|
|
3
|
+
import { AddressParser } from '../../AddressParser';
|
|
4
|
+
import { FormatTreeOrJson } from '../../args';
|
|
5
|
+
export type ArgsParseAddress = {
|
|
6
|
+
network?: utxolib.Network;
|
|
7
|
+
format: FormatTreeOrJson;
|
|
8
|
+
all: boolean;
|
|
9
|
+
convert: boolean;
|
|
10
|
+
address: string;
|
|
11
|
+
};
|
|
12
|
+
export declare function getAddressParser(argv: ArgsParseAddress): AddressParser;
|
|
13
|
+
export declare const cmdParse: {
|
|
14
|
+
readonly command: "parse [address]";
|
|
15
|
+
readonly aliases: readonly ["address"];
|
|
16
|
+
readonly describe: "parse address";
|
|
17
|
+
readonly builder: (b: yargs.Argv<unknown>) => yargs.Argv<ArgsParseAddress>;
|
|
18
|
+
readonly handler: (argv: yargs.Arguments<ArgsParseAddress>) => void;
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=cmdParse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cmdParse.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdAddress/cmdParse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAoB,gBAAgB,EAAqB,MAAM,YAAY,CAAC;AAInF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;IAC1B,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,OAAO,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,gBAAgB,GAAG,aAAa,CAEtE;AAED,eAAO,MAAM,QAAQ;;;;0BAIR,MAAM,IAAI,CAAC,OAAO,CAAC,KAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC;6BAS/C,MAAM,SAAS,CAAC,gBAAgB,CAAC,KAAG,IAAI;CAI9C,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cmdParse = exports.getAddressParser = void 0;
|
|
4
|
+
const AddressParser_1 = require("../../AddressParser");
|
|
5
|
+
const args_1 = require("../../args");
|
|
6
|
+
const formatString_1 = require("../formatString");
|
|
7
|
+
function getAddressParser(argv) {
|
|
8
|
+
return new AddressParser_1.AddressParser(argv);
|
|
9
|
+
}
|
|
10
|
+
exports.getAddressParser = getAddressParser;
|
|
11
|
+
exports.cmdParse = {
|
|
12
|
+
command: 'parse [address]',
|
|
13
|
+
aliases: ['address'],
|
|
14
|
+
describe: 'parse address',
|
|
15
|
+
builder(b) {
|
|
16
|
+
return b
|
|
17
|
+
.options((0, args_1.getNetworkOptions)())
|
|
18
|
+
.option('format', args_1.formatTreeOrJson)
|
|
19
|
+
.option('convert', { type: 'boolean', default: false })
|
|
20
|
+
.option('all', { type: 'boolean', default: false })
|
|
21
|
+
.positional('address', { type: 'string', demandOption: true });
|
|
22
|
+
},
|
|
23
|
+
handler(argv) {
|
|
24
|
+
const parsed = getAddressParser(argv).parse(argv.address);
|
|
25
|
+
console.log((0, formatString_1.formatString)(parsed, argv));
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kUGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kQWRkcmVzcy9jbWRQYXJzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSx1REFBb0Q7QUFDcEQscUNBQW1GO0FBRW5GLGtEQUErQztBQVUvQyxTQUFnQixnQkFBZ0IsQ0FBQyxJQUFzQjtJQUNyRCxPQUFPLElBQUksNkJBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNqQyxDQUFDO0FBRkQsNENBRUM7QUFFWSxRQUFBLFFBQVEsR0FBRztJQUN0QixPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQztJQUNwQixRQUFRLEVBQUUsZUFBZTtJQUN6QixPQUFPLENBQUMsQ0FBc0I7UUFDNUIsT0FBTyxDQUFDO2FBQ0wsT0FBTyxDQUFDLElBQUEsd0JBQWlCLEdBQUUsQ0FBQzthQUM1QixNQUFNLENBQUMsUUFBUSxFQUFFLHVCQUFnQixDQUFDO2FBQ2xDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQzthQUN0RCxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7YUFDbEQsVUFBVSxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbkUsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUF1QztRQUM3QyxNQUFNLE1BQU0sR0FBRyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFELE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBQSwyQkFBWSxFQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzFDLENBQUM7Q0FDTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdXR4b2xpYiBmcm9tICdAYml0Z28tYmV0YS91dHhvLWxpYic7XG5pbXBvcnQgKiBhcyB5YXJncyBmcm9tICd5YXJncyc7XG5cbmltcG9ydCB7IEFkZHJlc3NQYXJzZXIgfSBmcm9tICcuLi8uLi9BZGRyZXNzUGFyc2VyJztcbmltcG9ydCB7IGZvcm1hdFRyZWVPckpzb24sIEZvcm1hdFRyZWVPckpzb24sIGdldE5ldHdvcmtPcHRpb25zIH0gZnJvbSAnLi4vLi4vYXJncyc7XG5cbmltcG9ydCB7IGZvcm1hdFN0cmluZyB9IGZyb20gJy4uL2Zvcm1hdFN0cmluZyc7XG5cbmV4cG9ydCB0eXBlIEFyZ3NQYXJzZUFkZHJlc3MgPSB7XG4gIG5ldHdvcms/OiB1dHhvbGliLk5ldHdvcms7XG4gIGZvcm1hdDogRm9ybWF0VHJlZU9ySnNvbjtcbiAgYWxsOiBib29sZWFuO1xuICBjb252ZXJ0OiBib29sZWFuO1xuICBhZGRyZXNzOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWRkcmVzc1BhcnNlcihhcmd2OiBBcmdzUGFyc2VBZGRyZXNzKTogQWRkcmVzc1BhcnNlciB7XG4gIHJldHVybiBuZXcgQWRkcmVzc1BhcnNlcihhcmd2KTtcbn1cblxuZXhwb3J0IGNvbnN0IGNtZFBhcnNlID0ge1xuICBjb21tYW5kOiAncGFyc2UgW2FkZHJlc3NdJyxcbiAgYWxpYXNlczogWydhZGRyZXNzJ10sXG4gIGRlc2NyaWJlOiAncGFyc2UgYWRkcmVzcycsXG4gIGJ1aWxkZXIoYjogeWFyZ3MuQXJndjx1bmtub3duPik6IHlhcmdzLkFyZ3Y8QXJnc1BhcnNlQWRkcmVzcz4ge1xuICAgIHJldHVybiBiXG4gICAgICAub3B0aW9ucyhnZXROZXR3b3JrT3B0aW9ucygpKVxuICAgICAgLm9wdGlvbignZm9ybWF0JywgZm9ybWF0VHJlZU9ySnNvbilcbiAgICAgIC5vcHRpb24oJ2NvbnZlcnQnLCB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ2FsbCcsIHsgdHlwZTogJ2Jvb2xlYW4nLCBkZWZhdWx0OiBmYWxzZSB9KVxuICAgICAgLnBvc2l0aW9uYWwoJ2FkZHJlc3MnLCB7IHR5cGU6ICdzdHJpbmcnLCBkZW1hbmRPcHRpb246IHRydWUgfSk7XG4gIH0sXG5cbiAgaGFuZGxlcihhcmd2OiB5YXJncy5Bcmd1bWVudHM8QXJnc1BhcnNlQWRkcmVzcz4pOiB2b2lkIHtcbiAgICBjb25zdCBwYXJzZWQgPSBnZXRBZGRyZXNzUGFyc2VyKGFyZ3YpLnBhcnNlKGFyZ3YuYWRkcmVzcyk7XG4gICAgY29uc29sZS5sb2coZm9ybWF0U3RyaW5nKHBhcnNlZCwgYXJndikpO1xuICB9LFxufSBhcyBjb25zdDtcbiJdfQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/commands/cmdAddress/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAKtC,eAAO,MAAM,UAAU,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CAStD,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cmdAddress = void 0;
|
|
4
|
+
const cmdGenerate_1 = require("./cmdGenerate");
|
|
5
|
+
const cmdParse_1 = require("./cmdParse");
|
|
6
|
+
exports.cmdAddress = {
|
|
7
|
+
command: 'address <command>',
|
|
8
|
+
describe: 'address commands',
|
|
9
|
+
builder(b) {
|
|
10
|
+
return b.strict().command(cmdGenerate_1.cmdGenerateFixedScript).command(cmdParse_1.cmdParse).demandCommand();
|
|
11
|
+
},
|
|
12
|
+
handler() {
|
|
13
|
+
// do nothing
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kQWRkcmVzcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSwrQ0FBdUQ7QUFDdkQseUNBQXNDO0FBRXpCLFFBQUEsVUFBVSxHQUFvQztJQUN6RCxPQUFPLEVBQUUsbUJBQW1CO0lBQzVCLFFBQVEsRUFBRSxrQkFBa0I7SUFDNUIsT0FBTyxDQUFDLENBQUM7UUFDUCxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMsb0NBQXNCLENBQUMsQ0FBQyxPQUFPLENBQUMsbUJBQVEsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3RGLENBQUM7SUFDRCxPQUFPO1FBQ0wsYUFBYTtJQUNmLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbWFuZE1vZHVsZSB9IGZyb20gJ3lhcmdzJztcblxuaW1wb3J0IHsgY21kR2VuZXJhdGVGaXhlZFNjcmlwdCB9IGZyb20gJy4vY21kR2VuZXJhdGUnO1xuaW1wb3J0IHsgY21kUGFyc2UgfSBmcm9tICcuL2NtZFBhcnNlJztcblxuZXhwb3J0IGNvbnN0IGNtZEFkZHJlc3M6IENvbW1hbmRNb2R1bGU8dW5rbm93biwgdW5rbm93bj4gPSB7XG4gIGNvbW1hbmQ6ICdhZGRyZXNzIDxjb21tYW5kPicsXG4gIGRlc2NyaWJlOiAnYWRkcmVzcyBjb21tYW5kcycsXG4gIGJ1aWxkZXIoYikge1xuICAgIHJldHVybiBiLnN0cmljdCgpLmNvbW1hbmQoY21kR2VuZXJhdGVGaXhlZFNjcmlwdCkuY29tbWFuZChjbWRQYXJzZSkuZGVtYW5kQ29tbWFuZCgpO1xuICB9LFxuICBoYW5kbGVyKCkge1xuICAgIC8vIGRvIG5vdGhpbmdcbiAgfSxcbn07XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CommandModule } from 'yargs';
|
|
2
|
+
import { FormatTreeOrJson } from '../args';
|
|
3
|
+
type ArgsBip32Generate = {
|
|
4
|
+
format: FormatTreeOrJson;
|
|
5
|
+
bip32Key: string;
|
|
6
|
+
derive?: string;
|
|
7
|
+
all: boolean;
|
|
8
|
+
};
|
|
9
|
+
export declare const cmdBip32Parse: CommandModule<unknown, ArgsBip32Generate>;
|
|
10
|
+
type GenerateBip32Args = {
|
|
11
|
+
seed: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const cmdBip32Generate: CommandModule<unknown, GenerateBip32Args>;
|
|
14
|
+
export declare const cmdBip32: CommandModule<unknown, unknown>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=cmdBip32.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cmdBip32.d.ts","sourceRoot":"","sources":["../../../src/commands/cmdBip32.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAItC,OAAO,EAAoB,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAI7D,KAAK,iBAAiB,GAAG;IACvB,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE,iBAAiB,CAanE,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,OAAO,EAAE,iBAAiB,CAWtE,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,aAAa,CAAC,OAAO,EAAE,OAAO,CASpD,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cmdBip32 = exports.cmdBip32Generate = exports.cmdBip32Parse = void 0;
|
|
4
|
+
const crypto = require("crypto");
|
|
5
|
+
const utxolib = require("@bitgo-beta/utxo-lib");
|
|
6
|
+
const bip32_1 = require("../bip32");
|
|
7
|
+
const args_1 = require("../args");
|
|
8
|
+
const formatString_1 = require("./formatString");
|
|
9
|
+
exports.cmdBip32Parse = {
|
|
10
|
+
command: 'parse [xpub|xprv]',
|
|
11
|
+
describe: 'show xpub info',
|
|
12
|
+
builder(b) {
|
|
13
|
+
return b
|
|
14
|
+
.options({ format: args_1.formatTreeOrJson })
|
|
15
|
+
.positional('bip32Key', { type: 'string', demandOption: true })
|
|
16
|
+
.option('all', { type: 'boolean', default: false })
|
|
17
|
+
.option('derive', { type: 'string', description: 'show xpub derived with path' });
|
|
18
|
+
},
|
|
19
|
+
handler(argv) {
|
|
20
|
+
console.log((0, formatString_1.formatString)((0, bip32_1.parseBip32)(argv.bip32Key, { derive: argv.derive }), argv));
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
exports.cmdBip32Generate = {
|
|
24
|
+
command: 'generateFromSeed',
|
|
25
|
+
describe: 'generate keypair from seed - do not use for real keys!',
|
|
26
|
+
builder(b) {
|
|
27
|
+
return b.option('seed', { type: 'string', demandOption: true, default: 'setec astronomy' });
|
|
28
|
+
},
|
|
29
|
+
handler(argv) {
|
|
30
|
+
const key = utxolib.bip32.fromSeed(crypto.createHash('sha256').update(argv.seed).digest());
|
|
31
|
+
console.log(key.toBase58());
|
|
32
|
+
console.log(key.neutered().toBase58());
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
exports.cmdBip32 = {
|
|
36
|
+
command: 'bip32 <command>',
|
|
37
|
+
describe: 'bip32 commands',
|
|
38
|
+
builder(b) {
|
|
39
|
+
return b.strict().command(exports.cmdBip32Parse).command(exports.cmdBip32Generate).demandCommand();
|
|
40
|
+
},
|
|
41
|
+
handler() {
|
|
42
|
+
// do nothing
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kQmlwMzIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kQmlwMzIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaUNBQWlDO0FBSWpDLGdEQUFnRDtBQUVoRCxvQ0FBc0M7QUFDdEMsa0NBQTZEO0FBRTdELGlEQUE4QztBQVNqQyxRQUFBLGFBQWEsR0FBOEM7SUFDdEUsT0FBTyxFQUFFLG1CQUFtQjtJQUM1QixRQUFRLEVBQUUsZ0JBQWdCO0lBQzFCLE9BQU8sQ0FBQyxDQUFzQjtRQUM1QixPQUFPLENBQUM7YUFDTCxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsdUJBQWdCLEVBQUUsQ0FBQzthQUNyQyxVQUFVLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDOUQsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDO2FBQ2xELE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSw2QkFBNkIsRUFBRSxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUNELE9BQU8sQ0FBQyxJQUFJO1FBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFBLDJCQUFZLEVBQUMsSUFBQSxrQkFBVSxFQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN0RixDQUFDO0NBQ0YsQ0FBQztBQU1XLFFBQUEsZ0JBQWdCLEdBQThDO0lBQ3pFLE9BQU8sRUFBRSxrQkFBa0I7SUFDM0IsUUFBUSxFQUFFLHdEQUF3RDtJQUNsRSxPQUFPLENBQUMsQ0FBQztRQUNQLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBQ0QsT0FBTyxDQUFDLElBQUk7UUFDVixNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUMzRixPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDekMsQ0FBQztDQUNGLENBQUM7QUFFVyxRQUFBLFFBQVEsR0FBb0M7SUFDdkQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixRQUFRLEVBQUUsZ0JBQWdCO0lBQzFCLE9BQU8sQ0FBQyxDQUFzQjtRQUM1QixPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLENBQUMscUJBQWEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyx3QkFBZ0IsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3JGLENBQUM7SUFDRCxPQUFPO1FBQ0wsYUFBYTtJQUNmLENBQUM7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY3J5cHRvIGZyb20gJ2NyeXB0byc7XG5cbmltcG9ydCAqIGFzIHlhcmdzIGZyb20gJ3lhcmdzJztcbmltcG9ydCB7IENvbW1hbmRNb2R1bGUgfSBmcm9tICd5YXJncyc7XG5pbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcblxuaW1wb3J0IHsgcGFyc2VCaXAzMiB9IGZyb20gJy4uL2JpcDMyJztcbmltcG9ydCB7IGZvcm1hdFRyZWVPckpzb24sIEZvcm1hdFRyZWVPckpzb24gfSBmcm9tICcuLi9hcmdzJztcblxuaW1wb3J0IHsgZm9ybWF0U3RyaW5nIH0gZnJvbSAnLi9mb3JtYXRTdHJpbmcnO1xuXG50eXBlIEFyZ3NCaXAzMkdlbmVyYXRlID0ge1xuICBmb3JtYXQ6IEZvcm1hdFRyZWVPckpzb247XG4gIGJpcDMyS2V5OiBzdHJpbmc7XG4gIGRlcml2ZT86IHN0cmluZztcbiAgYWxsOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IGNtZEJpcDMyUGFyc2U6IENvbW1hbmRNb2R1bGU8dW5rbm93biwgQXJnc0JpcDMyR2VuZXJhdGU+ID0ge1xuICBjb21tYW5kOiAncGFyc2UgW3hwdWJ8eHBydl0nLFxuICBkZXNjcmliZTogJ3Nob3cgeHB1YiBpbmZvJyxcbiAgYnVpbGRlcihiOiB5YXJncy5Bcmd2PHVua25vd24+KTogeWFyZ3MuQXJndjxBcmdzQmlwMzJHZW5lcmF0ZT4ge1xuICAgIHJldHVybiBiXG4gICAgICAub3B0aW9ucyh7IGZvcm1hdDogZm9ybWF0VHJlZU9ySnNvbiB9KVxuICAgICAgLnBvc2l0aW9uYWwoJ2JpcDMyS2V5JywgeyB0eXBlOiAnc3RyaW5nJywgZGVtYW5kT3B0aW9uOiB0cnVlIH0pXG4gICAgICAub3B0aW9uKCdhbGwnLCB7IHR5cGU6ICdib29sZWFuJywgZGVmYXVsdDogZmFsc2UgfSlcbiAgICAgIC5vcHRpb24oJ2Rlcml2ZScsIHsgdHlwZTogJ3N0cmluZycsIGRlc2NyaXB0aW9uOiAnc2hvdyB4cHViIGRlcml2ZWQgd2l0aCBwYXRoJyB9KTtcbiAgfSxcbiAgaGFuZGxlcihhcmd2KTogdm9pZCB7XG4gICAgY29uc29sZS5sb2coZm9ybWF0U3RyaW5nKHBhcnNlQmlwMzIoYXJndi5iaXAzMktleSwgeyBkZXJpdmU6IGFyZ3YuZGVyaXZlIH0pLCBhcmd2KSk7XG4gIH0sXG59O1xuXG50eXBlIEdlbmVyYXRlQmlwMzJBcmdzID0ge1xuICBzZWVkOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgY29uc3QgY21kQmlwMzJHZW5lcmF0ZTogQ29tbWFuZE1vZHVsZTx1bmtub3duLCBHZW5lcmF0ZUJpcDMyQXJncz4gPSB7XG4gIGNvbW1hbmQ6ICdnZW5lcmF0ZUZyb21TZWVkJyxcbiAgZGVzY3JpYmU6ICdnZW5lcmF0ZSBrZXlwYWlyIGZyb20gc2VlZCAtIGRvIG5vdCB1c2UgZm9yIHJlYWwga2V5cyEnLFxuICBidWlsZGVyKGIpIHtcbiAgICByZXR1cm4gYi5vcHRpb24oJ3NlZWQnLCB7IHR5cGU6ICdzdHJpbmcnLCBkZW1hbmRPcHRpb246IHRydWUsIGRlZmF1bHQ6ICdzZXRlYyBhc3Ryb25vbXknIH0pO1xuICB9LFxuICBoYW5kbGVyKGFyZ3YpIHtcbiAgICBjb25zdCBrZXkgPSB1dHhvbGliLmJpcDMyLmZyb21TZWVkKGNyeXB0by5jcmVhdGVIYXNoKCdzaGEyNTYnKS51cGRhdGUoYXJndi5zZWVkKS5kaWdlc3QoKSk7XG4gICAgY29uc29sZS5sb2coa2V5LnRvQmFzZTU4KCkpO1xuICAgIGNvbnNvbGUubG9nKGtleS5uZXV0ZXJlZCgpLnRvQmFzZTU4KCkpO1xuICB9LFxufTtcblxuZXhwb3J0IGNvbnN0IGNtZEJpcDMyOiBDb21tYW5kTW9kdWxlPHVua25vd24sIHVua25vd24+ID0ge1xuICBjb21tYW5kOiAnYmlwMzIgPGNvbW1hbmQ+JyxcbiAgZGVzY3JpYmU6ICdiaXAzMiBjb21tYW5kcycsXG4gIGJ1aWxkZXIoYjogeWFyZ3MuQXJndjx1bmtub3duPik6IHlhcmdzLkFyZ3Y8dW5rbm93bj4ge1xuICAgIHJldHVybiBiLnN0cmljdCgpLmNvbW1hbmQoY21kQmlwMzJQYXJzZSkuY29tbWFuZChjbWRCaXAzMkdlbmVyYXRlKS5kZW1hbmRDb21tYW5kKCk7XG4gIH0sXG4gIGhhbmRsZXIoKTogdm9pZCB7XG4gICAgLy8gZG8gbm90aGluZ1xuICB9LFxufTtcbiJdfQ==
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as utxolib from '@bitgo-beta/utxo-lib';
|
|
2
|
+
import * as yargs from 'yargs';
|
|
3
|
+
import { ScriptParser } from '../ScriptParser';
|
|
4
|
+
import { FormatTreeOrJson } from '../args';
|
|
5
|
+
export type ArgsParseScript = {
|
|
6
|
+
network?: utxolib.Network;
|
|
7
|
+
format: FormatTreeOrJson;
|
|
8
|
+
all: boolean;
|
|
9
|
+
script: string;
|
|
10
|
+
};
|
|
11
|
+
export declare function getScriptParser(argv: ArgsParseScript): ScriptParser;
|
|
12
|
+
export declare const cmdParseScript: {
|
|
13
|
+
command: string;
|
|
14
|
+
describe: string;
|
|
15
|
+
builder(b: yargs.Argv<unknown>): yargs.Argv<ArgsParseScript>;
|
|
16
|
+
handler(argv: yargs.Arguments<ArgsParseScript>): void;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=cmdParseScript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cmdParseScript.d.ts","sourceRoot":"","sources":["../../../src/commands/cmdParseScript.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAuC,gBAAgB,EAAkB,MAAM,SAAS,CAAC;AAIhG,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;IAC1B,MAAM,EAAE,gBAAgB,CAAC;IACzB,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,YAAY,CAEnE;AAED,eAAO,MAAM,cAAc;;;eAGd,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC;kBAO9C,MAAM,SAAS,CAAC,eAAe,CAAC,GAAG,IAAI;CAKtD,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cmdParseScript = exports.getScriptParser = void 0;
|
|
4
|
+
const ScriptParser_1 = require("../ScriptParser");
|
|
5
|
+
const args_1 = require("../args");
|
|
6
|
+
const formatString_1 = require("./formatString");
|
|
7
|
+
function getScriptParser(argv) {
|
|
8
|
+
return new ScriptParser_1.ScriptParser(argv);
|
|
9
|
+
}
|
|
10
|
+
exports.getScriptParser = getScriptParser;
|
|
11
|
+
exports.cmdParseScript = {
|
|
12
|
+
command: 'parseScript [script]',
|
|
13
|
+
describe: 'parse script',
|
|
14
|
+
builder(b) {
|
|
15
|
+
return b
|
|
16
|
+
.options((0, args_1.getNetworkOptions)())
|
|
17
|
+
.option('format', args_1.formatTreeOrJson)
|
|
18
|
+
.option('all', { type: 'boolean', default: false })
|
|
19
|
+
.positional('script', { type: 'string', demandOption: true });
|
|
20
|
+
},
|
|
21
|
+
handler(argv) {
|
|
22
|
+
const script = (0, args_1.stringToBuffer)(argv.script, 'hex');
|
|
23
|
+
const parsed = getScriptParser(argv).parse(script);
|
|
24
|
+
console.log((0, formatString_1.formatString)(parsed, { ...argv, all: true }));
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kUGFyc2VTY3JpcHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kUGFyc2VTY3JpcHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR0Esa0RBQStDO0FBQy9DLGtDQUFnRztBQUVoRyxpREFBOEM7QUFTOUMsU0FBZ0IsZUFBZSxDQUFDLElBQXFCO0lBQ25ELE9BQU8sSUFBSSwyQkFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2hDLENBQUM7QUFGRCwwQ0FFQztBQUVZLFFBQUEsY0FBYyxHQUFHO0lBQzVCLE9BQU8sRUFBRSxzQkFBc0I7SUFDL0IsUUFBUSxFQUFFLGNBQWM7SUFDeEIsT0FBTyxDQUFDLENBQXNCO1FBQzVCLE9BQU8sQ0FBQzthQUNMLE9BQU8sQ0FBQyxJQUFBLHdCQUFpQixHQUFFLENBQUM7YUFDNUIsTUFBTSxDQUFDLFFBQVEsRUFBRSx1QkFBZ0IsQ0FBQzthQUNsQyxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7YUFDbEQsVUFBVSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUNELE9BQU8sQ0FBQyxJQUFzQztRQUM1QyxNQUFNLE1BQU0sR0FBRyxJQUFBLHFCQUFjLEVBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsRCxNQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ25ELE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBQSwyQkFBWSxFQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDNUQsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby1iZXRhL3V0eG8tbGliJztcbmltcG9ydCAqIGFzIHlhcmdzIGZyb20gJ3lhcmdzJztcblxuaW1wb3J0IHsgU2NyaXB0UGFyc2VyIH0gZnJvbSAnLi4vU2NyaXB0UGFyc2VyJztcbmltcG9ydCB7IGZvcm1hdFRyZWVPckpzb24sIGdldE5ldHdvcmtPcHRpb25zLCBGb3JtYXRUcmVlT3JKc29uLCBzdHJpbmdUb0J1ZmZlciB9IGZyb20gJy4uL2FyZ3MnO1xuXG5pbXBvcnQgeyBmb3JtYXRTdHJpbmcgfSBmcm9tICcuL2Zvcm1hdFN0cmluZyc7XG5cbmV4cG9ydCB0eXBlIEFyZ3NQYXJzZVNjcmlwdCA9IHtcbiAgbmV0d29yaz86IHV0eG9saWIuTmV0d29yaztcbiAgZm9ybWF0OiBGb3JtYXRUcmVlT3JKc29uO1xuICBhbGw6IGJvb2xlYW47XG4gIHNjcmlwdDogc3RyaW5nO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNjcmlwdFBhcnNlcihhcmd2OiBBcmdzUGFyc2VTY3JpcHQpOiBTY3JpcHRQYXJzZXIge1xuICByZXR1cm4gbmV3IFNjcmlwdFBhcnNlcihhcmd2KTtcbn1cblxuZXhwb3J0IGNvbnN0IGNtZFBhcnNlU2NyaXB0ID0ge1xuICBjb21tYW5kOiAncGFyc2VTY3JpcHQgW3NjcmlwdF0nLFxuICBkZXNjcmliZTogJ3BhcnNlIHNjcmlwdCcsXG4gIGJ1aWxkZXIoYjogeWFyZ3MuQXJndjx1bmtub3duPik6IHlhcmdzLkFyZ3Y8QXJnc1BhcnNlU2NyaXB0PiB7XG4gICAgcmV0dXJuIGJcbiAgICAgIC5vcHRpb25zKGdldE5ldHdvcmtPcHRpb25zKCkpXG4gICAgICAub3B0aW9uKCdmb3JtYXQnLCBmb3JtYXRUcmVlT3JKc29uKVxuICAgICAgLm9wdGlvbignYWxsJywgeyB0eXBlOiAnYm9vbGVhbicsIGRlZmF1bHQ6IGZhbHNlIH0pXG4gICAgICAucG9zaXRpb25hbCgnc2NyaXB0JywgeyB0eXBlOiAnc3RyaW5nJywgZGVtYW5kT3B0aW9uOiB0cnVlIH0pO1xuICB9LFxuICBoYW5kbGVyKGFyZ3Y6IHlhcmdzLkFyZ3VtZW50czxBcmdzUGFyc2VTY3JpcHQ+KTogdm9pZCB7XG4gICAgY29uc3Qgc2NyaXB0ID0gc3RyaW5nVG9CdWZmZXIoYXJndi5zY3JpcHQsICdoZXgnKTtcbiAgICBjb25zdCBwYXJzZWQgPSBnZXRTY3JpcHRQYXJzZXIoYXJndikucGFyc2Uoc2NyaXB0KTtcbiAgICBjb25zb2xlLmxvZyhmb3JtYXRTdHJpbmcocGFyc2VkLCB7IC4uLmFyZ3YsIGFsbDogdHJ1ZSB9KSk7XG4gIH0sXG59O1xuIl19
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as utxolib from '@bitgo-beta/utxo-lib';
|
|
2
|
+
import * as yargs from 'yargs';
|
|
3
|
+
import { FormatTreeOrJson, ReadStringOptions } from '../args';
|
|
4
|
+
import { TxParser, TxParserArgs } from '../TxParser';
|
|
5
|
+
export type ArgsParseTransaction = ReadStringOptions & {
|
|
6
|
+
network: utxolib.Network;
|
|
7
|
+
txid?: string;
|
|
8
|
+
blockHeight?: number;
|
|
9
|
+
txIndex?: number;
|
|
10
|
+
all: boolean;
|
|
11
|
+
cache: boolean;
|
|
12
|
+
format: FormatTreeOrJson;
|
|
13
|
+
fetchAll: boolean;
|
|
14
|
+
fetchStatus: boolean;
|
|
15
|
+
fetchInputs: boolean;
|
|
16
|
+
fetchSpends: boolean;
|
|
17
|
+
finalize: boolean;
|
|
18
|
+
parseSignatureData: boolean;
|
|
19
|
+
parseAsUnknown: boolean;
|
|
20
|
+
parseError: 'throw' | 'continue';
|
|
21
|
+
} & Omit<TxParserArgs, 'parseSignatureData'>;
|
|
22
|
+
export declare function getTxParser(argv: yargs.Arguments<ArgsParseTransaction>): TxParser;
|
|
23
|
+
export declare const cmdParseTx: {
|
|
24
|
+
readonly command: "parseTx [path]";
|
|
25
|
+
readonly aliases: readonly ["parse", "tx"];
|
|
26
|
+
readonly describe: string;
|
|
27
|
+
readonly builder: (b: yargs.Argv<unknown>) => yargs.Argv<ArgsParseTransaction>;
|
|
28
|
+
readonly handler: (argv: yargs.Arguments<ArgsParseTransaction>) => Promise<void>;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=cmdParseTx.d.ts.map
|