Commit Graph

560 Commits

Author SHA1 Message Date
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 c559932931 chore: update flags 2023-04-17 10:07:15 -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
harsh-98 70ddd48274 refactor: setting nodeKey via GOWAKU-NODEKEY env 2023-04-04 06:09:52 -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 9c75a3325d fix: invalid in-memory db URL 2023-02-16 23:05:15 -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 27bc9488e6 feat: load config from toml file 2023-01-11 12:20:03 -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
Richard Ramos 26daf72a23 feat: use env. variables for arguments 2023-01-04 09:32:34 -04:00
Richard Ramos ea6d5bc7b8 fix: enable store only when `WithWakuStore` is used 2023-01-03 11:26:23 -04:00
Richard Ramos 408b1de802 fix: start rpc/rest with no relay 2023-01-03 11:18:32 -04:00
Richard Ramos e69d6e61dd fix: nil msg 2022-12-21 14:59:29 -04:00
Richard Ramos 627fbbab6e feat: js-noise / go-noise interop 2022-12-21 14:59:29 -04:00
Richard Ramos 77ace0d772
fix: nil paging info 2022-12-20 12:37:16 -04:00
Richard Ramos d916fbf2bb
fix: remove code duplication on metrics 2022-12-17 13:15:55 -04:00
Richard Ramos 4df6aa98bc feat(noise): finish pairing impl and test 2022-12-15 21:55:14 -04:00
Richard Ramos 5511e55227 fix: noise public key serialization 2022-12-15 21:55:14 -04:00
Richard Ramos ad33eabe39 fix: authcode padding and add String to messagenametag 2022-12-15 21:55:14 -04:00
Richard Ramos 5740a6d571 refactor: move payload handling to its own package 2022-12-15 21:55:14 -04:00
Richard Ramos 17eb12e62c feat(noise): WakuPairing object 2022-12-15 21:55:14 -04:00
Richard Ramos a0c2f96c55 fix: insert receiver timestamp if sender timestamp is 0 2022-12-15 20:59:30 -04:00
Richard Ramos f1fd8b354e feat(noise): WakuPairing 2022-12-14 13:44:09 -04:00
Richard Ramos 7443daea4c fix: handle missing pagingInfo 2022-12-12 11:45:45 -04:00
Richard Ramos 87ce20d38e feat: add /debug/pprof endpoint when using --pprof flag 2022-12-10 21:55:41 -04:00
Richard Ramos b9f47e8982 refactor: remove quit channel from rpc/rest 2022-12-10 12:23:28 -04:00
Richard Ramos 83fd53d432 refactor: use context instead of quit channel 2022-12-10 11:51:08 -04:00
Richard Ramos 446e38ceaf
chore: add sqlite default parameters 2022-12-10 07:25:26 -04:00
Richard Ramos ca17ac8c91 feat: allow passing params to db url and connection pool params 2022-12-09 23:11:27 -04:00
Richard Ramos d64c4aedc4
fix: examples and making resume nodes optional 2022-12-09 14:28:08 -04:00
Andrea Maria Piana ebaf10601f Pass bootnodes to discovery 2022-12-09 14:11:12 -04:00
Andrea Maria Piana 685142e7b7 Allow to set bootnodes 2022-12-09 13:53:07 -04:00
Richard Ramos a66bf8a893 fix: filter can submit broadcaster envelopes 2022-12-09 10:20:16 -04:00
Richard Ramos 84c7022e2d feat: add ntp timesource 2022-12-09 10:20:16 -04:00
Prajjawalk 066185ee86 Add: waitgroup for logger to wait for RPC server to be mounted, ref issue:- #299
Signed-off-by: Prajjawalk <prajjawalkhandelwal@gmail.com>
2022-12-08 15:49:34 -04:00
Richard Ramos b929aeeb4e
fix: initial value of lastTimeExecuted 2022-12-08 15:48:16 -04:00
Richard Ramos ff8c3009c7 refactor: store 2022-12-06 12:06:17 -04:00
Richard Ramos 05e33105c4 fix: force disconnect if keepAlive loop hasnt been executed recently 2022-12-05 15:20:14 -04:00
Richard Ramos b08ae4d7cc fix(peer_exchange): allow using as client without discv5 enabled 2022-12-03 09:52:01 -04:00
Richard Ramos 94d20ab122 fix: remove useless condition 2022-11-29 16:14:35 -04:00
Richard Ramos 982707e02c refactor(discv5): execute discover loop as separate goroutine 2022-11-29 15:28:13 -04:00
Richard Ramos 041c7be67d fix: RLN Merkle Root window 2022-11-26 17:09:12 -04:00
Richard Ramos 5243124af5 refactor: gowaku version 2022-11-25 21:56:43 -04:00
Richard Ramos 7e74155dca feat: add version metric 2022-11-25 17:38:14 -04:00
Richard Ramos 3620a6b222 feat: allow specifying list of peerIDs to chose when doing a request 2022-11-25 17:37:54 -04:00
Richard Ramos 04a2a3fbae fix(store): max records per query 2022-11-24 08:51:03 -04:00
Richard Ramos 5d7d05ca16
fix: restart discv5 2022-11-22 19:46:56 -04:00
Richard Ramos df4e182266 fix: discV5 enr update 2022-11-22 17:57:05 -04:00
Richard Ramos 22404a0608 fix: log format 2022-11-21 14:33:46 -04:00
Richard Ramos a247e8346d chore: add extra logging for message IDs 2022-11-16 10:42:20 -04:00
Richard Ramos dbe152b8e5 feat: find by criteria 2022-11-16 10:38:21 -04:00
Richard Ramos c8fc0404d1
chore: rename status-im/go-waku to waku-org/go-waku 2022-11-09 16:03:40 -04:00
Richard Ramos 8c58037770 fix: set tls min version to 1.2 2022-11-09 22:39:25 +03:00
Richard Ramos 8b64934e2c feat: peer exchange 2022-11-09 17:26:38 +03:00
Richard Ramos 861f37f15a fix: concurrent map writes 2022-11-09 17:26:29 +03:00
Richard Ramos 5f65c5a9f4 fix: limit the number of content filters in query 2022-11-09 17:14:01 +03:00
Richard Ramos dc0968ca0a fix: chat2 rln credentials 2022-11-09 17:09:36 +03:00
Richard Ramos 448781687e feat: output logs to file 2022-11-03 07:06:16 +01:00
Richard Ramos 38093bf660 chore: move dependencies from status-im to waku-org 2022-10-27 11:41:23 -04:00
Richard Ramos a60213b14b chore: add `agent-string` flag 2022-10-27 11:28:37 -04:00
Richard Ramos 77df9a2224 chore: set userAgent to `go-waku` 2022-10-27 11:28:37 -04:00
Richard Ramos 1b7dd9fe3f chore: remove rendezvous 2022-10-27 09:16:26 -04:00
Richard Ramos 9b5922bc74 fix(rln): keep track of last loaded index 2022-10-26 18:17:10 -04:00