diff --git a/waku/node/waku_node.nim b/waku/node/waku_node.nim index 6d6f2cdb3..c329f9e28 100644 --- a/waku/node/waku_node.nim +++ b/waku/node/waku_node.nim @@ -1217,13 +1217,6 @@ proc start*(node: WakuNode) {.async.} = info "Node started successfully" proc stop*(node: WakuNode) {.async.} = - if not node.wakuRelay.isNil(): - await node.wakuRelay.stop() - - if not node.wakuMetadata.isNil(): - node.wakuMetadata.stop() - - await node.switch.stop() node.peerManager.stop() if not node.wakuRlnRelay.isNil(): @@ -1235,6 +1228,9 @@ proc stop*(node: WakuNode) {.async.} = if not node.wakuArchive.isNil(): await node.wakuArchive.stopWait() + ## By stopping the switch we are stopping all the underlying mounted protocols + await node.switch.stop() + node.started = false proc isReady*(node: WakuNode): Future[bool] {.async: (raises: [Exception]).} =