* 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
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
* clarifies the use of content topic in store api
* clarifies the use of contentTopic in the init method of HistoryContentFilter
* 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.
* 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>
* End to end chat example for Dingpu
Partially based on directchat example and previous example code.
Also adds existing cluster node to Nangang README.
* Update waku.nimble
* Update Makefile
Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
* Update Makefile
Co-authored-by: Dean Eigenmann <7621705+decanus@users.noreply.github.com>
* Upgrade all submodules
* Use stock standard_setup and remove our version
Switch no longer relies on Pubsub argument
* Fix peerId
* Add reference to WakuRelay in WakuNode
* Use WakuRelay ref directly instead of via switch
* Tweak standard switch sig
* Fix start_network peerid
* Import nim-libp2p utils test
* Use WakuRelay in test utils
* Fix utils imports
* Tweak
* Fix trigger self test
* Disable broken filter test
* Fix and amend logscope topics
* Make subscribe calls async to use await
* Add debug stuff to nimble file
* Await for subscribe content
* Sleeping in tests
* Local checkout fixes
* XXX: Try to use .PubSub on WakuRelay
* Revert "XXX: Try to use .PubSub on WakuRelay"
This reverts commit 3a3139e4cf.
* Only using gossip seems to work
Subscribe for floodsub broken
* Fix await in examples
* Get rid of double publish, still need sleep
* Add WakuMessage type
* Add WakuMessage encoding and decoding
Also clean up waku_types module and imports
* Clean up waku_relay module
Imports, remove old text test, make fields and functions public, format.
* Publish WakuMessage
Also fix type mismatch in RPC
* Make publish work in examples, node and protocol
* Parse protobuf content in examples
* Update docs
* Update waku/node/v2/waku_types.nim
* Fix compilation error and disable out of date waku test
Co-authored-by: Kim De Mey <kim.demey@gmail.com>
* Make basic Waku v2 examples run again
Regression introduced in https://github.com/status-im/nim-waku/pull/117
Happened due to example not being run on CI.
- Add wakuexample to all target
- Fix example2 to run
- Basic formatting
* Update examples/v2/basic2.nim
Co-authored-by: Kim De Mey <kim.demey@gmail.com>
* Update examples/v2/basic2.nim
* Update examples/v2/basic2.nim
* Update examples/v2/basic2.nim
Co-authored-by: Kim De Mey <kim.demey@gmail.com>
* WakuNode init without WakuNodeConf
* WakuNode start without WakuNodeConf
* setupNat adjustments for making common version
* Move setupNat to common.nim to be used for v1 and v2
- Remove wakuRelayProto as this is initiated as part of switch PubSub
- Move WakuNode type into waku_types to avoid circular references
- Make necessary adjustments to get tests and sim to work
* Waku v2: Update docs and API with current state
- Publish and subscribe implemented
- Three protocol split
* Update docs/api/v2/node.md
Co-authored-by: Kim De Mey <kim.demey@gmail.com>
* Update waku/node/v2/wakunode2.nim
Co-authored-by: Kim De Mey <kim.demey@gmail.com>
Co-authored-by: Kim De Mey <kim.demey@gmail.com>
* Make Waku node async and gcsafe, hacky
...but the nimbus people are doing it!
* Add skeleton example usage
* Rename example to basic2 and add to Makefile
* Sketch out basic example and qualify imports etc
Loading config to start with.
Quite messy with imports/ambiguous identifiers/qualified names. Probably a
better way with exports (hide implementation details) and fully qualified names
by default?
* Example usage run, public run function
* Sketch out API usage
* Example basic RPC client usage
* waitFor run to compile
* Remove run and gsync markers; adjust example