From c09c9ab67c103d2e8875bb8bae1ab769912748f5 Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 29 Nov 2020 17:21:14 +0100 Subject: [PATCH] 3 days bench bonus, hopefully better bans, naxx items --- .gitignore | 1 + package-lock.json | 6 +- package.json | 2 +- src/backend/Admin/Admin.ts | 5 +- src/backend/Components/Raid/RaidManager.ts | 6 +- src/backend/Types/Items.ts | 110 +++++++++++- src/frontend/package-lock.json | 185 +++++++++++++++------ src/frontend/package.json | 2 +- 8 files changed, 260 insertions(+), 57 deletions(-) diff --git a/.gitignore b/.gitignore index f690bb9..ef3d8e6 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ log.txt !src/**/* +!test/**/* !migrations/**/* node_modules src/frontend/node_modules diff --git a/package-lock.json b/package-lock.json index faa86ba..f5d21bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4477,9 +4477,9 @@ } }, "rpclibrary": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/rpclibrary/-/rpclibrary-2.0.1.tgz", - "integrity": "sha512-phdU0TkrnNVXdFa5PKkbWvn+MxocowvqalEUG1jfpkc1CoQkJ9AXa4OXSEu5r2a2IFhVauYva/qXv1em5yrHSg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/rpclibrary/-/rpclibrary-2.3.1.tgz", + "integrity": "sha512-y6F6gYxm9joJcnyxNeEoUSAbYGsaogcEKb1bxVB97+HcT4J6q9yw2fGnWS1FeeAUbTLUwASdlqJvRLPLiMPlcQ==", "requires": { "@types/socket.io": "^2.1.8", "@types/socket.io-client": "^1.4.33", diff --git a/package.json b/package.json index efb53b2..75d2849 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "rate-limiter-flexible": "^2.1.10", "reflect-metadata": "^0.1.13", "rimraf": "^3.0.0", - "rpclibrary": "^2.0.1", + "rpclibrary": "^2.3.1", "simple-git": "^1.124.0", "spawn-sync": "^2.0.0", "sqlite3": "^4.2.0", diff --git a/src/backend/Admin/Admin.ts b/src/backend/Admin/Admin.ts index 0ec0676..1ffe99c 100644 --- a/src/backend/Admin/Admin.ts +++ b/src/backend/Admin/Admin.ts @@ -68,15 +68,16 @@ export class FrontworkAdmin } async start() { + const ONE_REQUEST = 15 let port: number = this.config.getConfig().httpPort const rateLimiter = new BurstyRateLimiter( new RateLimiterMemory({ - points: 2, + points: 2*ONE_REQUEST, duration: 1, }), new RateLimiterMemory({ keyPrefix: 'burst', - points: 60, + points: 5*ONE_REQUEST, duration: 60, }) ) diff --git a/src/backend/Components/Raid/RaidManager.ts b/src/backend/Components/Raid/RaidManager.ts index 44de05c..7fb6e01 100644 --- a/src/backend/Components/Raid/RaidManager.ts +++ b/src/backend/Components/Raid/RaidManager.ts @@ -13,6 +13,8 @@ import { ItemManager } from "../Item/ItemManager"; import { IPubSub } from "../PubSub/Interface"; import { getLogger } from "log4js"; + + @Injectable(IRaidManager) export class RaidManager implements FrontworkComponent, IRaidManager { @@ -189,8 +191,10 @@ export class RaidManager await this.userManager.incrementCurrency(usr, raid.tier, 1) } + const THREE_DAYS = 259200000; + await Promise.all([ - ...archived.participants.bench.map(giveCurrency), + ...archived.participants.bench.filter(signup => Number(signup.timestamp) < (Number(archived.start)-THREE_DAYS)).map(giveCurrency), ...Object.values(archived.participants).flat().map((b: Signup & Character & Spec) => giveCurrency(b)) ]) diff --git a/src/backend/Types/Items.ts b/src/backend/Types/Items.ts index 918109b..00876ff 100644 --- a/src/backend/Types/Items.ts +++ b/src/backend/Types/Items.ts @@ -423,6 +423,114 @@ export const ZGMounts = [ "Primal Hakkari Idol" ] +export const Naxx = [ + "Band of Unanswered Prayers", + "Wristguards of Vengeance", + "Gem of Nerubis", + "Touch of Frost", + "Cryptfiend Silk Cloak", + "Claymore of Unholy Might", + "Digested Hand of Power", + "Gluth's Missing Collar", + "Death's Bargain", + "Rime Covered Mantle", + "Polar Helmet", + "Glacial Headdress", + "Sadist's Collar", + "The Soul Harvester's Bindings", + "Boots of Displacement", + "Widow's Remorse", + "Malice Stone Pendant", + "The Widow's Embrace", + "Icebane Pauldrons", + "Polar Shoulder Pads", + "Midnight Haze", + "Icy Scale Spaulders", + "Toxin Injector", + "Glacial Mantle", + "The End of Dreams", + "Icebane Helmet", + "Legplates of Carnage", + "Icy Scale Coif", + "Necklace of Necropsy", + "Preceptor's Hat", + "Girdle of the Mentor", + "Wand of the Whispering Dead", + "Idol of Longevity", + "Veil of Eclipse", + "Signet of the Fallen Defender", + "Iblis, Blade of the Fallen Seraph", + "Doomfinger", "Nerubian Slavemaker", + "Soulseeker", + "Hammer of the Twisting Nether", + "The Hungering Cold", + "Stormrage's Talisman of Seething", + "Gressil, Dawn of Ruin", + "Kingsfall", + "Might of Menethil", + "Gem of Trapped Innocents", + "The Phylactery of Kel'Thuzad", + "Shield of Condemnation", + "Brimstone Staff", + "The Eye of Nerub", + "Band of Unnatural Forces", + "Loatheb's Reflection", + "Ring of Spiritual Fervor", + "Maexxna's Fang", + "Crystal Webbed Robe", + "Kiss of the Spider", + "Wraith Blade", + "Pendant of Forgotten Names", + "Cloak of the Scourge", + "Hatchet of Sundered Bone", + "Band of the Inevitable", + "Noth's Frigid Heart", + "Totem of Flowing Water", + "Libram of Light", + "Hailstone Band", + "The Plague Bearer", + "Cloak of Suturing", + "Severance", + "Band of Reanimation", + "Wand of Fates", + "The Face of Death", + "Claw of the Frost Wyrm", + "Fortitude of the Scourge", + "Eye of the Dead", + "Sapphiron's Right Eye", + "The Restrained Essence of Sapphiron", + "Shroud of Dominion", + "Slayer's Crest", + "Resilience of the Scourge", + "Cloak of the Necropolis", + "Sapphiron's Left Eye", + "Power of the Scourge", + "Might of the Scourge", + "Spire of Twilight", + "Eye of Diminution", + "Leggings of Polarity", + "Plated Abomination Ribcage", + "The Castigator", + "Leggings of Apocalypse", + "Maul of the Redeemed Crusader", + "Seal of the Damned", + "Soulstring", + "Warmth of Forgiveness", + "Corrupted Ashbringer", + "Pauldrons of Elemental Fury", + "Girdle of Elemental Fury", + "Leggings of Elemental Fury", + "Belt of the Grand Crusader", + "Spaulders of the Grand Crusader", + "Ring of the Eternal Flame", + "Stygian Buckler", + "Misplaced Servo Arm", + "Leggings of the Grand Crusader", + "Harbinger of Doom", + "Necro-Knight's Garb", + "Ghoul Skin Tunic" +] + export type AllItems = { [tier in Tiers]: string[] } @@ -433,5 +541,5 @@ export const allItems: AllItems = { ZG: ZGMounts, AQ20: [], AQ40: AQ40, - Naxx: [] + Naxx: Naxx } \ No newline at end of file diff --git a/src/frontend/package-lock.json b/src/frontend/package-lock.json index 99e8309..5da28da 100644 --- a/src/frontend/package-lock.json +++ b/src/frontend/package-lock.json @@ -2730,18 +2730,18 @@ "dev": true }, "@types/socket.io": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/@types/socket.io/-/socket.io-2.1.10.tgz", - "integrity": "sha512-1fQMaDU/x2LPljEI/QI5IKl8sBYHM/zv32YYKvNrVEor7/1+MLqMqmWt8Bb8Vpf+PlIPBiTTC0BnrRx7ju3xOw==", + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/@types/socket.io/-/socket.io-2.1.11.tgz", + "integrity": "sha512-bVprmqPhJMLb9ZCm8g0Xy8kwBFRbnanOWSxzWkDkkIwxTvud5tKMfAJymXX6LQbizUKCS1yima7JM4BeLqjNqA==", "requires": { "@types/engine.io": "*", "@types/node": "*" } }, "@types/socket.io-client": { - "version": "1.4.33", - "resolved": "https://registry.npmjs.org/@types/socket.io-client/-/socket.io-client-1.4.33.tgz", - "integrity": "sha512-m4LnxkljsI9fMsjwpW5QhRpMixo2BeeLpFmg0AE+sS4H1pzAd/cs/ftTiL60FLZgfFa8PFRPx5KsHu8O0bADKQ==" + "version": "1.4.34", + "resolved": "https://registry.npmjs.org/@types/socket.io-client/-/socket.io-client-1.4.34.tgz", + "integrity": "sha512-Lzia5OTQFJZJ5R4HsEEldywiiqT9+W2rDbyHJiiTGqOcju89sCsQ8aUXDljY6Ls33wKZZGC0bfMhr/VpOyjtXg==" }, "@types/source-list-map": { "version": "0.1.2", @@ -3766,7 +3766,8 @@ "base64-arraybuffer": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", + "dev": true }, "base64-js": { "version": "1.3.1", @@ -15789,9 +15790,9 @@ "integrity": "sha512-ZYzRkETgBrdEGzL5JSKimvjI2CX7ioyZCkX2BpcfyjqI+079W0wHAyj5W4rIZMcDSOHgLZtgz1IdDi/vU77KEQ==" }, "rpclibrary": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/rpclibrary/-/rpclibrary-2.0.1.tgz", - "integrity": "sha512-phdU0TkrnNVXdFa5PKkbWvn+MxocowvqalEUG1jfpkc1CoQkJ9AXa4OXSEu5r2a2IFhVauYva/qXv1em5yrHSg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/rpclibrary/-/rpclibrary-2.3.1.tgz", + "integrity": "sha512-y6F6gYxm9joJcnyxNeEoUSAbYGsaogcEKb1bxVB97+HcT4J6q9yw2fGnWS1FeeAUbTLUwASdlqJvRLPLiMPlcQ==", "requires": { "@types/socket.io": "^2.1.8", "@types/socket.io-client": "^1.4.33", @@ -15806,6 +15807,11 @@ "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" }, + "base64-arraybuffer": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", + "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=" + }, "base64id": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", @@ -15840,18 +15846,18 @@ } }, "engine.io-client": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.3.tgz", - "integrity": "sha512-0NGY+9hioejTEJCaSJZfWZLk4FPI9dN+1H1C4+wj2iuFba47UgZbJzfWs4aNFajnX/qAaYKbe2lLTfEEWzCmcw==", + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.4.tgz", + "integrity": "sha512-iU4CRr38Fecj8HoZEnFtm2EiKGbYZcPn3cHxqNGl/tmdWRf60KhK+9vE0JeSjgnlS/0oynEfLgKbT9ALpim0sQ==", "requires": { "component-emitter": "~1.3.0", "component-inherit": "0.0.3", - "debug": "~4.1.0", + "debug": "~3.1.0", "engine.io-parser": "~2.2.0", "has-cors": "1.1.0", "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", + "parseqs": "0.0.6", + "parseuri": "0.0.6", "ws": "~6.1.0", "xmlhttprequest-ssl": "~1.5.4", "yeast": "0.1.2" @@ -15862,6 +15868,24 @@ "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "parseqs": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", + "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==" + }, + "parseuri": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", + "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==" + }, "ws": { "version": "6.1.4", "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", @@ -15873,13 +15897,13 @@ } }, "engine.io-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz", - "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz", + "integrity": "sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==", "requires": { "after": "0.8.2", "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.5", + "base64-arraybuffer": "0.1.4", "blob": "0.0.5", "has-binary2": "~1.0.2" } @@ -15905,6 +15929,61 @@ "socket.io-adapter": "~1.1.0", "socket.io-client": "2.3.0", "socket.io-parser": "~3.4.0" + }, + "dependencies": { + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" + }, + "socket.io-client": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", + "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "engine.io-client": "~3.4.0", + "has-binary2": "~1.0.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.3.0", + "to-array": "0.1.4" + }, + "dependencies": { + "socket.io-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.1.tgz", + "integrity": "sha512-1QLvVAe8dTz+mKmZ07Swxt+LAo4Y1ff50rlyoEx00TQmDFVQYPfcqGvIDJLGaBdhdNCecXtyKpD+EgKGcmmbuQ==", + "requires": { + "component-emitter": "~1.3.0", + "debug": "~3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + } + } + } } }, "socket.io-adapter": { @@ -15913,44 +15992,54 @@ "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==" }, "socket.io-client": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", - "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.1.tgz", + "integrity": "sha512-YXmXn3pA8abPOY//JtYxou95Ihvzmg8U6kQyolArkIyLd0pgVhrfor/iMsox8cn07WCOOvvuJ6XKegzIucPutQ==", "requires": { "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~4.1.0", + "component-emitter": "~1.3.0", + "debug": "~3.1.0", "engine.io-client": "~3.4.0", "has-binary2": "~1.0.2", - "has-cors": "1.1.0", "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", + "parseqs": "0.0.6", + "parseuri": "0.0.6", "socket.io-parser": "~3.3.0", "to-array": "0.1.4" }, "dependencies": { - "socket.io-parser": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", - "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "requires": { - "component-emitter": "1.2.1", + "ms": "2.0.0" + } + }, + "parseqs": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", + "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==" + }, + "parseuri": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", + "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==" + }, + "socket.io-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.1.tgz", + "integrity": "sha512-1QLvVAe8dTz+mKmZ07Swxt+LAo4Y1ff50rlyoEx00TQmDFVQYPfcqGvIDJLGaBdhdNCecXtyKpD+EgKGcmmbuQ==", + "requires": { + "component-emitter": "~1.3.0", "debug": "~3.1.0", "isarray": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - } } } } @@ -15966,9 +16055,9 @@ } }, "ws": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz", - "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==" + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.0.tgz", + "integrity": "sha512-kyFwXuV/5ymf+IXhS6f0+eAFvydbaBW3zjpT6hUdAh/hbVjTIB5EHBGi0bPoCLSK2wcuz3BrEkB9LrYv1Nm4NQ==" }, "xmlhttprequest-ssl": { "version": "1.5.5", diff --git a/src/frontend/package.json b/src/frontend/package.json index 9a07985..852c6e5 100644 --- a/src/frontend/package.json +++ b/src/frontend/package.json @@ -79,7 +79,7 @@ "normalize.css": "6.0.0", "pace-js": "1.0.2", "roboto-fontface": "0.8.0", - "rpclibrary": "^2.0.1", + "rpclibrary": "^2.3.1", "rxjs": "6.5.2", "rxjs-compat": "6.3.0", "socicon": "3.0.5",