verusd-web
Version:
A Verus Blockchain library that enables a bi-directional communication with the Verus and other Verus PBaas chains.
56 lines • 5.71 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.VerusdWeb = void 0;
const HttpServer_1 = require("./HttpServer");
const ZmqClient_1 = require("./ZmqClient");
const WsServer_1 = require("./WsServer");
const ZmqEventsHandlerProvider_1 = require("./ZmqEventsHandlerProvider");
const RpcService_1 = require("./RpcService");
const RpcServiceConfig_1 = require("./RpcServiceConfig");
class VerusdWeb {
get zmq() { return this.zmqEventsProvider; }
constructor(config) {
var _a, _b, _c;
this.clientHooks = [];
this.customApiRoutes = [];
this.daemonConfig = config.daemonConfig;
this.localServerConfig = config.localServerConfig;
this.wsServer = new WsServer_1.WsServer();
this.zmqEventsProvider = new ZmqEventsHandlerProvider_1.ZmqEventsHandlerProvider(this.wsServer);
const zmqEventsHandler = this.zmqEventsProvider.eventsHandler;
this.zmqClient = new ZmqClient_1.ZmqClient(this.daemonConfig.zmq.host, this.daemonConfig.zmq.port, this.wsServer, zmqEventsHandler);
this.customApiRoutes = (config.localServerConfig.customApiRoutes !== undefined) ? config.localServerConfig.customApiRoutes : [];
this.clientHooks = (((_a = config.localServerConfig.ws) === null || _a === void 0 ? void 0 : _a.clientHooks) !== undefined) ? config.localServerConfig.ws.clientHooks : [];
this.httpServer = new HttpServer_1.HttpServer({
port: this.localServerConfig.port,
wsServer: this.wsServer,
clientHooks: this.clientHooks,
customApiRoutes: this.customApiRoutes,
apiToken: (_b = config.localServerConfig.apiToken) !== null && _b !== void 0 ? _b : ''
});
this.initDaemonRpcConnection((_c = config === null || config === void 0 ? void 0 : config.localServerConfig.excludedMethods) !== null && _c !== void 0 ? _c : []);
}
open() {
this.httpServer.open();
this.zmqClient.connect();
return this;
}
close() {
if (this.zmqClient != undefined) {
this.zmqClient.disconnect();
}
if (this.httpServer != undefined) {
this.httpServer.close();
}
return true;
}
initDaemonRpcConnection(excludedMethods) {
const host = (this.daemonConfig.port === undefined) ?
this.daemonConfig.host :
`${this.daemonConfig.host}:${this.daemonConfig.port}`;
RpcServiceConfig_1.RpcServiceConfig.set(excludedMethods);
RpcService_1.RpcService.init(host, 'Basic ' + btoa(`${this.daemonConfig.user}:${this.daemonConfig.password}`));
}
}
exports.VerusdWeb = VerusdWeb;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVydXNkV2ViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9WZXJ1c2RXZWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsNkNBQTJFO0FBQzNFLDJDQUF3QztBQUN4Qyx5Q0FBc0M7QUFDdEMseUVBQXNFO0FBQ3RFLDZDQUEwQztBQUMxQyx5REFBc0Q7QUE2QnRELE1BQWEsU0FBUztJQVVsQixJQUFJLEdBQUcsS0FBK0IsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBRXRFLFlBQVksTUFBdUI7O1FBTjNCLGdCQUFXLEdBQWlDLEVBQUUsQ0FBQztRQUMvQyxvQkFBZSxHQUFrQixFQUFFLENBQUM7UUFNeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1FBQ3hDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUM7UUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLG1CQUFRLEVBQUUsQ0FBQztRQUMvQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxtREFBd0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFckUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDO1FBRTlELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxxQkFBUyxDQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksRUFDMUIsSUFBSSxDQUFDLFFBQVEsRUFDYixnQkFBZ0IsQ0FDbkIsQ0FBQztRQUVGLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsZUFBZSxLQUFLLFNBQVMsQ0FBQyxDQUFBLENBQUMsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDL0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUEsTUFBQSxNQUFNLENBQUMsaUJBQWlCLENBQUMsRUFBRSwwQ0FBRSxXQUFXLE1BQUssU0FBUyxDQUFDLENBQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7UUFFekgsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLHVCQUFVLENBQUM7WUFDN0IsSUFBSSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJO1lBQ2pDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsZUFBZSxFQUFFLElBQUksQ0FBQyxlQUFlO1lBQ3JDLFFBQVEsRUFBRSxNQUFBLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLG1DQUFJLEVBQUU7U0FDcEQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQUEsTUFBTSxhQUFOLE1BQU0sdUJBQU4sTUFBTSxDQUFFLGlCQUFpQixDQUFDLGVBQWUsbUNBQUksRUFBRSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFHLElBQUksQ0FBQyxTQUFTLElBQUksU0FBUyxFQUFFLENBQUM7WUFBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQUMsQ0FBQztRQUNoRSxJQUFHLElBQUksQ0FBQyxVQUFVLElBQUksU0FBUyxFQUFFLENBQUM7WUFBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQUMsQ0FBQztRQUM3RCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU8sdUJBQXVCLENBQUMsZUFBeUI7UUFDckQsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRTFELG1DQUFnQixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN0Qyx1QkFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7Q0FDSjtBQTdERCw4QkE2REMifQ==