Aaryamann Challani
2e515a06ed
chore(rln-relay): logs, updated submodule, leaves_set metric ( #2024 )
...
* chore(rln-relay): logs, updated submodule, leaves_set metric
* chore(rln-relay): update build script, fix makefile
2023-09-18 10:56:58 +05:30
NagyZoltanPeter
dac072f843
feat: HTTP REST API: Filter support v2 ( #1890 )
...
Filter v2 rest api support implemented
Filter rest api documentation updated with v1 and v2 interface support.
Separated legacy filter rest interface
Fix code and tests of v2 Filter rest api
Filter v2 message push test added
Applied autoshard to Filter V2
Redesigned FilterPushHandling, code style, catch up apps and tests with filter v2 interface changes
Rename of FilterV1SubscriptionsRequest to FilterLegacySubscribeRequest, fix broken chat2 app, fix tests
Changed Filter v2 push handler subscription to simple register
Separate node's filterUnsubscribe and filterUnsubscribeAll
2023-09-14 21:28:57 +02:00
Álex Cabeza Romero
df338b19d1
test(waku-filter): Subscriber ping tests ( #2023 )
...
* Move waku filter utility functions to a different file for reuse.
* Add asyncSetup and asyncTeardown templates.
* Implement waku filter subscriber ping tests.
2023-09-14 11:30:56 +02:00
Ivan Folgueira Bande
e8602021b6
chore(postgres): not loading the libpq library by default & better user feedback ( #2028 )
...
* removing implicit dependency with libpq if postgres is not being used.
* We only run the postgres tests when explicitly willing to, i.e. make
POSTGRES=1 test. The reason is that the postgres tests expect a
database instance to be running locally.
2023-09-13 12:45:55 +02:00
gabrielmer
47ae19c104
fix: prevent IP 0.0.0.0 from being published and update peers with empty ENR data ( #1982 )
2023-09-11 11:30:12 +03:00
Aaryamann Challani
645b034367
feat(rln-relay): removed rln from experimental 🚀 ( #2001 )
...
* feat(rln-relay): removed rln from experimental 🚀
* fix(waku_node): if rln-relay is nil, return true
* chore(tests): mark rest health as skipped
2023-09-11 12:02:31 +05:30
Aaryamann Challani
21604e6bfd
fix(rln-relay): missed roots during sync ( #2015 )
2023-09-08 18:24:27 +05:30
NagyZoltanPeter
fc6194bb6b
feat: Rest endoint /health for rln ( #2011 )
...
* Rest endoint /health added
* Remove dev-debug echo
* Changed not ready message
* Update waku/node/rest/health/handlers.nim
Co-authored-by: Ivan Folgueira Bande <128452529+Ivansete-status@users.noreply.github.com>
* Various fixes on PR foundings, added comments
---------
Co-authored-by: Ivan Folgueira Bande <128452529+Ivansete-status@users.noreply.github.com>
2023-09-08 11:19:47 +02:00
Simon-Pierre Vivier
b991682b28
fix(tests): relay tests use random port to avoid conflict ( #1998 )
2023-09-07 07:41:56 -04:00
Aaryamann Challani
5638bd06bb
chore(rln-relay): add isReady check ( #1989 )
...
* chore(rln-relay): add isReady check
* fix(rln-relay): multiple parameters for checking if node is in sync
* fix: set latesthead in newHeadCallback
* fix: explicit rpc call
* fix: unhandled exception
2023-09-06 14:16:19 +05:30
Aaryamann Challani
483f40c8f7
chore(rln-relay): clean up nullifier table every MaxEpochGap ( #1994 )
2023-09-06 13:48:02 +05:30
Aaryamann Challani
debc5f19d9
feat(relay): ordered validator execution ( #1966 )
...
* feat(relay): ordered validator execution
* fix: make more readable
* test: ignore accepts only
* fix: idempotent .subscribe
* fix(rln-relay): make validators private
Co-authored-by: Ivan Folgueira Bande <128452529+Ivansete-status@users.noreply.github.com>
* fix: include comments, unsubscribe behaviour
* fix: compilation
---------
Co-authored-by: Ivan Folgueira Bande <128452529+Ivansete-status@users.noreply.github.com>
2023-09-05 14:35:07 +05:30
Aaryamann Challani
a14c32614a
chore(rln-relay): use the only key from keystore if only 1 exists ( #1984 )
...
* chore(rln-relay): use the only key from keystore if only 1 exists
* fix: convert iterator to seq and then index into it
2023-09-04 15:46:44 +05:30
Aaryamann Challani
be48891f77
chore(rln-relay): confirm that the provided credential is correct using onchain query ( #1980 )
2023-09-04 11:22:31 +05:30
Alvaro Revuelta
05c988645d
chore(api): validate rln message before sending (rest + rpc) ( #1968 )
2023-09-01 15:03:59 +02:00
Alvaro Revuelta
f262397d71
fix(tests): fix flaky test ( #1972 )
2023-08-31 12:24:41 +02:00
Aaryamann Challani
e7b2b88f5b
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
bd3be21929
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
01634f57f0
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
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
Lorenzo Delgado
14abdef796
chore(store): improve database migrations logging
2022-10-05 11:45:44 +02:00
Lorenzo Delgado
fa6a44eb3c
fix(store): Move page info logic to waku store protocol
2022-10-03 17:36:17 +02:00
Lorenzo Delgado
adf1dab34f
fix(store): update sqlite db table primary key and decouple queries module from pagination types
2022-10-03 15:23:39 +02:00
Lorenzo Delgado
c61e88b352
refactor(store): simplify store queue query implementation
2022-10-03 08:40:01 +02:00
Aaryamann Challani
d614e4504b
feat(rln-relay): metrics ( #1185 )
...
* feat(rln-relay): metrics
* fix(rln-relay): invalid token
* fix(rln-relay): return outside time
* style(rln-relay): multiline proc def
* fix(rln-relay): oserror
* fix(rln-relay): Exception should not be raised
* Revert "fix(rln-relay): oserror"
This reverts commit edcf39c0088ca526ca50256d856eee20d87a3c37.
* Revert "fix(rln-relay): Exception should not be raised"
This reverts commit c8d09b055314a83bb4a94900a47e899773cb47df.
* fix(rln-relay): revert exception removal
* feat(rln-relay): granular tracking
* fix(rln-relay): observe only on histogram, convert mount to hist
* chore(rln-relay): add additional metrics
* fix(rln-relay): missing import
* fix(rln-relay): template should expand only when times is defined
* fix(rln-relay): follow prometheus naming style
* fix(rln-relay): explicitly assert that the root window size should be less than 10
* fix(rln-relay): outstanding issues with infinite labels, minor refactor
* fix(rln-relay): typo
* fix(rln-relay): screaming case to pascal case
* fix(rln-relay): typos
* fix(rln-relay): imports
* fix(rln-relay): remove dependence on times, make durations as gauges
* fix(rln-relay): import order
2022-09-30 18:13:42 +05:30
Lorenzo Delgado
612023fab0
chore(store): collocate pagination and message store types
2022-09-28 13:36:05 +02:00
Lorenzo Delgado
5ee4a00765
refactor(store): decouple message store queue from pagination index type ( #1187 )
2022-09-27 21:10:11 +02:00
Lorenzo Delgado
d7d51dc4c1
fix(store): rename store timestamp sqlite column
2022-09-27 11:47:25 +02:00
Aaryamann Challani
37cd8b593b
feat(rln-relay): multiple acceptable roots ( #1177 )
...
* feat(rln-relay): multiple acceptable roots
* fix(rln-relay): make sure onchain handler uses correct proc
* fix(rln-relay): typo
* style(rln-relay): convert const to pascalcase
* chore(rln-relay): address pr review
* fix(rln-relay): add require to test
* fix(rln-relay): add proc desc
* fix(rln-relay): ensure that group id commitments were added correctly
* fix(rln-relay): potential mem leak
* style(rln-relay): comments
* fix(rln-relay): magic number ambiguity
* chore(rln-relay): comment
Co-authored-by: Sanaz Taheri Boshrooyeh <35961250+staheri14@users.noreply.github.com>
Co-authored-by: Sanaz Taheri Boshrooyeh <35961250+staheri14@users.noreply.github.com>
2022-09-27 10:10:04 +05:30
Lorenzo Delgado
1b4a9e5dfd
fix(store): move insert criteria logic to waku store protocol module
2022-09-26 11:50:15 +02:00
Lorenzo Delgado
aebda46a53
chore(store): move constants to retention policies modules
2022-09-22 11:17:38 +02:00
Lorenzo Delgado
5e3a75c56e
refactor(wakunode): remove deprecated non-async methods
2022-09-21 18:27:40 +02:00
Lorenzo Delgado
11832411a0
feat(store): execute retention policies periodically ( #1155 )
2022-09-21 11:32:59 +02:00
Aaryamann Challani
e8d77306c8
feat(rln-relay): validate the merkle root in the RateLimitProof ( #1158 )
...
* feat(rln-relay): validate the merkle root in the RateLimitProof
* style|chore: replace snake case usage, convert proofVerify to Result[bool,string]
* chore(rln-relay): remove unhandled usage of result returned
* fix(rln-relay): typos
* chore(rln-relay): validate root before proof verification
* fix(rln-relay): cmp
* fix(rln-relay): generic rln relay result
* style(rln-relay): readability
* fix(rln-relay): use patterns for testing, requires instead of checks
* fix(rln-relay): move root validation to message validation
* fix(rln-relay): typo
* fix(rln-relay): typo
* chore(rln-relay): address pr review
2022-09-20 18:38:05 +05:30
kaiserd
371016b04f
feat: waku peer exchange (RFC34) ( #1152 )
2022-09-20 13:03:34 +02:00
Lorenzo Delgado
4a9f6f3c5e
refactor(store): protocol code refactoring and api reorganization
2022-09-20 11:39:52 +02:00
Lorenzo Delgado
f73477be6e
refactor(store): invert retention policies dependency on message store interface
2022-09-16 12:55:22 +02:00
Lorenzo Delgado
ddbc57bc88
refactor(wakunode): remove waku message export from wakunode
2022-09-14 12:25:05 +02:00
Lorenzo Delgado
c2c2d30cdf
refactor(wakunode): remove libp2p builders export from wakunode
2022-09-14 12:25:05 +02:00
Lorenzo Delgado
2912a45433
refactor(wakunode): remove waku relay export from wakunode
2022-09-14 12:25:05 +02:00
Lorenzo Delgado
fdd57c7bce
refactor(wakunode): remove waku swap export from wakunode
2022-09-14 12:25:05 +02:00
Lorenzo Delgado
d49cd1348d
refactor(store): remove deprecated waku message store type
2022-09-13 13:36:04 +02:00
Aaryamann Challani
fdcc9824a2
feat(store): Allow messages to be marked as "don't store" ( #1119 )
...
* feat(store): init allow messages to be marked as ephemeral
* feat(store): replace ephemeral with ttl model
* Revert "feat(store): replace ephemeral with ttl model"
This reverts commit 4398c61c919dda8f014b4fcc0679c573c74854e4.
* fix(store): flags and test
* chore(store): remove storeTTL
* chore(store): remove unused utils
* fix: conflict
* fix(store): make test more brief
2022-09-13 16:07:06 +05:30
Lorenzo Delgado
c171e3dfcd
refactor(wakunode): split wakunode relay tests into a new file
2022-09-12 14:51:52 +02:00
G
01cd201f58
PoC implementation of Waku Pairing and Secure Transfer ( #1117 )
...
* feat(noise): add PoC implementation for WakuPairing and Secure Transfer
2022-09-12 02:23:14 +02:00
Lorenzo Delgado
797c82b030
refactor(wakunode): split wakunode store tests into a new file
2022-09-09 15:54:16 +02:00
Lorenzo Delgado
5fd2eb08ed
refactor(wakunode): split wakunode filter tests into a new file
2022-09-09 12:17:17 +02:00
Lorenzo Delgado
e2590b588e
refactor(wakunode): split wakunode lightpush tests into a new file
2022-09-08 23:18:59 +02:00
Hanno Cornelius
7f23bdf29f
chore: update nwaku submodules ( #1123 )
...
* chore: update submodules
* fix: SIGTERM ambiguity
* fix: ambiguous RNGs
* fix: ContentType is no longer a string
* fix: more fixes related to ambiguous RNGs
* fix: start all protocols
* chore: also update nim-eth
* chore: important new fixes in nim-libp2p
* fix: more changes related to RNG. Some reversion to reflect nim-eth update
* fix: breaking changes in nim-eth submodule
* fix: start protocols in tests
* fix: chat2bridge protocols async mounting
* fix: v1 test compilation
* fix: rln test compilation
* fix: remove confusing keys qualifier for the same HmacDrbgContext
2022-09-07 16:31:27 +01:00
Lorenzo Delgado
fbaf295ac1
refactor(wakunode): split wakunode rln-relay tests into a new file
2022-09-06 20:43:46 +02:00
Lorenzo Delgado
ab373a9abd
refactor(wakunode): split peer utils tests into a new file
2022-09-06 16:05:06 +02:00