* 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
* adds error field to history response
* unittest for protobuf enc/dec
* renames HistoryResponseError to Store Error and simplifies pagination logic
* reverts the naming of StoreError to HistoryResponseError
* fixes a unittest for invalid cursor
* renames OK to NONE
* enables pagination based on sender timestamp
* uncomments a test
* bumps up version number
* updates migration script
* clean up
* unpdates changelog
* undo removal of receiver timestamp
* updates message_storage
* uses epochTime()
* minor
* removes a comment
* removes receiver timestamp deletion migration script
* fixes formatting issues
* fixes a bad field name
* fixes field issue
* adjusts spacing
* handles initial paging query for history of size one
* adds two more tests to fetch the entire history in the initial paging request
* increases the pageSize
* changes pageSize to uint64
* WIP
* reworks tests and indexing proc to match uint64 pageSize
* minor simplification
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* Bump nim-chronos and fix exception tracking issues
* Bump other Nim submodules to latest
* Fix repeatMessage properly through proc type fix in nim-eth
Also add and use unittest2 through testutils to avoid extra
annotations.
* Refactor: Move waku_store into its own folder
* Refactor: Move waku store types to new home (WIP)
* Refactor: Fix errors and recursive imports
* Fix rebase errors
* Refactor: More rebase import fixes
* Change folder structure to {v1,v2,common}/...
Addresses https://github.com/status-im/nim-waku/issues/261
* Update waku.nimble paths
* Flatten paths
* Fix import paths
* Pull out utils folder for nat
* Pull out waku_types to top level for v2
* Fix test import paths
* Remove old READMEs and replace with one liner
* Update README and split v1 and v2
* Skeleton READMEs
* Update README.md
Co-authored-by: Kim De Mey <kim.demey@gmail.com>
* Update README.md
Co-authored-by: Kim De Mey <kim.demey@gmail.com>
Co-authored-by: Kim De Mey <kim.demey@gmail.com>
* changes the digest type to MDigest[256] and modifies the computeIndex
* fixes formatting issue
* adds the pagination with its tests
stores and retrieves IndexedWakuMessage
adds the paginate proc
adds the paginate function
fixes some formatting issues
minor
edits indentation and fixes a bug
removes unused imports
minor
fixes indentations and adds a new testcase
adds indexedWakuMessageComparison
adds `==` proc for IndexedWakuMessage
separates the comparison of index and indexed waku messages
adds testcases for the Index comparison and IndexedWakuMessage comparison
WIP
WIP: adds an decoder for Index
removes an unnecessary imports
WIP
adds findIndex() proc
removes the equality check '==' for IndexedWakuMessages
edits the code format and adds the pagination test
edits paginate() proc to work on a copy of the input list
deletes unnecessary echo
adds the boundary calculations for forward and backward pagination
adds test cases for the page boundaries
tests corner cases for the queried cursor and pagesize
minor
adds some comments
adds a proc to extract WakuMessages from a list of IndexedWakuMessages
integrates pagination into the findMessages proc
adds some comments
changes paginate to paginateWithIndex
removes some echos
modifies paginateWithIndex to handle invalid cursors
adds test case for an invalid cursor
WIP: adds a `$` proc for IndexedWakuMessages
adds some debugging message prints
adds an integration test for handling query with pagination
* fixes a type mismatch issue in the min proc
* replaces boolean direction with their enums and updates contentTopics
* adds the unit test for the sorting of the indexed waku messages
* fixes a flaky test
* fixes a flaky test
* removes index equality check proc
* handles an initial query with an empty cursor
* adds test for the initial query
* adds integration test for pagination
* adds a test for empty message list
* adds comments and fixes an issue
* adds comments
* code cleanup
* removes the content topic validation check
* resolves the errors related to the windows CI tests
* Update waku/protocol/v2/waku_store.nim
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* Update waku/protocol/v2/waku_store.nim
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* Update tests/v2/test_waku_pagination.nim
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* Update waku/protocol/v2/waku_store.nim
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* Update waku/protocol/v2/waku_store.nim
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* Update waku/protocol/v2/waku_store.nim
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* changes the output type of findIndex to Option
* Update tests/v2/test_waku_pagination.nim
Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
* Update tests/v2/test_waku_pagination.nim
Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
* Update tests/v2/test_waku_pagination.nim
Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
* adds some comments
* fixes an indentation issue
* some code modification for array initialization
* Apply suggestions from code review
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
* does some code reorganizations and clean up
* CreateSampleList to createSampleList
* replaces a byte array literal initialization with a for loop
* relocates indexedWakuMessageComparison and indexComparison
* minor
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
* adds the index object
* adds the indexedWakuMessage
* adds the PagingInfo
* Adds PagingInfo to HistoryResponse and HistoryQuery
* adds the computeIndex procedure
* Update waku/node/v2/waku_types.nim
Fixes spacing issues
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* Changes timestamp to receivedTime and checks for the empty contentTopic
* adds a test file for pagination with test scenarios for computeIndex
* changes receivedTimestamp to the unix timestamp
* updates a test case
* replaces std/sha1 with nimcrypto/sha2
* changes the tests titles
* minor comments
* Some clean up
* fixes some formatting issue
* edits a test-case
* adds comments
* changes the digest type to MDigest[256] and modifies the computeIndex
* fixes formatting issue
* edits indentations and fixes a bug
* minor edits
* changes suite to procSuite and adds a new text case
* fixes all the indentations
* cleanup of the imports
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>