Abhimanyu
aeb77a3e75
feat: Add new DB column `messageHash` ( #2202 )
...
* feat: added DB column messageHash
* feat: minor change
* feat: minor merge conflict fix
* Update test_resume.nim
* Update test_resume.nim
* randomblob() func used to populate attribute
* PRIMARY key updated - SQLite and Postgres
2023-11-22 17:32:56 +01:00
Abhimanyu
a22ee60494
chore: deterministic message hash algorithm updated ( #2233 )
...
* deterministic hash algorithm updated + testcases
* updated code review
2023-11-22 15:23:43 +01:00
gabrielmer
59ee3c69c8
chore(REST): returning lightpush support and updated filter protocol ( #2219 )
2023-11-22 10:56:23 +02:00
Ivan FB
c48accb513
waku_store: better response when the store is requested with wrong cursor ( #2231 )
2023-11-22 09:32:39 +01:00
Simon-Pierre Vivier
897f487978
chore: mics. improvements to cluster id and shards setup ( #2187 )
2023-11-21 15:15:39 -05:00
Alvaro Revuelta
51f36099d5
fix(rln): error in api when rate limit ( #2212 )
2023-11-21 19:24:31 +01:00
Ivan FB
c973b85069
peer_manager.nim: better feedback if can't dial peer with WakuMetadataCodec ( #2230 )
2023-11-21 14:54:45 +01:00
Abhimanyu
9ff441ab47
chore: removing automatic vacuuming from retention policy code ( #2228 )
...
* retention policy and testcase updated
* removing dead code
* review updated code
2023-11-21 11:27:50 +01:00
Ivan FB
13fb7c2f74
group_manager.nim more except detail when cant connect eth client ( #2195 )
2023-11-20 23:25:55 +01:00
gabrielmer
ef8ffbdbd0
chore: decoupling announced and listen addresses ( #2203 )
2023-11-16 18:15:27 +02:00
Álex Cabeza Romero
f5f431382b
test(waku-relay): Relay ( #2101 )
...
* Implement message id tests.
* Implement relay tests.
* Update import paths to use test_all.
2023-11-15 16:11:36 +01:00
Álex Cabeza Romero
85265e6c61
test(waku-filter): Unsubscribe tests ( #2085 )
...
* Implement unsubscribe waku filter tests.
* test(waku-filter): Unsubscribe all, payloads and security tests (#2095 )
* Implement waku node filter Security and Privacy tests (#2096 )
2023-11-15 10:26:01 +01:00
NagyZoltanPeter
6d81e3841a
chore: Allow text/plain content type descriptor for json formatted content body ( #2209 )
...
* Allow text/plain content type descriptor for json formatted content body. Refactored duplicated encode/decode functions for rest api
* Fix relay endpoint decodings of content bodies to accept text/plain
* Added support for content body decoder for checking media type if additional parameters are present
* Fix wrong usage of ContentTypeData - appeared only for tests
2023-11-14 16:59:53 +01:00
Vaclav Pavlin
2cb0989a28
fix(rest): properly check if rln is used ( #2205 )
...
* fix(rest): properly check if rln is used
* fix(apis): fix remaining usage of defined(rln)
2023-11-10 15:25:07 +01:00
Abhimanyu
d7ef3ca192
Revert "feat: amending computeDigest func. + related test cases ( #2132 )" ( #2180 )
...
This reverts commit 1669f710ce
.
2023-11-08 01:41:23 +01:00
Ivan FB
6da1aeec53
chore: Optimize postgres - prepared statements in select ( #2182 )
...
* db_postgres: use prepared statements on most freq select queries
* db_postgres/dbconn.nim adding better feedback in case of query error
* dbconn: use of isOkOr
* pgasyncpool: refactor to reduce code (valueOr, catch:)
2023-11-07 13:38:37 +01:00
Simon-Pierre Vivier
200a11da09
feat(discv5): filter out peers without any listed capability ( #2186 )
2023-11-06 07:31:36 -05:00
gabrielmer
b9563ae0b5
chore: upgrade dependencies v0.22 ( #2185 )
2023-11-06 13:30:34 +02:00
Ivan FB
fa467e2462
fix: lightpush rest ( #2176 )
...
* rest/lightpush/handlers.nim: enhance feedback in case of error.
* lightpush/openapi.yaml: fix typo in pubsubTopic field.
2023-11-01 11:30:53 +01:00
Ivan FB
2b4ca4d0ff
chore: Optimize postgres - use of rowCallback approach ( #2171 )
...
* db_postgres, postgres_driver: better performance by using callback.
There were a bunch of milliseconds being lost due to multiple-row
processing. This commit aims to have the minimum possible row
process time.
* pgasyncpool: clarifying logic around pool conn management.
* db_postgres: removing duplicate code and more searchable proc names.
2023-10-31 14:46:46 +01:00
Simon-Pierre Vivier
bcf8e9630d
feat: metadata protocol shard subscription ( #2149 )
2023-10-30 16:58:15 -04:00
Alvaro Revuelta
250e8b983c
fix(rest): fix bug in rest api when sending rln message ( #2169 )
2023-10-30 16:19:49 +01:00
Alvaro Revuelta
f0f69b3235
chore(networking): lower dhigh to limit amplification factor ( #2168 )
2023-10-30 16:17:39 +01:00
Ivan FB
282c2e8107
chore: Minor Postgres optimizations ( #2166 )
...
* postgres_healthcheck: validate once per minute instead of 30 sec
* postgres_driver.nim: change MaxNumCons from 5 to 50
* postgres_driver.nim: split connPool into writeConPool and readConPool
This aims to avoid clashes in insert and select queries
because the inserts and selects can happen concurrently
in relay and store events, respectively.
2023-10-30 15:16:49 +01:00
Simon-Pierre Vivier
7ca516a5f8
feat: REST APIs discovery handlers ( #2109 )
2023-10-27 15:43:54 -04:00
NagyZoltanPeter
b8bcb1e74b
Pull new version of nim-presto that implements RestServer' new error handler callback ( #2144 )
...
Added rest request error handler to capture calls on not installed endpoints
better, more descriptive error message returned.
2023-10-27 16:31:57 +02:00
gabrielmer
f7b9afc26f
feat: implementing port 0 support ( #2125 )
2023-10-27 10:11:47 +03:00
gabrielmer
944dfdaa99
chore: adding ext-multiaddr-only CLI flag ( #2141 )
2023-10-24 18:39:25 +03:00
Abhimanyu
13aeebe46f
Revert "feat: messageHash attribute added in SQLite + testcase ( #2142 )" ( #2154 )
...
This reverts commit 9cd8c73d27
.
2023-10-24 16:05:39 +02:00
Abhimanyu
9cd8c73d27
feat: messageHash attribute added in SQLite + testcase ( #2142 )
...
* feat: messageHash attaribute added in SQLite + testcase
* Update tests/waku_archive/test_driver_sqlite_query.nim
Co-authored-by: Ivan FB <128452529+Ivansete-status@users.noreply.github.com>
---------
Co-authored-by: Ivan FB <128452529+Ivansete-status@users.noreply.github.com>
2023-10-24 12:19:52 +02:00
Abhimanyu
1669f710ce
feat: amending computeDigest func. + related test cases ( #2132 )
...
* feat: amending computeDigest func. + related test cases
* minor fixes
* minor fixes v1: testcase saga continues
---------
Co-authored-by: Vaclav Pavlin <vaclav@status.im>
2023-10-19 11:59:17 +02:00
gabrielmer
a5b1cfd024
fix: consider WS extMultiAddrs before publishing host address ( #2122 )
2023-10-17 12:53:41 +03:00
Álex Cabeza Romero
1bba183492
test(waku-filter): Subscribe tests batch (1/4) ( #2034 )
...
* Implement waku filter client subscribe tests.
* Remove legacy filter tests.
* Fix constant for max criteria per subscription limit.
2023-10-12 20:59:21 +02:00
Alvaro Revuelta
d5c3ade5e2
feat: add new metadata protocol ( #2062 )
2023-10-11 08:58:45 +02:00
Abhimanyu
25d6e52e38
chore: added size based retention policy ( #2098 )
...
* chore: added size based retention policy
* chore: post review code - size based retention policy
* chore: review integrated, size retention updated, vacuuming in capacity retention
* chore: typo fixed
* chore: review integrated
* chore: external config updated to support newly added retention policy
2023-10-10 15:29:09 +05:30
Sergei Tikhomirov
2c5eb427d7
fix: return erring response if lightpush request is invalid ( #2083 )
...
fixes #1641
2023-10-09 16:38:23 +02:00
Abhimanyu
06bc433a80
fix: sqlite limited delete query bug ( #2111 )
2023-10-09 16:36:40 +05:30
Alvaro Revuelta
a0033dff52
Revert "postgres_driver.nim: rename table's name from "messages" to "message" ( #2110 )" ( #2115 )
...
This reverts commit 71cfbbca6f
.
2023-10-06 10:36:00 +02:00
Ivan FB
71cfbbca6f
postgres_driver.nim: rename table's name from "messages" to "message" ( #2110 )
2023-10-05 18:23:19 +02:00
Simon-Pierre Vivier
a47dc9e663
fix: cluster id & sharding terminology ( #2104 )
2023-10-05 08:37:05 -04:00
NagyZoltanPeter
7b5c36b1c6
feat: /admin rest api endpoint ( #2094 )
...
/admin rest api implementation and tests
* open api doc
* Add rest admin test to all tests
* Enrich /admin get peers interface, group protocols by peers in response
2023-10-05 14:00:09 +02:00
Alvaro Revuelta
1042cacd3f
chore(rln): add more hardcoded memberhips to static group ( #2108 )
2023-10-05 13:25:24 +02:00
Ivan FB
c74abe131d
postgres_driver: remove duplicated const MaxNumConns. ( #2106 )
2023-10-04 15:28:07 +02:00
NagyZoltanPeter
f05528d4be
chore: Revert lightpush error handling to allow zero peer publish again succeed ( #2099 )
...
* This reverts former change on lighpush error handling, now zero peer publish still succeed. This will allow js-waku use case to succeed.
* Adjust lightpush rest-api test
2023-10-02 15:38:40 +02:00
Hanno Cornelius
c019016545
Revert "chore: add size retention policy ( #2093 )" ( #2097 )
...
This reverts commit 8897ae1a2f
.
(cherry picked from commit b213b2c385b0534481448cd6e30af18e183d0504)
2023-10-02 11:07:13 +02:00
Abhimanyu
8897ae1a2f
chore: add size retention policy ( #2093 )
...
* chore: add retention policy with GB or MB limitation #1885
* chore: add retention policy with GB or MB limitation
* chore: updated code post review- retention policy
* ci: extract discordNotify to separate file
Signed-off-by: Jakub Sokołowski <jakub@status.im>
* ci: push images to new wakuorg/nwaku repo
Signed-off-by: Jakub Sokołowski <jakub@status.im>
* ci: enforce default Docker image tags strictly
Signed-off-by: Jakub Sokołowski <jakub@status.im>
* ci: push GIT_REF if it looks like a version
Signed-off-by: Jakub Sokołowski <jakub@status.im>
* fix: update wakuv2 fleet DNS discovery enrtree
https://github.com/status-im/infra-misc/issues/171
* chore: resolving DNS IP and publishing it when no extIp is provided (#2030 )
* feat(coverage): Add simple coverage (#2067 )
* Add test aggregator to all directories.
* Implement coverage script.
* fix(ci): fix name of discord notify method
Also use absolute path to load Groovy script.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
* chore(networkmonitor): refactor setConnectedPeersMetrics, make it partially concurrent, add version (#2080 )
* chore(networkmonitor): refactor setConnectedPeersMetrics, make it partially concurrent, add version
* add more metrics, refactor how most metrics are calculated
* rework metrics table fillup
* reset connErr to make sure we honour successful reconnection
* chore(cbindings): Adding cpp example that integrates the 'libwaku' (#2079 )
* Adding cpp example that integrates the `libwaku`
---------
Co-authored-by: NagyZoltanPeter <113987313+NagyZoltanPeter@users.noreply.github.com>
* fix(ci): update the dependency list in pre-release WF (#2088 )
* chore: adding NetConfig test suite (#2091 )
---------
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Co-authored-by: Jakub Sokołowski <jakub@status.im>
Co-authored-by: Anton Iakimov <yakimant@gmail.com>
Co-authored-by: gabrielmer <101006718+gabrielmer@users.noreply.github.com>
Co-authored-by: Álex Cabeza Romero <alex93cabeza@gmail.com>
Co-authored-by: Vaclav Pavlin <vaclav@status.im>
Co-authored-by: Ivan Folgueira Bande <128452529+Ivansete-status@users.noreply.github.com>
Co-authored-by: NagyZoltanPeter <113987313+NagyZoltanPeter@users.noreply.github.com>
2023-09-30 11:10:52 +05:30
Anton Iakimov
89854a96f6
fix: update wakuv2 fleet DNS discovery enrtree
...
https://github.com/status-im/infra-misc/issues/171
2023-09-27 13:39:10 +02:00
Simon-Pierre Vivier
56dbe2a7e1
feat: added RELAY openapi definitions ( #2081 )
2023-09-26 15:53:46 -04:00
Ivan Folgueira Bande
a27d005ffc
fix(archive): dburl check ( #2071 )
...
* dburl.nim: simpler regex that can support db_urls with . and - in hostname
* dbrul.nim: accepting any non-empty sequence for user and password
* dburl.nim: skipping validation for 'sqlite' db paths
2023-09-26 13:59:54 +02:00
Simon-Pierre Vivier
1763b1efa1
feat: Autosharding API for RELAY subscriptions ( #1983 )
2023-09-26 07:33:52 -04:00
Simon-Pierre Vivier
d178105d9f
fix: filter discv5 bootstrap nodes by shards ( #2073 )
2023-09-26 07:30:55 -04:00
Aaryamann Challani
45fe2d3bee
fix(rln-relay): segfault when no params except rln-relay is passed in ( #2047 )
2023-09-25 13:26:16 +05:30
Ivan Folgueira Bande
292de5a6c1
bumping web3 ( #2066 )
2023-09-25 08:13:40 +02:00
Simon-Pierre Vivier
0d9e9fbdd2
feat: peer manager can filter select peer by shard ( #2063 )
2023-09-22 15:13:50 -04:00
Simon-Pierre Vivier
3e72e83067
refactor: Moved external APIs out of node ( #2069 )
2023-09-22 09:36:46 -04:00
NagyZoltanPeter
02a814bd35
feat: lightpush rest api ( #2052 )
...
RestApi Lightpush endpoint implemented
* Openapi definition for lightpush rest api
* Update waku/node/rest/lightpush/handlers.nim
* Fix install handler naming, added negative test cases and fixes for restapi lightpush
* Fix error handling in lightpush rest handler
* Fix main success case - relay message that comes with pushRequest
* Fix rest relay serdes test with RelayWakuMessage validation changes
* Checking response message tests
2023-09-22 13:46:55 +02:00
Ivan Folgueira Bande
dc25057a26
chore: bump nim-libp2p, nim-toml-serialization, nim-unicodedb, nim-unittest2, nim-websock, nim-zlib, & nimbus-build-system ( #2065 )
2023-09-22 12:54:23 +02:00
Ivan Folgueira Bande
1c4533a27a
Bumping vendor/nim-confutils and vendor/nim-serialization ( #2056 )
2023-09-21 13:12:14 +02:00
Ivan Folgueira Bande
11e7394e0d
Adding 'librln' to `libwaku` and cleaning waku_example.c ( #2044 )
...
* When adding the dependency with 'librln' to 'libwaku', it is required
to remove the dependency with 'confutils' because the 'nim-confutils'
module prevents the creation of a dynamic library (libwaku.so.)
* waku_example.c: less code is needed because the Waku Thread attends
any Waku event whereas the main thread can have a blocking scanf
to retrieve user inputs.
2023-09-19 17:01:32 +02:00
Ivan Folgueira Bande
f617cd9750
chore: Updating nim-chronicles, nim-chronos, nim-presto, nimcrypto, nim-libp2p, and nim-nat-transversal ( #2043 )
2023-09-18 18:51:49 +02:00
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
Ivan Folgueira Bande
aa3e1a66d5
fix(sqlite): Properly set user_version to 7 so that the migration procedure is not started ( #2031 )
2023-09-14 14:12:37 +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
NagyZoltanPeter
563b2b20a5
chore: move SubscriptionManager under waku_core ( #2025 )
...
* chore: cherry-pick from Filter V2 RestApi PR: move FilterPushHandler and SubscriptionManager from Filter V1 to under waku_core
2023-09-12 17:08:40 +02:00
Aaryamann Challani
a4e783303c
fix(rln-relay): waku_rln_number_registered_memberships metrics appropriately handled ( #2018 )
2023-09-11 19:21:45 +05:30
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
Alvaro Revuelta
7d9d8a3fb4
fix(p2p): fix possible connectivity issue ( #1996 )
2023-09-08 13:36:26 +02:00
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
Ivan Folgueira Bande
1fb13b0967
Adding healtcheck and reconnection mechanism to the postgres archive driver ( #1997 )
...
It starts an asynchronous infinite task that checks the connectivity
with the database. In case of error, the postgres_healthcheck task
tries to reconnect for a while, and if it determines that the connection
cannot be resumed, then it invokes a callback indicating that
situation. For the case of the `wakunode2` app, this callback
quits the application itself and adds a log trace indicating
the connectivity issue with the database.
2023-09-06 19:16:37 +02: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
97a7c9d04d
chore(rln-relay): log levels for certain logs ( #1986 )
2023-09-04 18:43:59 +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
Simon-Pierre Vivier
037b166263
fix: --topic should be ignore when using --pubsub-topic or --content-topic ( #1977 )
2023-08-31 16:13:45 -04:00
Aaryamann Challani
d262837ea5
fix(rln-relay): deserialization of valid merkle roots ( #1973 )
2023-08-31 13:19:43 +05:30
richΛrd
e272bec9c5
chore: add debug log indicating succesful message pushes and also log the message hash ( #1965 )
2023-08-30 18:10:51 -04:00
Aaryamann Challani
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
c07d63db46
fix(rln-relay): flush_interval incorrectly set ( #1933 )
2023-08-23 18:23:44 +05:30
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
Aaryamann Challani
8239b45582
chore(rln-relay): rename keystore application to waku-rln-relay ( #1924 )
2023-08-23 12:02:03 +05:30
Alvaro Revuelta
56c228f815
chore(rln): remove old and add new rln metric ( #1926 )
2023-08-22 16:30:33 +02:00
Aaryamann Challani
6c6302f9e1
fix(rln-relay): waitFor startup, otherwise valid proofs will be marked invalid ( #1920 )
2023-08-22 17:47:06 +05:30
Aaryamann Challani
f08315cdde
fix(rln-relay): remove registration capability ( #1916 )
2023-08-22 11:49:18 +05:30
Alvaro Revuelta
af95b5713f
chore(rln): run rln in all relay pubsubtopics + remove cli flags ( #1917 )
2023-08-21 08:55:34 +02:00
Aaryamann Challani
b3bb7a1113
fix(rln-relay): invalid start index being set results in invalid proofs ( #1915 )
...
* fix(rln-relay): invalid proof usage
* fix(rln-relay): use startIndex from first event in block
* fix: latestIndex set after registerBatch
2023-08-18 16:38:24 +05:30
Simon-Pierre Vivier
cf3013962c
feat: update various protocols to autoshard ( #1857 )
...
* feat: update FILTER & LIGHTPUSH to autoshard
2023-08-17 08:11:18 -04:00
Aaryamann Challani
8c568cabbe
fix(rln-relay): should error out on rln-relay mount failure ( #1904 )
2023-08-16 19:00:10 +05:30
Aaryamann Challani
8bcb0acf1a
test(rln-relay): rpc handler to support waku rln relay ( #1852 )
2023-08-16 10:32:22 +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
Alvaro Revuelta
03363f1bd8
fix: fixes out of bounds crash when waku2 is not set ( #1895 )
2023-08-08 16:22:53 +02: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
Vaclav Pavlin
2fc48842b7
fix: check nil before calling clearTimer ( #1869 )
2023-08-02 13:31:14 +02:00
Aaryamann Challani
4756ccc179
fix(rln-relay): mark duplicated messages as spam ( #1867 )
...
* fix(rln-relay): mark duplicated messages as spam
* chore: fix fn desc
2023-08-02 10:40:18 +05:30
Simon-Pierre Vivier
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
76c73b62cd
feat(rln-relay): close db connection appropriately ( #1858 )
2023-07-27 17:21:21 +05:30
Tanguy
08f3bba334
feat: enable TcpNoDelay ( #1470 )
2023-07-15 16:41:26 +02:00
Ivan Folgueira Bande
1d3410c7bd
fix(libp2p): Updating nim-libp2p to fix the `wss` connectivity issue ( #1848 )
...
* Updating nim-libp2p to fix the `wss` connectivity issue
* The `nim-libp2p` adds many changes although we are actually interested
in the latest commit:
> wstransport.nim: avoid re-raising 'TransportOsError' to avoid stopping
`switch.accept` (#929 )
* The `nim-stew` bump is needed so that the `nim-libp2p` can compile.
* The changes in `waku_node.nim` are needed due to the changes in
`nim-stew`.
* waku_node.nim: returning a "completed" future within 'statusAndConfidenceHandler'
This is aimed to avoid the next exception happening in the wakunode:
```
Unhandled defect: Async procedure (service.nim(74) callHandler)
yielded `nil`, are you await'ing a `nil` Future? [AssertionDefect]
```
* Adding 'async' to 'statusAndConfidenceHandler' so that it properly returns a Future[void]
2023-07-13 18:00:55 +02:00
Aaryamann Challani
3fe4522a7e
chore(rln-relay): verify proofs based on bandwidth usage ( #1844 )
...
* chore(rln-relay): Verify proofs based on bandwidth usage
* fix(rln-relay): make default threshold 0, for backwards compat
* fix(rln-relay): add unit test for bandwidth cutoff
* fix(rln-relay): rlnRelayBandwidthTreshold option
2023-07-07 17:28:37 +05:30
Alvaro Revuelta
17b24cded6
feat: limit relay connections below max conns ( #1813 )
2023-07-04 13:31:18 +02:00
Ivan Folgueira Bande
97d3b9f79f
chore(refactor): Move record creation & fix libwaku compilation ( #1833 )
...
* Move record creation & fix libwaku
* app,external_config,internal_config,libwaku,sharding: refactorgin to make it compile
---------
Co-authored-by: SionoiS <simvivier@status.im>
2023-06-29 21:59:53 +02:00
Ivan Folgueira Bande
88b7481f29
feat(postgres): integration of postgres in wakunode2 ( #1808 )
...
* Making the wakunode2 to support postgres driver
* driver/builder.nim: controling possible errors when creating the messages table
* postgres_driver.nim: adding protection in getInt and fixing typo
2023-06-28 18:47:28 +02:00
Simon-Pierre Vivier
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
Aaryamann Challani
e4d9ee1f7a
fix(rln-relay): chunk event fetching ( #1830 )
2023-06-28 18:00:45 +05:30
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
Simon-Pierre Vivier
44f9d8dc0e
chore: discv5 re-org setup ( #1815 )
...
Key, netconfig, enr are created at App initialization and config files has been renamed.
2023-06-22 16:58:14 -04:00
Ivan Folgueira Bande
a44d4bfbcd
refactor(databases): Creation of the databases folder to keep the logic for sqlite and postgres ( #1811 )
...
* Refactoring in sqlite and postgres. Creation of the databases folder.
2023-06-22 11:27:40 +02:00
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
bbded9eea7
feat(rln-relay): resume onchain sync from persisted tree db ( #1805 )
...
* feat(rln-relay): resume onchain sync from persisted tree db
* chore(rln-relay): bump zerokit
2023-06-19 15:21:18 +05:30
Aaryamann Challani
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
Tanguy
f6e89c311d
chore(deps): bump libp2p & websock ( #1800 )
2023-06-15 13:17:19 +02:00
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
Tanguy
613974c1b6
Revert "chore(libp2p): update nim-libp2p ( #1786 )" ( #1788 )
...
This reverts commit 93e09b8b77
.
2023-06-09 10:10:47 +02:00
Aaryamann Challani
dba84248f1
chore(rln-relay): pass in the path to the tree db ( #1782 )
...
* chore(rln-relay): pass in the path to the tree db
* fix(rln-relay): address visibility
Co-authored-by: Ivan Folgueira Bande <128452529+Ivansete-status@users.noreply.github.com>
* fix(rln-relay): make db used more explicit
* fix(rln-relay): reduce visibility
---------
Co-authored-by: Ivan Folgueira Bande <128452529+Ivansete-status@users.noreply.github.com>
2023-06-08 17:22:21 +05:30
Vaclav Pavlin
93e09b8b77
chore(libp2p): update nim-libp2p ( #1786 )
2023-06-08 12:54:28 +02:00
Aaryamann Challani
ba8ec7048e
chore(rln-relay): update tree_config ( #1781 )
2023-06-07 13:39:20 +05:30
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
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
Aaryamann Challani
6257874633
chore(rln-relay): updated metrics for testnet 3 ( #1744 )
...
* fix(rln-relay): trace log
* chore(rln-relay): updated metrics for testnet 3
fix(rln-relay): group manager metric import
2023-05-19 16:24:35 +05:30
Aaryamann Challani
5eae60e817
fix(rln-relay): trace log ( #1743 )
2023-05-19 12:52:46 +05:30
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
Ivan Folgueira Bande
2defbd2301
feat(cbindings): first commit - waku relay ( #1632 ) ( #1714 )
...
* feat(cbindings): first commit - waku relay (#1632 )
* test_app.nim: fix compilation issue. App.init(..) -> App.new(..)
* Simplifying library name (libwaku) and standardizing function names (waku_*)
* Proper wrapper of the waku_node API and creation of the libwaku.a
* Rolling back changes that are not needed
* Rolling back changes that are out of the scope of this task
* wakunode.nim: Removing unnecessary import
* Aplying PR suggestions
* Renaming 'waku.h' -> 'libwaku.h'
* Use of 'isNil' instead of '== nil'
* libwaku.nim: explicitly setting waku_poll() as gcsafe
2023-05-12 18:08:41 +02:00
Aaryamann Challani
b277ce1013
chore(rln-relay): update args to contract ( #1724 )
...
* chore(rln-relay): update args to contract
* fix(rln-relay): update membership contract code
* fix: bytecode
2023-05-11 19:30:26 +05:30
Alvaro Revuelta
b9e0763e6b
fix: streams was used instead of connections ( #1722 )
2023-05-10 15:28:00 +02:00
Aaryamann Challani
44c543129e
chore(rln-relay): use new config for ffi ( #1718 )
...
* chore(rln-relay): use new config for ffi
* chore: update zerokit submodule
* fix: missing comma
2023-05-10 12:54:58 +05:30
Hanno Cornelius
7c39be9a2e
fix: change filter request default behaviour to ping ( #1721 )
2023-05-09 09:18:14 +02:00
Hanno Cornelius
68a39c65bd
fix: fix filter v2 proto fields ( #1716 )
2023-05-05 10:29:53 +02:00
Alvaro Revuelta
3e0a693d2e
chore: add timestamp and ephemeral for opt-in dos validator ( #1713 )
2023-05-05 10:12:49 +02:00
Alvaro Revuelta
3e14686950
chore: add validator for dos protec metrics and move to app ( #1704 )
2023-05-02 16:20:38 +02:00
fryorcraken.eth
ba12d1c1e4
Fix links and add notes on Waku v1 deprecation ( #1707 )
2023-05-02 09:56:25 +02:00
Lorenzo Delgado
ce92fc1aed
refactor(wakunode2): flatten and simplify app setup ( #1705 )
2023-04-26 19:25:18 +02:00
Vaclav Pavlin
b397ed6cbd
refactor:optimize getting number of connections and streams ( #1673 )
2023-04-26 10:47:46 +02:00
Alvaro Revuelta
c6d291d3f3
chore: add payload bytes to trace log ( #1703 )
2023-04-25 09:50:43 +02:00
Lorenzo Delgado
e041e04342
chore(core): move peers utils module to waku_core
2023-04-24 16:37:54 +02:00
Alvaro Revuelta
67e96ba894
feat: add metrics with msg size histogram ( #1697 )
2023-04-20 13:45:29 +02:00
Alvaro Revuelta
7d12adf636
fix: import nimchronos instead heartbeat ( #1695 )
2023-04-19 16:51:15 +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
d5ef9331e7
fix(rest): change rest server result error type to string
2023-04-19 14:55:39 +02:00
Lorenzo Delgado
e8dceb2aa6
chore: add deprecation notice to utils module. move heartbeat to common
2023-04-19 14:27:16 +02:00
Ivan Folgueira Bande
81d03558b1
Adding more detail in an error produced by 'parsePeerInfo' ( #1687 )
...
* Adding more detail in an error produced by 'parsePeerInfo'
* utils/peers.nim: casting to 'string' in a more idiomatic/convenient way
2023-04-19 14:02:54 +02:00
Lorenzo Delgado
c9b6b2308c
chore(core): rename waku_message module to waku_core
2023-04-19 13:29:23 +02:00
Ivan Folgueira Bande
edd8419a1b
peers.nim: adding more detail in case the p2pPart doesn't contain '/' ( #1684 )
2023-04-19 10:24:06 +02:00
Lorenzo Delgado
d7b72ac736
chore: flatten waku v2 protocols folder
2023-04-18 15:22:10 +02:00
Aaryamann Challani
b62193e59b
fix(rln-relay): scope of getEvents ( #1672 )
2023-04-18 16:55:10 +05:30
Lorenzo Delgado
9616253611
feat(enr): added support for relay shards field
2023-04-17 15:21:20 +02:00
Alvaro Revuelta
1a885b963b
fix(logs): fix log reporting wrong ok connected peers ( #1675 )
2023-04-17 11:46:15 +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
Lorenzo Delgado
9e1432c9ef
fix: wrap untracked protocol handler exceptions
2023-04-11 13:12:45 +02:00
Hanno Cornelius
418efca27f
feat: integrate new filter protocol, other improvements ( #1637 )
2023-04-11 10:12:54 +02:00
Lorenzo Delgado
1cfb251b65
fix(wakunode2): made setup nat return errors
2023-04-06 13:41:05 +02:00
Ivansete-status
b2acb54d6a
feat(rest-api-store): new rest api to retrieve store waku messages ( #1611 ) ( #1630 )
...
* feat: new rest api based on the current store json-rpc api and
following the same structure as the current relay rest api.
* feat: the store api attend GET requests to retrieve historical messages
* feat: unit tests.
* feat: allow return message to rest-client in case error (4XX or 5XX)
* chore: always allow to call the store api endpoints (only rest) without explicit storenode (#1575 )
* feat: always mounting the current node as storenode client
2023-04-06 11:43:19 +02:00
Lorenzo Delgado
9dadc1f5a0
refactor(node): remove deprecated constructor and extend testlib with builder
2023-04-05 16:01:51 +02:00
Alvaro Revuelta
5d853b8630
chore: do not mount relay more than once ( #1650 )
2023-04-05 15:12:49 +02:00
Lorenzo Delgado
e931fa5dc8
feat(node): added waku node builder type
2023-04-05 14:27:11 +02:00
Lorenzo Delgado
e8448dfdbe
chore: pointed all waku node imports to the barrel import
2023-04-05 11:58:59 +02:00
Lorenzo Delgado
139428883f
refactor(node): added waku_node barrel import and split config module
2023-04-05 09:46:13 +02:00
Lorenzo Delgado
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
Aaryamann Challani
b1bafda2ee
fix(rln-relay): on chain registration ( #1627 )
...
* fix(rln-relay): on chain registration
* fix(rln-relay): bump gas lim
2023-03-29 14:22:57 +05:30
Alvaro Revuelta
85f33a8efd
bug: connect instead dial relay peers ( #1622 )
2023-03-28 13:29:48 +02:00
Alvaro Revuelta
c42ac16fe6
bug: fix hash size greater than 32 ( #1621 )
2023-03-24 13:06:27 +01: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
Aaryamann Challani
6584b58593
feat(rln-relay): use precompiled resources w/ rln ( #1578 )
...
* feat(rln-relay): use precompiled resources w/ rln
* chore: remove resource cp stage from Dockerfile
* chore(makefile): remove DOCKER_IMAGE_STAGE from makefile
* chore: bump submodule, rev branch
2023-03-13 12:03:21 +05:30
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
0bf8d573a7
fix: clean and normalize module imports
2023-03-06 17:19:06 +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
92546bd997
chore(rln-relay): address laundry list of improvements ( #1585 )
2023-03-01 17:29:13 +05:30
Lorenzo Delgado
4865fd4b7b
feat(message): added meta attribute to waku message
2023-03-01 10:11:29 +01:00
RichΛrd
43b3f1cef4
chore: use base64 url safe encoding for noise ( #1569 )
...
Co-authored-by: Lorenzo Delgado <lorenzo@status.im>
2023-02-28 14:13:27 -04: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
Hanno Cornelius
c254115578
chore: log node peer ID with relay trace logging ( #1574 )
...
* chore: log node peer ID with relay trace logging
* feat: add peerId accessor
2023-02-27 17:36:24 +02:00
Lorenzo Delgado
25660b4adf
refactor(relay): split the message id provider into a module
2023-02-27 15:38:24 +01: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
Alvaro Revuelta
edce01cd6a
fix(networking): fix wrong peer connected state ( #1560 )
2023-02-14 15:38:32 +01:00
Hanno Cornelius
740e4f2bd6
chore: lower per-message log level to trace ( #1561 )
2023-02-14 15:07:26 +02:00
Lorenzo Delgado
9258914057
fix(jsonrpc): encode waku messages payload in base64 ( #1139 )
2023-02-14 09:19:06 +01:00
Aaryamann Challani
416bc80092
fix(discv5): add multiaddrs only if len > 0 ( #1559 )
2023-02-14 13:41:48 +05:30
Alvaro Revuelta
28e5bcf8b5
fix(networking): fix flaky peerstore test ( #1554 )
2023-02-13 18:10:20 +01:00
Hanno Cornelius
dd5243a41c
fix: change message ID provider to match go-waku ( #1556 )
2023-02-13 18:22:34 +02: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
a7f0a7f704
fix(node): remove subscription to waku default network topic ( #1545 )
2023-02-10 17:55:47 +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
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
1a9f633311
refactor(message): split waku message module into rpc and codec
2023-02-08 16:16:21 +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
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
4ea6039323
chore(discv5): waku discv5 module code cleanup
2023-02-06 11:36:37 +01:00
Lorenzo Delgado
8ba36e2dfa
chore(peer_manager): added peer_manager barrel module
2023-02-06 10:03:30 +01:00
Lorenzo Delgado
e56dbd06d8
chore(v1): fix deprecation warnings
2023-02-06 10:00:57 +01:00
Hanno Cornelius
528cc5ad34
chore: add better e2 trace logging for relay ( #1526 )
2023-02-03 10:06:21 +02:00
Alvaro Revuelta
94459b4886
fix: add safe default values for peer-store-capacity ( #1525 )
2023-01-31 17:26:22 +01: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
77c64043f9
fix(store): set store rpc codec pagesize type to uint64
2023-01-31 11:48:44 +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
Lorenzo Delgado
8c7a931f65
refactor(archive): sqlite query optimization. replace or-ed equal conditions list with in-list
2023-01-25 16:52:13 +01:00
Lorenzo Delgado
b84c54bbcb
refactor(relay): simplify relay publish jsonrpc api
2023-01-25 14:35:38 +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
Aaryamann Challani
9a12872465
fix(rln-relay): use new credentials for compatibility ( #1497 )
2023-01-19 14:20:08 +05:30
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
Alvaro Revuelta
982cd28265
feat(networking): use autonatservice and log if node is reachable ( #1472 )
2023-01-11 10:57:49 +01:00
Alvaro Revuelta
53bf00de69
refactor: remove unnecessary peermanager dependency ( #1474 )
2023-01-11 09:10:46 +01:00
Alvaro Revuelta
4eb9375b62
refactor(networking): wait for all futures together in connectToNodes ( #1471 )
...
* refactor(networking): wait for all futures together in connectToNodes
* refactor(networking): await fix style
2023-01-09 21:45:50 +01:00
Alvaro Revuelta
333ce0a2e1
fix(rpc): return error if peer cant be connected ( #1476 )
2023-01-09 14:15:03 +01:00
Alvaro Revuelta
5042b06215
chore(p2p): unify dialpeer functions ( #1458 )
2022-12-14 16:04:11 +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
Lorenzo Delgado
e4c10ed661
feat(wakunode2): support log format format selection
2022-12-07 12:30:32 +01:00
G
002316cceb
feat(rln): use zerokit as static lib ( #1385 )
2022-12-06 00:33:03 +01:00
Aaryamann Challani
2e0db18cde
chore(rln-relay): re-enable root validation ( #1445 )
...
* fix(rln-relay): enable root validation
* fix(rln-relay): unused import
2022-12-05 23:52:54 +05:30
Lorenzo Delgado
3a4c4c660b
chore(build): simplify project makefile and update dockerfile
2022-11-30 21:02:39 +01:00
Tanguy
e487c7d79e
Decouple waku v2 from waku v1 ( #1421 )
...
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Lorenzo Delgado <lorenzo@status.im>
2022-11-29 20:15:07 +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
G
bcab36902d
fix(noise): T_ss is ss not se ( #1432 )
2022-11-29 06:22:18 +01: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
Lorenzo Delgado
3474bef8e3
fix(archive): restore query and insert metrics duration precision
2022-11-25 23:20:24 +01:00
Lorenzo Delgado
a4970d2625
fix(archive): fix message validator error metric labels
2022-11-25 02:06:42 +01:00
Lorenzo Delgado
59a204c32c
fix(archive): fix message validator error metric labels
2022-11-25 01:49:43 +01:00
Lorenzo Delgado
0050deed05
chore(store): remove obsolete metrics and error labels
2022-11-24 19:42:19 +01:00
Lorenzo Delgado
41b2f87f68
fix(archive): patch the sqlite driver to solve results inconsistencies
2022-11-24 18:59:25 +01:00
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
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
9396f64489
fix(lightpush): waku lightpush rpc codec support optional fields
2022-11-18 20:01:01 +01:00
Lorenzo Delgado
af4fb5f5a7
fix(filter): waku filter rpc codec support optional fields
2022-11-18 18:37:08 +01:00
Lorenzo Delgado
1d72ee31b0
refactor(relay): collocate relay protocol initialization logic
2022-11-18 14:50:56 +01:00
alrevuelta
bd5046f466
chore: add version to logs at startup
2022-11-18 11:59:35 +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
Lorenzo Delgado
e2a2ea6477
chore: move protobuf module from utils to common
2022-11-16 20:02:14 +01:00
Aaryamann Challani
2336522d7f
fix(rln-relay): feature guard ( #1373 )
...
* fix(rln-relay): feature guard
* Revert "fix(rln-relay): feature guard"
This reverts commit 9344f41a34
.
* fix(rln-relay): surgically fix imports
* fix(rln-relay): indents
* fix(rln-relay): more usages of rln types
2022-11-14 19:29:34 +05:30
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
Lorenzo Delgado
b4bda3c10b
fix(rln-relay): remove dependency on applications' configuration
2022-11-08 12:53:47 +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
4509f4f361
refactor(message_store): move message_store to node module
2022-11-04 19:48:22 +01:00
Lorenzo Delgado
7ef4eaf46d
chore: update push raises pragma according to nim 1.6
2022-11-04 10:52:27 +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
27a7040f8e
chore(migrations): move migration scripts to project root
2022-11-03 17:58:05 +01:00
Lorenzo Delgado
5c4f1ce43f
chore: make log topics consistent with nim-chronicles style
2022-11-03 16:36:24 +01:00
Lorenzo Delgado
1d3943febb
refactor(sqlite): move migrations logic to sqlite common module
2022-11-02 16:36:33 +01:00
Lorenzo Delgado
83ae6987b8
fix: replace TaintedString type deprecated in nim 1.5
2022-11-02 14:55:48 +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
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
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
0725da0b66
chore(node): waku node code reorganization
2022-10-27 17:29:09 +02:00
Lorenzo Delgado
7e7bba4a98
feat(lightpush): add waku lightpush protocol client
2022-10-25 14:55:31 +02:00
Aaryamann Challani
bdb120d842
feat(chat2): metrics server + metrics logging ( #1279 )
...
* feat(rln-relay): periodically log metrics
* fix(chat2): enable metrics by default in chat2 config
* test(chat2): metrics, gc compilation error
* chore(metrics): make metrics a util, and import into wakunode2 apps dir
* fix(metrics): raise error
* fix(metrics): gc error
* fix(wakunode2): remove setup_metrics
* chore(metrics): waku utils metrics
* fix(metrics): create waku_metrics in node dir
* fix(metrics): log scope
* fix(chat2): disable metrics server by default
* fix(utils): collectorAsF64 proc def
* fix(metrics): store metrics path
2022-10-21 14:03:36 +05:30
Lorenzo Delgado
e5c3aa560e
feat(store): add waku store client module
2022-10-20 18:09:40 +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
757804c9ee
chore(wakunode2): move wakunode2 to apps directory
2022-10-18 12:35:26 -05:00
Lorenzo Delgado
5046a4b3da
refactor(node): split wakunode into waku_node and wakunode2
2022-10-18 09:05:53 -05:00
Lorenzo Delgado
b139692b05
refactor(wakunode2): move config random private key generation to a procedure ( #1273 )
2022-10-18 07:06:54 -05:00
Aaryamann Challani
9a6a7334ef
feat(rln-relay): periodically log metrics ( #1262 )
...
* feat(rln-relay): periodically log metrics
* chore(rln-relay): log rln metrics immediately
* fix(metrics): calculation etc
* chore(metrics): parseAndAccumulate into collector utils
* fix(metrics): use standard logging interval
2022-10-18 17:07:44 +05:30
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
f282621a1c
fix(rln): set maxEpochGap as maximum epoch gap ( #1257 )
2022-10-10 21:50:16 +02:00
G
586d549113
fix(rln): fix encoding to LE for idcommitments ( #1256 )
2022-10-10 19:35:43 +02:00
Aaryamann Challani
3a80fae634
test(rln-relay): setup heartbeat ws subscription and log when connection drops ( #1253 )
...
* test(rln-relay): setup heartbeat ws subscription and log when connection drops
* fix(rln-relay): quantity
* fix(rln-relay): allow fromBlock to be passed to sub proc
* chore(rln-relay): cleaner logs
* fix(rln-relay): typo
2022-10-10 17:55:12 +05:30
Aaryamann Challani
f8c4d9aebc
chore(rln-relay): additional logging ( #1243 )
...
* chore(rln-relay): additional logging
* fix: whitespace
2022-10-08 12:14:52 +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
Aaryamann Challani
8a8c745e30
chore(rln-relay): disable merkle root validation ( #1246 )
...
* chore(rln-relay): disable merkle root validation
* brings back validation of the root but without invalidating the message
* adds the tracking issue
Co-authored-by: sanaz <staheri14@ku.edu.tr>
2022-10-06 13:17:01 -07:00
Lorenzo Delgado
1cb3f4b7a4
fix(store): fix store validity timestamp variance constant ( #1244 )
2022-10-06 16:07:12 +01:00
Hanno Cornelius
8a184e208c
chore: publish nwaku version to metric ( #1234 )
2022-10-06 13:06:54 +01: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