612 Commits

Author SHA1 Message Date
oskarth
5c679e6ed5 chore: Add labels for tracks (#1046)
* chore: Add labels for tracks

Partially addresses https://github.com/vacp2p/research/issues/112

Subset of labels defined here https://github.com/vacp2p/research/blob/master/.github/labels.yml

* Update .github/labels.yml

Co-authored-by: G. <28568419+s1fr0@users.noreply.github.com>

* fixup

* fixup

Co-authored-by: G. <28568419+s1fr0@users.noreply.github.com>
2022-07-27 18:02:54 +08:00
Oskar Thoren
0a3149a014 ci: Add GH workflow for syncing labels 2022-07-27 17:24:07 +08:00
f6f2134fa7 ci: disable Nim compiler colors
Because they make things unreadable.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-07-22 13:45:47 +02:00
Hanno Cornelius
03c7e38959 fix: update dnsclient submodule (#1039) 2022-07-21 12:55:37 +02:00
Hanno Cornelius
8e498ffca5 docs: update release process docs for contributors (#1001)
* docs: update release process docs for contributors

* Update docs/contributors/release-process.md

Co-authored-by: Lorenzo Delgado <lorenzo@status.im>

* Address comments

Co-authored-by: Lorenzo Delgado <lorenzo@status.im>
2022-07-20 16:27:02 +02:00
Lorenzo Delgado
b21c5da61e refactor(wakunode2): Rename waku_setup.nim to wakunode2_setup.nim 2022-07-19 15:09:23 +02:00
Lorenzo Delgado
fb375ce246 refactor(wakunode2): Split wankunode2 SQL migrations setup to its own file 2022-07-19 15:09:23 +02:00
Lorenzo Delgado
50b522cde0 refactor(wakunode2): Split wankunode2 JSON-RPC setup to its own file 2022-07-19 15:09:23 +02:00
Lorenzo Delgado
50a3ca8d59 refactor(wakunode2): Split wankunode2 metrics setup to its own file 2022-07-19 15:09:23 +02:00
Lorenzo Delgado
1bf0b5f6fc feat(rest): Add HTTP REST API (#727). Integrate REST API with the Waku V2 node 2022-07-19 11:02:43 +02:00
Sanaz Taheri Boshrooyeh
3befd514e9 Feat(Rln relay): Enables and integrates onchain rln into chat2 (#1029)
* adds wakunode2_types

* removes unused imports

* adds dynamic rln relay config options

* deletes unused imports

* replaces static rln-relay with both modes

* introduces spamHandler parameter to mountRlnRelay

* some debugging info

* introduces the config option

* adds the eth priv key to the register proc

* refactors the code by adding eth private key to the relevant procs

* revises config descriptions

* minor wording fix

* make a minor edit

* further edits

* adds Eth private key to the config options

* calls spam handler when to rln credential is given

* defaults to none for the spam handler

* updates the membership fee to match the contract

* fixes an issue for event subscription

* adds eth private key to the transactions made in the tests

* adds eth private key for the test of register process

* adds comments

* deletes lingering echo

* displays registration info

* removes an echo

* removes Goerli testnet from the config descriptions

* removes an excess space
2022-07-14 12:23:52 +02:00
Keshav Gupta
9d725be5b4 Prerequistes for RLN integration tutorial (#1031)
* Prerequistes for RLN integration tutorial

* Update docs/tutorial/Pre-requisites of running a Waku node.md

Co-authored-by: Sanaz Taheri Boshrooyeh <35961250+staheri14@users.noreply.github.com>

* Update docs/tutorial/Pre-requisites of running a Waku node.md

Co-authored-by: Sanaz Taheri Boshrooyeh <35961250+staheri14@users.noreply.github.com>

* Skip section if existing gorli acc

* Faucet warning

* Wss endpoint note

* More image truncation

* Goerli testnet selection note

* Update docs/tutorial/Pre-requisites of running a Waku node.md

Co-authored-by: Daniel Kaiser <git@kais3r.de>

* Censor Infura Endpoint

* Period added after all statements

* Explanantion Summaries

* Update docs/tutorial/Pre-requisites of running a Waku node.md

Co-authored-by: Sanaz Taheri Boshrooyeh <35961250+staheri14@users.noreply.github.com>

* Update docs/tutorial/Pre-requisites of running a Waku node.md

Co-authored-by: Sanaz Taheri Boshrooyeh <35961250+staheri14@users.noreply.github.com>

* Update docs/tutorial/Pre-requisites of running a Waku node.md

Co-authored-by: Sanaz Taheri Boshrooyeh <35961250+staheri14@users.noreply.github.com>

Co-authored-by: Sanaz Taheri Boshrooyeh <35961250+staheri14@users.noreply.github.com>
Co-authored-by: Daniel Kaiser <git@kais3r.de>
2022-07-07 21:22:22 +02:00
Sanaz Taheri Boshrooyeh
36d8ea84ba Feat (Rln relay): enabling signed tx (#1023) 2022-06-30 18:05:38 -07:00
Lorenzo Delgado
f794003dbf chore: remove unused imports 2022-06-30 00:35:18 +02:00
Sanaz Taheri Boshrooyeh
1a0d5fcb9f Chore(rln-relay): adds more documentation for rln nim bindings (#1016)
* annotates rln nim bindings for more clarity

* adds pointer to the rln construct

* revises further

* addresses comments

* revises proc description of verify

* removes AuthObj
2022-06-29 13:45:56 -07:00
Daniel Kaiser
749756450a perf(store): remove vacuum (#1025) 2022-06-29 12:06:42 +02:00
Sanaz Taheri Boshrooyeh
6832673b40 Chore(rln-relay): decouples rln-relay and wakunode2 modules (#1019)
* adds wakunode2_types

* removes unused imports
2022-06-27 12:35:26 -07:00
Hanno Cornelius
7a915f7df1 fix: bridge loses connection to v1 (#1020)
* fix: bridge loses connection to v1

* Remove magic numbers in checks
2022-06-27 14:16:15 +02:00
Kim De Mey
7ceacc43d4 Run test_shh test as this code is used in Waku v1 (#1011) 2022-06-23 20:59:49 +02:00
Daniel Kaiser
e2056e7dd5 fix(store): limit dbPageSize (#1018) 2022-06-23 17:05:48 +02:00
Lorenzo Delgado
6bbf9f6aad feat(rest): Add HTTP REST API (#727). Add Relay REST API 2022-06-23 10:12:38 +02:00
Lorenzo Delgado
95b3da4126 feat(rest): Add HTTP REST API (#727). Amend Debug REST API client 2022-06-22 20:30:44 +02:00
Jacek Sieka
164142ca5d chore: sqlite: bump (#1012) 2022-06-22 16:33:56 +02:00
Richard Ramos
375eaa219d fix: encode protobuffers using proto3 version 2022-06-21 17:21:03 -04:00
Sanaz Taheri Boshrooyeh
0f7f4bfcef Feat(rln-relay): enables two modes of onchain and offchain (#992)
* adds the contract handler file

* adds integration test for the group listening

* adds groupManagement proc

* deletes rln relay contract handler file

* brings back all the tests

* replaces toUINT256 with getIdCommitment proc

* replaces individual futures with an array of futures

* adds code documentation

* asyncSpawn instead of await

* adds untitest for toIDCommitment and toUInt256

* reorganizes the test and add rlnInstance

* mounts handleGroupUpdates on the rln peer

* asyncSpawn to await

* implements toIDCommitment

* updates the unittest

* improves the code documentation

* removes unused tests

* WIP

* uncomments the tests

* defines a new mountRlnRelayStatic proc

* splits mountRlnRelay into two procs for dynamic and static group management

* adds a config for off-chain and on-chain rln-relay

* runs dynamic or static mode of rln-relay based on the input config

* adds Eth private key and account configs

* reads Eth private key and account the configs

* comments put the second register proc

* add proper call to the rlnrelay dynamic mode

* adds todo

* adds new rln relay configs

* splits register into two procs

* makes eth account private key non-optional

* removes getIdCommitment and edits the register proc

* removes getIdCommitment calls

* uncomments the commented tests

* fixes a bug

* removes contract deployment for the offchain test

* fixes a bug, edits comments

* removes custom types  without proper parsing and serialization routines from the configs

* fixes a bug

* switches to stew byte utils

* removes log decoding

* WIP

* updates register proc

* edits test titles

* removes eth private key config

* changes the output of register proc to return the registered index

* integrates the registration process into mountRlnRelayDynamic

* integration test for the register proc

* brings back the onchain tests

* updates comments

* cleans up

* disambiguates the Address type namespace

* fixes type ambiguities

* adds default values for rln key and index

* updates config descriptions

* adds type conversion from hex to MembershipKeyPair

* adds more code documentation

* passed the group value instead of option  to the mount proc

* fix a bug

* a minor input type fix for rln chat2

* groups let declarations

* adds default values for addresses

* logs registered keys
2022-06-17 15:00:19 -07:00
Hanno Cornelius
a7b9709d8c docs: Release v0.10 (#1000) v0.10 2022-06-14 22:05:52 +02:00
Lorenzo Delgado
736b315365 feat(rest): Add HTTP REST API (#727). Debug API POC 2022-06-14 18:20:15 +02:00
Daniel Kaiser
469b49f4fc feat(store): sqlite only store (#982)
* feat(sqlite): parameterized prep statement exec
  - from nim-eth
* feat(store): sql-only-store
  - add getPage(...) to sql-message-store
  - acts as separate store impl that can be activated with
    `--sqlite-store=true`
* test(store): new test-suite for sql message store
* test(store): waku_store test SQL-store compatible
* perf(store): avoid builing an additional B-tree in sql query
  - use `receiverTime` as the last ORDER BY column to fully utilize the
    primary key sorting
feat(store): retention time
  - retention time in seconds can be specified via `--sqlite-retention-time=`
2022-06-13 19:59:53 +02:00
Hanno Cornelius
e0054358d1 chore: update submodules (#997) 2022-06-10 14:35:01 +02:00
Hanno Cornelius
73211d492f feat(enr): add discv5 UDP port to node's main discoverable ENR (#996) 2022-06-09 17:46:21 +02:00
Daniel Kaiser
8ca6d56d07 chore: adjust dyn bootstrap error message (#993) 2022-06-08 22:23:13 +02:00
48e3c38f2a ci: add timeouts to Jenkins pipelines
We've seen a few jobs running on MacOS hosts stuck for days:

* https://ci.status.im/job/nim-waku/job/prs/job/macos/job/PR-982/
* https://ci.status.im/job/nim-waku/job/prs/job/macos/job/PR-979/

Which is not acceptable.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-06-08 15:18:27 +02:00
Hanno Cornelius
bdc37349b3 chore: reduce unnecessary logging (#991) 2022-06-08 11:20:18 +02:00
Hanno Cornelius
55282ef2be chore: disable swap by default (#989) 2022-06-08 09:16:45 +02:00
Hanno Cornelius
a3820b26ab chore: more regular keepalive pings (#990) 2022-06-07 22:44:58 +02:00
G
e680669394 feat(noise): add Noise Handshake processing and after-handshake encryption (#934)
* feat(noise): adding ChaChaPoly encryption

* feat(noise): add support to Noise public keys

* feat(noise): added support to Waku Payload V2

* fix(noise): missing comma

* feat(noise): add Noise Handshake State Machine and primitives

* feat(noise): add Handshake processing and after handshake encryption

* feat(noise): code updated according to #933

* fix(noise): export HandshakeResult

* feat(noise): add pre message validation utility

* chore(noise): improve documentation

* fix(noise): address reviewers comments
2022-06-03 21:12:41 +02:00
Hanno Cornelius
bc8ce89e91 chore: update submodules (#987) 2022-06-01 11:49:41 +02:00
Hanno Cornelius
77f80f53f7 fix(sqlite): memory leak due to undisposed prepared statements (#981) 2022-05-31 12:47:38 +02:00
Sanaz Taheri Boshrooyeh
ddb2b9b82e Feat (Rln relay): adds utility procs to listen to the registration events emitted by the rln membership contract (#976)
* adds the contract handler file

* adds integration test for the group listening

* adds groupManagement proc

* deletes rln relay contract handler file

* brings back all the tests

* replaces toUINT256 with getIdCommitment proc

* replaces individual futures with an array of futures

* adds code documentation

* asyncSpawn instead of await

* adds untitest for toIDCommitment and toUInt256

* reorganizes the test and add rlnInstance

* mounts handleGroupUpdates on the rln peer

* asyncSpawn to await

* implements toIDCommitment

* updates the unittest

* improves the code documentation

* removes unused tests

* removes registration of the dynamic group management handler

* adds a comment

* adds a comment

* adds a TODO

* removes getIdCommitment
2022-05-30 12:14:07 -07:00
Lorenzo Delgado
cd3d5a5f0e feat(store): ability to decouple store from relay (#937) 2022-05-23 20:42:48 +02:00
Lorenzo Delgado
cc0b9e6ea8 chore: ignore Jetbrains IDE configuration files 2022-05-23 20:42:48 +02:00
G
33c225ea9c feat(noise): add Noise Handshake State Machine and primitives (#933)
* feat(noise): adding ChaChaPoly encryption

* feat(noise): add support to Noise public keys

* feat(noise): added support to Waku Payload V2

* fix(noise): missing comma

* feat(noise): add Noise Handshake State Machine and primitives

* Fixed header

* refactor(noise): add comments, restyle code

* refactor(noise): address reviewer's comments

* feat(noise): add Noise Handshake State Machine and primitives

* refactor(noise): rebase

* refactor(noise): refactor and add documentation

* fix(noise): fixed trace parameter

* update submodules

* fix(noise): remove echo, add stdout.write in print handshake

* refactor(noise): add Noise state machine overview

* Revert "update submodules"

This reverts commit 9fc162dff83c328b94d644c729a77f180206b729.

* update submodules

* fix Jenkins caching

* Revert "update submodules"

This reverts commit 1927d9dd26047dd451b314b1b186a95cab70eed4.

* revert nim-eth submodule update

* fix(noise): missing camelCase

* feat(noise): adding unit tests for Noise State machine primitives

* fix(noise): address reviewers' comments

* fix(noise): use expect for error handling in unit tests

* fix(noise): revert to implicit nonce declaration in CipherState initialization
2022-05-20 15:51:36 +02:00
Hanno Cornelius
4c2e0d75f1 docs: add operator guide docs (#963) 2022-05-20 14:48:34 +02:00
Hanno Cornelius
b483ae4b0d chore: update submodules (#974) 2022-05-20 12:57:19 +02:00
Daniel Kaiser
9a0b8688ff chore(migration): avoid unnecessarily calling migration (#967) 2022-05-18 21:44:53 +02:00
Hanno Cornelius
771c741e05 docs: generate and configure nodekey (#957) 2022-05-18 15:00:30 +02:00
Daniel Kaiser
e76c120d4d fix(dns4name): dns4name + unset port resolved (#965) 2022-05-18 10:15:03 +02:00
Daniel Kaiser
f30639c889 feat(info): add --version cmd flag (#970) 2022-05-17 22:11:07 +02:00
Daniel Kaiser
40806860d9 chore(docker): use NIMFLAGS instead of NIM_PARAMS (#961)
NIM_PARAMS is and internal variable.
NIMFLAGS should be used outside of nimbus build system.

includes:

* fix(docker): copy RLN parameters.key into the container
* chore(makefile): NIMFLAGS in docker img rule
2022-05-17 21:11:07 +02:00
Daniel Kaiser
70a6a66eb3 feat(config): add config file support (#953)
including

* bump vendor/nim-confutils
* add nim-toml-serialization submodule
* feat(config): add example config file
* add new feature to CHANGELOG
2022-05-17 17:48:08 +02:00