Commit Graph

378 Commits

Author SHA1 Message Date
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 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 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 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
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
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
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
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
fryorcraken.eth ecfd855651
chore: update package lock 2022-12-23 16:45:39 +11: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
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 e37e9c3ab2
Merge branch 'master' into release/core@0.0.8 2022-12-20 09:55:02 +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
dependabot[bot] 0a57151982
build(deps-dev): bump lint-staged from 13.0.3 to 13.1.0
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 13.0.3 to 13.1.0.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v13.0.3...v13.1.0)

---
updated-dependencies:
- dependency-name: lint-staged
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 05:42:25 +00: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 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 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
dependabot[bot] 2d694d6f51
build(deps-dev): bump prettier from 2.7.1 to 2.8.1
Bumps [prettier](https://github.com/prettier/prettier) from 2.7.1 to 2.8.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.7.1...2.8.1)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-15 02:33:27 +00: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
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 88c6ec6ef4
chore: add '.js' extensions to local import
As per ESM standard.
2022-12-02 15:54:30 +11:00
fryorcraken.eth 31fe78d5a7
chore: remove lerna
This was a premature optimization of workspace handling.
Lerna tries to be clever and cache build artefact, etc, but the step
to decide what packages to build takes more than 5s.

For now, using workspaces feature of npm.

Note that npm execute scripts in the order of the `workspaces` field of
`package.json`.
2022-12-02 15:44:59 +11:00
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
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 dfa7c6b107
chore: release core@0.0.6 2022-11-18 13:27:36 +11:00
danisharora099 9f0493221e
commit package-lock 2022-11-17 13:03:36 +05:30
danisharora099 100eb4c4b4
Merge branch 'master' into danisharora/cursor-support-store 2022-11-17 13:00:48 +05:30
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 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
danisharora099 c012748bb7
address comments 2022-11-15 18:08:21 +05:30
danisharora099 0169a0ccb1
functionality works! test wip 2022-11-15 05:17:24 +05:30
fryorcraken.eth 7a75eb03b7
chore(interfaces): release @waku/interfaces@0.0.4 2022-11-11 16:47:28 +11:00
fryorcraken.eth 56568b7f79
chore(core): release @waku/core@0.0.5 2022-11-11 16:45:40 +11:00
fryorcraken.eth 3ab78eacee
chore(interfaces/core): bump libp2p to 0.39.5
Fixes connection-manager bug
2022-11-11 16:12:52 +11:00
fryorcraken.eth bca31a6fa5
chore(interfaces): release 0.0.3 2022-11-11 15:48:14 +11:00
fryorcraken.eth 0a3944ee8c
chore(core): release 0.0.4 2022-11-09 15:47:34 +11:00
fryorcraken.eth 063fac71e2
chore(interfaces): bump libp2p 2022-11-09 14:48:44 +11:00
fryorcraken.eth 81422b7abb
chore(core): bump libp2p 2022-11-09 14:44:03 +11:00
fryorcraken.eth ea822b206e
chore(core): bump @libp2p/interface-connection 2022-11-09 13:28:55 +11:00
fryorcraken.eth b678772ca3
chore(create): release 0.0.3 2022-11-04 16:43:09 +11:00
fryorcraken.eth bf6992effb
chore(core): release 0.0.3 2022-11-04 16:42:13 +11:00
fryorcraken.eth cb835ada65
fix(core,create): dependencies mismatch
Some `create` dependencies were still in the `core` package.json file.
2022-11-04 16:35:42 +11:00
fryorcraken.eth 5d64f8b90a
chore(message-encryption): release 0.0.3 2022-11-04 16:26:53 +11:00
fryorcraken.eth d9cdb78f8a
fix: missing dependency 2022-11-04 16:18:54 +11:00
fryorcraken.eth 4c2ffebca2
core: fresh lock file 2022-11-04 15:10:20 +11:00
fryorcraken.eth be45358e9c
Release 0.0.2 2022-11-04 14:54:12 +11:00
fryorcraken.eth 1a09aa18d5
chore: fix tests 2022-11-04 11:45:15 +11:00
fryorcraken.eth e6efd0438c
chore: make message-encryption compile 2022-11-04 11:38:32 +11:00
fryorcraken.eth 6e774389df
chore: fix releasing 2022-11-04 10:52:41 +11:00
fryorcraken.eth 788713f169
chore: install multi-semantic-release 2022-11-04 10:07:13 +11:00
fryorcraken.eth 5a78b5f246
chore: Remove semantic-release-monorepo, move semantic-release to root 2022-11-04 10:04:38 +11:00
fryorcraken.eth 81c855314d
chore: move dependencies from core to enr 2022-11-03 14:42:01 +11:00
fryorcraken.eth 25dfe9d969
chore: get dns-discovery to compile (almost) 2022-11-03 14:24:08 +11:00
fryorcraken.eth 9cc32c1032
tests: fix karma 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 093d84605f
chore: release 0.0.1 2022-11-02 15:36:11 +11:00
fryorcraken.eth 69c94db23a
chore: fix doc 2022-11-02 15:05:12 +11:00
fryorcraken.eth ce9938e464
chore: move tests to separate package 2022-11-01 19:57:19 +11:00
fryorcraken.eth a185b5a0ec
fix: @waku/interfaces 2022-11-01 16:33:42 +11:00
fryorcraken.eth 057507f94f
fix: @waku/interfaces 2022-11-01 16:30:24 +11:00
fryorcraken.eth 4eddad3166
fix: @waku/interfaces 2022-11-01 15:16:38 +11:00
fryorcraken.eth 16eaa911a9
chore: new @waku/interfaces package 2022-11-01 14:48:52 +11:00
fryorcraken.eth 80d16346e0
fixup! chore: new @waku/create package 2022-10-31 14:49:39 +11:00
fryorcraken.eth 37c1e6b968
chore: new @waku/create package 2022-10-31 14:47:12 +11:00
fryorcraken.eth 2e6d740f40
chore: setup semantic-release for workspace 2022-10-31 14:09:08 +11:00
fryorcraken.eth 88a3c2adf0
chore: setup automated releasing from master 2022-10-31 12:15:37 +11:00
fryorcraken.eth 052925e8e8
chore: rename js-waku package to @waku/core 2022-10-31 11:22:26 +11:00
fryorcraken.eth 2cef9d43ea
chore: move size-limit to root 2022-10-31 09:32:46 +11:00
fryorcraken.eth 2e60d90d7d
chore(deps): bump @multiformats/multiaddr to 11.0.6 2022-10-31 09:32:45 +11:00
fryorcraken.eth dc4089a1dd
chore: setup husky/lint-staged at root 2022-10-30 21:12:01 +11:00
fryorcraken.eth b975943e90
chore: move js-waku to ./core 2022-10-30 17:57:15 +11:00