449 Commits

Author SHA1 Message Date
Aaryamann Challani
baaa9c7ec2 chore(rln-relay): verify proofs based on bandwidth usage (#1844)
* chore(rln-relay): Verify proofs based on bandwidth usage

* fix(rln-relay): make default threshold 0, for backwards compat

* fix(rln-relay): add unit test for bandwidth cutoff

* fix(rln-relay): rlnRelayBandwidthTreshold option
2023-07-07 17:28:37 +05:30
Alvaro Revuelta
fb74863f32 feat: limit relay connections below max conns (#1813) 2023-07-04 13:31:18 +02:00
Simon-Pierre Vivier
ea5af1a935 chore: discv5 re-org clean-up (#1823)
- Remove discv5 from node and it's builder
- Require a record to init a node (was previously using discv5 record).
- Fix various tests that assumed nodes with discv5.
- Fix ENR creation
- Fix wakubridge
- Fix networkmonitor
2023-06-28 08:57:10 -04:00
Alvaro Revuelta
71382cac9a chore(networking): disconnect due to colocation ip in conn handler (#1821) 2023-06-28 09:14:11 +02:00
Ivan Folgueira Bande
a7c775da65 fix(discv5): Fixing issue that prevented the wakunode2 from starting (#1829)
* Fixing issue that prevented the wakunode2 from starting

The issue was introduced in PR#1818.

Before this commit, the `wakunode2` app crashed with the next error:

ERR 2023-06-27 15:57:27.268+00:00 5/7 Starting node and protocols failed
topics="wakunode main" tid=1 file=wakunode2.nim:92 error="failed to
start waku discovery v5: "

* fix tests accordingly

* publisher.nim, subscriber.nim: fix
2023-06-27 15:16:59 -04:00
Simon-Pierre Vivier
00a818b96c chore: move discv5 out of node. (#1818)
- Refactor discv5 start, stop & loop.
- Fix tests.
2023-06-27 09:50:11 -04:00
Ivan Folgueira Bande
32ba79a920 refactor(archive): Moving waku archive logic from app.nim to the archive module (#1817)
* Refactoring the Waku Archive. Simplifying the app.nim

This change is needed to accommodate the further PRs where we will integrate Postgres in `wakunode2`.
2023-06-27 13:24:31 +02:00
Alvaro Revuelta
a67bf22e61 chore: add peer manager config to builder (#1816) 2023-06-23 15:30:28 +02:00
Ivan Folgueira Bande
12c6fd3df7 refactor(databases): Creation of the databases folder to keep the logic for sqlite and postgres (#1811)
* Refactoring in sqlite and postgres. Creation of the databases folder.
2023-06-22 11:27:40 +02:00
Simon-Pierre Vivier
af98f7bb94 feat: discovery peer filtering for relay shard (#1804)
Add discv6 predicate that filter peer by static shard.

Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
2023-06-20 12:08:10 -04:00
Simon-Pierre Vivier
e5bca6ab29 sharded topic validation & ENR update (#1795)
Add sharded topic validation and update the node ENR accordingly.
2023-06-19 18:16:25 -04:00
Aaryamann Challani
747d6ea067 fix(rln-relay): tree race condition upon initialization (#1807) 2023-06-19 13:46:05 +05:30
Aaryamann Challani
ad020c8112 feat(rln-relay): metadata ffi api (#1803)
* feat(rln-relay): metadata ffi api

* chore(rln-relay): bump to latest master after merge

* fix(rln-relay): naming, visibility, tests
2023-06-16 11:33:41 +05:30
Aaryamann Challani
3306093042 fix(rln-relay): flaky static group manager test (#1798) 2023-06-14 20:55:33 +05:30
Aaryamann Challani
a49b6a1bb4 feat(rln-relay): integrate get_leaf ffi api (#1790) 2023-06-12 15:30:07 +05:30
Ivan Folgueira Bande
4d827694e7 feat(postgres): complete implementation of driver and apply more tests (#1785) 2023-06-09 12:42:33 +02:00
Ivan Folgueira Bande
991cd87408 feat(postgres): Adding a postgres async pool to make the db interactions asynchronous (#1779)
* feat(postgres): added postgres async pool wrapper

---------

Co-authored-by: Lorenzo Delgado <lorenzo@status.im>
2023-06-07 10:08:43 +02:00
Aaryamann Challani
107cb8119f feat(rln-relay): pass in index to keystore credentials (#1777)
* feat(rln-relay): pass in index to keystore credentials

* fix(rln-relay): s/MembershipIndex/uint
2023-06-06 23:13:05 +05:30
Alvaro Revuelta
7cc3239466 feat(networking): integrate gossipsub scoring (#1769) 2023-06-06 19:28:47 +02:00
Hanno Cornelius
5ebf095477 feat(discv5): added find random nodes with predicate (#1762) (#1763)
* feat(discv5): added find random nodes with predicate (#1762)

Co-authored-by: Lorenzo Delgado <lnsdev@proton.me>

* chore: play around with sleep times on tests

* chore: simplify flaky tests

* chore: update waku/v2/node/waku_node.nim

Co-authored-by: Ivan Folgueira Bande <128452529+Ivansete-status@users.noreply.github.com>

* chore: update tests/v2/test_waku_discv5.nim

Co-authored-by: Ivan Folgueira Bande <128452529+Ivansete-status@users.noreply.github.com>

* chore: update examples/v2/subscriber.nim

Co-authored-by: Ivan Folgueira Bande <128452529+Ivansete-status@users.noreply.github.com>

---------

Co-authored-by: Lorenzo Delgado <lnsdev@proton.me>
Co-authored-by: Ivan Folgueira Bande <128452529+Ivansete-status@users.noreply.github.com>
2023-06-06 16:36:20 +02:00
Vaclav Pavlin
8bacfd0ba4 feat(wakunode2): enable libp2p rendezvous protocol by default (#1770) 2023-06-01 21:43:10 +02:00
Ivan Folgueira Bande
6293befd4b feat(postgresql): align Andrea's PR#1590 changes into master (#1764)
* Add postgres basic support
* test_driver_postgres.nim: adding simple test to validate asynchronous-ness
* Aligning the changes made by Andrea to the current master state
* test_driver_postgres.nim: new unit test (checking duplicate insertion)

---------

Co-authored-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2023-05-31 10:28:48 +02:00
Alvaro Revuelta
55ff040585 feat(networking): prune peers from same ip beyond colocation limit (#1765) 2023-05-31 09:47:56 +02:00
Ivan Folgueira Bande
7c52ba44a4 feat(postgresql): 1st commit to async sql (waku_archive/driver...) (#1755) 2023-05-25 17:34:34 +02:00
Alvaro Revuelta
dd7fffb45a chore(px): close px streams after resp is sent (#1746) 2023-05-25 16:42:48 +02:00
Alvaro Revuelta
d4f80d2739 chore(networking): set and use target outbound connections + prune (#1739) 2023-05-18 09:40:14 +02:00
Aaryamann Challani
318ae519f9 feat(rln-relay): use new atomic_operation ffi api (#1733)
* chore(rln-relay): bump zerokit

* feat(rln-relay): use new atomic_operations ffi api

* fix(rln-relay): static gm
2023-05-18 10:42:08 +05:30
Aaryamann Challani
8ab666955b fix(rln-relay): handle invalid deletes (#1717) 2023-05-05 15:48:06 +05:30
Alvaro Revuelta
9941565236 chore: add validator for dos protec metrics and move to app (#1704) 2023-05-02 16:20:38 +02:00
Vaclav Pavlin
a4d22fadc3 refactor:optimize getting number of connections and streams (#1673) 2023-04-26 10:47:46 +02:00
Alvaro Revuelta
79a5ff4b0b chore: refactor flaky test with while (#1698) 2023-04-25 09:50:13 +02:00
Lorenzo Delgado
59cbcf9dd0 chore(core): move peers utils module to waku_core 2023-04-24 16:37:54 +02:00
Lorenzo Delgado
1b1708884b chore(core): move utils time module to waku_core 2023-04-19 16:39:52 +02:00
Alvaro Revuelta
5598ab64e1 feat: curate peers shared over px protocol (#1671) 2023-04-19 16:12:00 +02:00
Lorenzo Delgado
e2dc11912c chore(core): rename waku_message module to waku_core 2023-04-19 13:29:23 +02:00
Lorenzo Delgado
cc85f7f213 chore: flatten waku v2 protocols folder 2023-04-18 15:22:10 +02:00
Lorenzo Delgado
9506800d6a feat(enr): added support for relay shards field 2023-04-17 15:21:20 +02:00
Alvaro Revuelta
7de62f29cb chore: fix test failing intermittently (#1679) 2023-04-17 14:30:11 +02:00
Vaclav Pavlin
9c97073b20 bug: move canBeConnected to PeerManager and check for potential overflow (#1670) 2023-04-14 15:12:22 +02:00
Alvaro Revuelta
46faf099cb chore(networking): get relay number of connections from protocol conns/streams (#1609) 2023-04-12 13:05:34 +02:00
Ivan Folgueira Bande
cef5f89cf3 Adding parsePeerInfo and deprecating 'parseRemotePeerInfo' (#1658) 2023-04-12 11:29:11 +02:00
Ivan Folgueira Bande
90bef27f45 chore: allow to call store api endpoints without a storenode (#1575) (#1647)
* test_jsonrpc_store: testing when there is no peer-store-node available
2023-04-12 09:26:26 +02:00
Hanno Cornelius
10028a4df9 feat: integrate new filter protocol, other improvements (#1637) 2023-04-11 10:12:54 +02:00
Ivansete-status
3b26a3e65f feat(rest-api-store): new rest api to retrieve store waku messages (#1611) (#1630)
* feat: new rest api based on the current store json-rpc api and
following the same structure as the current relay rest api.

* feat: the store api attend GET requests to retrieve historical messages

* feat: unit tests.

* feat: allow return message to rest-client in case error (4XX or 5XX)

* chore: always allow to call the store api endpoints (only rest) without explicit storenode (#1575)

* feat: always mounting the current node as storenode client
2023-04-06 11:43:19 +02:00
Lorenzo Delgado
7834ca839c refactor(node): remove deprecated constructor and extend testlib with builder 2023-04-05 16:01:51 +02:00
Lorenzo Delgado
5cca16b818 chore: pointed all waku node imports to the barrel import 2023-04-05 11:58:59 +02:00
Lorenzo Delgado
e3cba65827 refactor(node): added waku_node barrel import and split config module 2023-04-05 09:46:13 +02:00
Lorenzo Delgado
884b2fc9ac chore: remove deprecated enr record init method 2023-04-04 15:35:15 +02:00
Lorenzo Delgado
2ed4145069 fix: fixed multiple bare except warnings 2023-04-04 15:34:53 +02:00
Alvaro Revuelta
0fe18e2842 feat: dos protected topic relay msgs based on meta field (#1614) 2023-04-04 10:58:45 +02:00