fix: bring back default topic in config (#1902)

* fix: bring back default topic in config

* fix

* Fix a bug

* Fix enr creation
This commit is contained in:
Simon-Pierre Vivier 2023-08-11 11:28:24 -04:00 committed by GitHub
parent b785b6ba15
commit d5d2243c2e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 16 additions and 7 deletions

View File

@ -135,16 +135,16 @@ proc init*(T: type App, rng: ref HmacDrbgContext, conf: WakuNodeConf): T =
error "failed to parse content topic", error=res.error
quit(QuitFailure)
let pubsubTopicsRes = contentTopicsRes.mapIt(singleHighestWeigthShard(it.get()))
let shardsRes = contentTopicsRes.mapIt(singleHighestWeigthShard(it.get()))
for res in pubsubTopicsRes:
for res in shardsRes:
if res.isErr():
error "failed to shard content topic", error=res.error
quit(QuitFailure)
let pubsubTopics = pubsubTopicsRes.mapIt($it.get())
let shards = shardsRes.mapIt($it.get())
let topics = pubsubTopics & conf.pubsubTopics
let topics = conf.topics & conf.pubsubTopics & shards
let addShardedTopics = enrBuilder.withShardedTopics(topics)
if addShardedTopics.isErr():
@ -360,7 +360,12 @@ proc setupProtocols(node: WakuNode,
peerExchangeHandler = some(handlePeerExchange)
if conf.relay:
let pubsubTopics = conf.pubsubTopics
# TODO autoshard content topics only once.
# Already checked for errors in app.init
let contentTopics = conf.contentTopics.mapIt(NsContentTopic.parse(it).expect("Parsing"))
let shards = contentTopics.mapIt($(singleHighestWeigthShard(it).expect("Sharding")))
let pubsubTopics = conf.topics & conf.pubsubTopics & shards
try:
await mountRelay(node, pubsubTopics, peerExchangeHandler = peerExchangeHandler)
except CatchableError:

View File

@ -225,9 +225,13 @@ type
defaultValue: false
name: "keep-alive" }: bool
topics* {.
desc: "Default topic to subscribe to. Argument may be repeated. Deprecated! Please use pubsub-topic and/or content-topic instead."
defaultValue: @["/waku/2/default-waku/proto"]
name: "topic" .}: seq[string]
pubsubTopics* {.
desc: "Default pubsub topic to subscribe to. Argument may be repeated."
defaultValue: @["/waku/2/default-waku/proto"]
name: "pubsub-topic" .}: seq[string]
contentTopics* {.

View File

@ -23,7 +23,7 @@ proc defaultTestWakuNodeConf(): WakuNodeConf =
metricsServerAddress: ValidIpAddress.init("127.0.0.1"),
nat: "any",
maxConnections: 50,
pubsubTopics: @["/waku/2/default-waku/proto"],
topics: @["/waku/2/default-waku/proto"],
relay: true
)