UNPKG

@neo-one/server-plugin-wallet

Version:

NEO•ONE Server wallet plugin.

46 lines (44 loc) 5.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const server_plugin_1 = require("@neo-one/server-plugin"); const operators_1 = require("rxjs/operators"); const constants_1 = require("./constants"); exports.activateWallet = (plugin) => ({ cli }) => { const { describe } = plugin.walletResourceType.getCRUD(); const command = cli.vorpal .command('activate wallet <name>', 'Activates Wallet <name>, setting it as the default wallet for ' + 'other commands.') .autocomplete({ data: async () => describe.getCLIAutocomplete({ cli }), }) .action(async (args) => { const options = await describe.getCLIResourceOptions({ cli, args, options: args.options, }); const name = await describe.getCLIName({ baseName: args.name, cli, options, }); const { names: [network], } = server_plugin_1.compoundName.extract(name); const resource = await plugin.walletResourceType .getResource$({ name, client: cli.client, options: { network }, }) .pipe(operators_1.take(1)) .toPromise(); if (resource === undefined) { throw new Error(`Wallet ${args.name} does not exist.`); } cli.mergeSession(plugin.name, { wallet: name }); cli.addDelimiter(constants_1.constants.DELIMITER_KEY, args.name); }); describe.options.forEach(({ option, description }) => { command.option(option, description); }); return command; }; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFjdGl2YXRlV2FsbGV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsMERBQTBFO0FBQzFFLDhDQUFzQztBQUN0QywyQ0FBd0M7QUFHM0IsUUFBQSxjQUFjLEdBQUcsQ0FBQyxNQUFvQixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFzQixFQUFFLEVBQUU7SUFDdEYsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN6RCxNQUFNLE9BQU8sR0FBRyxHQUFHLENBQUMsTUFBTTtTQUN2QixPQUFPLENBQ04sd0JBQXdCLEVBQ3hCLGdFQUFnRSxHQUFHLGlCQUFpQixDQUNyRjtTQUNBLFlBQVksQ0FBQztRQUNaLElBQUksRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0tBQ3ZELENBQUM7U0FDRCxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFO1FBQ3JCLE1BQU0sT0FBTyxHQUFHLE1BQU0sUUFBUSxDQUFDLHFCQUFxQixDQUFDO1lBQ25ELEdBQUc7WUFDSCxJQUFJO1lBQ0osT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3RCLENBQUMsQ0FBQztRQUVILE1BQU0sSUFBSSxHQUFHLE1BQU0sUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUNyQyxRQUFRLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDbkIsR0FBRztZQUNILE9BQU87U0FDUixDQUFDLENBQUM7UUFFSCxNQUFNLEVBQ0osS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQ2pCLEdBQUcsNEJBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsTUFBTSxRQUFRLEdBQUcsTUFBTSxNQUFNLENBQUMsa0JBQWtCO2FBQzdDLFlBQVksQ0FBQztZQUNaLElBQUk7WUFDSixNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU07WUFDbEIsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFO1NBQ3JCLENBQUM7YUFDRCxJQUFJLENBQUMsZ0JBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsRUFBRSxDQUFDO1FBQ2YsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFO1lBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxDQUFDO1NBQ3hEO1FBRUQsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDaEQsR0FBRyxDQUFDLFlBQVksQ0FBQyxxQkFBUyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkQsQ0FBQyxDQUFDLENBQUM7SUFFTCxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUU7UUFDbkQsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDdEMsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDLENBQUMiLCJmaWxlIjoibmVvLW9uZS1zZXJ2ZXItcGx1Z2luLXdhbGxldC9zcmMvYWN0aXZhdGVXYWxsZXQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wb3VuZE5hbWUsIEludGVyYWN0aXZlQ0xJQXJncyB9IGZyb20gJ0BuZW8tb25lL3NlcnZlci1wbHVnaW4nO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IFdhbGxldFBsdWdpbiB9IGZyb20gJy4vV2FsbGV0UGx1Z2luJztcblxuZXhwb3J0IGNvbnN0IGFjdGl2YXRlV2FsbGV0ID0gKHBsdWdpbjogV2FsbGV0UGx1Z2luKSA9PiAoeyBjbGkgfTogSW50ZXJhY3RpdmVDTElBcmdzKSA9PiB7XG4gIGNvbnN0IHsgZGVzY3JpYmUgfSA9IHBsdWdpbi53YWxsZXRSZXNvdXJjZVR5cGUuZ2V0Q1JVRCgpO1xuICBjb25zdCBjb21tYW5kID0gY2xpLnZvcnBhbFxuICAgIC5jb21tYW5kKFxuICAgICAgJ2FjdGl2YXRlIHdhbGxldCA8bmFtZT4nLFxuICAgICAgJ0FjdGl2YXRlcyBXYWxsZXQgPG5hbWU+LCBzZXR0aW5nIGl0IGFzIHRoZSBkZWZhdWx0IHdhbGxldCBmb3IgJyArICdvdGhlciBjb21tYW5kcy4nLFxuICAgIClcbiAgICAuYXV0b2NvbXBsZXRlKHtcbiAgICAgIGRhdGE6IGFzeW5jICgpID0+IGRlc2NyaWJlLmdldENMSUF1dG9jb21wbGV0ZSh7IGNsaSB9KSxcbiAgICB9KVxuICAgIC5hY3Rpb24oYXN5bmMgKGFyZ3MpID0+IHtcbiAgICAgIGNvbnN0IG9wdGlvbnMgPSBhd2FpdCBkZXNjcmliZS5nZXRDTElSZXNvdXJjZU9wdGlvbnMoe1xuICAgICAgICBjbGksXG4gICAgICAgIGFyZ3MsXG4gICAgICAgIG9wdGlvbnM6IGFyZ3Mub3B0aW9ucyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBuYW1lID0gYXdhaXQgZGVzY3JpYmUuZ2V0Q0xJTmFtZSh7XG4gICAgICAgIGJhc2VOYW1lOiBhcmdzLm5hbWUsXG4gICAgICAgIGNsaSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCB7XG4gICAgICAgIG5hbWVzOiBbbmV0d29ya10sXG4gICAgICB9ID0gY29tcG91bmROYW1lLmV4dHJhY3QobmFtZSk7XG4gICAgICBjb25zdCByZXNvdXJjZSA9IGF3YWl0IHBsdWdpbi53YWxsZXRSZXNvdXJjZVR5cGVcbiAgICAgICAgLmdldFJlc291cmNlJCh7XG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICBjbGllbnQ6IGNsaS5jbGllbnQsXG4gICAgICAgICAgb3B0aW9uczogeyBuZXR3b3JrIH0sXG4gICAgICAgIH0pXG4gICAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAgIC50b1Byb21pc2UoKTtcbiAgICAgIGlmIChyZXNvdXJjZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgV2FsbGV0ICR7YXJncy5uYW1lfSBkb2VzIG5vdCBleGlzdC5gKTtcbiAgICAgIH1cblxuICAgICAgY2xpLm1lcmdlU2Vzc2lvbihwbHVnaW4ubmFtZSwgeyB3YWxsZXQ6IG5hbWUgfSk7XG4gICAgICBjbGkuYWRkRGVsaW1pdGVyKGNvbnN0YW50cy5ERUxJTUlURVJfS0VZLCBhcmdzLm5hbWUpO1xuICAgIH0pO1xuXG4gIGRlc2NyaWJlLm9wdGlvbnMuZm9yRWFjaCgoeyBvcHRpb24sIGRlc2NyaXB0aW9uIH0pID0+IHtcbiAgICBjb21tYW5kLm9wdGlvbihvcHRpb24sIGRlc2NyaXB0aW9uKTtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbW1hbmQ7XG59O1xuIl19