Commit Graph

526 Commits

Author SHA1 Message Date
fryorcraken.eth d560f8ce0e
fix: bundling with exports map 2022-08-07 12:03:05 +10:00
fryorcraken.eth 8c27975830
fix: outdated doc & links 2022-08-07 12:03:05 +10:00
fryorcraken.eth 889ec4d45c
feat: split bootstrap logic
Split the bootstrap logic in 2 different classes that implement the
libp2p peer discovery class.

This enables better tree shaking when not using the heaviest version
(DNS Discovery).

It also means using libp2p interface directly when customizing the peer
discovery logic.

Finally, the `default` method is still available via the
`defaultBootstrap` option.
2022-08-07 12:03:05 +10:00
fryorcraken.eth f929be064b
fix: filter import 2022-08-07 12:03:05 +10:00
fryorcraken.eth 080357355b
refactor: extract peer discovery static list 2022-08-07 12:03:05 +10:00
fryorcraken.eth 69aee6c1cc
refactor: move `createWaku` to own module 2022-08-07 12:03:04 +10:00
fryorcraken.eth 8b7a97d502
fix: remove unneeded log 2022-08-03 09:30:41 +10:00
Franck Royer 95deb6a331
fix: ensure types are available in doc 2022-08-03 09:30:40 +10:00
Franck Royer 98d14e08b0
feat!: Do not start libp2p automatically with `createWaku`
Reduce the number of actions `createWaku` does.
2022-08-03 09:30:39 +10:00
Franck Royer b7b6a11f43
fix: export `createWaku` 2022-08-03 09:30:39 +10:00
Franck Royer e119fc46d6
fix: pass bootstrap to libp2p instance 2022-08-03 09:30:38 +10:00
Franck Royer 8922511cc9
fix: pass pubsub topic when creating waku filter 2022-08-03 09:30:38 +10:00
Franck Royer 275eb72959
fix: ignore store response unspecified error 2022-08-03 09:30:38 +10:00
Franck Royer d18a5152ef
fix(test): check messages on custom pubsub topic 2022-08-03 09:30:38 +10:00
Franck Royer 4a193e49e0
style: use nullish coalescing instead of if/then 2022-08-03 09:30:38 +10:00
Franck Royer a3e6850b2f
fix(test): compare peer ids using string format 2022-08-03 09:30:37 +10:00
Franck Royer 991a1cf747
fix(test): ensure nodes are cleaned up, use separate noise key 2022-08-03 09:30:37 +10:00
Franck Royer ba1c7b86ea
fix: Use libp2p options passed to `createWaku` 2022-08-03 09:30:37 +10:00
Franck Royer d7b08f7e24
fix: Wait for remote peer for Waku Relay
The promise resolves only if a remote peer is added to the gossipsub
mesh.
2022-08-03 09:30:37 +10:00
Franck Royer 2265a0099f
refactor: Use same code for store, lightpush and filter 2022-08-03 09:30:37 +10:00
Franck Royer 0a505659b7
fix: ensure node only enable protocol we are testing 2022-08-03 09:30:37 +10:00
Franck Royer 4c3da7bad2
refactor: Use common code for filter and light push 2022-08-03 09:30:36 +10:00
Franck Royer 811685e041
refactor!: Move `waitForRemotePeer` to own file 2022-08-03 09:30:36 +10:00
Franck Royer 4eeca93d47
chore: bump libp2p to next (0.38.0 rc) 2022-08-03 09:30:36 +10:00
Franck Royer bd7d01387d
chore: remove useless test 2022-08-03 09:30:36 +10:00
Franck Royer f768686e51
fix: fix pipe usage 2022-08-03 09:30:33 +10:00
Franck Royer f3833564f2
fix: Remove event listener once done 2022-07-28 10:43:37 +10:00
Franck Royer 51d5bc19a2
fix: removed usage of buffer in streams 2022-07-20 12:45:14 +10:00
Franck Royer 52616fb912
fix: move to usage of `log` 2022-07-20 12:44:48 +10:00
Franck Royer d609b9c47b
fix: usage of libp2p and undefined options 2022-07-20 12:44:48 +10:00
Franck Royer 52d74a74b5
fix: remove test with no value 2022-07-20 12:44:48 +10:00
Franck Royer a10d3ae7d3
fix: peer id / keypair conversion 2022-07-20 12:44:47 +10:00
Franck Royer 5d5e035edb
fix: use compress key
`marshal` return the compress key, `bytes` returned the protobuf
serialized key.
2022-07-20 12:44:47 +10:00
Franck Royer fd030e0fbb
fix: Typo 2022-07-20 12:44:47 +10:00
Franck Royer 6d5c2acb99
fix: Multiaddr from fields function 2022-07-20 12:44:47 +10:00
Franck Royer ab9919ba6d
fix: Imports paths
Import paths were not valid.
2022-07-20 12:44:47 +10:00
Franck Royer 157e42e148
fix: Do not use `names` import 2022-07-20 12:44:47 +10:00
Franck Royer 9e27a0082e
Sort out ENR key generation, upgrade to @libp2p/crypto 2022-07-20 12:44:44 +10:00
Franck Royer dcb3a65a5b
No more tsc error on prod code 2022-07-20 12:44:07 +10:00
Franck Royer 5d8ab6cf82
Sort ping 2022-07-20 12:43:42 +10:00
Franck Royer e0a23bad44
Sort out createWaku and waitForRemotePeer 2022-07-20 12:43:42 +10:00
Franck Royer 4cf197e54d
Implement libp2p bootstrap interface 2022-07-20 12:43:40 +10:00
Franck Royer 8e5318dc4a
Upgrade libp2p-gossipsub 2022-07-20 12:42:24 +10:00
Franck Royer 98c93c8283
Upgrade libp2p, peer-id, multiaddr
Use new packages and fix most compilation errors.
Remaining error to be dealt with in waku.ts.
2022-07-20 12:40:37 +10:00
Franck Royer 6c30e8d400
Use `PeerId.toString()` instead of `toB58String()`
New version of `PeerId` will only support `toString`
2022-07-20 11:55:43 +10:00
Franck Royer 0cec093a4d
chore!: upgrade dns-query 2022-07-19 16:31:21 +10:00
Franck Royer 5ca3957b39
fix: options can be undefined 2022-06-20 14:32:21 +10:00
Franck Royer 43e9de6fe2
cleanup: Migrate from ts-proto to protons 2022-06-20 14:32:21 +10:00
Franck Royer ce24c2f530
Do not fail when receiving unspecified error 2022-06-20 14:32:20 +10:00
Franck Royer 9e8d4b9bb1
Mark all proto fields as optional
As expected in proto version 3.
2022-06-20 14:32:20 +10:00
Franck Royer 82aba32f9e
Migrate from ts-proto to protons
The latter does not bring Buffer/Long and is ESM compatible.
2022-06-20 14:32:20 +10:00
Franck Royer 4352cb923d
Replace karma-env-preproc with webpack 2022-06-20 14:32:20 +10:00
Franck Royer cb10ca16d1
Migrate package to ESM 2022-06-20 14:32:20 +10:00
Franck Royer e8e6df767b
Use waitForRemotePeer directly 2022-06-01 13:16:06 +10:00
Franck Royer 9ffedd1fbf
Remove circular dependencies 2022-06-01 12:14:47 +10:00
status-bors-ng[bot] 6df972694c
Merge #767
767: Clear all timers on `Waku.stop` r=D4nte a=felicio

Resolves https://github.com/status-im/js-waku/issues/766

Co-authored-by: Felicio Mununga <felicio@users.noreply.github.com>
2022-05-30 07:25:17 +00:00
Felicio Mununga 59bb9257c6
remove notes 2022-05-29 17:48:22 +02:00
Felicio Mununga 598a6a120e
add note 2022-05-29 17:41:55 +02:00
Felicio Mununga 3d67946fb0
move clearing to func 2022-05-29 17:39:51 +02:00
Felicio Mununga 606a2da96c
remove static props used for instance state 2022-05-29 15:01:36 +02:00
Felicio Mununga 911ce4a836
fix typo 2022-05-29 14:50:30 +02:00
Felicio Mununga 0ecd44aa0a
clear timers on `stop` 2022-05-29 13:46:12 +02:00
Franck Royer 7a2dcd9881
Update comments 2022-05-27 20:37:16 +10:00
Franck Royer b93e535af9
Add wait for remote peer (filter) test 2022-05-27 20:37:15 +10:00
Franck Royer 2e09b6dec3
Use Map
Preferred to object when possible.
2022-05-27 20:37:15 +10:00
Franck Royer 5687908ca0
Reorder parameters
To match `waku.relay.addObserver`.
2022-05-27 20:37:15 +10:00
Franck Royer 4cf3d3ffd8
Add some awaits 2022-05-27 20:37:15 +10:00
Franck Royer e5dde6f9e9
Minor fixes 2022-05-27 20:37:15 +10:00
Franck Royer f7613febed
Simplify import 2022-05-27 20:37:15 +10:00
Franck Royer 4c640e0f93
Remove due `filter` 2022-05-27 20:37:15 +10:00
Franck Royer e3015abce9
Add filter to `dial` 2022-05-27 20:37:15 +10:00
Nicholas Molnar 8aa966c2f6
Consolidate imports 2022-05-27 20:37:15 +10:00
Nicholas Molnar cd71beb26b
Fix more comments 2022-05-27 20:37:15 +10:00
Nicholas Molnar c534bd6cff
Add more comments 2022-05-27 20:37:14 +10:00
Nicholas Molnar 971d080ab5
Code cleanup 2022-05-27 20:37:14 +10:00
Nicholas Molnar 41f01c6d60
Fix comment 2022-05-27 20:37:14 +10:00
Nicholas Molnar c77b74c10c
Add/delete decryption keys 2022-05-27 20:37:14 +10:00
Nicholas Molnar 5faa186b34
Add decryption keys 2022-05-27 20:37:14 +10:00
Nicholas Molnar 4734e4b7c7
Finish implementation 2022-05-27 20:37:14 +10:00
Nicholas Molnar 691de1a194
Add proto 2022-05-27 20:37:14 +10:00
Franck Royer c85c39a427
Consolidate signature verification logic 2022-05-20 12:06:14 +10:00
Franck Royer 2ed3580584
Remove dupe function 2022-05-20 11:49:00 +10:00
Franck Royer 6ace11f18f
Remove unused interface 2022-05-20 11:45:48 +10:00
Franck Royer 4cb8769271
Remove unused constant 2022-05-20 11:44:58 +10:00
Franck Royer b93c876043
Consolidate compress public key functions 2022-05-20 11:42:01 +10:00
Franck Royer 479081f611
Remove unnecessary abstract class 2022-05-20 11:38:44 +10:00
Franck Royer 5e1cd78288
Remove unused code 2022-05-20 11:27:57 +10:00
Franck Royer 17c8335d6f
Remove file 2022-05-20 11:27:15 +10:00
Franck Royer c6189170e0
Remove unused code 2022-05-20 11:05:44 +10:00
Franck Royer ee8ba791cc
Move ecdsa sign to crypto.ts 2022-05-20 10:59:33 +10:00
Franck Royer b3f4686da1
Use Uint8Array instead of hex string for hash 2022-05-20 10:59:32 +10:00
Franck Royer 595fb877eb
Move keccak256 function to crypto.ts 2022-05-20 10:59:32 +10:00
Franck Royer 20b3b5b667
Move common crypto functions to crypto.ts 2022-05-20 10:59:32 +10:00
Franck Royer dbdf37a31d
Remove usage of `Buffer` from version_1.ts 2022-05-20 10:32:45 +10:00
Franck Royer 89de2e3c77
Remove `buf` variable 2022-05-20 10:32:45 +10:00
Franck Royer 06b4ab581d
Remove `Buffer` from `isMessageSigned` 2022-05-20 10:32:45 +10:00
Franck Royer ce0c5cef07
Pass Uint8Array when possible 2022-05-20 10:32:45 +10:00
Franck Royer 5648f72d3d
Extract is message signed logic 2022-05-20 10:32:45 +10:00
Franck Royer bd9d592fda
Remove Buffer from `getPayloadSize` 2022-05-20 10:32:45 +10:00
Franck Royer 33f52ef56d
Extract `getPayloadSize` logic 2022-05-20 10:32:45 +10:00