Commit Graph

786 Commits

Author SHA1 Message Date
richΛrd 8aa1c4a39b
refactor(filter): unsubscribe waitgroup, execute async, and guard against calling functions while the protocol is not started (#692)
* refactor(filter): unsubscribe waitgroup and async
* refactor: verify started state for doing filter operations
2023-09-04 09:53:51 -04:00
Richard Ramos e8bd38a023 fix: add back to peerstore dns4 addresses removed by go-libp2p identify 2023-09-01 16:53:07 -04:00
Richard Ramos 9c0bebc859 refactor: use a map to store credentials instead of an array 2023-08-31 15:42:45 -04:00
Richard Ramos 0854edaf3d refactor: keystore as a data type 2023-08-31 15:42:45 -04:00
harsh jain 229fb7a970
refactor: peerManager test (#683)
* refactor: peerManager test

* fix: break down and fix peerManager test

* refactor: codeClimate linting for peerManager/ConnectionGater
2023-08-30 21:33:57 +07:00
harsh jain accd9ff3e3
feat: add serviceSlot ds (#684)
* feat: add serviceSlot ds

* test: service slot

* nit: codeClimate related changs

* nit: based on comments

* nit: dont' run getPeers for WakuRelayIDv200
2023-08-30 18:57:22 +07:00
harsh jain 4a546d12d3
fix: dont send to subscriptions that don't have any ContentTopic (#695) 2023-08-30 17:35:08 +07:00
richΛrd 4c52149fac
chore: log succesful message pushes (#694)
Co-authored-by: Prem Chaitanya Prathi <chaitanyaprem@gmail.com>
2023-08-30 10:48:06 +05:30
Andrea Maria Piana 8ad08d6b04
Check nils when deliting subscription (#691) 2023-08-29 12:53:39 +01:00
Prem Chaitanya Prathi 67d0b77147
chore: fix frequent logging from poll (#688) 2023-08-28 14:05:59 +05:30
harsh jain 467d1b2ca5
refactor: peerConnector (#665)
* refactor: peerConnector

* fix: code climate and dont waitOn subscriptions PeerData

* fix: check in peerConnector is on outRelay connections

* fix: introduced bug in peerConnector
2023-08-28 13:47:48 +07:00
richΛrd 09eb8ed19b
fix(discv5): threadsafe peerCh (#687) 2023-08-28 11:15:26 +05:30
Richard Ramos 041dc4070a fix(filterV2): requestID and log request type 2023-08-25 13:05:04 -04:00
harsh jain 8b73eb8ae3
refactor(WakuPeerStore): nit origin (#685) 2023-08-25 19:36:06 +04:00
harsh jain bfbc50eb22
fix: missed passing protocols to addPeer (#682) 2023-08-25 14:42:10 +04:00
Prem Chaitanya Prathi 44d3ef6d78
feat: autosharding core logic (#669)
* feat: autosharding core logic
2023-08-25 09:55:38 +05:30
Richard Ramos cb3f5da322 feat: rln metrics 2023-08-24 11:26:37 -04:00
Richard Ramos ddb08adbbd chore: set limit to 5000 to not choke eth1 node and start rln before relay 2023-08-24 10:48:22 -04:00
Richard Ramos 624fe1bb2f chore(rln): run rln in all relay pubsubtopics + remove cli flags 2023-08-24 10:48:22 -04:00
Richard Ramos 5422af8130 fix(rln-relay): RLN DB should be aware of chain and contract address 2023-08-24 10:38:59 -04:00
Richard Ramos 7e36f91a5a fix(rln-relay): flush_interval incorrectly set 2023-08-24 10:38:28 -04:00
Richard Ramos f62ba67a92 chore: update smart contracts and documentation 2023-08-24 10:37:54 -04:00
Richard Ramos 0b943caaa8 refactor: remove credential registering from waku 2023-08-24 10:37:54 -04:00
Richard Ramos f088e49075 feat: create `generate-rln-credentials` subcommand 2023-08-24 10:37:54 -04:00
Richard Ramos 8cc92dfdef chore(rln-relay): rename keystore application to `waku-rln-relay` 2023-08-23 15:38:05 -04:00
Prem Chaitanya Prathi bc06867cc9
chore: utils tests (#661)
* chore: add tests for utils

* chore:delete unused code

* fix: ipv6 validation issue
2023-08-22 19:18:43 +05:30
Prem Chaitanya Prathi 8a9c4d68e3
feat: register for local node's reachability change (#651)
* feat:Register for reachability change and log status

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

---------

Co-authored-by: richΛrd <info@richardramos.me>
2023-08-20 18:06:35 +05:30
Richard Ramos 2818c3d394 refactor: add libp2p metrics, and make each protocol responsable for defining its own metrics 2023-08-18 13:56:43 -04:00
richΛrd 387ee5f9ac
feat: merkle tree persistence
- use atomic operations API
- resume onchain sync from persisted tree db
- close eth client and db connection appropriately
- pass in the path to the tree db
- fix nwaku compatibility issues
2023-08-18 09:59:37 -04:00
Prem Chaitanya Prathi 287d7a014e
fix: fix relay peer calculation (#650) 2023-08-17 18:26:20 +05:30
Prem Chaitanya Prathi f263be4a74
fix: race condition in peermgt initialization reported by race detector (#646) 2023-08-16 17:55:58 +05:30
Prem Chaitanya Prathi 06f027b1a9
feat: implement relay connectivity loop (#642)
* feat: implement relay conenctivity loop

* chore: fix codeclimate issues

* Apply suggestions from code review

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

* chore:address review comments

---------

Co-authored-by: richΛrd <info@richardramos.me>
2023-08-15 06:57:51 +05:30
Vitaliy Vlasov 419adcb6a8
chore(filter2): test updates 2023-08-14 16:29:00 -04:00
Richard Ramos c320b38cbe feat(rln-relay): use atomic operations API 2023-08-12 07:44:07 -04:00
Richard Ramos da45dab68e
fix: nwaku / go-waku rlnKeystore compat 2023-08-11 11:54:24 -04:00
Richard Ramos 9e52e09dd5 chore: keepAlive will not immediatly disconnect peers when waking up from sleep, but do it only if pinging the peer fails 2023-08-10 11:16:02 -04:00
Richard Ramos e0e4a2fa87 refactor: remove unused function and simplify code related to creating db and migrations 2023-08-10 10:37:22 -04:00
Richard Ramos e56f54252f fix: postgresql VACUUM FULL is the equivalent to sqlite VACUUM 2023-08-10 10:29:40 -04:00
Richard Ramos 05d8cfdc65 feat: postgresql vacuum 2023-08-10 10:29:40 -04:00
Richard Ramos ee2af4646c feat: sqlite vacuum and optional migrations 2023-08-10 10:29:40 -04:00
Prem Chaitanya Prathi 9f45d271ac
feat: support serviceslots in peermanager (#631)
* feat: support peermanager serviceslots and update store protocol to use serviceslots

* fix: lint errors in test code

* fix: error in nix build due to vendor sha change

* fix: set host in peermanager even if relay is disabled

* chore: fix codeclimate issues

* chore: using common filterPeer function to avoid duplication

* feat:use service slots in other service protocols

* chore: fix codeclimate issues

* chore: move AddPeer to peermanager

* Apply suggestions from code review

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

* chore:address review comments

* feat: implement RemovePeer #638

* chore: fix test failure

* Support for multiple slots for service peers
Adding discovered peers also moved to peer manager

---------

Co-authored-by: richΛrd <info@richardramos.me>
2023-08-10 18:28:22 +05:30
Prem Chaitanya Prathi af7471d158
fix:during unsubscribeAll, remove peer without any checks 2023-08-07 15:01:44 +05:30
Prem Chaitanya Prathi baeaa1dd55
fix: data race in peer connector 2023-08-07 14:42:48 +05:30
Prem Chaitanya Prathi 20040f2e9b
fix: data race in filter unsubscribe 2023-08-05 08:03:19 +05:30
Prem Chaitanya Prathi 22398b2868
fix:race in filter peer subscription map iteration and deletion 2023-08-05 08:00:04 +05:30
Prem Chaitanya Prathi 884f65ecdf
fix: noise protocol channel close race condition 2023-08-04 17:19:53 +05:30
Prem Chaitanya Prathi 42b2c0bc6d
fix: race condition in rendezvous test code 2023-08-04 16:37:45 +05:30
Prem Chaitanya Prathi 34de2941c7
Feat/peer manager (#596)
* chore: refactor existing code into peer maanger package

* feat: move peer connection related code into peer manager

* feat: in relay peer connection pruning

* feat: add max-connections CLI flag and limit outRelayPeers based on max-connections #621

* tested both in and out relay connection limits

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

* Review comment, use context to pause connectivity loop during node shutdown.

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

* address review comments


---------

Co-authored-by: richΛrd <info@richardramos.me>
2023-08-03 21:51:15 +05:30
Richard Ramos 33344c2ae0 refactor: use uint instead of int for RLN indexes 2023-08-03 11:17:50 -04:00
Richard Ramos a4b038730c feat(rln-relay): pass in index to keystore credentials 2023-08-03 11:17:50 -04:00
Prem Chaitanya Prathi e6aaf9c852
chore: fix comment on test 2023-08-02 11:24:50 +05:30
Richard Ramos 55ec2347a8 fix: RLN
- subscription to topic is not required for registering RLN validator
- check for duplication msg within same epoch was incorrect
- added an example on how to use RLN
2023-08-01 09:19:38 -04:00
Richard Ramos 8b3f42310d fix: code review 2023-08-01 09:17:11 -04:00
Richard Ramos 76961f2bd8 fix: code review 2023-08-01 09:17:11 -04:00
Richard Ramos 1abd476d3e refactor: use backoff strategy to connect to random rendezvous points 2023-08-01 09:17:11 -04:00
Richard Ramos 88d52d6417 fix: set concurrent dials to 5 2023-07-31 12:01:05 -04:00
Richard Ramos dc08c44804 feat: add filters for discv5 2023-07-31 10:45:45 -04:00
Richard Ramos ad9236fd6b refactor: move RPC and REST servers to waku cmd 2023-07-28 08:03:00 -04:00
Richard Ramos a422add209 chore: add missing comments to functions 2023-07-23 07:01:42 -04:00
Richard Ramos bc6a305759 chore: extract `EncapsulatePeerID` 2023-07-07 12:04:05 -04:00
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