UNPKG

verusd-web

Version:

A Verus Blockchain library that enables a bi-directional communication with the Verus and other Verus PBaas chains.

61 lines 4.44 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ZmqClient = void 0; const verus_zmq_client_1 = require("verus-zmq-client"); class ZmqClient { constructor(host, port, wsServer, eventHandler) { this.host = host; this.port = port; this.wsServer = wsServer; this.eventHandler = (eventHandler == null) ? this.getDefaultEventHandler() : eventHandler; } connect() { try { this.client = new verus_zmq_client_1.VerusZmqClient(new verus_zmq_client_1.VerusZmqOptions(new verus_zmq_client_1.VerusZmqConnection(this.host, this.port), [ verus_zmq_client_1.SubscriptionTopics.hashBlock, verus_zmq_client_1.SubscriptionTopics.hashTx, verus_zmq_client_1.SubscriptionTopics.rawBlock, verus_zmq_client_1.SubscriptionTopics.rawTx, ], this.eventHandler)); this.client .connect() .listen(); console.log("ZMQ Client connected to " + this.host + ':' + this.port); } catch (e) { throw new Error("An error occurred while initializing the ZMQ Client."); } } disconnect() { if (this.client != undefined) { this.client.disconnect(); } } getDefaultEventHandler() { const wss = this.wsServer; return { onHashBlockReceived: function (value) { return __awaiter(this, void 0, void 0, function* () { console.log("📢 onHashBlockReceived >>" + value); if (value != undefined) { wss.send(value); } return {}; }); } }; } } exports.ZmqClient = ZmqClient; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiWm1xQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9abXFDbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsdURBTzBCO0FBRzFCLE1BQWEsU0FBUztJQU9sQixZQUNJLElBQVksRUFDWixJQUFZLEVBQ1osUUFBa0IsRUFDbEIsWUFBd0M7UUFFeEMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsQ0FBQSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUM7WUFDL0IsWUFBWSxDQUFBO0lBQ3BCLENBQUM7SUFFRCxPQUFPO1FBQ0gsSUFBSSxDQUFDO1lBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGlDQUFjLENBQzVCLElBQUksa0NBQWUsQ0FDZixJQUFJLHFDQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUM1QztnQkFDSSxxQ0FBa0IsQ0FBQyxTQUFTO2dCQUM1QixxQ0FBa0IsQ0FBQyxNQUFNO2dCQUN6QixxQ0FBa0IsQ0FBQyxRQUFRO2dCQUMzQixxQ0FBa0IsQ0FBQyxLQUFLO2FBQzNCLEVBQ0QsSUFBSSxDQUFDLFlBQVksQ0FDcEIsQ0FDSixDQUFDO1lBRUYsSUFBSSxDQUFDLE1BQU87aUJBQ1AsT0FBTyxFQUFFO2lCQUNULE1BQU0sRUFBRSxDQUFDO1lBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUUsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDVCxNQUFNLElBQUksS0FBSyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7UUFDNUUsQ0FBQztJQUNMLENBQUM7SUFFRCxVQUFVO1FBQ04sSUFBRyxJQUFJLENBQUMsTUFBTSxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVPLHNCQUFzQjtRQUMxQixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzFCLE9BQU87WUFDSCxtQkFBbUIsRUFBRSxVQUFnQixLQUFnQjs7b0JBQ2pELE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCLEdBQUcsS0FBSyxDQUFDLENBQUM7b0JBQ2pELElBQUcsS0FBSyxJQUFJLFNBQVMsRUFBRSxDQUFDO3dCQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQUMsQ0FBQztvQkFDM0MsT0FBTyxFQUFFLENBQUM7Z0JBQ2QsQ0FBQzthQUFBO1NBQ0osQ0FBQztJQUNOLENBQUM7Q0FDSjtBQTNERCw4QkEyREMifQ==