@ellcrys/spell
Version:
The official JavaScript library for Ellcrys
245 lines • 12.2 kB
JavaScript
;
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvbmFtZXNwYWNlcy9ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVlBLDBEQUFvQztBQUVwQzs7Ozs7R0FLRztBQUNIO0lBQWtDLHdCQUFTO0lBQzFDOzs7OztPQUtHO0lBQ0gsY0FBWSxNQUFpQjtRQUE3QixZQUNDLGlCQUFPLFNBRVA7UUFEQSxLQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQzs7SUFDdEIsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNJLG1DQUFvQixHQUEzQixVQUE0QixJQUFZO1FBQXhDLGlCQVdDO1FBVkEsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBRSxNQUFNO1lBQ2xDLEtBQUksQ0FBQyxNQUFNO2lCQUNULElBQUksQ0FBQywyQkFBMkIsRUFBRSxJQUFJLENBQUM7aUJBQ3ZDLElBQUksQ0FBQyxVQUFDLEdBQUc7Z0JBQ1QsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVCLENBQUMsQ0FBQztpQkFDRCxLQUFLLENBQUMsVUFBQyxHQUFHO2dCQUNWLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLDBCQUFXLEdBQWxCO1FBQUEsaUJBV0M7UUFWQSxPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07WUFDbEMsS0FBSSxDQUFDLE1BQU07aUJBQ1QsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQztpQkFDOUIsSUFBSSxDQUFDLFVBQUMsR0FBRztnQkFDVCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQixDQUFDLENBQUM7aUJBQ0QsS0FBSyxDQUFDLFVBQUMsR0FBRztn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