Prem Chaitanya Prathi
bd65c116bb
feat(mix): DoS protection + libp2p v2.0.0 + stateless RLN + tests (rebased onto #3935 )
...
Squash of 13 commits from feat/mix-dos-protection-libp2p-v2.0.0 onto the
logos_delivery/ folder-restructure base from #3935 (build-messaging-folder).
Original commit history (squashed):
- d8e6dcef feat(mix): integrate mix protocol with extended kademlia + RLN spam protection
- fb72f18d refactor(mix): split DoS-protection self-registration into background retry
- d8bbef0c feat(mix): bump libp2p stack to v2.0.0 + adopt stateless RLN spam protection
- 2f24448a fix(tests): use HmacDrbgContext.new() instead of crypto.newRng()
- 5a21455c fix(ci): regen nimble.lock for v2.0.0 + disambiguate rng in wakucore
- 03ef02a2 fix(tests): wrap HmacDrbgContext via newBearSslRng for libp2p v2.0.0
- 167ab1df fix(nix): regenerate deps.nix from updated nimble.lock
- 97a27222 fix(tests): wrap or pass Rng correctly for 3-arg PrivateKey.random
- 5561fcb5 fix(tests): replace removed newStandardSwitch with SwitchBuilder
- ba39ee4a fix(tests): libp2p v2.0.0 API migrations across test suite
- 328e11df fix: gitignore test binaries + remove accidentally-committed binary
- cc712444 fix(tests): more v2.0.0 API migrations (rng template, PeerId.random, etc.)
- 412d97a9 fix(tests): unblock CI — nph, excise orphan waku_noise, complete v2.0.0 Rng migration
Conflict resolutions (#3935 → ours):
- 11 import-path migrations: waku/X → logos_delivery/waku/X
- waku_node/waku_node/relay.nim: dropped our `registerRelayHandler` proc
(relocated to subscription_manager.nim by #3935 ; see cascade fix below)
- factory/builder.nim: combined both sides' new imports (net_config + waku_switch)
- factory/conf_builder/mix_conf_builder.nim: libp2p_mix package (not libp2p/protocols/mix)
- waku_mix/protocol.nim: combined paths + our mix_rln_spam_protection/relay/nimchronos imports
- 3 test files: dropped noise_utils import (replicates noise excision from original PR)
- 2 UA file moves: option_shims.nim and waku_mix_coordination.nim added at new paths
Cascade fixes (#3935 lost our work, restored):
- subscription_manager.nim: added `mixHandler` to #3935 's `registerRelayHandler`,
and added `waku_mix` to its imports. Without this, mix messages were silently
dropped from the relay handler chain.
- config.nims: option_shims auto-import path migrated to logos_delivery/...
Validation:
- nph check on all 82 staged .nim files: clean (0 reformats needed)
- wakunode2 build: exit 0, 38 MB binary
- (sim PASS confirmed in earlier identical-state run: 5/5 mix init,
5 RLN proofs gen/verify, 0 errors)
Backup tag at original tip: backup/3931-pre-3935-rebase (412d97a9).
2026-06-22 14:20:58 +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
cf6298ca1f
Generic re-style with nph 0.5.1 ( #2396 )
2024-03-16 00:08:47 +01:00
Lorenzo Delgado
6eb3e8442e
feat(testlib): added global tests rng and waku2 sub-module
2023-02-13 11:43:49 +01:00
Alvaro Revuelta
9ccaeb1d6e
feat(networking): add backoff period after failed dial ( #1462 )
...
* feat(networking): add exponential backoff when dialing relay peers
* feat(networking): fix tests
* revert withTimeout
* feat(networking): refactor tests
* feat(networking): improve logs + ping using switch
* feat(networking): fix backoff bug + fix tests
* feat(networking): fix comments
2023-01-23 21:24:46 +01:00
Hanno Cornelius
1a271d9c79
chore: update submodules and bump Nim to 1.6.6 ( #1307 )
...
* chore: update submodules
* fix: libp2p now provides callback to update peer addrs
* fix: breaking change in EthereumNode constructor
* fix: contentType type has changed (again)
* fix: explicit future type
* fix: nim 1.6.6 error handling requirements
* fix: missed a spot - peer info addrs in sim2
* fix: help compiler a bit here
2022-10-28 12:51:46 +03:00
Hanno Cornelius
73a93ed0d2
chore: update nwaku submodules ( #1123 )
...
* chore: update submodules
* fix: SIGTERM ambiguity
* fix: ambiguous RNGs
* fix: ContentType is no longer a string
* fix: more fixes related to ambiguous RNGs
* fix: start all protocols
* chore: also update nim-eth
* chore: important new fixes in nim-libp2p
* fix: more changes related to RNG. Some reversion to reflect nim-eth update
* fix: breaking changes in nim-eth submodule
* fix: start protocols in tests
* fix: chat2bridge protocols async mounting
* fix: v1 test compilation
* fix: rln test compilation
* fix: remove confusing keys qualifier for the same HmacDrbgContext
2022-09-07 16:31:27 +01:00
Kim De Mey
91dc245604
Bump chronos and fix exception tracking issues ( #436 )
...
* Bump nim-chronos and fix exception tracking issues
* Bump other Nim submodules to latest
* Fix repeatMessage properly through proc type fix in nim-eth
Also add and use unittest2 through testutils to avoid extra
annotations.
2021-03-26 10:52:04 +01:00
Hanno Cornelius
c37874c317
Update submodules ( #424 )
...
Update submodules and fix issues
2021-03-17 10:52:27 +02:00
Dean Eigenmann
a13526fe87
feature/store-protocol ( #102 )
...
* started working on store protocol
* eol
* update
* fix
* encoding
* started
* started working on decoding
* fixes
* started fleshing out tests
* testing
* encode / decode test
* eol
* fix test
* fmt
* errors
* testing entire rpc now
* fix
* format
* added comment
* removed StoreRPC
* added comment
* readded the store rpc
* updated
* fix tests
2020-08-27 10:44:09 +08:00
Dean Eigenmann
ff28255fd1
feature/historic-api ( #95 )
...
* started working on historic api
* very rough code
* moved
* also publishing
* todos
* added tests
* added
* fix
2020-07-29 15:24:01 +02:00
Kim De Mey
058450dfb7
Bump nim-eth and move tests under v1 subfolder ( #3 )
2020-05-08 09:36:28 +02:00
kdeme
50e1a2680d
Move waku_protocol + tests from nim-eth
2020-05-01 14:43:25 +02:00