396 Commits

Author SHA1 Message Date
Richard Ramos
da45dab68e
fix: nwaku / go-waku rlnKeystore compat 2023-08-11 11:54:24 -04:00
Richard Ramos
e0e4a2fa87 refactor: remove unused function and simplify code related to creating db and migrations 2023-08-10 10:37:22 -04:00
Richard Ramos
ee2af4646c feat: sqlite vacuum and optional migrations 2023-08-10 10:29:40 -04:00
Prem Chaitanya Prathi
9f45d271ac
feat: support serviceslots in peermanager (#631)
* feat: support peermanager serviceslots and update store protocol to use serviceslots

* fix: lint errors in test code

* fix: error in nix build due to vendor sha change

* fix: set host in peermanager even if relay is disabled

* chore: fix codeclimate issues

* chore: using common filterPeer function to avoid duplication

* feat:use service slots in other service protocols

* chore: fix codeclimate issues

* chore: move AddPeer to peermanager

* Apply suggestions from code review

Co-authored-by: richΛrd <info@richardramos.me>

* chore:address review comments

* feat: implement RemovePeer #638

* chore: fix test failure

* Support for multiple slots for service peers
Adding discovered peers also moved to peer manager

---------

Co-authored-by: richΛrd <info@richardramos.me>
2023-08-10 18:28:22 +05:30
Prem Chaitanya Prathi
af7471d158
fix:during unsubscribeAll, remove peer without any checks 2023-08-07 15:01:44 +05:30
Prem Chaitanya Prathi
20040f2e9b
fix: data race in filter unsubscribe 2023-08-05 08:03:19 +05:30
Prem Chaitanya Prathi
22398b2868
fix:race in filter peer subscription map iteration and deletion 2023-08-05 08:00:04 +05:30
Prem Chaitanya Prathi
884f65ecdf
fix: noise protocol channel close race condition 2023-08-04 17:19:53 +05:30
Prem Chaitanya Prathi
34de2941c7
Feat/peer manager (#596)
* chore: refactor existing code into peer maanger package

* feat: move peer connection related code into peer manager

* feat: in relay peer connection pruning

* feat: add max-connections CLI flag and limit outRelayPeers based on max-connections #621

* tested both in and out relay connection limits

Co-authored-by: richΛrd <info@richardramos.me>

* Review comment, use context to pause connectivity loop during node shutdown.

Co-authored-by: richΛrd <info@richardramos.me>

* address review comments


---------

Co-authored-by: richΛrd <info@richardramos.me>
2023-08-03 21:51:15 +05:30
Richard Ramos
33344c2ae0 refactor: use uint instead of int for RLN indexes 2023-08-03 11:17:50 -04:00
Richard Ramos
a4b038730c feat(rln-relay): pass in index to keystore credentials 2023-08-03 11:17:50 -04:00
Prem Chaitanya Prathi
e6aaf9c852
chore: fix comment on test 2023-08-02 11:24:50 +05:30
Richard Ramos
55ec2347a8 fix: RLN
- subscription to topic is not required for registering RLN validator
- check for duplication msg within same epoch was incorrect
- added an example on how to use RLN
2023-08-01 09:19:38 -04:00
Richard Ramos
8b3f42310d fix: code review 2023-08-01 09:17:11 -04:00
Richard Ramos
dc08c44804 feat: add filters for discv5 2023-07-31 10:45:45 -04:00
Richard Ramos
a422add209 chore: add missing comments to functions 2023-07-23 07:01:42 -04:00
Richard Ramos
dbd94ebb81 fix: add p2p-circuit component to multiaddresses that use circuit-relay 2023-07-07 12:04:05 -04:00
Richard Ramos
8cac406a4c fix: warning message format when using static shards and named shards at same time 2023-07-07 10:35:12 -04:00
Richard Ramos
b26859fc6a refactor: make discovery connector subscribe to discovery services 2023-07-07 09:47:46 -04:00
Richard Ramos
6ece3c483b feat: subscribe to shards with --topic and refactors
- Shards in same cluster are advertised on ENR
- Store().Resume() was moved to app layer
- NoDefaultWakuTopic() was removed since it's the app that must determine whether it subscribes to the default waku topic
- Removed `Publish` from WakuNode (not really used and easy to implement in app layer if needed)
2023-07-06 11:18:29 -04:00
Richard Ramos
7dd02067f8 fix: unsubscribe from all peers unless specified and check err code when full node has no subscription 2023-07-05 15:54:31 -04:00
Richard Ramos
fb3447f3d8
fix: adding relay protocol to feature check function of gossipsub 2023-06-29 09:29:08 -04:00
Richard Ramos
b8ab99ba08 fix: set wakurelay at index 0 in gossipsub protocol list 2023-06-28 14:06:16 -04:00
Richard Ramos
eba4aa43e5 feat: find discv5 peers with shards 2023-06-26 11:03:16 -04:00
Richard Ramos
0381b92531 feat(c-bindings): filterv2 2023-06-26 11:03:01 -04:00
Richard Ramos
c380faa6ae fix: code review and disconnect bad peers 2023-06-09 14:57:43 -04:00
Richard Ramos
875d132c1e feat: gossipsub scoring 2023-06-09 14:57:43 -04:00
Richard Ramos
76186e5477 refactor: store ENR 2023-06-09 14:57:43 -04:00
Richard Ramos
52ac8e3740 refactor: various
- Limit inbound connections to 10 per IP
- Expose gossipsub parameters on WakuRelay
- New peerstore
2023-06-09 14:57:43 -04:00
Richard Ramos
b0c094b0b6 feat: more utils functions to setup a relay shards field on the enr 2023-06-05 16:03:14 -04:00
Richard Ramos
1bffa35dfa fix: enodeToMultiaddress when using ipv6
Fixes #560
2023-06-01 14:02:18 -04:00
Richard Ramos
1c75c89790 refactor: remove unneeded Connect as dns4 addresses are being resolved now 2023-06-01 14:02:08 -04:00
Richard Ramos
10c2e20910
fix: signatures 2023-05-26 11:18:00 -04:00
Richard Ramos
2c17e20d99
fix: neither encoding nor address comparison are needed to protect a topic 2023-05-26 10:42:25 -04:00
Richard Ramos
189b2ed120
revert: "refactor: use an address instead of public key for the node setup"
This reverts commit 38a9fc4b19ba9eae64f8f8da0388e2a9b06cf72f.
2023-05-22 17:03:40 -04:00
Richard Ramos
38a9fc4b19 refactor: use an address instead of public key for the node setup 2023-05-12 09:09:08 -04:00
Richard Ramos
aed730c634 feat: use addresses in signed topic validator 2023-05-12 09:09:08 -04:00
Richard Ramos
e14c55c263 refactor: enr builder 2023-05-09 17:30:26 -04:00
Richard Ramos
279524f100 feat(filter): get subscription list 2023-05-08 17:37:15 -04:00
harsh-98
38741caca0 fix: constrainted env add wait to TestRelaySubscription 2023-05-08 08:31:19 -04:00
harsh-98
bf8c856bc3 fix: use buffered channel as needed by legacy_filter, filter 2023-05-08 08:31:19 -04:00
harsh-98
128999b763 fix: make test work without buffered channel from relay.Subcribe 2023-05-08 08:31:19 -04:00
harsh-98
60edf95c48 fix: broadcaster shouldn't block if channels are not listened to 2023-05-08 08:31:19 -04:00
harsh-98
210597f7e0 fix: to test for new Broadcaster 2023-05-08 08:31:19 -04:00
harsh-98
31c8035589 feat: safe broadcaster 2023-05-08 08:31:19 -04:00
Richard Ramos
46500b0de9 fix: handle duplicate filter id removal 2023-05-05 13:52:58 -04:00
Richard Ramos
231469b441 feat: validate message timestamp in signed topic validator 2023-05-05 13:52:51 -04:00
harsh-98
f94b071a84 nit: remove redundant field 2023-05-05 11:41:10 -04:00
harsh-98
e6d9f6b1d8 nit: change to simpleLRU 2023-05-05 11:41:10 -04:00
harsh-98
c890b1fee8 refactor(peerExchange): use lru for storing peers 2023-05-05 11:41:10 -04:00