599 Commits

Author SHA1 Message Date
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
G
c7cf897f41 fix(noise): T_ss is ss not se (#1432) 2022-11-29 06:22:18 +01:00
Hanno Cornelius
d5ef611308 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
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
Lorenzo Delgado
6da187fc66 fix(archive): patch the sqlite driver to solve results inconsistencies 2022-11-24 18:59:25 +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
Alvaro Revuelta
5ccbbf1316 fix(tests): add missing import for tests (#1375) 2022-11-22 08:13:51 +01:00
Aaryamann Challani
d8c01b7fe7 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
8eff17e3cc feat(store): add support for history query handler 2022-11-21 11:16:57 +01:00
Lorenzo Delgado
aba02d10d3 chore(store): remove waku swap integration from store protocol 2022-11-21 09:36:41 +01:00
Lorenzo Delgado
3a564bfefd fix(lightpush): waku lightpush rpc codec support optional fields 2022-11-18 20:01:01 +01:00
Lorenzo Delgado
6de4f3bc3a fix(filter): waku filter rpc codec support optional fields 2022-11-18 18:37:08 +01:00
Lorenzo Delgado
9522deb26f refactor(relay): collocate relay protocol initialization logic 2022-11-18 14:50:56 +01:00
alrevuelta
80eca40bc3 chore: add version to logs at startup 2022-11-18 11:59:35 +01:00
Lorenzo Delgado
52bf63a657 fix(store): waku store rpc codec support optional fields 2022-11-17 20:40:08 +01:00
Lorenzo Delgado
c113c59a43 refactor(protocols): decouple protocol rpc types from api types 2022-11-16 20:02:38 +01:00
Lorenzo Delgado
24f7834b40 chore: move protobuf module from utils to common 2022-11-16 20:02:14 +01:00
Aaryamann Challani
660a8295b7 fix(rln-relay): feature guard (#1373)
* fix(rln-relay): feature guard

* Revert "fix(rln-relay): feature guard"

This reverts commit 9344f41a349a8010594d3090eac1a136d47c3a4f.

* 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
3996f7e971 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
172fa9bf38 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
9540f7c2c6 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
fd71d8d48a refactor(store): decouple waku store public api types from rpc types 2022-11-09 18:50:18 +01:00
Alvaro Revuelta
06ab8c3152 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
c475c3d1fe refactor: unify pubsub topic type and default value 2022-11-09 09:55:47 +01:00
Lorenzo Delgado
13c315d508 refactor(queue_store): rename queue_store module and simplify api 2022-11-08 16:10:23 +01:00
Lorenzo Delgado
c15fddb561 fix(rln-relay): remove dependency on applications' configuration 2022-11-08 12:53:47 +01:00
Lorenzo Delgado
44c07d96ae chore: rename protocols rpc_codec procs from init to decode 2022-11-07 16:24:16 +01:00
Lorenzo Delgado
4b3acf305f refactor(message_store): move message_store to node module 2022-11-04 19:48:22 +01:00
Lorenzo Delgado
693217daba chore: update push raises pragma according to nim 1.6 2022-11-04 10:52:27 +01:00
Lorenzo Delgado
eb6dbb3d1e chore: remove unused imports 2022-11-04 10:52:08 +01:00
Lorenzo Delgado
2df75f8e6f refactor(peer_manager): move peer_store under peer_manager module 2022-11-04 09:40:13 +01:00
Aaryamann Challani
77054f997e 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
d8590b81c5 feat(wakunode2): support configuration via environment variables 2022-11-03 17:58:48 +01:00
Lorenzo Delgado
4891584cbd chore(migrations): move migration scripts to project root 2022-11-03 17:58:05 +01:00
Lorenzo Delgado
816f31091e chore: make log topics consistent with nim-chronicles style 2022-11-03 16:36:24 +01:00
Lorenzo Delgado
cab1c560a8 refactor(sqlite): move migrations logic to sqlite common module 2022-11-02 16:36:33 +01:00
Lorenzo Delgado
141e3d443a fix: replace TaintedString type deprecated in nim 1.5 2022-11-02 14:55:48 +01:00
Lorenzo Delgado
9a7a972c14 feat(filter): split waku filter protocol into server and client 2022-11-02 11:59:58 +01:00
Lorenzo Delgado
bd5c2bf602 refactor(peer-exchange): move peer management to waku_node module 2022-11-02 09:45:21 +01:00
Aaryamann Challani
6ce6a385be 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
462ae9c64a 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
f28037b8ae chore(common): move sqlite module to common module 2022-10-28 20:13:41 +02:00