Commit Graph

232 Commits

Author SHA1 Message Date
Franck Royer b708077483
Remove assert usage 2022-05-13 17:28:38 +10:00
Franck Royer 920668c54c
Release 0.22.0 2022-05-10 16:44:17 +10:00
Franck Royer 7b7ff78c7f
Fix changelog 2022-05-10 16:42:25 +10:00
Franck Royer 00be6b147d
Remove crypto-browserify 2022-05-09 23:32:43 +10:00
Franck Royer fd15b190d5
Release 0.21.0 2022-05-05 16:45:55 +10:00
Franck Royer 1a95efbb12
Changelog update for `waku2` ENR key 2022-05-05 14:58:56 +10:00
Franck Royer 5de2f1996f
Facilitate the use of a polyfill for `BigInt`
By preferring the use of `BigInt` over integer literal (`n` postfix).
2022-05-02 14:51:14 +10:00
Franck Royer f953a41546
Declare it-pipe dependency, properly import
As it was implicitly using it-pipe@1.0.0 that has a different import
format.
2022-04-06 13:41:15 +10:00
Franck Royer 929f05968b
Release 0.20.0 2022-03-30 10:14:25 +11:00
Franck Royer 13d12f8284
Froze `libp2p-gossipsub` version to 0.13.0
0.13.2 moved heartbeat class which is a breaking change.
2022-03-29 21:28:03 +11:00
Franck Royer bf63e85e9e
Move utf-8 utils to `utils` 2022-03-25 17:08:03 +11:00
Franck Royer a915acfcda
Remove deprecated utils functions 2022-03-25 17:08:02 +11:00
Franck Royer c4d779d1db
Remove `equalByteArrays` 2022-03-25 17:08:02 +11:00
Franck Royer d0dea3884b
Replace Base 64 buggy conversion functions with `uint8arrays` 2022-03-25 11:02:40 +11:00
Franck Royer 98c1257585
Add JavaScript Relay example 2022-03-21 12:33:31 +11:00
Franck Royer 483b11723c
Release 0.19.2 2022-03-21 10:36:27 +11:00
Franck Royer d2e9a57604
Update changelog 2022-03-18 14:47:25 +11:00
Franck R c806135810
Revert "Use `BigInt` constructor instead of happening `n` as it seems to have better browser support. (#611)" (#613)
This reverts commit f4e81dd29c.
2022-03-13 20:33:47 +11:00
Franck R f4e81dd29c
Use `BigInt` constructor instead of happening `n` as it seems to have better browser support. (#611) 2022-03-13 10:11:04 +11:00
Franck R ac337855aa
Release 0.19.1 (#610) 2022-03-10 16:25:51 +11:00
Franck R ed23332965
Allow passing multiaddr to `bootstrap.peers` (#608) 2022-03-09 18:38:28 +11:00
Franck R e4024d5c72
Release 0.19.0 (#607) 2022-03-09 14:29:35 +11:00
Franck R e649f772a7
`WakuMessage.timestamp` field must use nanoseconds (#606) 2022-03-09 12:00:02 +11:00
Franck R 2798376776
Remove ecies-geth (#598)
* test: specify encryption method

Makes debugging easier.

* Fix log typo

* Remove ecies-geth

Start removal of elliptic dependency and move towards exclusive usage to
CryptoSubtle.
2022-03-06 23:20:59 +11:00
Franck R ad5b3ddc7f
New `pubsub_topic` field on the `cursor` of Waku Store queries (#596) 2022-03-04 16:47:23 +11:00
Franck Royer fe30449861
Add exports field for node
While this library targets the browser, it is sometimes helpful to use
it in need for experiments.
For example: https://github.com/status-im/js-waku/pull/588
2022-03-04 14:49:33 +11:00
Franck Royer f73afc5244
Handle errors thrown when converting to utf-8 2022-03-01 16:58:15 +11:00
Franck R d838f53c78
Release 0.18.0 (#576) 2022-02-24 16:40:14 +11:00
Franck R a488988f37
Implement Waku Store 2.0.0-beta4 (#566) 2022-02-24 16:25:58 +11:00
Franck R 64657a250f
Replace rlp with ethers' rlp (#526) 2022-02-16 14:08:48 +11:00
Franck R 297d65ce03
Reduce Buffer usage in ENR module (#522) 2022-02-16 12:11:54 +11:00
Franck R 9931011c93
Release 0.17.0 (#538) 2022-02-16 11:55:53 +11:00
Franck R 146c67e43e
Predefine bootstrap node (#528) 2022-02-16 11:43:57 +11:00
Franck R cfc5eee4ff
Reduce buffer usage (#521) 2022-02-14 10:50:02 +11:00
Franck R 2dc8764be2
Remove axios (#520) 2022-02-14 09:26:22 +11:00
Franck R 160fea0e7b
`Waku.dial` accepts protocols expected from the peer. Defaults to Waku Relay only. (#516) 2022-02-13 19:04:50 +11:00
Franck R 0f678750df
Improve docs (#519) 2022-02-11 17:27:15 +11:00
Franck R 69f0005445
Bump libp2p from 0.32.4 to 0.36.2, libp2p-gossipsub from 0.12.1 to 0.13.0 (#470)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-02 15:12:08 +11:00
Franck R f2cf00bf44
Examples are now deployed in wakuconnect.dev (#485) 2022-02-02 11:56:40 +11:00
Franck R 4be3d95535
Release 0.16.0 (#473) 2022-01-31 15:56:59 +11:00
Franck R d9248dbc56
Replace `waitForConnectedPeer` with `waitForRemotePeer` (#469) 2022-01-30 21:56:21 +11:00
Franck R 95b3daf3e8
js-waku docs have a new location (#436) 2022-01-27 12:40:46 +11:00
Franck R c7fe1bd789
Rename DappConnect to Waku Connect (#427) 2022-01-24 15:00:11 +11:00
Franck R cba5212872
Upgrade nim-waku to v0.7 (#417) 2022-01-19 15:43:45 +11:00
Franck R 8b06b6e1d5
Release 0.15.0 (#414) 2022-01-19 12:24:32 +11:00
Franck R 96cf24d34e
Allow specifying decryption methods and content topic (#409) 2022-01-17 14:11:05 +11:00
Franck Royer 8e591f22db
Update changelog 2022-01-14 12:49:40 +11:00
Franck Royer 284644b822
Fix-up new bootstrap API 2022-01-13 16:39:52 +11:00
Franck Royer e244bae03d
Renamed `getBootstrapNodes` to `getNodesFromHostedJson`
So that the name better matches the function's behaviour.
2022-01-13 15:33:37 +11:00
Franck Royer ddec271621
Make minimum support node version 16
A number of libp2p packages do not support node 14 anymore.
2022-01-06 14:17:17 +11:00
F eb9057fc8f
doc: Remove warnings 2021-12-02 23:51:54 +11:00
Franck Royer 46abd4ca96
changelog: Upgrade nim-waku to v0.6 2021-12-01 16:25:23 +11:00
F 60073ce4fc
Update links 2021-11-30 12:16:07 +11:00
F 31325bb673
Release 0.14.2
### Changed

- Examples: JS examples uses local ESM folder to replicate behaviour of
js-waku publish package.

### Fixed

- `TypeError` issue related to constructors using js-waku in a JS
project
  ([#323](https://github.com/status-im/js-waku/issues/323)).
2021-11-30 11:33:30 +11:00
F 8909164f6d
Use ESM in JavaScript examples
As it is what JS projects would use when using the js-waku npm package.
2021-11-26 21:24:05 +11:00
F de9b313b65
Use es6/es2015 target for ESM output
es5 does not support class constructors and hence lead to issues.
2021-11-26 21:23:50 +11:00
Franck Royer 0cf12f3b55
Release 0.14.1
### Fixed
- Issue when importing the `utils` module.
2021-10-22 14:40:38 +11:00
Franck Royer 5009792fca
Remove exports field
TypeScript does not play nice with it just yet:
https://github.com/microsoft/TypeScript/issues/33079
2021-10-19 15:22:38 +11:00
Franck Royer 2c1ff58f93
Release 0.14.0
### Added
- If the `callback` function passed to`WakuStore.queryHistory` returns
  `true`, then no further pages are retrieved from the store.
- Use webpack to build UMD bundle of the library, see
  [README](./README.md) for usage.

### Changed
- **Breaking**: Renamed `WakuStore.QueryOptions`'s `direction` to
  `pageDirection` (and its type) as it only affects the page ordering,
  not the ordering of messages with the page.

### Fixed
- Docs: Ensure that `WakuStore`'s `QueryOptions` documentation is
  available [online](https://status-im.github.io/js-waku/docs/).
2021-10-13 11:14:40 +11:00
Franck Royer bafa30fb05
Add doc location for UMD bundle 2021-10-13 10:21:40 +11:00
Franck Royer 4ff61f4bf9
Update changelog 2021-10-12 11:43:30 +11:00
Franck Royer 8d469ff842
Enable caller to abort store query
If the `callback` function passed to`WakuStore.queryHistory` returns
`true`, then no further pages are retrieved from the store.
2021-10-07 15:33:00 +11:00
Franck Royer b216cd3b22
Update changelog 2021-10-05 13:36:04 +11:00
Franck Royer f5a0416efd
Rename to page direction
As the direction only affects the page ordering,
not the message ordering in the pages.
2021-10-05 13:36:03 +11:00
Franck Royer 6bc8136204
Merge branch 'main' of github.com:status-im/waku-js into release/0.12.2 2021-09-21 15:41:23 +10:00
Franck Royer e3dce12ae8
Release 0.12.2 2021-09-21 15:33:42 +10:00
Franck Royer ff8f151fbd
Update Changelog 2021-09-21 15:23:19 +10:00
Franck Royer 129b6a97d4
Release 0.13.1 2021-09-21 15:00:57 +10:00
Franck Royer 6b11bc7183
Update Changelog 2021-09-21 14:47:45 +10:00
Franck Royer 5443e3b4a7
Merge branch 'main' of github.com:status-im/waku-js into release/0.12.0 2021-09-21 14:31:28 +10:00
Franck Royer def38b4234
Release 0.12.1 2021-09-16 15:21:45 +10:00
Franck Royer 8a4e7f5f3c
Connects to a limited number of bootstrap nodes, defaults to 1 2021-09-16 15:16:32 +10:00
Franck Royer 6bd114f551
Release 0.13.0 2021-09-16 14:57:10 +10:00
Franck Royer 6504106a9e
Connects to a limited number of bootstrap nodes, defaults to 1 2021-09-16 10:38:01 +10:00
Franck Royer ca09c34ac6
Upgrade libp2p libraries 2021-09-03 16:02:22 +10:00
Franck Royer 3bf7e2250c
Release 0.12.0 2021-09-02 16:38:56 +10:00
Franck Royer a21d641280
Added `Waku.waitForConnectedPeer` helper
To ensure that we are connected to Waku peers when using the bootstrap
option.
2021-09-02 15:46:23 +10:00
Franck Royer 3c0884a96e
Update changelog 2021-09-02 15:27:39 +10:00
Franck Royer cfb97b6bde
Allow passing decryption keys to `Waku` instance
Keys can be set at creation or at run time.
They are passed to `WakuStore` and `WakuRelay` instances.
2021-09-02 15:20:43 +10:00
Franck Royer 911ce5bab7
Allow passing decryption keys to `WakuStore` instance
To avoid having to pass them at every `queryHistory` call.
2021-09-02 15:17:40 +10:00
Franck Royer 931a414a3c
Allow passing decryption keys in hex string format 2021-09-02 15:13:50 +10:00
Franck Royer 75352abcac
Promote dedicated symmetric key generation API
Using the private key API for symmetric key is confusing.
2021-09-02 15:09:31 +10:00
Franck Royer 880746a0df
Add guide to encrypt messages using version 1 2021-08-26 16:34:29 +10:00
Franck Royer 5af6d84852
Encrypt Public Key Messages using symmetric encryption 2021-08-26 16:12:53 +10:00
Franck Royer 398f34b57f
Fixed Buffer.concat error when using symmetric encryption in the browser 2021-08-26 16:12:53 +10:00
Franck Royer 5b34da6b5f
Both or neither time parameters must be passed
The protocol does not support open-ended time filtering windows. See
https://github.com/status-im/nim-waku/issues/706
2021-08-25 12:14:53 +10:00
Franck Royer 8fce1ad884
Release 0.11.0
### Added
- Examples: New Ethereum Private Message Using Wallet Encryption
  [Web App](./examples/eth-pm-wallet-encryption/README.md)
  example that demonstrates the usage of `eth_encrypt` API (available on
  Metamask) and EIP-712 for typed structured data signing.
- New `bootstrap` option for `Waku.create` to easily connect to Waku
  nodes upon start up.
- Support for `startTime` and `endTime` in Store queries to filter by
  time window as per [21/WAKU2-FTSTORE](https://rfc.vac.dev/spec/21/).

### Changed
- Renamed `discover.getStatusFleetNodes` to
  `discovery.getBootstrapNodes`;
  Changed the API to allow retrieval of bootstrap nodes from other
  sources.
- Examples: Renamed `eth-dm` to `eth-pm`; "Direct Message" can lead to
  confusion with "Direct Connection" that
  refers to low latency network connections.
- Examples (eth-pm): Use sign typed data EIP-712 instead of personal
  sign.
- Upgraded dependencies to remove warning at installation.
- **Breaking**: Moved `DefaultPubSubTopic` to `waku.ts` and fixed the
  casing.
- **Breaking**: Rename all `pubsubTopic` occurrences to `pubSubTopic`,
  across all interfaces.

### Removed
- Examples (cli-chat): The focus of this library is Web environment;
  Several examples now cover usage of Waku Relay and Waku Store making cli-chat example obsolete;
  web-chat POC should be preferred to use the [TOY-CHAT](https://rfc.vac.dev/spec/22/) protocol.
- `ChatMessage` has been moved from js-waku to web-chat example;
  it is a type used for the [TOY-CHAT](https://rfc.vac.dev/spec/22/) protocol;
  js-waku users should not build on top if this toy protocol and instead design message data structures appropriate to their use case.
- Unused dependencies & scripts.
2021-08-20 12:15:23 +10:00
Franck Royer ac03a9e54b
Update changelog 2021-08-20 10:54:13 +10:00
Franck Royer b7693853d2
Added support for `startTime` and `endTime` in Store queries 2021-08-20 10:37:58 +10:00
Franck Royer 1d48dc4372
Rename all `pubsubTopic` occurrences to `pubSubTopic` 2021-08-20 10:13:02 +10:00
Franck Royer 60290e8d84
Moved `DefaultPubSubTopic` to `waku.ts` and fixed the casing
The pubsub topic is used by several protocol, not just relay.
2021-08-20 10:12:55 +10:00
Franck Royer 0c09d60c91
Update changelog 2021-08-19 11:27:03 +10:00
Franck Royer 0b03952542
Update changelog 2021-08-19 11:13:34 +10:00
Franck Royer 9692b4af72
Rename Eth-DM to Eth-PM
"Direct Message" can lead to confusion with "Direct Connection" that
refers to low latency network connections.
2021-08-17 16:06:46 +10:00
Franck Royer 0f0b083586
Update changelog for Eth-PM Wallet Encryption changes 2021-08-13 16:44:29 +10:00
Franck Royer 140791cc91
Provide easy way to bootstrap when creating Waku node 2021-08-13 16:18:00 +10:00
Franck Royer c3855112d7
Rename `getStatusFleetNodes`
To make it more generic to allow retrieval of bootstrap nodes from
other sources.
2021-08-13 16:17:15 +10:00
Franck Royer 319f44a0b1
`WakuStore.queryHistory` throws when encountering an error
Instead of returning a `null` value.
2021-08-09 12:36:24 +10:00
Franck Royer b422c9a10b
Move `contentTopics` out the `WakuStore.queryHistory`'s optional params 2021-08-09 12:36:12 +10:00
Franck Royer ad9d629daa
`ChatMessage` has been moved from js-waku to web-chat example
It is a type used for the [TOY-CHAT](https://rfc.vac.dev/spec/22/)
 protocol;
js-waku users should not build on top if this toy protocol and instead
design message data structures appropriate to their use case.
2021-08-06 17:25:12 +10:00