Commit Graph

116 Commits

Author SHA1 Message Date
Aaryamann Challani 07833ce313
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
Lorenzo Delgado 47fe697b47
chore: upgrade nim-stew to latest version 2022-11-10 15:36:56 +01:00
Lorenzo Delgado 0e1dae5956
fix: replace nim's std/nre with nim-regex library 2022-11-02 15:55:09 +01:00
Hanno Cornelius 16c85db43c
chore: update submodules and bump Nim to 1.6.6 (#1307)
* chore: update submodules

* fix: libp2p now provides callback to update peer addrs

* fix: breaking change in EthereumNode constructor

* fix: contentType type has changed (again)

* fix: explicit future type

* fix: nim 1.6.6 error handling requirements

* fix: missed a spot - peer info addrs in sim2

* fix: help compiler a bit here
2022-10-28 12:51:46 +03:00
G db9ccbe52a
chore(rln): update zerokit module (#1254) 2022-10-10 14:14:27 +02:00
G 3e1e7cc74f
feat(RLN): Add verify against multiple roots (#1250)
* update zerokit submodule

* fix(rln): allow Buffer creation on empty arrays

* feat(rln): use verify_with_root

* fix(rln): update test to work with verify_with_root
2022-10-07 21:24:54 +02:00
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
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
s1fr0 745364a12c
update submodule 2022-10-03 18:21:03 +02:00
Aaryamann Challani 4745c7872c
fix(ci): macos builds (#1145)
* chore: revert json rpc

* chore(ci): cleanup

* chore(ci): remove windows from build matrix

* Revert "chore(ci): remove windows from build matrix"

This reverts commit 1f1d33b5f4.
2022-09-13 15:13:56 +05:30
Hanno Cornelius 7f23bdf29f
chore: update nwaku submodules (#1123)
* chore: update submodules

* fix: SIGTERM ambiguity

* fix: ambiguous RNGs

* fix: ContentType is no longer a string

* fix: more fixes related to ambiguous RNGs

* fix: start all protocols

* chore: also update nim-eth

* chore: important new fixes in nim-libp2p

* fix: more changes related to RNG. Some reversion to reflect nim-eth update

* fix: breaking changes in nim-eth submodule

* fix: start protocols in tests

* fix: chat2bridge protocols async mounting

* fix: v1 test compilation

* fix: rln test compilation

* fix: remove confusing keys qualifier for the same HmacDrbgContext
2022-09-07 16:31:27 +01:00
kdeme d16073695b fix(waku-v1): bump nim-secp256k1 for signature recovery id check 2022-08-26 22:38:55 +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
Hanno Cornelius c0f5063e07
fix: update dnsclient submodule (#1039) 2022-07-21 12:55:37 +02:00
Jacek Sieka c9076c6550
chore: sqlite: bump (#1012) 2022-06-22 16:33:56 +02:00
Lorenzo Delgado 76e9a98841 feat(rest): Add HTTP REST API (#727). Debug API POC 2022-06-14 18:20:15 +02:00
Hanno Cornelius 16dd267bd9
chore: update submodules (#997) 2022-06-10 14:35:01 +02:00
Hanno Cornelius d5a04a2719
chore: update submodules (#987) 2022-06-01 11:49:41 +02:00
Hanno Cornelius 984f3179a7
chore: update submodules (#974) 2022-05-20 12:57:19 +02:00
Daniel Kaiser 51cbc39d49
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
Hanno Cornelius 8ac8e758e0
chore: update submodules (#940) 2022-04-12 09:35:19 +02:00
Hanno Cornelius 450e0494f1
fix(store): timestamp validity checks (#876) 2022-04-11 14:58:18 +02:00
Hanno Cornelius 06f20af7d4
chore: update submodules (#905) 2022-03-23 15:20:07 +02:00
Daniel Kaiser 4ee7c60d16
use discv5 feature branch in status-im/nim-eth (#884) 2022-03-11 15:51:14 +01:00
Hanno Cornelius 06fbb875c8
Update submodules (#873)
* Update submodules

* Fix MsgIDProvider
2022-03-02 13:24:48 +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
Tanguy b42e5d1261
Bump chronos & libp2p (#836) 2022-02-01 11:33:00 +01:00
Hanno Cornelius cf4a1e1c70
Update submodules with bugfixes (#826) 2022-01-24 12:48:06 +01:00
Hanno Cornelius 3e9ca25abc
Update submodules (#814) 2022-01-14 10:25:01 +01:00
Hanno Cornelius 6d81f1ee55
Update submodules (#761) 2021-11-04 15:46:38 +01:00
Sanaz Taheri Boshrooyeh dbbc0f750b
RLN-Relay: Adds fix to the hash, proofGen and proofVerify procs (to support arbitrary messages) (#753)
* wip: updates the hash interface

* updates hash unittests

* exposes appendLength

* updates proof gen interface and the unittests

* enables test, fixes proofGen and verify utils and unittest, beautifies the code

* removes int size from mem index type

* enables all the rln tests

* adds documentation of two private procs

* documentation for the appendLength

* minor clean up

* adds clarificaltion on the endianness of input length

* Delete .DS_Store
2021-10-26 14:42:24 -07:00
rshiv 2cb0b5ad98
Upgrade all submodules (#752)
Signed-off-by: rshiv <reeshav96@gmail.com>
2021-10-25 11:26:53 +08:00
Hanno Cornelius 50189a21a9
Update submodules: differentiate between local and remote `PeerInfo` (#730)
* Update submodules

* Remove PeerInfo where necessary
2021-10-06 14:29:08 +02:00
Hanno Cornelius 0db4107ae2
Integrate DNS resolution (#709)
* Update submodule

* Add DNS Client library

* Fork and update dnsclient submodule

* Integrate DNS resolution
2021-08-25 13:57:35 +02:00
Hanno Cornelius 36b9176569
Waku v2 Node Discovery via DNS: Integration (#690) 2021-08-12 10:51:38 +02:00
Hanno Cornelius 7be949ed67
Update submodules (#682) 2021-07-22 10:43:41 +02:00
Kim De Mey 4b9b654655
Add top level push raises Defect to protocol v1 (#670) 2021-07-16 23:13:04 +02:00
Hanno Cornelius a044c6a82c
Add ping protocol support and use for keep-alive (#621)
* Add ping protocol support and use for keep-alive

* Separate WakuPeerStore from libp2p PeerStore

* Revert silly test timeout
2021-06-15 10:55:47 +02:00
Hanno Cornelius 9e0b73bd18
Update submodules (#594) 2021-06-09 16:37:08 +02:00
Kim De Mey d1c1a0ca13
Bump chronos and fix exception tracking issues (#436)
* Bump nim-chronos and fix exception tracking issues

* Bump other Nim submodules to latest

* Fix repeatMessage properly through proc type fix in nim-eth

Also add and use unittest2 through testutils to avoid extra
annotations.
2021-03-26 10:52:04 +01:00
Sanaz Taheri Boshrooyeh 29d69b98cb
Adds Merkle tree Nim bindings (#430)
* entirely replaces the prior rln header, the var variables are changed to ptr

* updates the unittest of key_gen

* adds test for update_next_member

* updates membershipKeyGen internals and prototype

* adds createRLNInstance

* adds helpers methods

* adds generateKeyPairBuffer

* cleans up the test and adds comments

* renames  merkleTreeDepth to d

* fixes a buf re decoding the keys into sk and pk

* adds getSKPK proc

* unifies key gen helper procs, adds todos

* comments out the createRLNInstance

* refactors the code based on the updated createRLNInstance interface

* adds the test for the verify proc

* fixes a variable name and replaces random key gen with the real key gen

* tests a simple hash

* adds get_root method

* fixes the data pointer issue and adds the proof breakdown

* adds rln

* adds unit tests for Merkle tree

* deletes unnecessary comments

* updates createRLNInstance to return bool indicating the success of call

* updates create RLN Instance interface

* minor

* clean up

* removes unused imports

* adds documentation

* adds comments

* adds byteutils

* removes extra spaces

* updates rln submodule

* deletes genSKPK

* fixes a bug in membershipKeyGen

* unsafeAddr to addr

* Update waku/v2/protocol/waku_rln_relay/rln.nim

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

* clean up

Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
2021-03-24 10:26:56 -07:00
Hanno Cornelius 714bbebbc1
Update submodules (#424)
Update submodules and fix issues
2021-03-17 10:52:27 +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
Hanno Cornelius 080d82dd9a
Added basic peer manager (#364)
* Added basic peer manager
2021-02-04 12:32:58 +02:00
Hanno Cornelius 41fe4395a8
Bump submodules (#363)
* Bump submodules

* GossipSub refactor: Rem async from sub/unsub
2021-02-02 13:33:59 +02:00
Sanaz Taheri Boshrooyeh a1ba0e5176
Adds web3 (#316)
* adds web3

* adds comment

* Revert "adds comment"

This reverts commit dbe59e7e49.

* adds comments
2020-12-04 12:41:28 +08:00
Hanno Cornelius 3545a7e1ab
Updated submodules (#303) 2020-11-26 10:29:10 +08:00
Hanno Cornelius e68fe50bc1
Updated submodules (#279) 2020-11-18 13:58:46 +02:00
Dean Eigenmann 1568fa6e6f
feature/persistence-simple (#268)
* implements

* add

* fix

* eol

* rebase

* added tests

* minor cleanup

* errors

* Update store.md

* fix
2020-11-16 09:38:52 +01:00
Oskar Thorén 7920fab5fd
Bump submodules (#220) 2020-10-13 18:24:01 +08:00
Dean Eigenmann 1157b6e7c5
bump/dependencies-yet-again (#180) 2020-09-22 15:11:42 +02:00
Oskar Thorén a8dbf8a7b6
Bump submodules (#157)
* Upgrade all submodules

* Use stock standard_setup and remove our version

Switch no longer relies on Pubsub argument

* Fix peerId

* Add reference to WakuRelay in WakuNode

* Use WakuRelay ref directly instead of via switch

* Tweak standard switch sig

* Fix start_network peerid

* Import nim-libp2p utils test

* Use WakuRelay in test utils

* Fix utils imports

* Tweak

* Fix trigger self test

* Disable broken filter test

* Fix and amend logscope topics

* Make subscribe calls async to use await

* Add debug stuff to nimble file

* Await for subscribe content

* Sleeping in tests

* Local checkout fixes

* XXX: Try to use .PubSub on WakuRelay

* Revert "XXX: Try to use .PubSub on WakuRelay"

This reverts commit 3a3139e4cf.

* Only using gossip seems to work

Subscribe for floodsub broken

* Fix await in examples

* Get rid of double publish, still need sleep
2020-09-16 12:23:10 +08:00
Oskar Thorén bede5a9358
Node: Separate run into create Wakunode and start (#59) 2020-07-24 09:39:58 +08:00
Dean Eigenmann d37928bb28
bump/libp2p (#62) 2020-07-21 14:19:31 +02:00
Kim De Mey 95438b9389
Bump vendor, fix builds and add v2 to CI (#45)
* Fix v2 builds, break v1 builds

* Fix build after nim-eth bump

* Add waku v2 build and tests to CI

* Fix parallel build issues by renaming
2020-07-13 12:08:03 +02:00
Kim De Mey 181889dcd8
Cleanup metrics + accounting flag + bump deps (#37)
* Cleaner metrics logging + accounting behind flag + some cleanup

* Bump vendor
2020-07-02 23:52:54 +02:00
Ștefan Talpalaru f38bdf2900
bump vendor/nimbus-build-system (#36) 2020-07-01 09:43:23 +02:00
Oskar Thorén a8a1e39052
Upgrade submodules (#30)
* Update submodules

* Fix secureManager signature as part of libp2p upgrade
2020-06-15 11:05:37 +08:00
Kim De Mey 37d8720d52
Use metrics with labels, fix #24 (#27) 2020-06-09 13:44:39 +02:00
Oskar Thoren 1400575067
Update nim-libp2p and other submodules
Need to use latest libp2p for GossipSub bug fix, safer to update all

Use MultiAddr.tryGet() per resultification upstream
2020-06-01 11:40:55 +08:00
Oskar Thorén 610305f27b
Update all vendor (#23)
* Upgrade all vendors

* Fix subscribeTopic signature
2020-05-29 09:41:13 +02:00
Oskar Thorén b5006e482e
Upgrade vendor nim-libp2p and related packages (#13)
* Upgrade nim-libp2p to latest

* Upgrade nim-chronos to latest (needed for nim-libp2p)

* Fix conn.readLp varint

* Fix standard switch API change

* WIP: Crypto resultification on v2

* Fix Result usage for SkPrivateKey

* Result fixes

Co-authored-by: kdeme <kim.demey@gmail.com>
2020-05-26 11:55:53 +08:00
Kim De Mey a254ec03da
Bump nim-eth and move tests under v1 subfolder (#3) 2020-05-08 09:36:28 +02:00
kdeme 87e4e5282a Move Nimbus Waku RPC code + add converted whisper rpc test
- Move Waku RPC code from Nimbus + necessary code around it
- Add Waku RPC test which is a copy of the Whisper RPC test
- Some renaming
- Remove nimbus submodule
2020-05-01 11:29:16 +02:00
kdeme c4ac6de5ae Set up repo to make use of nimbus-build-system 2020-05-01 11:29:16 +02:00
Oskar Thoren 130f99f34a
Add basic submodules 2020-04-28 14:23:39 +08:00