Commit Graph

482 Commits

Author SHA1 Message Date
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
Richard Ramos c15f4ada56 feat: add message size and published/received time to debug log 2023-05-04 16:22:11 -04:00
Richard Ramos 8711a08df6 fix: code review 2023-05-04 13:25:45 -04:00
Richard Ramos f11b82d94a fix: use deterministic signatures RFC6979 2023-05-04 13:25:45 -04:00
Richard Ramos 837a0f2708 chore: add unit test for signed validator and --protected-topic-flag 2023-05-04 13:25:45 -04:00
Richard Ramos 88ecf728a3 fix: rename `gowaku_` metrics to `waku_` 2023-04-27 09:58:06 -04:00
Richard Ramos 21a28e9b53 feat: record message size 2023-04-27 09:58:06 -04:00
Richard Ramos fad1a98f77 chore: run onchain tests 2023-04-26 12:40:15 -04:00
Richard Ramos 360a44830a
fix(rln): onchain tests 2023-04-26 12:12:10 -04:00
Richard Ramos 7f276d572f
fix: retrieve membership fee from contract 2023-04-26 11:56:56 -04:00
Richard Ramos 24587e57aa refactor: handle max records exceeded 2023-04-25 10:55:11 -04:00
Richard Ramos 966cbba4c4 feat: utils for handling shards in enr 2023-04-25 10:54:59 -04:00
Richard Ramos c23eac64fb feat(filterv2): ignore messages received from peers not subscribed to 2023-04-25 10:46:50 -04:00
Richard Ramos 9ed8f16a0a feat: add metrics to archive protocol and discv5 2023-04-20 10:04:20 -04:00
Richard Ramos 68b615a87e feat: improve metrics for filter, lightpush, dns discovery and store protocols 2023-04-20 08:57:22 -04:00
Richard Ramos 2c3566377a refactor: inject host on node start 2023-04-17 11:09:05 -04:00
Richard Ramos fbd58df2e8 refactor: initialize broadcaster on Start 2023-04-17 10:19:08 -04:00
Richard Ramos 0b01e4bb16 refactor: rename filter to legacy filter and set filterv2 as filter 2023-04-17 10:07:15 -04:00
Richard Ramos c3ef173b2c feat: handle chain forks 2023-04-17 10:02:09 -04:00
Richard Ramos 5de3d9f619 feat(rest): store 2023-04-17 10:01:32 -04:00
Richard Ramos c690b6c050 feat: dos protected topic relay msgs based on meta field 2023-04-17 09:56:13 -04:00
Richard Ramos e74f60f173 feat: enable webstransport 2023-04-14 12:34:47 -04:00
Richard Ramos 801ec92c11 refactor: loading credentials and chat2 2023-04-11 10:39:07 -04:00
Richard Ramos 42c0e123d9 refactor: credentials 2023-04-11 10:39:07 -04:00
Richard Ramos 04c90657cd refactor: dynamic rln 2023-04-11 10:39:07 -04:00
harsh-98 6747603a73 refactor: fetch membership events 2023-04-10 11:39:15 -04:00
Richard Ramos 41691a44e5 fix: remove message cache on relay and fix proof validation 2023-04-04 14:20:41 -04:00
Richard Ramos 9c5d1e88b1 refactor: proof generation and merkleroot tracking 2023-04-04 14:20:41 -04:00
Richard Ramos be09f3f550 refactor: static RLN relay 2023-04-04 14:20:41 -04:00
Richard Ramos 6796936f5e chore: upgrade RLN dep 2023-04-04 14:20:41 -04:00
Richard Ramos 98e14cf0f6
chore: add debug log to identify when peer is discovered 2023-03-31 08:44:01 -04:00
Richard Ramos 7c56ceb139 chore: remove swap protocol 2023-03-30 12:12:41 -04:00
Richard Ramos 56785d8aa7 fix: limit number of content topics per request and timeout message pushes 2023-03-30 12:10:04 -04:00
Richard Ramos dd9261c981 fix: simplify code by using mutex instead of channels 2023-03-30 12:00:19 -04:00
Richard Ramos c5faf8b9e9 fix: race condition deleting items from cache 2023-03-30 12:00:19 -04:00
Richard Ramos 144dfa5b7b feat: add WakuMessage validation in gossipsub
This also stores the waku message in a cache to avoid having to decode it twice
2023-03-30 12:00:19 -04:00
Richard Ramos ca20eb4a79 feat: connect to discovered peers 2023-03-29 08:59:36 -04:00
Richard Ramos 2b30726c14 feat: rendezvous client 2023-03-29 08:59:36 -04:00
RichΛrd 8826e2df66
feat: rendezvous server 2023-03-09 11:48:25 -04:00
Richard Ramos 63bb4509bf feat(filterv2): ping 2023-03-08 12:26:50 -04:00
Richard Ramos 4b52983fc4 fix: limit number of subscribers and criteria 2023-03-08 09:51:26 -04:00
Richard Ramos aeddc7848a refactor: namespaced pubsub topics 2023-03-08 09:10:14 -04:00
Richard Ramos 3bba1a86f1 feat(message): added waku message deterministic hashing 2023-03-08 09:08:08 -04:00
Richard Ramos a19a3b5a79 feat: add meta field to WakuMessage 2023-03-04 13:27:36 -04:00
Richard Ramos 2d2fbc7e47
fix: do not use a var to hold hash 2023-03-04 11:55:42 -04:00
Richard Ramos b20bf3dccd fix: use pool for all sha256 hash operations 2023-03-02 12:00:54 -04:00
Richard Ramos df2cccec04 fix: use sync.Pool for msgId hasher 2023-03-02 11:10:31 -04:00
Richard Ramos 7bc000b61f fix: use url-safe base64 encoding for noise 2023-02-28 14:14:22 -04:00
Richard Ramos 6e2a0ffeb4 refactor(px): use request-response instead of dialing back 2023-02-28 14:11:50 -04:00
Richard Ramos cedaa670c7
fix: logLevel 2023-02-24 12:02:00 -04:00
Richard Ramos f41055778c fix: use stdbase64 encoding 2023-02-23 19:45:46 -04:00
RichΛrd 042521e00b
fix: set a max length for the multiaddr field (#474) 2023-02-23 19:43:04 -04:00
Richard Ramos 7426ca5845 fix: noise example 2023-02-20 10:53:30 -04:00
Richard Ramos abcadd1bcf feat(c-bindings): expose enrs via dns discovery 2023-02-17 11:05:28 -04:00
Richard Ramos 8b5e22002c fix: use base64url encoding 2023-02-17 11:03:59 -04:00
Richard Ramos 053f3f2540 fix: convert pb.WakuMessage to RPCWakuMessage so version is included in replies 2023-02-16 23:37:19 -04:00
Richard Ramos 0c1abb8114 fix: rest tests 2023-02-16 16:40:51 -04:00
Richard Ramos 9731810b8d chore: use go-chi for rest server instead of archived gorilla/rpc
- RPC server is not modified since it's going to be deprecated
2023-02-16 16:05:58 -04:00
Richard Ramos f0eaa84aad chore: upgrade dependencies 2023-02-16 12:22:47 -04:00
Richard Ramos 156db781f6 chore: switch to Google's Protobuf library 2023-02-16 11:37:59 -04:00
Richard Ramos 335f7b6771 test: filterv2 2023-02-15 17:36:30 -04:00
Richard Ramos 600a8f1c8d chore: tests for subscribers and subscrtiption maps 2023-02-15 17:36:30 -04:00
Richard Ramos b816434843 fix: pubsub topic and content topics are always required when doing filter requests 2023-02-15 17:36:30 -04:00
Richard Ramos 52f7c8d86e feat: improvements on filter protocol (client) 2023-02-15 17:36:30 -04:00
Richard Ramos f255adffd9 feat: improvements on filter protocol (server) 2023-02-15 17:36:30 -04:00
Richard Ramos c3be19f922 fix: encode waku message payloads in base64 2023-02-14 08:27:41 -04:00
Richard Ramos 78520e9280
fix: invalid length of multiaddr field (but loaded succesfully anyway) 2023-02-13 09:33:41 -04:00
Richard Ramos 11161b8919 feat(c-bindings): expose store protocol 2023-02-12 11:01:25 -04:00
Richard Ramos eb9e727b1b feat: advertise custom multiaddresses
This replaces the flag `--advertise-address` with `--ext-multiaddr`
2023-02-12 11:01:11 -04:00
Richard Ramos 57d707ff50
fix: enr multiaddr field should contain at least 2 chars to be valid 2023-02-09 18:02:20 -04:00
Richard Ramos 50e0e803eb fix: concurrent write on relay rpc/rest 2023-02-09 12:05:36 -04:00
RichΛrd c55a979af4
fix: close channel after waiting for goroutines to stop (#444) 2023-02-09 09:03:05 -04:00
RichΛrd 1cebf21942
fix: empty bytes in enr multiaddress (#442) 2023-02-09 08:33:07 -04:00
Andrea Maria Piana 7508b08c74
fix: check listener not nil (#437) 2023-02-07 18:27:22 -04:00
Richard Ramos cce85913e6 fix: enr exceeds 300 bytes 2023-02-07 09:51:55 -04:00
Richard Ramos c3b5ab95ab fix: try to include as many multiaddr as possible without exceeding max enr size 2023-02-01 21:11:16 -04:00
Richard Ramos 676a1ab361 fix: adding circuit relay information to enr 2023-02-01 21:11:16 -04:00
Richard Ramos 61cba076bb feat: set zap core when using `WithLogger` 2023-02-01 19:38:04 -04:00
Richard Ramos 6169a44c24 fix: close iterator 2023-01-31 10:50:40 -04:00
Anthony Laibe 5ff87d8e65 fix: add lock when deleting peer 2023-01-30 07:28:41 -04:00
Richard Ramos d4473e9c46 fix: add sleep to iterator in case of err 2023-01-27 13:59:53 -04:00
Richard Ramos 2936a98923 fix: only lock keepAlive mutex when necessary 2023-01-26 16:16:34 -04:00
Richard Ramos 6c989fb178 refactor(c-bindings): do not subscribe automatically to default waku topic 2023-01-25 17:46:32 -04:00
Richard Ramos 29a6c1579d fix: empty responses should not generate an error 2023-01-23 17:29:57 -04:00
Richard Ramos e0ccdbe966 refactor: peer discovery management for discv5 and peer exchange 2023-01-17 17:40:48 -04:00
Richard Ramos 25486ebdb4 fix: obtain multiple multiaddresses from single enode 2023-01-15 13:24:34 -04:00
Richard Ramos 6e7c3b6183 feat: update localnode ENR without having to restart discv5 2023-01-14 10:35:24 -04:00
Richard Ramos 34c5e97d5e fix: remove manual connection to peers 2023-01-12 17:35:04 -04:00
Richard Ramos c87da46ce6 feat: use backedoff connector and discovery 2023-01-12 17:35:04 -04:00
Richard Ramos 7d2a0ac0e2 fix: discv5 was not being registered as discovery mechanism 2023-01-10 08:46:57 -04:00
Richard Ramos 69636fa263
fix: simplify addr factory 2023-01-08 17:12:29 -04:00
Richard Ramos 607bf07198 refactor: remove some duplication and unneeded code 2023-01-08 14:35:32 -04:00
Richard Ramos 30e3884000 refactor: improve store iterator 2023-01-08 13:55:51 -04:00
Richard Ramos 40675ff204 refactor: service interface 2023-01-07 11:25:32 -04:00
Richard Ramos f10b1b0d7a feat: postgresql support 2023-01-05 13:25:15 -04:00
Richard Ramos 2c9c763c30 fix(c-bindings): simplify discv5 API 2023-01-04 14:58:12 -04:00