Lorenzo Delgado
2f390ce884
refactor(jsonrpc): deep code and tests reorganization
2023-02-10 10:43:16 +01:00
Alvaro Revuelta
9c3e5f5bc5
refactor(px): refactor peer exchange + tests ( #1527 )
2023-02-09 16:59:29 +01:00
G
cdc09aeeb4
feat(credentials): store and processing generic app credentials ( #1466 )
...
* feat(credentials): store and processing generic app credentials
* feat(credentials): separate module; minimal tests
* more work
* feat(credentials): check presence of idCredential in keystore and add only new membership groups
* feat(credential): refactor, new data structure, dynamic add credential, filter
* feat(credential): add filter, get credentials
* feat(credential): encode/decode utility
* feat(credential): sort groups, test credential retrieval/group merging
* fix(credential): remove unnecessary order in sort
* fix(credentials): fix vendor commits
* fix(credential/rln): embed credential module in rln relay
* feat(credentials/rln): use credentials API in rln-relay to store/read credentials
* refactor(credentials): implement hasKeys for JsonNode
* fix(credentials): restore connectToNodes call
* refactor(credentials): remove unnecessary imports
* refactor(credentials): add Res suffix to results
* refactor(credential): moved save json to separate proc; added comments
* feat(credentials): use appInfo
* refactor(keystore): refactor code in a more structured module; address reviewers
* fix(keystore): fix indentation
2023-02-08 16:26:23 +01:00
Lorenzo Delgado
1a9f633311
refactor(message): split waku message module into rpc and codec
2023-02-08 16:16:21 +01:00
Lorenzo Delgado
00f4ce4cbc
refactor(relay): improve wakuy relay api
2023-02-08 16:09:59 +01:00
Alvaro Revuelta
55bac8dedf
feat: add WakuMessage validation in gossipsub ( #1537 )
2023-02-07 17:42:17 +01:00
Aaryamann Challani
9ddf0fe1e2
feat(discv5): advertise custom multiaddresses ( #1512 )
...
* feat(discv5): allow custom multiaddr advertisement in discv5
feat(discv5): allow custom multiaddr advertisement in discv5
feat(discv5): move discv5 setup from wakunode2 to waku_node
fix(waku_node): def param
test(discv5): test for ext multiaddr
fix(discv5): address comments
fix(discv5): address comments
fix(wakunode2): discoveryconfig in var before init
fix(discv5): pass multiaddr to discv5 directly
fix(discv5): make multiaddrs optional
fix(test): discv5 init
fix(discv5): split discv5 mounting from waku_node
chore(discv5): s/WakuAddressMetadata/WakuNodeAddrMeta/g
* fix(waku_node): 1.25 max conns
* fix(discv5): s/WakuNodeAddrMeta/NetConfig/g
* fix(discv5): address reviews
* fix(discv5): smaller try-catches
* fix(discv5): missing arg
* fix: compile error
2023-02-07 18:36:50 +05:30
Lorenzo Delgado
7f2ea1caeb
refactor(utils): moved noise/compat payload encryption code to utils
2023-02-07 10:45:25 +01:00
Aaryamann Challani
c9bc774895
fix(rng): create rng only within isMainModule blocks ( #1523 )
...
* fix(rng): create rng only within isMainModule blocks
* fix(rng): wakucanary rng
* fix(rng): address comments
2023-02-06 17:23:05 +05:30
Lorenzo Delgado
4ea6039323
chore(discv5): waku discv5 module code cleanup
2023-02-06 11:36:37 +01:00
Lorenzo Delgado
8ba36e2dfa
chore(peer_manager): added peer_manager barrel module
2023-02-06 10:03:30 +01:00
Lorenzo Delgado
e56dbd06d8
chore(v1): fix deprecation warnings
2023-02-06 10:00:57 +01:00
Hanno Cornelius
528cc5ad34
chore: add better e2 trace logging for relay ( #1526 )
2023-02-03 10:06:21 +02:00
Alvaro Revuelta
94459b4886
fix: add safe default values for peer-store-capacity ( #1525 )
2023-01-31 17:26:22 +01:00
Alvaro Revuelta
da7592bcc7
feat(networking): prune peers from peerstore exceeding capacity ( #1513 )
...
* feat(networking): prune peers from peerstore
* chore: add comments
* feat(networking): fix comments
* Add tests
2023-01-31 13:24:49 +01:00
Lorenzo Delgado
77c64043f9
fix(store): set store rpc codec pagesize type to uint64
2023-01-31 11:48:44 +01:00
Alvaro Revuelta
93a07babf2
fix(rpc): fix out of bound when empty multiadd ( #1507 )
2023-01-26 12:05:25 +01:00
Aaryamann Challani
d09ec815ce
feat(wakunode): advertise custom multiaddresses ( #1509 )
...
* feat(wakunode2): ability to advertise custom multiaddresses
* test(wakunode): test the feature
* fix(wakunode): remove rln diff
* revert(rln-relay): change that creeped into the diff
* fix(wakunode): move extMultiaddrs closer to nat
* fix(waku_node): idiomatic default arg
* fix(config): shortened validation
* fix(wakunode): discoverable via discv5 and dnsdisc
2023-01-26 15:48:30 +05:30
Alvaro Revuelta
ea4703e9a2
feat(networking): add service slots to peer manager ( #1473 )
2023-01-26 10:20:20 +01:00
Lorenzo Delgado
95d31b3ed3
fix(archive): reverse the db query results in the waku archive front-end
2023-01-26 10:19:58 +01:00
Lorenzo Delgado
8c7a931f65
refactor(archive): sqlite query optimization. replace or-ed equal conditions list with in-list
2023-01-25 16:52:13 +01:00
Lorenzo Delgado
b84c54bbcb
refactor(relay): simplify relay publish jsonrpc api
2023-01-25 14:35:38 +01:00
Alvaro Revuelta
028efc8547
feat(networking): add backoff period after failed dial ( #1462 )
...
* feat(networking): add exponential backoff when dialing relay peers
* feat(networking): fix tests
* revert withTimeout
* feat(networking): refactor tests
* feat(networking): improve logs + ping using switch
* feat(networking): fix backoff bug + fix tests
* feat(networking): fix comments
2023-01-23 21:24:46 +01:00
Aaryamann Challani
9a12872465
fix(rln-relay): use new credentials for compatibility ( #1497 )
2023-01-19 14:20:08 +05:30
Alvaro Revuelta
fd1ec4a74a
feat(networking): add relay connectivity loop ( #1482 )
...
* feat(networking): add relay connectivity loop
* Add unit tests
* feat(networking): fix comments
* Fix lnsd comments
2023-01-18 15:17:56 +01:00
Aaryamann Challani
605cf1c38c
feat(rln-relay): abstract group management into its own api ( #1465 )
...
* feat(rln-relay): group manager api
* fix(rln-relay): static gm, method async works now
* fix(rln-relay): cb naming, ensure merkle root changed
* chore(rln-relay): static group manager fully tested
* chore(rln-relay): split ffi into its own module, split conversion_utils
* chore(rln-relay): refactor onchain group
* fix(rln-relay): throw error if privatekey is malformed
* chore(rln-relay): convert methods to procs, remove warnings, formatting
* chore(rln-relay): remove comment
* style(rln-relay): fmt test
* feat(rln-relay): complete onchain group manager. pending tests
* fix(rln-relay): onchain implementation works now
* fix(rln-relay): reg index
* fix(rln): imports
* fix(rln-relay): revert method to proc conv
* fix(rln-relay): s/ffi/rln
* fix(rln-relay): remove rln/ from gitignore
* fix(rln-relay): s/ffi/rln
2023-01-16 18:26:18 +05:30
Lorenzo Delgado
3ee87d1848
feat(archive): respond with error on more than 10 content topics query
2023-01-11 12:19:59 +01:00
Alvaro Revuelta
982cd28265
feat(networking): use autonatservice and log if node is reachable ( #1472 )
2023-01-11 10:57:49 +01:00
Alvaro Revuelta
53bf00de69
refactor: remove unnecessary peermanager dependency ( #1474 )
2023-01-11 09:10:46 +01:00
Alvaro Revuelta
4eb9375b62
refactor(networking): wait for all futures together in connectToNodes ( #1471 )
...
* refactor(networking): wait for all futures together in connectToNodes
* refactor(networking): await fix style
2023-01-09 21:45:50 +01:00
Alvaro Revuelta
333ce0a2e1
fix(rpc): return error if peer cant be connected ( #1476 )
2023-01-09 14:15:03 +01:00
Alvaro Revuelta
5042b06215
chore(p2p): unify dialpeer functions ( #1458 )
2022-12-14 16:04:11 +01:00
G
226b44c86d
refactor(rln): use zerokit extended_key_gen in place of key_gen ( #1459 )
...
* chore(rln-relay): refactor mounting procedure
* fix(rln-relay): tests
* fix(rln-relay|chat2): update mounting proc in chat2, fix args to mountRlnRelay
* refactor(rln): use zerokit extended_key_gen in place of key_gen
refactor(rln): rename membershipKeyPair to identityCredential
update zerokit submodule
refactor(rln): use extended_key_gen; rebrand keypairs to idCredentials
refactor(rln): rename mountRlnRelay memKeyPair argument
* fix(rln): fix wrong field
* fix(rln): add () to toHex
Co-authored-by: Aaryamann Challani <43716372+rymnc@users.noreply.github.com>
Co-authored-by: rymnc <43716372+rymnc@users.noreply.github.com>
2022-12-14 12:28:09 +01:00
Aaryamann Challani
33e9d8b9b2
chore(rln-relay): refactor mounting procedure ( #1457 )
...
* chore(rln-relay): refactor mounting procedure
* fix(rln-relay): tests
* fix(rln-relay|chat2): update mounting proc in chat2, fix args to mountRlnRelay
* fix(rln-relay): remove stale todo
2022-12-13 14:56:24 +05:30
Lorenzo Delgado
e4c10ed661
feat(wakunode2): support log format format selection
2022-12-07 12:30:32 +01:00
G
002316cceb
feat(rln): use zerokit as static lib ( #1385 )
2022-12-06 00:33:03 +01:00
Aaryamann Challani
2e0db18cde
chore(rln-relay): re-enable root validation ( #1445 )
...
* fix(rln-relay): enable root validation
* fix(rln-relay): unused import
2022-12-05 23:52:54 +05:30
Lorenzo Delgado
3a4c4c660b
chore(build): simplify project makefile and update dockerfile
2022-11-30 21:02:39 +01:00
Tanguy
e487c7d79e
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
8cce06b8a2
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
bcab36902d
fix(noise): T_ss is ss not se ( #1432 )
2022-11-29 06:22:18 +01:00
Hanno Cornelius
8d69846aa4
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
3474bef8e3
fix(archive): restore query and insert metrics duration precision
2022-11-25 23:20:24 +01:00
Lorenzo Delgado
a4970d2625
fix(archive): fix message validator error metric labels
2022-11-25 02:06:42 +01:00
Lorenzo Delgado
59a204c32c
fix(archive): fix message validator error metric labels
2022-11-25 01:49:43 +01:00
Lorenzo Delgado
0050deed05
chore(store): remove obsolete metrics and error labels
2022-11-24 19:42:19 +01:00
Lorenzo Delgado
41b2f87f68
fix(archive): patch the sqlite driver to solve results inconsistencies
2022-11-24 18:59:25 +01:00
Alvaro Revuelta
43fd11b4dc
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
6811af328c
feat(archive): add waku archive implementation
2022-11-23 10:08:00 +01:00
Lorenzo Delgado
0188ec1a9e
feat(archive): add waku archive implementation
2022-11-22 19:40:24 +01:00
Lorenzo Delgado
299ee3eb5d
refactor(rln): decouple rln types from waku message type
2022-11-22 18:29:43 +01:00
Alvaro Revuelta
1e8e60caed
fix(tests): add missing import for tests ( #1375 )
2022-11-22 08:13:51 +01:00
Aaryamann Challani
853995e17f
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
59c18ab5c4
feat(store): add support for history query handler
2022-11-21 11:16:57 +01:00
Lorenzo Delgado
e85b5cbae1
chore(store): remove waku swap integration from store protocol
2022-11-21 09:36:41 +01:00
Lorenzo Delgado
9396f64489
fix(lightpush): waku lightpush rpc codec support optional fields
2022-11-18 20:01:01 +01:00
Lorenzo Delgado
af4fb5f5a7
fix(filter): waku filter rpc codec support optional fields
2022-11-18 18:37:08 +01:00
Lorenzo Delgado
1d72ee31b0
refactor(relay): collocate relay protocol initialization logic
2022-11-18 14:50:56 +01:00
alrevuelta
bd5046f466
chore: add version to logs at startup
2022-11-18 11:59:35 +01:00
Lorenzo Delgado
f89e6869cb
fix(store): waku store rpc codec support optional fields
2022-11-17 20:40:08 +01:00
Lorenzo Delgado
39bf289f43
refactor(protocols): decouple protocol rpc types from api types
2022-11-16 20:02:38 +01:00
Lorenzo Delgado
e2a2ea6477
chore: move protobuf module from utils to common
2022-11-16 20:02:14 +01:00
Aaryamann Challani
2336522d7f
fix(rln-relay): feature guard ( #1373 )
...
* fix(rln-relay): feature guard
* Revert "fix(rln-relay): feature guard"
This reverts commit 9344f41a34
.
* 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
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
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
Lorenzo Delgado
b07cdb1841
refactor(store): decouple waku store public api types from rpc types
2022-11-09 18:50:18 +01:00
Alvaro Revuelta
054dc61763
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
4acc611e47
refactor: unify pubsub topic type and default value
2022-11-09 09:55:47 +01:00
Lorenzo Delgado
c4f9813ab3
refactor(queue_store): rename queue_store module and simplify api
2022-11-08 16:10:23 +01:00
Lorenzo Delgado
b4bda3c10b
fix(rln-relay): remove dependency on applications' configuration
2022-11-08 12:53:47 +01:00
Lorenzo Delgado
bcc6c32287
chore: rename protocols rpc_codec procs from init to decode
2022-11-07 16:24:16 +01:00
Lorenzo Delgado
4509f4f361
refactor(message_store): move message_store to node module
2022-11-04 19:48:22 +01:00
Lorenzo Delgado
7ef4eaf46d
chore: update push raises pragma according to nim 1.6
2022-11-04 10:52:27 +01:00
Lorenzo Delgado
cb1f4d46f4
chore: remove unused imports
2022-11-04 10:52:08 +01:00
Lorenzo Delgado
0569beadbe
refactor(peer_manager): move peer_store under peer_manager module
2022-11-04 09:40:13 +01:00
Aaryamann Challani
53e8979aa9
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
d1df046c87
feat(wakunode2): support configuration via environment variables
2022-11-03 17:58:48 +01:00
Lorenzo Delgado
27a7040f8e
chore(migrations): move migration scripts to project root
2022-11-03 17:58:05 +01:00
Lorenzo Delgado
5c4f1ce43f
chore: make log topics consistent with nim-chronicles style
2022-11-03 16:36:24 +01:00
Lorenzo Delgado
1d3943febb
refactor(sqlite): move migrations logic to sqlite common module
2022-11-02 16:36:33 +01:00
Lorenzo Delgado
83ae6987b8
fix: replace TaintedString type deprecated in nim 1.5
2022-11-02 14:55:48 +01:00
Lorenzo Delgado
8fee1b9bed
feat(filter): split waku filter protocol into server and client
2022-11-02 11:59:58 +01:00
Lorenzo Delgado
1c46b61402
refactor(peer-exchange): move peer management to waku_node module
2022-11-02 09:45:21 +01:00
Aaryamann Challani
cd73029a0c
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
24d288ccb4
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
0de5a122ef
chore(common): move sqlite module to common module
2022-10-28 20:13:41 +02:00
Lorenzo Delgado
ee86d190d6
refactor(node): use store client in waku_node
2022-10-28 20:11:28 +02:00
Lorenzo Delgado
2c1ad9f760
refactor(node): use lightpush client in waku_node
2022-10-28 16:30:01 +02:00
Alvaro Revuelta
d479aacec5
feat(wakunode2): add nwaku agent-string to switch ( #1302 )
2022-10-28 15:12:06 +02: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
ea8d72188e
feat: add keyfile support for RLN credentials secure storage ( #1285 )
...
* feat(utils): add keyfile + test
* feat(keyfile): make id and version field optional
* feat(rln): enable input password for keyfile encryption
* refactor(keyfile): store multiple keyfiles in single file
* refactor(rln): write and read rln credentials proc using keyfiles + test update
* feat(keyfile): allow skip successful decryption to iterate among multiple keyfiles + test
* fix(rln): add rln-relay-cred-password in wakunode2 config
* chore(keyfile): remove unnencessary echo
* refactor(rln/kesyore): address reviewers' comments
* refactor(rln/keyfile): use defer instead of try/finally
* feat(rln): address reviewers comments; return all successful decryptions
* chore(keyfile): add comments; changed name to loadKeyfiles
* feat(keyfile): chmod 600 for keyfiles
* fix(rln): fix errors raised by readRlnCredentials
* feat(keyfile): add nim-eth tests; address reviewers comments
* fix(keyfile/rln): better error handling
* refactor(keyfile): refactoring nim-eth tests
* fix(keyfile): fix wrong index
* fix(keyfile): fix wrong password generation in test
* feat(keyfile): add wrong mac test
Co-authored-by: Aaryamann Challani <43716372+rymnc@users.noreply.github.com>
2022-10-28 11:13:05 +02:00
Lorenzo Delgado
62328f0abd
feat(wakunode2): simplify wakunode2 config and decouple peer persistence
2022-10-28 00:05:02 +02:00
Lorenzo Delgado
0725da0b66
chore(node): waku node code reorganization
2022-10-27 17:29:09 +02:00
Lorenzo Delgado
7e7bba4a98
feat(lightpush): add waku lightpush protocol client
2022-10-25 14:55:31 +02:00
Aaryamann Challani
bdb120d842
feat(chat2): metrics server + metrics logging ( #1279 )
...
* feat(rln-relay): periodically log metrics
* fix(chat2): enable metrics by default in chat2 config
* test(chat2): metrics, gc compilation error
* chore(metrics): make metrics a util, and import into wakunode2 apps dir
* fix(metrics): raise error
* fix(metrics): gc error
* fix(wakunode2): remove setup_metrics
* chore(metrics): waku utils metrics
* fix(metrics): create waku_metrics in node dir
* fix(metrics): log scope
* fix(chat2): disable metrics server by default
* fix(utils): collectorAsF64 proc def
* fix(metrics): store metrics path
2022-10-21 14:03:36 +05:30
Lorenzo Delgado
e5c3aa560e
feat(store): add waku store client module
2022-10-20 18:09:40 +02:00
Hanno Cornelius
a12a359b79
fix: store cursors should be exclusive and match a DB item ( #1263 )
...
* fix(store): use exclusive cursor
* fix(store): read correct column length
Co-authored-by: Lorenzo Delgado <lorenzo@status.im>
2022-10-20 13:24:40 +03:00
Lorenzo Delgado
757804c9ee
chore(wakunode2): move wakunode2 to apps directory
2022-10-18 12:35:26 -05:00
Lorenzo Delgado
5046a4b3da
refactor(node): split wakunode into waku_node and wakunode2
2022-10-18 09:05:53 -05:00
Lorenzo Delgado
b139692b05
refactor(wakunode2): move config random private key generation to a procedure ( #1273 )
2022-10-18 07:06:54 -05:00
Aaryamann Challani
9a6a7334ef
feat(rln-relay): periodically log metrics ( #1262 )
...
* feat(rln-relay): periodically log metrics
* chore(rln-relay): log rln metrics immediately
* fix(metrics): calculation etc
* chore(metrics): parseAndAccumulate into collector utils
* fix(metrics): use standard logging interval
2022-10-18 17:07:44 +05:30
Lorenzo Delgado
5fbc537cbf
chore: move apps and tools to their own directory
2022-10-12 14:41:25 -05:00
G
a2a5a6ef01
refactor(rln): display byte arrays in hex as uints and fix Kilic's proofVerify proc ( #1259 )
...
* refactor(rln): convert 32 bytes arrays to hex as uints
* fix(rln): fix Kilic's proofVerify proc to take stub validRoots
* refactor(rln): use input's length when convert to/from hex
* chore(rln): print more commitments inHex in debug logs
2022-10-12 10:38:48 +02:00
Aaryamann Challani
04154ab90f
chore(rln-relay): make account address optional ( #1258 )
...
* chore(rln-relay): make account address optional
* fix(rln-relay): onchain test
* chore(chat2): update docs, and handle error case in chat2
* fix(rln-relay): handle registration better
2022-10-12 07:48:11 +05:30
G
f282621a1c
fix(rln): set maxEpochGap as maximum epoch gap ( #1257 )
2022-10-10 21:50:16 +02:00
G
586d549113
fix(rln): fix encoding to LE for idcommitments ( #1256 )
2022-10-10 19:35:43 +02:00
Aaryamann Challani
3a80fae634
test(rln-relay): setup heartbeat ws subscription and log when connection drops ( #1253 )
...
* test(rln-relay): setup heartbeat ws subscription and log when connection drops
* fix(rln-relay): quantity
* fix(rln-relay): allow fromBlock to be passed to sub proc
* chore(rln-relay): cleaner logs
* fix(rln-relay): typo
2022-10-10 17:55:12 +05:30
Aaryamann Challani
f8c4d9aebc
chore(rln-relay): additional logging ( #1243 )
...
* chore(rln-relay): additional logging
* fix: whitespace
2022-10-08 12:14:52 +05:30
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
Aaryamann Challani
8a8c745e30
chore(rln-relay): disable merkle root validation ( #1246 )
...
* chore(rln-relay): disable merkle root validation
* brings back validation of the root but without invalidating the message
* adds the tracking issue
Co-authored-by: sanaz <staheri14@ku.edu.tr>
2022-10-06 13:17:01 -07:00
Lorenzo Delgado
1cb3f4b7a4
fix(store): fix store validity timestamp variance constant ( #1244 )
2022-10-06 16:07:12 +01:00
Hanno Cornelius
8a184e208c
chore: publish nwaku version to metric ( #1234 )
2022-10-06 13:06:54 +01:00
Lorenzo Delgado
2c975597e1
fix(store): fix waku store resume tests
2022-10-05 17:58:24 +02:00
Lorenzo Delgado
14abdef796
chore(store): improve database migrations logging
2022-10-05 11:45:44 +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
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
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
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
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
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
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
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
Lorenzo Delgado
a4860d92a0
feat(store): add query and insertion time metrics
2022-09-13 19:36:11 +02:00
Lorenzo Delgado
728e298dd7
fix(store): support stored messages metric for persistent store
2022-09-13 19:36:11 +02:00
Lorenzo Delgado
9561f12172
feat(store): add support for getting stored messages count
2022-09-13 19:36:11 +02:00
Lorenzo Delgado
83cffd50ed
refactor(store): reorganise waku store protocol is sqqlite-only logic
2022-09-13 19:36:11 +02:00
Lorenzo Delgado
d49cd1348d
refactor(store): remove deprecated waku message store type
2022-09-13 13:36:04 +02:00
Aaryamann Challani
fdcc9824a2
feat(store): Allow messages to be marked as "don't store" ( #1119 )
...
* feat(store): init allow messages to be marked as ephemeral
* feat(store): replace ephemeral with ttl model
* Revert "feat(store): replace ephemeral with ttl model"
This reverts commit 4398c61c919dda8f014b4fcc0679c573c74854e4.
* fix(store): flags and test
* chore(store): remove storeTTL
* chore(store): remove unused utils
* fix: conflict
* fix(store): make test more brief
2022-09-13 16:07:06 +05:30
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
Lorenzo Delgado
051f5db9af
refactor(store): rename to sqlite store and introduce retention policies interface
2022-09-12 16:49:01 +02:00
Lorenzo Delgado
e7ebd190a3
refactor(utils): split message digest calculation form index calculation
2022-09-12 15:51:06 +02:00
Lorenzo Delgado
ff619de037
chore(utils): remove unused types and methods
2022-09-12 15:29:52 +02:00
G
01cd201f58
PoC implementation of Waku Pairing and Secure Transfer ( #1117 )
...
* feat(noise): add PoC implementation for WakuPairing and Secure Transfer
2022-09-12 02:23:14 +02:00
Lorenzo Delgado
30f0e19d79
fix(store): add a table index to improve message insertion time
2022-09-09 15:04:48 +02:00
Hanno Cornelius
f4e9d39524
chore: always include node ENR in response to info requests ( #1128 )
2022-09-08 14:25:02 +01:00
Lorenzo Delgado
d857c4a421
chore(wakunode): collocate wakuswitch file to the depending modules
2022-09-08 11:02:50 +02:00
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
Lorenzo Delgado
3f7aa8c6e4
fix(waku-store): added an index to improve messages query time
2022-09-05 15:18:47 +02:00
Lorenzo Delgado
21e9f25276
refactor(wakunode2): deprecate non-async protocol api methods
2022-09-02 10:17:14 +02:00
Lorenzo Delgado
4f3a3da084
chore(waku-store): improve logging and query traceability
2022-09-02 10:14:58 +02:00
Lorenzo Delgado
982fb08c77
refactor(wakunode2): add convenience methods for adding protocol peers
2022-09-01 17:02:58 +02:00
Aaryamann Challani
ea62e2b7ce
chore(noise): minor refactor of default checks of keypairs ( #1104 )
...
* chore(noise): readable default checks for keypairs
* chore(noise): fix naming of arg in exists proc
* chore(noise): fix naming to make it clearer
* chore(noise): inline and remove result usage
* chore(noise): move the isDefault function up, replace defaultyVar with value
* chore(noise): inline style
* chore(noise): static the default check, remove inline pragma
2022-09-01 14:31:48 +05:30
Bulat-Ziganshin
80aeebc61c
Fixed handling of bindParam(uint32) in sqlite.nim ( #1014 )
2022-08-31 14:50:05 +02:00
Aaryamann Challani
ad7f9ed5bf
chore(lightpush): fix minor typo ( #1100 )
2022-08-31 17:00:10 +05:30
Lorenzo Delgado
6d0168bff2
feat(rest): add waku filter openapi rest api specification file
2022-08-31 13:24:35 +02:00
Aaryamann Challani
ed53bcdec6
chore(logging): Periodic logging for additional metrics ( #1094 )
...
* chore: enable metrics logging by default
* feat(logging): add additional logging metrics, change period to 30 seconds
* chore(logging): s/var/let
* chore(logging): import filter directly
* chore(logging): add store/lightpush peer count, fix style
2022-08-31 15:23:28 +05:30
Sanaz Taheri Boshrooyeh
0deedf0d7a
fix|feat(rln-relay|rln-chat2): Handling on-chain transactions errors and informing chat2 users ( #1093 )
...
If any error occurs during the on-chain registration, it will be handled; the chat2 users will get informed about the cause and the installation of rln-relay gets discarded and the chat program continues with no crashing.
2022-08-30 10:59:02 -07:00
Lorenzo Delgado
ecf4ba1167
feat(message-cache): make the topic cache generic
2022-08-30 15:57:45 +02:00
Lorenzo Delgado
791ce6d222
fix(rest): encode waku message payload in base64
2022-08-30 14:53:04 +02:00
Lorenzo Delgado
842cfb3476
refactor(waku-filter): remove wakunode2 waku_filter exports
2022-08-29 10:14:35 +02:00
Lorenzo Delgado
c964aea885
refactor(waku-filter): waku filter protocol code reorganisation
2022-08-26 22:17:56 +02:00
Hanno Cornelius
caa47896c1
fix: peer manager dial logic when dialing an existing peer ( #1090 )
2022-08-26 11:20:55 +02:00
Sanaz Taheri Boshrooyeh
bc29619679
feat(Rln relay): Improves rln-chat2 interface, displays links to the registration tx, warns about spam messages ( #1082 )
...
* warns about publishing spam messages, display tx hash on Goerli
* passes registration handler
2022-08-24 15:47:06 -07:00
Hanno Cornelius
11158c3ea2
fix(setup): do not attempt connecting to empy dynamic bootstrap node list ( #1088 )
2022-08-24 17:44:43 +02:00
Sanaz Taheri Boshrooyeh
8a6b1cfba6
feat(Rln-Relay): Consolidates the input paths of rln credential, chat2 reads rln credential from file only ( #1080 )
...
* Consolidates the input paths of rln credential, accepts credential file only
* fixes a typo
2022-08-18 10:35:02 -07:00
Lorenzo Delgado
73df74f8c6
refactor(waku-store): remove wakunode2 waku_store exports
2022-08-18 17:32:47 +02:00
Sanaz Taheri Boshrooyeh
f373f8bc56
chore(RLN-Relay): onchain rln-relay chat2 testnet editorial feadbacks
...
Signed-off-by: sanaz <staheri14@ku.edu.tr>
adds a newline
fixe a minor spacing issue
2022-08-17 16:55:49 -07:00
Lorenzo Delgado
7a30e485ec
refactor(waku-store): deprecate waku store callback methods
2022-08-17 17:22:56 +02:00
G
2c4730c850
fix(rln): add zerokit rln to chat2 + fix static group members ( #1077 )
2022-08-17 12:11:46 +02:00
Lorenzo Delgado
2cb7123df8
fix(waku-store): integrate the predicate into the WHERE clause instead of calling it on each result line ( #1026 )
2022-08-12 12:48:45 +02:00
Lorenzo Delgado
4f93510fc9
refactor(waku-store): inherit from message_store in store_queue
2022-08-11 10:15:20 +02:00
Lorenzo Delgado
613812023e
refactor(waku-lightpush): remove wakunode2 waku_lightpush exports
2022-08-10 19:44:40 +02:00
Lorenzo Delgado
d201a37330
refactor(waku-lightpush): waku lightpush protocol code reorganization
2022-08-10 12:30:34 +02:00
G
2aeaba48e4
feat(noise): add padding to transport messages ( #1056 )
...
* feat(noise): add padding to transport messages (handshakes+write+read)
* fix(noise): address reviewers' comments
* fix(noise): update padding block size const name
2022-08-07 16:20:34 +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
Keshav Gupta
115982f5c3
Persisting rln credentials ( #1037 )
...
* Persisting Credentials implemented by writing json of keypair and rlnindex to files
* Removing testing files and ignores
* Update waku/v2/protocol/waku_rln_relay/waku_rln_relay_utils.nim
Co-authored-by: Daniel Kaiser <git@kais3r.de>
* Update waku/v2/protocol/waku_rln_relay/waku_rln_relay_utils.nim
Co-authored-by: Daniel Kaiser <git@kais3r.de>
* Comments
* Comments
* Security warning in comments
* Redundant echos. Omitting unused variables.
* Update waku/v2/protocol/waku_rln_relay/waku_rln_relay_utils.nim
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
* Limit line lengths using line breaks and indents
* Membership file paths declared as const
* Const fix
* Rln Credentials Merged.
Reading credentials from file abstracted away.
* Spaces
* Spaces
* Dangling constants removed. Comments position.
* Import sequence.
* Path as argument to readPersistentKeys.
Spaces in comments
* readPersistentKeys test
* Debug and info
* Index check in test
* Update tests/v2/test_waku_rln_relay.nim
Co-authored-by: G. <28568419+s1fr0@users.noreply.github.com>
* Abstracted writeRlnCredentials.
Fix var name in test.
* Usage of writeRlnCredentials in test
* Dnsclient?
* Test reverted to direct call to writeFile.
Abstrated writePersistentRlnCredentials usage causing error,
with readPersistentRlnCredentials
* Indentation
* Revert "Dnsclient?"
This reverts commit 3f4dba1a0b
.
* Reverting abstraction of writing..
..persiting credential
Co-authored-by: Daniel Kaiser <git@kais3r.de>
Co-authored-by: Keshav Gupta <keshav.pg@hotmail.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: G. <28568419+s1fr0@users.noreply.github.com>
2022-08-05 12:48:01 +02:00
G
32f91cb26b
Noise: split Noise submodule in smaller submodules ( #979 )
...
* refactor(noise): split Noise submodule in smaller submodules
2022-08-04 10:47:00 +02:00
Lorenzo Delgado
888f7cb312
refactor(waku-store): major code reorganization, move StoreQueue to message_store folder
2022-08-01 13:02:40 +02:00
Sanaz Taheri Boshrooyeh
79459d29ce
Feat(Rln relay): enables relay-mode only ( #1051 )
...
* makes eth private key optional
* makes eth account private key field optional
* clarifies a comment
2022-07-28 11:45:29 -07:00
Lorenzo Delgado
e7ba81ff88
refactor(wakunode2): Rename waku_setup.nim to wakunode2_setup.nim
2022-07-19 15:09:23 +02:00
Lorenzo Delgado
10c237dc5f
refactor(wakunode2): Split wankunode2 SQL migrations setup to its own file
2022-07-19 15:09:23 +02:00
Lorenzo Delgado
e16747137e
refactor(wakunode2): Split wankunode2 JSON-RPC setup to its own file
2022-07-19 15:09:23 +02:00
Lorenzo Delgado
538ee12a25
refactor(wakunode2): Split wankunode2 metrics setup to its own file
2022-07-19 15:09:23 +02:00
Lorenzo Delgado
732f853f55
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
daaca4a4a3
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
Sanaz Taheri Boshrooyeh
a40686e26e
Feat (Rln relay): enabling signed tx ( #1023 )
2022-06-30 18:05:38 -07:00
Lorenzo Delgado
993781a137
chore: remove unused imports
2022-06-30 00:35:18 +02:00
Sanaz Taheri Boshrooyeh
5c7baf87e5
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
3b60ea70c0
perf(store): remove vacuum ( #1025 )
2022-06-29 12:06:42 +02:00
Sanaz Taheri Boshrooyeh
3e20127933
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
9be64a55b6
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
Daniel Kaiser
a2749c4a52
fix(store): limit dbPageSize ( #1018 )
2022-06-23 17:05:48 +02:00
Lorenzo Delgado
cf1a7c3074
feat(rest): Add HTTP REST API ( #727 ). Add Relay REST API
2022-06-23 10:12:38 +02:00
Lorenzo Delgado
d2feb7c763
feat(rest): Add HTTP REST API ( #727 ). Amend Debug REST API client
2022-06-22 20:30:44 +02:00
Richard Ramos
17ebb32331
fix: encode protobuffers using proto3 version
2022-06-21 17:21:03 -04:00
Sanaz Taheri Boshrooyeh
6c8ab0ab0f
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
Lorenzo Delgado
76e9a98841
feat(rest): Add HTTP REST API ( #727 ). Debug API POC
2022-06-14 18:20:15 +02:00
Daniel Kaiser
5445303a23
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
6a09ed2c88
feat(enr): add discv5 UDP port to node's main discoverable ENR ( #996 )
2022-06-09 17:46:21 +02:00
Daniel Kaiser
271a2c750b
chore: adjust dyn bootstrap error message ( #993 )
2022-06-08 22:23:13 +02:00
Hanno Cornelius
0847eec6e0
chore: reduce unnecessary logging ( #991 )
2022-06-08 11:20:18 +02:00
Hanno Cornelius
1b29dcda7b
chore: disable swap by default ( #989 )
2022-06-08 09:16:45 +02:00
Hanno Cornelius
4e9215a920
chore: more regular keepalive pings ( #990 )
2022-06-07 22:44:58 +02:00
G
c259f4cbaa
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
d5a04a2719
chore: update submodules ( #987 )
2022-06-01 11:49:41 +02:00
Hanno Cornelius
37325c8f48
fix(sqlite): memory leak due to undisposed prepared statements ( #981 )
2022-05-31 12:47:38 +02:00
Sanaz Taheri Boshrooyeh
1ac029025a
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
32d230b474
feat(store): ability to decouple store from relay ( #937 )
2022-05-23 20:42:48 +02:00
G
710ce1315a
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 9fc162dff8
.
* update submodules
* fix Jenkins caching
* Revert "update submodules"
This reverts commit 1927d9dd26
.
* 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
984f3179a7
chore: update submodules ( #974 )
2022-05-20 12:57:19 +02:00
Daniel Kaiser
6a60458135
chore(migration): avoid unnecessarily calling migration ( #967 )
2022-05-18 21:44:53 +02:00
Hanno Cornelius
185485c336
docs: generate and configure nodekey ( #957 )
2022-05-18 15:00:30 +02:00
Daniel Kaiser
59b242fcad
fix(dns4name): dns4name + unset port resolved ( #965 )
2022-05-18 10:15:03 +02:00
Daniel Kaiser
41cdb8ba26
feat(info): add --version cmd flag ( #970 )
2022-05-17 22:11:07 +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
bd70a1b7bb
Disable GossipSub PX by default ( #958 )
2022-05-13 18:18:09 +02:00
Sanaz Taheri Boshrooyeh
47a9fcfd77
chore|feat (waku-rln-relay): modules reorganization|Initial test for capturing events using nim-web3 ( #941 )
...
* first edition
* adds the full test scenario
* fixes typos
* fixes a bug in the supplied command
* further edits the description
* displays the chat prompt after spam detection
* updates changelog
* minor wording fix
* adds a new test file for onchain rln relay
* adds the Event proc
* adds one working example of event subscription
* defines a new unitt test for event subscription
* adds the new test file
* cleans up the code
* adds a working event subscription for faucet contract
* wip
* makes faucet test conditional
* updates contract byte codes
* adds a working test for event subscription and cleans up the tests
* fixes case
* adss toUInt256 unit function
* enables the tests
* fixes a bug
* undo commented tests
* cleans up the test
* logs the pk
* removes excess entry in the changelog
* fixes spacing
* comments
* removes unused test codes
* adds the conditional compilation for onchain tests
* uncomments offchain tests
* removes onchain tests
* reorganizes the code and moves the rln contract data into a separate module
* deletes txt files
* beautifies the code
* beautifies the code
* removes an excess line
* more formatting fixes
* minor fix
* updates the case of membership fee const
* renames compare to diff
* renames time to e
* edits the number of arguments of the send proc
* fixes a comment alignment
* fixes indentation
* fixed id style
* splits check from condition
* fixes a naming mismatch
2022-05-10 14:09:18 -07:00
Franck R
b2eb992bd3
Fix typo ( #960 )
2022-05-10 12:49:12 +02:00
Daniel Kaiser
5e85eecd14
perf(store): add index on receiverTimestamp ( #947 )
2022-04-23 10:49:11 +02:00
G
cb11c192d6
feat(noise): add support to Waku Payload V2 ( #932 )
...
* 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
* Fixed header
* refactor(noise): add comments, restyle code
* refactor(noise): address reviewer's comments
* Update nim-eth
* fix(noise): moved strutils in std
2022-04-12 13:50:51 +02:00
Hanno Cornelius
450e0494f1
fix(store): timestamp validity checks ( #876 )
2022-04-11 14:58:18 +02:00
G
d2fccb5220
feat(noise): add support to encrypted/unencrypted public keys ( #931 )
...
* feat(noise): adding ChaChaPoly encryption
* test(noise): add test for ChaChaPoly Encryption/decryption
* style(noise): converted variables to camelCase
* feat(noise): add support to Noise public keys
* Fixed header
* refactor(noise): address reviewer's comments
* refactor(noise): small fixes/comments
* refactor(noise): add empty plaintext/ciphertext handling + string encryption test
* refactor(noise): address reviewer's comments
2022-04-06 14:37:02 +02:00
G
45b1e10647
feat(noise): add support to ChaChaPoly encryption ( #930 )
...
* feat(noise): adding ChaChaPoly encryption
* fix(noise): restored waku2 tests
* fix(noise): missing comma
* Fixed header
* fix(noise): made comment about empty ChaChaPolyKey clearer
* refactor(noise): address reviewer's comments
* test(noise): add test for ChaChaPoly Encryption/decryption
* refactor(noise): removed libp2p specific debug tools usage
* style(noise): converted variables to camelCase
2022-04-04 17:46:51 +02:00
Daniel Kaiser
ecdde23add
feat(store): info message after delete ( #929 )
2022-03-30 22:55:39 +02:00
Daniel Kaiser
a9c31b4b53
feat(store): vacuum after delete ( #928 )
2022-03-30 22:54:37 +02:00
Daniel Kaiser
2f13aff663
feat(jsonrpc): add call returning git version ( #919 )
2022-03-30 17:17:21 +02:00
Daniel Kaiser
ec0a46b65b
feat(jsonrpc): add ENR to debug_v1_info call ( #918 )
2022-03-30 15:10:15 +02:00
Hanno Cornelius
52de0e434f
feat(relay): add support for gossipsub peer exchange ( #911 )
2022-03-29 10:09:48 +02:00
Daniel Kaiser
d0cf3ed1f9
fix(store): capacity limit for persistent message store ( #900 )
...
* fix(store): limit capacity of persistent message store
fixes performance issue of loading a large message table by deleting
old messages in case of an overflow
* test(store): message capacity limit
2022-03-28 20:27:14 +02:00
Daniel Kaiser
be8860c2fc
fix(discv5): info print ENR containing discv5 udp port ( #913 )
2022-03-28 10:29:19 +02:00
Sanaz Taheri Boshrooyeh
c9e82873f1
Increase rln-relay logging ( #908 )
...
* updates default rln-relay content topic
* adds further debug and trace level logs
* converts a debug level log to the trace level
2022-03-24 10:47:40 -07:00
Hanno Cornelius
06f20af7d4
chore: update submodules ( #905 )
2022-03-23 15:20:07 +02:00