* 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 trace log for the valid messages
* brings the log trace one line up
* WIP
* WIP: fixes a bug
* adds test for static group formation
* adds static group creation when rln-relay is enabled
* adds createStatic group
* wip: adds group formation to mount rlnrelay
* adds createMembershipList utility function
* adds doc strings and todos
* cleans up the code and add comments
* defaults createRLNInstance depth argument to 32
* renames Depth
* distinguishes between onchain and offchain modes
* updates index boundaries
* updates log levels
* updates docstring
* updates log level of displayed membership keys
* relocates a todo
* activates all the tests
* fixes some comments and todos
* extracts some utils procs for better debugging
* adds todo
* moves calculateMerkleRoot and toMembersipKeyPairs to the rln utils
* makes calls to the utils functions
* adds unit test for createMembershipList
* adds unittest for toMembershipKeyPairs and calcMerkleRoot
* cleans up the code and fixes tree root value
* reverts an unwanted change
* minor
* adds comments and cleans up the code
* updates config message
* adds more comments
* fixes a minor value mismatch
* edits the size of group
* minor rewording
* defines a const var for the group keys
* replaces the sequence literal with the StaticGroupKeys const
* adds a rudimentary unittest
* adds todos
* adds more comment
* replaces uint with MembeshipIndex type
* fixes rln relay mem index config message
* adds rln relay setup proc
* decouples relay and rln-relay
* uses MemIndexType instead of uint
* brings back the rlnRelayEnabled flag to mountRlnRelay
* deletes commented codes
* adds rln relay topic validator inside updates rln relay mounting procedure
* adds rln-relay-pubsub-topic cli option
* adds a static rln-relay topic
* deletes rlnrelayEnabled argument
* adds pubsub topic for rln-relay
* deletes static pubsub topic
* mounts relay before rlnrelay in the tests
* logs rln relay pubsub topic
* cleans up the code
* edits rlnrelay setup
* uninitializes the input parameter of rlnrelay setup
* adds comments
* removes unused comments
* compiles addRLNRelayValidtor when RLN compilation flag is set
* adds comment about topic validator
* minor
* mode modifications on the description of add validator
* adds pubsubtopic field to wakuRlnRelay type
* WIP: shaping the test
* Checks whether rln relay pubsub topic is within the supported topics of relay protocol
* minor
* WIP: unit test for actual proof
* fixes a bug
* removes a redundant proc
* refines the test for actual proof
* breaks lines to 80 chars
* defines NonSpamProof type
* adds a return
* defines Epoch type
* WIP: proof gen
* implements actual proof gen
* adds proto enc and init
* adds notes about proof structure
* adds NonSpamProof to wakumessage
* adds proof gen
* WIP: non working tests for protobuf
* fixes the protobuf encoding issue
* discards the output of copyFrom
* WIP: hash unittest and proofVrfy and ProofGen
* integrates proofVrfy
* uses toBuffer inside the hash proc
* adds comment
* fixes a bug
* removes proof field initialization
* cleans up the test
* generalizes input from byte seq to byte openArray
* adds toBuffer
* adds a bad test
* cleans up unused tests
* adds integration test
* adds comments
* cleans up
* adds description to the integration test
* adds test for unhappy path
* tides up the tests
* tides up hash unit test
* renames a few var
* uses a const for wku rln relay pubsub topic
* minor refinement
* deletes an obsolete comment
* comment revision
* adds comments
* cleans up and adds docstrings
* profGen returns proofRes instead of proof
* removes extra sleepAsync
* fixes two bugs
* returns reject when proof is not verified\
* addresses comments
* adds comments
* links to rln doc
* more comments
* fixes space format
* uncomments v2 tests
* dnsclient branch update
* undo branch update
* minor spacing fix
* makes proof field conditional
* updates the fields numbers of proof and timestamp
* clarifies that proof is not part of waku message specs
* Update waku/v2/protocol/waku_message.nim
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* fixes indentation
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* adds the proof field to the WakuMessage
* adds a basic zkProof api
* adds proof gen to the publish proc
* relocates the proofGen and proofVrfy to rln_relay_utils
* wip: test of proof gen
* adds a procedure to pass rln-relay message validator, adds the proof gen
* tests the proof gen and verify
* relocates zkp API
* adds documentation and todos
* adds todos and documentations
* removes an unnecessary comment
* adds todos