UNPKG

@neo-one/server-plugin-wallet

Version:

NEO•ONE Server wallet plugin.

48 lines (46 loc) 6.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const server_plugin_1 = require("@neo-one/server-plugin"); const server_plugin_network_1 = require("@neo-one/server-plugin-network"); const constants_1 = require("../../constants"); const common_1 = require("./common"); class StartWalletCRUD extends server_plugin_1.StartCRUD { constructor({ resourceType }) { super({ name: 'open', resourceType, options: common_1.common.options.concat([ { option: '-p, --password <password>', description: 'Password to decrypt the private key. Only applicable to ' + 'MainNet wallets. If not provided, a prompt for the password ' + 'will appear.', }, ]), }); } async getCLIName(options) { return common_1.common.getCLIName(options); } async getCLIAutocompleteResourceOptions({ cli }) { return common_1.common.getCLIResourceOptions({ cli, args: {}, options: {} }); } async getCLIResourceOptions(optionsIn) { const { cli, options } = optionsIn; const { network } = await common_1.common.getCLIResourceOptions(optionsIn); let { password } = options; if (network === server_plugin_network_1.constants.NETWORK_NAME.MAIN && password == undefined) { password = await common_1.common.promptPassword({ cli, prompt: 'Enter password', }); } return { network, password }; } async postExecCLI({ name, cli }) { const { name: originalName, network } = constants_1.constants.extractWallet(name); await cli.exec(`activate wallet ${originalName} --network ${network}`); } } exports.StartWalletCRUD = StartWalletCRUD; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlN0YXJ0V2FsbGV0Q1JVRC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDBEQU1nQztBQUNoQywwRUFBK0U7QUFDL0UsK0NBQTRDO0FBRTVDLHFDQUFrQztBQUVsQyxNQUFhLGVBQWdCLFNBQVEseUJBQXdDO0lBQzNFLFlBQW1CLEVBQUUsWUFBWSxFQUFpRDtRQUNoRixLQUFLLENBQUM7WUFDSixJQUFJLEVBQUUsTUFBTTtZQUNaLFlBQVk7WUFDWixPQUFPLEVBQUUsZUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7Z0JBQzdCO29CQUNFLE1BQU0sRUFBRSwyQkFBMkI7b0JBQ25DLFdBQVcsRUFDVCwwREFBMEQ7d0JBQzFELDhEQUE4RDt3QkFDOUQsY0FBYztpQkFDakI7YUFDRixDQUFDO1NBQ0gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBaUQ7UUFDdkUsT0FBTyxlQUFNLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFTSxLQUFLLENBQUMsaUNBQWlDLENBQUMsRUFBRSxHQUFHLEVBQTZCO1FBQy9FLE9BQU8sZUFBTSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVNLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxTQUFnQztRQUNqRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLFNBQVMsQ0FBQztRQUNuQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxlQUFNLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbEUsSUFBSSxFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUMzQixJQUFJLE9BQU8sS0FBSyxpQ0FBZ0IsQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLFFBQVEsSUFBSSxTQUFTLEVBQUU7WUFDM0UsUUFBUSxHQUFHLE1BQU0sZUFBTSxDQUFDLGNBQWMsQ0FBQztnQkFDckMsR0FBRztnQkFDSCxNQUFNLEVBQUUsZ0JBQWdCO2FBQ3pCLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRU0sS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQXlDO1FBQzNFLE1BQU0sRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxHQUFHLHFCQUFTLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsWUFBWSxjQUFjLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQztDQUNGO0FBM0NELDBDQTJDQyIsImZpbGUiOiJuZW8tb25lLXNlcnZlci1wbHVnaW4td2FsbGV0L3NyYy9jcnVkL3dhbGxldC9TdGFydFdhbGxldENSVUQuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFeGVjQ0xJT3B0aW9ucyxcbiAgR2V0Q0xJQXV0b2NvbXBsZXRlT3B0aW9ucyxcbiAgR2V0Q0xJTmFtZU9wdGlvbnMsXG4gIEdldENMSVJlc291cmNlT3B0aW9ucyxcbiAgU3RhcnRDUlVELFxufSBmcm9tICdAbmVvLW9uZS9zZXJ2ZXItcGx1Z2luJztcbmltcG9ydCB7IGNvbnN0YW50cyBhcyBuZXR3b3JrQ29uc3RhbnRzIH0gZnJvbSAnQG5lby1vbmUvc2VydmVyLXBsdWdpbi1uZXR3b3JrJztcbmltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBXYWxsZXQsIFdhbGxldFJlc291cmNlT3B0aW9ucywgV2FsbGV0UmVzb3VyY2VUeXBlIH0gZnJvbSAnLi4vLi4vV2FsbGV0UmVzb3VyY2VUeXBlJztcbmltcG9ydCB7IGNvbW1vbiB9IGZyb20gJy4vY29tbW9uJztcblxuZXhwb3J0IGNsYXNzIFN0YXJ0V2FsbGV0Q1JVRCBleHRlbmRzIFN0YXJ0Q1JVRDxXYWxsZXQsIFdhbGxldFJlc291cmNlT3B0aW9ucz4ge1xuICBwdWJsaWMgY29uc3RydWN0b3IoeyByZXNvdXJjZVR5cGUgfTogeyByZWFkb25seSByZXNvdXJjZVR5cGU6IFdhbGxldFJlc291cmNlVHlwZSB9KSB7XG4gICAgc3VwZXIoe1xuICAgICAgbmFtZTogJ29wZW4nLFxuICAgICAgcmVzb3VyY2VUeXBlLFxuICAgICAgb3B0aW9uczogY29tbW9uLm9wdGlvbnMuY29uY2F0KFtcbiAgICAgICAge1xuICAgICAgICAgIG9wdGlvbjogJy1wLCAtLXBhc3N3b3JkIDxwYXNzd29yZD4nLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgJ1Bhc3N3b3JkIHRvIGRlY3J5cHQgdGhlIHByaXZhdGUga2V5LiBPbmx5IGFwcGxpY2FibGUgdG8gJyArXG4gICAgICAgICAgICAnTWFpbk5ldCB3YWxsZXRzLiBJZiBub3QgcHJvdmlkZWQsIGEgcHJvbXB0IGZvciB0aGUgcGFzc3dvcmQgJyArXG4gICAgICAgICAgICAnd2lsbCBhcHBlYXIuJyxcbiAgICAgICAgfSxcbiAgICAgIF0pLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldENMSU5hbWUob3B0aW9uczogR2V0Q0xJTmFtZU9wdGlvbnM8V2FsbGV0UmVzb3VyY2VPcHRpb25zPik6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIGNvbW1vbi5nZXRDTElOYW1lKG9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldENMSUF1dG9jb21wbGV0ZVJlc291cmNlT3B0aW9ucyh7IGNsaSB9OiBHZXRDTElBdXRvY29tcGxldGVPcHRpb25zKTogUHJvbWlzZTxXYWxsZXRSZXNvdXJjZU9wdGlvbnM+IHtcbiAgICByZXR1cm4gY29tbW9uLmdldENMSVJlc291cmNlT3B0aW9ucyh7IGNsaSwgYXJnczoge30sIG9wdGlvbnM6IHt9IH0pO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldENMSVJlc291cmNlT3B0aW9ucyhvcHRpb25zSW46IEdldENMSVJlc291cmNlT3B0aW9ucyk6IFByb21pc2U8V2FsbGV0UmVzb3VyY2VPcHRpb25zPiB7XG4gICAgY29uc3QgeyBjbGksIG9wdGlvbnMgfSA9IG9wdGlvbnNJbjtcbiAgICBjb25zdCB7IG5ldHdvcmsgfSA9IGF3YWl0IGNvbW1vbi5nZXRDTElSZXNvdXJjZU9wdGlvbnMob3B0aW9uc0luKTtcbiAgICBsZXQgeyBwYXNzd29yZCB9ID0gb3B0aW9ucztcbiAgICBpZiAobmV0d29yayA9PT0gbmV0d29ya0NvbnN0YW50cy5ORVRXT1JLX05BTUUuTUFJTiAmJiBwYXNzd29yZCA9PSB1bmRlZmluZWQpIHtcbiAgICAgIHBhc3N3b3JkID0gYXdhaXQgY29tbW9uLnByb21wdFBhc3N3b3JkKHtcbiAgICAgICAgY2xpLFxuICAgICAgICBwcm9tcHQ6ICdFbnRlciBwYXNzd29yZCcsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4geyBuZXR3b3JrLCBwYXNzd29yZCB9O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHBvc3RFeGVjQ0xJKHsgbmFtZSwgY2xpIH06IEV4ZWNDTElPcHRpb25zPFdhbGxldFJlc291cmNlT3B0aW9ucz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IG5hbWU6IG9yaWdpbmFsTmFtZSwgbmV0d29yayB9ID0gY29uc3RhbnRzLmV4dHJhY3RXYWxsZXQobmFtZSk7XG4gICAgYXdhaXQgY2xpLmV4ZWMoYGFjdGl2YXRlIHdhbGxldCAke29yaWdpbmFsTmFtZX0gLS1uZXR3b3JrICR7bmV0d29ya31gKTtcbiAgfVxufVxuIl19