refactor(waku topic): Manage `pubsub` & `content` topics better
This commit is contained in:
parent
bbb65ccd72
commit
3082718fce
|
@ -18,6 +18,7 @@ import
|
|||
type WakuPairResult* = object
|
||||
wakuNode*: WakuNode
|
||||
wakuHandshakeResult*: HandshakeResult
|
||||
contentTopic*: string
|
||||
|
||||
proc wakuPair*(rng: ref HmacDrbgContext,
|
||||
node: WakuNode,
|
||||
|
@ -46,4 +47,5 @@ proc wakuPair*(rng: ref HmacDrbgContext,
|
|||
qrMessageNameTag,
|
||||
initiatorInfo)
|
||||
return WakuPairResult(wakuNode: node,
|
||||
wakuHandshakeResult: initiatorHSResult)
|
||||
wakuHandshakeResult: initiatorHSResult,
|
||||
contentTopic: contentTopic)
|
||||
|
|
|
@ -93,10 +93,15 @@ proc doRunStatusNodeManager*(config: StatusNodeManagerConfig,
|
|||
proc doWakuPairing(config: StatusNodeManagerConfig,
|
||||
rng: ref HmacDrbgContext,
|
||||
wakuClient: var RestClientRef) =
|
||||
let pubsubTopic = if config.pubsubTopic.isSome:
|
||||
config.pubsubTopic.get
|
||||
else:
|
||||
defaultWakuPubsubTopic
|
||||
|
||||
let wakuPairRequestData = WakuPairRequestData(
|
||||
qr: config.qr,
|
||||
qrMessageNameTag: config.qrMessageNameTag,
|
||||
pubSubTopic: config.pubSubTopic
|
||||
pubSubTopic: pubSubTopic
|
||||
)
|
||||
|
||||
waitFor wakuPair(wakuClient, wakuPairRequestData)
|
||||
|
|
|
@ -13,6 +13,8 @@ export
|
|||
parseCmdArg, completeCmdArg, `/`
|
||||
|
||||
const wakuHandshakeDataFilename* = "handshake_data.json"
|
||||
const defaultWakuContentTopic* = "/snm/0.0.1/default/proto"
|
||||
const defaultWakuPubsubTopic* = "/waku/2/default-waku/proto"
|
||||
|
||||
type
|
||||
SNMStartUpCmd* {.pure.} = enum
|
||||
|
@ -106,8 +108,7 @@ type
|
|||
|
||||
pubSubTopic* {.
|
||||
desc: "The topic to subscribe to"
|
||||
defaultValue: "/waku/2/default-waku/proto"
|
||||
name: "pubsub-topic" .}: PubsubTopic
|
||||
name: "pubsub-topic" .}: Option[PubsubTopic]
|
||||
|
||||
of WakuCommand.exportHandshake:
|
||||
handshakeFile* {.
|
||||
|
|
|
@ -54,6 +54,11 @@ proc installWakuApiHandlers*(router: var RestRouter,
|
|||
|
||||
wakuHost.wakuNode = wakuPairResult.wakuNode
|
||||
wakuHost.wakuHandshake = wakuPairResult.wakuHandshakeResult
|
||||
wakuHost.pubSubTopic = wakuPairData.pubSubTopic
|
||||
wakuHost.contentTopic = wakuPairResult.contentTopic
|
||||
|
||||
notice "After pairing pubSubTopic updated: ", pubSubTopic = wakuHost.pubSubTopic
|
||||
notice "After pairing contentTopic updated: ", contentTopic = wakuHost.contentTopic
|
||||
|
||||
notice "Waku pairing successful! Request fulfilled."
|
||||
return RestApiResponse.response("Successful pairing", Http200, "application/json")
|
||||
|
|
|
@ -15,6 +15,7 @@ import
|
|||
|
||||
# Nimble packages - Waku
|
||||
waku/node/waku_node,
|
||||
waku/waku_core,
|
||||
waku/waku_noise/noise_types,
|
||||
|
||||
# Local modules
|
||||
|
@ -30,6 +31,8 @@ type
|
|||
rng*: ref HmacDrbgContext
|
||||
wakuNode*: WakuNode
|
||||
wakuHandshake*: HandshakeResult
|
||||
pubsubTopic*: PubsubTopic
|
||||
contentTopic*: string
|
||||
|
||||
proc saveHandshakeData*(handshakeResult: HandshakeResult,
|
||||
handshakeDataFile: OutFile): Result[OutFile, string] =
|
||||
|
@ -111,5 +114,7 @@ proc init*(T: type WakuHost,
|
|||
|
||||
T(rng: rng,
|
||||
wakuNode: node,
|
||||
wakuHandshake: wakuHandshake
|
||||
wakuHandshake: wakuHandshake,
|
||||
contentTopic: defaultWakuContentTopic,
|
||||
pubsubTopic: defaultWakuPubsubTopic
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue