Merge pull request #269 from waku-org/chore/use-base-multicodec

chore: use `BaseProtocol.multicodec` instead of exported codec
This commit is contained in:
Danish Arora 2023-09-20 10:02:26 +05:30 committed by GitHub
commit 7c24ffa3bf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 13 deletions

View File

@ -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 {
@ -13,6 +12,7 @@ import type {
UsePeersResults,
} from "./types";
import { OrderedSet } from "./ordered_array";
import { getPeerIdsForProtocol } from "./utils";
export const usePersistentNick = (): [
string,
@ -195,18 +195,9 @@ export const usePeers = (params: UsePeersParams): UsePeersResults => {
setPeers({
allConnected: peers.map((p) => p.id),
storePeers: peers
.filter((p) => p.protocols.includes(waku.waku_store.StoreCodec))
.map((p) => p.id),
//TODO: use from import
filterPeers: peers
.filter((p) =>
p.protocols.includes("/vac/waku/filter-subscribe/2.0.0-beta1")
)
.map((p) => p.id), // hardcoding codec since we don't export it currently
lightPushPeers: peers
.filter((p) => p.protocols.includes(waku.waku_store.StoreCodec))
.map((p) => p.id),
storePeers: getPeerIdsForProtocol(node.store, peers),
filterPeers: getPeerIdsForProtocol(node.filter, peers),
lightPushPeers: getPeerIdsForProtocol(node.lightPush, peers),
});
};

View File

@ -1,4 +1,5 @@
import type { Peer } from "@libp2p/interface-peer-store";
import type { IFilter, ILightPush, IStore } from "@waku/interfaces";
export async function handleCatch(
promise?: Promise<Peer[]>
@ -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)
: [];
}