@neo-one/server-plugin-wallet
Version:
NEO•ONE Server wallet plugin.
46 lines (44 loc) • 5.87 kB
JavaScript
;
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