* Add mode to waku swap
* Modify swap test and policy function
* Make rln optional (dependencies and compilation) (#602)
* makes rlnlib target optional
* makes the rln-related targets conditioned to the RLN command line flag
* adds the rln compiler flag condition
* adds the rln compiler flag condition to the rln module
* wakunode2 rln conditional compilation
* updates wakunode2 test
* updates waku rln relay tests
* removing the rln test from the default imports of the v2 tests
* imports rln module conditionally
* removes the rln flag condition from the rln module
* separates rln data types from its procs
* adds the import statement
* brings back the contract def to the rln utils
* adds rln module import to the rln unit tests
* clean up and reorganization
* adds a todo
* minor edits on a comment
* Fix indentation and typo
* Add Swap Config Object and set default config value on mount
* Minor changes
* Fix issues with grammar in code comment
* Create init procedure for setting default values in SwapConfig
* Minor changes to mountSwap call in wakunode2
* Improve Docs on Swap Mode
Co-authored-by: Sanaz Taheri Boshrooyeh <35961250+staheri14@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
* makes rlnlib target optional
* makes the rln-related targets conditioned to the RLN command line flag
* adds the rln compiler flag condition
* adds the rln compiler flag condition to the rln module
* wakunode2 rln conditional compilation
* updates wakunode2 test
* updates waku rln relay tests
* removing the rln test from the default imports of the v2 tests
* imports rln module conditionally
* removes the rln flag condition from the rln module
* separates rln data types from its procs
* adds the import statement
* brings back the contract def to the rln utils
* adds rln module import to the rln unit tests
* clean up and reorganization
* adds a todo
* minor edits on a comment
* Fix gcsafe issues with log account metrics function
Signed-off-by: kripsonud <kripsonud@gmail.com>
* Change Line ending to LF
* Minor changes to waku_swap
* Mount keepalive on chat2bridge and bridge (#591)
* Light push beta bump (#590)
Closes https://github.com/status-im/nim-waku/issues/565
* Filter and lightpush showcase (#593)
* Filter and lightpush showcase
* Fix log error
* Add swap account panel to grafana dashboard template
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* moves resume to after the relay is mounted
* Update waku/v2/node/wakunode2.nim
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
Co-authored-by: Hanno Cornelius <68783915+jm-clius@users.noreply.github.com>
* activates resume
* adds unit test
* add store condition
* mode debug info
* updates wakunode resume api and its unittest
* adds todo
* adds documentation
* edits resume documentation
* further edits on the docs
* removes a todo
* fixes a bug
* add resume to waku node api
* further updates on the node.md
* updates the changelog
* minor
* removes return type
* adds a brief desc of the resume to node.md
* Enable Swap by default
* Add PeerId and amount to Logs
* Add Policy function in swap protocol
* Modified Changelog to reflect changes to swap config
* Commented out test for updating account state after a cheque has been sent
* adds an optional list of peers to the resume proc
WIP working
adds unit tests
* cleans up and adds comments
* adds unittest for queryFrom
* converts queryLoop to a private func
* elaborates on the peer selection of the resume proc
* minor format correction
* returns the status of the resume call as a Result object
* updates unittest based on the new return type
* defines QueryResult type
* adds resume function
* unittest for findLastSeen
* fixes a bug in find last seen unit test
* argument type change to indexed waku message
* relocates findLastSeen
* adds unit test for resume
* adds comments
* adds a TODO
* adds offset
* cleans up
* modifies some of tests title and deletes a duplicate unit test
* more condition on running resume()
* adds more detailed docstring and simplifies if statement
* Update waku/v2/protocol/waku_store/waku_store.nim
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* new doc string
* Update waku/v2/protocol/waku_store/waku_store.nim
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* fixes a bug
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* Fix nim-waku config inconsistencies
* Revert staticnode to singular form
* Fix reference to deprecated config item
* Revert nodekey config item to be consistent with Waku v1
* WIP
* stores version in db, edits error messages
* fixes a bug
* reverts edit messages
* converts uint32 storage to int64
* unit tests for various version numbers
* minor comments edit
* removes debugging messages
* updates changelog
made resulting changes to waku_filter
Made changes to wakunode2, filter_api and waku_filter
Update waku v2 test scripts referencing Content Topics
Update ContentFilter in chat example
Remove unneccesary loops from filter api
closes#496
Apply keep-alive for chat2 (#525)
Makes the arguments of the store jsonrpc api optional (#526)
* makes pubsubTopic filter optional
* makes contentFilter optional
* append Option
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
Update Changelog with changes to ContentFilter
Fix indentation and code semantics
Enables perssist-message flag in the store protocol for wakunode2 (#519)
* enables perssistmessage flag
* disables in memory storage when persist-messages is false
* adds the persistMessages input to the mountStore
* defaults the store flag to true
* adds the missing argument
* persists messages in memory conditioned to the persistMessages flag
* adds persistmessages flag to the config_bridge
* defaults persistmessages to true
* defaults the store flag to true and persist-messages to false
* updates store.md
* updates chat2 instructions about --store flag
* removes --store flag from chat2 command execution
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
Fix: light-mode relay for all light protocols (#529)
* Fix: light-mode relay for all light protocols
* Clear up confusing use of overloaded concepts
Fix ContentFilter Schema in wakunode test script
Enables perssist-message flag in the store protocol for wakunode2 (#519)
* enables perssistmessage flag
* disables in memory storage when persist-messages is false
* adds the persistMessages input to the mountStore
* defaults the store flag to true
* adds the missing argument
* persists messages in memory conditioned to the persistMessages flag
* adds persistmessages flag to the config_bridge
* defaults persistmessages to true
* defaults the store flag to true and persist-messages to false
* updates store.md
* updates chat2 instructions about --store flag
* removes --store flag from chat2 command execution
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
Fix: light-mode relay for all light protocols (#529)
* Fix: light-mode relay for all light protocols
* Clear up confusing use of overloaded concepts
Fix resulting issues after merge
* enables perssistmessage flag
* disables in memory storage when persist-messages is false
* adds the persistMessages input to the mountStore
* defaults the store flag to true
* adds the missing argument
* persists messages in memory conditioned to the persistMessages flag
* adds persistmessages flag to the config_bridge
* defaults persistmessages to true
* defaults the store flag to true and persist-messages to false
* updates store.md
* updates chat2 instructions about --store flag
* removes --store flag from chat2 command execution
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* replaces topics with seq of ContentFilters
* update topics to contentFilter
* updates the contentFilter structure
one content topic per content filter instead of a sequence of topics
* updates store json rpc api
* renames ContentFilter to HistoryContentFilter
* unit test for a query with several content filters
* makes shortcut for store api
* updates chat2
* clean up
* renames topic to contentTopic
* adds pubsub topic to the history query
updates message store interface to return the pubsub topic
updates waku message store implementation
updates database schema to hold pubsub topi per waku message
* clarifies the use of content topic in store api
* clarifies the use of contentTopic in the init method of HistoryContentFilter
* simplifies the test and add comments
* lowers the field number of pubsub topic in historyQuery protobuf
* captures an empty contentFilter case
* test pubsub topic filter for the entire history and no message match
* demoves duplicates
* adds TODO
* fix a broken comment line
* updates waku store codec
* swaps the order of pubsub topic and content topic in protobuf
* Update waku/v2/protocol/waku_store/waku_store_types.nim
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* updates the pubsub topic to the default value
* bumps protocol id
* moves the comment close to IndexedWakuMessage
* adds checks to the store put method
* makes table title a constant variable and retitles the table to Message
* updates the changelog
* minor update
* minor
* adds pubsubtopic to the store json rpc api
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* replaces topics with seq of ContentFilters
* update topics to contentFilter
* updates the contentFilter structure
one content topic per content filter instead of a sequence of topics
* updates store json rpc api
* renames ContentFilter to HistoryContentFilter
* unit test for a query with several content filters
* makes shortcut for store api
* updates chat2
* clean up
* renames topic to contentTopic
* adds pubsub topic to the history query
updates message store interface to return the pubsub topic
updates waku message store implementation
updates database schema to hold pubsub topi per waku message
* clarifies the use of content topic in store api
* clarifies the use of contentTopic in the init method of HistoryContentFilter
* simplifies the test and add comments
* lowers the field number of pubsub topic in historyQuery protobuf
* captures an empty contentFilter case
* test pubsub topic filter for the entire history and no message match
* demoves duplicates
* adds TODO
* fix a broken comment line
* updates waku store codec
* swaps the order of pubsub topic and content topic in protobuf
* Update waku/v2/protocol/waku_store/waku_store_types.nim
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* updates the pubsub topic to the default value
* bumps protocol id
* moves the comment close to IndexedWakuMessage
* adds checks to the store put method
* makes table title a constant variable and retitles the table to Message
* updates the changelog
* minor update
* minor
* beta2 to beta3
* minor
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* lightpush conf and mount with relay from node
* mount lightpush after relay
* lightpush relay integration wip
* lightpush node integrate and test node
* clean
* replaces topics with seq of ContentFilters
* update topics to contentFilter
* updates the contentFilter structure
one content topic per content filter instead of a sequence of topics
* updates store json rpc api
* renames ContentFilter to HistoryContentFilter
* unit test for a query with several content filters
* makes shortcut for store api
* updates chat2
* clean up
* renames topic to contentTopic
* clarifies the use of content topic in store api
* clarifies the use of contentTopic in the init method of HistoryContentFilter
* 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
* adds time based query
* handling temporal history queries
* more tests for corner cases
* edits tests comments
* further comments
* updates the time query logic
queries with zero-size window will result in an empty response
* returns no messages for invalid time queries
* comment update
* converts contentTopics from int to string
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* Force chronological message history
* Fix start/end index computation
* Sleep before RPC call
* Lower default max cache sizes on APIs
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* 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>
* 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>
* entirely replaces the prior rln header, the var variables are changed to ptr
* updates the unittest of key_gen
* adds test for update_next_member
* updates membershipKeyGen internals and prototype
* adds createRLNInstance
* adds helpers methods
* adds generateKeyPairBuffer
* cleans up the test and adds comments
* renames merkleTreeDepth to d
* fixes a buf re decoding the keys into sk and pk
* adds getSKPK proc
* unifies key gen helper procs, adds todos
* comments out the createRLNInstance
* refactors the code based on the updated createRLNInstance interface
* adds the test for the verify proc
* fixes a variable name and replaces random key gen with the real key gen
* tests a simple hash
* adds get_root method
* fixes the data pointer issue and adds the proof breakdown
* adds rln
* adds unit tests for Merkle tree
* adds a sample hash test
* fixes the hash bug and comments out unused part of proof gen test
* cleans up the proof gent test
* replaces unsafeAddr with addr
* fixes an issue in key gen
* updates rln submodule
* fixes the verification problem
* adds a failed test
* replaces an old test scenario with a new one
* handles createRLNInstance output
* working createRLNInstance2
* refactors the code by replacing the old createRLNInstance
* renames createRLNInstance2
* adds documentation and reorganizes rln.nim
* replace echo with debug, renames vars, adds a bad proof test
* minor
* minor
* edits var names
* adds one more check
* adds one more test to the hash
* enforcing exception handling
* adds pacman -Sy
* removes update:true
* activates update
* 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.
* entirely replaces the prior rln header, the var variables are changed to ptr
* updates the unittest of key_gen
* adds test for update_next_member
* updates membershipKeyGen internals and prototype
* adds createRLNInstance
* adds helpers methods
* adds generateKeyPairBuffer
* cleans up the test and adds comments
* renames merkleTreeDepth to d
* fixes a buf re decoding the keys into sk and pk
* adds getSKPK proc
* unifies key gen helper procs, adds todos
* comments out the createRLNInstance
* refactors the code based on the updated createRLNInstance interface
* adds the test for the verify proc
* fixes a variable name and replaces random key gen with the real key gen
* tests a simple hash
* adds get_root method
* fixes the data pointer issue and adds the proof breakdown
* adds rln
* adds unit tests for Merkle tree
* deletes unnecessary comments
* updates createRLNInstance to return bool indicating the success of call
* updates create RLN Instance interface
* minor
* clean up
* removes unused imports
* adds documentation
* adds comments
* adds byteutils
* removes extra spaces
* updates rln submodule
* deletes genSKPK
* fixes a bug in membershipKeyGen
* unsafeAddr to addr
* Update waku/v2/protocol/waku_rln_relay/rln.nim
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* clean up
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
* Fix balance JSON resp
* Resultify swap contract calls for error handling
* More resultify and fixup tests
* More results
* resultify waku swap handling
* re-enable waku swap test
should not crash now, even if it fails to settle (tested separately)
* fix balance test
* move waku swap contracts into own module
* Move more to separate waku swap contracts
* move erc20address
* Improve cmd/task util
* fix redeem part too
* sign cheque hardcode
* add signature field, send cheque
* echo->debug
* disable waku swap test
it calls contracts, which isnt integrated
* cleans up imported modules
* adds uploadContract proc and consolidates rln-relay test files
* deletes test_rln_relay_wrappers
* deletes wrappers tests
* adds waku_rln_relay_utils
* adds the unit test for the membership key generation
* adds the key generation procedure
* adds unit test of key gen proc
* adds RLNRelayPeer data type
* adds the register proc
* adds the register proc unit test
* minor
* edits registration test
* adds comments to the registration unit test and relocates some constants
* defines constants variables for membership contract inputs and adds todos
* fixes a typo
* enables signed transaction
* adds registration into waku rln relay
* adds a TODO
* adds debug notes
* WIP add registration test
* integrates rln relay inputs into the mountRelay proc
* minor
* adds mountRelay
* renames RlnRelayPeer to WakuRlnRelay
* adds debugging notes
* changes the test title
* adds rln to gitignore
* cleans up tests, fixes a bug
* exposes mountRlnrelay, adds some comments
* fixes a bug
* deletes async pragma from mountRelay
* exposes the wakuRlnRelay field
* adds bash command to delete any existing rln directory before cloning the rln repo
* removes -v verbose flag from rln removal
* replaces await with WaitFor
* embed mountRlnRelay inside mountRelay
* cleans up imported modules
* adds uploadContract proc and consolidates rln-relay test files
* deletes test_rln_relay_wrappers
* deletes wrappers tests
* adds waku_rln_relay_utils
* adds the unit test for the membership key generation
* adds the key generation procedure
* adds unit test of key gen proc
* adds RLNRelayPeer data type
* adds the register proc
* adds the register proc unit test
* minor
* edits registration test
* adds comments to the registration unit test and relocates some constants
* defines constants variables for membership contract inputs and adds todos
* fixes a typo
* adds rln to gitignore
* moves all the types to the top
* adds contracts inputs to the utils module
* adds a TODO
* adds some comments
* removes newline! adds some comments
* cleans up imported modules
* adds uploadContract proc and consolidates rln-relay test files
* deletes test_rln_relay_wrappers
* deletes wrappers tests
* adds waku_rln_relay_utils
* adds the unit test for the membership key generation
* adds the key generation procedure
* adds unit test of key gen proc
* removes extra spaces
* Update tests/v2/test_waku_rln_relay.nim
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* deletes the newline
* adds rln to gitignore
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
* adds rlnlib dependency
* clones the full-node branch of rln repository
* moves rlnlib dependency to the deps target
* changes rlnlib path
* adds test_rln_relay_wrappers to the v2 tests
* loads rlnlib with different extensions based on the OS
* deletes unnecessary imports
* changes rlnlib extension to .exe for windows
* minor
* list files in rln/target/debug
* edits rln lib name for windows
* removes unnecessary commands
* edits some comments
* fetches specific commit of rln library
* adds the initial rln.nim wrapper
* adds test_rln_wrapper
* WIP: initial test (not working)
* changes RLNBn256 data type
* updates parameters type
* adds the wrappers and fixes the bugs
* adds tests
* replaces echo with debug
* enhancement/cleanup-warnings (#290)
Accounting: Move flag to config and add basic test for accounting state (#284)
* Accounting: Add config flag (default to false)
Also fix bug where query function is called twice when flag is set.
* Accounting: test state update after store req
Refactor: waku_types separation of concern (trial with waku_swap) (#282)
* waku_types refactor: Accounting types to waku_swap
* waku_types refactor: Separate waku_swap_types file
* Fix import path for waku_swap
adds the test file for waku rln relay
WIP: adds some initial code
commented out the rln-relay test code
refactor/db-message-store-split (#280)
* fixes
* fic
* fix
* fix
* fix
* fixed
* fix
* fixes
* fixes, using sqlite lib fully
* fix
* Update sqlite.nim
Waku v2 JSON-RPC REST API: Store protocol proof of concept (#263)
* Waku V2 history query POC
* Fix folder structure
* Improve test clarity
* Improve imports, returns and some naming
* Changed naming conventions. Refactor & improve.
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
Refactor types store (#291)
* 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
Accounting credit receiving node (#292)
* Accounting WIP: Swap access through Store
* Fix order bug and comment scenario + typo
* WIP
* Accounting: Account for receiving store node
- Turn accountFor function into credit and debit
- Misc formatting
* Accounting: Fix bugs related to mount and test
* Accounting: Simplify query signature
We already have a ref to wakuSwap through wakuStore now.
* Resolve rebase issues
enhancement/remove-flood (#295)
* removes flood
* rm
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
Updated submodules (#303)
add Jenkinsfile and some Makefile targets for CI (#302)
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
Accounting: End to end with Cheque PoC (#304)
Added some basic debug and relay json-rpc calls (#305)
Uncomment and call empty rln test
adds the membership contract to the test file
adds a test utils for contract deployment
increases the gas limit for group management contract
* removes some files
* WIP: adds the interface of membership contract
* uncomments the interface of getNumber contract
* adds tests for interaction with the membership contract
* send is replaced with call
* replaces call with send
* enhancement/cleanup-warnings (#290)
Accounting: Move flag to config and add basic test for accounting state (#284)
* Accounting: Add config flag (default to false)
Also fix bug where query function is called twice when flag is set.
* Accounting: test state update after store req
Refactor: waku_types separation of concern (trial with waku_swap) (#282)
* waku_types refactor: Accounting types to waku_swap
* waku_types refactor: Separate waku_swap_types file
* Fix import path for waku_swap
adds the test file for waku rln relay
WIP: adds some initial code
commented out the rln-relay test code
refactor/db-message-store-split (#280)
* fixes
* fic
* fix
* fix
* fix
* fixed
* fix
* fixes
* fixes, using sqlite lib fully
* fix
* Update sqlite.nim
Waku v2 JSON-RPC REST API: Store protocol proof of concept (#263)
* Waku V2 history query POC
* Fix folder structure
* Improve test clarity
* Improve imports, returns and some naming
* Changed naming conventions. Refactor & improve.
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
Refactor types store (#291)
* 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
Accounting credit receiving node (#292)
* Accounting WIP: Swap access through Store
* Fix order bug and comment scenario + typo
* WIP
* Accounting: Account for receiving store node
- Turn accountFor function into credit and debit
- Misc formatting
* Accounting: Fix bugs related to mount and test
* Accounting: Simplify query signature
We already have a ref to wakuSwap through wakuStore now.
* Resolve rebase issues
enhancement/remove-flood (#295)
* removes flood
* rm
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
Updated submodules (#303)
add Jenkinsfile and some Makefile targets for CI (#302)
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
Accounting: End to end with Cheque PoC (#304)
Added some basic debug and relay json-rpc calls (#305)
Uncomment and call empty rln test
adds the membership contract to the test file
adds a test utils for contract deployment
increases the gas limit for group management contract
* removes some files
* WIP: adds the interface of membership contract
* uncomments the interface of getNumber contract
* adds tests for interaction with the membership contract
* send is replaced with call
* replaces call with send
* adds a todo
* removes empty lines
* adds some comments
* adds a todo
* adds the solidity code of the NumberContract
* fixes a bug: replaces call with send
* removes store test comments
* removes excess spaces
* Accounting WIP: Swap access through Store
* Fix order bug and comment scenario + typo
* WIP
* Accounting: Account for receiving store node
- Turn accountFor function into credit and debit
- Misc formatting
* Accounting: Fix bugs related to mount and test
* Accounting: Simplify query signature
We already have a ref to wakuSwap through wakuStore now.
* Resolve rebase issues
* 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
* Accounting: Add config flag (default to false)
Also fix bug where query function is called twice when flag is set.
* Accounting: test state update after store req
* 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>