2400 Commits

Author SHA1 Message Date
NagyZoltanPeter
4995b86d13
Remove unused MessagingClient reference from ReliableChannelManager - the new request broker completes the contract just perfect. 2026-06-25 10:16:27 +02:00
NagyZoltanPeter
e37e04d5e6
Adapt to EventBroker surface change 2026-06-25 10:16:27 +02:00
NagyZoltanPeter
7fd722c09a
nph 2026-06-25 10:16:27 +02:00
NagyZoltanPeter
9c744bfeb8
Rewire sendHandler on ReliableChannel and manager interface to use a new MessagingSend RequestBroker owned by MessagingClient, flipped test case mocking to fake sends 2026-06-25 10:16:26 +02:00
NagyZoltanPeter
8c289cdc23
Bump nim-brokers to 3.1.4 from 3.1.1 for having replaceProvider for mocking 2026-06-25 10:16:26 +02:00
NagyZoltanPeter
8f9ddc80ce
typo fix 2026-06-25 10:04:39 +02:00
NagyZoltanPeter
f3f1bb2481
Fixing rebase bad merge 2026-06-25 10:00:08 +02:00
NagyZoltanPeter
f357ffbe53
fixing namaings, tyoe 2026-06-25 09:52:20 +02:00
NagyZoltanPeter
7d45e64753
Remove unnecessary line in checkApiAvailability 2026-06-25 09:52:19 +02:00
NagyZoltanPeter
f3cb30903c
nph 2026-06-25 09:52:19 +02:00
NagyZoltanPeter
358fad8db7
Fix test imports 2026-06-25 09:52:19 +02:00
NagyZoltanPeter
6dd5ea0cc4
liteprotocoltester build 2026-06-25 09:52:19 +02:00
NagyZoltanPeter
2322dafd70
Add events to interface level 2026-06-25 09:52:19 +02:00
NagyZoltanPeter
019937a79b
Typo in file name 2026-06-25 09:52:18 +02:00
NagyZoltanPeter
eb5b82de2b
Initial add of api layers interface classes 2026-06-25 09:52:18 +02:00
NagyZoltanPeter
9e58cfa139
nph fix 2026-06-25 09:52:18 +02:00
NagyZoltanPeter
59c3a36689
make test compile and run 2026-06-25 09:52:18 +02:00
NagyZoltanPeter
43b88cf8e7
Make liblogosdelivery and wakunode2 compile, remove waku/api.nim as it was just a import orchestrator 2026-06-25 09:52:18 +02:00
NagyZoltanPeter
341556e964
Refactor waku/api into messaging_client, waku/api/types and api_conf into logos_delivery/api 2026-06-25 09:52:17 +02:00
NagyZoltanPeter
10634f8a05
Realize Kernel API in scope of Waku class 2026-06-25 09:51:13 +02:00
NagyZoltanPeter
c93294c638
remove unused 2026-06-25 09:51:13 +02:00
NagyZoltanPeter
b25a07ca9a
Move waku.nim from waku/factory to under waku/ 2026-06-25 09:51:12 +02:00
NagyZoltanPeter
6d35800fce
Chore: api shape phase2 (#3974)
* Move waku.nim from waku/factory to under waku/
* remove unused
* Realize Kernel API in scope of Waku class
* Refactor waku/api into messaging_client, waku/api/types and api_conf into logos_delivery/api
* Make liblogosdelivery and wakunode2 compile, remove waku/api.nim as it was just a import orchestrator
* make test compile and run
* Reconcile master's new send tests to LogosDelivery API after rebase

master commits #3965/#3669-followup added two test cases (Edge lightpush
delivery #3847, store-validation timeout) written against the removed
waku/api.nim createNode helper. Rewrite them to the LogosDelivery shape:
createNode -> LogosDelivery.new, node.node -> node.waku.node,
node.brokerCtx -> node.waku.brokerCtx, node.send -> node.messagingClient.send,
and drop the now-implicit mountMessagingClient calls (LogosDelivery.new
mounts the client internally).
2026-06-25 09:27:01 +02:00
Fabiana Cecin
56b92cfd71
chore: Fix .md docs (fix broken links, add QUIC notes) (#3988) 2026-06-25 09:11:52 +02:00
Ivan FB
5c20f48ab3
chore: build C/C++ examples on macOS via POSIX getopt (#3982) 2026-06-24 14:44:44 +02:00
Tanya S
b279533214
Apply LogosDelivery Orchestrator changes to api_send tests (#3976) 2026-06-24 10:43:16 +02:00
NagyZoltanPeter
8501d051a1
fix - Cap store checks on propagated messages by MessagingClient (#3965)
* Frame send service store checks and cap to 1 min per task

* Add test for store not verify case
2026-06-23 12:22:16 +02:00
Ivan FB
5309ce294b
fix: retry send tasks stuck in Entry state 2026-06-23 11:39:35 +02:00
Ivan FB
1a3b3204fa
feat: add LogosDelivery orchestrator as project entry point for FFI (#3970) 2026-06-23 01:20:09 +02:00
NagyZoltanPeter
2fe7e1c373
Workaround MacOS build issue caused by between new bearssl 0.2.9 and crhonos 2.2.4 (#3969) 2026-06-22 10:01:54 +02:00
Ivan FB
319c0c68fe
chore: simplify release process — merge deploy into prepare_release (#3964)
Co-authored-by: Igor Sirotin <sirotin@status.im>
2026-06-19 15:29:33 +02:00
Simon-Pierre Vivier
a73035e28d
feat: integrate service discovery (#3947)
---------

Co-authored-by: Fabiana Cecin <fabiana@waku.org>
2026-06-18 12:51:27 -04:00
Fabiana Cecin
03efe6766c
Messaging backfill from store only when regaining connectivity (#3957)
* ConnectionStatus transition to connected now trigger store query
* Query period computed over period in which the node was disconnected
* remove periodic 5min store query
* add connection status edge-triggered test case
* refactor RecvService test suite

Co-authored-by: Ivan FB <128452529+Ivansete-status@users.noreply.github.com>
2026-06-18 13:23:49 -03:00
Tanya S
02ad7783bf
Add tests for merkle root and proof updates (#3950)
* make generateProof async and add ensureFreshMerkleProofPath

* Use Wakumessage.new()

* Add trigger for client side only merkleproofcache updates

* full decoupling of updateRoots and merkleproofcache update

* Add tests for on demand merkle path updates

* debugging WIP

* fix for getTransactionReceipt endless loop

* clean up group manager logs

* Remove unused code from rebase mistake

* Improve Anvil proc for RLN testing

* fixing from rebase

* Fix message ref in tests and clean up logs in utils_onchain

* Clean up more logs

* Change root update log to trace

* Increase approved token amount for RLN registration testing

* Reduce comments in utils_onchain

* simplify benchmarks test result output

* Add test names

* remove duplicated tests for test_rln_groupmanager

* Trim group_manager tests

* Remove long test for local window of roots and improve amvil test performance

* Optimise tests for group_manager
2026-06-18 14:50:04 +02:00
Ivan FB
066838aa03
chore: address deferred SDS-handler review comments from #3942 (#3960) 2026-06-17 20:28:43 +02:00
Fabiana Cecin
c3090fb62f
feat: QUIC transport support (#3951)
* additive quic transport, off by default (--quic-support)
* add QuicConf + QuicConfBuilder, --quic-support / --quic-port flags
* net_config announces quic-v1 host/ext/dns4 addrs, adds quic-v1 to enr multiaddrs
* newWakuSwitch mounts quic transport when a quic addr is set
* toRemotePeerInfo: quic from enr multiaddrs ext, sorted quic-first
* BoundPorts.quic, read back the bound quic port at start (handles --quic-port=0)
* skip auto quic addr when operator supplies one via --ext-multiaddr
* tests: nodes dual-stack by default, tcp-only where single transport asserted
* tests: drop hardcoded ephemeral ports (port 0) to fix quic-churn bind flakes
* use setupNat to discover NAT-mapped UDP port when QUIC enabled
2026-06-17 07:55:45 -03:00
Darshan
7e98489a24
feat: wire ReliabilityManager into the Reliable Channel (#3942) 2026-06-16 10:40:59 +05:30
Fabiana Cecin
6837ae0c1f
feat: bump nim-libp2p to v2.0.0 (#3929)
* bump nim-libp2p pin to v2.0.0 tag
* bump json_rpc to v0.6.1, lsquic to v0.5.1, boringssl to v0.0.8 (latest tags)
* add libp2p_mix dep; repoint libp2p/protocols/mix -> libp2p_mix
* pin nimble.lock: websock / protobuf_serialization / npeg / jwt
* Makefile: add -d:libp2p_quic_support
* regenerate nix/deps.nix (adds libp2p_mix, refreshes pins)
* migrate rng ref HmacDrbgContext -> libp2p Rng across prod/channels/tests (interface-only; same DRBG)
* waku_switch: TransportConfig factory; unified 2.0.0 connection limits (withMaxInOut, withMaxConnections); local MaxConnections
* waku_relay/rendezvous/discv5/kademlia: v2.0.0 API (rng, config, ServiceDiscovery rename)
* call Service.setup() on post-build switch services (2.0.0 split setup/start)
* drop libp2p/utils/semaphore -> chronos AsyncSemaphore
* add logos_delivery/waku/compat/option_valueor shim (Option[T] valueOr/withValue, dropped upstream)
* add std/options where a transitive re-export was removed
* add newStandardSwitch shim (libp2p removed it in 2.0.0); mounts yamux+mplex to match prod muxer
* PeerId.random(rng); common.rng()/crypto.newRng(); hoist shared rng (instantiation cleanup)
* update expectations for 2.0.0 defaults: DEFAULT_PROTOCOLS += /ipfs/id/push/1.0.0; agent "nim-libp2p"
* drop relay reboot/reconnect test (asserted a Switch restart capability that is simply not supported)
* fix up a few tests that were flaking on MacOS (libp2p upgrade may have exposed these)
2026-06-15 09:56:15 -03:00
Ivan FB
54c890856f
feat: unify libs into a single liblogosdelivery (#3949) 2026-06-15 13:03:44 +02:00
Darshan
9289ba6220
chore: update release issue templates to logos fleets (#3952) 2026-06-13 10:48:29 +05:30
Tanya S
22040b739f
feat: decouple merkle path and on-demand strategy (#3940)
* make validateRoots async

* add on-demand refreshRoots functionality

* Move max rootsrefresh time to constants

* make generateProof async and add ensureFreshMerkleProofPath

* Update to match code format and linting

* Use Wakumessage.new()

* Add trigger for client side only merkleproofcache updates

* full decoupling of updateRoots and merkleproofcache update

* Fix isNil check format

* Move moment check to top of roots and merkle path update procs

* Update PathCheckMinInterval

* Add tests for on demand merkle path updates

* Replace appendRLNProof and use message.toRLNSignal

* Fix linting

* Remove commented code

* Remove more old commented code

* Fix formatting and simplifications
2026-06-12 12:22:34 +02:00
Fabiana Cecin
b7c2cee2c9
fix(pr-lint): grant the comment job pull-requests:write (#3944) 2026-06-11 10:31:53 +02:00
Fabiana Cecin
d712da5a54
accept CLI option names in JSON config (#3943) 2026-06-11 10:31:33 +02:00
Fabiana Cecin
41b5c4906f
feat: Improve config (v2) (#3925)
* rename NetworkConf -> NetworkPresetConf and related procs/vars
* Rewrite applyNetworkPresetConf to apply user-set fields over preset fields
* New dedicated parser for configJson
* Fix tests to use actual extract JSON nodeconf parser
* Change all confbuilder defaults from literal values to DefaultXXX consts
* Change int/bool WakuNodeConf fields to Option to get user intent w/o sentinels
* Make Option CLI default-value help mention defaults now owned by confbuilder
* Document CLI defaults that differ from confbuilder defaults
* Fix agent-string builder default deviating from CLI default
* Add WakuConfBuilder.enforceSecurityConstraints()
* Fail on RLN user preset overrides instead of drop-and-continue
* Add regression tests for initial set of conf constraints
* fix kademliaDiscoveryConfBuilder.build() enable/disable kad logic
* Misc refactors, fixes
* Add tests

Co-authored-by: Ivan FB <128452529+Ivansete-status@users.noreply.github.com>
2026-06-10 09:09:22 -03:00
Tanya S
362c35f2fb
Install specific foundry anvil version directly (#3937)
* Install specific foundry anvil version directly

* clean verbose comments
2026-06-09 14:25:13 +02:00
Ivan FB
c7350abb58
clean waku_noise because it is not used in prod code (#3934) 2026-06-09 10:32:42 +02:00
Darshan
faa6741311
fix: build zerokit rln from source via fixed nixpkgs, drop prebuilt fetch (#3930) 2026-06-08 18:42:26 +05:30
Ivan FB
3b03ca29b1
refactor: introduce proper logos_delivery layers folder structure (#3935)
Co-authored-by: NagyZoltanPeter <113987313+NagyZoltanPeter@users.noreply.github.com>
2026-06-08 13:37:53 +02:00
Ivan FB
38d951a2fd
Rename kernel_api dir to waku_node and tidy node module layout (#3927) 2026-06-04 23:06:54 +02:00
Ivan FB
6fd0f9c079
ci: fix Windows build hang on re-downloading nimble deps (#3920) 2026-06-04 21:17:43 +02:00