* 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
* 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
* 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
* 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.
* 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
* 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
* 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
* Update rln-chat2-live-testnet.md
* adds ProofMetadata
* adds EPOCH_INTERVAL
* adds messageLog field
* adds updateLog, toEpoch, fromEpoch, getEpoch, compareTo
* adds unit test for toEpoch and fromEpoch
* adds unit test for Epoch comparison
* adds result codes for updateLog
* adds unit test for update log
* renames epoch related consts
* modifies updateLog with new return type and new logic of spam detection
* adds unit text for the modified updateLog
* changes max epoch gap type size
* splits updateLog into two procs isSpam and updateLog
* updates unittests
* fixes a bug, returns false when the message is not spam
* renames messageLog to nullifierLog
* renames isSpam to hasDuplicate
* updates the rln validator, adds comments
* adds appendRLNProof proc plus some code beatification
* unit test for validate message
* adds unhappy test to validateMessage unit test
* renames EPOCH_UNIT_SECONDS
* renames MAX_CLOCK_GAP_SECONDS
* WIP: integration test
* fixes compile errors
* sets a real epoch value
* updates on old unittests
* adds comments to the rln relay tests
* adds more comments
* makes rln import conditional
* adds todos
* adds more todos
* adds rln-relay mount process into chat2
* further todos
* logs contentTopic
* introduces rln relay configs
* changes default pubsub topic
* adds contentTopic config
* imports rln relay dependencies
* consolidates imports
* removes module identifier from ContentTopic
* adds contentTopic field
* adds contentTopic argument to mountRlnRelay calls
* appends rln proof to chat2 messages
* changes the default chat2 contentTopic
* adds missing content topic fields
* fixes a bug
* adds a new logic about empty content topics
* appends proof only when rln flag is active
* removes unnecessary todos
* fixes an indentation issue
* adds log messages
* verifies the proof against the concatenation of msg payload and content topic
* a bug fix
* WIP
* removes duplicate epoch time calculation
* converts echo to log
* invokes handler
* bug fix
* prints calculated epoch
* changes the format of printed epoch
* updates log levels
* logs the input buffer supplied to the generate_proof
* replaces echos with logs
* changes log level to trace
* resets the log level of chat2 to INFO
* upgrades log level to debug
* exports toRLNSignal and adds a doc string
* updates log level
* enables all test2
* removes an echo statement
* modifies a comment
* further updates on the log level
* a minor update
* invokes the spam handler when provided
* checks for payload version
* deletes a redundant check
* deletes a rendant check
* updates default rln-relay cht2 content topic
* adds a todo and log
* changes the case of testnet content topic
* removes a flaky check
* adds ProofMetadata
* adds EPOCH_INTERVAL
* adds messageLog field
* adds updateLog, toEpoch, fromEpoch, getEpoch, compareTo
* adds unit test for toEpoch and fromEpoch
* adds unit test for Epoch comparison
* adds result codes for updateLog
* adds unit test for update log
* renames epoch related consts
* modifies updateLog with new return type and new logic of spam detection
* adds unit text for the modified updateLog
* changes max epoch gap type size
* splits updateLog into two procs isSpam and updateLog
* updates unittests
* fixes a bug, returns false when the message is not spam
* renames messageLog to nullifierLog
* renames isSpam to hasDuplicate
* updates the rln validator, adds comments
* adds appendRLNProof proc plus some code beatification
* unit test for validate message
* adds unhappy test to validateMessage unit test
* renames EPOCH_UNIT_SECONDS
* renames MAX_CLOCK_GAP_SECONDS
* WIP: integration test
* fixes compile errors
* sets a real epoch value
* updates on old unittests
* adds comments to the rln relay tests
* adds more comments
* makes rln import conditional
* adds todos
* adds more todos
* adds rln-relay mount process into chat2
* further todos
* logs contentTopic
* introduces rln relay configs
* changes default pubsub topic
* adds contentTopic config
* imports rln relay dependencies
* consolidates imports
* removes module identifier from ContentTopic
* adds contentTopic field
* adds contentTopic argument to mountRlnRelay calls
* appends rln proof to chat2 messages
* changes the default chat2 contentTopic
* adds missing content topic fields
* fixes a bug
* adds a new logic about empty content topics
* appends proof only when rln flag is active
* removes unnecessary todos
* fixes an indentation issue
* adds log messages
* verifies the proof against the concatenation of msg payload and content topic
* a bug fix
* removes duplicate epoch time calculation
* updates log level to trace
* updates default rln-relay content topic
* adds support for empty content topics
* updates changelog
* changelog updates
* removes a commented code block
* updates addRLNRelayValidator string doc