Commit Graph

127 Commits

Author SHA1 Message Date
frank 9050ed7aaf
fix: waku udp port conflict (#4610) 2024-01-24 09:09:43 +08:00
Andrea Maria Piana e65760ca85 Add basic peersyncing
This commit adds basic syncing capabilities with peers if they are both
online.

It updates the work done on MVDS, but I decided to create the code in
status-go instead, since it's very tight to the application (similarly
the code that was the inspiration for mvds, bramble, is all tight
together at the database level).

I reused parts of the protobufs.

The flow is:

1) An OFFER message is sent periodically with a bunch of message-ids and
   group-ids.
2) Anyone can REQUEST some of those messages if not present in their
   database.

3) The peer will then send over those messages.

It's disabled by default, but I am planning to add a way to set up the
flags.
2024-01-23 12:46:17 +00:00
Siddarth Kumar 926f6a3c72 Revert "test: bump go-libp2p"
This reverts commit d0ca4447c6.
2024-01-18 20:29:33 +00:00
Richard Ramos d0ca4447c6
test: bump go-libp2p 2024-01-18 14:28:06 +00:00
Igor Sirotin a5acffc001
fix: TestFetchRealCommunity with shards fleet (#4553)
* fix: TestFetchRealCommunity with shards fleet
* fix: DefaultShardPubsubTopic
* chore: print waku query request id
2024-01-16 13:38:41 +03:00
richΛrd 1ac99c2dcb
chore: bump go-waku (#4505) 2024-01-05 16:43:05 -04:00
Igor Sirotin 195982c950
fix_(StoreNodeRequestManager): various fixes and improvements (#4509) 2023-12-27 13:53:19 +00:00
richΛrd b6f2aced08
chore: add dns discovery URL to the list of default nodes and add extra logging for store queries (#4490)
* chore: add dns discovery url to list of default discv5 nodes

* chore: add logs for store queries
2023-12-20 10:04:00 -04:00
Igor Sirotin 92f0479a0c
chore: fetch contact with `StoreNodeRequestManager` (#4484) 2023-12-20 12:49:12 +00:00
richΛrd e5ce11f067
fix: panic in broadcast when logout (#4475) 2023-12-19 11:42:50 -04:00
Igor Sirotin e3ef8c649a
chore: store node requests manager (#4446) 2023-12-15 19:50:12 +00:00
richΛrd 93aeefcb89
refactor(waku2): publish messages on a goroutine (#4466) 2023-12-15 08:02:04 -04:00
kaichao 9be202be50
chore: fix peer exchange and unit testing (#4381)
* chore: peer exchange local test

* chore: use local enr resolver

* remove light client close peer.

* fix: peer exchange not start when enabled

* chore: remove ws config

* uncomment light client

* use resolver option

* chore: use option param for dns resolver

* chore: fix vendor changes.

* chore: lint
2023-12-07 08:28:08 +08:00
kaichao e28eca1c54
Bump waku version (#4407)
* chore: make vendor

* chore: fix data types

* Update wakuv2/common/message.go

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

* Update wakuv2/common/message.go

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

* Update wakuv2/persistence/dbstore.go

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

* chore: use safe method to get timestamp.

* chore: use proto.Uint64 to convert reference

* chore: manual fix lint issue when import dependency

---------

Co-authored-by: richΛrd <info@richardramos.me>
2023-12-05 12:29:27 +08:00
Vitaly Vlasov 384543d3a6 Re-send messages with ResendAutomatically=true 2023-11-30 10:46:38 +02:00
Igor Sirotin e32c5546e1
test: request community from storenode (#4364)
* feat: request community info from storenode test

* shutdownWaitGroup

* fix requestCommunityInfoFromMailserver timestamp roundin
2023-11-25 23:24:20 +00:00
Pablo Lopez e9c9bbb7b1
Adding store wakuv2 test (#4340)
* chore: wip tests

* chore: wakuv2 store test

* chore: cleanup

* chore: cleanup

* chore: avoid using sleep in test

* cleanup
2023-11-24 10:13:26 +00:00
Prem Chaitanya Prathi f622265679 chore: fix linter error 2023-11-23 11:16:50 -04:00
Prem Chaitanya Prathi 9510ad0f5d fix: specify clusterid as 16 when using sharding fleet so that metadata proto negotiation doesn't fail 2023-11-23 11:16:50 -04:00
Richard Ramos 40c9ba82a5 fix(wakuv2): store query pubsubTopic 2023-11-22 14:02:50 -04:00
Vitaly Vlasov 1794b93c16 Always set PubsubTopic in filters 2023-11-18 02:26:34 +02:00
Richard Ramos d2578bf0cb fix: reset context on stop 2023-11-17 13:37:41 -04:00
Richard Ramos 573a97791e fix: start idService and add wg.Done to fnApply 2023-11-17 13:37:41 -04:00
Richard Ramos 89385cfcaf fix(waku2): use a cancelable context for initial bootnode discovery 2023-11-17 13:37:41 -04:00
Pablo Lopez f1d31d6339
add message hash to login (#4315) 2023-11-15 16:33:23 +02:00
richΛrd de12ca885c
fix(wakuv2): don't wait for connections to login (#4293)
- Identify will not block logout
- Use `peer.AddrInfo` instead of multiaddresses
- Modifies some logs to reduce noise
2023-11-10 11:31:59 -04:00
richΛrd 2c954d42cf
feat: replace DefaultPubsubTopic by Shard 32 (#4161) 2023-11-09 20:29:15 -04:00
Michal Iskierko 02e4cc6e1f feat: Send envelopes to telemetry service
Issue #12430
2023-11-08 11:34:10 +01:00
Igor Sirotin 9f69c32593
fix(wakuv2): post envelopes previously cached but not processed (#4246) 2023-11-02 14:16:59 +00:00
richΛrd ba5ed725ce
waku2: static shards (#3944)
- use protected topics for communities
- associate chats to pubsub topics and populate these depending if the chat belongs to a community or not
- mailserver functions should be aware of pubsub topics
- generate private key for pubsub topic protection when creating a community
- add shard cluster and index to communities
- setup shards for existing communities
- distribute pubsubtopic password
- fix: do not send the requests to join and cancel in the protected topic
- fix: undefined shard values for backward compatibility
- refactor: use shard message in protobuffers
2023-10-12 15:21:49 -04:00
Vitaliy Vlasov 356b2f5ca3 Refactor filter health checks; add debugging logs 2023-10-04 00:39:33 +03:00
Richard Ramos 7d03ae8272 feat: enable filter full node via node config 2023-09-28 21:31:20 -04:00
Andrea Maria Piana 6f4f57b7a8
Handle nil error on request to join 2023-08-29 13:04:00 +01:00
Prem Chaitanya Prathi b3a93fff12
chore: bumped go-waku to recent commit which contains changes for improved peer management 2023-08-29 13:02:19 +01:00
Richard Ramos d62a5736a5 fix: return default pubsub topic, and add more logs 2023-08-25 13:34:34 -04:00
Richard Ramos f9ec588c4e feat: use protected topics for communities
refactor: associate chats to pubsub topics and populate these depending if the chat belongs to a community or not
refactor: add pubsub topic to mailserver batches
chore: ensure default relay messages continue working as they should
refactor: mailserver functions should be aware of pubsub topics
fix: use []byte for communityIDs
2023-08-23 13:56:00 -04:00
Richard Ramos b9b86712e7 refactor: use context instead of quit channel in wakuv2/waku.go 2023-08-15 10:15:45 -04:00
Andrea Maria Piana df2a5d8e21 Update go waku & Shorten shutdown 2023-07-17 14:44:32 +01:00
Andrea Maria Piana c3ae0e98fe Enable lightclient 2023-07-07 14:49:40 +01:00
Andrea Maria Piana e08aad7d73 Send account/settings on login 2023-07-06 17:35:32 +01:00
Richard Ramos 28229faec0 chore: bump libp2p related dependencies 2023-06-30 14:23:08 -04:00
Igor Sirotin 4a50e17d57
chore(waku2): revert disable light client on status.prod (#3606) 2023-06-15 19:44:29 +03:00
Vitaliy Vlasov 860abca690
Perform initial filter subscribe asynchronously (#3608)
Also properly unsubscribe from filter
2023-06-15 17:42:54 +03:00
Vitaliy Vlasov 4006cb78b3
Update to FilterV2 (#3392)
* Update to FilterV2

* Use a separate goroutine for each filter subscription

* Add multiple filter sub test

* Fix test (add Stop() call)
2023-06-07 12:02:19 +03:00
Richard Ramos 3e4fe1e12f refactor: move circuit relay code to go-waku 2023-05-30 10:49:52 -04:00
Richard Ramos 32ac1c8d8e fix: peer exchange service is not required for clients 2023-05-17 18:23:27 +01:00
Andrea Maria Piana efb1036429 update go-waku v0.6.0 2023-05-17 18:23:27 +01:00
Richard Ramos acad6e4958 chore: bump go-waku 2023-05-09 17:26:29 -04:00
Richard Ramos a596bcb11d fix: open/close of channels 2023-04-19 09:11:28 -04:00
Richard Ramos 63d9a9b3d5 fix: start go-waku on Start() instead of New() 2023-04-19 09:11:28 -04:00