Commit Graph

184 Commits

Author SHA1 Message Date
Oskar Thorén 63b0e8af76
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
2020-11-24 12:53:42 +08:00
Oskar Thorén 44e9d4d86b
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
2020-11-24 12:34:32 +08:00
Oskar Thorén f8aff5756c
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
2020-11-21 13:31:48 +08:00
Oskar Thorén 010408aadb
Minimal accounting state PoC (#278)
* Add basic WakuSwap type and init

* Mount swap protocol and keep accounting state

* Flags off by default
2020-11-18 20:45:51 +08:00
Hanno Cornelius e68fe50bc1
Updated submodules (#279) 2020-11-18 13:58:46 +02:00
Oskar Thorén 9518322198
Folder restructure (#274)
* 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>
2020-11-17 17:34:53 +08:00
Hanno Cornelius 24f4a087de
Feature/unsubscribe from content filter (#255)
Unsubscribe from a content topic

Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
2020-11-10 09:13:16 +02:00
Kim De Mey 0b70fe61a4
Add encoding/decoding of payload for Waku v2 (#251)
* Add encoding/decoding of payload for Waku v2

* Allow for Waku v1 payload in chat through compile time flag
2020-11-03 21:20:40 +01:00
Oskar Thoren 4b21bb6b9b
Default topic: waku -> /waku/2/default-waku/proto 2020-10-28 13:19:43 +08:00
Dean Eigenmann 45d57efaea
feature/add-filter (#244)
* started working on adding filter

* fix

* fix

* fix

* not subscribing

* fix

* filter

Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
2020-10-27 11:40:29 +01:00
Kim De Mey aab93912ef
Cleanup the wakunode2 config (#242) 2020-10-22 17:04:17 +02:00
Dean Eigenmann bfb29338a1
fixes/wait-for-start (#228)
* fixes subscribe to wait for start

* moved around

* added test

* fix

* eol

* rm

* removed as waku is default

* updated docs

* fix

* Update node.md

* Update node.md

* Update wakunode2.nim

* Update wakunode2.nim

* fix test

* rm

* fix

* fixes

* fixes

* fix

* fix

* using connect

* fix

* fix

* Update wakubridge.nim

* Update wakunode2.nim
2020-10-22 13:12:00 +02:00
Dean Eigenmann 5ddd8701c9
fix/content-type-int (#235)
* fixes

* fixes

* using a better topic

* fix

* fixed
2020-10-21 16:55:06 +08:00
Dean Eigenmann b2edfe8dda
feature/start-protocol-command (#209)
* started working

* fixes

* rename start -> mount

* started logging

* mounting relay

* Update wakunode2.nim

* start of fixe

* fix

* fix

* fixes

* Update waku/node/v2/wakunode2.nim

Co-authored-by: Oskar Thorén <ot@oskarthoren.com>

* removed comment

* fix

* update

* changed the default

Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
2020-10-20 10:36:27 +08:00
Dean Eigenmann 5c25ed131a
enhancement/integrate-store-chat (#230)
* added store protocol

* setting peer

* fix

* line

* Update dingpu.md

* Update chat2.nim

* Update dingpu.md

* Update dingpu.md

* playing around

* fix

* fix

* fixes

* tested

* tested and finalized

* fix

* Update docs/tutorial/dingpu.md

Co-authored-by: Oskar Thorén <ot@oskarthoren.com>

* Update chat2.nim

* fix

Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
2020-10-15 13:56:53 +02:00
Oskar Thoren e3099f1ab3
Revert "enhancement/integrate-store-chat (#208)"
This reverts commit 5c338ba731.

Breaks chat2
2020-10-15 13:06:09 +08:00
Dean Eigenmann 5c338ba731
enhancement/integrate-store-chat (#208)
* added store protocol

* setting peer

* fix

* line

* Update dingpu.md

* Update chat2.nim

* Update dingpu.md

* Update dingpu.md

* playing around

* fix

* fix
2020-10-14 14:33:21 +02:00
Oskar Thorén d6fdecafd8
Fix timing issue with subscribe in chat2 (#226)
- Support static node
- Ensure nodes are connected before subscribing
- Sleep to allow settling down before subscribing
- Default chat2 log to DEBUG
2020-10-14 18:34:29 +08:00
Kim De Mey 7a3e18d4b0
And update example readme with correct make target 2020-10-09 09:32:05 +02:00
Kim De Mey daeb736335
Cleanup warnings in v1 and split test target in Makefile (#211)
* Cleanup warnings in v1 and split test target in Makefile

* Remove protocol2 target and get chat2 build in CI
2020-10-08 11:10:45 +02:00
Oskar Thorén 75be455272
Basic end to end chat for Dingpu (#195)
* 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>
2020-10-01 19:38:32 +08:00
Oskar Thorén a8dbf8a7b6
Bump submodules (#157)
* 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
2020-09-16 12:23:10 +08:00
Oskar Thorén f828736e1c
Add support for WakuMessage and merge publish function (#122)
* 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>
2020-09-01 17:20:38 +02:00
Oskar Thorén e8d3156571
Make basic Waku v2 examples run again (#123)
* 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>
2020-09-01 16:32:19 +08:00
Kim De Mey ea0d62993d
WakuNode init without WakuNodeConf (#117)
* 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
2020-09-01 10:09:54 +08:00
Oskar Thorén 705b4b32a1
Waku v2: Simplify Waku Relay references (#112)
- 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
2020-08-28 17:08:28 +08:00
Oskar Thorén bab0e12d68
Waku v2: Update docs and API with current state (#110)
* 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>
2020-08-27 18:15:46 +08:00
Kim De Mey e875dfd1d7
Properly exit when address is already in use, fix #15 (#108) 2020-08-27 10:44:52 +08:00
Kim De Mey 4314dcf6e9
Add Waku v1 usage example, fix #54 (#106)
* Add Waku v1 usage example, fix #54

* Add readme for example and fix typos
2020-08-26 14:20:04 +02:00
Dean Eigenmann 2d6c5ae9a1
enhancement/init-function-signature-type (#93) 2020-07-28 12:28:32 +02:00
Oskar Thorén 4745135ee6
Node API: Implement publish (#91)
* Fix init signature according to Node API

See https://github.com/status-im/nim-waku/blob/master/docs/api/v2/node.md

* Update docs and example

* Node API: Basic subscribe

* Modify example with subscribe handler

* Waku Node: Implement basic publish topic
2020-07-28 16:18:30 +08:00
Oskar Thorén ad5d5e2401
Node API: Implement basic subscribe topic (#89)
* Fix init signature according to Node API

See https://github.com/status-im/nim-waku/blob/master/docs/api/v2/node.md

* Update docs and example

* Node API: Basic subscribe

* Modify example with subscribe handler
2020-07-28 16:17:50 +08:00
Oskar Thorén 1ca3962e8d
Fix init signature according to Node API (#80)
* Fix init signature according to Node API

See https://github.com/status-im/nim-waku/blob/master/docs/api/v2/node.md

* Update docs and example
2020-07-28 16:06:00 +08:00
Oskar Thorén e493c84b2a
Add basic example usage for Waku v2 (#52)
* 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
2020-07-20 12:40:35 +08:00