* 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
* 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
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.
* 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>
* 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
* 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=`
* 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