From cf6942d5fae485f09b7aa910d32c12916699b50c Mon Sep 17 00:00:00 2001 From: "fryorcraken.eth" Date: Sat, 20 Aug 2022 18:12:47 +1000 Subject: [PATCH] fix: start waku & use waitForRemotePeer --- eth-pm/src/waku.ts | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/eth-pm/src/waku.ts b/eth-pm/src/waku.ts index d202228..726bf4f 100644 --- a/eth-pm/src/waku.ts +++ b/eth-pm/src/waku.ts @@ -1,5 +1,11 @@ import { Dispatch, SetStateAction } from "react"; -import { utils, Waku, WakuMessage } from "js-waku"; +import { + Protocols, + utils, + waitForRemotePeer, + Waku, + WakuMessage, +} from "js-waku"; import { PrivateMessage, PublicKeyMessage } from "./messaging/wire"; import { validatePublicKeyMessage } from "./crypto"; import { Message } from "./messaging/Messages"; @@ -11,17 +17,8 @@ export const PrivateMessageContentTopic = "/eth-pm/1/private-message/proto"; export async function initWaku(): Promise { const waku = await createWaku({ defaultBootstrap: true }); - - // Wait to be connected to at least one peer - await new Promise((resolve, reject) => { - // If we are not connected to any peer within 10sec let's just reject - // As we are not implementing connection management in this example - - setTimeout(reject, 10000); - waku.libp2p.connectionManager.addEventListener("peer:connect", () => { - resolve(null); - }); - }); + await waku.start(); + await waitForRemotePeer(waku, [Protocols.Filter, Protocols.LightPush]); return waku; }