473 Commits

Author SHA1 Message Date
Danish Arora
2a7d72be14
chore: decrease delay on the peer-exchange tests (#1141)
* decrease timeouts for peer-exchange tests

* reset dns test timeout
2023-02-08 11:09:52 +05:30
Danish Arora
b33306655a
chore: move libp2p and byte utils to a single utils package (#1149)
* move libp2p and byte utils to a single `utils`
package

* set package version to 0.0.1
2023-02-06 11:22:36 +05:30
Danish Arora
8910a6d76a
chore: move args for createEncoder into non-repeating options & fix typedoc (#1146)
* move args for `createEncoder` into non-repeating `options` & fix typedoc

* update tests with new API
2023-02-02 11:37:28 +05:30
Danish Arora
10b3898762
chore: move protocols CreateOptions into interfaces (#1145)
* move protocols `CreateOptions` into interfaces and
add possible TODO

* remove: createOptions for PeerExchange

* update test with new API
2023-02-02 08:02:06 +05:30
Danish Arora
11819fc7b1
feat: DNS discovery as default bootstrap discovery (#1114)
* use DNS discovery as default bootstrap discovery

* fix: failing CI

* fix: typo

* introduce tagging, components & explicit tests

    libp2p wasn't by default tagging peers with dns-discovery as
"bootstrap"
    -- we are manually now tagging peers with "dns-discovery", and then
    running tests according to that

* fix: package installs

* fix: typedoc CI

* change tag name from dns-discovery to bootstrap

* update tag name in test

* fix CI

* address review

* add: prod enrtree and use as default
2023-01-31 19:47:46 +05:30
fryorcraken.eth
3aed340cb2
chore: only build what is necessary to test
Script to build enough to run tests locally and in CI (skip bundling).
2023-01-30 20:32:43 +11:00
fryorcraken.eth
afa7262604
test: replace nwaku ip with local ip 2023-01-30 20:08:04 +11:00
fryorcraken.eth
c8fa8ea20e
chore: remove unnecessary compilation flag for nwaku 2023-01-30 20:08:04 +11:00
fryorcraken.eth
171fd1e6df
fix: randomize the first port tried by portfinder 2023-01-30 20:07:46 +11:00
Danish Arora
380ba6987a
disable tests connecting to test fleet on the CI (#1138) 2023-01-30 11:29:12 +05:30
fryorcraken.eth
372ff6454f
chore: remove @waku/peer-exchange dependency
As per its name, `@waku/core` aims to contain, and only contains, the
minimal set of core functionalities needed for a developer to use Waku
in their webapp.

Hence, `@waku/core` should avoid depending on other Waku packages. If a
developer wishes to use functionality from other packages, they should
explicitly import such packages.
2023-01-27 09:08:28 +11:00
fryorcraken.eth
a5ff788eed
feat: codec as a property of the protocol implementations
For easy access from `@waku/core` without the need to depend on package
implementing the protocol.
2023-01-27 09:08:02 +11:00
fryorcraken.eth
9a59e9dd64
chore: release @waku/message-encryption@0.0.9 2023-01-25 15:37:52 +11:00
fryorcraken.eth
a5a748e2fd
chore: release @waku/dns-discovery@0.0.5 2023-01-25 15:35:12 +11:00
fryorcraken.eth
4e72cf2cff
chore: release @waku/core@0.0.10 2023-01-25 15:29:23 +11:00
fryorcraken.eth
1cd04dbb33
chore: release @waku/peer-exchange@0.0.3 2023-01-25 15:23:10 +11:00
fryorcraken.eth
f356ac56fc
chore: release @waku/enr@0.0.5 2023-01-25 15:22:06 +11:00
fryorcraken.eth
6969131346
chore: release @waku/libp2p-utils@0.0.3 2023-01-25 15:19:20 +11:00
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