156 Commits

Author SHA1 Message Date
Dean Eigenmann
7bc0381768 fix/message-notifier-async (#169)
* made async

* fixes

* unused

* eol
2020-09-17 22:10:41 +02:00
Oskar Thorén
f234126ffd Bump relay protocol to beta1 (#164)
As of https://github.com/vacp2p/specs/pull/185
2020-09-17 19:24:27 +08:00
Dean Eigenmann
277f98d21d feature/subscriptions-in-node (#141)
* test

* Update wakunode2.nim

* input from @kdeme

* Update wakunode2.nim

* moved

* Update waku_message.nim

* fixed

* fix

* fix

* fix

* fix

* fix
2020-09-17 10:17:52 +08:00
Oskar Thorén
72b6e7debc 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 3a3139e4cfbb5ae9500fd30b2e79c676ccc4a53b.

* 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
Dean Eigenmann
4906149b27 fix/message-notifier-message-to-waku-message (#159)
* update message type

* cleanup
2020-09-16 10:59:10 +08:00
856f955bd4 dockerfile: parametrizing entrypoint doesn't work
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-09-11 14:02:13 +02:00
Dean Eigenmann
8da80a9887 feature/subscribe-to-waku (#152)
* sub by default

* added

* fmt

* fix

* moved

* removed

* fix
2020-09-11 13:28:27 +02:00
Oskar Thorén
49e5eb44f5 JSON RPC: Use WakuNode instead of WakuRelay (#154)
* Using Node publish for JSON RPC

Compiles, untested

* Subscribe and print waku message

* Readable string

* Use actual input
2020-09-11 15:49:45 +08:00
672150001c parametrize Dockerfile to make wakunode2
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-09-11 08:23:38 +02:00
Kim De Mey
17089edab5 Minimal changes of splitting API and CLI code to make import in wakurpc work (#153) 2020-09-11 12:16:45 +08:00
Dean Eigenmann
448f4554c3 spec/alpha-v4 (#151) 2020-09-10 13:16:31 +02:00
Oskar Thorén
1b12c67f0c Add basic rpc scripts to publish and subscribe (#140)
* Add basic rpc scripts to publish and subscribe

* Fix publish topic and payload script

Also change parameter name in waku relay due to weird shadowing of log
topic:

DBG 2020-09-09 12:07:54+08:00 waku_publish                               tid=8795 file=wakurpc.nim:30 topic=waku payload=@[]
DBG 2020-09-09 12:07:54+08:00 publish                                    tid=8795 file=waku_relay.nim:65 topic=WakuRelay

Above should show topic=waku but it gets topic=WakuRelay from log scope
for some reason.

* Scripts take arguments

* Add basic nangang tutorial

* Update docs/tutorial/nangang.md

Co-authored-by: Kim De Mey <kim.demey@gmail.com>

* Update docs/tutorial/nangang.md

Co-authored-by: Kim De Mey <kim.demey@gmail.com>

* meh

* ENsure subscribe call succeeds

Co-authored-by: Kim De Mey <kim.demey@gmail.com>
2020-09-10 12:18:35 +08:00
Dean Eigenmann
eaf76c17ea feature/mount-filter-protocol (#125) 2020-09-07 14:22:46 +02:00
Dean Eigenmann
f511e474de refactor/rename-filter-subscription (#138)
* fixes

* added

* added comment
2020-09-07 13:26:32 +02:00
Dean Eigenmann
9ab9763d57 enhancement/push-based-filter (#136)
* updated protobuf

* updated test
2020-09-07 11:12:27 +02:00
Dean Eigenmann
31bbdf1d99 enhancement/filter-rpc-tests (#130)
* added a test for rpc filter

* rm

* fix
2020-09-03 16:42:56 +08:00
Kim De Mey
6ae03e5bc7 Remove filter parts from relay as this is obsolete (moved to WakuNode) (#132) 2020-09-02 16:52:00 +02:00
Kim De Mey
c3358168f9 Move filter.notify to WakuRelay handler and add test (#128) 2020-09-02 11:15:25 +08:00
Dean Eigenmann
1448f03827 feature/mount-store (#111)
* mounts the store protocol

* todo

* Update waku/node/v2/wakunode2.nim

Co-authored-by: Oskar Thorén <me@oskarth.com>

* fix

* Update waku/node/v2/wakunode2.nim

Co-authored-by: Oskar Thorén <me@oskarth.com>

* eol

Co-authored-by: Oskar Thorén <me@oskarth.com>
Co-authored-by: Oskar Thorén <ot@oskarthoren.com>
2020-09-02 11:08:48 +08:00
Kim De Mey
52bdd2aa2f Add CI job timeout of 60 minutes (#127) 2020-09-01 19:47:16 +02:00
Oskar Thorén
6c511c92c5 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
Kim De Mey
91344e3ce2 Fix compile failure + CI endless example run (#126) 2020-09-01 15:43:06 +02:00
Oskar Thorén
6f1297c58b 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
Oskar Thorén
46e395ec56 Partial filter (#120)
* start work on filter protocol

* init functions for protobufs

* comment

* added init

* playing around with subscribers

* Update waku_filter.nim

* added test for protobuf

* fixes

* fix

* Update test_waku_filter.nim

* Update waku_filter.nim

* Add note on status

Co-authored-by: decanus <7621705+decanus@users.noreply.github.com>
2020-09-01 11:03:17 +08:00
Kim De Mey
d74a869910 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
Kim De Mey
2a77ecc2bf V2cleanup (#115)
* Cleanup of warnings + imports, etc.

* Remove connected_peers metric as there is already libp2p_pubsub_peers
2020-08-31 11:32:41 +08:00
Dean Eigenmann
cfc7575ea7 enhancement/request-id-to-uuid (#113) 2020-08-28 13:07:52 +02:00
Oskar Thorén
1b49702538 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
288b49f636 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
f2525d752b Properly exit when address is already in use, fix #15 (#108) 2020-08-27 10:44:52 +08:00
Dean Eigenmann
a13526fe87 feature/store-protocol (#102)
* started working on store protocol

* eol

* update

* fix

* encoding

* started

* started working on decoding

* fixes

* started fleshing out tests

* testing

* encode / decode test

* eol

* fix test

* fmt

* errors

* testing entire rpc now

* fix

* format

* added comment

* removed StoreRPC

* added comment

* readded the store rpc

* updated

* fix tests
2020-08-27 10:44:09 +08:00
Kim De Mey
3ec94442b4 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
Oskar Thorén
b96a0931a8 Refactor: Waku protocol -> Waku relay protocol (#104)
* Refactor: Waku protocol -> Waku relay protocol

Including updating protocol string.

Addresses https://github.com/status-im/nim-waku/issues/101

* Refactor: WakuSub -> WakuRelay
2020-08-26 19:28:24 +08:00
Oskar Thorén
b5525289eb Refactor Makefile and remove old task (#107) 2020-08-26 11:02:56 +02:00
Dean Eigenmann
ff28255fd1 feature/historic-api (#95)
* started working on historic api

* very rough code

* moved

* also publishing

* todos

* added tests

* added

* fix
2020-07-29 15:24:01 +02:00
Dean Eigenmann
224411deb0 Delete .appveyor.yml (#96) 2020-07-29 12:38:09 +08:00
Dean Eigenmann
f9b2392e1c enhancement/move-standard-setup (#94)
* moves out

* oops

* setup

* fix
2020-07-28 13:00:34 +02:00
Dean Eigenmann
51d521d3ef enhancement/init-function-signature-type (#93) 2020-07-28 12:28:32 +02:00
Oskar Thorén
4d9a7e4641 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
4460adf7bf 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
f938fc9efb 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
Dean Eigenmann
af7e29cbfa fix/filters (#79)
* fixes, using rpc msgs

* clean

* moved
2020-07-27 12:25:03 +02:00
Oskar Thorén
3e7d1cbba6 Simplify Node API (#77)
* Waku v2 Node API: Split into implemented and NYI

- Init is now separated into Create and Start node

* Simplify Node API

* Node API: proc->method and add WakuNode as first argument

* Fix indent to make compile

* Stub out all API methods
2020-07-27 17:01:06 +08:00
Oskar Thorén
32bddd2ad6 Node: Separate run into create Wakunode and start (#59) 2020-07-24 09:39:58 +08:00
Dean Eigenmann
f57926bb19 enhancement/protobuf (#47)
* changed to data

* fix

* updated

* checkpoint

* sending protobuf

* working on tests

* bump

* fix

* fix

* fix

* testing

* Update test_waku.nim
2020-07-23 10:53:29 +08:00
Dean Eigenmann
8517755a85 feature/filter (#63)
* simplified filter

* add filter

* eol

* Update waku_protocol2.nim

* trigger GitHub actions

* comment

* fix import

* oops

* and

* init filters

* import tables
2020-07-22 18:29:52 +02:00
Dean Eigenmann
374554678a fix/github-actions-nproc (#70) 2020-07-22 16:16:08 +02:00
Dean Eigenmann
c807723ede fix/github-actions-submodules (#71)
* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml

* Update test.yml
2020-07-22 13:56:23 +02:00
Dean Eigenmann
8a1b757215 fix/github-actions-cache (#69)
* better cache

* rename

* test cache

Signed-off-by: decanus <7621705+decanus@users.noreply.github.com>

* fix

* windows cache

* rename
2020-07-22 12:48:53 +02:00
Dean Eigenmann
631fd11b52 fix/github-actions-windows (#68)
* added windows

* mv

* Update test_windows.yml

* converge

* indent
2020-07-21 20:12:03 +02:00