diff --git a/packages/server/package.json b/packages/server/package.json index 4c58cc3fa..ae599b772 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -26,8 +26,7 @@ "markdown-it": "^12.3.2", "mongodb": "6.1.0", "node-fetch": "^3.3.0", - "pluralize": "^8.0.0", - "socket.io": "^4.8.3" + "pluralize": "^8.0.0" }, "devDependencies": { "@types/koa-router": "^7.4.1" diff --git a/packages/server/src/websocket/overview/v2.js b/packages/server/src/features/overview/calcOverview.js similarity index 83% rename from packages/server/src/websocket/overview/v2.js rename to packages/server/src/features/overview/calcOverview.js index 4287be6be..55b6771fa 100644 --- a/packages/server/src/websocket/overview/v2.js +++ b/packages/server/src/features/overview/calcOverview.js @@ -8,10 +8,8 @@ const { getOutputTransferCollection, getReferendaReferendumCollection, getChildBountyCollection, + getSubsquareTreasurySpendCollection, } = require("../../mongo"); -const { setOverviewV2, getOverviewV2 } = require("./../store"); -const { overviewRoomV2, OVERVIEW_FEED_INTERVAL } = require("../constants"); -const util = require("util"); const { calcBestTipProposers } = require("./common/calcBestTipProposers"); const { calcBestProposalBeneficiary, @@ -20,26 +18,6 @@ const { getLatestSymbolPrice } = require("./common/getLatestSymbolPrice"); const { calcToBeAwarded } = require("./common/calcToBeAwarded"); const { calcOutput } = require("./common/calcOutput"); const { calcCount } = require("./common/calcCount"); -const { getSubsquareTreasurySpendCollection } = require("../../mongo"); - -async function feedOverviewV2(io) { - try { - const oldStoreOverview = getOverviewV2(); - const overview = await calcOverview(); - - if (util.isDeepStrictEqual(overview, oldStoreOverview)) { - return; - } - - setOverviewV2(overview); - - io.to(overviewRoomV2).emit("overview", overview); - } catch (e) { - console.error("feed overview error:", e); - } finally { - setTimeout(feedOverviewV2.bind(null, io), OVERVIEW_FEED_INTERVAL); - } -} async function calcOverview() { const proposalCol = await getProposalCollection(); @@ -161,6 +139,17 @@ async function calcOverview() { }; } -module.exports = { - feedOverviewV2, -}; +const CACHE_TTL_MS = 30 * 1000; +let cachedOverview = null; +let cacheTimestamp = 0; + +async function getCachedOverview() { + const now = Date.now(); + if (!cachedOverview || now - cacheTimestamp > CACHE_TTL_MS) { + cachedOverview = await calcOverview(); + cacheTimestamp = now; + } + return cachedOverview; +} + +module.exports = { calcOverview, getCachedOverview }; diff --git a/packages/server/src/websocket/overview/common/calcBestProposalBeneficiary.js b/packages/server/src/features/overview/common/calcBestProposalBeneficiary.js similarity index 100% rename from packages/server/src/websocket/overview/common/calcBestProposalBeneficiary.js rename to packages/server/src/features/overview/common/calcBestProposalBeneficiary.js diff --git a/packages/server/src/websocket/overview/common/calcBestTipProposers.js b/packages/server/src/features/overview/common/calcBestTipProposers.js similarity index 100% rename from packages/server/src/websocket/overview/common/calcBestTipProposers.js rename to packages/server/src/features/overview/common/calcBestTipProposers.js diff --git a/packages/server/src/websocket/overview/common/calcCount.js b/packages/server/src/features/overview/common/calcCount.js similarity index 100% rename from packages/server/src/websocket/overview/common/calcCount.js rename to packages/server/src/features/overview/common/calcCount.js diff --git a/packages/server/src/websocket/overview/common/calcOutput.js b/packages/server/src/features/overview/common/calcOutput.js similarity index 100% rename from packages/server/src/websocket/overview/common/calcOutput.js rename to packages/server/src/features/overview/common/calcOutput.js diff --git a/packages/server/src/websocket/overview/common/calcToBeAwarded.js b/packages/server/src/features/overview/common/calcToBeAwarded.js similarity index 100% rename from packages/server/src/websocket/overview/common/calcToBeAwarded.js rename to packages/server/src/features/overview/common/calcToBeAwarded.js diff --git a/packages/server/src/websocket/overview/common/constants.js b/packages/server/src/features/overview/common/constants.js similarity index 100% rename from packages/server/src/websocket/overview/common/constants.js rename to packages/server/src/features/overview/common/constants.js diff --git a/packages/server/src/websocket/overview/common/getLatestSymbolPrice.js b/packages/server/src/features/overview/common/getLatestSymbolPrice.js similarity index 100% rename from packages/server/src/websocket/overview/common/getLatestSymbolPrice.js rename to packages/server/src/features/overview/common/getLatestSymbolPrice.js diff --git a/packages/server/src/websocket/overview/common/utils.js b/packages/server/src/features/overview/common/utils.js similarity index 100% rename from packages/server/src/websocket/overview/common/utils.js rename to packages/server/src/features/overview/common/utils.js diff --git a/packages/server/src/features/overview/overview.controller.js b/packages/server/src/features/overview/overview.controller.js index 54b630a09..a6e1b5a32 100644 --- a/packages/server/src/features/overview/overview.controller.js +++ b/packages/server/src/features/overview/overview.controller.js @@ -1,9 +1,8 @@ -const { getOverviewV2 } = require("../../websocket/store"); +const { getCachedOverview } = require("./calcOverview"); async function getOverview(ctx) { - ctx.body = { - ...getOverviewV2(), - }; + const overview = await getCachedOverview(); + ctx.body = { ...overview }; } module.exports = { diff --git a/packages/server/src/features/stats/stats.controller.js b/packages/server/src/features/stats/stats.controller.js index ab243f866..f1fc4d550 100644 --- a/packages/server/src/features/stats/stats.controller.js +++ b/packages/server/src/features/stats/stats.controller.js @@ -3,7 +3,7 @@ const { getInputWeeklyStatsCollection, getOutputWeeklyStatsCollection, } = require("../../mongo"); -const { getOverview } = require("../../websocket/store"); +const { getCachedOverview } = require("../overview/calcOverview"); class StatsController { async getWeeklyStatsHistory(ctx) { @@ -43,7 +43,7 @@ class StatsController { } async getTreasuryInOut(ctx) { - const overview = getOverview(); + const overview = await getCachedOverview(); if (!overview) { ctx.body = {}; return; diff --git a/packages/server/src/index.js b/packages/server/src/index.js index 360817bff..5191d2cc5 100644 --- a/packages/server/src/index.js +++ b/packages/server/src/index.js @@ -4,11 +4,9 @@ const Koa = require("koa"); const bodyParser = require("koa-bodyparser"); const logger = require("koa-logger"); const helmet = require("koa-helmet"); -const http = require("http"); const cors = require("@koa/cors"); const { initDb } = require("./mongo"); const { initDb: initAdminDb } = require("./mongo-admin"); -const { listenAndEmitInfo } = require("./websocket"); const app = new Koa(); @@ -30,22 +28,13 @@ app.use(async (ctx, next) => { }); require("./routes")(app); -const server = http.createServer(app.callback()); -const io = require("socket.io")(server, { - cors: { - origin: "*", - methods: ["GET", "POST"], - }, -}); Promise.all([initDb(), initAdminDb()]) .then(async (db) => { - await listenAndEmitInfo(io); - app.context.db = db; const port = process.env.PORT || 3213; - server.listen(port, () => + app.listen(port, () => console.log(`✅ The server is running at http://127.0.0.1:${port}/`), ); }) diff --git a/packages/server/src/websocket/constants.js b/packages/server/src/websocket/constants.js deleted file mode 100644 index 8cecf8fbb..000000000 --- a/packages/server/src/websocket/constants.js +++ /dev/null @@ -1,11 +0,0 @@ -const chainStatusRoom = "CHAIN_STATUS_ROOM"; -const overviewRoom = "OVERVIEW_ROOM"; -const overviewV2Room = "OVERVIEW_V2_ROOM"; - -module.exports = { - chainStatusRoom, - FEED_INTERVAL: 6000, - overviewRoom, - overviewV2Room, - OVERVIEW_FEED_INTERVAL: 30 * 1000, // 30 seconds -}; diff --git a/packages/server/src/websocket/index.js b/packages/server/src/websocket/index.js deleted file mode 100644 index cfbbfd166..000000000 --- a/packages/server/src/websocket/index.js +++ /dev/null @@ -1,39 +0,0 @@ -const { - chainStatusRoom, - overviewRoom, - overviewV2Room, -} = require("./constants"); -const { getScanHeight, getOverview, getOverviewV2 } = require("./store"); -const { feedScanStatus } = require("./status"); -const { feedOverview, feedOverviewV2 } = require("./overview"); - -async function listenAndEmitInfo(io) { - io.on("connection", (socket) => { - socket.on("subscribe", (roomId) => { - socket.join(roomId); - - if (roomId === chainStatusRoom) { - const scanHeight = getScanHeight(); - socket.emit("scanStatus", { height: scanHeight }); - } else if (roomId === overviewRoom) { - const overview = getOverview(); - socket.emit("overview", overview); - } else if (roomId === overviewV2Room) { - const overview = getOverviewV2(); - socket.emit("overview_v2", overview); - } - }); - - socket.on("unsubscribe", (roomId) => { - socket.leave(roomId); - }); - }); - - await feedScanStatus(io); - await feedOverview(io); - await feedOverviewV2(io); -} - -module.exports = { - listenAndEmitInfo, -}; diff --git a/packages/server/src/websocket/overview/index.js b/packages/server/src/websocket/overview/index.js deleted file mode 100644 index f3fe73e4d..000000000 --- a/packages/server/src/websocket/overview/index.js +++ /dev/null @@ -1,4 +0,0 @@ -module.exports = { - ...require("./v1"), - ...require("./v2"), -}; diff --git a/packages/server/src/websocket/overview/v1.js b/packages/server/src/websocket/overview/v1.js deleted file mode 100644 index 653c2a035..000000000 --- a/packages/server/src/websocket/overview/v1.js +++ /dev/null @@ -1,173 +0,0 @@ -const { - getProposalCollection, - getFailedProposalCollection, - getBountyCollection, - getTipCollection, - getBurntCollection, - getStatusCollection, - getOutputTransferCollection, - getReferendaReferendumCollection, - getChildBountyCollection, -} = require("../../mongo"); -const { bigAdd } = require("../../utils"); -const { setOverview, getOverview } = require("../store"); -const { overviewRoom, OVERVIEW_FEED_INTERVAL } = require("../constants"); -const util = require("util"); -const { stringUpperFirst } = require("@polkadot/util"); -const { calcBestTipProposers } = require("./common/calcBestTipProposers"); -const { - calcBestProposalBeneficiary, -} = require("./common/calcBestProposalBeneficiary"); -const { calcCount } = require("./common/calcCount"); -const { bountyStatuses } = require("./common/constants"); - -async function feedOverview(io) { - try { - const oldStoreOverview = getOverview(); - const overview = await calcOverview(); - - if (util.isDeepStrictEqual(overview, oldStoreOverview)) { - return; - } - - setOverview(overview); - io.to(overviewRoom).emit("overview", overview); - } catch (e) { - console.error("feed overview error:", e); - } finally { - setTimeout(feedOverview.bind(null, io), OVERVIEW_FEED_INTERVAL); - } -} - -async function calcOverview() { - const proposalCol = await getProposalCollection(); - const proposals = await proposalCol - .find({}, { value: 1, beneficiary: 1, meta: 1, state: 1 }) - .toArray(); - - const tipCol = await getTipCollection(); - const tips = await tipCol - .find({}, { finder: 1, medianValue: 1, state: 1 }) - .toArray(); - - const bountyCol = await getBountyCollection(); - const bounties = await bountyCol.find({}, { meta: 1, state: 1 }).toArray(); - - const childBountyCol = await getChildBountyCollection(); - const childBounties = await childBountyCol - .find({}, { meta: 1, state: 1 }) - .toArray(); - - const burntCol = await getBurntCollection(); - const burntList = await burntCol.find({}, { balance: 1 }).toArray(); - - const outputTransferCol = await getOutputTransferCollection(); - const outputTransferList = await outputTransferCol - .find({}, { balance: 1 }) - .toArray(); - - const referendaCol = await getReferendaReferendumCollection(); - const referendaList = await referendaCol.find({}).toArray(); - - const failedProposalCol = await getFailedProposalCollection(); - const failedProposals = await failedProposalCol.find({}).toArray(); - - const count = await calcCount( - proposals, - failedProposals, - tips, - bounties, - childBounties, - burntList, - outputTransferList, - referendaList, - ); - const output = await calcOutput( - proposals, - tips, - bounties, - burntList, - outputTransferList, - ); - const bestProposalBeneficiaries = calcBestProposalBeneficiary(proposals); - const bestTipFinders = calcBestTipProposers(tips); - - const statusCol = await getStatusCollection(); - const incomeScan = await statusCol.findOne({ name: "income-scan" }); - - return { - count, - spent: output, - output, - bestProposalBeneficiaries, - bestTipFinders, - income: incomeScan?.seats || { - inflation: 0, - slash: 0, - transfer: 0, - others: 0, - slashSeats: { - treasury: 0, - staking: 0, - democracy: 0, - electionsPhragmen: 0, - identity: 0, - referenda: 0, - fellowshipReferenda: 0, - }, - }, - }; -} - -async function calcOutput( - proposals = [], - tips = [], - bounties = [], - burntList = [], - outputTransferList = [], -) { - const spentProposals = proposals.filter( - ({ state: { name, state } }) => (name || state) === "Awarded", - ); - const proposalSpent = spentProposals.reduce( - (result, { value }) => bigAdd(result, value), - 0, - ); - - const tipSpent = tips.reduce((result, { state, medianValue }) => { - if (state.state !== "TipClosed") { - return result; - } - - const eventValue = state.data[2]; - const value = eventValue || medianValue || 0; - return bigAdd(result, value); - }, 0); - - const bountySpent = bounties.reduce((result, { meta: { status, value } }) => { - const statusKey = stringUpperFirst(Object.keys(status)[0]); - - const index = bountyStatuses.findIndex((item) => item === statusKey); - return index >= 2 ? bigAdd(result, value) : result; - }, 0); - - const burntTotal = burntList.reduce((result, { balance }) => { - return bigAdd(result, balance); - }, 0); - - const transferTotal = outputTransferList.reduce((result, { balance }) => { - return bigAdd(result, balance); - }, 0); - - return { - proposal: proposalSpent, - tip: tipSpent, - bounty: bountySpent, - burnt: burntTotal, - transfer: transferTotal, - }; -} - -module.exports = { - feedOverview, -}; diff --git a/packages/server/src/websocket/status.js b/packages/server/src/websocket/status.js deleted file mode 100644 index 67ea455ec..000000000 --- a/packages/server/src/websocket/status.js +++ /dev/null @@ -1,26 +0,0 @@ -const { getStatusCollection } = require("../mongo"); -const { chainStatusRoom, FEED_INTERVAL } = require("./constants"); -const { setScanHeight } = require("./store"); - -async function feedScanStatus(io) { - try { - const col = await getStatusCollection(); - const arr = await col.find({}).toArray(); - const statusRow = arr.find((item) => item.name === "income-scan"); - - if (statusRow) { - io.to(chainStatusRoom).emit("scanStatus", { - height: statusRow.height, - }); - setScanHeight(statusRow.height); - } - } catch (e) { - console.error(e); - } finally { - setTimeout(feedScanStatus.bind(null, io), FEED_INTERVAL); - } -} - -module.exports = { - feedScanStatus, -}; diff --git a/packages/server/src/websocket/store.js b/packages/server/src/websocket/store.js deleted file mode 100644 index 02aa77b0f..000000000 --- a/packages/server/src/websocket/store.js +++ /dev/null @@ -1,38 +0,0 @@ -const data = { - scanHeight: 0, - overview: null, - overviewV2: null, -}; - -function setScanHeight(height) { - data.scanHeight = height; -} - -function getScanHeight() { - return data.scanHeight; -} - -function setOverview(arg) { - data.overview = arg; -} - -function getOverview() { - return data.overview; -} - -function setOverviewV2(arg) { - data.overviewV2 = arg; -} - -function getOverviewV2() { - return data.overviewV2; -} - -module.exports = { - setScanHeight, - getScanHeight, - setOverview, - getOverview, - setOverviewV2, - getOverviewV2, -}; diff --git a/site/package.json b/site/package.json index 2e80560d9..7e497200e 100644 --- a/site/package.json +++ b/site/package.json @@ -52,7 +52,6 @@ "rxjs": "^6.6.3", "semantic-ui-css": "^2.4.1", "semantic-ui-react": "v3.0.0-beta.2", - "socket.io-client": "^4.6.1", "styled-components": "^5.2.1", "use-deep-compare-effect": "^1.6.1", "usehooks-ts": "^2.9.1", diff --git a/site/src/pages/Header/SubHeader.jsx b/site/src/pages/Header/SubHeader.jsx index 952e83e17..a080a6321 100644 --- a/site/src/pages/Header/SubHeader.jsx +++ b/site/src/pages/Header/SubHeader.jsx @@ -23,6 +23,7 @@ import SlashMenu from "./SlashMenu"; import { currentChainSettings, isKusama, isPolkadot } from "../../utils/chains"; import BeneficiariesMenu from "./beneficiariesMenu"; import { fetchOverviewSummary } from "../../store/reducers/overviewSummarySlice"; +import { fetchOverview } from "../../store/reducers/overviewSlice"; const Wrapper = styled.div` position: relative; @@ -182,6 +183,7 @@ const TabExampleSecondaryPointing = () => { useEffect(() => { // dispatch(fetchIncomeCount()); + dispatch(fetchOverview()); if (isKusama || isPolkadot) { dispatch(fetchOverviewSummary()); } diff --git a/site/src/services/websocket.js b/site/src/services/websocket.js deleted file mode 100644 index 55564b775..000000000 --- a/site/src/services/websocket.js +++ /dev/null @@ -1,35 +0,0 @@ -import io from "socket.io-client"; -import store from "../store"; -import { setScanHeight } from "../store/reducers/chainSlice"; -import { setOverview } from "../store/reducers/overviewSlice"; -import { currentChainSettings } from "../utils/chains"; - -const chainStatusRoom = "CHAIN_STATUS_ROOM"; -const overviewRoom = "OVERVIEW_V2_ROOM"; - -let socket = null; - -export function connect() { - if (socket) { - socket.emit("unsubscribe", chainStatusRoom); - socket.emit("unsubscribe", overviewRoom); - socket.disconnect(); - } - - const { socketIOUrl } = currentChainSettings?.api || {}; - socket = io(socketIOUrl || "api.dotreasury.com"); - socket.connect(); - - socket.on("connect", () => { - socket.emit("subscribe", chainStatusRoom); - socket.emit("subscribe", overviewRoom); - - socket.on("scanStatus", ({ height }) => { - store.dispatch(setScanHeight(height)); - }); - - socket.on("overview_v2", (overview) => { - store.dispatch(setOverview(overview)); - }); - }); -} diff --git a/site/src/store/reducers/overviewSlice.js b/site/src/store/reducers/overviewSlice.js index f9dc3b95e..c864f2bd8 100644 --- a/site/src/store/reducers/overviewSlice.js +++ b/site/src/store/reducers/overviewSlice.js @@ -88,6 +88,13 @@ export const { setTopBeneficiaries, } = overviewSlice.actions; +export const fetchOverview = () => async (dispatch) => { + const { result } = await api.fetch("/overview"); + if (result) { + dispatch(setOverview(result)); + } +}; + export const fetchStatsHistory = () => async (dispatch) => { const { result } = await api.fetch("/stats/weekly"); dispatch(setStatsHistory(result || [])); diff --git a/site/src/utils/chains/kusama.js b/site/src/utils/chains/kusama.js index 25b641c2b..d4fcf8874 100644 --- a/site/src/utils/chains/kusama.js +++ b/site/src/utils/chains/kusama.js @@ -46,7 +46,6 @@ export const kusama = { api: { scanServer: "https://kusama-api.dotreasury.com", - socketIOUrl: "kusama-api.dotreasury.com", subsquareApi: "https://kusama-api.subsquare.io", }, assetHubEndpoints, diff --git a/site/src/utils/chains/polkadot.js b/site/src/utils/chains/polkadot.js index 3ac0490ca..b27870152 100644 --- a/site/src/utils/chains/polkadot.js +++ b/site/src/utils/chains/polkadot.js @@ -66,7 +66,6 @@ export const polkadot = { api: { scanServer: "https://polkadot-api.dotreasury.com", - socketIOUrl: "polkadot-api.dotreasury.com", subsquareApi: "https://polkadot-api.subsquare.io", }, assetHubEndpoints, diff --git a/site/yarn.lock b/site/yarn.lock index a60cda2bd..255ec19fa 100644 --- a/site/yarn.lock +++ b/site/yarn.lock @@ -1537,7 +1537,6 @@ __metadata: rxjs: ^6.6.3 semantic-ui-css: ^2.4.1 semantic-ui-react: v3.0.0-beta.2 - socket.io-client: ^4.6.1 styled-components: ^5.2.1 use-deep-compare-effect: ^1.6.1 usehooks-ts: ^2.9.1 @@ -2917,13 +2916,6 @@ __metadata: languageName: node linkType: hard -"@socket.io/component-emitter@npm:~3.1.0": - version: 3.1.2 - resolution: "@socket.io/component-emitter@npm:3.1.2" - checksum: 89888f00699eb34e3070624eb7b8161fa29f064aeb1389a48f02195d55dd7c52a504e52160016859f6d6dffddd54324623cdd47fd34b3d46f9ed96c18c456edc - languageName: node - linkType: hard - "@substrate/connect-extension-protocol@npm:^2.0.0": version: 2.2.2 resolution: "@substrate/connect-extension-protocol@npm:2.2.2" @@ -4323,30 +4315,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:~4.3.1, debug@npm:~4.3.2": - version: 4.3.7 - resolution: "debug@npm:4.3.7" - dependencies: - ms: ^2.1.3 - peerDependenciesMeta: - supports-color: - optional: true - checksum: 822d74e209cd910ef0802d261b150314bbcf36c582ccdbb3e70f0894823c17e49a50d3e66d96b633524263975ca16b6a833f3e3b7e030c157169a5fabac63160 - languageName: node - linkType: hard - -"debug@npm:~4.4.1": - version: 4.4.3 - resolution: "debug@npm:4.4.3" - dependencies: - ms: ^2.1.3 - peerDependenciesMeta: - supports-color: - optional: true - checksum: 4805abd570e601acdca85b6aa3757186084a45cff9b2fa6eee1f3b173caa776b45f478b2a71a572d616d2010cea9211d0ac4a02a610e4c18ac4324bde3760834 - languageName: node - linkType: hard - "decode-uri-component@npm:^0.2.0": version: 0.2.2 resolution: "decode-uri-component@npm:0.2.2" @@ -4520,26 +4488,6 @@ __metadata: languageName: node linkType: hard -"engine.io-client@npm:~6.6.1": - version: 6.6.3 - resolution: "engine.io-client@npm:6.6.3" - dependencies: - "@socket.io/component-emitter": ~3.1.0 - debug: ~4.3.1 - engine.io-parser: ~5.2.1 - ws: ~8.17.1 - xmlhttprequest-ssl: ~2.1.1 - checksum: 90aee334e8c699ab471d4eebc360afa0d59f763f47fee7ba6eaaf0610819ae46025a5f2205908ef031e82915a0590c481655cc84e429e43afaf8b12617c21221 - languageName: node - linkType: hard - -"engine.io-parser@npm:~5.2.1": - version: 5.2.3 - resolution: "engine.io-parser@npm:5.2.3" - checksum: a76d998b794ce8bbcade833064d949715781fdb9e9cf9b33ecf617d16355ddfd7772f12bb63aaec0f497d63266c6db441129c5aa24c60582270f810c696a6cf8 - languageName: node - linkType: hard - "entities@npm:^4.2.0, entities@npm:^4.4.0, entities@npm:^4.5.0": version: 4.5.0 resolution: "entities@npm:4.5.0" @@ -8452,28 +8400,6 @@ __metadata: languageName: node linkType: hard -"socket.io-client@npm:^4.6.1": - version: 4.8.1 - resolution: "socket.io-client@npm:4.8.1" - dependencies: - "@socket.io/component-emitter": ~3.1.0 - debug: ~4.3.2 - engine.io-client: ~6.6.1 - socket.io-parser: ~4.2.4 - checksum: 0ac31d224c7a8567d95bb0522214cc0d3dfa1fbf6de38e63d9aa8e806526e27381d06a527d39e02f173199c48ad112737107148d2e60e1c48a6a8e15391dce8d - languageName: node - linkType: hard - -"socket.io-parser@npm:~4.2.4": - version: 4.2.6 - resolution: "socket.io-parser@npm:4.2.6" - dependencies: - "@socket.io/component-emitter": ~3.1.0 - debug: ~4.4.1 - checksum: fd0b7c75281814f13c0da18394dc83b1daa79b8e424e7c021f044207ba2e15dced84f3d0609911be04ca69418d9d93d745ee552453afb01059ad9d4d86fae8d0 - languageName: node - linkType: hard - "socks-proxy-agent@npm:^8.0.3": version: 8.0.5 resolution: "socks-proxy-agent@npm:8.0.5" @@ -9478,28 +9404,6 @@ __metadata: languageName: node linkType: hard -"ws@npm:~8.17.1": - version: 8.17.1 - resolution: "ws@npm:8.17.1" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 442badcce1f1178ec87a0b5372ae2e9771e07c4929a3180321901f226127f252441e8689d765aa5cfba5f50ac60dd830954afc5aeae81609aefa11d3ddf5cecf - languageName: node - linkType: hard - -"xmlhttprequest-ssl@npm:~2.1.1": - version: 2.1.2 - resolution: "xmlhttprequest-ssl@npm:2.1.2" - checksum: f8ecb894301dd024804669245888b3d5ceed2dfcdb4fddb0e38d811a07a2e3c227535f29b269eccf92005819457db3f270d2ff98df516abf95cfad1b9759512d - languageName: node - linkType: hard - "xtend@npm:^4.0.1": version: 4.0.2 resolution: "xtend@npm:4.0.2" diff --git a/yarn.lock b/yarn.lock index 1a797002c..9548cb551 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1818,7 +1818,6 @@ __metadata: mongodb: 6.1.0 node-fetch: ^3.3.0 pluralize: ^8.0.0 - socket.io: ^4.8.3 languageName: unknown linkType: soft @@ -3264,13 +3263,6 @@ __metadata: languageName: node linkType: hard -"@socket.io/component-emitter@npm:~3.1.0": - version: 3.1.0 - resolution: "@socket.io/component-emitter@npm:3.1.0" - checksum: db069d95425b419de1514dffe945cc439795f6a8ef5b9465715acf5b8b50798e2c91b8719cbf5434b3fe7de179d6cdcd503c277b7871cb3dd03febb69bdd50fa - languageName: node - linkType: hard - "@substrate/connect-extension-protocol@npm:^2.0.0": version: 2.0.0 resolution: "@substrate/connect-extension-protocol@npm:2.0.0" @@ -3441,15 +3433,6 @@ __metadata: languageName: node linkType: hard -"@types/cors@npm:^2.8.12": - version: 2.8.14 - resolution: "@types/cors@npm:2.8.14" - dependencies: - "@types/node": "*" - checksum: 119b8ea5760db58542cc66635e8b98b9e859d615e9fc7bfd520c0e2c94063e87759033a4242360e2aa66df2d7d092a406838ac35e8ca7034debf1c69abc27811 - languageName: node - linkType: hard - "@types/express-serve-static-core@npm:^4.17.33": version: 4.17.36 resolution: "@types/express-serve-static-core@npm:4.17.36" @@ -3582,7 +3565,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:*, @types/node@npm:>=10.0.0": +"@types/node@npm:*": version: 20.5.9 resolution: "@types/node@npm:20.5.9" checksum: 717490e94131722144878b4ca1a963ede1673bb8f2ef78c2f5b50b918df6dc9b35e7f8283e5c2a7a9f137730f7c08dc6228e53d4494a94c9ee16881e6ce6caed @@ -3648,15 +3631,6 @@ __metadata: languageName: node linkType: hard -"@types/ws@npm:^8.5.12": - version: 8.18.1 - resolution: "@types/ws@npm:8.18.1" - dependencies: - "@types/node": "*" - checksum: 0331b14cde388e2805af66cad3e3f51857db8e68ed91e5b99750915e96fe7572e58296dc99999331bbcf08f0ff00a227a0bb214e991f53c2a5aca7b0e71173fa - languageName: node - linkType: hard - "@types/yargs-parser@npm:*": version: 21.0.0 resolution: "@types/yargs-parser@npm:21.0.0" @@ -3878,7 +3852,7 @@ __metadata: languageName: node linkType: hard -"accepts@npm:^1.3.8, accepts@npm:~1.3.4": +"accepts@npm:^1.3.8": version: 1.3.8 resolution: "accepts@npm:1.3.8" dependencies: @@ -4147,13 +4121,6 @@ __metadata: languageName: node linkType: hard -"base64id@npm:2.0.0, base64id@npm:~2.0.0": - version: 2.0.0 - resolution: "base64id@npm:2.0.0" - checksum: 581b1d37e6cf3738b7ccdd4d14fe2bfc5c238e696e2720ee6c44c183b838655842e22034e53ffd783f872a539915c51b0d4728a49c7cc678ac5a758e00d62168 - languageName: node - linkType: hard - "baseline-browser-mapping@npm:^2.10.12": version: 2.10.27 resolution: "baseline-browser-mapping@npm:2.10.27" @@ -4630,13 +4597,6 @@ __metadata: languageName: node linkType: hard -"cookie@npm:~0.7.2": - version: 0.7.2 - resolution: "cookie@npm:0.7.2" - checksum: 9bf8555e33530affd571ea37b615ccad9b9a34febbf2c950c86787088eb00a8973690833b0f8ebd6b69b753c62669ea60cec89178c1fb007bf0749abed74f93e - languageName: node - linkType: hard - "cookies@npm:~0.9.1": version: 0.9.1 resolution: "cookies@npm:0.9.1" @@ -4663,16 +4623,6 @@ __metadata: languageName: node linkType: hard -"cors@npm:~2.8.5": - version: 2.8.5 - resolution: "cors@npm:2.8.5" - dependencies: - object-assign: ^4 - vary: ^1 - checksum: ced838404ccd184f61ab4fdc5847035b681c90db7ac17e428f3d81d69e2989d2b680cc254da0e2554f5ed4f8a341820a1ce3d1c16b499f6e2f47a1b9b07b5006 - languageName: node - linkType: hard - "cron@npm:^3.1.7": version: 3.1.7 resolution: "cron@npm:3.1.7" @@ -4732,7 +4682,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.3, debug@npm:^4.3.4, debug@npm:~4.3.1": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.3, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -4744,18 +4694,6 @@ __metadata: languageName: node linkType: hard -"debug@npm:~4.4.1": - version: 4.4.3 - resolution: "debug@npm:4.4.3" - dependencies: - ms: ^2.1.3 - peerDependenciesMeta: - supports-color: - optional: true - checksum: 4805abd570e601acdca85b6aa3757186084a45cff9b2fa6eee1f3b173caa776b45f478b2a71a572d616d2010cea9211d0ac4a02a610e4c18ac4324bde3760834 - languageName: node - linkType: hard - "dedent@npm:^1.6.0": version: 1.7.2 resolution: "dedent@npm:1.7.2" @@ -4929,31 +4867,6 @@ __metadata: languageName: node linkType: hard -"engine.io-parser@npm:~5.2.1": - version: 5.2.1 - resolution: "engine.io-parser@npm:5.2.1" - checksum: 55b0e8e18500f50c1573675c53597c5552554ead08d3f30ff19fde6409e48f882a8e01f84e9772cd155c18a1d653d06f6bf57b4e1f8b834c63c9eaf3b657b88e - languageName: node - linkType: hard - -"engine.io@npm:~6.6.0": - version: 6.6.7 - resolution: "engine.io@npm:6.6.7" - dependencies: - "@types/cors": ^2.8.12 - "@types/node": ">=10.0.0" - "@types/ws": ^8.5.12 - accepts: ~1.3.4 - base64id: 2.0.0 - cookie: ~0.7.2 - cors: ~2.8.5 - debug: ~4.4.1 - engine.io-parser: ~5.2.1 - ws: ~8.18.3 - checksum: 39e8aa190156398a23762061cc3d41aa76aac86153b88ca847ef9ea320fb5b951395c41ef5595d2f0b7e03a66c110965f302f7b16c82280cf2a46c0dfa1c6728 - languageName: node - linkType: hard - "entities@npm:~2.1.0": version: 2.1.0 resolution: "entities@npm:2.1.0" @@ -7313,7 +7226,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:^2.0.0, ms@npm:^2.1.3": +"ms@npm:^2.0.0": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d @@ -7513,13 +7426,6 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4": - version: 4.1.1 - resolution: "object-assign@npm:4.1.1" - checksum: fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f - languageName: node - linkType: hard - "object-inspect@npm:^1.9.0": version: 1.12.3 resolution: "object-inspect@npm:1.12.3" @@ -8244,40 +8150,6 @@ __metadata: languageName: node linkType: hard -"socket.io-adapter@npm:~2.5.2": - version: 2.5.2 - resolution: "socket.io-adapter@npm:2.5.2" - dependencies: - ws: ~8.11.0 - checksum: 481251c3547221e57eb5cb247d0b1a3cde4d152a4c1c9051cc887345a7770e59f3b47f1011cac4499e833f01fcfc301ed13c4ec6e72f7dbb48a476375a6344cd - languageName: node - linkType: hard - -"socket.io-parser@npm:~4.2.4": - version: 4.2.4 - resolution: "socket.io-parser@npm:4.2.4" - dependencies: - "@socket.io/component-emitter": ~3.1.0 - debug: ~4.3.1 - checksum: 61540ef99af33e6a562b9effe0fad769bcb7ec6a301aba5a64b3a8bccb611a0abdbe25f469933ab80072582006a78ca136bf0ad8adff9c77c9953581285e2263 - languageName: node - linkType: hard - -"socket.io@npm:^4.8.3": - version: 4.8.3 - resolution: "socket.io@npm:4.8.3" - dependencies: - accepts: ~1.3.4 - base64id: ~2.0.0 - cors: ~2.8.5 - debug: ~4.4.1 - engine.io: ~6.6.0 - socket.io-adapter: ~2.5.2 - socket.io-parser: ~4.2.4 - checksum: 3435d57458813780c0b4b218872ba8a5b840aaf4b72d2e119c6b3eaa89fe492e977d09845f01c237147de2a2a359696c83e91e3f05270c07da7176238f4f4846 - languageName: node - linkType: hard - "socks-proxy-agent@npm:^7.0.0": version: 7.0.0 resolution: "socks-proxy-agent@npm:7.0.0" @@ -8963,7 +8835,7 @@ __metadata: languageName: node linkType: hard -"vary@npm:^1, vary@npm:^1.1.2": +"vary@npm:^1.1.2": version: 1.1.2 resolution: "vary@npm:1.1.2" checksum: ae0123222c6df65b437669d63dfa8c36cee20a504101b2fcd97b8bf76f91259c17f9f2b4d70a1e3c6bbcee7f51b28392833adb6b2770b23b01abec84e369660b @@ -9128,36 +9000,6 @@ __metadata: languageName: node linkType: hard -"ws@npm:~8.11.0": - version: 8.11.0 - resolution: "ws@npm:8.11.0" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: 316b33aba32f317cd217df66dbfc5b281a2f09ff36815de222bc859e3424d83766d9eb2bd4d667de658b6ab7be151f258318fb1da812416b30be13103e5b5c67 - languageName: node - linkType: hard - -"ws@npm:~8.18.3": - version: 8.18.3 - resolution: "ws@npm:8.18.3" - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - checksum: d64ef1631227bd0c5fe21b3eb3646c9c91229402fb963d12d87b49af0a1ef757277083af23a5f85742bae1e520feddfb434cb882ea59249b15673c16dc3f36e0 - languageName: node - linkType: hard - "y18n@npm:^5.0.5": version: 5.0.8 resolution: "y18n@npm:5.0.8"