UNPKG

staker

Version:

Command line Utillity for Ethereum stakers

135 lines (115 loc) 3.53 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.skills = exports.skillSearchXDai = exports.skillLastXdaiBlock = exports.skillGetXdaiBalance = void 0; var _react = _interopRequireDefault(require("react")); var _i18n = require("saihubot-cli-adapter/dist/i18n"); var _stakerFreenodes = require("staker-freenodes"); var _utils = require("../utils"); var _ethRpc = require("../helpers/ethRpc"); var _i18n2 = require("../i18n"); var _XdaiBalances = _interopRequireDefault(require("./XdaiBalances")); var _utils2 = require("./utils"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Check address or tx on xDai. * * can pass the address, or pre-define the * SAIHUBOT_ADDR environment variable */ const skillSearchXDai = { name: 'xdai', help: '🏦xdai [address|tx] - check address or tx on xDai', requirements: { addons: ['search'] }, rule: /(^xdai )(.*)|^xdai$/i, action: function (robot, msg) { let addr = ''; if (msg[2] === undefined) { addr = (0, _utils.getConfig)('ADDR', ''); if (addr === '') { robot.send((0, _i18n.t)('needAddr', { i18n: _i18n2.i18nAddr })); robot.render(); return; } } // only support single address (0, _utils.getExplorerLink)((0, _utils.singleAddr)(addr || msg[2]), _stakerFreenodes.EXPLORER_XDAI[_stakerFreenodes.CHAIN_XDAI_EXPLORER_BLOCKSCOUT], robot.addons.search); } }; /** * Get the latest block number. */ exports.skillSearchXDai = skillSearchXDai; const skillLastXdaiBlock = { name: 'lastblock-xdai', help: '🗂 lastblock-xdai|block-xdai - get the latest xDai block number', requirements: { addons: ['fetch'] }, i18n: { 'en': { fetching: 'Fetching xDai data...', summary: 'The latest xDai block is **{{blocknum}}**' }, 'zh_TW': { fetching: '取得 xDai 資料中...', summary: '最新的xDai區塊是 **{{blocknum}}**' }, props: [] }, rule: /^(last)?block-?xdai$/i, action: function (robot, msg) { robot.send((0, _i18n.t)('fetching', { i18n: this.i18n })); robot.render(); (0, _utils2.xdaiFetch)(robot.addons.fetch, _ethRpc.rpcLastBlock).then(json => { const msg = (0, _i18n.t)('summary', { i18n: this.i18n, blocknum: parseInt(json.result) }); robot.send(msg); robot.render(); }); } }; /** * Get balance of [addr] on xDai Chain. * * can pass the address, or pre-define the * SAIHUBOT_ADDR environment variable */ exports.skillLastXdaiBlock = skillLastXdaiBlock; const skillGetXdaiBalance = { name: 'balance-xdai', help: '💰balance-xdai - Show address balance on xDai chain', requirements: { addons: ['fetch'] }, rule: /(^balance-xdai )(.*)|^balance-xdai$/i, action: function (robot, msg) { let addr = ''; if (msg[2] === undefined) { addr = (0, _utils.getConfig)('ADDR', ''); if (!addr) { robot.send((0, _i18n.t)('needAddr', { i18n: _i18n2.i18nBalance })); robot.render(); return; } } const addrs = (0, _utils.toArray)(addr || (0, _utils.parseArg)(msg[2])); robot.sendComponent( /*#__PURE__*/_react.default.createElement(_XdaiBalances.default, { addresses: addrs })); robot.render(); } }; exports.skillGetXdaiBalance = skillGetXdaiBalance; const skills = [skillGetXdaiBalance, skillLastXdaiBlock, skillSearchXDai]; exports.skills = skills;