Ports commit 14562878 onto PR #3807's logos_delivery/ layout.
Changes vs original 14562878:
- Plugin consumed via nimble dep (no submodule add); the PR #3807 nimble
resolution already provides it.
- mountMix signature carries both PR #3807's disableSpamProtection AND
the patch's useOnchainLEZ parameters (callsite passes both).
- WakuMix.new branches on disableSpamProtection while also setting
useOnchainLEZ on the spam-protection config. Cover-traffic params come
from the plugin config when RLN is enabled, fall back to waku defaults
when disabled.
- start() retains HEAD's split between local-only init and the separate
registerDoSProtectionWithNetwork retry loop. publishGossipsubTrigger is
promoted to a standalone proc instead of inline in an else branch.
- MixProtocol.init uses libp2p_mix's new Opt-wrapped coverTraffic and
the MixRlnSpamProtection.new constructor (not the renamed newMixRlnSpamProtection).
- Makefile reverted to HEAD: PR #3807 dropped the separate mix-librln
archive in favor of a single stateless zerokit, so the patch's
MIX_LIBRLN_* additions are obsolete.
- README/sim helper config files: HEAD's values retained (env-specific
paths from patch author dropped).
Adds:
- logos_delivery/waku/waku_mix/logos_core_client.nim (RLN client layer)
- logos_delivery/waku/waku_mix/coordination handler (via waku_node)
- logos_delivery/waku/waku_rln_relay/rln_gifter/{client,protocol,rpc,rpc_codec}.nim
- 5 new C FFI exports (logosdelivery_set_rln_fetcher, _set_rln_config,
_set_rln_identity, _push_roots, _push_proof)
- --mix-gifter-* CLI flags + MixConf fields + MixConfBuilder methods
- tests/waku_rln_relay/test_rln_gifter.nim
* android-ndk is added
* in the derivation, system nim is default but one can change it to
nimbus-build-system
* special script for creating nimble links, necessary for the
compilation to succeed.
Referenced issue:
* https://github.com/waku-org/nwaku/issues/3232