792 Commits

Author SHA1 Message Date
Alvaro Revuelta
1b96999d55 chore(api): validate rln message before sending (rest + rpc) (#1968) 2023-09-01 15:03:59 +02:00
Simon-Pierre Vivier
d4decc2fc5 fix: --topic should be ignore when using --pubsub-topic or --content-topic (#1977) 2023-08-31 16:13:45 -04:00
Aaryamann Challani
98c9c21b31 fix(rln-relay): deserialization of valid merkle roots (#1973) 2023-08-31 13:19:43 +05:30
richΛrd
5184a7b15e chore: add debug log indicating succesful message pushes and also log the message hash (#1965) 2023-08-30 18:10:51 -04:00
Aaryamann Challani
eeff44c9f0 fix(rln-relay): modify keystore credentials logic (#1956)
* fix(rln-relay): modify keystore credentials logic

fix: bump version

* Update waku/waku_rln_relay/group_manager/on_chain/group_manager.nim

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

* Update tests/waku_rln_relay/test_waku_rln_relay.nim

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

* Update waku/waku_keystore/protocol_types.nim

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

* fix: greatly improve error handling

* fix: display proc and appropriate assert

---------

Co-authored-by: Ivan Folgueira Bande <128452529+Ivansete-status@users.noreply.github.com>
2023-08-29 17:46:21 +05:30
Aaryamann Challani
03a311348a fix(rln-relay): sync from deployed block number (#1955)
* fix(rln-relay): sync from deployed block number

* fix(rln-relay): remove option usage for ints

* fix: unnecessary decl
2023-08-29 13:12:13 +05:30
Aaryamann Challani
4ea451528f fix(rln-relay): window of acceptable roots synced to rln metadata (#1953)
* fix(rln-relay): window of acceptable roots synced to rln metadata

* fix(rln-relay): s/var/let, use for loop
2023-08-25 23:29:17 +05:30
Aaryamann Challani
0566d21000 chore(rln-relay): integrate waku rln registry (#1943) 2023-08-25 22:48:52 +05:30
Simon-Pierre Vivier
0f0031eba9 feat(discv5): topic subscriptions update discv5 filter predicate (#1918) 2023-08-23 11:50:59 -04:00
Simon-Pierre Vivier
a3538599aa feat: topic subscriptions updates discv5 ENR (#1875) 2023-08-23 09:53:17 -04:00
Aaryamann Challani
9c43617aba fix(rln-relay): flush_interval incorrectly set (#1933) 2023-08-23 18:23:44 +05:30
Aaryamann Challani
67e44fe0c6 fix(rln-relay): RLN DB should be aware of chain and contract address (#1932) 2023-08-23 18:23:30 +05:30
Alvaro Revuelta
fa716d9b92 chore(rln): remove old and add new rln metric (#1926) 2023-08-22 16:30:33 +02:00
Aaryamann Challani
de0a40972b fix(rln-relay): waitFor startup, otherwise valid proofs will be marked invalid (#1920) 2023-08-22 17:47:06 +05:30
Aaryamann Challani
a2519906c6 fix(rln-relay): remove registration capability (#1916) 2023-08-22 11:49:18 +05:30
Alvaro Revuelta
6320ffb28a chore(rln): run rln in all relay pubsubtopics + remove cli flags (#1917) 2023-08-21 08:55:34 +02:00
Aaryamann Challani
ce6f7e9e77 fix(rln-relay): invalid start index being set results in invalid proofs (#1915)
* fix(rln-relay): invalid proof usage

* fix(rln-relay): use startIndex from first event in block

* fix: latestIndex set after registerBatch
2023-08-18 16:38:24 +05:30
Simon-Pierre Vivier
51fee9d744 feat: update various protocols to autoshard (#1857)
* feat: update FILTER & LIGHTPUSH to autoshard
2023-08-17 08:11:18 -04:00
Aaryamann Challani
e760a34c62 fix(rln-relay): should error out on rln-relay mount failure (#1904) 2023-08-16 19:00:10 +05:30
Aaryamann Challani
0e6bb3b9f5 test(rln-relay): rpc handler to support waku rln relay (#1852) 2023-08-16 10:32:22 +02:00
Hanno Cornelius
5e2e1b6bd0 chore: remove references to v2 (#1898)
* chore: remove references to v2

* fix: lingering rln-relay import path
2023-08-09 18:11:50 +01:00
Alvaro Revuelta
76e25a6d48 fix: fixes out of bounds crash when waku2 is not set (#1895) 2023-08-08 16:22:53 +02:00
Hanno Cornelius
0acf71176b chore: remove Waku v1 and wakubridge code (#1874)
* chore: remove v1 code

* chore: deprecate support for v1 compatibility from JSON-RPC API

* chore: remove v1 tests from JSON-RPC suite

* chore: remove wakubridge code

* chore: remove v1 compatibility functions

* chore: remove support for v1 payloads from chat2 app

* chore: remove v1 from CI processes

* fix: lingering references to private API functions

* fix: remove v1 compat from chat2

* fix: some more lingering references in tests
2023-08-07 15:11:46 +01:00
NagyZoltanPeter
cdc5423a86 feat: Rest API interface for legacy (v1) filter service. (#1851)
* Added Rest API interface for legacy (v1) filter service with tests.
2023-08-04 11:34:22 +02:00
Vaclav Pavlin
1c88487392 fix: check nil before calling clearTimer (#1869) 2023-08-02 13:31:14 +02:00
Aaryamann Challani
7388134163 fix(rln-relay): mark duplicated messages as spam (#1867)
* fix(rln-relay): mark duplicated messages as spam

* chore: fix fn desc
2023-08-02 10:40:18 +05:30
Simon-Pierre Vivier
51dee4f96c feat: autosharding core algorithm (#1854)
- basic rendezvous hashing
- content topic parsing
- sharding config
- tests
2023-08-01 09:05:16 -04:00
Aaryamann Challani
0132640308 feat(rln-relay): close db connection appropriately (#1858) 2023-07-27 17:21:21 +05:30
Tanguy
685e1a52ce feat: enable TcpNoDelay (#1470) 2023-07-15 16:41:26 +02:00
Ivan Folgueira Bande
dcb4c8b74e fix(libp2p): Updating nim-libp2p to fix the wss connectivity issue (#1848)
* Updating nim-libp2p to fix the `wss` connectivity issue

* The `nim-libp2p` adds many changes although we are actually interested
in the latest commit:

> wstransport.nim: avoid re-raising 'TransportOsError' to avoid stopping
`switch.accept` (#929)

* The `nim-stew` bump is needed so that the `nim-libp2p` can compile.

* The changes in `waku_node.nim` are needed due to the changes in
`nim-stew`.

* waku_node.nim: returning a "completed" future within 'statusAndConfidenceHandler'

  This is aimed to avoid the next exception happening in the wakunode:

  ```
  Unhandled defect: Async procedure (service.nim(74)    callHandler)
  yielded `nil`, are you await'ing a `nil` Future? [AssertionDefect]
  ```

  * Adding 'async' to 'statusAndConfidenceHandler' so that it properly returns a Future[void]
2023-07-13 18:00:55 +02:00
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
Ivan Folgueira Bande
94db4b081f 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
f5b1897d6d feat(postgres): integration of postgres in wakunode2 (#1808)
* Making the wakunode2 to support postgres driver

* driver/builder.nim: controling possible errors when creating the messages table

* postgres_driver.nim: adding protection in getInt and fixing typo
2023-06-28 18:47:28 +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
Aaryamann Challani
5cb440d2b8 fix(rln-relay): chunk event fetching (#1830) 2023-06-28 18:00:45 +05:30
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
Simon-Pierre Vivier
887a5c76b2 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
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
0ed1070cef 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
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
Tanguy
76dae8877b chore(deps): bump libp2p & websock (#1800) 2023-06-15 13:17:19 +02:00
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