Danish Arora
cc1d8bb3d5
feat: change DoH DNS provider ( #1131 )
...
* fix: change DoH DNS provider
opendns did not support CORS -- switched it with AhaDNS that does not
persist logs
* Update packages/dns-discovery/src/dns_over_https.ts
Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>
* add ahadns to cspell
* increase timeout on compliance test
possibly the new dns provider we use is taking longer than
opendns to resolve is why the test did not pass with
5000ms
Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>
2023-01-24 23:42:21 +05:30
Danish Arora
5fae073ebd
fix: edge case with peer-exchange ( #1125 )
...
* address comments
* rename to maxRetries
* use timeout instead of interval
* remove: only from test
2023-01-24 22:50:16 +05:30
weboko
5a56b6432f
add configuration to determine devDependencies, move them in package
2023-01-19 22:49:11 +01:00
weboko
011ec8f1e9
remove unused dependency
2023-01-19 22:31:40 +01:00
weboko
913573a25a
remove no-extraneous-dependencies lint options, move packages to devDep section
2023-01-19 22:14:17 +01:00
Danish Arora
828f8b40e5
add `ephemeral: true` to relay ( #1123 )
2023-01-19 14:30:23 +05:30
fryorcraken.eth
665dba8f3e
chore: release @waku/proto@0.0.2
2023-01-18 15:36:22 +11:00
fryorcraken.eth
ec5118a502
chore: release @waku/peer-exchange@0.0.2
2023-01-18 15:36:20 +11:00
fryorcraken.eth
45f3823ac4
chore: release @waku/message-encryption@0.0.8
2023-01-18 15:28:51 +11:00
fryorcraken.eth
8e9d2c3a0e
chore: release @waku/libp2p-utils@0.0.2
2023-01-18 15:19:49 +11:00
fryorcraken.eth
b0c1a8a4a6
chore: release @waku/interfaces@0.0.7
2023-01-18 15:16:00 +11:00
fryorcraken.eth
15a852af57
chore: release @waku/enr@0.0.4
2023-01-18 15:00:56 +11:00
fryorcraken.eth
2b1e3ad602
chore: release @waku/dns-discovery@0.0.4
2023-01-18 14:57:44 +11:00
fryorcraken.eth
3e19f82768
chore: release core@0.0.9
2023-01-18 09:42:58 +11:00
weboko
53dfd84d4c
chore: update changelog
2023-01-11 23:22:26 +01:00
Danish Arora
fcd500e045
fix: invoke peer exchange query immediately ( #1115 )
...
when the query is set in an interval, it first
gets invoked when the interval time is reached.
refactor: invoke it immmediately, and then set an
interval
2023-01-11 11:11:49 +05:30
Danish Arora
0b083201c6
chore: refactor dns-discovery & add tests ( #1084 )
...
* temp-add: debugging
* fix: ENR root signature verification
the nodes in the TXT/fleet were updated causing the publicKey to change
and verification to fail
* add: libp2p compliance tests
* fix: bind function
`bind` was being passed an empty object reference
* fix: tests
* merge with master
* chore: address review
- move compliance test to dev dependency
- move global mocha timeout to test specific timeout
* chore: update enrtree pubkey and fqdn
ref: https://github.com/status-im/infra-nim-waku/issues/64
* chore: update libp2p-peer-discovery-compliance-tests
ref: https://github.com/libp2p/js-libp2p-interfaces/pull/328
* chore: fix typedoc errors
* add: dns-discovery to dependencies
2023-01-06 12:30:06 +05:30
danisharora099
93b12e59c9
fix: failing CI check
...
add `@waku/peer-exchange` as a dependency to `tests`
2023-01-05 12:54:29 +05:30
weboko
bcc7c451ed
Merge branch 'master' of github.com:waku-org/js-waku into weboko/missing-dep
2023-01-04 21:51:37 +01:00
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