Why these changes hang together:
- Rename `waku/node/kernel_api/` to `waku/node/waku_node/`: the folder
holds the node's protocol APIs, so it should carry the node's name
rather than the legacy "kernel_api" label.
- Collapse the old `kernel_api.nim` aggregator into the top-level
`waku/waku_node.nim` barrel, and drop `net_config`/`health_monitor`
from it. Those aren't the node's concern; consumers that used them
now import them directly (clearer, explicit deps).
- Move the `WakuNode` type from `node_types.nim` into `waku_node.nim`.
`node_types.nim` only existed to dodge a `WakuNode`/`SubscriptionManager`
import cycle that Nim actually handles fine, so the type now lives in
one obvious home and the indirection module is deleted.
- Extract `ShardSubscription` and `EdgeFilterSubState` into their own
small modules: they are standalone value types with no back-reference
to the node. `SubscriptionManager` stays with `WakuNode` on purpose
(it is the node's subscription subsystem; the relationship is real).
Verified: `wakunode2` and `libwaku` build; representative node tests pass.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Simplify NodeHealthMonitor creation
* Force NodeHealthMonitor.new() to set up a WakuNode
* Remove all checks for isNil(node) in NodeHealthMonitor
* Fix tests to use the new NodeHealthMonitor.new()
Co-authored-by: Ivan FB <128452529+Ivansete-status@users.noreply.github.com>
* properly pass userMessageLimit to OnchainGroupManager
* waku.nimble 2.2.4 Nim compiler
* rm stew/shims/net import
* change ValidIpAddress.init with parseIpAddress
* fix serialize for zerokit
* group_manager: separate if statements
* protocol_types: add encode UInt32 with zeros up to 32 bytes
* windows build: skip libunwind build and rm libunwind.a inlcusion step
* bump nph to overcome the compilation issues with 2.2.x
* bump nim-libp2p to v1.10.1
* on_chain/group_manager: use .async: (raises:[Exception]).
* bump nim-dnsdisc
* update nim-chronos to the latest state
* chat2.nim: catch any possible exception when stopping
* chat2bridge.nim: make it to compile after vendor bump
* ValidIpAddress (deprecated) -> IpAddress
* vendor/nim-libp2p additional bump
* libwaku: adapt to vendor bump
* testlib/wakunode.nim: adapt to vendor bump (ValidIpAddress -> IpAddress)
* waku_node: avoid throwing any exception from stop*(node: WakuNode)
* test_confutils_envvar.nim: ValidIpAddress -> IpAddress
* test_jsonrpc_store: capture exception
* test_rln*: handling exceptions
* adaptation to make test_rln_* to work properly
* signature enhancement of group_manager methods