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