From 1bac4bd6ab970c0ed9c352261119ca1c0d21c09b Mon Sep 17 00:00:00 2001 From: danisharora099 Date: Fri, 15 Sep 2023 16:53:14 +0530 Subject: [PATCH 1/3] chore: use BaseProtocol.multicodec instead of exported codec --- examples/web-chat/src/hooks.ts | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/examples/web-chat/src/hooks.ts b/examples/web-chat/src/hooks.ts index 97a01907..d70c2f74 100644 --- a/examples/web-chat/src/hooks.ts +++ b/examples/web-chat/src/hooks.ts @@ -3,7 +3,6 @@ import { generate } from "server-name-generator"; import { Message } from "./Message"; import { EPeersByDiscoveryEvents, LightNode, Tags } from "@waku/interfaces"; import type { PeerId } from "@libp2p/interface-peer-id"; -import { waku } from "@waku/sdk"; import { useFilterMessages, useStoreMessages } from "@waku/react"; import type { @@ -196,16 +195,13 @@ export const usePeers = (params: UsePeersParams): UsePeersResults => { setPeers({ allConnected: peers.map((p) => p.id), storePeers: peers - .filter((p) => p.protocols.includes(waku.waku_store.StoreCodec)) + .filter((p) => p.protocols.includes(node.store?.multicodec || "")) .map((p) => p.id), - //TODO: use from import filterPeers: peers - .filter((p) => - p.protocols.includes("/vac/waku/filter-subscribe/2.0.0-beta1") - ) + .filter((p) => p.protocols.includes(node.filter?.multicodec || "")) .map((p) => p.id), // hardcoding codec since we don't export it currently lightPushPeers: peers - .filter((p) => p.protocols.includes(waku.waku_store.StoreCodec)) + .filter((p) => p.protocols.includes(node.lightPush?.multicodec || "")) .map((p) => p.id), }); }; From 59be53225e0df062d61c5bce74820df4111c3da0 Mon Sep 17 00:00:00 2001 From: danisharora099 Date: Fri, 15 Sep 2023 17:02:31 +0530 Subject: [PATCH 2/3] improve readability --- examples/web-chat/src/hooks.ts | 13 ++++--------- examples/web-chat/src/utils.ts | 12 ++++++++++++ 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/examples/web-chat/src/hooks.ts b/examples/web-chat/src/hooks.ts index d70c2f74..73d1dc87 100644 --- a/examples/web-chat/src/hooks.ts +++ b/examples/web-chat/src/hooks.ts @@ -12,6 +12,7 @@ import type { UsePeersResults, } from "./types"; import { OrderedSet } from "./ordered_array"; +import { getPeerIdsForProtocol } from "./utils"; export const usePersistentNick = (): [ string, @@ -194,15 +195,9 @@ export const usePeers = (params: UsePeersParams): UsePeersResults => { setPeers({ allConnected: peers.map((p) => p.id), - storePeers: peers - .filter((p) => p.protocols.includes(node.store?.multicodec || "")) - .map((p) => p.id), - filterPeers: peers - .filter((p) => p.protocols.includes(node.filter?.multicodec || "")) - .map((p) => p.id), // hardcoding codec since we don't export it currently - lightPushPeers: peers - .filter((p) => p.protocols.includes(node.lightPush?.multicodec || "")) - .map((p) => p.id), + storePeers: getPeerIdsForProtocol(node.store, peers), + filterPeers: getPeerIdsForProtocol(node.filter, peers), + lightPushPeers: getPeerIdsForProtocol(node.lightPush, peers), }); }; diff --git a/examples/web-chat/src/utils.ts b/examples/web-chat/src/utils.ts index ed54a123..3a3eef22 100644 --- a/examples/web-chat/src/utils.ts +++ b/examples/web-chat/src/utils.ts @@ -1,4 +1,5 @@ import type { Peer } from "@libp2p/interface-peer-store"; +import { IFilter, ILightPush, IStore } from "@waku/interfaces"; export async function handleCatch( promise?: Promise @@ -13,3 +14,14 @@ export async function handleCatch( return undefined; } } + +export function getPeerIdsForProtocol( + protocol: IStore | ILightPush | IFilter | undefined, + peers: Peer[] +) { + return protocol + ? peers + .filter((p) => p.protocols.includes(protocol.multicodec)) + .map((p) => p.id) + : []; +} From 0b4d5c6447bbd21f4492c5bee1626b1b7d960397 Mon Sep 17 00:00:00 2001 From: danisharora099 Date: Fri, 15 Sep 2023 17:03:30 +0530 Subject: [PATCH 3/3] use type import --- examples/web-chat/src/utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/web-chat/src/utils.ts b/examples/web-chat/src/utils.ts index 3a3eef22..7254dc62 100644 --- a/examples/web-chat/src/utils.ts +++ b/examples/web-chat/src/utils.ts @@ -1,5 +1,5 @@ import type { Peer } from "@libp2p/interface-peer-store"; -import { IFilter, ILightPush, IStore } from "@waku/interfaces"; +import type { IFilter, ILightPush, IStore } from "@waku/interfaces"; export async function handleCatch( promise?: Promise