Commit Graph

223 Commits

Author SHA1 Message Date
Richard Ramos 0db40c7de5
fix: broadcaster blocked after publishing 1024 messages (#188) 2022-02-18 13:49:11 -04:00
Richard Ramos 11d1f8fb0d
feat: result aggregation in resume and enforce max page size (#183)
* feat: result aggregation in resume and enforce max page size
* feat: add WithLogger option to wakunode (#184)
* fix: rebase issues
2022-01-18 14:17:06 -04:00
Richard Ramos a3c67e0d42
feat: separate waku2 network (#179)
* chore: use go-discover instead of go-ethereum/p2p/discover
* feat: use validator function for discV5
2021-12-10 11:29:50 -04:00
Anthony Laibe 12593bb503 feat: private get messages 2021-12-10 15:51:40 +01:00
Richard Ramos 1b0e03c07b
feat: add support for RFC31 ENR (#180) 2021-12-10 10:26:38 -04:00
Richard Ramos 0de19253da
refactor: maintenaibility fixes (#167) 2021-12-08 10:21:30 -04:00
Anthony Laibe d0d3271433 feat: private rpc encrypt message 2021-12-08 14:07:57 +01:00
Richard Ramos c45e8a3c31
fix: handle stale clients in filter protocol (#174) 2021-12-08 09:00:20 -04:00
Anthony Laibe 2b225e90e7 feat: Implement logic for publish from node 2021-12-07 14:32:02 +01:00
Anthony Laibe 9bb957afeb feat: build swap and attach it to the store 2021-12-07 14:31:36 +01:00
Richard Ramos ed91f47ff0
fix: wakuflag for ListenAddresses ENR (#171)
Also, reorganize code in utils package
2021-12-03 09:40:51 -04:00
Richard Ramos 23cbb24a94
fix: use max Int32 instead of 64 due to compile issue on android (#170) 2021-11-25 10:18:33 -04:00
Richard Ramos a3125c7b61
fix: increase response read limit (#169) 2021-11-25 09:46:04 -04:00
Richard Ramos b728e62ec7
fix: disconnect peer after failing 2 consecutive pings (#168) 2021-11-24 16:11:24 -04:00
Anthony Laibe 3571f0bab9 feat: init swap protocol
* Add proto files
* Add options
* Add credit/debit for soft mode
2021-11-24 13:58:35 +01:00
Richard Ramos ce417a6486
refactor: use WaitGroup for graceful shutdown of worker goroutines (#166) 2021-11-23 11:03:12 -04:00
Richard Ramos c8caa46c99
feat: add NAT for DiscV5 UDP port (#164) 2021-11-23 10:24:05 -04:00
Anthony Laibe 28487873b6 refactor: runnable service 2021-11-22 16:03:54 +01:00
Anthony Laibe 2afffd9dd9 feat: Add rpc method for filter#getmessages 2021-11-22 13:43:41 +01:00
Richard Ramos 79bb101787 fix: port number verification 2021-11-21 10:04:31 -04:00
Richard Ramos e8c08ac18b fix: invalid ticker usage 2021-11-21 10:04:23 -04:00
Richard Ramos 78a0d4d74d fix: replace WIthTopic to ToTopic 2021-11-19 20:04:38 -04:00
Richard Ramos 00ee0b7511 refactor: create separate functions for subscriptions and publishing 2021-11-19 20:04:38 -04:00
Richard Ramos 56ef99e11f refactor: remove topic type 2021-11-19 20:04:38 -04:00
Anthony Laibe 75516a8f96 feat: implement rcp relay get messages 2021-11-19 14:53:40 +01:00
Richard Ramos 055227a4c6
fix: invalid ENR generated for addresses (#151) 2021-11-19 09:13:00 -04:00
Anthony Laibe c91d666f35 feat: Add private service
Plus add missing methods in other services as not implemented yet
2021-11-19 09:38:16 +01:00
Anthony Laibe 38e5fdbe3e feat: Add rpc filter 2021-11-18 13:35:55 +01:00
Anthony Laibe 2ae370ca41 test: Add test/refactor filter option 2021-11-18 13:35:46 +01:00
Richard Ramos c9a9b02e48
test: stop / start discovery (#153) 2021-11-18 08:26:36 -04:00
Richard Ramos 817759c235
feat: discoveryV5 - part2 (#150) 2021-11-17 12:19:42 -04:00
Anthony Laibe 978bedfafa feat: add admin rpc methods 2021-11-17 16:11:02 +01:00
Richard Ramos 6ae4d4fce2
feat: discoveryV5 - part1 (#149) 2021-11-16 10:22:01 -04:00
Anthony Laibe e176975aed test: Add more test for waku node 2021-11-12 14:26:22 +01:00
Richard Ramos 54f647aa4f
test: public_key and resolver (#147) 2021-11-10 21:34:39 -04:00
Richard Ramos 6d04308716
feat: 23/WAKU2-TOPICS (#146) 2021-11-10 10:28:45 -04:00
Anthony Laibe 9f504b1150 test: extend coverage with missing test 2021-11-10 14:55:23 +01:00
Anthony Laibe b81bd6ff30 feat: Add rpc store
Add test for rpc services
2021-11-10 09:22:00 +01:00
Richard Ramos 0c873e3c2d
feat: select peer with lowest ping time and test peer functions (#143)
* feat: select peer with lowest ping time and test peer functions
* fix: do not self-ping
2021-11-09 19:34:04 -04:00
Richard Ramos 9426cd133a
fix: store protocol should have a host regardless if acts as store node or not (#142) 2021-11-09 12:18:57 -04:00
Anthony Laibe 7ff5fcf838 feat: Add relay rpc methods 2021-11-09 13:54:45 +01:00
Richard Ramos 49737780ea refactor: concurrent map and slices for filter 2021-11-08 08:58:14 -04:00
Richard Ramos fcfe3568ab feat: clean up older records in message queue
Fixes #133
2021-11-07 11:16:04 -04:00
Anthony Laibe a1cb371d5a refactor: lightpush options and be more explicit about
the relay node being present or not
2021-11-07 16:15:07 +01:00
Richard Ramos a46881fc27 fix: rebase issues 2021-11-06 12:57:01 -04:00
Richard Ramos 2cbedf47a0 refactor: rename parameter from maxDays to maxDuration 2021-11-06 12:57:01 -04:00
Richard Ramos a7c76d2af1 fix: typo 2021-11-06 12:57:01 -04:00
Richard Ramos 12a1daae74 fix: remove useless parameter 2021-11-06 12:57:01 -04:00
Richard Ramos 6db2f258d8 feat: message retention policy for wakustore
Fixes#69
2021-11-06 12:57:01 -04:00
Richard Ramos 793e7f572f refactor: filter
Moves the filter logic from wakunode2 to waku_filter
2021-11-06 12:45:14 -04:00
Richard Ramos 99248e9931 test: unsubscribe to filter 2021-11-06 12:25:45 -04:00
Richard Ramos c98769b7f2 refactor: use envelopes in the store
Also do some linting and add documentation for some functions
2021-11-06 09:06:53 -04:00
Richard Ramos 0df1a21dba fix: connectedness_test async error 2021-11-05 10:29:40 -04:00
Richard Ramos 2336252efc add size to store message channel 2021-11-05 10:29:40 -04:00
Anthony Laibe 7a34cf6d45 feat: Use correct rpc method name 2021-11-03 13:25:28 +01:00
Anthony Laibe 06a86f45b0 feat: Add first endpoint for rpc server 2021-11-02 15:16:23 +01:00
Richard Ramos 82ec44fcfa fix: lint and failing test 2021-11-02 07:59:10 -04:00
Richard Ramos 6a3a5b08b3 test: replace peer_events example app by a test 2021-11-02 07:59:10 -04:00
Vitaliy Vlasov 268767262b
Iterate through Peerstore in startKeepAlive() (#102) 2021-11-01 13:33:58 -04:00
Anthony Laibe 189724dd1e test: add filter test 2021-11-01 16:38:24 +01:00
Richard Ramos b789d9900e
refactor: relay (#119) 2021-11-01 10:42:55 -04:00
Richard Ramos c0ba800af7
refactor: store and lightpush (#118) 2021-11-01 08:38:03 -04:00
Richard Ramos 98255060f3
refactor: add Next() and create Query and Result structs (#117) 2021-10-31 15:00:38 -04:00
Richard Ramos d150123f21
fix: store and lightpush metrics (#114) 2021-10-30 19:19:03 -04:00
Richard Ramos d94802f739
chose node type when starting filter and make relay optional (#113) 2021-10-30 10:29:34 -04:00
Richard Ramos f2be4a8e7a
test: keep alive (#110) 2021-10-29 11:24:31 -04:00
Richard Ramos b7a7143803
select random peer instead of just the first (#109) 2021-10-28 15:26:25 -04:00
Richard Ramos 8ba64affba
test: resume and time based queries (#108) 2021-10-28 09:03:23 -04:00
Anthony Laibe 9030907960
test: add test for lightpush (#106)
* test: add test for lightpush


Co-authored-by: Richard Ramos <info@richardramos.me>
2021-10-28 14:41:17 +02:00
Richard Ramos 8253e381df
test: store 2021-10-25 15:41:08 -04:00
Anthony Laibe ce49f29c08 test: add test for relay protocol 2021-10-25 21:24:42 +02:00
Anthony Laibe 3bf00b2f37 test: add test for generating requestid 2021-10-25 20:27:01 +02:00
Richard Ramos 041a5dae67
test: payload encryption (#97) 2021-10-21 11:56:18 -04:00
Richard Ramos 59e4a11b55
test: payload encoding / decoding (#96) 2021-10-21 08:18:14 -04:00
Anthony Laibe 9ad06b6eb8 test: Add time test 2021-10-20 21:51:26 +02:00
Richard Ramos b1284d367d
test: utils (#95) 2021-10-20 14:43:59 -04:00
Richard Ramos 68fe29c56f
test: broadcast (#94) 2021-10-20 14:43:51 -04:00
Richard Ramos eadd018ce5
fix: multiaddress format was incorrect when using ws (#90) 2021-10-18 08:38:01 -04:00
Richard Ramos e482075fa9
refactor: peer selection and filter API (#87) 2021-10-18 08:25:55 -04:00
Richard Ramos 5f3df9343c fix: goroutine leak on ping 2021-10-18 07:55:42 -04:00
Richard Ramos 654bebdb93
fix: peer metrics 2021-10-16 18:02:48 -04:00
Richard Ramos a956684f48
fix: use same privKey when displaying addresses 2021-10-15 08:39:51 -04:00
Richard Ramos c86db00285
feat: add --advertise-address flag 2021-10-14 22:15:02 -04:00
Richard Ramos 8c590851e3
fix: add --show-addresses and allow setting the listening address 2021-10-14 14:36:25 -04:00
Anthony Laibe 54a93a60c5
feat: add ability to regenerate proto files (#76) 2021-10-14 11:03:25 +02:00
Anthony Laibe 86cf5304b2
fix linter (#73) 2021-10-13 14:48:29 +02:00
Richard Ramos c1bdead94d
revert: utils.GetUnixEpoch() 2021-10-12 09:45:22 -04:00
Richard Ramos dc52ba182a refactor: filter
- Create a channel when a subscription is created
- Add stop function for protocols
2021-10-11 19:02:25 -04:00
Richard Ramos 578b40a44e refactor: extract function to subscribe to topic 2021-10-10 18:53:25 -04:00
Richard Ramos 13aee0b1e0 refactor: change filter function parameters to not use protobuffers 2021-10-10 18:53:25 -04:00
Richard Ramos 8a28978f83
fix: wait until peer is connected to resume history 2021-10-10 11:46:31 -04:00
Richard Ramos 8f87009466
fix: docs 2021-10-10 11:46:23 -04:00
Richard Ramos 4a7779dda1 refactor: remove go-wakurelay-pubsub and update dependencies 2021-10-08 10:46:46 -04:00
Richard Ramos dbd7a1c2d7 WIP: replace go-wakurelay-pubsub by go-libp2p-pubsub 2021-10-08 10:46:46 -04:00
Richard Ramos 761ae88bbd
fix: remove channel for disconnections
Since a subscriber might not be connected always it makes no sense to automatically unsubscribe on disconnet
2021-10-06 15:25:41 -04:00
Richard Ramos 1991a54d64 refactor: connectedness
Uses libp2p network notifier to determine when a peer connects or disconnects, as well as using the host network peerstore instead of managing out own separate peer map
2021-10-06 14:07:46 -04:00
Richard Ramos 79e21dbb99 refactor: add peers before starting 2021-10-04 22:16:24 -04:00
Richard Ramos a58db1656d refactor: rendezvous nodes are added to peer store
- No need to specify peerIDs in command line flag
- Rendezvous nodes are selected automatically instead of passing them via waku option
2021-10-01 14:45:25 -04:00
Richard Ramos 034656b2c0 refactor: rename protocol variables 2021-10-01 14:45:25 -04:00
Richard Ramos 954f2a0c56
feat: use leveldb for storing peers and clean up periodically older records from rendezvous server (#56) 2021-10-01 14:37:52 -04:00