diff --git a/src/lib/waku.ts b/src/lib/waku.ts index dc44e705b7..08c4d20e4d 100644 --- a/src/lib/waku.ts +++ b/src/lib/waku.ts @@ -90,25 +90,26 @@ export async function createWaku(options?: CreateOptions): Promise { peerDiscovery.push(new Bootstrap(options?.bootstrap)); } - // TODO: Use options - const libp2pOpts = { - transports: [new WebSockets({ filter: filterAll })], - streamMuxers: [new Mplex()], - pubsub: new WakuRelay(), - connectionEncryption: [new Noise()], - }; + const libp2pOpts = Object.assign( + { + transports: [new WebSockets({ filter: filterAll })], + streamMuxers: [new Mplex()], + pubsub: new WakuRelay(options), + connectionEncryption: [new Noise()], + }, + options?.libp2p ?? {} + ); - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore: modules property is correctly set thanks to voodoo const libp2p = await createLibp2p(libp2pOpts); - const wakuStore = new WakuStore(libp2p); - const wakuLightPush = new WakuLightPush(libp2p); + const wakuStore = new WakuStore(libp2p, options); + const wakuLightPush = new WakuLightPush(libp2p, options); + // TODO pass options const wakuFilter = new WakuFilter(libp2p); await libp2p.start(); - return new Waku({}, libp2p, wakuStore, wakuLightPush, wakuFilter); + return new Waku(options ?? {}, libp2p, wakuStore, wakuLightPush, wakuFilter); } export class Waku { diff --git a/src/lib/waku_filter/index.ts b/src/lib/waku_filter/index.ts index e8cf13e255..c577f5d5b1 100644 --- a/src/lib/waku_filter/index.ts +++ b/src/lib/waku_filter/index.ts @@ -49,6 +49,7 @@ export class WakuFilter { { method?: DecryptionMethod; contentTopics?: string[] } >; + // TODO: Accept options (pubsubtopic) constructor(public libp2p: Libp2p) { this.subscriptions = new Map(); this.decryptionKeys = new Map(); diff --git a/src/lib/waku_relay/index.node.spec.ts b/src/lib/waku_relay/index.node.spec.ts index d99ee00a5c..5cdd75e296 100644 --- a/src/lib/waku_relay/index.node.spec.ts +++ b/src/lib/waku_relay/index.node.spec.ts @@ -71,10 +71,12 @@ describe("Waku Relay [node only]", () => { it("Subscribe", async function () { log("Getting subscribers"); - const subscribers1 = - waku1.libp2p.pubsub.getSubscribers(DefaultPubSubTopic); - const subscribers2 = - waku2.libp2p.pubsub.getSubscribers(DefaultPubSubTopic); + const subscribers1 = waku1.libp2p.pubsub + .getSubscribers(DefaultPubSubTopic) + .map((p) => p.toString()); + const subscribers2 = waku2.libp2p.pubsub + .getSubscribers(DefaultPubSubTopic) + .map((p) => p.toString()); log("Asserting mutual subscription"); expect(subscribers1).to.contain(waku2.libp2p.peerId.toString());