Commit Graph

826 Commits

Author SHA1 Message Date
Richard Ramos cfe28d4698 fix: add artificial delay to discv5 iterator 2023-07-07 12:04:05 -04:00
Richard Ramos a124c48b4e fix: add peerID to multiaddr 2023-07-07 12:04:05 -04:00
Richard Ramos 55a7d7b332 fix: reduce timeout and increase minimum backoff time 2023-07-07 12:04:05 -04:00
Richard Ramos 6d9018cb11 refactor: connect to discovered peers linearly 2023-07-07 12:04:05 -04:00
Richard Ramos dbd94ebb81 fix: add p2p-circuit component to multiaddresses that use circuit-relay 2023-07-07 12:04:05 -04:00
Richard Ramos 8cac406a4c fix: warning message format when using static shards and named shards at same time 2023-07-07 10:35:12 -04:00
Richard Ramos ca297713fa refactor: move app code to cmd/waku 2023-07-07 10:10:21 -04:00
Richard Ramos b26859fc6a refactor: make discovery connector subscribe to discovery services 2023-07-07 09:47:46 -04:00
Richard Ramos 5ca26ef897 fix: allow wakunodes to be restarted without error 2023-07-07 09:47:46 -04:00
Prem Chaitanya Prathi 97f02361d4
Persistence: Addressing code-climate issues to increase maintainability score (#592)
* chore:fix minor issues reported by code-climate

* chore: reduce code duplication

* chore: update vendorSHA for nix build due to recent updates to dependencies
2023-07-07 07:08:23 +05:30
Richard Ramos 6ece3c483b feat: subscribe to shards with --topic and refactors
- Shards in same cluster are advertised on ENR
- Store().Resume() was moved to app layer
- NoDefaultWakuTopic() was removed since it's the app that must determine whether it subscribes to the default waku topic
- Removed `Publish` from WakuNode (not really used and easy to implement in app layer if needed)
2023-07-06 11:18:29 -04:00
Richard Ramos 7dd02067f8 fix: unsubscribe from all peers unless specified and check err code when full node has no subscription 2023-07-05 15:54:31 -04:00
Richard Ramos 0822fdb280 chore: use pgx instead of lib/pq since it's not actively maintained 2023-07-03 11:16:05 -04:00
Richard Ramos fb3447f3d8
fix: adding relay protocol to feature check function of gossipsub 2023-06-29 09:29:08 -04:00
Richard Ramos b8ab99ba08 fix: set wakurelay at index 0 in gossipsub protocol list 2023-06-28 14:06:16 -04:00
Richard Ramos cd358c7bd6 refactor: rendezvous 2023-06-28 09:01:41 -04:00
Richard Ramos cd335f8168 fix: handle scenarios where localnode has no shard set 2023-06-26 11:03:16 -04:00
Richard Ramos eba4aa43e5 feat: find discv5 peers with shards 2023-06-26 11:03:16 -04:00
Richard Ramos 0381b92531 feat(c-bindings): filterv2 2023-06-26 11:03:01 -04:00
Vitaliy Vlasov f0f3543df8 Modify isOnline setting when LightMode is on and Relay is off 2023-06-22 15:38:40 -04:00
Richard Ramos be766a8636 feat(discv5): find peers with predicate 2023-06-15 08:54:40 -04:00
Richard Ramos c380faa6ae fix: code review and disconnect bad peers 2023-06-09 14:57:43 -04:00
Richard Ramos 875d132c1e feat: gossipsub scoring 2023-06-09 14:57:43 -04:00
Richard Ramos 76186e5477 refactor: store ENR 2023-06-09 14:57:43 -04:00
Richard Ramos 52ac8e3740 refactor: various
- Limit inbound connections to 10 per IP
- Expose gossipsub parameters on WakuRelay
- New peerstore
2023-06-09 14:57:43 -04:00
Richard Ramos b0c094b0b6 feat: more utils functions to setup a relay shards field on the enr 2023-06-05 16:03:14 -04:00
Richard Ramos 1bffa35dfa fix: enodeToMultiaddress when using ipv6
Fixes #560
2023-06-01 14:02:18 -04:00
Richard Ramos 1c75c89790 refactor: remove unneeded `Connect` as dns4 addresses are being resolved now 2023-06-01 14:02:08 -04:00
Richard Ramos f18f219086 fix(rendezvous) - interop with nwaku 2023-06-01 13:31:21 -04:00
Richard Ramos 9207dbcb4a
fix: addPeers 2023-06-01 08:26:03 -04:00
Richard Ramos 10c2e20910
fix: signatures 2023-05-26 11:18:00 -04:00
Richard Ramos 2c17e20d99
fix: neither encoding nor address comparison are needed to protect a topic 2023-05-26 10:42:25 -04:00
Richard Ramos 39c97c5d89 feat: set resource limits 2023-05-24 11:46:32 -04:00
Richard Ramos 189b2ed120
revert: "refactor: use an address instead of public key for the node setup"
This reverts commit 38a9fc4b19.
2023-05-22 17:03:40 -04:00
Richard Ramos b66c19ad8f
fix: set autorelay interval to 2 seconds 2023-05-18 12:10:37 -04:00
frank 898f433d2c
fix: dead loop after calling WakuNode.Stop() 2023-05-18 11:22:19 -04:00
Richard Ramos 8d6b2cd721 refactor: add `--ext-ip` and `--dns4-domain-name` values to the list of node multiaddressess 2023-05-15 17:39:58 -04:00
Richard Ramos 30b9fac6a7
fix: dns > ext ip 2023-05-15 11:51:46 -04:00
Richard Ramos 9594e54d36 feat: use circuit relay in service node 2023-05-14 13:10:56 -04:00
Richard Ramos ceed9c7d59
feat: v0.6.0 2023-05-12 12:27:14 -04:00
Richard Ramos 25562d6240 feat: add peer connection notif channel and allow dialing peers with the peer.AddrInfo 2023-05-12 09:09:08 -04:00
Richard Ramos 38a9fc4b19 refactor: use an address instead of public key for the node setup 2023-05-12 09:09:08 -04:00
Richard Ramos aed730c634 feat: use addresses in signed topic validator 2023-05-12 09:09:08 -04:00
Richard Ramos fa61e58d3b fix: do not block ctx.Done() on peer discovery 2023-05-10 08:09:44 -04:00
Richard Ramos e14c55c263 refactor: enr builder 2023-05-09 17:30:26 -04:00
Richard Ramos d9a12bf079 fix: gossipsub parameters, and cancel() execution in wakunode2 2023-05-09 16:42:24 -04:00
Richard Ramos 279524f100 feat(filter): get subscription list 2023-05-08 17:37:15 -04:00
Richard Ramos ac75160817
fix: use 5s timeout in discv5 iterator 2023-05-08 12:29:18 -04:00
Richard Ramos 9b7ad40b06 feat: ext-ip 2023-05-08 11:59:46 -04:00
harsh-98 38741caca0 fix: constrainted env add wait to TestRelaySubscription 2023-05-08 08:31:19 -04:00
harsh-98 bf8c856bc3 fix: use buffered channel as needed by legacy_filter, filter 2023-05-08 08:31:19 -04:00
harsh-98 128999b763 fix: make test work without buffered channel from relay.Subcribe 2023-05-08 08:31:19 -04:00
harsh-98 60edf95c48 fix: broadcaster shouldn't block if channels are not listened to 2023-05-08 08:31:19 -04:00
harsh-98 210597f7e0 fix: to test for new Broadcaster 2023-05-08 08:31:19 -04:00
harsh-98 31c8035589 feat: safe broadcaster 2023-05-08 08:31:19 -04:00
harsh-98 02fdf916d8 refactor: sync.atomic has Boolean type 2023-05-08 08:27:44 -04:00
harsh-98 e391fe6a2f refactor(discv5): lock-free via atomics 2023-05-08 08:27:44 -04:00
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
harsh-98 caeba39b21 fix: only last discoveryUrl set discoveredNodes 2023-05-04 13:27:54 -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 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
Richard Ramos 665968deea feat(rln): multiple acceptable roots 2022-10-26 18:16:55 -04:00
Richard Ramos 7636967ccc refactor(noise): use status-im/noise 2022-10-23 09:13:00 -04:00
Richard Ramos 721c27e101 fix(rln): attempt to re-subscribe if websocket conn fails 2022-10-21 15:24:26 -04:00
Richard Ramos 0ba2d9ea97
fix: remove println 2022-10-21 14:28:05 -04:00
Richard Ramos 3b4dcf3195 fix(rln): remove idcommitment and idkey 2022-10-21 11:42:18 -04:00
Richard Ramos e393b68ab7 fix: lint 2022-10-21 11:29:31 -04:00
Richard Ramos 97973e3226 fix: keep only last 30 messages in memory in rpc relay and filter 2022-10-21 11:29:31 -04:00
Richard Ramos df38038bc0 feat: allow lightpush to be used as client always 2022-10-20 09:56:47 -04:00
Richard Ramos b242389e05 chore: remove `--persist-messages` flag 2022-10-20 09:35:42 -04:00
Richard Ramos 57a525f71e chore: upgrade libp2p 2022-10-19 15:54:02 -04:00
Richard Ramos 644debe042 refactor(rln): credentials management 2022-10-10 17:41:28 -05:00
Richard Ramos 1a8543f98f fix: add lock to nullifier log 2022-10-09 12:15:28 -04:00
Richard Ramos e91fd0e649 feat: use verifyProofWithRoots 2022-10-07 19:05:19 -04:00
Richard Ramos 4841f89eff
fix: handling bytes 2022-10-05 18:08:01 -04:00
Richard Ramos 4d23f4256a feat: zerokit RLN 2022-10-04 19:27:21 -04:00
Richard Ramos 5af5e89c08
chore: improve pagination logic (#325) 2022-10-03 15:26:45 -04:00
Richard Ramos 0ab7641a2f
fix: dnsdisc address (#318) 2022-09-26 18:03:18 -04:00
Richard Ramos 2b5c8769d5
fix: rpc message version (#319) 2022-09-23 16:40:12 -04:00
Richard Ramos eafbc4c01f
chore: install go-bindata and add indexes to message table (#317) 2022-09-21 09:22:22 -04:00
Richard Ramos 3a38e0e76a
fix: check if enr has UDP (#316) 2022-09-15 18:54:37 -04:00
Richard Ramos f6cd9904c5
fix: invalid order when pagination is backwards (#313) 2022-09-15 09:23:45 -04:00
Richard Ramos c39c4d535c
feat: support multiple DNS discovery URLs (#309) 2022-09-14 15:19:11 -04:00
Richard Ramos 8d42febe18
fix: make 0x prefix optional (#306) 2022-09-14 15:19:04 -04:00
Richard Ramos 83250be0fb
feat: ephemeral messages (#305) 2022-09-12 12:10:34 -04:00
Richard Ramos cd79be4812
fix: jenkinscript (#304)
* chore: add jenkinsfile for tests
* chore: remove old jenkinsfile
* fix: lint
* fix: update cc-test-reporter
2022-09-12 10:13:38 -04:00
Richard Ramos 3716ebdf1d
fix: chat2 feedback 2022-09-11 17:08:58 -04:00
Richard Ramos db85642862
fix: null response obtaining messages from relay (#296) 2022-09-08 08:54:12 -04:00
Richard Ramos b226f34f9f
fix: noise padding, docs and http status for rpc errors (#300) 2022-09-07 15:24:35 -04:00
Richard Ramos 81220b0a2e
fix: stop node without rln 2022-08-26 22:01:26 -04:00
Richard Ramos a1e5b587a2 feat: add flag to set wss port 2022-08-26 11:59:50 -04:00
Richard Ramos e201528da7 fix: increase timeout when dialing peers and add extra logging 2022-08-26 11:59:18 -04:00
Richard Ramos 8d885febf7
fix: set default response if nil 2022-08-19 12:00:20 -04:00
Richard Ramos 7943f8f657
fix: close eth connection on stop 2022-08-18 12:27:10 -04:00
Richard Ramos d14e3be64e
chore: add comments to rln options 2022-08-18 10:42:18 -04:00
Richard Ramos bcaf229994
fix: linting, printing addresses in chat2, adding err channel to event subs 2022-08-15 21:39:31 -04:00
Richard Ramos 8538013f29 fix: update contracts 2022-08-15 15:22:13 -04:00
Richard Ramos 39f70f71a9 feat: use generic flags and convert values to specific data types 2022-08-15 15:22:13 -04:00
Richard Ramos 4589b6c31c feat: make rln optional 2022-08-15 14:41:58 -04:00
Richard Ramos 4292b14ef4 chore: make dynamic tests optional 2022-08-15 14:40:10 -04:00
Richard Ramos c2ce8326ff test: rln onchain 2022-08-15 14:40:10 -04:00
Richard Ramos fb6aa64442 feat: store credentials in a file 2022-08-15 14:40:10 -04:00
Richard Ramos f486236d0d fix: don't use goroutines for processing logs 2022-08-15 14:40:10 -04:00
Richard Ramos 893f9f396c feat: chat2 dynamic RLN (#283) 2022-08-15 14:40:10 -04:00
Richard Ramos 132ac128e5 feat: RLN (dynamic) 2022-08-15 14:40:10 -04:00
Richard Ramos 587fd148ca chore: use static rln lib and fix lint 2022-08-15 14:40:10 -04:00
Richard Ramos 6481e72885 feat: chat2 + RLN(static) 2022-08-15 14:40:10 -04:00
Richard Ramos 67a43b8ba7 feat: test unit for RLN (static) 2022-08-15 14:40:10 -04:00
Richard Ramos 1636a33835 feat: RLN (static) 2022-08-15 14:40:10 -04:00
Richard Ramos e7bc6799ed refactor: decouple rpc and rest http servers 2022-08-09 11:59:47 -04:00
Richard Ramos 7279600c64 feat(REST): relay (#267) 2022-08-09 11:59:47 -04:00
Richard Ramos 6e44784255
feat(REST): debug (#266) 2022-08-09 10:15:16 -04:00
Richard Ramos dec00e69ad
feat: noise (#258) 2022-08-09 09:55:08 -04:00
Elise Alix 924acf67d9
fix: verify matching `requestId` before removing subscription (#280)
* Check we are removing content topics for the correct request
* Verify request id matches before removing peer as well
2022-08-03 09:35:25 -04:00
Richard Ramos 546416a9d5
refactor: remove WakuStoreWithRetentionPolicy and add build tag to migrations (#281) 2022-08-03 09:32:52 -04:00
Steven Normore fb6d59ff33
fix: close addrChan in the writer goroutine (#277) 2022-08-01 20:16:52 -04:00
Richard Ramos a549337a42
fix: quit channel on store 2022-07-28 15:33:56 -04:00
Richard Ramos 4041f5a67a
fix: store recorded messages metric 2022-07-28 15:17:12 -04:00
Richard Ramos 1c2c68fbfd
fix: test and lint 2022-07-28 14:29:35 -04:00
Nicholas Molnar 2bfdcb6fd1
fix: handle case of unsubscribe from non-existent topic (#276) 2022-07-26 15:20:56 -04:00
Richard Ramos 069d66ed6d
fix: get_waku_v2_admin_v1_peers response 2022-07-26 13:49:10 -04:00
Richard Ramos ecf55b6f89
fix: advertise addr IP 2022-07-26 11:24:24 -04:00
Richard Ramos 6043f6db2e
chore: add docs to filter protocol 2022-07-25 13:28:50 -04:00
Richard Ramos 8cf5f80529
fix: dial wss nodes and add ws to list of default transports (#274)
Also updates libp2p to latest version
2022-07-25 11:49:10 -04:00
Richard Ramos e2b04570c1
chore: improve docs 2022-07-25 11:28:17 -04:00
Richard Ramos 6d65d4921c
feat: encrypt nodekey file (#270) 2022-07-25 08:24:42 -04:00
Steven Normore d8853e62c6
fix: store error metrics tagging (#269) 2022-07-23 08:14:49 -04:00
Richard Ramos 36d4a61dc4 chore: add missing flags 2022-06-19 17:47:39 -04:00
Richard Ramos 27b5ab9c51 chore: test store being decoupled from relay and fix empty contenttopics on filter 2022-06-14 15:53:48 -04:00
Martin Kobetic 2c2725308f
fix: filter deadlock (#262) 2022-06-14 11:53:56 -04:00
Richard Ramos 25c3887342 fix: js-waku / nwaku interop - pt2 2022-06-14 11:36:34 -04:00
Martin Kobetic b749cf22c0
fix: gowaku_lightpush_errors tag (#261) 2022-06-13 14:36:04 -04:00
Richard Ramos 3c0c3c4eeb
fix: js-waku / nwaku interop (#252) 2022-06-13 14:30:35 -04:00
Martin Kobetic 73af2002ce
fix: races in filter protocol and tests (#260)
* Fix races in filter protocol and tests
* only RLock needed
2022-06-10 08:18:34 -04:00
Martin Kobetic 8e295a2a57
fix: race in TestConnectionStatusChanges (#257) 2022-06-10 08:15:00 -04:00
Vitaliy Vlasov ca595277e6
fix: iterate through Network peers during ping process (#182) 2022-06-01 16:11:35 -04:00
Martin Kobetic 80385bf78e feat: add option for setting the encoding/format for logs (#250) 2022-06-01 16:04:00 -04:00
Richard Ramos fddffed78b fix: restore time variance verification 2022-06-01 15:51:28 -04:00
Richard Ramos 3847bcae68 fix: add back mplex muxer 2022-05-31 15:51:53 -04:00
Richard Ramos 77c1e26a9e chore: upgrade deps and go1.17 2022-05-30 15:30:43 -04:00
Richard Ramos 623e0705c5 fix: increase timeout 2022-05-30 15:30:43 -04:00
Richard Ramos b14f4a9aa8
feat: db migrations (#246) 2022-05-30 15:13:27 -04:00
Richard Ramos 7c0206684f
refactor: use db for serving history queries (#243) 2022-05-30 14:48:22 -04:00
Martin Kobetic 7c44369def
feat: structured logging followup (#248) 2022-05-30 11:55:30 -04:00
Richard Ramos 56c8ef705a fix: lint and unclosed prepared stmt 2022-05-27 14:34:13 -04:00
Martin Kobetic 0c989d3d8c
feat: structured logging (#242) 2022-05-27 09:25:06 -04:00
Richard Ramos d872b28d8f fix: change rpc endpoint to match nwaku 2022-05-26 08:23:10 -04:00
Richard Ramos c3e4262475
fix: removing VACUUM to speedup db operations 2022-05-19 17:29:15 -04:00
Richard Ramos b4697210b0
chore: adding some log messages to store 2022-05-19 16:30:41 -04:00
Richard Ramos dfed1409ff feat: domain name config 2022-05-17 17:54:41 -04:00
Nicholas Molnar 5353ae48f2 Use new errgroup 2022-05-17 13:49:40 -04:00
Nicholas Molnar 38fc9ee8bb Push subscriptions in parallel 2022-05-17 13:49:40 -04:00
Richard Ramos 257847ebaa
feat: add flags for enabling admin and private RPC methods 2022-05-06 15:47:39 -04:00
Richard Ramos 7b3c853c15
refactor: use diff logger for waku 2022-05-06 15:29:31 -04:00
Richard Ramos 79f3cf5b9f feat: discv5 dns bootstrap 2022-05-05 15:41:36 -04:00
Richard Ramos 9845fea2a2 fix: improve log for ENR and print git hash on startup 2022-05-05 14:26:24 -04:00
Richard Ramos 281e932c56 feat: add commit hash and method in debug rpc endpoint 2022-05-05 14:26:24 -04:00
Richard Ramos 30527b9a80 chore: vacuum DB after deleting records 2022-05-05 14:26:24 -04:00
Richard Ramos 3a0fc81889
chore: add docs. pt - 1 (#230) 2022-05-04 17:08:24 -04:00
Richard Ramos bbab0f1714
fix: add topic to broadcast and some comments to functions (#229) 2022-04-25 23:31:26 +04:00
Richard Ramos b294ee6f6f
fix: port on discv5 (#224) 2022-03-31 21:20:10 -04:00
Richard Ramos a20a128fb7
fix: discv5 ip advertising (#223) 2022-03-29 20:02:33 -04:00
Richard Ramos 15f3abec3a
fix: envelope hash should match messageIdFn hash (#220) 2022-03-23 09:16:11 -04:00
Richard Ramos aa6d8c8b58
fix: c api and add some documentation (#219) 2022-03-22 12:30:14 -04:00
Richard Ramos 290b7663d1
feat: secure websockets (#201) 2022-03-22 09:12:58 -04:00
Richard Ramos e85d112828
feat: store timestamp validity checks (#215) 2022-03-22 08:34:45 -04:00
Richard Ramos df235db6b7
feat: c-bindings for waku relay (#212) 2022-03-21 19:15:53 -04:00
Nicholas Molnar 21b2e1d97c
Create pluggable store (#210)
* Add store factory
* Add to test
2022-03-18 15:56:34 -04:00
Richard Ramos af6f36ec54
fix: flaky test (#211) 2022-03-18 15:50:10 -04:00
Richard Ramos e7098efcff
chore: nim-waku interop test (#207) 2022-03-10 18:14:50 -04:00
Richard Ramos 61cda61c3d
fix: flag conn error as failure (#209) 2022-03-09 19:15:04 -04:00
Richard Ramos cf6c4ae8fe
fix: extract multiaddress from enode key if available (#199) 2022-03-08 08:58:32 -04:00
Richard Ramos f4f307db87
fix: connect before opening a stream 2022-03-03 12:04:03 -04:00
Richard Ramos b820d797c8
feat: add pubsub topic to Index pb (#200)
* feat: add pubsub topic to Index pb
* fix: flaky test
2022-03-02 12:02:13 -04:00
Richard Ramos 2817d71fea
feat: use `d5waku` as ProtocolID for DiscV5 (#196) 2022-02-28 14:28:09 -04:00
Richard Ramos cdc0c9c69d
fix: remove unused vars 2022-02-24 09:40:18 -04:00
Richard Ramos d1931a6c69
fix: remove print 2022-02-24 09:37:10 -04:00
Richard Ramos df66ef5bb5
fix: race condition in unsubscribe (#197) 2022-02-23 11:08:27 -04:00
Richard Ramos 8d155fb51e
fix: protocol name 2022-02-23 11:06:47 -04:00
Richard Ramos 58f739765e
refactor: use int64 timestamps (#189)
* refactor: use int64 timestamps
* fix: changed PB Timestamp index to 10
2022-02-23 11:01:53 -04:00
Richard Ramos e9dafb6038
fix: remove public key (#193) 2022-02-21 15:21:31 -04:00
Richard Ramos 3e5d0d0843
fix: flag naming inconsistency (#194)
Fixes #80
2022-02-21 11:23:52 -04:00
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