Aaryamann Challani
cc9f8d4254
chore(rln-relay): integrate waku rln registry ( #1943 )
2023-08-25 22:48:52 +05:30
Simon-Pierre Vivier
4539dfc761
feat(discv5): topic subscriptions update discv5 filter predicate ( #1918 )
2023-08-23 11:50:59 -04:00
Simon-Pierre Vivier
c369b3294e
feat: topic subscriptions updates discv5 ENR ( #1875 )
2023-08-23 09:53:17 -04:00
Aaryamann Challani
1ae5b5a951
fix(rln-relay): RLN DB should be aware of chain and contract address ( #1932 )
2023-08-23 18:23:30 +05:30
Alvaro Revuelta
0ac8a7f0cd
fix(test): fix flaky rln test ( #1923 )
2023-08-22 10:10:54 +02:00
Alvaro Revuelta
af95b5713f
chore(rln): run rln in all relay pubsubtopics + remove cli flags ( #1917 )
2023-08-21 08:55:34 +02:00
Simon-Pierre Vivier
cf3013962c
feat: update various protocols to autoshard ( #1857 )
...
* feat: update FILTER & LIGHTPUSH to autoshard
2023-08-17 08:11:18 -04:00
Aaryamann Challani
c9772af0be
fix(rln-relay): timeout on macos runners, use fixed version of ganache ( #1913 )
2023-08-16 17:04:16 +05:30
Simon-Pierre Vivier
d5d2243c2e
fix: bring back default topic in config ( #1902 )
...
* fix: bring back default topic in config
* fix
* Fix a bug
* Fix enr creation
2023-08-11 17:28:24 +02:00
Hanno Cornelius
b9d5d28af5
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
Hanno Cornelius
ab344a9dec
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
08ff667227
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
Simon-Pierre Vivier
afb93e2995
feat: autosharding content topics in config ( #1856 )
...
- added content topic to config.
- updated ENR building to include content topics.
2023-08-01 16:01:44 -04:00
Simon-Pierre Vivier
bbff1ac138
feat: autosharding core algorithm ( #1854 )
...
- basic rendezvous hashing
- content topic parsing
- sharding config
- tests
2023-08-01 09:05:16 -04:00
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
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
Alvaro Revuelta
e12c979c4e
chore(networking): disconnect due to colocation ip in conn handler ( #1821 )
2023-06-28 09:14:11 +02: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
Alvaro Revuelta
4573e8c592
fix(ci): fix broken test with wrong import ( #1820 )
2023-06-23 14:50:58 +02: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
Simon-Pierre Vivier
a4da87bb8c
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
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
f8e270fbe3
fix(rln-relay): tree race condition upon initialization ( #1807 )
2023-06-19 13:46:05 +05:30
Aaryamann Challani
045f07c616
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
0e9ecbd6a9
fix(rln-relay): flaky static group manager test ( #1798 )
2023-06-14 20:55:33 +05:30
Aaryamann Challani
940206b439
feat(rln-relay): integrate get_leaf ffi api ( #1790 )
2023-06-12 15:30:07 +05:30
Ivan Folgueira Bande
5fc5770da9
feat(postgres): complete implementation of driver and apply more tests ( #1785 )
2023-06-09 12:42:33 +02:00
Ivan Folgueira Bande
cb2e3d86a6
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
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
Ivan Folgueira Bande
fcd7f33d9b
Allow compile postgres tests only on Linux platforms ( #1771 )
...
This is needed because currently the GitHub Actions only supports
starting a docker container in a Linux runners.
2023-06-02 14:53:13 +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
7df6f4c851
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
047d1cf095
feat(networking): prune peers from same ip beyond colocation limit ( #1765 )
2023-05-31 09:47:56 +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
Alvaro Revuelta
3c2d2891e5
chore(px): close px streams after resp is sent ( #1746 )
2023-05-25 16:42:48 +02:00
Alvaro Revuelta
0fce3d8388
fix(test): wait more for gossip ( #1753 )
2023-05-23 12:01:27 +02:00
Alvaro Revuelta
46e231d03f
fix: fix flaky test for dos topic ( #1747 )
2023-05-19 12:34:02 +02:00
Alvaro Revuelta
87f694a8b6
chore(networking): set and use target outbound connections + prune ( #1739 )
2023-05-18 09:40:14 +02:00
Aaryamann Challani
611e9539a6
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
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
Aaryamann Challani
81dffee893
fix(rln-relay): handle invalid deletes ( #1717 )
2023-05-05 15:48:06 +05:30
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
Vaclav Pavlin
b397ed6cbd
refactor:optimize getting number of connections and streams ( #1673 )
2023-04-26 10:47:46 +02:00
Lorenzo Delgado
c8081c8859
refactor(wakunode2): split setup logic into app module
2023-04-25 15:34:57 +02:00
Alvaro Revuelta
dca0e9b2cc
chore: refactor flaky test with while ( #1698 )
2023-04-25 09:50:13 +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
Lorenzo Delgado
9616253611
feat(enr): added support for relay shards field
2023-04-17 15:21:20 +02:00
Alvaro Revuelta
8d213e85a6
chore: fix test failing intermittently ( #1679 )
2023-04-17 14:30:11 +02:00
Vaclav Pavlin
d5c2770c54
bug: move canBeConnected to PeerManager and check for potential overflow ( #1670 )
2023-04-14 15:12:22 +02:00
Alvaro Revuelta
73cbafa658
chore(networking): get relay number of connections from protocol conns/streams ( #1609 )
2023-04-12 13:05:34 +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
Hanno Cornelius
418efca27f
feat: integrate new filter protocol, other improvements ( #1637 )
2023-04-11 10:12:54 +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
9dadc1f5a0
refactor(node): remove deprecated constructor and extend testlib with builder
2023-04-05 16:01:51 +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
0627b4f8f2
chore: remove deprecated enr record init method
2023-04-04 15:35:15 +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
2b5fd2a21f
chore: remove waku swap protocol
2023-03-31 17:21:40 +02:00
Aaryamann Challani
00a3812b91
chore(rln-relay): gracefully handle chain forks ( #1623 )
...
* chore(rln-relay): gracefully handle chain forks
* fix(rln-relay): better root windowing
* fix(rln-relay): better future generation for test
* fix(rln-relay): reduced width
* fix: better naming of futs, collision free
2023-03-31 19:15:04 +05:30
Lorenzo Delgado
048ca45dc9
build: added testcommon target to makefile
2023-03-31 15:24:04 +02:00
Alvaro Revuelta
1f79375679
chore: increase meta size to 64 bytes + tests ( #1629 )
2023-03-30 10:38:45 +02:00
Lorenzo Delgado
2ffd2f8010
refactor(enr): move waku enr multiaddr to typedrecod and builder extensions
2023-03-30 09:35:13 +02:00
Alvaro Revuelta
85f33a8efd
bug: connect instead dial relay peers ( #1622 )
2023-03-28 13:29:48 +02:00
Lorenzo Delgado
157724d9b9
refactor(enr): added waku2 capabilities accessor
2023-03-22 16:01:02 +01:00
Hanno Cornelius
d920b973b1
feat: further filter improvements ( #1617 )
2023-03-22 10:32:53 +02:00
Lorenzo Delgado
ac56e1dcdd
feat(common): added extensible implementation of the enr typed record
2023-03-21 17:27:51 +01:00
Hanno Cornelius
be446b9892
feat(filter-v2): new filter protocol increment - message handling and clients ( #1600 )
...
* feat: further filter v2 progress
* feat: filter client implementation
* chore: rename test modules
* feat: extend tests and minor improvements
2023-03-20 13:19:53 +02:00
Aaryamann Challani
2f3ba3d6d1
chore(rln-relay): reduce exports ( #1615 )
2023-03-20 16:21:35 +05:30
Aaryamann Challani
08b2180441
fix(rln-relay): msg validation according to new circuit ( #1594 )
2023-03-13 20:09:33 +05:30
Hanno Cornelius
11c19a3751
chore: update submodules ( #1601 )
...
* chore: update submodules
* fix: fix peer store test
* fix: legacy build requires Nim binary deps
2023-03-13 16:33:24 +02:00
Lorenzo Delgado
075815b072
feat(enr): added enr builder waku capabilities extension
2023-03-10 11:49:41 +01:00
Lorenzo Delgado
1995bbec6c
feat(common): added the enr builder
2023-03-10 01:33:52 +01:00
Alvaro Revuelta
622ec27fcd
refactor(networking): unify peer data models, remove StoredInfo ( #1597 )
2023-03-09 11:05:50 -07: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
Lorenzo Delgado
1c39de7fbc
refactor(message): move namespacing utils to waku message module
2023-03-03 10:07:25 +01:00
Hanno Cornelius
ef7ce679df
feat: new filter protocol increment - subscribe request handling ( #1584 )
...
* feat: new filter protocol service node
* feat: add test and fix compilation errors
* feat: more tests and minor fixes
* chore: update waku/v2/protocol/waku_filter_v2/protocol.nim
Co-authored-by: Lorenzo Delgado <lorenzo@status.im>
* chore: add some convenience functions
---------
Co-authored-by: Lorenzo Delgado <lorenzo@status.im>
2023-03-02 17:23:30 +02:00
Lorenzo Delgado
a57bea299b
feat(message): added waku message deterministic hashing
2023-03-02 11:41:41 +01:00
Aaryamann Challani
699a35217b
chore(rln-relay): move rln-relay test suite to own dir ( #1587 )
...
* chore(rln-relay): move rln-relay test suite to own dir
* fix(tests): rename test_utils to utils
2023-03-02 15:37:37 +05:30
Aaryamann Challani
92546bd997
chore(rln-relay): address laundry list of improvements ( #1585 )
2023-03-01 17:29:13 +05:30
Lorenzo Delgado
4066b7490c
tests(common): extend base64 test coverage
2023-03-01 10:28:55 +01:00
Aaryamann Challani
8f66e61ac1
feat(rln-relay): group manager integration ( #1496 )
...
* feat(rln-relay): init group manager integration
fix(rln-relay): integrate group manager. todo spam and reg handlers
fix(rln-relay): decouple waku-relay and waku-rln-relay
fix(rln-relay): compiles now
fix(chat2): compilation
fix(rln-relay): wip segfault
fix(rln-relay): segfault
fix(chat2|wakunode2): use optional field
fix(rln-relay): wakunode test
fix(rln-relay): uncomment fields in proto decode
fix(rln-relay): used pragma on tests
fix(rln-relay): include cred processing
fix(rln-relay): add reg callback
fix(rln-relay): args to mount
fix(rln-relay): add timeout to waitForExit
fix(rln-relay): use osproc term instead of posix kill
fix(rln-relay): use poParentStream to prevent deadlock
fix(rln-relay): remove poParentStream, remove ganache log output
* fix(rln-relay): abstract tuple into own type
2023-02-28 19:08:30 +05:30
Alvaro Revuelta
700dbbb7fd
refactor(networking): peermanager refactor and cleanups ( #1539 )
...
* refactor(networking): use addServicePeer where needed + add metrics
2023-02-27 10:24:31 -07:00
Lorenzo Delgado
8258415804
fix(jsonrpc): use padded-base64 for payload encoding
2023-02-23 09:31:06 +01:00
Aaryamann Challani
b6a011733d
chore(rln-relay): bump zerokit and update ffi ( #1571 )
...
fix(chat2): compilation
2023-02-22 19:47:12 +05:30
Hanno Cornelius
59203c7453
fix: allow higher resolution timestamps ( #1570 )
...
* fix: allow higher resolution timestamps
* fix: higher precision requires coarser test
2023-02-21 14:52:30 +02:00
Lorenzo Delgado
f7584dfc49
feat(protobuf): added error wrappers for invalid length validation
2023-02-20 15:03:32 +01:00
Lorenzo Delgado
9258914057
fix(jsonrpc): encode waku messages payload in base64 ( #1139 )
2023-02-14 09:19:06 +01:00
Alvaro Revuelta
28e5bcf8b5
fix(networking): fix flaky peerstore test ( #1554 )
2023-02-13 18:10:20 +01:00
Lorenzo Delgado
0a15ce48d8
refactor(rest): deep code and tests reorganization
2023-02-13 15:22:24 +01:00
Lorenzo Delgado
9a40ad6400
fix: remove unused imports
2023-02-13 15:02:34 +01:00
Lorenzo Delgado
6eb13b9a0b
fix(tests): do not specify port number
2023-02-13 12:27:49 +01:00
Lorenzo Delgado
6782398989
feat(testlib): added global tests rng and waku2 sub-module
2023-02-13 11:43:49 +01:00
Lorenzo Delgado
a7f0a7f704
fix(node): remove subscription to waku default network topic ( #1545 )
2023-02-10 17:55:47 +01:00
Alvaro Revuelta
d6887ccdb0
chore: bump nim-libp2p 444b837 ( #1546 )
...
* chore: bump nim-libp2p 444b837
* fix: update test with libp2p mods
2023-02-10 16:44:06 +01:00
Lorenzo Delgado
274101af43
refactor(relay): improve waku_relay apis and add tests
2023-02-10 15:17:50 +01:00
Lorenzo Delgado
2f390ce884
refactor(jsonrpc): deep code and tests reorganization
2023-02-10 10:43:16 +01:00
Lorenzo Delgado
a853bf52f0
refactor(wakubridge): split message compatibility from wakubridge
2023-02-10 09:54:47 +01:00
Alvaro Revuelta
9c3e5f5bc5
refactor(px): refactor peer exchange + tests ( #1527 )
2023-02-09 16:59:29 +01:00
G
cdc09aeeb4
feat(credentials): store and processing generic app credentials ( #1466 )
...
* feat(credentials): store and processing generic app credentials
* feat(credentials): separate module; minimal tests
* more work
* feat(credentials): check presence of idCredential in keystore and add only new membership groups
* feat(credential): refactor, new data structure, dynamic add credential, filter
* feat(credential): add filter, get credentials
* feat(credential): encode/decode utility
* feat(credential): sort groups, test credential retrieval/group merging
* fix(credential): remove unnecessary order in sort
* fix(credentials): fix vendor commits
* fix(credential/rln): embed credential module in rln relay
* feat(credentials/rln): use credentials API in rln-relay to store/read credentials
* refactor(credentials): implement hasKeys for JsonNode
* fix(credentials): restore connectToNodes call
* refactor(credentials): remove unnecessary imports
* refactor(credentials): add Res suffix to results
* refactor(credential): moved save json to separate proc; added comments
* feat(credentials): use appInfo
* refactor(keystore): refactor code in a more structured module; address reviewers
* fix(keystore): fix indentation
2023-02-08 16:26:23 +01:00
Lorenzo Delgado
00f4ce4cbc
refactor(relay): improve wakuy relay api
2023-02-08 16:09:59 +01:00
Alvaro Revuelta
55bac8dedf
feat: add WakuMessage validation in gossipsub ( #1537 )
2023-02-07 17:42:17 +01:00
Lorenzo Delgado
7cbb0bb28f
chore(tests): moved common test suites to its own folder
2023-02-07 17:18:41 +01:00
Aaryamann Challani
9ddf0fe1e2
feat(discv5): advertise custom multiaddresses ( #1512 )
...
* feat(discv5): allow custom multiaddr advertisement in discv5
feat(discv5): allow custom multiaddr advertisement in discv5
feat(discv5): move discv5 setup from wakunode2 to waku_node
fix(waku_node): def param
test(discv5): test for ext multiaddr
fix(discv5): address comments
fix(discv5): address comments
fix(wakunode2): discoveryconfig in var before init
fix(discv5): pass multiaddr to discv5 directly
fix(discv5): make multiaddrs optional
fix(test): discv5 init
fix(discv5): split discv5 mounting from waku_node
chore(discv5): s/WakuAddressMetadata/WakuNodeAddrMeta/g
* fix(waku_node): 1.25 max conns
* fix(discv5): s/WakuNodeAddrMeta/NetConfig/g
* fix(discv5): address reviews
* fix(discv5): smaller try-catches
* fix(discv5): missing arg
* fix: compile error
2023-02-07 18:36:50 +05:30
Lorenzo Delgado
7f2ea1caeb
refactor(utils): moved noise/compat payload encryption code to utils
2023-02-07 10:45:25 +01:00
Aaryamann Challani
c9bc774895
fix(rng): create rng only within isMainModule blocks ( #1523 )
...
* fix(rng): create rng only within isMainModule blocks
* fix(rng): wakucanary rng
* fix(rng): address comments
2023-02-06 17:23:05 +05:30
Lorenzo Delgado
19abd51976
chore: remove unused test fixture file
2023-02-06 11:06:45 +01:00
Lorenzo Delgado
8ba36e2dfa
chore(peer_manager): added peer_manager barrel module
2023-02-06 10:03:30 +01:00
Hanno Cornelius
f36d708e76
fix: improve filter test race condition ( #1529 )
...
* fix: improve filter test race condition
* fix: missed one sleep
2023-02-03 10:00:26 +02:00
Alvaro Revuelta
da7592bcc7
feat(networking): prune peers from peerstore exceeding capacity ( #1513 )
...
* feat(networking): prune peers from peerstore
* chore: add comments
* feat(networking): fix comments
* Add tests
2023-01-31 13:24:49 +01:00
Lorenzo Delgado
c5286340d5
test(store): extend wankunode's waku store test coverage
2023-01-30 15:21:51 +01:00
Lorenzo Delgado
a590575a6a
refactor(tests): group waku store test suite files
2023-01-27 14:31:58 +01:00
Alvaro Revuelta
93a07babf2
fix(rpc): fix out of bound when empty multiadd ( #1507 )
2023-01-26 12:05:25 +01:00
Aaryamann Challani
d09ec815ce
feat(wakunode): advertise custom multiaddresses ( #1509 )
...
* feat(wakunode2): ability to advertise custom multiaddresses
* test(wakunode): test the feature
* fix(wakunode): remove rln diff
* revert(rln-relay): change that creeped into the diff
* fix(wakunode): move extMultiaddrs closer to nat
* fix(waku_node): idiomatic default arg
* fix(config): shortened validation
* fix(wakunode): discoverable via discv5 and dnsdisc
2023-01-26 15:48:30 +05:30
Alvaro Revuelta
ea4703e9a2
feat(networking): add service slots to peer manager ( #1473 )
2023-01-26 10:20:20 +01:00
Lorenzo Delgado
95d31b3ed3
fix(archive): reverse the db query results in the waku archive front-end
2023-01-26 10:19:58 +01:00
Alvaro Revuelta
028efc8547
feat(networking): add backoff period after failed dial ( #1462 )
...
* feat(networking): add exponential backoff when dialing relay peers
* feat(networking): fix tests
* revert withTimeout
* feat(networking): refactor tests
* feat(networking): improve logs + ping using switch
* feat(networking): fix backoff bug + fix tests
* feat(networking): fix comments
2023-01-23 21:24:46 +01:00
Alvaro Revuelta
fd1ec4a74a
feat(networking): add relay connectivity loop ( #1482 )
...
* feat(networking): add relay connectivity loop
* Add unit tests
* feat(networking): fix comments
* Fix lnsd comments
2023-01-18 15:17:56 +01:00
Aaryamann Challani
605cf1c38c
feat(rln-relay): abstract group management into its own api ( #1465 )
...
* feat(rln-relay): group manager api
* fix(rln-relay): static gm, method async works now
* fix(rln-relay): cb naming, ensure merkle root changed
* chore(rln-relay): static group manager fully tested
* chore(rln-relay): split ffi into its own module, split conversion_utils
* chore(rln-relay): refactor onchain group
* fix(rln-relay): throw error if privatekey is malformed
* chore(rln-relay): convert methods to procs, remove warnings, formatting
* chore(rln-relay): remove comment
* style(rln-relay): fmt test
* feat(rln-relay): complete onchain group manager. pending tests
* fix(rln-relay): onchain implementation works now
* fix(rln-relay): reg index
* fix(rln): imports
* fix(rln-relay): revert method to proc conv
* fix(rln-relay): s/ffi/rln
* fix(rln-relay): remove rln/ from gitignore
* fix(rln-relay): s/ffi/rln
2023-01-16 18:26:18 +05:30
Lorenzo Delgado
3ee87d1848
feat(archive): respond with error on more than 10 content topics query
2023-01-11 12:19:59 +01:00
Hanno Cornelius
76bb7520f3
chore: update submodules ( #1480 )
...
* chore: switch to nim-eth master branch
* chore: updated submodules
* fix: submodule without error handling
* fix: autonat client
2023-01-11 08:06:30 +02:00
Alvaro Revuelta
333ce0a2e1
fix(rpc): return error if peer cant be connected ( #1476 )
2023-01-09 14:15:03 +01:00
G
226b44c86d
refactor(rln): use zerokit extended_key_gen in place of key_gen ( #1459 )
...
* chore(rln-relay): refactor mounting procedure
* fix(rln-relay): tests
* fix(rln-relay|chat2): update mounting proc in chat2, fix args to mountRlnRelay
* refactor(rln): use zerokit extended_key_gen in place of key_gen
refactor(rln): rename membershipKeyPair to identityCredential
update zerokit submodule
refactor(rln): use extended_key_gen; rebrand keypairs to idCredentials
refactor(rln): rename mountRlnRelay memKeyPair argument
* fix(rln): fix wrong field
* fix(rln): add () to toHex
Co-authored-by: Aaryamann Challani <43716372+rymnc@users.noreply.github.com>
Co-authored-by: rymnc <43716372+rymnc@users.noreply.github.com>
2022-12-14 12:28:09 +01:00
Aaryamann Challani
33e9d8b9b2
chore(rln-relay): refactor mounting procedure ( #1457 )
...
* chore(rln-relay): refactor mounting procedure
* fix(rln-relay): tests
* fix(rln-relay|chat2): update mounting proc in chat2, fix args to mountRlnRelay
* fix(rln-relay): remove stale todo
2022-12-13 14:56:24 +05:30
Aaryamann Challani
f08680045e
chore(rln-relay): address laundry list for tests ( #1452 )
...
* chore(rln-relay): s/var/let
* chore(rln-relay): s/var/let
* chore(rln-relay): s/check/require
* chore(rln-relay): s/check/require
* fix(rln-relay): s/check/require
2022-12-07 22:47:08 +05:30
Lorenzo Delgado
e4c10ed661
feat(wakunode2): support log format format selection
2022-12-07 12:30:32 +01:00
Alvaro Revuelta
8cce06b8a2
feat(peerstore): store peer direction ( #1424 )
...
* feat(peerstore): store peer direction
* feat(peerstore): add getPeersByDirection function + tests
* feat(peerstore): set out own MaxConnectionsPerPeer to 1
* feat(peermanager): add metric for inbound/outbound peers
2022-11-29 17:35:25 +01:00
Hanno Cornelius
08cbe5216a
fix: waku bridge test timing ( #1429 )
...
* fix: waku bridge test timing
* fix: shorten timing more
2022-11-28 22:07:21 +02:00
Hanno Cornelius
8d69846aa4
feat: enable AutoNAT and libp2p circuit relay ( #1425 )
...
* feat: enable libp2p circuit relay
* feat: enable libp2p autonat
2022-11-28 16:56:01 +02:00
Aaryamann Challani
63fe1351f5
feat(ci): run experimental features in diff ci ( #1410 )
...
* feat(ci): run experimental features in diff ci
* chore(ci): add EXPERIMENTAL flag
* chore(makefile): make compilation cleaner
* fix(rln-relay): remove onchain_rln flag
* fix(makefile): remove experimental_rln flag
Co-authored-by: Lorenzo Delgado <lorenzo@status.im>
2022-11-25 16:03:19 +05:30
Alvaro Revuelta
43fd11b4dc
refactor: reuse nim-libp2p peerstore + move peermanager logic ( #1383 )
...
* refactor: reuse nim-libp2p peerstore + move peermanager logic
* refactor: fix comments
* refactor: modify reconnectPeers and unittest
* feat(apps): new flag for peerStoreCapacity
* fix(examples): fix example2 target
* refactor: fix comments
2022-11-24 14:11:23 +01:00
Lorenzo Delgado
089e2ae1e8
test(archive): randomize archive driver query test suites' fixtures
2022-11-24 00:58:17 +01:00
Lorenzo Delgado
6811af328c
feat(archive): add waku archive implementation
2022-11-23 10:08:00 +01:00
Lorenzo Delgado
0188ec1a9e
feat(archive): add waku archive implementation
2022-11-22 19:40:24 +01:00
Lorenzo Delgado
299ee3eb5d
refactor(rln): decouple rln types from waku message type
2022-11-22 18:29:43 +01:00
Alvaro Revuelta
1e8e60caed
fix(tests): add missing import for tests ( #1375 )
2022-11-22 08:13:51 +01:00
Aaryamann Challani
853995e17f
chore(rln-relay): barrel imports ( #1386 )
...
Co-authored-by: s1fr0 <28568419+s1fr0@users.noreply.github.com>
Co-authored-by: Lorenzo Delgado <lorenzo@status.im>
2022-11-21 15:15:03 +01:00
Lorenzo Delgado
59c18ab5c4
feat(store): add support for history query handler
2022-11-21 11:16:57 +01:00
Lorenzo Delgado
e85b5cbae1
chore(store): remove waku swap integration from store protocol
2022-11-21 09:36:41 +01:00
Lorenzo Delgado
f89e6869cb
fix(store): waku store rpc codec support optional fields
2022-11-17 20:40:08 +01:00
Lorenzo Delgado
39bf289f43
refactor(protocols): decouple protocol rpc types from api types
2022-11-16 20:02:38 +01:00
Aaryamann Challani
07833ce313
feat(rln-relay): process blocks atomically ( #1349 )
...
* test(rln-relay): atomic block processing
* fix(rln-relay): use correct starting index
* fix(rln-relay): args
* fix(rln-relay): append length
* fix(rln-relay): tests, remove insertMember
* fix(rln-relay): camelCase, cleanup
* fix(rln-relay): actually process per block
* fix(rln-relay): clean up
* chore(gitignore): Update .gitignore
Co-authored-by: Lorenzo Delgado <lorenzo@status.im>
* Update waku/v2/protocol/waku_rln_relay/waku_rln_relay_utils.nim
Co-authored-by: Sanaz Taheri <35961250+staheri14@users.noreply.github.com>
* Update waku/v2/protocol/waku_rln_relay/waku_rln_relay_utils.nim
Co-authored-by: Sanaz Taheri <35961250+staheri14@users.noreply.github.com>
* fix(rln-relay): args
* fix(rln-relay): add prefix def
* fix(rln-relay): make test cleaner
* chore(rln-relay): apply suggestions
Co-authored-by: G. <28568419+s1fr0@users.noreply.github.com>
Co-authored-by: Lorenzo Delgado <lorenzo@status.im>
* chore(rln-relay): add member order check
* test(rln-relay): batch insert in tests
* fix(rln-relay): test batching
* fix(rln-relay): toSeq the HSlice
* fix(rln-relay): naming
* fix(rln-relay): add insertMember back
* fix(rln-relay): serialize util, address review
* fix(rln-relay): add atomicity desc
* fix(rln-relay): inHex
* fix(rln-relay): explicit proc def
* fix(rln-relay): indexGap condition
* fix(rln-relay): func sig
* fix(rln-relay): onchain test
* fix(rln-relay): use asyncSpawn vs asyncCheck
* fix(rln-relay): do not explicitly insert into the index
* fix(rln-relay): condition, semantics
* fix(rln-relay): index must be 1
* chore(rln-relay): line br
* fix(rln-relay): missing return ok(true)
Co-authored-by: Lorenzo Delgado <lorenzo@status.im>
Co-authored-by: Sanaz Taheri <35961250+staheri14@users.noreply.github.com>
Co-authored-by: G. <28568419+s1fr0@users.noreply.github.com>
2022-11-10 22:28:31 +05:30
Alvaro Revuelta
7917e05d9d
chore(networkmonitor): tool to discover and provide metrics on peers ( #1290 )
...
* chore(networkmonitor): initial prototype
* chore(networkmonitor): add cli, metrics and PoC
* feat(utils): add supportsCapability function + tests
* feat(utils): add supportedCapabilites function
* chore(networkmonitor): add metrics with enr/ip/capabilities
* chore(networkmonitor): refactor + tests
* chore(networkmonitor): add discovered timestamp
* chore(networkmonitor): add metrics on connected nodes
* chore(networkmonitor): new flags + utils file + readme
* chore(networkmonitor): add user-agent metrics
* chore(networkmonitor): connect only to randomly discovered peers
* chore(networkmonitor): get location of peer using ip
* chore(networkmonitor): expose peer metrics with simple rest server
* chore(networkmonitor): update README
* chore(networkmonitor): fix wakunode2 to waku_node
* chore(networkmonitor): fix import order
* chore(networkmonitor): fix comments + refactor + pushraises
* chore(networkmonitor): refactor + handle exceptions
* chore(networkmonitor): fix makefile after rebase
* chore(networkmonitor): address review comments 1
* chore(networkmonitor): add nim.cfg
2022-11-10 10:29:34 +01:00
G
63137f3e2a
refactor(rln): remove kilic lib ( #1365 )
...
* refactor(rln): remove kilic lib
* chore(rln): address reviewerS
2022-11-09 19:45:04 +01:00
Lorenzo Delgado
b07cdb1841
refactor(store): decouple waku store public api types from rpc types
2022-11-09 18:50:18 +01:00
Alvaro Revuelta
054dc61763
refactor: continue pubsub/content types started in #1352 ( #1362 )
...
* refactor: continue gossip/content topic refactor started in #1352
* refactor: enforce using pubsubTopic instead of topic
2022-11-09 15:00:11 +01:00
Lorenzo Delgado
4acc611e47
refactor: unify pubsub topic type and default value
2022-11-09 09:55:47 +01:00
Lorenzo Delgado
c4f9813ab3
refactor(queue_store): rename queue_store module and simplify api
2022-11-08 16:10:23 +01:00
G
17d71faf67
chore(rln): update ganache ( #1347 )
...
* chore: build rln dependecies only when building v2
* chore(rln): deprecate ganache-cli; move installation from makefile to test + uninstall; gracefully terminate ganache
* chore: add package.json to gitignore
* fix(rln): move ganache package to build folder and remove package once uninstalled
* refactor(rln): (un)install/run/stop ganache with separate procs
Co-authored-by: Lorenzo Delgado <lorenzo@status.im>
Co-authored-by: Aaryamann Challani <43716372+rymnc@users.noreply.github.com>
2022-11-08 14:28:11 +01:00
Lorenzo Delgado
bcc6c32287
chore: rename protocols rpc_codec procs from init to decode
2022-11-07 16:24:16 +01:00
Lorenzo Delgado
2c2ce20c4e
chore: build rln dependecies only when building v2
2022-11-07 09:14:21 +01:00
Lorenzo Delgado
4509f4f361
refactor(message_store): move message_store to node module
2022-11-04 19:48:22 +01:00
Lorenzo Delgado
cb1f4d46f4
chore: remove unused imports
2022-11-04 10:52:08 +01:00
Lorenzo Delgado
0569beadbe
refactor(peer_manager): move peer_store under peer_manager module
2022-11-04 09:40:13 +01:00
Aaryamann Challani
53e8979aa9
chore(rln-relay): remove all raises and replace with Result types ( #1321 )
...
* chore(rln-relay): remove all raises and replace with Result types
* chore(rln-relay): s/var/let
* chore(rln-relay): s/isOk/isOk()
* fix(rln-relay): proc def comments about the result type
Co-authored-by: Lorenzo Delgado <lorenzo@status.im>
2022-11-04 08:30:42 +05:30
Lorenzo Delgado
d1df046c87
feat(wakunode2): support configuration via environment variables
2022-11-03 17:58:48 +01:00
Lorenzo Delgado
85d2842f75
feat(testlib): mark commented test cases as skipped
2022-11-03 17:58:28 +01:00
Lorenzo Delgado
1330f7745f
chore: randomize waku tcp ports in tests
2022-11-03 14:47:56 +01:00
Lorenzo Delgado
1d3943febb
refactor(sqlite): move migrations logic to sqlite common module
2022-11-02 16:36:33 +01:00
Lorenzo Delgado
8fee1b9bed
feat(filter): split waku filter protocol into server and client
2022-11-02 11:59:58 +01:00
Lorenzo Delgado
1c46b61402
refactor(peer-exchange): move peer management to waku_node module
2022-11-02 09:45:21 +01:00
Aaryamann Challani
cd73029a0c
feat(rln-relay): track last seen event ( #1296 )
...
* feat(rln-relay): track last seen event
* fix(rln-relay): clean up subscribeToMemberRegistrations proc
* fix(rln-relay): tests
* fix(rln-relay): unnecessary try-except
* fix(rln-relay): proc descriptions, logging
Co-authored-by: G <28568419+s1fr0@users.noreply.github.com>
2022-11-01 08:15:34 +05:30
Aaryamann Challani
24d288ccb4
fix(rln-relay): RangeDefect test ( #1318 )
...
* fix(rln-relay): RangeDefect test
* fix(rln-relay): any overflow
* fix(rln-relay): dont use int64 when its absolute value is being used anyway
* chore(rln): rename proc to be more meaningful about operation
* fix(rln): remove unused imports
2022-11-01 05:55:39 +05:30
Lorenzo Delgado
0de5a122ef
chore(common): move sqlite module to common module
2022-10-28 20:13:41 +02:00
Lorenzo Delgado
ee86d190d6
refactor(node): use store client in waku_node
2022-10-28 20:11:28 +02:00
Lorenzo Delgado
ed9b2b59b2
chore: remove legacy unused test suite
2022-10-28 17:44:46 +02:00
Lorenzo Delgado
2c1ad9f760
refactor(node): use lightpush client in waku_node
2022-10-28 16:30:01 +02:00
Alvaro Revuelta
d479aacec5
feat(wakunode2): add nwaku agent-string to switch ( #1302 )
2022-10-28 15:12:06 +02:00
Lorenzo Delgado
979f1d397a
feat(testlib): add enable/disable test debug utils
2022-10-28 15:04:29 +02:00
Hanno Cornelius
16c85db43c
chore: update submodules and bump Nim to 1.6.6 ( #1307 )
...
* chore: update submodules
* fix: libp2p now provides callback to update peer addrs
* fix: breaking change in EthereumNode constructor
* fix: contentType type has changed (again)
* fix: explicit future type
* fix: nim 1.6.6 error handling requirements
* fix: missed a spot - peer info addrs in sim2
* fix: help compiler a bit here
2022-10-28 12:51:46 +03:00
G
ea8d72188e
feat: add keyfile support for RLN credentials secure storage ( #1285 )
...
* feat(utils): add keyfile + test
* feat(keyfile): make id and version field optional
* feat(rln): enable input password for keyfile encryption
* refactor(keyfile): store multiple keyfiles in single file
* refactor(rln): write and read rln credentials proc using keyfiles + test update
* feat(keyfile): allow skip successful decryption to iterate among multiple keyfiles + test
* fix(rln): add rln-relay-cred-password in wakunode2 config
* chore(keyfile): remove unnencessary echo
* refactor(rln/kesyore): address reviewers' comments
* refactor(rln/keyfile): use defer instead of try/finally
* feat(rln): address reviewers comments; return all successful decryptions
* chore(keyfile): add comments; changed name to loadKeyfiles
* feat(keyfile): chmod 600 for keyfiles
* fix(rln): fix errors raised by readRlnCredentials
* feat(keyfile): add nim-eth tests; address reviewers comments
* fix(keyfile/rln): better error handling
* refactor(keyfile): refactoring nim-eth tests
* fix(keyfile): fix wrong index
* fix(keyfile): fix wrong password generation in test
* feat(keyfile): add wrong mac test
Co-authored-by: Aaryamann Challani <43716372+rymnc@users.noreply.github.com>
2022-10-28 11:13:05 +02:00
Lorenzo Delgado
62328f0abd
feat(wakunode2): simplify wakunode2 config and decouple peer persistence
2022-10-28 00:05:02 +02:00
Lorenzo Delgado
7e7bba4a98
feat(lightpush): add waku lightpush protocol client
2022-10-25 14:55:31 +02:00
Lorenzo Delgado
9b59052bcd
chore: extract test procedures and constants into a common module
2022-10-21 15:01:39 +02:00
Lorenzo Delgado
e5c3aa560e
feat(store): add waku store client module
2022-10-20 18:09:40 +02:00
Lorenzo Delgado
89c75f414f
chore(store): disable temporarily the store resume flaky test case
2022-10-20 14:56:28 +02:00
Hanno Cornelius
a12a359b79
fix: store cursors should be exclusive and match a DB item ( #1263 )
...
* fix(store): use exclusive cursor
* fix(store): read correct column length
Co-authored-by: Lorenzo Delgado <lorenzo@status.im>
2022-10-20 13:24:40 +03:00
Lorenzo Delgado
5046a4b3da
refactor(node): split wakunode into waku_node and wakunode2
2022-10-18 09:05:53 -05:00
Lorenzo Delgado
5fbc537cbf
chore: move apps and tools to their own directory
2022-10-12 14:41:25 -05:00
G
a2a5a6ef01
refactor(rln): display byte arrays in hex as uints and fix Kilic's proofVerify proc ( #1259 )
...
* refactor(rln): convert 32 bytes arrays to hex as uints
* fix(rln): fix Kilic's proofVerify proc to take stub validRoots
* refactor(rln): use input's length when convert to/from hex
* chore(rln): print more commitments inHex in debug logs
2022-10-12 10:38:48 +02:00
Aaryamann Challani
04154ab90f
chore(rln-relay): make account address optional ( #1258 )
...
* chore(rln-relay): make account address optional
* fix(rln-relay): onchain test
* chore(chat2): update docs, and handle error case in chat2
* fix(rln-relay): handle registration better
2022-10-12 07:48:11 +05:30
G
3e1e7cc74f
feat(RLN): Add verify against multiple roots ( #1250 )
...
* update zerokit submodule
* fix(rln): allow Buffer creation on empty arrays
* feat(rln): use verify_with_root
* fix(rln): update test to work with verify_with_root
2022-10-07 21:24:54 +02:00
Lorenzo Delgado
2c975597e1
fix(store): fix waku store resume tests
2022-10-05 17:58:24 +02:00