PHP WebShell
Текущая директория: /opt/BitGoJS/modules/utxo-bin/dist/src/commands/cmdAddress
Просмотр файла: cmdGenerate.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.cmdFromDescriptor = exports.cmdGenerateFixedScript = void 0;
const args_1 = require("../../args");
const generateAddress_1 = require("../../generateAddress");
const indexLimitOptions = {
index: {
type: 'string',
array: true,
description: 'Address index. Can be given as a range (e.g. 0-99). Takes precedence over --limit.',
},
limit: {
type: 'number',
description: 'Alias for --index with range starting at 0 to limit-1.',
default: 100,
},
};
function getIndexRangeFromArgv(argv) {
if (argv.index) {
return (0, generateAddress_1.parseIndexRange)(argv.index);
}
if (argv.limit) {
return (0, generateAddress_1.getRange)(0, argv.limit - 1);
}
throw new Error(`no index or limit`);
}
exports.cmdGenerateFixedScript = {
command: 'fromFixedScript',
describe: 'generate bitgo fixed-script addresses',
builder(b) {
return b
.options((0, args_1.getNetworkOptionsDemand)('bitcoin'))
.options(args_1.keyOptions)
.option('format', {
type: 'string',
default: '%p0\t%a',
description: `Format string.\nPlaceholders:\n${(0, generateAddress_1.getFixedScriptAddressPlaceholderDescription)()}`,
})
.option('chain', { type: 'number', array: true, description: 'Address chain' })
.options(indexLimitOptions);
},
handler(argv) {
for (const address of (0, generateAddress_1.generateFixedScriptAddress)({
...argv,
index: getIndexRangeFromArgv(argv),
})) {
if (argv.format === 'tree') {
console.log((0, generateAddress_1.formatAddressTree)(address));
}
else {
console.log((0, generateAddress_1.formatFixedScriptAddress)(address, argv.format));
}
}
},
};
exports.cmdFromDescriptor = {
command: 'fromDescriptor [descriptor]',
describe: 'generate address from descriptor',
builder(b) {
return b
.options((0, args_1.getNetworkOptionsDemand)('bitcoin'))
.positional('descriptor', {
type: 'string',
demandOption: true,
})
.options({
format: {
type: 'string',
description: `Format string.\nPlaceholders:\n${(0, generateAddress_1.getDescriptorAddressPlaceholderDescription)()}`,
default: '%i\t%a',
},
})
.options(indexLimitOptions);
},
handler(argv) {
for (const address of (0, generateAddress_1.generateDescriptorAddress)({
...argv,
index: getIndexRangeFromArgv(argv),
})) {
if (argv.format === 'tree') {
console.log((0, generateAddress_1.formatAddressTree)(address));
}
else {
console.log((0, generateAddress_1.formatDescriptorAddress)(address, argv.format));
}
}
},
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21kR2VuZXJhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbWFuZHMvY21kQWRkcmVzcy9jbWRHZW5lcmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFHQSxxQ0FBNkU7QUFDN0UsMkRBVStCO0FBTy9CLE1BQU0saUJBQWlCLEdBQUc7SUFDeEIsS0FBSyxFQUFFO1FBQ0wsSUFBSSxFQUFFLFFBQVE7UUFDZCxLQUFLLEVBQUUsSUFBSTtRQUNYLFdBQVcsRUFBRSxvRkFBb0Y7S0FDbEc7SUFDRCxLQUFLLEVBQUU7UUFDTCxJQUFJLEVBQUUsUUFBUTtRQUNkLFdBQVcsRUFBRSx3REFBd0Q7UUFDckUsT0FBTyxFQUFFLEdBQUc7S0FDYjtDQUNPLENBQUM7QUFFWCxTQUFTLHFCQUFxQixDQUFDLElBQXVCO0lBQ3BELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2YsT0FBTyxJQUFBLGlDQUFlLEVBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNmLE9BQU8sSUFBQSwwQkFBUSxFQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7QUFDdkMsQ0FBQztBQVNZLFFBQUEsc0JBQXNCLEdBQTJEO0lBQzVGLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsUUFBUSxFQUFFLHVDQUF1QztJQUNqRCxPQUFPLENBQUMsQ0FBQztRQUNQLE9BQU8sQ0FBQzthQUNMLE9BQU8sQ0FBQyxJQUFBLDhCQUF1QixFQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQzNDLE9BQU8sQ0FBQyxpQkFBVSxDQUFDO2FBQ25CLE1BQU0sQ0FBQyxRQUFRLEVBQUU7WUFDaEIsSUFBSSxFQUFFLFFBQVE7WUFDZCxPQUFPLEVBQUUsU0FBUztZQUNsQixXQUFXLEVBQUUsa0NBQWtDLElBQUEsNkRBQTJDLEdBQUUsRUFBRTtTQUMvRixDQUFDO2FBQ0QsTUFBTSxDQUFDLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLENBQUM7YUFDOUUsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELE9BQU8sQ0FBQyxJQUFJO1FBQ1YsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFBLDRDQUEwQixFQUFDO1lBQy9DLEdBQUcsSUFBSTtZQUNQLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7U0FDbkMsQ0FBQyxFQUFFLENBQUM7WUFDSCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBQSxtQ0FBaUIsRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzFDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUEsMENBQXdCLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQzlELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUM7QUFRVyxRQUFBLGlCQUFpQixHQUEwRDtJQUN0RixPQUFPLEVBQUUsNkJBQTZCO0lBQ3RDLFFBQVEsRUFBRSxrQ0FBa0M7SUFDNUMsT0FBTyxDQUFDLENBQUM7UUFDUCxPQUFPLENBQUM7YUFDTCxPQUFPLENBQUMsSUFBQSw4QkFBdUIsRUFBQyxTQUFTLENBQUMsQ0FBQzthQUMzQyxVQUFVLENBQUMsWUFBWSxFQUFFO1lBQ3hCLElBQUksRUFBRSxRQUFRO1lBQ2QsWUFBWSxFQUFFLElBQUk7U0FDbkIsQ0FBQzthQUNELE9BQU8sQ0FBQztZQUNQLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsUUFBUTtnQkFDZCxXQUFXLEVBQUUsa0NBQWtDLElBQUEsNERBQTBDLEdBQUUsRUFBRTtnQkFDN0YsT0FBTyxFQUFFLFFBQVE7YUFDbEI7U0FDRixDQUFDO2FBQ0QsT0FBTyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUNELE9BQU8sQ0FBQyxJQUFJO1FBQ1YsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFBLDJDQUF5QixFQUFDO1lBQzlDLEdBQUcsSUFBSTtZQUNQLEtBQUssRUFBRSxxQkFBcUIsQ0FBQyxJQUFJLENBQUM7U0FDbkMsQ0FBQyxFQUFFLENBQUM7WUFDSCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQzNCLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBQSxtQ0FBaUIsRUFBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzFDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLENBQUMsR0FBRyxDQUFDLElBQUEseUNBQXVCLEVBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQzdELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyB1dHhvbGliIGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBDb21tYW5kTW9kdWxlIH0gZnJvbSAneWFyZ3MnO1xuXG5pbXBvcnQgeyBnZXROZXR3b3JrT3B0aW9uc0RlbWFuZCwga2V5T3B0aW9ucywgS2V5T3B0aW9ucyB9IGZyb20gJy4uLy4uL2FyZ3MnO1xuaW1wb3J0IHtcbiAgZm9ybWF0QWRkcmVzc1RyZWUsXG4gIGZvcm1hdERlc2NyaXB0b3JBZGRyZXNzLFxuICBmb3JtYXRGaXhlZFNjcmlwdEFkZHJlc3MsXG4gIGdlbmVyYXRlRGVzY3JpcHRvckFkZHJlc3MsXG4gIGdlbmVyYXRlRml4ZWRTY3JpcHRBZGRyZXNzLFxuICBnZXREZXNjcmlwdG9yQWRkcmVzc1BsYWNlaG9sZGVyRGVzY3JpcHRpb24sXG4gIGdldEZpeGVkU2NyaXB0QWRkcmVzc1BsYWNlaG9sZGVyRGVzY3JpcHRpb24sXG4gIGdldFJhbmdlLFxuICBwYXJzZUluZGV4UmFuZ2UsXG59IGZyb20gJy4uLy4uL2dlbmVyYXRlQWRkcmVzcyc7XG5cbnR5cGUgSW5kZXhMaW1pdE9wdGlvbnMgPSB7XG4gIGluZGV4Pzogc3RyaW5nW107XG4gIGxpbWl0PzogbnVtYmVyO1xufTtcblxuY29uc3QgaW5kZXhMaW1pdE9wdGlvbnMgPSB7XG4gIGluZGV4OiB7XG4gICAgdHlwZTogJ3N0cmluZycsXG4gICAgYXJyYXk6IHRydWUsXG4gICAgZGVzY3JpcHRpb246ICdBZGRyZXNzIGluZGV4LiBDYW4gYmUgZ2l2ZW4gYXMgYSByYW5nZSAoZS5nLiAwLTk5KS4gVGFrZXMgcHJlY2VkZW5jZSBvdmVyIC0tbGltaXQuJyxcbiAgfSxcbiAgbGltaXQ6IHtcbiAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICBkZXNjcmlwdGlvbjogJ0FsaWFzIGZvciAtLWluZGV4IHdpdGggcmFuZ2Ugc3RhcnRpbmcgYXQgMCB0byBsaW1pdC0xLicsXG4gICAgZGVmYXVsdDogMTAwLFxuICB9LFxufSBhcyBjb25zdDtcblxuZnVuY3Rpb24gZ2V0SW5kZXhSYW5nZUZyb21Bcmd2KGFyZ3Y6IEluZGV4TGltaXRPcHRpb25zKTogbnVtYmVyW10ge1xuICBpZiAoYXJndi5pbmRleCkge1xuICAgIHJldHVybiBwYXJzZUluZGV4UmFuZ2UoYXJndi5pbmRleCk7XG4gIH1cbiAgaWYgKGFyZ3YubGltaXQpIHtcbiAgICByZXR1cm4gZ2V0UmFuZ2UoMCwgYXJndi5saW1pdCAtIDEpO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihgbm8gaW5kZXggb3IgbGltaXRgKTtcbn1cblxudHlwZSBBcmdzR2VuZXJhdGVBZGRyZXNzRml4ZWRTY3JpcHQgPSBLZXlPcHRpb25zICZcbiAgSW5kZXhMaW1pdE9wdGlvbnMgJiB7XG4gICAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrO1xuICAgIGNoYWluPzogbnVtYmVyW107XG4gICAgZm9ybWF0OiBzdHJpbmc7XG4gIH07XG5cbmV4cG9ydCBjb25zdCBjbWRHZW5lcmF0ZUZpeGVkU2NyaXB0OiBDb21tYW5kTW9kdWxlPHVua25vd24sIEFyZ3NHZW5lcmF0ZUFkZHJlc3NGaXhlZFNjcmlwdD4gPSB7XG4gIGNvbW1hbmQ6ICdmcm9tRml4ZWRTY3JpcHQnLFxuICBkZXNjcmliZTogJ2dlbmVyYXRlIGJpdGdvIGZpeGVkLXNjcmlwdCBhZGRyZXNzZXMnLFxuICBidWlsZGVyKGIpIHtcbiAgICByZXR1cm4gYlxuICAgICAgLm9wdGlvbnMoZ2V0TmV0d29ya09wdGlvbnNEZW1hbmQoJ2JpdGNvaW4nKSlcbiAgICAgIC5vcHRpb25zKGtleU9wdGlvbnMpXG4gICAgICAub3B0aW9uKCdmb3JtYXQnLCB7XG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBkZWZhdWx0OiAnJXAwXFx0JWEnLFxuICAgICAgICBkZXNjcmlwdGlvbjogYEZvcm1hdCBzdHJpbmcuXFxuUGxhY2Vob2xkZXJzOlxcbiR7Z2V0Rml4ZWRTY3JpcHRBZGRyZXNzUGxhY2Vob2xkZXJEZXNjcmlwdGlvbigpfWAsXG4gICAgICB9KVxuICAgICAgLm9wdGlvbignY2hhaW4nLCB7IHR5cGU6ICdudW1iZXInLCBhcnJheTogdHJ1ZSwgZGVzY3JpcHRpb246ICdBZGRyZXNzIGNoYWluJyB9KVxuICAgICAgLm9wdGlvbnMoaW5kZXhMaW1pdE9wdGlvbnMpO1xuICB9LFxuICBoYW5kbGVyKGFyZ3YpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGFkZHJlc3Mgb2YgZ2VuZXJhdGVGaXhlZFNjcmlwdEFkZHJlc3Moe1xuICAgICAgLi4uYXJndixcbiAgICAgIGluZGV4OiBnZXRJbmRleFJhbmdlRnJvbUFyZ3YoYXJndiksXG4gICAgfSkpIHtcbiAgICAgIGlmIChhcmd2LmZvcm1hdCA9PT0gJ3RyZWUnKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGZvcm1hdEFkZHJlc3NUcmVlKGFkZHJlc3MpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGZvcm1hdEZpeGVkU2NyaXB0QWRkcmVzcyhhZGRyZXNzLCBhcmd2LmZvcm1hdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfSxcbn07XG5cbnR5cGUgQXJnc0dlbmVyYXRlRGVzY3JpcHRvckFkZHJlc3MgPSB7XG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29yaztcbiAgZGVzY3JpcHRvcjogc3RyaW5nO1xuICBmb3JtYXQ6IHN0cmluZztcbn0gJiBJbmRleExpbWl0T3B0aW9ucztcblxuZXhwb3J0IGNvbnN0IGNtZEZyb21EZXNjcmlwdG9yOiBDb21tYW5kTW9kdWxlPHVua25vd24sIEFyZ3NHZW5lcmF0ZURlc2NyaXB0b3JBZGRyZXNzPiA9IHtcbiAgY29tbWFuZDogJ2Zyb21EZXNjcmlwdG9yIFtkZXNjcmlwdG9yXScsXG4gIGRlc2NyaWJlOiAnZ2VuZXJhdGUgYWRkcmVzcyBmcm9tIGRlc2NyaXB0b3InLFxuICBidWlsZGVyKGIpIHtcbiAgICByZXR1cm4gYlxuICAgICAgLm9wdGlvbnMoZ2V0TmV0d29ya09wdGlvbnNEZW1hbmQoJ2JpdGNvaW4nKSlcbiAgICAgIC5wb3NpdGlvbmFsKCdkZXNjcmlwdG9yJywge1xuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgZGVtYW5kT3B0aW9uOiB0cnVlLFxuICAgICAgfSlcbiAgICAgIC5vcHRpb25zKHtcbiAgICAgICAgZm9ybWF0OiB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgZGVzY3JpcHRpb246IGBGb3JtYXQgc3RyaW5nLlxcblBsYWNlaG9sZGVyczpcXG4ke2dldERlc2NyaXB0b3JBZGRyZXNzUGxhY2Vob2xkZXJEZXNjcmlwdGlvbigpfWAsXG4gICAgICAgICAgZGVmYXVsdDogJyVpXFx0JWEnLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICAgIC5vcHRpb25zKGluZGV4TGltaXRPcHRpb25zKTtcbiAgfSxcbiAgaGFuZGxlcihhcmd2KSB7XG4gICAgZm9yIChjb25zdCBhZGRyZXNzIG9mIGdlbmVyYXRlRGVzY3JpcHRvckFkZHJlc3Moe1xuICAgICAgLi4uYXJndixcbiAgICAgIGluZGV4OiBnZXRJbmRleFJhbmdlRnJvbUFyZ3YoYXJndiksXG4gICAgfSkpIHtcbiAgICAgIGlmIChhcmd2LmZvcm1hdCA9PT0gJ3RyZWUnKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGZvcm1hdEFkZHJlc3NUcmVlKGFkZHJlc3MpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGZvcm1hdERlc2NyaXB0b3JBZGRyZXNzKGFkZHJlc3MsIGFyZ3YuZm9ybWF0KSk7XG4gICAgICB9XG4gICAgfVxuICB9LFxufTtcbiJdfQ==Выполнить команду
Для локальной разработки. Не используйте в интернете!