From ef67d542ab5169f5bb86291257893c6a5e9a1516 Mon Sep 17 00:00:00 2001 From: Sergei Tikhomirov Date: Thu, 27 Feb 2025 16:42:23 +0100 Subject: [PATCH] add optional reputation manager to Lightpush client initialization --- tests/waku_lightpush/lightpush_utils.nim | 6 ++++-- waku/waku_lightpush/client.nim | 11 +++++++---- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/tests/waku_lightpush/lightpush_utils.nim b/tests/waku_lightpush/lightpush_utils.nim index a2a13a415..9fe9542a1 100644 --- a/tests/waku_lightpush/lightpush_utils.nim +++ b/tests/waku_lightpush/lightpush_utils.nim @@ -27,5 +27,7 @@ proc newTestWakuLightpushNode*( proc newTestWakuLightpushClient*(switch: Switch): WakuLightPushClient = let peerManager = PeerManager.new(switch) - let reputationManager = ReputationManager.new() - WakuLightPushClient.new(peerManager, reputationManager, rng) + var reputationManager = none(ReputationManager) + when defined(reputation): + reputationManager = some(ReputationManager.new()) + WakuLightPushClient.new(peerManager, rng, reputationManager) diff --git a/waku/waku_lightpush/client.nim b/waku/waku_lightpush/client.nim index 66e9fa856..e63411d3c 100644 --- a/waku/waku_lightpush/client.nim +++ b/waku/waku_lightpush/client.nim @@ -26,12 +26,15 @@ type WakuLightPushClient* = ref object proc new*( T: type WakuLightPushClient, peerManager: PeerManager, - reputationManager: ReputationManager, rng: ref rand.HmacDrbgContext, + reputationManager: Option[ReputationManager] = none(ReputationManager), ): T = - WakuLightPushClient( - peerManager: peerManager, reputationManager: reputationManager, rng: rng - ) + if reputationManager.isSome: + WakuLightPushClient( + peerManager: peerManager, rng: rng, reputationManager: reputationManager.get() + ) + else: + WakuLightPushClient(peerManager: peerManager, rng: rng) proc addPublishObserver*(wl: WakuLightPushClient, obs: PublishObserver) = wl.publishObservers.add(obs)