diff --git a/tests/v2/test_peer_exchange.nim b/tests/v2/test_peer_exchange.nim index 904041741..a2f27526f 100644 --- a/tests/v2/test_peer_exchange.nim +++ b/tests/v2/test_peer_exchange.nim @@ -26,9 +26,13 @@ procSuite "Peer Exchange": node3 = WakuNode.new(nodeKey3, bindIp, Port(60003), sendSignedPeerRecord = true) var - peerExchangeHandler: RoutingRecordsHandler + peerExchangeHandler, emptyHandler: RoutingRecordsHandler completionFut = newFuture[bool]() + proc ignorePeerExchange(peer: PeerId, topic: string, + peers: seq[RoutingRecordsPair]) {.gcsafe, raises: [Defect].} = + discard + proc handlePeerExchange(peer: PeerId, topic: string, peers: seq[RoutingRecordsPair]) {.gcsafe, raises: [Defect].} = ## Handle peers received via gossipsub peer exchange @@ -44,9 +48,10 @@ procSuite "Peer Exchange": completionFut.complete(true) peerExchangeHandler = handlePeerExchange + emptyHandler = ignorePeerExchange - node1.mountRelay() - node2.mountRelay() + node1.mountRelay(peerExchangeHandler = some(emptyHandler)) + node2.mountRelay(peerExchangeHandler = some(emptyHandler)) node3.mountRelay(peerExchangeHandler = some(peerExchangeHandler)) # Ensure that node1 prunes all peers after the first connection diff --git a/tests/v2/test_waku_keepalive.nim b/tests/v2/test_waku_keepalive.nim index 38c920fbe..c3c3c3834 100644 --- a/tests/v2/test_waku_keepalive.nim +++ b/tests/v2/test_waku_keepalive.nim @@ -48,4 +48,5 @@ procSuite "Waku Keepalive": check: (await completionFut.withTimeout(5.seconds)) == true - await allFutures([node1.stop(), node2.stop()]) + await node2.stop() + await node1.stop() diff --git a/waku/v2/node/wakunode2.nim b/waku/v2/node/wakunode2.nim index 3a7864ea9..e61591d6e 100644 --- a/waku/v2/node/wakunode2.nim +++ b/waku/v2/node/wakunode2.nim @@ -705,7 +705,8 @@ proc mountRelay*(node: WakuNode, wakuRelay.defaultTopics = concat(@[defaultTopic], topics) ## Add peer exchange handler - if peerExchangeHandler.isSome(): + if peerExchangeHandler.isSome(): + wakuRelay.parameters.enablePX = true # Feature flag for peer exchange in nim-libp2p wakuRelay.routingRecordsHandler.add(peerExchangeHandler.get()) node.switch.mount(wakuRelay, protocolMatcher(WakuRelayCodec))