Commit Graph

353 Commits

Author SHA1 Message Date
Danish Arora 50c2c2540f
feat!: @waku/relay (#1316)
* move constants & core's func to @waku/utils

* setup @waku/relay

* use @waku/relay for create

* address: principal review

* fix: size-limit

* move all constants to @waku/core

* move TopicOnlyDecoder to relay

* merge: master

* fix: tests

* Move constants out of core (#1340)

* update package.lock

* change constants folder into a ts file

* use dependency version as * instead of version number

* add constants import from @waku/core

* add empty changelog file for relay

---------

Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>
2023-05-11 14:08:00 +05:30
Sasha 7daa9d05bf
feat: toSubscriptionIterator impl for IReceiver (#1307) 2023-05-09 20:15:37 +02:00
fryorcraken.eth 76d1d4faf5
chore: new empty message-hash package 2023-05-06 13:32:30 +10:00
dependabot[bot] 619f6b6cae
chore(deps)(deps-dev): bump lint-staged from 13.2.0 to 13.2.2 (#1320)
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 13.2.0 to 13.2.2.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v13.2.0...v13.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-02 09:35:23 +05:30
Sasha 6abee4880f
chore: use root .prettierignore (#1285)
* use root .prettierignore for fix and check
2023-04-03 23:39:59 +02:00
Sasha aab59ce633
chore: introduce custom publish script and move to a new secret for publishing (#1279) 2023-03-29 10:36:37 +02:00
fryorcraken.eth 0b93fdd76d
chore: extract exports path from package.json for rollup
Also sort eslint to lint JavaScript ESM files successfully.

Fixes #933
2023-03-01 15:46:21 +11:00
dependabot[bot] cb32e09e0e
chore(deps)(deps-dev): bump typedoc from 0.23.25 to 0.23.26
Bumps [typedoc](https://github.com/TypeStrong/TypeDoc) from 0.23.25 to 0.23.26.
- [Release notes](https://github.com/TypeStrong/TypeDoc/releases)
- [Changelog](https://github.com/TypeStrong/typedoc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/TypeDoc/compare/v0.23.25...v0.23.26)

---
updated-dependencies:
- dependency-name: typedoc
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-28 16:13:48 +00:00
fryorcraken.eth a78d72b7fd
chore: re-order package build
peer-exchange now depends on core.
2023-02-27 09:48:30 +11:00
dependabot[bot] 02f3d87861
chore(deps)(deps-dev): bump @size-limit/preset-big-lib
Bumps [@size-limit/preset-big-lib](https://github.com/ai/size-limit) from 8.1.2 to 8.2.4.
- [Release notes](https://github.com/ai/size-limit/releases)
- [Changelog](https://github.com/ai/size-limit/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ai/size-limit/commits)

---
updated-dependencies:
- dependency-name: "@size-limit/preset-big-lib"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 16:22:57 +00:00
fryorcraken.eth 97c3e8cfe5
chore: bump gh-pages and move it to root package (used by Jenkins) 2023-02-11 15:26:24 +11:00
fryorcraken.eth 0594f62edd
chore: bump dependencies of root package 2023-02-10 13:00:30 +11:00
fryorcraken.eth c3b01751ce
chore: fix doc generation 2023-02-10 08:32:41 +11:00
fryorcraken.eth 7e2e31253c
chore: remove semantic-release
Not used for releasing.
2023-02-09 11:33:34 +11:00
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
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 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
fryorcraken.eth 98ac346325
chore: prettier cjs files in root dir 2022-12-12 22:15:20 +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
Jakub Sokołowski 10d0ba400c
package.json: set type to module
Fixes errors like:
```
SyntaxError: Cannot use import statement outside a module
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-12-05 10:06:59 +01: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 e7a2203bea
chore: ensure all packages are built
Add a check that no package has been forgotten from the `workspace`
property.
2022-12-02 15:44:59 +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 051263b00a
chore: use `multi-semantic-release` in release script 2022-11-04 11:25:53 +11:00
fryorcraken.eth 6e774389df
chore: fix releasing 2022-11-04 10:52:41 +11:00
fryorcraken.eth ed31857d62
chore: remove semantic-release-monorepo config 2022-11-04 10:16:37 +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 719ce121d4
chore: discourage reporting of unavailable npm package name 2022-11-02 16:56:50 +11:00
fryorcraken.eth 613ba08fc2
chore: fix doc 2022-11-02 15:17:02 +11:00
fryorcraken.eth 69c94db23a
chore: fix doc 2022-11-02 15:05:12 +11:00
fryorcraken.eth 592bbb0579
chore: do not miss markdown files when running lint-staged 2022-10-31 12:36:39 +11:00
fryorcraken.eth 88a3c2adf0
chore: setup automated releasing from master 2022-10-31 12:15:37 +11:00
fryorcraken.eth cd1d7b813b
chore: fix ci 2022-10-31 11:22:25 +11:00
fryorcraken.eth 6b2accbb28
chore: use prettierignore to select files to format 2022-10-31 09:32:46 +11:00
fryorcraken.eth 2cef9d43ea
chore: move size-limit to root 2022-10-31 09:32:46 +11:00
fryorcraken.eth 7cc7439ed6
chore: setup workspace scripts 2022-10-30 21:16:02 +11:00
fryorcraken.eth dc4089a1dd
chore: setup husky/lint-staged at root 2022-10-30 21:12:01 +11:00
fryorcraken.eth 4e340eb045
chore: install lerna 2022-10-30 21:02:12 +11:00
fryorcraken.eth b975943e90
chore: move js-waku to ./core 2022-10-30 17:57:15 +11:00
dependabot[bot] baf2ff0386
build(deps-dev): bump p-timeout from 4.1.0 to 6.0.0
Bumps [p-timeout](https://github.com/sindresorhus/p-timeout) from 4.1.0 to 6.0.0.
- [Release notes](https://github.com/sindresorhus/p-timeout/releases)
- [Commits](https://github.com/sindresorhus/p-timeout/compare/v4.1.0...v6.0.0)

---
updated-dependencies:
- dependency-name: p-timeout
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-28 15:59:08 +11:00
fryorcraken.eth a502d153e5
Release 0.30.0 2022-10-28 10:49:28 +11:00
fryorcraken.eth 1508a9169a
Release 0.29.0 2022-09-21 16:41:02 +10:00
Dan Bamikiya fc0ff3acc8
chore: upgrade typescript version to 4.6.3 2022-09-21 11:05:09 +10:00
fryorcraken.eth dc639370bc
chore: ensure size-limit conf file is formatted 2022-09-21 10:58:20 +10:00
fryorcraken.eth c0c4965e28
feat: use a content topic only decoder for first pass decoding 2022-09-21 10:57:53 +10:00
fryorcraken.eth b2c7e4185f
feat: make message encoding more generic 2022-09-20 12:23:01 +10:00
fryorcraken.eth d891c35f86
chore: release 0.28.1
### Added

- `WakuRelay.addObserver` now returns a function to delete the observer.

### Changed

- `queryCallbackOnPromise`'s return value has been simplified to
  `Promise<void>`.
- doc: clarified behaviour of `WakuStore` query functions.
2022-09-20 11:42:02 +10:00
fryorcraken.eth 3874843e7b
Release 0.28.0 2022-09-16 12:45:14 +10:00
fryorcraken.eth 0906125834
Release 0.27.0 2022-09-13 22:55:22 +10:00
fryorcraken.eth 69a1e9988b
Revert "fix: downgrade @libp2p/mplex"
This reverts commit 4755f28969.
2022-09-13 13:14:24 +10:00
fryorcraken.eth 4755f28969
fix: downgrade @libp2p/mplex
Ref: https://github.com/libp2p/js-libp2p-mplex/issues/215
2022-09-13 12:03:19 +10:00
fryorcraken.eth 9a50e5e65c
Revert "fix: util polyfill not needed"
This reverts commit cf6eafdff3.
2022-09-13 10:05:27 +10:00
fryorcraken.eth cf6eafdff3
fix: util polyfill not needed
Ref: https://github.com/libp2p/js-libp2p-mplex/pull/213#issuecomment-1243219007
2022-09-12 14:57:10 +10:00
Jakub Sokołowski fa43c0ce05
ci: update site domain to js.waku.org
Resolves: https://github.com/waku-org/js-waku/issues/943

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2022-09-11 00:38:11 +10:00
fryorcraken.eth 9fc16143fa
feat: createLightNode and createPrivacyNode helpers 2022-09-08 18:35:20 +10:00
fryorcraken.eth f56f6e2e83
feat: define `Waku` interface 2022-09-08 18:35:20 +10:00
fryorcraken.eth a54494dbbf
build: run `make update` before building nwaku 2022-09-08 18:35:13 +10:00
fryorcraken.eth f9abc79297
Release 0.26.0 2022-09-08 15:08:53 +10:00
fryorcraken.eth c201cbd3dd
chore: remove examples folder 2022-09-07 16:47:22 +10:00
fryorcraken.eth d2ac62c708
Release 0.25.0 2022-09-05 15:36:57 +10:00
fryorcraken.eth bfeaf6c14e
fix: it-length-prefixed now returns Uint8ArrayList 2022-09-05 15:02:23 +10:00
fryorcraken.eth ab76063f33
chore(deps): bump protons to 5.10, protons-runtime to 3.1.0 2022-09-05 14:39:55 +10:00
fryorcraken.eth 4d4c4430f4
refactor: rename proto enum `Error` to `HistoryError`
As this creates a conflict with the new protons version.
2022-09-05 14:37:54 +10:00
fryorcraken.eth d8bb0c7759
chore(deps): bump it-length-prefixed to 8.0.2 2022-09-05 12:23:46 +10:00
fryorcraken.eth c23e504d0e
chore(deps): bump @multiformats/multiaddr to 10.4.0 2022-09-05 10:57:01 +10:00
fryorcraken.eth 6127d566c6
chore(deps): bump @libp2p/websocket to 3.0.3 2022-09-05 10:54:52 +10:00
fryorcraken.eth 574a5ad58f
chore(deps): bump @libp2p/mplex to 5.1.1 2022-09-05 10:49:22 +10:00
fryorcraken.eth 185bf8dd56
chore(deps): bump @libp2p/crypto to 1.0.4 2022-09-05 10:46:47 +10:00
fryorcraken.eth ef891bc585
chore(deps): bump @chainsafe/libp2p-noise to 8.0.1 2022-09-05 10:43:33 +10:00
fryorcraken.eth 34a82105fb
chore(deps): bump @chainsafe/libp2p-gossipsub to 4.1.1 2022-09-05 10:36:39 +10:00
fryorcraken.eth ece1ca53c7
chore(deps): bump libp2p to 0.38.0 2022-09-05 10:34:49 +10:00
fryorcraken.eth 2108e56dfa
fix: export wait_for_remote_peer in exports map
This module will just consume a generate Waku and Waku Relay interfaces
so we already we want to extract it.

It is also one opinionated to handle connection management, other ways
might come with https://github.com/status-im/js-waku/issues/914.
2022-09-01 14:42:21 +10:00
dependabot[bot] 91a9512573
chore(deps-dev): bump lint-staged from 12.3.6 to 13.0.3
Bumps [lint-staged](https://github.com/okonet/lint-staged) from 12.3.6 to 13.0.3.
- [Release notes](https://github.com/okonet/lint-staged/releases)
- [Commits](https://github.com/okonet/lint-staged/compare/v12.3.6...v13.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-30 01:08:43 +00:00
fryorcraken.eth 3eb9c80041
ci: generate & check doc 2022-08-25 15:54:05 +10:00
fryorcraken.eth 0d34c44a02
doc: remove no-inherit
It is not needed anymore, Waku Relay doc does ot automatically include
the GossipSub doc.
2022-08-25 15:54:05 +10:00
dependabot[bot] 3181d8497c
chore(deps-dev): bump typedoc from 0.22.12 to 0.23.10
Bumps [typedoc](https://github.com/TypeStrong/TypeDoc) from 0.22.12 to 0.23.10.
- [Release notes](https://github.com/TypeStrong/TypeDoc/releases)
- [Changelog](https://github.com/TypeStrong/typedoc/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TypeStrong/TypeDoc/compare/v0.22.12...v0.23.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-25 15:54:05 +10:00
fryorcraken.eth cfece62e2a
misc: enable lint-staged for config cjs files 2022-08-24 16:14:43 +10:00
fryorcraken.eth 931028e0ac
build: bump ts-node to 10.9.1 and ts-loader to 9.3.1 2022-08-24 15:25:37 +10:00
fryorcraken.eth 771d515b6f
ci: rename nim-waku to nwaku and upgrade to v0.11 2022-08-20 01:04:19 +10:00
fryorcraken.eth b0b2880746
fix: export predefined bootstrap nodes 2022-08-19 23:05:03 +10:00
status-bors-ng[bot] d7181da98b
Merge #892
892: fix: type export via `typesVersions` r=fryorcraken a=filoozom

## Problem

Importing anything from TypeScript in `js-waku/lib/` (`v0.25.0-rc.0`) does not work. It can't find the types despite the `exports.*.types` in `package.json`.

## Solution

This solution was inspired by `libp2p` ([example in ``@libp2p/interfaces`](https://github.com/libp2p/js-libp2p-interfaces/blob/master/packages/interfaces/package.json#L24-L39)),` and just adds `typesVersions` to `package.json`.

Documentation: https://www.typescriptlang.org/docs/handbook/declaration-files/publishing.html#folder-redirects-using-

## Notes

- See https://github.com/status-im/js-waku/issues/891#issuecomment-1217388556


Co-authored-by: Philippe Schommers <philippe@schommers.be>
2022-08-19 04:52:27 +00:00
Philippe Schommers 5137f28cbf
fix: type export via `typesVersions` 2022-08-19 12:41:49 +10:00
fryorcraken.eth 9cad6d5d72
fix: add peer_discovery_static_list to exports map
Needed to access `PeerDiscoveryStaticPeers`.
2022-08-17 23:29:23 +10:00
fryorcraken.eth 1c2df434e0
fix(deps): freeze @libp2p/interface-connection 2022-08-16 15:24:11 +10:00
fryorcraken.eth 38e39e71be
fix(deps): free uint8arraylist
Some issue with transient dependencies.
2022-08-16 15:06:11 +10:00
fryorcraken.eth 574e99c768
chore(deps): upgrade it-pipe 2022-08-16 14:48:31 +10:00
fryorcraken.eth b866c650bb
chore(deps): install used transient dep 2022-08-16 14:47:16 +10:00
fryorcraken.eth d560f8ce0e
fix: bundling with exports map 2022-08-07 12:03:05 +10:00
fryorcraken.eth 731318fa66
feat: export create_waku 2022-08-07 12:03:04 +10:00
fryorcraken.eth bcbf40ee10
chore: rename test scripts
both tests are `unit`, also script name shouldn't change
if a different framework (karma) is used.
2022-08-06 01:02:15 +10:00
fryorcraken.eth 187287a28c
feat: all buffer dependencies have been removed 2022-08-05 21:31:41 +10:00
fryorcraken.eth 334e331090
fix: remove nyc
Not used.
2022-08-05 16:43:05 +10:00
fryorcraken.eth bf47803631
fix: size-limit by setting buffer false in webpack 2022-08-03 16:46:53 +10:00
fryorcraken.eth 69b3595d6f
chore: bump size-limit to 8.0.0 2022-08-03 16:46:53 +10:00
fryorcraken.eth b67848d2d5
style: lint cjs files 2022-08-03 16:05:36 +10:00
Franck Royer 8126e96f33
chore: remove multiformats (unused) 2022-08-03 09:30:40 +10:00