Skip to content

Commit

Permalink
fix: bring back default topic in config (#1902)
Browse files Browse the repository at this point in the history
* fix: bring back default topic in config

* fix

* Fix a bug

* Fix enr creation
  • Loading branch information
SionoiS authored Aug 11, 2023
1 parent b785b6b commit d5d2243
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 7 deletions.
15 changes: 10 additions & 5 deletions apps/wakunode2/app.nim
Original file line number Diff line number Diff line change
Expand Up @@ -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():
Expand Down Expand Up @@ -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:
Expand Down
6 changes: 5 additions & 1 deletion apps/wakunode2/external_config.nim
Original file line number Diff line number Diff line change
Expand Up @@ -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* {.
Expand Down
2 changes: 1 addition & 1 deletion tests/wakunode2/test_app.nim
Original file line number Diff line number Diff line change
Expand Up @@ -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
)

Expand Down

0 comments on commit d5d2243

Please sign in to comment.