UNPKG

@neo-one/server-plugin-wallet

Version:

NEO•ONE Server wallet plugin.

52 lines (50 loc) 6.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const server_plugin_network_1 = require("@neo-one/server-plugin-network"); const constants_1 = require("../../constants"); const errors_1 = require("../../errors"); const getCLIName = async ({ baseName, options: { network }, }) => { if (network === undefined) { throw new errors_1.NetworkRequiredError(); } return Promise.resolve(constants_1.constants.makeWallet({ name: baseName, network })); }; const getCLIResourceOptions = async ({ cli, options }) => { const { network: networkName } = options; if (networkName != undefined && typeof networkName === 'string') { return { network: networkName }; } const { network } = await cli.getSession(server_plugin_network_1.constants.PLUGIN); if (network != undefined && typeof network === 'string') { return { network }; } throw new Error('Wallets are associated with a network. Activate a network by ' + 'running `activate network <name>` or specify the network via ' + '`--network <name>`'); }; const promptPassword = async ({ cli, prompt }) => cli.prompt([ { type: 'password', name: 'password', message: prompt, validate: (input) => { if (typeof input !== 'string' || input.length < 8) { return 'Password must be at least 8 characters'; } return true; }, }, ]); const walletOptions = [ { option: '-n, --network <name>', description: 'Network the wallet is associated with.', }, ]; exports.common = { getCLIName, getCLIResourceOptions, promptPassword, options: walletOptions, }; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbW1vbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDBFQUErRTtBQUMvRSwrQ0FBNEM7QUFDNUMseUNBQW9EO0FBR3BELE1BQU0sVUFBVSxHQUFHLEtBQUssRUFBRSxFQUN4QixRQUFRLEVBQ1IsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQ3FCLEVBQW1CLEVBQUU7SUFDOUQsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO1FBQ3pCLE1BQU0sSUFBSSw2QkFBb0IsRUFBRSxDQUFDO0tBQ2xDO0lBRUQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLHFCQUFTLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDNUUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxxQkFBcUIsR0FBRyxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUF5QixFQUFrQyxFQUFFO0lBQzlHLE1BQU0sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQ3pDLElBQUksV0FBVyxJQUFJLFNBQVMsSUFBSSxPQUFPLFdBQVcsS0FBSyxRQUFRLEVBQUU7UUFDL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQztLQUNqQztJQUVELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxNQUFNLEdBQUcsQ0FBQyxVQUFVLENBQUMsaUNBQWdCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEUsSUFBSSxPQUFPLElBQUksU0FBUyxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtRQUN2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7S0FDcEI7SUFFRCxNQUFNLElBQUksS0FBSyxDQUNiLCtEQUErRDtRQUM3RCwrREFBK0Q7UUFDL0Qsb0JBQW9CLENBQ3ZCLENBQUM7QUFDSixDQUFDLENBQUM7QUFFRixNQUFNLGNBQWMsR0FBRyxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUE2RCxFQUFFLEVBQUUsQ0FDMUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztJQUNUO1FBQ0UsSUFBSSxFQUFFLFVBQVU7UUFDaEIsSUFBSSxFQUFFLFVBQVU7UUFDaEIsT0FBTyxFQUFFLE1BQU07UUFFZixRQUFRLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRTtZQUN2QixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDakQsT0FBTyx3Q0FBd0MsQ0FBQzthQUNqRDtZQUVELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztLQUNGO0NBQ0YsQ0FBQyxDQUFDO0FBRUwsTUFBTSxhQUFhLEdBQTZFO0lBQzlGO1FBQ0UsTUFBTSxFQUFFLHNCQUFzQjtRQUM5QixXQUFXLEVBQUUsd0NBQXdDO0tBQ3REO0NBQ0YsQ0FBQztBQUVXLFFBQUEsTUFBTSxHQUFHO0lBQ3BCLFVBQVU7SUFDVixxQkFBcUI7SUFDckIsY0FBYztJQUNkLE9BQU8sRUFBRSxhQUFhO0NBQ3ZCLENBQUMiLCJmaWxlIjoibmVvLW9uZS1zZXJ2ZXItcGx1Z2luLXdhbGxldC9zcmMvY3J1ZC93YWxsZXQvY29tbW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2V0Q0xJTmFtZU9wdGlvbnMsIEdldENMSVJlc291cmNlT3B0aW9ucywgSW50ZXJhY3RpdmVDTEkgfSBmcm9tICdAbmVvLW9uZS9zZXJ2ZXItcGx1Z2luJztcbmltcG9ydCB7IGNvbnN0YW50cyBhcyBuZXR3b3JrQ29uc3RhbnRzIH0gZnJvbSAnQG5lby1vbmUvc2VydmVyLXBsdWdpbi1uZXR3b3JrJztcbmltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBOZXR3b3JrUmVxdWlyZWRFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9ycyc7XG5pbXBvcnQgeyBXYWxsZXRSZXNvdXJjZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9XYWxsZXRSZXNvdXJjZVR5cGUnO1xuXG5jb25zdCBnZXRDTElOYW1lID0gYXN5bmMgKHtcbiAgYmFzZU5hbWUsXG4gIG9wdGlvbnM6IHsgbmV0d29yayB9LFxufTogR2V0Q0xJTmFtZU9wdGlvbnM8V2FsbGV0UmVzb3VyY2VPcHRpb25zPik6IFByb21pc2U8c3RyaW5nPiA9PiB7XG4gIGlmIChuZXR3b3JrID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgTmV0d29ya1JlcXVpcmVkRXJyb3IoKTtcbiAgfVxuXG4gIHJldHVybiBQcm9taXNlLnJlc29sdmUoY29uc3RhbnRzLm1ha2VXYWxsZXQoeyBuYW1lOiBiYXNlTmFtZSwgbmV0d29yayB9KSk7XG59O1xuXG5jb25zdCBnZXRDTElSZXNvdXJjZU9wdGlvbnMgPSBhc3luYyAoeyBjbGksIG9wdGlvbnMgfTogR2V0Q0xJUmVzb3VyY2VPcHRpb25zKTogUHJvbWlzZTxXYWxsZXRSZXNvdXJjZU9wdGlvbnM+ID0+IHtcbiAgY29uc3QgeyBuZXR3b3JrOiBuZXR3b3JrTmFtZSB9ID0gb3B0aW9ucztcbiAgaWYgKG5ldHdvcmtOYW1lICE9IHVuZGVmaW5lZCAmJiB0eXBlb2YgbmV0d29ya05hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHsgbmV0d29yazogbmV0d29ya05hbWUgfTtcbiAgfVxuXG4gIGNvbnN0IHsgbmV0d29yayB9ID0gYXdhaXQgY2xpLmdldFNlc3Npb24obmV0d29ya0NvbnN0YW50cy5QTFVHSU4pO1xuICBpZiAobmV0d29yayAhPSB1bmRlZmluZWQgJiYgdHlwZW9mIG5ldHdvcmsgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHsgbmV0d29yayB9O1xuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKFxuICAgICdXYWxsZXRzIGFyZSBhc3NvY2lhdGVkIHdpdGggYSBuZXR3b3JrLiBBY3RpdmF0ZSBhIG5ldHdvcmsgYnkgJyArXG4gICAgICAncnVubmluZyBgYWN0aXZhdGUgbmV0d29yayA8bmFtZT5gIG9yIHNwZWNpZnkgdGhlIG5ldHdvcmsgdmlhICcgK1xuICAgICAgJ2AtLW5ldHdvcmsgPG5hbWU+YCcsXG4gICk7XG59O1xuXG5jb25zdCBwcm9tcHRQYXNzd29yZCA9IGFzeW5jICh7IGNsaSwgcHJvbXB0IH06IHsgcmVhZG9ubHkgY2xpOiBJbnRlcmFjdGl2ZUNMSTsgcmVhZG9ubHkgcHJvbXB0OiBzdHJpbmcgfSkgPT5cbiAgY2xpLnByb21wdChbXG4gICAge1xuICAgICAgdHlwZTogJ3Bhc3N3b3JkJyxcbiAgICAgIG5hbWU6ICdwYXNzd29yZCcsXG4gICAgICBtZXNzYWdlOiBwcm9tcHQsXG4gICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmUgbm8tYW55XG4gICAgICB2YWxpZGF0ZTogKGlucHV0OiBhbnkpID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiBpbnB1dCAhPT0gJ3N0cmluZycgfHwgaW5wdXQubGVuZ3RoIDwgOCkge1xuICAgICAgICAgIHJldHVybiAnUGFzc3dvcmQgbXVzdCBiZSBhdCBsZWFzdCA4IGNoYXJhY3RlcnMnO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9LFxuICAgIH0sXG4gIF0pO1xuXG5jb25zdCB3YWxsZXRPcHRpb25zOiBSZWFkb25seUFycmF5PHsgcmVhZG9ubHkgb3B0aW9uOiBzdHJpbmc7IHJlYWRvbmx5IGRlc2NyaXB0aW9uOiBzdHJpbmcgfT4gPSBbXG4gIHtcbiAgICBvcHRpb246ICctbiwgLS1uZXR3b3JrIDxuYW1lPicsXG4gICAgZGVzY3JpcHRpb246ICdOZXR3b3JrIHRoZSB3YWxsZXQgaXMgYXNzb2NpYXRlZCB3aXRoLicsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3QgY29tbW9uID0ge1xuICBnZXRDTElOYW1lLFxuICBnZXRDTElSZXNvdXJjZU9wdGlvbnMsXG4gIHByb21wdFBhc3N3b3JkLFxuICBvcHRpb25zOiB3YWxsZXRPcHRpb25zLFxufTtcbiJdfQ==