staker
Version:
Command line Utillity for Ethereum stakers
135 lines (115 loc) • 3.53 kB
JavaScript
;
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;