Commit Graph

863 Commits

Author SHA1 Message Date
Roman Zajic 4b9e3635a2
chore: peermanager tests coverage improvement (#1035) 2024-03-18 16:22:20 +08:00
richΛrd 3074cdb11c
fix: verify if metadata exists before checking for shard mismatch (#1056) 2024-03-16 06:18:10 +05:30
richΛrd bdf44c0a23
fix(metadata): only verify peer metadata on relay (#1052) 2024-03-14 10:21:47 -04:00
richΛrd 32be835b5e
chore(metadata): handle deprecated shards field (#1050) 2024-03-12 08:14:25 -04:00
Roman Zajic bdf10a46e4
chore: peer exchange tests coverage improvement (#1046) 2024-03-11 21:33:54 +08:00
richΛrd 4d828bdf70
feat(peer-exchange): rate limit (#1043)
Co-authored-by: Prem Chaitanya Prathi <chaitanyaprem@gmail.com>
2024-03-11 09:58:14 +05:30
richΛrd 0ba0f1fe26
refactor: use ttl of 5m for subscriptions (#1041) 2024-02-22 10:52:00 -04:00
richΛrd 0bdd3590f7
chore: add artificial delay to peer-exchange (#1038) 2024-02-21 10:11:48 -04:00
richΛrd d65a836bb6
chore: drop legacy filter support (#1037) 2024-02-20 08:47:37 -04:00
Prem Chaitanya Prathi 4f232c40ca
feat: topic health reporting (#1027)
Co-authored-by: richΛrd <info@richardramos.me>
2024-02-08 15:24:58 +05:30
richΛrd c09bd8383b
chore: add rate limiter option to lightpush (#1024) 2024-02-05 08:53:15 -04:00
Prem Chaitanya Prathi 2e7a82e130
feat: peer exchange filter by shard (#1026) 2024-02-02 18:47:09 +05:30
Prem Chaitanya Prathi b647314846
chore: add logs for peer connection backoff (#1018) 2024-01-30 17:20:35 +05:30
Prem Chaitanya Prathi 0f00fb8d96
fix: update lastProcessedBlock even if no RLN membership event is present (#1013) 2024-01-26 15:38:37 +05:30
Prem Chaitanya Prathi 3be0edbf14
feat: support multiple peer selection for filter client (#1005) 2024-01-26 14:15:15 +05:30
Prem Chaitanya Prathi 5fdd0da9ee
chore: set log level for all loggers based on logger passed (#1011) 2024-01-25 19:39:49 +05:30
Roman Zajic 190d8e8e08
chore: RLN tests coverage improvement for node gm (#1009) 2024-01-21 11:55:27 +08:00
frank 0723ff9282
feat: Enable immediate dial termination by reusing passed context in GetResolver (#1006) 2024-01-15 20:12:02 +05:30
Prem Chaitanya Prathi faf046e059
chore: bumped libp2p and pubsub to 0.32.2 and 0.10 respectively (#987)
Co-authored-by: Richard Ramos <info@richardramos.me>
2024-01-12 13:40:27 -04:00
Roman Zajic 75f975ce7a
chore: RLN tests coverage improvement (#1003) 2024-01-11 22:52:52 +08:00
richΛrd 82fc800b08
feat: parameterizable number of connections per IP (#994) 2024-01-08 15:05:21 -04:00
Prem Chaitanya Prathi 369a025b7c
fix: use both filter and legacyFilter flags to determine if filter is enabled and set Waku2 ENR field (#996) 2024-01-08 21:26:16 +05:30
Prem Chaitanya Prathi 4e19d93da1
chore: increase maxContentFilter limit for Filter protocol to 100 (#1000) 2024-01-08 21:18:56 +05:30
Roman Zajic 68c0ee2598
chore: store tests coverage improvement (#993) 2024-01-05 20:14:17 +08:00
richΛrd ff68934354
chore: improve light client logging (#992) 2024-01-04 10:41:11 -04:00
Prem Chaitanya Prathi adda1cfd6d
fix: handle existing static peer discovered with ENR that causes crash (#990) 2024-01-04 10:33:42 -04:00
richΛrd 846183d515
chore: use nwaku's db format (#965) 2024-01-03 12:49:54 -04:00
Prem Chaitanya Prathi a327e56377
fix: return error while serializing rln metadata in case chainID is 0 (#985) 2024-01-03 21:09:59 +05:30
Prem Chaitanya Prathi 6141f94b40
fix: presist lastProcessedBlock correctly when no rln events are processed (#981) 2024-01-03 20:52:55 +05:30
Prem Chaitanya Prathi ec468e0a26
chore: update examples with autosharding and static sharding (#986) 2024-01-03 20:44:59 +05:30
Prem Chaitanya Prathi 71aec6d37b
feat: metrics dashboard (#980) 2024-01-03 11:11:11 +05:30
Prem Chaitanya Prathi bad57fcb0c
fix: get peers api to not include own node ID as peer (#974) 2024-01-03 08:05:04 +05:30
Prem Chaitanya Prathi b5068b4357
feat: relay msg size (#963)
Co-authored-by: richΛrd <info@richardramos.me>
2024-01-03 07:06:41 +05:30
Prem Chaitanya Prathi 4f8ed170fe
fix: ENR seq check to skip adding already existing peer (#978) 2024-01-03 06:35:23 +05:30
richΛrd c00b218215
chore: add retry mechanism for rpc calls and rename db function (#966) 2024-01-02 12:35:58 -04:00
Prem Chaitanya Prathi 02e2c5926e
fix: return appropriate error code for filter subscribe ping (#975) 2024-01-02 19:41:55 +05:30
Prem Chaitanya Prathi 4ef0c75ded
fix: use node's clusterId when adding peer from admin REST API & don't subscribe to default pubsub topic for non-zero clusterID (#973) 2024-01-02 18:04:43 +05:30
kaichao b4ba7b75d4
chore: stop light filter node by default (#964) 2023-12-21 08:44:51 +08:00
Roman Zajic 097123a30e
chore: lightpush tests coverage improvement (#957) 2023-12-15 22:09:56 +08:00
richΛrd 0218169b5f
fix: remove more noisy logs from discv5 (#961) 2023-12-13 10:54:43 -04:00
kaichao 5d1477d5b4
fix: hash calculation of message to include timestamp (#959) 2023-12-13 10:46:23 -04:00
richΛrd c403388ec2
fix: remove extremely noisy logs (#956) 2023-12-11 11:46:23 -04:00
richΛrd 0ba1b63066
chore: remove bridging topics feature (#949) 2023-12-09 13:59:35 -04:00
richΛrd fd4df9221e
fix(lightpush): register lightpush protocol when instantiated (#951) 2023-12-08 11:55:15 -04:00
harsh jain d7c7255aa4
refactor: shard LRU for storing peers by shard (#840)
Co-authored-by: Richard Ramos <info@richardramos.me>
2023-12-06 14:34:58 -04:00
richΛrd 48ab9e6ce7
fix: number of connected peers per topic (#948) 2023-12-06 09:38:56 -04:00
richΛrd 6ab2cfb53b
fix: take into account the ENR seq to determine if a peer is new or not (#945) 2023-12-06 09:12:48 -04:00
richΛrd f0ed5e32d5
fix(store): set pagesize behavior match nwaku (#944) 2023-12-06 09:02:05 -04:00
Prem Chaitanya Prathi 021265eba4
feat: fill msg timestamp while appending RLN proof it is not set (#940) 2023-12-06 07:27:00 +05:30
Prem Chaitanya Prathi 5a5ee51f4b
feat: include pubsubTopics supported by peer in getPeers REST API (#943) 2023-12-06 07:17:59 +05:30
richΛrd 13e2d7ac4b
feat: make `criteriaFN` public (#942) 2023-12-04 16:23:04 -04:00
kaichao 16d59f37d0
chore: error handling in params construction (#934) 2023-12-01 13:04:32 +08:00
Roman Zajic 0b4df80b98
chore: filter v2 tests coverage improvement (#931) 2023-12-01 10:53:01 +08:00
Prem Chaitanya Prathi 6bd85a1dc9
fix: return error in relay publish if exceeding max-msg-size (#939) 2023-12-01 06:53:28 +05:30
Prem Chaitanya Prathi ac1a699171
fix: return appropriate errors in filter unsubscribe (#941) 2023-12-01 06:27:13 +05:30
richΛrd b7105f9b9f
refactor: reuse query and cursor instead of specifying each pb field (#937) 2023-11-30 14:48:55 -04:00
kaichao e0be9857ef
chore: fix enr flaky test with local dns resolver (#935) 2023-11-30 10:12:14 +08:00
kaichao 28107bd307
chore: allow custom resolver for dns discovery (#930) 2023-11-29 18:16:28 +08:00
richΛrd cf8c36f85d
fix: do not start metadata protocol unless required (#920) 2023-11-28 10:13:43 -04:00
Prem Chaitanya Prathi d7249fc123
fix: rest api errors (#919)
Co-authored-by: richΛrd <info@richardramos.me>
2023-11-24 10:26:06 +05:30
Prem Chaitanya Prathi b59a498606
fix: relay unsub issue (#924)
co-authored-by: richΛrd <info@richardramos.me>
2023-11-24 06:51:37 +05:30
Roman Zajic fb49752f0f
chore: filter v2 tests push invalid payload (#916) 2023-11-23 18:19:46 +08:00
kaichao 2af8cf7344
chore: fix c-bindings example (#915) 2023-11-22 19:35:20 +08:00
richΛrd ad8f349817
refactor(relay): use single data structure to contain pubsub items (#907) 2023-11-21 13:27:50 -04:00
richΛrd 49593fd61d
fix: use subscription peerIds instead of separate peer slice (#906) 2023-11-20 09:27:22 -04:00
richΛrd f0fbe62b8d
fix(test): postgres (#912) 2023-11-20 08:51:29 -04:00
Roman Zajic c0aa5111a1
test: extend timeout for single message (#911) 2023-11-16 11:13:19 -04:00
Prem Chaitanya Prathi 9a30c78e1a
fix: add peer api to consider protocols passed (#903) 2023-11-15 20:09:09 +05:30
Prem Chaitanya Prathi e464131f89
feat: add a new option to specify peer addr for light protocols (#896) 2023-11-15 19:56:55 +05:30
Roman Zajic ae61805152
chore: filter v2 tests push valid payload (#904) 2023-11-15 21:38:08 +08:00
richΛrd f441f33c5f
fix: allow to use `postgres` in DB url (#901) 2023-11-14 14:45:30 -04:00
Prem Chaitanya Prathi 392558ec8e
fix: panic when discv5 is enabled while running service node (#897) 2023-11-14 16:47:49 +05:30
Prem Chaitanya Prathi a5ce5dfaa4
feat: update store client Query API for autosharding (#885) 2023-11-14 04:22:46 +05:30
harsh jain 73bcb2e78a
feat: add dns discovery in lib (#884) 2023-11-13 19:17:43 +07:00
Vitaly Vlasov 684c7a46df Add messages logging subsystem 2023-11-10 13:54:52 +02:00
Hish Bouabdallah 10e32d1059
Default validators not executed (#887) 2023-11-10 16:30:12 +05:30
richΛrd 5aa4d578aa
fix: panic if it is not possible to obtain the merkle root (#873) 2023-11-09 16:17:41 -04:00
richΛrd ff94b1faf0
chore: remove --store-message-db-vacuum (#883) 2023-11-09 16:10:40 -04:00
richΛrd 3d217ed5ff
fix: WakuMessage json encoding (#880) 2023-11-08 12:09:10 -04:00
richΛrd 70cb6de576
fix: noisy peer exchange log (#881) 2023-11-08 12:03:08 -04:00
Prem Chaitanya Prathi fab51beadf
fix : issues with get messages API (#878)
* fix issues with get messages API

---------

Co-authored-by: richΛrd <info@richardramos.me>
2023-11-08 18:46:24 +05:30
Prem Chaitanya Prathi 28c0cd5d8e
fix: content topic validation as per rfc 51 (#874)
* fix: content topic validation as per rfc 51

* chore: update library API's and examples
2023-11-08 18:24:24 +05:30
Roman Zajic 43412c9da5
Chore: filter v2 tests unsubscribe all (#875)
* Chore(filter v2) test updates (#811)

* test: Test incorrect protocol identifiers

* fix: return errors in FilterSubscribeOption

* test: Test incorrect push identifier added
- test incorrect subscribe identifier separated

* test: Test Ping failure after unsubscription

* test: Test PubSub with single content topic

* test: Simplify test PubSub with single content topic

* test: Test with single pubsub and multiple content topics

* test: Test with multiple PubSub and multiple contentTopic

* test: Test with multiple overlaping contentTopics
- test contentTopics limit

* test: refactor tests to fix concurrent run errors

* test: Test subscription refresh

* test: Test error handling for subscribe

* test: Test subscription to multiple full nodes

* update test to fix #804

* Update waku/v2/protocol/filter/filter_test.go

Combine log messages

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

* Update waku/v2/protocol/filter/filter_test.go

Delete commented - temporary code

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

* Update waku/v2/protocol/filter/filter_test.go

fmt.Sprintf instead of "+" suffix => more performance and beauty

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

* Update waku/v2/protocol/filter/filter_test.go

Adjust comment with code

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

* Update waku/v2/protocol/filter/filter_test.go

Combine multiple related log entries into one.

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

* Update waku/v2/protocol/filter/filter_test.go

Align comment with the code

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

* Update waku/v2/protocol/filter/filter_test.go

Use fmt.Sprintf() instead of "+" for more beauty and speed

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

* test: refactor tests with prepareData()

* test: Test incorrect protocol identifiers

* chore: rebase onto latest master

* test: Test incorrect push identifier added
- test incorrect subscribe identifier separated

* test: Test Ping failure after unsubscription

* test: Test PubSub with single content topic

* test: Simplify test PubSub with single content topic

* test: Test with single pubsub and multiple content topics

* test: Test with multiple PubSub and multiple contentTopic

* test: Test with multiple overlaping contentTopics
- test contentTopics limit

* test: refactor tests to fix concurrent run errors

* test: Test subscription refresh

* test: Test error handling for subscribe

* test: Test subscription to multiple full nodes

* update test to fix #804

* Update waku/v2/protocol/filter/filter_test.go

Combine log messages

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

* Update waku/v2/protocol/filter/filter_test.go

Delete commented - temporary code

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

* Update waku/v2/protocol/filter/filter_test.go

fmt.Sprintf instead of "+" suffix => more performance and beauty

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

* Update waku/v2/protocol/filter/filter_test.go

Adjust comment with code

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

* Update waku/v2/protocol/filter/filter_test.go

Combine multiple related log entries into one.

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

* Update waku/v2/protocol/filter/filter_test.go

Align comment with the code

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

* Update waku/v2/protocol/filter/filter_test.go

Use fmt.Sprintf() instead of "+" for more beauty and speed

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

* test: refactor tests with prepareData()

* test: Test incorrect protocol identifiers

* fix: return errors in FilterSubscribeOption

* test: Test incorrect push identifier added
- test incorrect subscribe identifier separated

* test: Test Ping failure after unsubscription

* test: Test PubSub with single content topic

* test: Simplify test PubSub with single content topic

* test: Test with single pubsub and multiple content topics

* test: Test with multiple PubSub and multiple contentTopic

* test: Test with multiple overlaping contentTopics
- test contentTopics limit

* test: refactor tests to fix concurrent run errors

* test: Test subscription refresh

* test: Test error handling for subscribe

* test: Test subscription to multiple full nodes

* update test to fix #804

* Update waku/v2/protocol/filter/filter_test.go

Combine log messages

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

* Update waku/v2/protocol/filter/filter_test.go

Delete commented - temporary code

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

* Update waku/v2/protocol/filter/filter_test.go

fmt.Sprintf instead of "+" suffix => more performance and beauty

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

* Update waku/v2/protocol/filter/filter_test.go

Adjust comment with code

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

* Update waku/v2/protocol/filter/filter_test.go

Combine multiple related log entries into one.

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

* Update waku/v2/protocol/filter/filter_test.go

Align comment with the code

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

* Update waku/v2/protocol/filter/filter_test.go

Use fmt.Sprintf() instead of "+" for more beauty and speed

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

* test: refactor tests with prepareData()

* Fix error during rebase

* Sync filter tests with latest master

* Refactor context initialization for test

* test: Incorrect Subscribe Identifier refactored with custom subscribe

* test: refactor into multiple files

* test: Subscribe with multiple light nodes to one full node

* test: shared mode for full node creation
- test preview Subscribe fullNode to fullNode

* test: test Subscribe fullNode to fullNode

---------

Co-authored-by: Richard Ramos <info@richardramos.me>
Co-authored-by: Prem Chaitanya Prathi <chaitanyaprem@gmail.com>

* test: unsubscribe all without content topics

* test: unsubscribe all without any filter specification

* test: move unsubscribe all tests to unsubscribe file

---------

Co-authored-by: Richard Ramos <info@richardramos.me>
Co-authored-by: Prem Chaitanya Prathi <chaitanyaprem@gmail.com>
2023-11-08 20:19:07 +08:00
richΛrd 150ade6f33
chore: use waku-org/waku-proto repository for protobuffer definitions (#828) 2023-11-07 15:48:43 -04:00
Prem Chaitanya Prathi 3226def4cf
feat: On Demand Peer Discovery based on shard and service (#834)
* refactor discovery and common service to separate package to remove package inter-dependencies

* relay on-demand discovery ,use proto to enr field mapping

* chore: no need to dial discovered peers as peermanager already does that

* on demand discovery for service peers during peer selection

* identify supported protocols for discovered peers and add to service slots

* fix: tests to use proper static sharding topics

* fix: random selection with default pubsubTopic

---------

Co-authored-by: richΛrd <info@richardramos.me>
2023-11-07 22:43:19 +05:30
Prem Chaitanya Prathi 2616d43c9d
chore: update relay REST and RPC API's and fix unit tests (#866)
* update relay REST API's to remove duplicate message cache, fix relay tests and admin test

* chore: enable REST and RPC unit tests

* update lightpush rest api to match yaml

* fix: filter rest unit test failures

* skipping legacy filter tests

* chore: add unit tests for autosharding relay REST API, fix success response (#868)
2023-11-07 20:26:48 +05:30
Prem Chaitanya Prathi 9315de8d8a
feat: discv5 filter out nodes that have empty waku capabilities (#865) 2023-11-07 17:59:02 +05:30
harsh jain 532a04013f
feat(rest-filterv2): get message (#856)
* feat: add getMessage endpoint

* test: getMessage filter v2
2023-11-04 14:24:20 +07:00
harsh jain a0bc53c679
fix(subscription-map): uniform operations and encapsulation (#853)
* fix(subscription-map): uniform operations and encapsulation

* nit: fixes based on comments
2023-11-04 14:16:24 +07:00
richΛrd 67d57a36b8
refactor: only log errors different from `ErrNoPeersAvailable` when selecting random peers. (#864)
Includes a minor refactor to not need to use pointers for the peerID
2023-11-03 12:13:38 -04:00
richΛrd d51c207a1f
feat: bridge relay topics (#854) 2023-11-03 09:47:15 -04:00
richΛrd e0c6ab8ee1
feat: dont' filter out bootnodes (#860) 2023-11-03 09:23:47 -04:00
Roman Zajic 02f2800b04
chore: filter v2 tests unsubscribe (#855)
* Chore(filter v2) test updates (#811)

* test: Test incorrect protocol identifiers

* fix: return errors in FilterSubscribeOption

* test: Test incorrect push identifier added
- test incorrect subscribe identifier separated

* test: Test Ping failure after unsubscription

* test: Test PubSub with single content topic

* test: Simplify test PubSub with single content topic

* test: Test with single pubsub and multiple content topics

* test: Test with multiple PubSub and multiple contentTopic

* test: Test with multiple overlaping contentTopics
- test contentTopics limit

* test: refactor tests to fix concurrent run errors

* test: Test subscription refresh

* test: Test error handling for subscribe

* test: Test subscription to multiple full nodes

* update test to fix #804

* Update waku/v2/protocol/filter/filter_test.go

Combine log messages

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

* Update waku/v2/protocol/filter/filter_test.go

Delete commented - temporary code

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

* Update waku/v2/protocol/filter/filter_test.go

fmt.Sprintf instead of "+" suffix => more performance and beauty

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

* Update waku/v2/protocol/filter/filter_test.go

Adjust comment with code

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

* Update waku/v2/protocol/filter/filter_test.go

Combine multiple related log entries into one.

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

* Update waku/v2/protocol/filter/filter_test.go

Align comment with the code

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

* Update waku/v2/protocol/filter/filter_test.go

Use fmt.Sprintf() instead of "+" for more beauty and speed

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

* test: refactor tests with prepareData()

* test: Test incorrect protocol identifiers

* chore: rebase onto latest master

* test: Test incorrect push identifier added
- test incorrect subscribe identifier separated

* test: Test Ping failure after unsubscription

* test: Test PubSub with single content topic

* test: Simplify test PubSub with single content topic

* test: Test with single pubsub and multiple content topics

* test: Test with multiple PubSub and multiple contentTopic

* test: Test with multiple overlaping contentTopics
- test contentTopics limit

* test: refactor tests to fix concurrent run errors

* test: Test subscription refresh

* test: Test error handling for subscribe

* test: Test subscription to multiple full nodes

* update test to fix #804

* Update waku/v2/protocol/filter/filter_test.go

Combine log messages

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

* Update waku/v2/protocol/filter/filter_test.go

Delete commented - temporary code

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

* Update waku/v2/protocol/filter/filter_test.go

fmt.Sprintf instead of "+" suffix => more performance and beauty

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

* Update waku/v2/protocol/filter/filter_test.go

Adjust comment with code

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

* Update waku/v2/protocol/filter/filter_test.go

Combine multiple related log entries into one.

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

* Update waku/v2/protocol/filter/filter_test.go

Align comment with the code

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

* Update waku/v2/protocol/filter/filter_test.go

Use fmt.Sprintf() instead of "+" for more beauty and speed

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

* test: refactor tests with prepareData()

* test: Test incorrect protocol identifiers

* fix: return errors in FilterSubscribeOption

* test: Test incorrect push identifier added
- test incorrect subscribe identifier separated

* test: Test Ping failure after unsubscription

* test: Test PubSub with single content topic

* test: Simplify test PubSub with single content topic

* test: Test with single pubsub and multiple content topics

* test: Test with multiple PubSub and multiple contentTopic

* test: Test with multiple overlaping contentTopics
- test contentTopics limit

* test: refactor tests to fix concurrent run errors

* test: Test subscription refresh

* test: Test error handling for subscribe

* test: Test subscription to multiple full nodes

* update test to fix #804

* Update waku/v2/protocol/filter/filter_test.go

Combine log messages

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

* Update waku/v2/protocol/filter/filter_test.go

Delete commented - temporary code

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

* Update waku/v2/protocol/filter/filter_test.go

fmt.Sprintf instead of "+" suffix => more performance and beauty

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

* Update waku/v2/protocol/filter/filter_test.go

Adjust comment with code

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

* Update waku/v2/protocol/filter/filter_test.go

Combine multiple related log entries into one.

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

* Update waku/v2/protocol/filter/filter_test.go

Align comment with the code

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

* Update waku/v2/protocol/filter/filter_test.go

Use fmt.Sprintf() instead of "+" for more beauty and speed

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

* test: refactor tests with prepareData()

* Fix error during rebase

* Sync filter tests with latest master

* Refactor context initialization for test

* test: Incorrect Subscribe Identifier refactored with custom subscribe

* test: refactor into multiple files

* test: Subscribe with multiple light nodes to one full node

* test: shared mode for full node creation
- test preview Subscribe fullNode to fullNode

* test: test Subscribe fullNode to fullNode

---------

Co-authored-by: Richard Ramos <info@richardramos.me>
Co-authored-by: Prem Chaitanya Prathi <chaitanyaprem@gmail.com>

* test: unsubscribe with single contentTopic

* test: extend test - unsubscribe with single contentTopic

* test: unsubscribe with multiple contentTopic

* test: unsubscribe with multiple pubSub/contentTopic

* test: refactor back to use waitForTimeout()

* test: unsubscribe error handling

---------

Co-authored-by: Richard Ramos <info@richardramos.me>
Co-authored-by: Prem Chaitanya Prathi <chaitanyaprem@gmail.com>
2023-11-02 12:39:44 +08:00
richΛrd 5dfbd98c74
chore: lower dhigh to limit amplification factor (#850) 2023-10-31 08:41:19 -04:00
richΛrd 36beb9de75
refactor: fix nomenclature for shards (#849) 2023-10-31 06:50:13 -04:00
richΛrd 48acff4a5c
feat: add warning about bootnodes not supporting shards (#848) 2023-10-30 19:20:13 -04:00
Richard Ramos cf82f66d12
revert(#820): msg digest matches msg hash 2023-10-30 16:25:21 -04:00
richΛrd 4584bb4324
refactor: validate protobuffer for store (#841) 2023-10-30 12:55:36 -04:00
richΛrd 38202e7a2e
refactor: publish API for relay and lightpush (#845) 2023-10-30 12:30:25 -04:00
harsh jain ddf188bbf8
feat: remove named topic (#844)
* feat: remove named topic

* fix: update examples

* Update library/mobile/api.go
2023-10-30 21:56:26 +07:00
richΛrd 279752344f
chore: print a message periodically indicating that VACUUM is still being executed (#838) 2023-10-30 09:22:50 -04:00
richΛrd db222a24ef
fix(c-bindings): userdata (#785) 2023-10-28 19:37:53 -04:00
Roman Zajic fc3b2f76d5
chore(filter v2): test updates (#811)
---------

Co-authored-by: Richard Ramos <info@richardramos.me>
Co-authored-by: Prem Chaitanya Prathi <chaitanyaprem@gmail.com>
2023-10-28 19:27:01 -04:00
harsh jain 0868f5d4dd
feat: add filter v2 rpc (#798)
* feat: add filter v2 rpc

ping, subscribe/unsubscribe and unsubscribeAll.



* test(filterRest): pingFailure, subscribe-ping, unsubscribe and unsubscribeAll
2023-10-27 06:21:50 +07:00
richΛrd c58d0f51e4
fix: race condition in peer connector / manager interaction (#837) 2023-10-25 21:25:56 -04:00
harsh jain 0ba8b2caeb
fix(filter-subscribe): params.selectedPeer not set (#836)
* fix(filter-subscribe): params.selectedPeer not set
2023-10-26 05:06:44 +07:00
richΛrd 2701a38b2a
refactor: validate protobuffer for filter (#833) 2023-10-25 08:49:25 -04:00
Prem Chaitanya Prathi 18c16de94e
fix: modify store test to not depend on order of msgs (#832)
* fix: modify store test to not depend on order of msgs

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

---------

Co-authored-by: richΛrd <info@richardramos.me>
2023-10-25 03:41:00 +05:30
richΛrd 94f18c537c refactor: validate protobuffers for lightpush and relay (#824) 2023-10-24 17:48:22 -04:00
Richard Ramos fa51d10b4b fix: stream close/reset (#823) 2023-10-24 17:48:22 -04:00
Prem Chaitanya Prathi a3c3aab44e
fix: propagate relay subscribe opt properly (#829) 2023-10-25 02:11:42 +05:30
richΛrd 077df2fbb6
fix: do not disconnect peers in `TestWakuMetadataRequest` (#826) 2023-10-24 16:01:11 -04:00
Richard Ramos 9161c4f7fe fix: stream closing/reset 2023-10-20 20:30:23 -04:00
Richard Ramos 519fa2977a refactor: rename `connOpt` to `stream` 2023-10-20 20:30:23 -04:00
Richard Ramos 19ba25ffcb feat: metadata protocol 2023-10-20 20:30:23 -04:00
richΛrd 4181655b7a
fix: msg digest matches msg hash (#820) 2023-10-20 16:25:54 -04:00
Prem Chaitanya Prathi b5be83a02e
feat : autoshard relay api (#807)
* fix: using relay without bcaster should consume and drop messages

* update relay api usage

* move subscription to broadcaster

* move filter logic under subscription

* Support more than 1 relay subscription for a pubSubTopic

* modify relay Publish API to derive pubSubTopic based on autosharding

* implement relay RPC methods for autosharding

* remove relay msgChannel and relay on pubsub buffersize for subscription

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

* handle relay subscribe with noConsumer and address issue reported in code review

* chore: reorg relay code

---------

Co-authored-by: richΛrd <info@richardramos.me>
2023-10-21 01:26:18 +05:30
Prem Chaitanya Prathi ac9d826b03
fix: handle empty content topics in filter subcribe and unsubscribe (#812)
* fix: handle empty content topics in filter subcribe and unsubscribe
2023-10-18 01:23:40 +05:30
richΛrd bfee9964f6
fix: setFallbackIP with reported libp2p addr (#808) 2023-10-17 10:33:50 -04:00
Richard Ramos d4abe15634 fix: addr update 2023-10-17 09:00:30 -04:00
Richard Ramos ee94581d0a feat: prefer circuit relay addr over ws, and update cache with enrs with newer seq number 2023-10-17 08:29:24 -04:00
Richard Ramos 9a0cf85ae1 fix: add ws to enr 2023-10-17 08:29:24 -04:00
Prem Chaitanya Prathi 6955d01498
Update peer selection options for light protocols (#787)
* Update peer selection options for lightPush

* Update peer selection options for filter

* migrate peer selection functionality from peer manager

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

---------

Co-authored-by: richΛrd <info@richardramos.me>
2023-10-16 22:12:01 +05:30
harsh-98 2ef7e732dd nit: remove testing var 2023-10-13 10:35:11 +07:00
harsh-98 b5802adf5b fix: use NewQueries from db utils 2023-10-13 10:35:11 +07:00
harsh-98 5d0692b339 test(store): add fixture for sqlite and postgres 2023-10-13 10:35:11 +07:00
harsh-98 d268b2e403 fix: limit can't be negative for postgres 2023-10-13 10:35:11 +07:00
harsh-98 2f9f304762 test: for postgres and jenkins postgres setup 2023-10-13 10:35:11 +07:00
Richard Ramos 7826e31f14 fix(store): query time comparison and max rows per page 2023-10-12 10:58:55 -04:00
richΛrd 3aa477cbc6
fix: return errors in FilterSubscribeOption (#794) 2023-10-07 16:19:53 -04:00
richΛrd dcc828749f
fix: use https for cloning submodules instead of ssh (#780)
* fix: use https for cloning submodules instead of ssh
* chore: move to libs/

This simplifies the checkout process for github actions
2023-09-30 13:57:49 -04:00
Prem Chaitanya Prathi 47c961dcbb
feat: update lightpush API for autosharding (#774)
* feat: update lightpush API to make pubSubTopic optional as per autosharding

* Extract contentFilter and subscriptions out of filter to reuse in relay (#779)

* chore: extract contentFilter outside filter package

* chore: move subscription outside of filter so that it can be modified and reused for relay

* Feat: filter select peer for sharding (#783)

* update selectPeer to support pubsubTopic based selection
2023-09-29 10:43:25 +05:30
Prem Chaitanya Prathi dfd104dbac
Chore: test cov improvement (#784)
* add few tests to increase coverage

* consider other packages coverage while running unit tests
2023-09-29 04:40:43 +05:30
Anton Iakimov 7f466c1d99
update wakuv2 fleet DNS discovery enrtree (#775)
https://github.com/status-im/infra-misc/issues/171
2023-09-28 08:34:30 -04:00
Prem Chaitanya Prathi 388f56b43f
feat: Sharded peer management - Relay (#764)
* feat: connect/disconnect to peers based on node topic sub/unsub

* feat: maintain healty relay connections per pubSubTopic

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

* chore: add config to limit peerstore capacity (#770)
2023-09-27 12:16:37 +05:30
richΛrd d324234c81
fix(filter2): add requestID to pings and remove unneeded log (#776) 2023-09-26 12:27:29 -04:00
Vitaliy Vlasov 16ec22596e feat: change UnsubscribeWithSubscription so that it's single sub-specific
Also merge FilterSubscribe and FilterUnsubscribe options/params
2023-09-22 17:53:33 +03:00
Vitaliy Vlasov e0ba66791d fix: only allow adding unique topics 2023-09-22 16:47:36 +03:00
Prem Chaitanya Prathi 9f4754dcae
fix: panic during removePubSubTopic (#765) 2023-09-22 17:36:45 +05:30
richΛrd d317b294a0
fix: panic when removing pubsub topic (#759) 2023-09-21 15:03:19 +05:30
richΛrd 003c90fba8
feat: force unreachability (#753)
Co-authored-by: Prem Chaitanya Prathi <chaitanyaprem@gmail.com>
2023-09-20 12:24:16 +05:30
Prem Chaitanya Prathi 054bdae1de
Feat/autoshard filter (#723)
* feat: update filter client to support autosharding

* chore: add filter tests for autoshard

* chore:update filter API docs for autosharding

* chore: docs changes to indicate sharding impact on pubSubTopic

* fix: handle partial errors during subscribe and return failed content-topic details
2023-09-20 11:26:55 +05:30
Vitaliy Vlasov 81638fe111
Use PubsubTopic naming; enforce unique ContentTopics (#750) 2023-09-19 18:22:11 +05:30
harsh jain 3d8d435502
test(store): make queries (#752)
* test(store): make queries

* test: most recent timestamp and count of msg

* nit: add comment for pageSize+1
2023-09-19 13:28:11 +07:00
Prem Chaitanya Prathi 9b05d48318
Feat : handle dynamic peer topic sub unsub (#751)
* feat: handle dynamic peer join and leave a pubSub topic

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


---------

Co-authored-by: richΛrd <info@richardramos.me>
2023-09-19 11:35:29 +05:30
harsh jain a650469fae
feat: use CommonService in peerConnector (#737)
* feat(CommonService): add channel and use commonService in discv5

* fix: add mutex to PushToChan

* fix: remove generic functionality

* feat: use CommonService in peerConnector

* fix: remove generic functionality

* nit: add error log
2023-09-19 07:39:39 +07:00
Prem Chaitanya Prathi dd5dc7a9c8
fix: change mutex to rwLock and fix relay unsubscribe (#749)
* fix: change mutex to rwLock and fix relay unsubscribe

* chore: modify relay test to cover unsubscribe and few more relay functions
2023-09-18 18:48:16 +05:30
harsh jain a5f9ee5ad8
feat(CommonService): add channel and use commonService in discv5 (#735)
* feat(CommonService): add channel and use commonService in discv5

* fix: add mutex to PushToChan

* fix: remove generic functionality
2023-09-18 16:41:40 +07:00
Richard Ramos 2060c8c837 feat: allow running rln with no credentials 2023-09-15 10:18:44 -04:00
Richard Ramos 22b097817e feat(rln-relay): use zerokit 0.3.4 to obtain number of leaves set in merkle tree 2023-09-15 10:13:02 -04:00