UNPKG

@ellcrys/spell

Version:

The official JavaScript library for Ellcrys

245 lines 12.2 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var namespace_1 = __importDefault(require("./namespace")); /** * Node accesses information about an Elld client * * @export * @class Node */ var Node = /** @class */ (function (_super) { __extends(Node, _super); /** * Creates an instance of Node. * * @param {RPCClient} client * @memberof Node */ function Node(client) { var _this = _super.call(this) || this; _this.client = client; return _this; } /** * Get the status of a transaction. * * The status is 'pooled' when the transaction * is currently in the transaction pool or 'mined' * if the transaction has been added to a mined block. * If the transaction hash is unrecognised, 'unknown' * is returned. * * @param {string} hash The transaction hash * @returns {Promise<TxStatus>} * @memberof Node */ Node.prototype.getTransactionStatus = function (hash) { var _this = this; return new Promise(function (resolve, reject) { _this.client .call("node_getTransactionStatus", hash) .then(function (res) { return resolve(res.status); }) .catch(function (err) { return reject(err); }); }); }; /** * Get the current status of the node * block synchronization session. Returns * null when the node is not syncing. * * @returns {Promise<SyncStat | null>} * @memberof Node */ Node.prototype.getSyncStat = function () { var _this = this; return new Promise(function (resolve, reject) { _this.client .call("node_getSyncStat", null) .then(function (res) { return resolve(res); }) .catch(function (err) { return reject(err); }); }); }; /** * Check whether the node is currently * syncing blocks with a peer. * * @returns {Promise<boolean>} * @memberof Node */ Node.prototype.isSyncing = function () { var _this = this; return new Promise(function (resolve, reject) { _this.client .call("node_isSyncing", null) .then(function (res) { return resolve(res); }) .catch(function (err) { return reject(err); }); }); }; /** * Enable block synchronization on the node * * @returns {Promise<boolean>} * @memberof Node */ Node.prototype.enableSync = function () { var _this = this; return new Promise(function (resolve, reject) { _this.client .call("node_enableSync", null) .then(function (res) { return resolve(res); }) .catch(function (err) { return reject(err); }); }); }; /** * Disable block synchronization on the node * * @returns {Promise<boolean>} * @memberof Node */ Node.prototype.disableSync = function () { var _this = this; return new Promise(function (resolve, reject) { _this.client .call("node_disableSync", null) .then(function (res) { return resolve(res); }) .catch(function (err) { return reject(err); }); }); }; /** * Checks whether block synchronization * is enabled on the node. * * @returns {Promise<boolean>} * @memberof Node */ Node.prototype.isSyncEnabled = function () { var _this = this; return new Promise(function (resolve, reject) { _this.client .call("node_isSyncEnabled", null) .then(function (res) { return resolve(res); }) .catch(function (err) { return reject(err); }); }); }; /** * Get information about the node * * @returns {Promise<NodeInfo>} * @memberof Node */ Node.prototype.info = function () { var _this = this; return new Promise(function (resolve, reject) { _this.client .call("node_info", null) .then(function (res) { return resolve(res); }) .catch(function (err) { return reject(err); }); }); }; /** * Get the node's configurations * * @returns {Promise<NodeConfig>} * @memberof Node */ Node.prototype.config = function () { var _this = this; return new Promise(function (resolve, reject) { _this.client .call("node_config", null) .then(function (res) { return resolve(res); }) .catch(function (err) { return reject(err); }); }); }; /** * Returns non-sensitive information about * a node. * * @returns {Promise<BasicNodeInfo>} * @memberof Node */ Node.prototype.basic = function () { var _this = this; return new Promise(function (resolve, reject) { _this.client .call("node_basic", null) .then(function (res) { return resolve(res); }) .catch(function (err) { return reject(err); }); }); }; /** * Get transaction from the transaction pool * * @param {string} txHash hash of the tx to fetch from pool * @returns {Promise<Transaction>} * @memberof Node */ Node.prototype.getTransactionFromPool = function (txHash) { var _this = this; return new Promise(function (resolve, reject) { _this.client .call("node_getTransactionFromPool", txHash) .then(function (res) { return resolve(res); }) .catch(function (err) { return reject(err); }); }); }; return Node; }(namespace_1.default)); exports.default = Node; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvbmFtZXNwYWNlcy9ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVlBLDBEQUFvQztBQUVwQzs7Ozs7R0FLRztBQUNIO0lBQWtDLHdCQUFTO0lBQzFDOzs7OztPQUtHO0lBQ0gsY0FBWSxNQUFpQjtRQUE3QixZQUNDLGlCQUFPLFNBRVA7UUFEQSxLQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQzs7SUFDdEIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNJLG1DQUFvQixHQUEzQixVQUE0QixJQUFZO1FBQXhDLGlCQVdDO1FBVkEsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ2xDLEtBQUksQ0FBQyxNQUFNO2lCQUNULElBQUksQ0FBQywyQkFBMkIsRUFBRSxJQUFJLENBQUM7aUJBQ3ZDLElBQUksQ0FBQyxVQUFDLEdBQUc7Z0JBQ1QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVCLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsVUFBQyxHQUFHO2dCQUNWLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLDBCQUFXLEdBQWxCO1FBQUEsaUJBV0M7UUFWQSxPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07WUFDbEMsS0FBSSxDQUFDLE1BQU07aUJBQ1QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQztpQkFDOUIsSUFBSSxDQUFDLFVBQUMsR0FBRztnQkFDVCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQixDQUFDLENBQUM7aUJBQ0QsS0FBSyxDQUFDLFVBQUMsR0FBRztnQkFDVixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHdCQUFTLEdBQWhCO1FBQUEsaUJBV0M7UUFWQSxPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07WUFDbEMsS0FBSSxDQUFDLE1BQU07aUJBQ1QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQztpQkFDNUIsSUFBSSxDQUFDLFVBQUMsR0FBRztnQkFDVCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQixDQUFDLENBQUM7aUJBQ0QsS0FBSyxDQUFDLFVBQUMsR0FBRztnQkFDVixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0kseUJBQVUsR0FBakI7UUFBQSxpQkFXQztRQVZBLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUNsQyxLQUFJLENBQUMsTUFBTTtpQkFDVCxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDO2lCQUM3QixJQUFJLENBQUMsVUFBQyxHQUFHO2dCQUNULE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsVUFBQyxHQUFHO2dCQUNWLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSwwQkFBVyxHQUFsQjtRQUFBLGlCQVdDO1FBVkEsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ2xDLEtBQUksQ0FBQyxNQUFNO2lCQUNULElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUM7aUJBQzlCLElBQUksQ0FBQyxVQUFDLEdBQUc7Z0JBQ1QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckIsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxVQUFDLEdBQUc7Z0JBQ1YsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSSw0QkFBYSxHQUFwQjtRQUFBLGlCQVdDO1FBVkEsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ2xDLEtBQUksQ0FBQyxNQUFNO2lCQUNULElBQUksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUM7aUJBQ2hDLElBQUksQ0FBQyxVQUFDLEdBQUc7Z0JBQ1QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDckIsQ0FBQyxDQUFDO2lCQUNELEtBQUssQ0FBQyxVQUFDLEdBQUc7Z0JBQ1YsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLG1CQUFJLEdBQVg7UUFBQSxpQkFXQztRQVZBLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUNsQyxLQUFJLENBQUMsTUFBTTtpQkFDVCxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQztpQkFDdkIsSUFBSSxDQUFDLFVBQUMsR0FBRztnQkFDVCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQixDQUFDLENBQUM7aUJBQ0QsS0FBSyxDQUFDLFVBQUMsR0FBRztnQkFDVixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0kscUJBQU0sR0FBYjtRQUFBLGlCQVdDO1FBVkEsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ2xDLEtBQUksQ0FBQyxNQUFNO2lCQUNULElBQUksQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDO2lCQUN6QixJQUFJLENBQUMsVUFBQyxHQUFHO2dCQUNULE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsVUFBQyxHQUFHO2dCQUNWLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksb0JBQUssR0FBWjtRQUFBLGlCQVdDO1FBVkEsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ2xDLEtBQUksQ0FBQyxNQUFNO2lCQUNULElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDO2lCQUN4QixJQUFJLENBQUMsVUFBQyxHQUFHO2dCQUNULE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsVUFBQyxHQUFHO2dCQUNWLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0kscUNBQXNCLEdBQTdCLFVBQThCLE1BQWM7UUFBNUMsaUJBV0M7UUFWQSxPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07WUFDbEMsS0FBSSxDQUFDLE1BQU07aUJBQ1QsSUFBSSxDQUFDLDZCQUE2QixFQUFFLE1BQU0sQ0FBQztpQkFDM0MsSUFBSSxDQUFDLFVBQUMsR0FBRztnQkFDVCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQixDQUFDLENBQUM7aUJBQ0QsS0FBSyxDQUFDLFVBQUMsR0FBRztnQkFDVixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUNGLFdBQUM7QUFBRCxDQUFDLEFBdE5ELENBQWtDLG1CQUFTLEdBc04xQyJ9