295 Commits

Author SHA1 Message Date
Lorenzo Delgado
f5c77ed76f refactor(enr): node capabilities code clean up and reorganization 2023-03-08 15:44:10 +01:00
Lorenzo Delgado
753bfc1e73 feat(message): differentiate content and pubsub topic namespacing 2023-03-07 11:10:36 +01:00
Lorenzo Delgado
4ac7af2928 chore(enr): move waku_enr to protocols module 2023-03-07 10:52:12 +01:00
Lorenzo Delgado
c9e0ef1170 fix: clean and normalize module imports 2023-03-06 17:19:06 +01:00
Lorenzo Delgado
6ffc95a2ec chore: move discovery protocols under protocol module 2023-03-06 17:18:41 +01:00
Lorenzo Delgado
0892d4b2dc refactor(message): move namespacing utils to waku message module 2023-03-03 10:07:25 +01:00
Hanno Cornelius
98b54d1069 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
905dfefcdb feat(message): added waku message deterministic hashing 2023-03-02 11:41:41 +01:00
Aaryamann Challani
58796a5038 chore(rln-relay): address laundry list of improvements (#1585) 2023-03-01 17:29:13 +05:30
Lorenzo Delgado
34d44a99ee feat(message): added meta attribute to waku message 2023-03-01 10:11:29 +01:00
RichΛrd
2c86956a3c 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
7c9339b2e5 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
68acf82c95 refactor(networking): peermanager refactor and cleanups (#1539)
* refactor(networking): use addServicePeer where needed + add metrics
2023-02-27 10:24:31 -07:00
Lorenzo Delgado
a4502e32ef refactor(relay): split the message id provider into a module 2023-02-27 15:38:24 +01:00
Aaryamann Challani
577cdf030b chore(rln-relay): bump zerokit and update ffi (#1571)
fix(chat2): compilation
2023-02-22 19:47:12 +05:30
Lorenzo Delgado
d01590ac9b feat(protobuf): added error wrappers for invalid length validation 2023-02-20 15:03:32 +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
91ac615efa fix: remove unused imports 2023-02-13 15:02:34 +01:00
Lorenzo Delgado
f07e6301c8 refactor(relay): improve waku_relay apis and add tests 2023-02-10 15:17:50 +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
Lorenzo Delgado
0826bdad99 refactor(utils): moved noise/compat payload encryption code to utils 2023-02-07 10:45:25 +01:00
Lorenzo Delgado
0ea7acdd6a chore(peer_manager): added peer_manager barrel module 2023-02-06 10:03:30 +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
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
Aaryamann Challani
da9d2052d8 fix(rln-relay): use new credentials for compatibility (#1497) 2023-01-19 14:20:08 +05:30
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
11147cf717 refactor: remove unnecessary peermanager dependency (#1474) 2023-01-11 09:10:46 +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
G
c7cf897f41 fix(noise): T_ss is ss not se (#1432) 2022-11-29 06:22:18 +01:00
Lorenzo Delgado
93f0732f4d fix(archive): restore query and insert metrics duration precision 2022-11-25 23:20:24 +01:00
Lorenzo Delgado
08313ef732 fix(archive): fix message validator error metric labels 2022-11-25 02:06:42 +01:00
Lorenzo Delgado
bc0fab345a fix(archive): fix message validator error metric labels 2022-11-25 01:49:43 +01:00
Lorenzo Delgado
aa851142d8 chore(store): remove obsolete metrics and error labels 2022-11-24 19:42:19 +01:00
Alvaro Revuelta
8eada1927a 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
a9a3e77685 feat(archive): add waku archive implementation 2022-11-23 10:08:00 +01:00
Lorenzo Delgado
71cb709a23 feat(archive): add waku archive implementation 2022-11-22 19:40:24 +01:00
Lorenzo Delgado
1237698484 refactor(rln): decouple rln types from waku message type 2022-11-22 18:29:43 +01:00