@ellcrys/spell
Version:
The official JavaScript library for Ellcrys
210 lines • 10.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"));
/**
* Manage and access the nodes network related
* activities and resources.
*
* @export
* @class Net
* @extends {Namespace}
*/
var Net = /** @class */ (function (_super) {
__extends(Net, _super);
/**
* Creates an instance of Net.
*
* @param {RPCClient} client
* @memberof Net
*/
function Net(client) {
var _this = _super.call(this) || this;
_this.client = client;
return _this;
}
/**
* getActivePeers returns the peers
* that are connected to the node.
*
* @returns {Promise<ActivePeer[]>}
* @memberof Net
*/
Net.prototype.getActivePeers = function () {
var _this = this;
return new Promise(function (resolve, reject) {
_this.client
.call("net_getActivePeers", null)
.then(function (res) {
return resolve(res);
})
.catch(function (err) {
return reject(err);
});
});
};
/**
* Get all peers known to the
* client.
*
* @returns {Promise<Peer[]>}
* @memberof Net
*/
Net.prototype.getPeers = function () {
var _this = this;
return new Promise(function (resolve, reject) {
_this.client
.call("net_getPeers", null)
.then(function (res) {
return resolve(res);
})
.catch(function (err) {
return reject(err);
});
});
};
/**
* Get the peers that the node will
* regularly broadcast messages to.
*
* @returns {Promise<any>}
* @memberof Net
*/
Net.prototype.getBroadcasters = function () {
var _this = this;
return new Promise(function (resolve, reject) {
_this.client
.call("net_broadcasters", null)
.then(function (res) {
return resolve(res);
})
.catch(function (err) {
return reject(err);
});
});
};
/**
* Get the node's connection statistics
*
* @returns {Promise<NetStat>}
* @memberof Net
*/
Net.prototype.getStats = function () {
var _this = this;
return new Promise(function (resolve, reject) {
_this.client
.call("net_stats", null)
.then(function (res) {
return resolve(res);
})
.catch(function (err) {
return reject(err);
});
});
};
/**
* Add an address to the node.
* The node will attempt to connect
* to this address when it needs more
* connections.
*
* @param {string} peerAddress
* @returns {Promise<boolean>}
* @memberof Net
*/
Net.prototype.addPeer = function (peerAddress) {
var _this = this;
return new Promise(function (resolve, reject) {
_this.client
.call("net_addPeer", peerAddress)
.then(function (res) {
return resolve(res);
})
.catch(function (err) {
return reject(err);
});
});
};
/**
* Delete all known peer addresses
* in memory and on disk.
*
* @param {string} peerAddress
* @returns {Promise<boolean>}
* @memberof Net
*/
Net.prototype.dumpPeers = function () {
var _this = this;
return new Promise(function (resolve, reject) {
_this.client
.call("net_dumpPeers", null)
.then(function (res) {
return resolve(res);
})
.catch(function (err) {
return reject(err);
});
});
};
/**
* Connect to one or more addresses
* immediately.
*
* @param {Array<string>} peerAddress array of addresses to be connected to
* @returns {Promise<boolean>}
* @memberof Net
*/
Net.prototype.join = function (peerAddress) {
var _this = this;
return new Promise(function (resolve, reject) {
_this.client
.call("net_join", peerAddress)
.then(function (res) {
return resolve(res);
})
.catch(function (err) {
return reject(err);
});
});
};
/**
* Prevents inbound or outbound connections by
* shutting down the client's network function.
* Note that this does not affect RPC service
* and connections.
*
* @returns {Promise<boolean>}
* @memberof Net
*/
Net.prototype.noNet = function () {
var _this = this;
return new Promise(function (resolve, reject) {
_this.client
.call("net_noNet", null)
.then(function (res) {
return resolve(res);
})
.catch(function (err) {
return reject(err);
});
});
};
return Net;
}(namespace_1.default));
exports.default = Net;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9uYW1lc3BhY2VzL25ldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFLQSwwREFBb0M7QUFFcEM7Ozs7Ozs7R0FPRztBQUNIO0lBQWlDLHVCQUFTO0lBQ3pDOzs7OztPQUtHO0lBQ0gsYUFBWSxNQUFpQjtRQUE3QixZQUNDLGlCQUFPLFNBRVA7UUFEQSxLQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQzs7SUFDdEIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLDRCQUFjLEdBQXJCO1FBQUEsaUJBV0M7UUFWQSxPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07WUFDbEMsS0FBSSxDQUFDLE1BQU07aUJBQ1QsSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQztpQkFDaEMsSUFBSSxDQUFDLFVBQUMsR0FBRztnQkFDVCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQixDQUFDLENBQUM7aUJBQ0QsS0FBSyxDQUFDLFVBQUMsR0FBRztnQkFDVixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNwQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNJLHNCQUFRLEdBQWY7UUFBQSxpQkFXQztRQVZBLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtZQUNsQyxLQUFJLENBQUMsTUFBTTtpQkFDVCxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQztpQkFDMUIsSUFBSSxDQUFDLFVBQUMsR0FBRztnQkFDVCxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQixDQUFDLENBQUM7aUJBQ0QsS0FBSyxDQUFDLFVBQUMsR0FBRztnQkFDVixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FB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