646 Commits

Author SHA1 Message Date
Alvaro Revuelta
878a05edbf fix(networking): fix wrong peer connected state (#1560) 2023-02-14 15:38:32 +01:00
Hanno Cornelius
f0eddc61d8 chore: lower per-message log level to trace (#1561) 2023-02-14 15:07:26 +02:00
Lorenzo Delgado
3627556c67 fix(jsonrpc): encode waku messages payload in base64 (#1139) 2023-02-14 09:19:06 +01:00
Aaryamann Challani
d4302fd826 fix(discv5): add multiaddrs only if len > 0 (#1559) 2023-02-14 13:41:48 +05:30
Alvaro Revuelta
2ca2b3fc8a fix(networking): fix flaky peerstore test (#1554) 2023-02-13 18:10:20 +01:00
Hanno Cornelius
2f4415de02 fix: change message ID provider to match go-waku (#1556) 2023-02-13 18:22:34 +02:00
Lorenzo Delgado
789ffae14b refactor(rest): deep code and tests reorganization 2023-02-13 15:22:24 +01:00
Lorenzo Delgado
91ac615efa fix: remove unused imports 2023-02-13 15:02:34 +01:00
Lorenzo Delgado
1ea771fb2f fix(node): remove subscription to waku default network topic (#1545) 2023-02-10 17:55:47 +01:00
Lorenzo Delgado
f07e6301c8 refactor(relay): improve waku_relay apis and add tests 2023-02-10 15:17:50 +01:00
Lorenzo Delgado
b6c2c71aa6 refactor(jsonrpc): deep code and tests reorganization 2023-02-10 10:43:16 +01:00
Alvaro Revuelta
a74eaf1c10 refactor(px): refactor peer exchange + tests (#1527) 2023-02-09 16:59:29 +01:00
G
8396b7faa1 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
53515699db refactor(message): split waku message module into rpc and codec 2023-02-08 16:16:21 +01:00
Lorenzo Delgado
8f399e2dba refactor(relay): improve wakuy relay api 2023-02-08 16:09:59 +01:00
Alvaro Revuelta
5a939ee37c feat: add WakuMessage validation in gossipsub (#1537) 2023-02-07 17:42:17 +01:00
Aaryamann Challani
13b7153aad 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
0826bdad99 refactor(utils): moved noise/compat payload encryption code to utils 2023-02-07 10:45:25 +01:00
Aaryamann Challani
fd433ce0e2 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
89e22c6f24 chore(discv5): waku discv5 module code cleanup 2023-02-06 11:36:37 +01:00
Lorenzo Delgado
0ea7acdd6a chore(peer_manager): added peer_manager barrel module 2023-02-06 10:03:30 +01:00
Lorenzo Delgado
1ddfc1acb9 chore(v1): fix deprecation warnings 2023-02-06 10:00:57 +01:00
Hanno Cornelius
e9ba53bbd0 chore: add better e2 trace logging for relay (#1526) 2023-02-03 10:06:21 +02:00
Alvaro Revuelta
1a425b0bf6 fix: add safe default values for peer-store-capacity (#1525) 2023-01-31 17:26:22 +01:00
Alvaro Revuelta
5147048b9b 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
e9206dfa98 fix(store): set store rpc codec pagesize type to uint64 2023-01-31 11:48:44 +01:00
Alvaro Revuelta
7ea15ecfdb fix(rpc): fix out of bound when empty multiadd (#1507) 2023-01-26 12:05:25 +01:00
Aaryamann Challani
bf532eea8b 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
f3ee7af3aa feat(networking): add service slots to peer manager (#1473) 2023-01-26 10:20:20 +01:00
Lorenzo Delgado
7fa4905042 fix(archive): reverse the db query results in the waku archive front-end 2023-01-26 10:19:58 +01:00
Lorenzo Delgado
61e68da89e refactor(archive): sqlite query optimization. replace or-ed equal conditions list with in-list 2023-01-25 16:52:13 +01:00
Lorenzo Delgado
9949996ed7 refactor(relay): simplify relay publish jsonrpc api 2023-01-25 14:35:38 +01:00
Alvaro Revuelta
9ccaeb1d6e 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
da9d2052d8 fix(rln-relay): use new credentials for compatibility (#1497) 2023-01-19 14:20:08 +05:30
Alvaro Revuelta
93bb090f02 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
365d256754 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
3ce085b89e feat(archive): respond with error on more than 10 content topics query 2023-01-11 12:19:59 +01:00
Alvaro Revuelta
fbe300682a feat(networking): use autonatservice and log if node is reachable (#1472) 2023-01-11 10:57:49 +01:00
Alvaro Revuelta
11147cf717 refactor: remove unnecessary peermanager dependency (#1474) 2023-01-11 09:10:46 +01:00
Alvaro Revuelta
37973586a9 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
2e92c4f31a fix(rpc): return error if peer cant be connected (#1476) 2023-01-09 14:15:03 +01:00
Alvaro Revuelta
24a836804a chore(p2p): unify dialpeer functions (#1458) 2022-12-14 16:04:11 +01:00
G
eac945a16a 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
7c17122237 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
6f21b33831 feat(wakunode2): support log format format selection 2022-12-07 12:30:32 +01:00
G
47aadf6dbd feat(rln): use zerokit as static lib (#1385) 2022-12-06 00:33:03 +01:00
Aaryamann Challani
f55915e350 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
e53067f8c2 chore(build): simplify project makefile and update dockerfile 2022-11-30 21:02:39 +01:00
Tanguy
b49d860571 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
7c54074b32 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