Commit Graph

1613 Commits

Author SHA1 Message Date
Ivan FB 560f949a8b
chore: Postgres migrations (#2477)
* Add postgres_driver/migrations.nim
* Postgres and archive logic adaptation to the migration implementation
* libwaku: adapt node_lifecycle_request.nim to migration refactoring
* test_app.nim: add more detail for test that only fails in CI
* postgres migrations: store the migration scripts inside the resulting wakunode binary instead of external .sql files.
2024-03-01 12:05:27 +01:00
Aaryamann Challani 88ff928213
chore(rln-relay-v2): added tests for onchain rln-relay-v2 (#2482)
* chore(rln-relay-v2): added tests for onchain rln-relay-v2

* Update tests/waku_rln_relay/test_rln_group_manager_onchain.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>
2024-03-01 14:15:40 +05:30
richΛrd 045091a9f2
fix: return message id on `waku_relay_publish` (#2485)
* fix: return message id on `waku_relay_publish`
* fix: remove unneeded cast and handle 0 len seqs
* chore: rename messageId to messageHash
2024-02-29 20:58:35 -04:00
Alvaro Revuelta c994ee049b
chore: remove json rpc (#2416) 2024-02-29 23:35:27 +01:00
Jakub Sokołowski 55ff667478
chore(ci): use git describe for image version
This way we get both the full commit and the version, whether it's a
proper release or not.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-02-29 10:40:14 +01:00
NagyZoltanPeter d832f92a43
chore: Implemented CORS handling for nwaku REST server (#2470)
* Add allowOrigin configuration for wakunode and WakuRestServer
Update nim-presto to the latest master that contains middleware support
Rework Rest Server in waku to utilize chronos' and presto's new middleware design and added proper CORS handling.
Added cors tests and fixes

Co-authored-by: Ivan FB <128452529+Ivansete-status@users.noreply.github.com>
2024-02-29 09:48:14 +01:00
Alvaro Revuelta 3f4f6d7e5b
chore: remove rln epoch hardcoding (#2483) 2024-02-28 17:19:20 +01:00
Ivan FB a499300594
chore(cbindings): cbindings rust simple libwaku integration example (#2089) 2024-02-26 16:48:05 +01:00
gabrielmer a1d5cbd9a9
chore: adding NIMFLAGS usage to readme (#2469) 2024-02-23 16:25:13 +02:00
gabrielmer 216531b0eb
chore: bumping nim-libp2p after yamux timeout fix (#2468) 2024-02-22 20:19:56 +02:00
Ivan FB d530528259
refactor: new proc to foster different size retention policy implementations (#2463)
* new proc to foster different size retention policy implementations
  The new proc, decreaseDatabaseSize, will have different implementations
  per each driver. For example, in future commits we will implement a size
  retention policy thanks to partitions management, in Postgres.
* RetentionPolicy: use of new instead of init for ref object types
* waku_archive: fix signatures in decreaseDatabaseSize methods
* retention_policy_size: minor cleanup of comments and imports
2024-02-22 16:55:37 +01:00
Aaryamann Challani f6332ac646
chore(rln-relay): use anvil instead of ganache in onchain tests (#2449)
* chore(rln-relay): use anvil instead of ganache in onchain tests

* fix: incl rustup in makefile
2024-02-22 16:59:13 +05:30
Ivan FB 7aea145efe
chore: bindings return multiaddress array (#2461)
* waku_example.c: adapt signature to new parameter 'void* userData'
* libwaku: add new DEBUG request handler to retrieve the list of listened multiaddresses
* waku_example.c: use example the new 'waku_listen_addresses'
* add debug_node_request.nim file
2024-02-21 12:06:05 +01:00
richΛrd d01585e9fa
fix(bindings): base64 payload and key for content topic (#2435)
* fix(bindings): base64 payload and key for content topic
* fix(bindings): store userData for event callback
* fix(bindings): json message serialization
* fix(bindings): add messageHash to the event callback
* fix(bindings): add meta field
* refactor(bindings): simplify error handling
* fix: handle undefined keys
2024-02-20 16:00:03 -04:00
Guru 652abf8d2a
Wrong docs link (#2450) 2024-02-20 22:37:26 +05:30
richΛrd 56ff30ca75
feat(bindings): generate a random private key (#2446) 2024-02-20 11:18:03 -04:00
Ivan FB 501c92e2c3
waku_metrics: change log interval from 30'' to 10' (#2428) 2024-02-19 22:25:20 +01:00
Jakub Sokołowski b700d0464b
chore(ci): fix IMAGE_NAME to use harbor.status.im
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-02-19 11:31:34 +01:00
Hanno Cornelius ce151efc36
feat: prioritise yamux above mplex (#2417)
* update libp2p submodule

* feat: prefer yamux to mplex
2024-02-17 19:46:01 +00:00
Aaryamann Challani 29b0c0b8da
fix(rln-relay): regex pattern match for extended domains (#2444)
* fix(rln-relay): regex pattern match for extended domains

* fix: enable localhost too
2024-02-16 22:42:35 +05:30
Aaryamann Challani 2060cfab67
chore(rln-relay): remove wss support from node config (#2442)
* chore(rln-relay): remove wss support from node config

* fix: incl regex pattern examples

* docs: update rln docs
2024-02-16 18:36:31 +05:30
gabrielmer 8f487a2179
fix: checking for keystore file existence (#2427) 2024-02-15 17:33:15 +02:00
Aaryamann Challani 22026b7e89
fix(rln-relay): graceful shutdown with non-zero exit code (#2429)
* fix(rln-relay): graceful shutdown with non-zero exit code

* fix: missed args

* fix: exception str

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

* fix: remove old comment

---------

Co-authored-by: Ivan FB <128452529+Ivansete-status@users.noreply.github.com>
2024-02-15 16:55:08 +05:30
Jakub Sokołowski 1151d50f55
chore(ci): reuse discord send function from library
No need to keep an almost identical copy here.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-02-14 16:37:30 +01:00
gabrielmer 3903f130cb
feat: supporting meta field in WakuMessage (#2384) 2024-02-14 17:29:59 +02:00
gabrielmer 731dfcbdf6
fix: check max message size in validator according to configured value (#2424) 2024-02-14 17:29:10 +02:00
NagyZoltanPeter d00065e9d3
chore: update CHANGELOG.md for v0.25.0 (#2399)
* chore: update CHANGELOG.md for v0.25.0
* Added announcements for the next release derpicating features

Co-authored-by: gabrielmer <101006718+gabrielmer@users.noreply.github.com>
Co-authored-by: Ivan FB <128452529+Ivansete-status@users.noreply.github.com>
2024-02-14 11:29:56 +01:00
Aaryamann Challani d0377056ca
chore(rln-relay-v2): add tests for serde (#2421)
* chore(rln-relay-v2): add tests for serde

* fix: call isOk fn instead of prop access

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

* fix: make cast more explicit

---------

Co-authored-by: Ivan FB <128452529+Ivansete-status@users.noreply.github.com>
2024-02-14 13:24:05 +05:30
richΛrd 707f3e8bf0
feat: `eventCallback` per wakunode and `userData` (#2418)
* feat: store event callback in `Context`
* feat: add userData to callbacks
2024-02-13 10:22:22 -04:00
richΛrd d58aca01a7
chore: add stdef.h to libwaku.h (#2409) 2024-02-13 10:21:31 -04:00
Aaryamann Challani 0dac9f9dd4
fix(wakunode2): move node config inside app init branch (#2423) 2024-02-13 15:40:45 +05:30
Aaryamann Challani 50308eda0d
feat(rln-relay-v2): nonce/messageId manager (#2413)
* feat(rln-relay-v2): nonce/messageId manager

* fix: simplify
2024-02-13 10:18:02 +05:30
gabrielmer 849d76d6d4
chore: automatically generating certs if not provided (Waku Canary) (#2408) 2024-02-12 16:28:22 +02:00
Vaclav Pavlin 9c0e943166
feat(networkmonitor): add support for rln (#2401)
* feat(networkmonitor): add support for rln

* remove cred index flag

* use wakunode2 waku network config
2024-02-12 09:58:55 +01:00
Alvaro Revuelta e6002032eb
Benchmark RLN proof generation/verification (#2410) 2024-02-09 17:06:25 +01:00
Aaryamann Challani 2d46c35117
feat(rln-relay-v2): rln-keystore-generator updates (#2392)
* chore: init rln-v2 in OnchainGroupManager

* chore: update wrappers

* fix: units for userMessageLimit

* valueOr for error handling

* fix: len usage
2024-02-09 16:31:45 +05:30
Ivan FB a81092e952
libwaku: simpler ctx mgmt. Param now receiving void* instead of void** (#2398)
This change is needed so that interoperability with other languages becomes simpler.
Particularly, this simplification is needed from the Python point of view,
where it is tricky to pass a void** as a parameter to an FFI function.
2024-02-07 15:24:03 +01:00
Alvaro Revuelta 985d092fbc
chore: Simplify configuration for the waku network (#2404) 2024-02-07 12:42:20 +01:00
richΛrd 1b4026673a
feat: add yamux support (#2397) 2024-02-06 16:33:13 -04:00
Álex Cabeza Romero 817b2e067a
test(lightpush): Lightpush functional tests (#2269)
* Add ligthpush payload tests.
* Add end to end lightpush tests.
* updating vendor/nim-unittest2 to protect against core dump issue
* Enable "Valid Payload Sizes" test again
---------
Co-authored-by: Ivan FB <128452529+Ivansete-status@users.noreply.github.com>
2024-02-06 17:37:42 +01:00
gabrielmer e4e147bcbb
feat: running validators in /relay/v1/auto/messages/{topic} (#2394) 2024-02-05 10:24:54 +02:00
Ivan FB 55d1b078b1
fix: bug fix in ci/Jenkinsfile.release: make -d:postgres part of NIMFLAGS (#2395) 2024-02-02 14:13:07 +01:00
Álex Cabeza Romero f86baa01a7
test(rln): Implement some rln unit tests (#2356)
* Fix sanity check location.
* Implement some rln tests.
2024-02-02 09:56:41 +01:00
Ivan FB 585755858c
ci/Jenkinsfile.release: enforce -d:postgres flag is always used (#2389) 2024-02-01 20:46:25 +01:00
Aaryamann Challani b88facd0b7
feat(rln-relay-v2): update C FFI api's and serde (#2385)
* feat(rln-relay-v2): integrate new ffi bindings, serde

* chore: remove ExtendedRateLimitProof, add comments

* fix: typo
2024-02-02 00:26:47 +05:30
gabrielmer 59d8b6204f
feat: running validators in /relay/v1/messages/{pubsubTopic} (#2373) 2024-02-01 18:16:10 +01:00
Ivan FB 3e65cc18f6
REST store: get msgs from self node when store is mounted and no peerAddr is passed (#2387)
A node that handles REST-Store requests normally acts as a 
Store-client and therefore it retrieved the messages from another
Store-node.
With these changes, we allow a node with Store mounted, to retrieve
its messages. In other words, the node can act as a Store-server of
its messages.

* test_rest_store.nim: add a new test to validate that the self-node can
retrieve its messages to the REST client.

* rest/store/client.nim: add new proc to allow making a GET store
request without peerAddr.

* rest/store/handle.nim: add logic to handle requests that don't
provide peerAddr but the self/local node has Store mounted. In this case,
the self/local node will retrieve its locally stored messages.

* waku_store/self_req_handler.nim: logic to handle "store" requests
allowing the REST-store node to act as a Store-server node. The
'self_req_handler.nim' helps to bypass the store protocol and directly
retrieve the messages from the local/self node. I added this logic in
a separate file from 'protocol.nim' because it doesn't participate in
any libp2p communication.

* waku_store/protocol.nim: make 'queryHandler' attribute public so that
it can be used from the 'self_req_handler.nim' module.
2024-01-31 17:43:59 +01:00
Aaryamann Challani c55ca06756
chore(rln-relay-v2): use rln-v2 contract code (#2381)
* chore(rln-relay-v2): use rln-v2 contract code

* fix: reduced duped code
2024-01-30 23:28:30 +05:30
Simon-Pierre Vivier 761ce7b10a
chore: v0.25 vendor bump and associated fixes (#2352) 2024-01-30 10:57:03 -05:00
Simon-Pierre Vivier edca1df1a8
feat: shard aware relay peer management (#2332)
note that this feature is behind a config flag. `--relay-shard-manager`
2024-01-30 07:28:21 -05:00