Franck R
96cf24d34e
Allow specifying decryption methods and content topic ( #409 )
2022-01-17 14:11:05 +11:00
Franck Royer
2c16f0befb
Separate tests that use DNS data in CI
2022-01-14 12:44:06 +11:00
Franck Royer
b65ab17cb9
Expose types to ensure documentation is complete
2022-01-13 16:40:11 +11:00
Franck Royer
6276b1537f
Remove unnecessary declaration of Buffer
...
It's handled by the polyfill config in webpack.
2022-01-13 16:40:10 +11:00
Franck Royer
fa4e94750f
Make parseBootstrap a class
...
Makes it easier to use the resulting function and document defaults.
2022-01-13 16:40:10 +11:00
Franck Royer
ae0faa2146
Clarify default DNS servers
2022-01-13 16:39:52 +11:00
Franck Royer
f0eb9d1609
Rename libp2p bootstrap import
...
To avoid name conflict.
2022-01-13 16:39:52 +11:00
Franck Royer
e871da056f
Export enr, dns, entree modules
2022-01-13 16:39:52 +11:00
Franck Royer
4bfe060064
Export BootstrapOptions
2022-01-13 16:39:52 +11:00
Franck Royer
284644b822
Fix-up new bootstrap API
2022-01-13 16:39:52 +11:00
Franck Royer
e47335f4c0
Implement DNS Discovery and ENR tree
2022-01-13 15:38:22 +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
f4f6b4a808
Create discovery submodule
2022-01-12 14:54:00 +11:00
dependabot[bot]
7adb51a9cc
Bump ts-proto from 1.97.0 to 1.100.0
...
Bumps [ts-proto](https://github.com/stephenh/ts-proto ) from 1.97.0 to 1.100.0.
- [Release notes](https://github.com/stephenh/ts-proto/releases )
- [Changelog](https://github.com/stephenh/ts-proto/blob/main/CHANGELOG.md )
- [Commits](https://github.com/stephenh/ts-proto/compare/v1.97.0...v1.100.0 )
---
updated-dependencies:
- dependency-name: ts-proto
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2022-01-10 15:31:46 +11:00
Franck
06d89418aa
Format change
2022-01-05 11:27:37 +11:00
Franck
8000afbc72
typo
2022-01-04 17:33:04 +11:00
Franck
fa3ab19176
Generate proto files withts-protoa 1.97.0
2022-01-03 10:56:37 +11:00
Franck
7a3e46a384
Add encoded value for reference for other implementations
2021-12-07 09:16:32 +11:00
Franck
eb1b384be4
Remove console.log
2021-12-06 14:32:18 +11:00
F
01c66f7e89
Add ENR with multiaddr
...
Imported from https://github.com/D4nte/discv5/pull/1
Replaced bcrypto backend with secp256k1.
2021-12-06 14:29:08 +11:00
F
eb9057fc8f
doc: Remove warnings
2021-12-02 23:51:54 +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
6f4d765e30
Remove useless log
2021-10-05 13:36:04 +11:00
Franck Royer
62b30b3f33
Log queried store peer info
2021-10-05 13:36:04 +11:00
Franck Royer
92ee5b060c
doc: Move comments to ensure they appear in generated documentation
2021-10-05 13:36:03 +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
c990660fb9
Rename node only suites
2021-09-24 17:15:46 +10:00
Franck Royer
928d888ad8
Remove 'browser' from test filename
...
These tests are run both on node and in browser.
2021-09-24 17:09:34 +10:00
Franck Royer
d900945b6d
Add 'node' in test file names that only run on node
2021-09-24 17:09:34 +10:00
Franck Royer
d875994908
Fix hearbeat tick handler rounding issue
...
807bf282c5
2021-09-24 10:36:19 +10:00
Franck Royer
2eb88068ae
Test default discovery as part of the CI
2021-09-21 14:47:45 +10:00
Franck Royer
640a672257
Do not setup libp2p discovery module if we fail to retrieve node addrs
2021-09-21 14:47:45 +10:00
Franck Royer
a95315eeb5
Ensure node address is returned for Object type responses
2021-09-21 14:47:45 +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
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
75f605a676
Improve error text
...
To make it clearer what the issue is.
2021-09-02 15:20:44 +10:00
Franck Royer
50fb533e44
test: Increase timeouts + add debug logs
2021-09-02 15:20:43 +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
f4cae60ef8
Fix documentation
2021-09-02 15:15:43 +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
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
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
026aaaf67e
Remove default value
...
Default value is handled one layer above.
2021-08-20 10:12:56 +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
3f95934250
Replace deprecated package for libp2p-noise
2021-08-19 11:26:34 +10:00
Franck Royer
6d42c39298
export values so they are included in the documentation
2021-08-13 16:18:03 +10:00
Franck Royer
bac26ea3da
fixup
2021-08-13 16:18:02 +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
355b8414d8
Separate shutdown process to pinpoint CI failure
2021-08-09 12:27:52 +10:00
Franck Royer
dcdab3203d
Replace nim-waku log grep with new pattern
2021-08-09 12:27:22 +10:00
Franck Royer
80cfa3c87a
Increase timeout to shutdown node
2021-08-09 12:09:21 +10:00
Franck Royer
c14951cb0e
Increase timeout for nim-waku starts
...
Took 5 seconds in CI run.
2021-08-09 11:58:58 +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
Franck Royer
d035359616
Workaround the fact that ni-waku does not accept integers as timestamp
2021-08-05 13:32:37 +10:00
Franck Royer
45dc8f81c9
Fixed `ChatMessage.payloadAsUtf8` returning garbage on utf-8 non-ascii
2021-08-02 10:36:50 +10:00
Franck Royer
1f692f1683
Fixed `payloadAsUtf8` returning garbage on utf-8 non-ascii characters
2021-08-02 09:51:37 +10:00
Franck Royer
0cfdd34284
Removed `DefaultContentTopic`
...
As developers must choose a content topic for their app.
The`WakuMessage` APIs have been changed to move `contentTopic` out of
the optional parameters. Recommendations for content topic can be found
at https://rfc.vac.dev/spec/23/ .
2021-07-28 12:03:51 +10:00
Franck Royer
5e056d8b81
Shorten imports, remove warning
2021-07-28 11:58:05 +10:00
Franck Royer
9638f6db10
Introduced new `relayKeepAlive` option
...
..on `Waku` with a default to 5min to send ping messages over relay
to ensure the relay stream stays open.
This is a workaround until
[js-libp2p#744](https://github.com/libp2p/js-libp2p/issues/744 ) is done
as there are issues when TCP(?) timeouts and the stream gets closed.
2021-07-27 16:24:04 +10:00
Franck Royer
ea33b9cd8a
Rename `keepAlive` option to `pingKeepAlive`
...
In preparation for introducing a relay keep alive feature.
2021-07-27 16:06:57 +10:00
Franck Royer
c4d0501c6a
nim-waku v0.5 uses new waku relay protocol id
2021-07-26 11:35:08 +10:00
Franck Royer
5f7eee394b
Store Response Protobuf change to align with nim-waku
...
status-im/nim-waku#676
2021-07-26 11:35:08 +10:00
Franck Royer
6817a2f6b2
Pass timestamp to RPC call
2021-07-26 11:32:50 +10:00
Franck Royer
be007f4839
Ensure there is no infinite loop on error
2021-07-21 15:44:00 +10:00
Franck Royer
92a76b3be0
Support multiple protocol id for relay
...
Support id of latest nim-waku release 0.4 and current master.
2021-07-21 15:43:30 +10:00
Franck Royer
6135127e5d
Correct name
2021-07-21 15:02:38 +10:00
Franck Royer
1d4137e2c4
Rename so that it does make dev thinks it's for asymmetric enc only
2021-07-16 10:24:29 +10:00
Franck Royer
addf9543a2
Export `generatePrivateKey` and `getPublicKey` directly from the root
2021-07-16 09:43:10 +10:00
Franck Royer
f3738b1eac
doc: Fix keep alive default value
2021-07-15 14:00:24 +10:00
Franck Royer
0b3f1a33c2
test: Symmetric encryption with waku store
2021-07-15 12:26:05 +10:00
Franck Royer
44efd28ac1
Update terminology and docs to cater for both sym and asym encryption
2021-07-15 12:25:47 +10:00
Franck Royer
b74acd73dc
Remove unknown type
2021-07-15 12:16:21 +10:00
Franck Royer
75d1b3834c
Simplify expression
2021-07-15 12:16:03 +10:00
Franck Royer
13c8a0527b
Test symmetric encryption with nim-waku using relay
2021-07-15 12:12:43 +10:00
Franck Royer
302fc20243
Remove dupe tests
2021-07-15 10:36:24 +10:00
Franck Royer
9374de1931
Karma: Remove tests folder and use in place files & update contrib guide
...
*.browser.spec.ts files will be tested on both node and browser.
Other files only tested on node.
2021-07-15 10:36:24 +10:00
Franck Royer
25fccb4c9a
Add symmetric encryption support to Waku Message
2021-07-15 10:23:40 +10:00
Franck Royer
56c30059b2
Add comments on Waku Message Options
2021-07-15 10:23:34 +10:00
Franck Royer
57f65267c2
Implement and test symmetric encryption in the browser
2021-07-14 16:31:11 +10:00
Franck Royer
06ee0ac1d8
Symmetric encryption for node
2021-07-14 15:34:48 +10:00
Franck Royer
ac4f0aab98
Only include lib files, segregate browser tests
2021-07-14 13:04:11 +10:00
Franck Royer
a9c83dac13
Do not use same key value for both constants
2021-07-14 13:03:22 +10:00
Franck Royer
e443237a81
Remove local type definitions for Karma to not return "not found"
2021-07-14 12:25:23 +10:00
Franck Royer
70058f0e36
Split browser and node tests
2021-07-14 11:56:48 +10:00
Franck Royer
a0d3a21762
Improve importing of Muxed Stream type
2021-07-14 11:38:59 +10:00
Franck Royer
c2cef05c2d
Use protobuf instead of JSON for direct messages
2021-07-12 17:29:52 +10:00
Franck Royer
48bdb0b3f2
Use WakuMessage version 1 instead of eth-crypto
2021-07-12 17:09:44 +10:00
Franck Royer
0e9c482a19
Enable decryption of messages retrieve via `WakuStore.queryHistory`
2021-07-12 13:15:19 +10:00
Franck Royer
d68ee3fb74
New `peers` and `randomPeer` methods to return available peers
2021-07-12 13:15:19 +10:00
Franck Royer
4fe0116039
Use ecies library that provide right ECIES parameters
2021-07-12 11:30:19 +10:00
Franck Royer
63923f4368
Prefer usage of utils
2021-07-09 16:06:49 +10:00
Franck Royer
b70f7c5a95
Use DOM random generator if available
2021-07-09 16:06:49 +10:00