Commit Graph

933 Commits

Author SHA1 Message Date
Jakub Sokołowski fbd9490df0
ci: install 1.64 rust in Docker image
Necessary to fix errors like:
```
error: package `ethers-core v0.17.0 (https://github.com/gakonst/ethers-rs#454449b0)` cannot be built
because it requires rustc 1.62 or newer, while the currently active rustc version is 1.60.0
```
Also upgraded Alpine from `3.15` to `3.16`.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-10-05 14:07:21 +02:00
Lorenzo Delgado 14abdef796
chore(store): improve database migrations logging 2022-10-05 11:45:44 +02:00
Aaryamann Challani a0d8cadcbb
chore(Makefile): Make zerokit the default RLN implementation (#1190)
* chore(ci): add zerokit test

* fix(ci): typo

* fix(Makefile): RLN points to zerokit, RLNKILIC points to kilic impl

* fix(ci): remove zerokit test workflow now that zerokit is default

* fix(Makefile): zerokit in ci

* fix(Makefile): do not compile kilic by default

* test(nix): add llvm to nix shell

* test(nix): clang

* fix(nix): mkShell

* fix(nix): mkShell

* fix(nix): err

* fix(nix): add binutils to macos nix shell

* fix(nix): test with musl-tools

* fix(nix): remove musl-tools

* fix(nix): add Security module

* fix(nix): gcc for linux, clang for macos

* test(Makefile): set CC to env

* Revert "test(Makefile): set CC to env"

This reverts commit fdab95f2cd0bdef916744d793ebf7005dd1d4396.

* test(nimbus-build-system): bad gcc

* fix(nix): remove optional for linux

* Revert "test(nimbus-build-system): bad gcc"

This reverts commit c6b81f8132.

* fix(nix): semicolon

Co-authored-by: G <28568419+s1fr0@users.noreply.github.com>
2022-10-05 11:50:24 +05:30
G f9c05aae52
chore(rln): Update zerokit submodule and RLN APIs (#1209)
* chore(rln): update zerokit submodule and APIs

* feat(rln): add new_circuit_from_data zerokit API

* chore(rln): update zerokit module
2022-10-05 00:06:33 +02:00
Sanaz Taheri Boshrooyeh fe3a3136a3
feat(rln-relay): adds rln identifier to the RateLimitProof (#1219)
* adds rln identifier to the RateLimitProof

* enables rln-relay compilation for wakunode2

* unifies the two RateLimitProof types

* a minor update

Co-authored-by: G <28568419+s1fr0@users.noreply.github.com>
2022-10-04 13:20:44 -07:00
Jakub Sokołowski dd1fe16568
ci: build v1 and v2 if shell.nix is changed
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-10-04 18:29:13 +02:00
Jakub Sokołowski 2055beb6ec
nix: don't pull in gcc explicitly, stdenv has it
If we pull it explicitly we affect variables like `CC_FOR_TARGET` which
can break builds on MacOS due to need for `clang` use.

Depends on: https://github.com/status-im/nimbus-build-system/pull/51

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-10-04 18:29:02 +02:00
Hanno Cornelius ad628b5b52
fix: store config without db-path leads SIGSEGV (#1218) 2022-10-04 14:34:05 +01:00
Aaryamann Challani 787464487b
chore(rln-relay): namespaced flags (#1204)
* chore(rln-relay): namespaced flags

* chore(rln-relay): shorten flag size

* fix(rln-relay): consistent config naming

* chore(rln-relay): consistency with address configs

* fix(rln-relay): config
2022-10-03 13:25:56 -07:00
Jakub Sokołowski eba17319e8
ci: use Nix shell to provide build dependencies
Because we need Rust version newer than `1.62.0` and
Ubuntu 22.04 only comes with `1.61.0`:
https://packages.ubuntu.com/jammy/rustc

And locking dependencies using Nix would make it easier
for developers to track them and update them:
https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/compilers/rust/1_63.nix

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-10-03 18:45:29 +02:00
s1fr0 745364a12c
update submodule 2022-10-03 18:21:03 +02:00
Lorenzo Delgado fa6a44eb3c
fix(store): Move page info logic to waku store protocol 2022-10-03 17:36:17 +02:00
Lorenzo Delgado adf1dab34f
fix(store): update sqlite db table primary key and decouple queries module from pagination types 2022-10-03 15:23:39 +02:00
Richard Ramos 8af3438814
fix: add lastEpoch when using zerokit, and missing return (#1210) 2022-10-03 11:48:01 +02:00
Lorenzo Delgado c61e88b352
refactor(store): simplify store queue query implementation 2022-10-03 08:40:01 +02:00
Aaryamann Challani d614e4504b
feat(rln-relay): metrics (#1185)
* feat(rln-relay): metrics

* fix(rln-relay): invalid token

* fix(rln-relay): return outside time

* style(rln-relay): multiline proc def

* fix(rln-relay): oserror

* fix(rln-relay): Exception should not be raised

* Revert "fix(rln-relay): oserror"

This reverts commit edcf39c0088ca526ca50256d856eee20d87a3c37.

* Revert "fix(rln-relay): Exception should not be raised"

This reverts commit c8d09b055314a83bb4a94900a47e899773cb47df.

* fix(rln-relay): revert exception removal

* feat(rln-relay): granular tracking

* fix(rln-relay): observe only on histogram, convert mount to hist

* chore(rln-relay): add additional metrics

* fix(rln-relay): missing import

* fix(rln-relay): template should expand only when times is defined

* fix(rln-relay): follow prometheus naming style

* fix(rln-relay): explicitly assert that the root window size should be less than 10

* fix(rln-relay): outstanding issues with infinite labels, minor refactor

* fix(rln-relay): typo

* fix(rln-relay): screaming case to pascal case

* fix(rln-relay): typos

* fix(rln-relay): imports

* fix(rln-relay): remove dependence on times, make durations as gauges

* fix(rln-relay): import order
2022-09-30 18:13:42 +05:30
Jakub Sokołowski cc037cc749
ci: add diff link for previously deployed commit
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-28 17:48:31 +02:00
Jakub Sokołowski 3b7d6f4a1b
ci: use docker tag names closer to fleet names
To avoid naming confiusion.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-28 17:12:33 +02:00
Jakub Sokołowski c615636885
Makefile: allow overriding GIT_VERSION with env
This is necessary for Nix builds because the sandbox there
does not contain `.git` directory or `git` command.

Also the quotes are pointless.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-28 14:30:05 +02:00
Lorenzo Delgado 612023fab0
chore(store): collocate pagination and message store types 2022-09-28 13:36:05 +02:00
Lorenzo Delgado 5ee4a00765
refactor(store): decouple message store queue from pagination index type (#1187) 2022-09-27 21:10:11 +02:00
Jakub Sokołowski 207dc3a845
ci: build all when anything in ci folder changed
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-27 17:23:51 +02:00
Jakub Sokołowski c3a9c0aab8
ci: add Discord notification for successful builds
This way teams can track what deployments happen when.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-27 16:19:24 +02:00
Lorenzo Delgado d7d51dc4c1
fix(store): rename store timestamp sqlite column 2022-09-27 11:47:25 +02:00
Aaryamann Challani 37cd8b593b
feat(rln-relay): multiple acceptable roots (#1177)
* feat(rln-relay): multiple acceptable roots

* fix(rln-relay): make sure onchain handler uses correct proc

* fix(rln-relay): typo

* style(rln-relay): convert const to pascalcase

* chore(rln-relay): address pr review

* fix(rln-relay): add require to test

* fix(rln-relay): add proc desc

* fix(rln-relay): ensure that group id commitments were added correctly

* fix(rln-relay): potential mem leak

* style(rln-relay): comments

* fix(rln-relay): magic number ambiguity

* chore(rln-relay): comment

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

Co-authored-by: Sanaz Taheri Boshrooyeh <35961250+staheri14@users.noreply.github.com>
2022-09-27 10:10:04 +05:30
Lorenzo Delgado 1b4a9e5dfd
fix(store): move insert criteria logic to waku store protocol module 2022-09-26 11:50:15 +02:00
Sanaz Taheri Boshrooyeh 489ca1b01e
chore(rln-relay): specifies the address type for the eth-client-address config parameter (#1176) 2022-09-23 21:57:28 -07:00
Hanno Cornelius 6b86c4a22a
fix: fail to start switch with ext ip (#1181) 2022-09-23 15:27:15 +01:00
Hanno Cornelius ca1718c504
fix: signing key for wakuv2 DNS lists has changed (#1174) 2022-09-22 14:51:17 +02:00
Lorenzo Delgado d6de748395
chore(ci): skip test workflow execution for docs changes 2022-09-22 13:25:00 +02:00
Lorenzo Delgado aebda46a53
chore(store): move constants to retention policies modules 2022-09-22 11:17:38 +02:00
Lorenzo Delgado 5e3a75c56e
refactor(wakunode): remove deprecated non-async methods 2022-09-21 18:27:40 +02:00
Lorenzo Delgado 11832411a0
feat(store): execute retention policies periodically (#1155) 2022-09-21 11:32:59 +02:00
Hanno Cornelius efe82eade2
fix: no need to start protocols twice (#1162)
* fix: no need to start protocols twice

* fix: relay should still be explicitly started

Co-authored-by: Lorenzo Delgado <lorenzo@status.im>
2022-09-20 21:02:20 +01:00
Aaryamann Challani e8d77306c8
feat(rln-relay): validate the merkle root in the RateLimitProof (#1158)
* feat(rln-relay): validate the merkle root in the RateLimitProof

* style|chore: replace snake case usage, convert proofVerify to Result[bool,string]

* chore(rln-relay): remove unhandled usage of result returned

* fix(rln-relay): typos

* chore(rln-relay): validate root before proof verification

* fix(rln-relay): cmp

* fix(rln-relay): generic rln relay result

* style(rln-relay): readability

* fix(rln-relay): use patterns for testing, requires instead of checks

* fix(rln-relay): move root validation to message validation

* fix(rln-relay): typo

* fix(rln-relay): typo

* chore(rln-relay): address pr review
2022-09-20 18:38:05 +05:30
kaiserd 371016b04f
feat: waku peer exchange (RFC34) (#1152) 2022-09-20 13:03:34 +02:00
Lorenzo Delgado 4a9f6f3c5e
refactor(store): protocol code refactoring and api reorganization 2022-09-20 11:39:52 +02:00
Hanno Cornelius 269bb4944b
docs: add monitoring guide for prometheus and grafana (#1168)
* docs: add monitoring guide for prometheus and grafana

* docs: address comments
2022-09-20 10:09:36 +01:00
Hanno Cornelius 6420669c47
chore: update existing Grafana dashboards (#1166) 2022-09-20 10:01:54 +01:00
Hanno Cornelius 9be3d296be
fix: nodes in AddressBook are not necessarily connected (#1161) 2022-09-20 10:00:40 +01:00
Lorenzo Delgado f73477be6e
refactor(store): invert retention policies dependency on message store interface 2022-09-16 12:55:22 +02:00
Lorenzo Delgado 706c355b18
refactor(store): extend message store interface with store manipulation methods 2022-09-15 21:12:13 +02:00
Lorenzo Delgado 70fdd85066
refactor(store): don't cache the message count in sqlite message store 2022-09-15 18:13:30 +02:00
Lorenzo Delgado 87479a603b feat(store): run sqlite database vacuum at node start 2022-09-14 21:40:17 +02:00
Lorenzo Delgado 89069aa34f
fix(store): follow good practices in store insert and query metrics (#1150) 2022-09-14 13:40:11 +01:00
Lorenzo Delgado f7b4e8f57d refactor(wakunode): remove waku rln relay export from wakunode 2022-09-14 12:25:05 +02:00
Lorenzo Delgado ddbc57bc88 refactor(wakunode): remove waku message export from wakunode 2022-09-14 12:25:05 +02:00
Lorenzo Delgado c2c2d30cdf refactor(wakunode): remove libp2p builders export from wakunode 2022-09-14 12:25:05 +02:00
Lorenzo Delgado 2912a45433 refactor(wakunode): remove waku relay export from wakunode 2022-09-14 12:25:05 +02:00
Lorenzo Delgado fdd57c7bce refactor(wakunode): remove waku swap export from wakunode 2022-09-14 12:25:05 +02:00