mirror of
https://github.com/logos-messaging/logos-messaging-nim.git
synced 2026-06-29 21:09:29 +00:00
`SendService`/`RecvService` took a raw `WakuNode` and reached into its internals (`wakuStoreClient`, `subscriptionManager`, `peerManager`), which breaks the layering: the messaging layer should depend on the Waku kernel, not the node. Widen the Waku api surface with the operations these services need (`storeQueryToAny`, `isStoreMounted`, `hasStorePeer`, `isContentSubscribed`, `subscribedContentTopics`) and switch both services to hold `Waku` and call that surface instead. The send-processor chain still pulls raw publish handles (relay/lightpush/RLN/peer manager) from `waku.node`, since the kernel API does not expose publishing primitives yet; this is isolated to the constructor and flagged with a comment. Also make `MessagingClient.new` return explicitly. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>