50 Commits

Author SHA1 Message Date
fryorcraken.eth
d946e443ad
refactor: remove Waku from protocol names
This is redundant with the context (waku package).
2022-12-12 22:36:13 +11:00
fryorcraken.eth
574f3ee80f
refactor: remove waku_ from module names
This is redundant with the context (waku package).
2022-12-12 22:36:13 +11:00
fryorcraken.eth
53af8994bd
feat: added I prefix to protocols interfaces
This will enable the remove of `Waku` prefix on all protocol
implementations, which is redundant due to the context.
2022-12-12 22:36:09 +11:00
fryorcraken.eth
cc691e26ce
feat: added I prefix to message/codec interfaces
To make it easier to differentiate with their implementations.
2022-12-12 22:13:46 +11:00
Danish Arora
0ca7fd790c
feat!: implement peer exchange (#1027)
* wip -- yet to test

* update: draft

* wip

* support passing flags manually to nwaku node

* refactor peer-exchange test

* switch response from uint8array to ENR

* rm: unnecesary logs

* implement clas

* fix: for loop

* init-wip: directories

* setup: new package & fix circular deps

* bind a response handler

* wip: refactor & update test

* test logs

* wip code - debugging

* address: comments

* Update packages/core/src/lib/waku_peer_exchange/peer_discovery.ts

Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>

* Update packages/core/src/lib/waku_peer_exchange/peer_discovery.ts

Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>

* address: comments

* address: comments

* address: comments

* address: comments

* address: comments

* fix: test build

* refactor

* fix: build

* comply with API

* numPeers: use number instead of bigint

* fix: build

* Update packages/peer-exchange/package.json

Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>

* Update packages/peer-exchange/src/waku_peer_exchange.ts

Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>

* Update packages/peer-exchange/src/waku_peer_exchange.ts

Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>

* Update packages/peer-exchange/src/waku_peer_exchange.ts

Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>

* address: comments, add eslint config

* Update packages/peer-exchange/.eslintrc.cjs

Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>

* Update packages/peer-exchange/src/index.ts

Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>

* address comments

* test works with test fleet

* rm: only for px test => run all tests

* fix: tests

* reorder packages for build, and fix imports

* remove: px test doesnt work with local nodes

* chore: move proto into a separate package

* fix: proto dir

* fix: build

* fix: ci

* add: index for proto

* fix: ci

* Update packages/proto/package.json

Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>

* address comments

* chore: run failing test with higher timeout

* chore: run failing test with higher timeout

* fix: ci

Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>
2022-12-07 11:35:30 +05:30
Danish Arora
56009d3b26
chore: move proto into a separate package (#1057)
* chore: move proto into a separate package

* fix: proto dir

* fix: build

* fix: ci

* add: index for proto

* fix: ci

* Update packages/proto/package.json

Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>

Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>
2022-12-07 10:19:40 +05:30
Danish Arora
03e00225bd
chore: move libp2p utils from @waku/core to new package (#1056)
* add: libp2p-utils

* address: comments
2022-12-06 15:46:10 +05:30
fryorcraken.eth
80d7215e15
doc: createEncoder and createDecoder 2022-12-05 16:05:20 +11:00
fryorcraken.eth
84c477984f
fix: remove ephemeral argument for Decoder 2022-12-05 16:05:20 +11:00
fryorcraken.eth
a4ddb45af1
chore: do not use Partial when not needed 2022-12-05 15:14:51 +11:00
fryorcraken.eth
ad15f861c3
feat!: hide Decoder/Encoder classes to user
Reasoning: by exposing the `Decoder` and `Encoder` classes to the user,
the user may care about them, try to use the method etc.

By "hiding" them away and providing `create*` help, the aim is for the
user to just call a function instead of instantiating a class.

Also, `V0` does not provide much information to the user so removing it.
2022-12-05 09:34:17 +11:00
fryorcraken.eth
0f5bef78d1
feat: remove V0 suffix from Decoder/Encoder 2022-12-05 09:34:17 +11:00
fryorcraken.eth
88c6ec6ef4
chore: add '.js' extensions to local import
As per ESM standard.
2022-12-02 15:54:30 +11:00
danisharora099
1314930765
fix: store 2022-11-22 23:03:31 +05:30
danisharora099
36a01c3c30
address comments 2022-11-21 13:20:21 +05:30
danisharora099
100eb4c4b4
Merge branch 'master' into danisharora/cursor-support-store 2022-11-17 13:00:48 +05:30
fryorcraken.eth
ee009742c3
Merge branch 'master' of github.com:waku-org/js-waku into danisharora/add-user-agent 2022-11-17 14:41:01 +11:00
fryorcraken.eth
c8e286a42a
test: Fix flaky ephemeral test and general improvement
The messages were sent at the same time over light push so there was
no strong order preservation from the behaviour.
Correction: order does not matter, just check that messages aren't
present.

Messages were only checked for `ephemeral` being false + one test was
doing several checks.
Correction: split the test and use light push + filter to check
ephemeral field value preservation.
2022-11-17 12:31:33 +11:00
fryorcraken.eth
a372307a30
refactor: adopt dependency injection patter for other Waku protocols
It actually simplies the API as the caller does not need to pass
libp2p to each protocol anymore (when not using a `create*` helper).
2022-11-17 12:06:43 +11:00
Danish Arora
708d48a914
Merge branch 'master' into danisharora/add-user-agent 2022-11-17 01:21:46 +05:30
danisharora099
0627a803ea
verbose error message 2022-11-16 19:06:04 +05:30
danisharora099
0f73c0f331
address comments 2022-11-16 19:00:09 +05:30
danisharora099
5c4118041e
fix: cursor 2022-11-16 18:57:46 +05:30
fryorcraken.eth
8dfb133cd7
fix: libp2p upgrade (no more autodial + constructor dependency injection) 2022-11-16 21:27:33 +11:00
fryorcraken.eth
9d2df1d620
chore: bump libp2p to 0.40.0 2022-11-16 21:27:32 +11:00
Danish Arora
9613e9c41d
Merge branch 'master' into danisharora/cursor-support-store 2022-11-16 13:26:35 +05:30
fryorcraken.eth
59992832fe
feat!: add Waku Message ephemeral support 2022-11-16 11:00:43 +11:00
danisharora099
c012748bb7
address comments 2022-11-15 18:08:21 +05:30
fryorcraken.eth
a0162febc7
chore: remove unnecessary ts-ignore 2022-11-15 22:01:27 +11:00
fryorcraken.eth
12fa89c930
fix: defaults to mounted protocol when dialing 2022-11-15 22:01:27 +11:00
fryorcraken.eth
584fe29b39
chore: improve log format 2022-11-15 22:01:26 +11:00
danisharora099
0169a0ccb1
functionality works! test wip 2022-11-15 05:17:24 +05:30
Danish Arora
00e57d61ec
Update packages/core/src/lib/waku.ts
Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>
2022-11-11 19:51:27 +05:30
danisharora099
71fe047254
add: support for user agent to identify libp2p 2022-11-10 22:44:53 +05:30
fryorcraken.eth
8aa9b43f61
feat!: split outgoing and incoming message interface
While the data structure are similar, they serve different purposes.
Having the same type has show to confuse API consumers

Resolves #979
2022-11-04 14:30:59 +11:00
fryorcraken.eth
e6efd0438c
chore: make message-encryption compile 2022-11-04 11:38:32 +11:00
fryorcraken.eth
256b7223f3
chore!: extract version-1 from chore 2022-11-04 11:28:14 +11:00
fryorcraken.eth
21e5e41b0a
chore: build core package 2022-11-03 14:24:08 +11:00
fryorcraken.eth
9cc32c1032
tests: fix karma 2022-11-03 14:24:08 +11:00
fryorcraken.eth
8a00bc1b85
chore!: extract utils from core 2022-11-03 14:24:08 +11:00
fryorcraken.eth
f7f28f03b0
feat!: extract dns discovery and enr from core 2022-11-03 14:24:08 +11:00
fryorcraken.eth
3d08cb28c8
chore: move tests to separate package 2022-11-01 20:13:09 +11:00
fryorcraken.eth
a30354cbd0
test: fix ENR test 2022-11-01 19:46:02 +11:00
fryorcraken.eth
9d74c9f6fe
fix: core check pass 2022-11-01 19:33:33 +11:00
fryorcraken.eth
057507f94f
fix: @waku/interfaces 2022-11-01 16:30:24 +11:00
fryorcraken.eth
16eaa911a9
chore: new @waku/interfaces package 2022-11-01 14:48:52 +11:00
fryorcraken.eth
37c1e6b968
chore: new @waku/create package 2022-10-31 14:47:12 +11:00
fryorcraken.eth
670816049a
chore: remove unneeded declaration 2022-10-31 11:27:07 +11:00
fryorcraken.eth
2e60d90d7d
chore(deps): bump @multiformats/multiaddr to 11.0.6 2022-10-31 09:32:45 +11:00
fryorcraken.eth
b975943e90
chore: move js-waku to ./core 2022-10-30 17:57:15 +11:00