UNPKG

swtc-lib

Version:

websocket access for jingtum blockchain

43 lines 1.55 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Account = void 0; const events_1 = require("events"); const utils_1 = require("@swtc/utils"); class Account extends events_1.EventEmitter { constructor(remote) { super(); this.setMaxListeners(0); this._remote = remote; this._accounts = {}; this._token = remote._token || "swt"; this.on("newListener", function (account, listener) { if (account === "removeListener") return; if (!utils_1.utils.isValidAddress(account)) { this.account = new Error("invalid account"); return this; } this._accounts[account] = listener; }); this.on("removeListener", function (account) { if (!utils_1.utils.isValidAddress(account)) { this.account = new Error("invalid account"); return this; } delete this._accounts[account]; }); this._remote.on("transactions", this.__infoAffectedAccounts.bind(this)); } __infoAffectedAccounts(data) { const accounts = utils_1.utils.affectedAccounts(data); for (const account of accounts) { const callback = this._accounts[accounts[account]]; const _tx = utils_1.utils.processTx(data, accounts[account]); if (callback) { callback(_tx); } } } } exports.Account = Account; //# sourceMappingURL=account.js.map