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