diff --git a/waku/factory/waku.nim b/waku/factory/waku.nim index a3d726e85..5f19c7fdb 100644 --- a/waku/factory/waku.nim +++ b/waku/factory/waku.nim @@ -44,7 +44,6 @@ type Waku* = object version: string conf: WakuNodeConf rng: ref HmacDrbgContext - key: crypto.PrivateKey wakuDiscv5*: WakuDiscoveryV5 dynamicBootstrapNodes: seq[RemotePeerInfo] @@ -54,6 +53,9 @@ type Waku* = object restServer*: WakuRestServerRef metricsServer*: MetricsHttpServerRef +proc key*(waku: Waku): crypto.PrivateKey = + waku.node.key + proc logConfig(conf: WakuNodeConf) = info "Configuration: Enabled protocols", relay = conf.relay, @@ -121,7 +123,6 @@ proc init*(T: type Waku, srcConf: WakuNodeConf): Result[Waku, string] = version: git_version, conf: finalConf, rng: rng, - key: finalConf.nodekey.get(), node: nodeRes.get(), dynamicBootstrapNodes: dynamicBootstrapNodesRes.get(), ) @@ -200,8 +201,13 @@ proc startWaku*(waku: ptr Waku): Future[Result[void, string]] {.async: (raises: ## Discv5 if waku[].conf.discv5Discovery or waku[].conf.discv5Only: waku[].wakuDiscV5 = waku_discv5.setupDiscoveryV5( - waku.node.enr, waku.node.peerManager, waku.node.topicSubscriptionQueue, waku.conf, - waku.dynamicBootstrapNodes, waku.rng, waku.key, + waku.node.enr, + waku.node.peerManager, + waku.node.topicSubscriptionQueue, + waku.conf, + waku.dynamicBootstrapNodes, + waku.rng, + waku[].key(), ) (await waku.wakuDiscV5.start()).isOkOr: diff --git a/waku/node/waku_node.nim b/waku/node/waku_node.nim index 447356fd9..aa36dd0c9 100644 --- a/waku/node/waku_node.nim +++ b/waku/node/waku_node.nim @@ -189,6 +189,9 @@ proc info*(node: WakuNode): WakuInfo = let wakuInfo = WakuInfo(listenAddresses: listenStr, enrUri: enrUri) return wakuInfo +proc key*(node: WakuNode): crypto.PrivateKey = + node.switch.peerInfo.privateKey + proc connectToNodes*( node: WakuNode, nodes: seq[RemotePeerInfo] | seq[string], source = "api" ) {.async.} =