Danish Arora
e0e8e655f8
chore: fix peer discovery peer-exchange ( #1069 )
...
* fix: discovery for peer-exchange
use the bootstrap node as a starter to send a
peer-exchange query to, and emit the response
peers received from it for further connection to
libp2p using the peer-discovery interface
* init: test for libp2p bootstrap/discovery for
peer-exchange
* temp-add: console.logs for easier debugging
* add: peer discovery test & rm: console.logs
* chore: rm and redundant spec test
* add: interval for peer exchange queries
we set an interval to query a peer every 5 minutes
for peer exchange, and add new peers if found
* address: reviews
- add `type` for imports not using values
- better handling for peer-exchange query interval
* chore: fix tsc for peer-exchange
use node16 for module resolution
* chore: add extra exports to fix typedoc warnings
ref: https://github.com/TypeStrong/typedoc/issues/1739
2023-01-04 14:35:44 +05:30
weboko
a2d79c2551
Merge branch 'master' of github.com:waku-org/js-waku into weboko/missing-dep
2022-12-23 14:39:25 +01:00
Danish Arora
d022d8700b
chore: remove unused relay protocol identifier ( #1063 )
...
* chore: remove unused relay protocol identifier
* update: changelog
2022-12-23 17:08:41 +05:30
weboko
fb9bb35042
fix: move deps from dev deps
2022-12-23 00:24:38 +01:00
weboko
ae764bc31e
add missing deps to workspaces
2022-12-23 00:18:16 +01:00
fryorcraken.eth
ac4ff5a00a
chore: fix links in docs, treat doc warnings as errors
2022-12-21 16:47:00 +11:00
fryorcraken.eth
f48278adce
chore: remove waku dep from @waku/interfaces by defining IEnr
...
@waku packages are expected to (dev)depend on @waku/interfaces to
implement them. Hence, to avoid possible cyclic (dev)dependency, define
IEnr interface and use it as a type across @waku/packages.
2022-12-21 15:40:34 +11:00
dependabot[bot]
abaa29df18
build(deps-dev): bump @types/node from 17.0.45 to 18.11.17
...
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node ) from 17.0.45 to 18.11.17.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases )
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node )
---
updated-dependencies:
- dependency-name: "@types/node"
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-12-20 13:57:43 +00:00
fryorcraken.eth
89571ff497
feat!: remove peer exchange from protocols to wait on by default
...
This is because peer exchange is still experimental and not enabled
on all prod fleets.
The issue is that we could be connected to a remote peer with relay/
filter/lightpush yet never resolve because peer exchange is missing.
This also shows the limit of this function logic which should be
addressed as we dive deeper in peer management.
2022-12-20 23:00:30 +11:00
fryorcraken.eth
bff9b857ec
fix: export `Encoder` and `Decoder` types
...
Enables API consumer to use the types.
2022-12-20 16:11:41 +11:00
fryorcraken.eth
d234c4df76
chore: release @waku/create@0.0.6
2022-12-19 16:58:30 +11:00
fryorcraken.eth
1f003e7691
chore: release @waku/message-encryption@0.0.7
2022-12-19 16:56:40 +11:00
fryorcraken.eth
b060e88c27
chore: release @waku/core@0.0.8
2022-12-19 16:54:22 +11:00
fryorcraken.eth
75c8e2be8d
fix: incorrect `proto` import
2022-12-19 16:27:26 +11:00
fryorcraken.eth
e292855742
fix: missing dependencies
2022-12-19 16:26:56 +11:00
fryorcraken.eth
e0fd4433e7
fix: remove invalid re-export
2022-12-19 16:16:07 +11:00
fryorcraken.eth
803a0b4a12
fix: missing dependency declarations
2022-12-16 12:48:36 +11:00
fryorcraken.eth
541056abfe
chore: release @waku/message-encryption@0.0.6
2022-12-16 12:28:40 +11:00
fryorcraken.eth
36327c9222
fix: add `typesVersions` so import works with `moduleResolution: node`
2022-12-16 12:10:14 +11:00
fryorcraken.eth
b828903ef0
chore: release @waku/create@0.0.5
2022-12-15 14:51:45 +11:00
fryorcraken.eth
c4647d58c6
chore: release @waku/message-encryption@0.0.5
2022-12-15 14:50:20 +11:00
fryorcraken.eth
e5c1e20681
chore: release @waku/dns-discovery@0.0.3
2022-12-15 14:48:55 +11:00
fryorcraken.eth
3312c6134a
chore: release @waku/core@0.0.7
2022-12-15 14:47:14 +11:00
fryorcraken.eth
de1643be61
chore: release @waku/interfaces@0.0.6
2022-12-15 14:43:15 +11:00
fryorcraken.eth
01981dc184
chore: release @waku/enr@0.0.3
2022-12-15 14:41:30 +11:00
fryorcraken.eth
63f6316b42
chore: release @waku/libp2p-utils@0.0.1
2022-12-15 14:37:56 +11:00
fryorcraken.eth
edf5d438cb
test: remove `--nat` option when starting nwaku
2022-12-15 13:54:07 +11:00
fryorcraken.eth
a640e2c940
refactor: remove dupe code
2022-12-13 15:23:39 +11:00
dependabot[bot]
872c9cd0df
build(deps-dev): bump cspell from 5.21.2 to 6.17.0
...
Bumps [cspell](https://github.com/streetsidesoftware/cspell ) from 5.21.2 to 6.17.0.
- [Release notes](https://github.com/streetsidesoftware/cspell/releases )
- [Changelog](https://github.com/streetsidesoftware/cspell/blob/main/CHANGELOG.md )
- [Commits](https://github.com/streetsidesoftware/cspell/compare/v5.21.2...v6.17.0 )
---
updated-dependencies:
- dependency-name: cspell
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-12-13 13:46:02 +11:00
fryorcraken.eth
9ac92ef99d
test: use LightNode interface
2022-12-13 10:58:07 +11:00
fryorcraken.eth
c6b86a33bc
doc: update changelogs
2022-12-12 22:36:14 +11:00
fryorcraken.eth
f743cfd1ca
chore: rename node interfaces to include `Node` in name
...
Also rename node with only relay to `RelayNode`.
2022-12-12 22:36:14 +11:00
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
8f01a453f7
test: usage of `DecodedMessage` class is preferred
...
This is because `IDecodedMessage` does not include all possible field of
messages from a specific decoder (ie, signature public key, etc) so
usage of the `DecodedMessage` class associated with the used decoder is
preferred.
2022-12-12 22:13:47 +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
fryorcraken.eth
a7c4bb9cbf
refactor: split interface definition in separate files
2022-12-12 22:13:45 +11:00
Danish Arora
d6de62a391
chore: remove relay as default when starting nwaku for tests ( #1044 )
...
* chore: redeploy
* remove: relay as default for nwaku
* address: comments
* remove relay as default and add where needed
* Update packages/tests/tests/light_push.node.spec.ts
Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>
Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>
2022-12-12 11:08:08 +05:30
Danish Arora
eecdb6aeeb
chore: upgrade to node 18 ( #1061 )
...
* chore: change `localhost` -> `127.0.0.1`
There is a change in how Node does DNS resolution in Node 18 vs
16 -- `localhost` resolves to `::1`, which is the equivalent of
`127.0.0.1` but in IPv6 instead of IPv4. The server however is
only listening on IPv4.
Reference:
https://github.com/nodejs/node/issues/40702#issuecomment-958143154
* refactor: change node version on CI from 16 to 18
2022-12-12 10:52:17 +05:30
Danish Arora
6e4ff0f2b8
fix: revert timeout on test ( #1059 )
2022-12-07 20:37:10 +05:30
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
9cd1759a06
doc: update changelogs
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
6121aa78d7
doc: add readme for @waku/message-encryption
2022-12-05 15:14:51 +11:00
fryorcraken.eth
33ed43c068
feat: `waitForRemotePeer` can now be directly imported from `@waku/core`
2022-12-05 15:14:51 +11:00
fryorcraken.eth
f7fabec8b3
feat: easy import by having an export map for each type of encryption
2022-12-05 15:14:17 +11:00
fryorcraken.eth
563b66eab5
refactor: separate symmetric and asymmetric encoders
2022-12-05 09:34:17 +11:00
fryorcraken.eth
1d727b2bc0
refactor: extract 26/WAKU-PAYLOAD related function to waku_payload.ts
2022-12-05 09:34:17 +11:00
fryorcraken.eth
e65e0a0a80
refactor: move module that define cryptographic operations to crypto/
...
This is to prepare the split of encoder/decoder/message definition
from index.ts.
2022-12-05 09:34:17 +11:00
fryorcraken.eth
e8efd5e962
feat!: export user functions from package root
...
`createEncoder`, `createDecoder` and `DecodedMessage` are function/types
useful to the user so they should have easy access to it.
We still export `Decoder` and `Encoder` but in a path so it cam be
re-used by `@waku/message-encryption`.
2022-12-05 09:34:17 +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
Jakub Sokołowski
e0c738c092
ci: fix builds broken by moving to packages/core
...
Broken by:
https://github.com/waku-org/js-waku/commit/b975943e
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-12-02 11:44:52 +01:00
fryorcraken.eth
88c6ec6ef4
chore: add '.js' extensions to local import
...
As per ESM standard.
2022-12-02 15:54:30 +11:00
fryorcraken.eth
2dddaa193a
chore: merge tsconfig
...
No need to duplicate the config.
2022-12-02 15:54:30 +11:00
danisharora099
1314930765
fix: store
2022-11-22 23:03:31 +05:30
Danish Arora
2215e44985
Merge branch 'master' into danisharora/improve-cursor-api
2022-11-21 17:56:18 +05:30
danisharora099
36a01c3c30
address comments
2022-11-21 13:20:21 +05:30
fryorcraken.eth
2ecb761ea7
feat: add `@multiformats/multiaddr` as peer dep
...
This dep often has breakings changes on type and is used by several
APIs. Declaring as an optional peer dependency will hopefully help the
user know what version to install.
2022-11-21 11:02:39 +11:00
fryorcraken.eth
2a0b06f361
test: use `createLightNode` instead of a full node
...
As full node was only necessary due to an issue nwaku v0.11.
Ref: https://github.com/status-im/nwaku/pull/1090
2022-11-21 10:52:33 +11:00
dependabot[bot]
62f300ce81
build(deps): bump uuid from 8.3.2 to 9.0.0
...
Bumps [uuid](https://github.com/uuidjs/uuid ) from 8.3.2 to 9.0.0.
- [Release notes](https://github.com/uuidjs/uuid/releases )
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md )
- [Commits](https://github.com/uuidjs/uuid/compare/v8.3.2...v9.0.0 )
---
updated-dependencies:
- dependency-name: uuid
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-11-18 15:58:49 +00:00
fryorcraken.eth
ab861431d5
doc: release core@0.0.6 (changelog)
2022-11-18 13:35:09 +11:00
fryorcraken.eth
dfa7c6b107
chore: release core@0.0.6
2022-11-18 13:27:36 +11:00
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
a8ab53a6c5
tests: Use in-memory DB instead of sqlite (in memory)
2022-11-17 14:28: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
ee7e22b17d
doc: update changelog
2022-11-17 12:31:33 +11:00
fryorcraken.eth
b6faebc422
test: fix flaky test
2022-11-17 12:31:32 +11:00
fryorcraken.eth
909a8f94c2
test: set nwaku logs to trace
...
Can now be done via command line argument.
2022-11-17 12:07:53 +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
fryorcraken.eth
e3e1197a91
fix: correct usage of the libp2p API
2022-11-17 11:30:07 +11:00
fryorcraken.eth
c7920f09f3
test: check both custom and default agents
2022-11-17 11:29:34 +11:00
danisharora099
1cfba385c9
rn persist
2022-11-17 01:34:49 +05:30
Danish Arora
708d48a914
Merge branch 'master' into danisharora/add-user-agent
2022-11-17 01:21:46 +05:30
danisharora099
0e0660f5b1
revert: timeout
2022-11-16 19:06:32 +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
910fc5a6b2
chore: bump several libp2p dependencies
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
f3575afdfd
add: test case
2022-11-16 00:57:42 +05:30
Danish Arora
ae5ab0d1e0
Merge branch 'master' into danisharora/add-user-agent
2022-11-15 23:45:48 +05:30
danisharora099
c012748bb7
address comments
2022-11-15 18:08:21 +05:30
danisharora099
8f243eb325
fix: git diff
2022-11-15 18:07:29 +05:30
danisharora099
1a5a57f756
fix: git diff
2022-11-15 18:06:59 +05:30
danisharora099
f3635f1fe8
address comments
2022-11-15 18:06:33 +05:30
danisharora099
69b64af548
add: tests
2022-11-15 17:30:35 +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
1b85373472
test: use `esnext` for NodeJS tests
2022-11-15 22:01:27 +11:00
fryorcraken.eth
74d7bb90c7
test: compare all messages at once
...
Makes it easier to understand the order mismatch.
2022-11-15 22:01:27 +11:00