Commit Graph

70 Commits

Author SHA1 Message Date
Ivan Folgueira Bande 2defbd2301
feat(cbindings): first commit - waku relay (#1632) (#1714)
* feat(cbindings): first commit - waku relay (#1632)

* test_app.nim: fix compilation issue. App.init(..) -> App.new(..)

* Simplifying library name (libwaku) and standardizing function names (waku_*)

* Proper wrapper of the waku_node API and creation of the libwaku.a

* Rolling back changes that are not needed

* Rolling back changes that are out of the scope of this task

* wakunode.nim: Removing unnecessary import

* Aplying PR suggestions

* Renaming 'waku.h' -> 'libwaku.h'

* Use of 'isNil' instead of '== nil'

* libwaku.nim: explicitly setting waku_poll() as gcsafe
2023-05-12 18:08:41 +02:00
Lorenzo Delgado 209579b0a7
chore: move networkmonitor and wakucanary to apps directory 2023-04-27 16:25:31 +02:00
Ivan Folgueira Bande 9b9172ab82
feat(mem-analysis): Adding Dockerfile_with_heaptrack (#1681)
* Adding Dockerfile_with_heaptrack

* build: merge heaptrack dockerfile with production dockerfile (#1682)

* Avoid blindly copy /usr/lib/ and install only the needed libraries

* Adding heaptracker options in the Makefile

* Dockerfile simplification. (apk add libunwind)

* Dockerfile, Makefile: ++heaptrack params to nim build & 'heaptrack_support' in Nim compiler

* Dockerfile, Makefile: more convenient name for 'NIM_COMMIT' Docker arg

* Making 'NIM_COMMIT' more explicit

---------

Co-authored-by: Lorenzo Delgado <lorenzo@status.im>
2023-04-25 17:54:28 +02:00
Lorenzo Delgado c8081c8859
refactor(wakunode2): split setup logic into app module 2023-04-25 15:34:57 +02:00
Lorenzo Delgado 91baa232fb
build: decouple test2 target from testcommon 2023-04-19 17:08:28 +02:00
Vaclav Pavlin d5979e94da
feat: Add tools maket target and build tools in CI (#1668) 2023-04-12 10:22:45 +02:00
Lorenzo Delgado 048ca45dc9
build: added testcommon target to makefile 2023-03-31 15:24:04 +02:00
Aaryamann Challani 179be681c4
feat(rln-relay): fetch release from zerokit ci, or build (#1603)
* feat(rln-relay): fetch release from zerokit ci, or build

* fix(build_rln): shellcheck, move to scripts dir
2023-03-21 13:07:10 +05:30
Jakub Sokołowski 24d6279177
docker: add dash between target and version (#1613)
Instead of ugly:
```
statusteam/nim-waku:wakunode2v0.16.0-1-gb495dd
```
Create better looking:
```
statusteam/nim-waku:wakunode2-v0.16.0-1-gb495dd
```
Annoys me every time I use it.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2023-03-17 15:04:26 +01:00
Hanno Cornelius 11c19a3751
chore: update submodules (#1601)
* chore: update submodules

* fix: fix peer store test

* fix: legacy build requires Nim binary deps
2023-03-13 16:33:24 +02:00
Aaryamann Challani 6584b58593
feat(rln-relay): use precompiled resources w/ rln (#1578)
* feat(rln-relay): use precompiled resources w/ rln

* chore: remove resource cp stage from Dockerfile

* chore(makefile): remove DOCKER_IMAGE_STAGE from makefile

* chore: bump submodule, rev branch
2023-03-13 12:03:21 +05:30
Aaryamann Challani 2915b19dbd
fix(ci): remove nim doc action temporarily (#1456)
* fix(ci): changes to nim doc input

* fix(ci): remove docs ci
2022-12-12 16:52:46 +05:30
Lorenzo Delgado ab7ee30e24
ci: don't build waku v2 simulation binaries 2022-12-07 15:09:59 +01:00
G 002316cceb
feat(rln): use zerokit as static lib (#1385) 2022-12-06 00:33:03 +01:00
Lorenzo Delgado 0f91f97a9a
ci(jenkins): split dockerfile into production and experimental stages 2022-12-01 12:45:06 +01:00
Lorenzo Delgado 3a4c4c660b
chore(build): simplify project makefile and update dockerfile 2022-11-30 21:02:39 +01:00
G 696bd6bd6b
fix(makefile): fix NIM_PARAMS flag update (#1431) 2022-11-28 20:57:46 +01:00
Aaryamann Challani 63fe1351f5
feat(ci): run experimental features in diff ci (#1410)
* feat(ci): run experimental features in diff ci

* chore(ci): add EXPERIMENTAL flag

* chore(makefile): make compilation cleaner

* fix(rln-relay): remove onchain_rln flag

* fix(makefile): remove experimental_rln flag

Co-authored-by: Lorenzo Delgado <lorenzo@status.im>
2022-11-25 16:03:19 +05:30
Alvaro Revuelta 7917e05d9d
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 63137f3e2a
refactor(rln): remove kilic lib (#1365)
* refactor(rln): remove kilic lib

* chore(rln): address reviewerS
2022-11-09 19:45:04 +01:00
G 17d71faf67
chore(rln): update ganache (#1347)
* chore: build rln dependecies only when building v2

* chore(rln): deprecate ganache-cli; move installation from makefile to test + uninstall; gracefully terminate ganache

* chore: add package.json to gitignore

* fix(rln): move ganache package to build folder and remove package once uninstalled

* refactor(rln): (un)install/run/stop ganache with separate procs

Co-authored-by: Lorenzo Delgado <lorenzo@status.im>
Co-authored-by: Aaryamann Challani <43716372+rymnc@users.noreply.github.com>
2022-11-08 14:28:11 +01:00
Lorenzo Delgado 2c2ce20c4e
chore: build rln dependecies only when building v2 2022-11-07 09:14:21 +01:00
Alvaro Revuelta df6d215424
fix: log-level being ignored (#1272) 2022-10-18 18:03:43 -05:00
Alvaro Revuelta a36de4036b
chore(wakucanary): add canary tool (#1205)
* chore(wakucanary): create folder structure

* chore(wakucanary): spawn waku node

* chore(wakucanary): get supported protocols from lp2p

* chore(wakucanary): add timeout + refactor

* chore(wakucanary): fix comments v1

* chore(wakucanary): update readme

* chore(wakucanary): static->relay, abbr, logLevel, filter issue, colon

* chore(wakucanary): fix typos
2022-10-11 05:58: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
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
G 8a14b5b243
Zerokit RLN integration in nwaku: alternative approach with inline compilation flag (#1060)
* refactor(rln): add inline compilation flags for RLN zerokit

* update submodule

update submodule

* fix(rln): fix wrong merge conflict resolution

* fix(rln): align hardcoded values in light of vacp2p/zerokit/issues/28
2022-08-05 22:58:19 +02:00
Daniel Kaiser 42f48a6892
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 2f13aff663
feat(jsonrpc): add call returning git version (#919) 2022-03-30 17:17:21 +02:00
Daniel Kaiser 0131d1437e
chore(rln): add cleanrln make rule + docu (#910)
* chore(rln): add cleanrln to make rule

- add `cargo clean` to  `make clean`
- add new `cleanrln` make rule that `cargo clean`s the rln vendor repo

* docs(rln): add trouble shooting section

- list `make cleanrln` as a solution to force rebuilding the rln crate
2022-03-25 16:08:13 +01:00
Jakub Sokołowski 0d2a8b6ddf ci: rename bridge to wakubridge
This makes the current `Dockerfile` usable with `wakubridge`.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-03-10 10:06:53 +01:00
Daniel Kaiser dbe76d29ce
discv5 stage1 beta test (#862)
* update vendor/nim-eth submodule

point to the selectable `protocol-id` feature branch

* use d5waku as protocol-id

Use compiletime flag to change the discv5 protocol-id to "d5waku" allowing
nim-waku to span a separate discv5 network

* waku discv5 first beta stage

  - start discv5 during node start
  - added config options for discv5

* fix: pass to tcp port also when specifying ext ip

* bump nim-eth

Co-authored-by: ksr <kaiserd@users.noreply.github.com>
2022-03-01 15:11:56 +01:00
Sanaz Taheri Boshrooyeh a5f8b90c23
Enables RLN compilation under CI env var (#786)
* compiles RLN if CI is defined

* minor ineffective change

* minor

* removes excess space

* resolves namespace conflicts

* moves pubsub import under compiler flag

* disables rln on-chain tests

* brings back the on-chain tests and fixes a name mismatch

* adds a debug log message

* minor formating

* kills ganache-cli procces on windows

* wip: adds a line to kill ganache-cli on windows

* disables rln-relay tests that depend on ganache-cli

* disables ganache-cli installation

* introduces onchain rln flag

* fixes a flaky test

* enables onchain test in non-windows CIs

* moves variables around

it seems detected_os is undefined, hence the compiler flag onchain_rln, which is conditioned to the os, does not get added

* limits onchain rln to macOS
2022-01-28 13:57:17 -08:00
Hanno Cornelius cf4a1e1c70
Update submodules with bugfixes (#826) 2022-01-24 12:48:06 +01:00
oskarth 108599a1ed
Whisper tests (#678)
* Remove leftover comment

* Import Whisper tests

* Update copyright to 2018-2021

* Fix whisper import paths

* Whisper tests and Makefile target
2021-07-19 17:54:36 +08:00
Jakub Sokołowski 8f7a800b41 ci: improve GitHub actions build times
Splitting builds and tests into more stages for clarity.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2021-06-29 17:36:52 +02:00
Kim De Mey e2ea94dc71
Remove the need for pcre (#623) 2021-06-15 09:51:09 +02:00
Oskar Thorén be717ce5f3
Improve libwaku and C wrappers (#613)
- Move stuff to Makefile
- Move libwaku to root
- Make examples compile for C and Go
- Update README
2021-06-13 20:50:10 +08:00
Sanaz Taheri Boshrooyeh 2fe53c334c
Make rln optional (dependencies and compilation) (#602)
* makes rlnlib target optional

* makes the rln-related targets conditioned to the RLN command line flag

* adds the rln compiler flag condition

* adds the rln compiler flag condition to the rln module

* wakunode2 rln conditional compilation

* updates wakunode2 test

* updates waku rln relay tests

* removing the rln test from the default imports of the v2 tests

* imports rln module conditionally

* removes the rln flag condition from the rln module

* separates rln data types from its procs

* adds the import statement

* brings back the contract def to the rln utils

* adds rln module import to the rln unit tests

* clean up and reorganization

* adds a todo

* minor edits on a comment
2021-06-08 11:56:32 -07:00
Hanno Cornelius c5e7580149
Add chat2-matterbridge (#532)
* Add chat2-matterbridge

* Update waku/common/README.md

Co-authored-by: Oskar Thorén <ot@oskarthoren.com>

Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
2021-05-06 15:43:43 +02:00
Sanaz Taheri Boshrooyeh 168f8d1e1d
Adds rln as a submodule (#402)
* adds rln as submodule

* removes the duplicate rln submodule

* adds rln

* Delete waku.nims
2021-03-02 12:57:48 -08:00
Sanaz Taheri Boshrooyeh e152ed349f
Integrate registration into wakunode and Enable signed registration transactions (#385)
* cleans up imported modules

* adds uploadContract proc and consolidates rln-relay test files

* deletes test_rln_relay_wrappers

* deletes wrappers tests

* adds waku_rln_relay_utils

* adds the unit test for the membership key generation

* adds the key generation procedure

* adds unit test of key gen proc

* adds RLNRelayPeer data type

* adds the register proc

* adds the register proc unit test

* minor

* edits registration test

* adds comments to the registration unit test and relocates some constants

* defines constants variables for membership contract inputs and adds todos

* fixes a typo

* enables signed transaction

* adds registration into waku rln relay

* adds a TODO

* adds debug notes

* WIP add registration test

* integrates rln relay inputs into the mountRelay proc

* minor

* adds mountRelay

* renames RlnRelayPeer to WakuRlnRelay

* adds debugging notes

* changes the test title

* adds rln to gitignore

* cleans up tests, fixes a bug

* exposes mountRlnrelay, adds some comments

* fixes a bug

* deletes async pragma from mountRelay

* exposes the wakuRlnRelay field

* adds bash command to delete any existing rln directory before cloning the rln repo

* removes -v verbose flag from rln removal

* replaces await with WaitFor

* embed mountRlnRelay inside mountRelay
2021-02-22 09:40:02 -08:00
Sanaz Taheri Boshrooyeh f64c701821
rlnlib dependency (#376)
* adds rlnlib dependency

* clones the full-node branch of rln repository

* moves rlnlib dependency to the deps target

* changes rlnlib path

* adds test_rln_relay_wrappers to the v2 tests

* loads rlnlib with different extensions based on the OS

* deletes unnecessary imports

* changes rlnlib extension to .exe for windows

* minor

* list files in rln/target/debug

* edits rln lib name for windows

* removes unnecessary commands

* edits some comments

* fetches specific commit of rln library
2021-02-12 12:12:10 -08:00
Sanaz Taheri Boshrooyeh 4f9a838668
Rln-relay/contract dependencies (#349)
* adds the script to detect os

* comments out the os detection code

* detects os

* adds ganache installation and termination

* updates the contract test

* adds rln-relay test to the waku v2 tests

* updates test_web3 comment
2021-02-04 11:30:00 -08:00
Dean Eigenmann 125530c46b
Update Makefile 2020-12-21 12:50:15 +01:00
Dean Eigenmann f15054b1e0
fix/docs (#328) 2020-12-21 12:32:02 +01:00
Kim De Mey dcbefbf4d6
Wakuv1v2 process (#238)
* Add start of wakubridge with only waku v1 node for now

* Add waku v2 node to wakubridge

* Add bridge target to makefile

* Keep waku v1 PoW configurable

* Fix for latest WakuNode API

* Fix Makefile target all

* Rename to config_bridge and at brief docs on bridge

Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
2020-10-21 17:54:29 +08:00
Kim De Mey daeb736335
Cleanup warnings in v1 and split test target in Makefile (#211)
* Cleanup warnings in v1 and split test target in Makefile

* Remove protocol2 target and get chat2 build in CI
2020-10-08 11:10:45 +02:00
Oskar Thorén a6e94bf171
Node Info API call. (#202)
RPC node info

fix Makefile error

fix rpc query error

add rpc_node_info to scripts target

hm

node info -> info

consistent query node ref

Add info to node api

update node api docs

update node api doc for consistency and accuracy

minor
2020-10-06 11:33:28 +08:00
Dean Eigenmann 065016393a
fix/makefile (#194)
* rename make targets

* rename

* fixes

* fix

* fix

* added example 2

* fix

* fix

* silly me
2020-10-03 13:26:49 +08:00