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==

Выполнить команду


Для локальной разработки. Не используйте в интернете!