Commit Graph

120 Commits

Author SHA1 Message Date
Aaryamann Challani 3fe4522a7e
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 17b24cded6
feat: limit relay connections below max conns (#1813) 2023-07-04 13:31:18 +02:00
Ivan Folgueira Bande 97d3b9f79f
chore(refactor): Move record creation & fix libwaku compilation (#1833)
* Move record creation & fix libwaku

* app,external_config,internal_config,libwaku,sharding: refactorgin to make it compile

---------

Co-authored-by: SionoiS <simvivier@status.im>
2023-06-29 21:59:53 +02:00
Ivan Folgueira Bande 96aa59ba58
refactor of internal_config to avoid passing a 'WakuNodeConf' item (#1832)
This change is needed so that the `libwaku.nim` code gets simpler. The
`libwaku.nim` can't import the 'WakuNodeConf' type because this is
related to the wakunode2 app, and the library shouldn't know about it.
2023-06-29 11:01:14 +02:00
Simon-Pierre Vivier cf46fb7cf6
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
Ivan Folgueira Bande 3aefade647
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 62d3653022
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 52894a82d0
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 71c4ac1641
chore: add peer manager config to builder (#1816) 2023-06-23 15:30:28 +02:00
Simon-Pierre Vivier 44f9d8dc0e
chore: discv5 re-org setup (#1815)
Key, netconfig, enr are created at App initialization and config files has been renamed.
2023-06-22 16:58:14 -04:00
Ivan Folgueira Bande a44d4bfbcd
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
Ivan Folgueira Bande 5d4fa3ce73
Deprecation of the 'topics' param (#1806) 2023-06-20 13:14:17 +02:00
Simon-Pierre Vivier 50412d1880
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 bbded9eea7
feat(rln-relay): resume onchain sync from persisted tree db (#1805)
* feat(rln-relay): resume onchain sync from persisted tree db

* chore(rln-relay): bump zerokit
2023-06-19 15:21:18 +05:30
Aaryamann Challani dba84248f1
chore(rln-relay): pass in the path to the tree db (#1782)
* chore(rln-relay): pass in the path to the tree db

* fix(rln-relay): address visibility

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

* fix(rln-relay): make db used more explicit

* fix(rln-relay): reduce visibility

---------

Co-authored-by: Ivan Folgueira Bande <128452529+Ivansete-status@users.noreply.github.com>
2023-06-08 17:22:21 +05:30
Aaryamann Challani a00aa8cc59
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 34a9263191
feat(networking): integrate gossipsub scoring (#1769) 2023-06-06 19:28:47 +02:00
Hanno Cornelius 21737c7c1b
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 835a409d10
feat(wakunode2): enable libp2p rendezvous protocol by default (#1770) 2023-06-01 21:43:10 +02:00
Ivan Folgueira Bande 59ca03a875
feat(postgresql): 1st commit to async sql (waku_archive/driver...) (#1755) 2023-05-25 17:34:34 +02:00
Aaryamann Challani 36266b43cf
fix(rln-relay): keystore usage (#1750)
* fix(rln-relay): keystore usage

* docs(rln-relay): explicit keystore usage
2023-05-22 22:06:55 +05:30
Aaryamann Challani bb9d231bdc
chore(rln-relay): docs and config update for testnet 3 (#1738)
* chore(rln-relay): docs and config update for testnet 3

* chore(rln-relay): update more docs
2023-05-19 18:22:01 +05:30
Ivan Folgueira Bande 665484c17b
refactor: proper use of setupNat (#1740)
Notice that I had to adapt to use 'rlpx_connected_peers' instead
of 'connected_peers' in 'wakunode1.nim' because due to the update
of the 'vendor/nim-eth', which adds the dependency-break with
'confutils' but also includes another changes.

Aside note: we cannot have 'confutils' dependency in 'nim-eth' because
that will prevent the generation of any waku dynamic library.
2023-05-17 18:32:53 +02:00
Ivan Folgueira Bande 2ec9809cf3
fix: wakunode2 config. adding new 'topic' config parameter. (#1727)
* wakunode2 config. adding new 'topic' config parameter.

This new parameter can be repeated and we are starting to deprecate the
parameter 'topics', that expected to receive a space-separated list of
pubsubtopic to subscribe to.

* Appying PR suggestions
2023-05-12 13:37:54 +02:00
Alvaro Revuelta 3e0a693d2e
chore: add timestamp and ephemeral for opt-in dos validator (#1713) 2023-05-05 10:12:49 +02:00
Alvaro Revuelta eaa162ee94
chore: add test vectors dos protection validator (#1711) 2023-05-04 15:38:52 +02:00
Alvaro Revuelta 3e14686950
chore: add validator for dos protec metrics and move to app (#1704) 2023-05-02 16:20:38 +02:00
Alvaro Revuelta 16b4452390
feat: configure protected topics via cli (#1696) 2023-05-02 11:45:50 +02:00
Lorenzo Delgado 209579b0a7
chore: move networkmonitor and wakucanary to apps directory 2023-04-27 16:25:31 +02:00
Lorenzo Delgado ce92fc1aed
refactor(wakunode2): flatten and simplify app setup (#1705) 2023-04-26 19:25:18 +02:00
Lorenzo Delgado c8081c8859
refactor(wakunode2): split setup logic into app module 2023-04-25 15:34:57 +02:00
Lorenzo Delgado e041e04342
chore(core): move peers utils module to waku_core 2023-04-24 16:37:54 +02:00
Lorenzo Delgado 93b0c0713e
chore(core): move utils time module to waku_core 2023-04-19 16:39:52 +02:00
Alvaro Revuelta 14305c610a
feat: curate peers shared over px protocol (#1671) 2023-04-19 16:12:00 +02:00
Lorenzo Delgado c9b6b2308c
chore(core): rename waku_message module to waku_core 2023-04-19 13:29:23 +02:00
Lorenzo Delgado d7b72ac736
chore: flatten waku v2 protocols folder 2023-04-18 15:22:10 +02:00
Ivan Folgueira Bande b2dcb07751
Adding parsePeerInfo and deprecating 'parseRemotePeerInfo' (#1658) 2023-04-12 11:29:11 +02:00
Ivan Folgueira Bande 0b4a2e68e4
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
Lorenzo Delgado 1cfb251b65
fix(wakunode2): made setup nat return errors 2023-04-06 13:41:05 +02:00
Ivansete-status b2acb54d6a
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 e931fa5dc8
feat(node): added waku node builder type 2023-04-05 14:27:11 +02:00
Lorenzo Delgado e8448dfdbe
chore: pointed all waku node imports to the barrel import 2023-04-05 11:58:59 +02:00
Lorenzo Delgado 139428883f
refactor(node): added waku_node barrel import and split config module 2023-04-05 09:46:13 +02:00
Lorenzo Delgado caf78249b2
fix: fixed multiple bare except warnings 2023-04-04 15:34:53 +02:00
Alvaro Revuelta c26dcb2b39
feat: dos protected topic relay msgs based on meta field (#1614) 2023-04-04 10:58:45 +02:00
Lorenzo Delgado f95147f5b7
fix(wakunode2): fix main warnings and drop swap support 2023-03-29 12:47:48 +02:00
Lorenzo Delgado 7639d8d273
refactor(enr): node capabilities code clean up and reorganization 2023-03-08 15:44:10 +01:00
Lorenzo Delgado 67db35e29d
feat(message): differentiate content and pubsub topic namespacing 2023-03-07 11:10:36 +01:00
Lorenzo Delgado d5f93e385d
chore(enr): move waku_enr to protocols module 2023-03-07 10:52:12 +01:00
Lorenzo Delgado 412ac20606
chore: move discovery protocols under protocol module 2023-03-06 17:18:41 +01:00