fryorcraken.eth
5724bb2b21
feat: expose meta on IDecodedMessage
...
Decoders are expected to expose this field in their return type.
Somehow missed in previous PRs.
2023-05-10 14:41:07 +10:00
Sasha
7daa9d05bf
feat: toSubscriptionIterator impl for IReceiver ( #1307 )
2023-05-09 20:15:37 +02:00
Sasha
e11e5b4870
feat!: add and implement IReceiver ( #1219 )
...
- remove extend Relay by GossipSub and use it as public property;
- detach GossipSub initialisation;
2023-03-31 03:17:41 +02:00
Sasha
45284db963
feat: add getActiveSubscriptions method ( #1249 )
2023-03-21 02:44:35 +01:00
Sasha
0f6a594644
feat!: use ISender and deprecate Light Push .push ( #1217 )
2023-03-21 02:07:59 +01:00
fryorcraken.eth
3a92355543
chore: code improvement
...
- Replace exception pattern with a result pattern as it better fits the
usage.
- merge few maps to prefer chaining to assign var after var.
- Make `isDefined` type helper a common util function
2023-03-21 08:59:25 +11:00
Sasha
275b16641e
feat!: add custom events to Relay and make observers private ( #1213 )
2023-03-15 21:47:56 +01:00
Danish Arora
a20b797c5b
chore: refactor peer-exchange according to nwaku 0.15.0 ( #1193 )
...
* merge with master: adhere acc to updated API
* bump go-waku to 0.5.2
2023-03-14 13:56:15 +05:30
fryorcraken.eth
bd983ea48e
feat!: enable encoding of meta field
2023-03-14 11:21:09 +11:00
fryorcraken.eth
628ac50d71
feat!: expose pubsub topic in IDecodedMessage
...
Needed for deterministic message hash.
Ref: #1208
2023-03-13 13:49:24 +11:00
fryorcraken.eth
6dbcde041a
chore!: directly convert from ENR to PeerInfo, remove unneeded utility
2023-03-10 10:23:39 +11:00
fryorcraken.eth
22ffcf571a
chore!: extract encoder code
...
Separation of concerns by moving encoding logic in new class.
2023-03-10 10:23:39 +11:00
fryorcraken.eth
967e6ffc7e
chore!: update store.proto
...
Ref: https://github.com/vacp2p/waku
2023-02-27 14:00:33 +11:00
fryorcraken.eth
5cf8ed2030
chore!: update message.proto: payload and content topic are always defined
...
Ref: https://github.com/vacp2p/waku
2023-02-27 14:00:33 +11:00
Danish Arora
24c24cc27d
feat!: ConnectionManager and KeepAliveManager ( #1135 )
...
* initialises ConnectionManager and KeepAliveManager
ports from previous PR and makes necessary improvements and reductions
* address: comments
* map a ConnectionManager instance with a WakuNode
* abstract event listeners logic
* minor fix
* minor cleaning
* instantiate KeepAliveManager instead of extending
* fix build and enable all tests
* fix CI
* address review
* refine event handlers
- only removes the previously attached callback from
the event handlers while shutting down service
- removes the requirement of passing around
`keepAliveOptions` and `relay` inside of
`ConnectionManager`
* add verbosity to interface
* make `dialPeer()` more readable
* use set to push tags to avoid duplicates
* fix: merge build
* remove: logging function
* rename startService and stopService
* remove: future TODO
added that as part of future refactor
* use the new libp2p api
* initialise options in constructor//fix TS error
* remove stale export
* address principal review
* reset test timeout to master
2023-02-20 15:30:59 +05:30
Danish Arora
1b41569023
fix: remove initialising peer-exchange while creating a node ( #1158 )
...
* remove peer-exchange from @waku/core
- also removes the manual test for peer-exchange (assumption is that the
only way to initialise peer-exchange is through libp2p's peerDiscovery and
not manually) (ref:
https://github.com/waku-org/js-waku/pull/1158#discussion_r1108055234 )
# Please enter the commit message for your changes. Lines
starting
* fix: build
* update interop test
* decrease test duration for px auto discovery
* rm: only for tests
* address comment
2023-02-17 13:27:37 +05:30
fryorcraken.eth
803ae7bd8e
chore!: bump libp2p dependencies
2023-02-09 19:30:59 +11:00
Danish Arora
3b4bc8b25b
chore: update changelog & minor improvements ( #1153 )
...
* address comments from https://github.com/waku-org/js-waku/pull/1145
* fix: typedoc
* address comments in https://github.com/waku-org/js-waku/pull/1146#pullrequestreview-1286307508
- update changelog
- change naming for `EciesEncoderOptions` and
`SymmetricEncoderOptions`
2023-02-09 13:15:23 +05:30
Danish Arora
8910a6d76a
chore: move args for createEncoder into non-repeating options & fix typedoc ( #1146 )
...
* move args for `createEncoder` into non-repeating `options` & fix typedoc
* update tests with new API
2023-02-02 11:37:28 +05:30
Danish Arora
10b3898762
chore: move protocols CreateOptions into interfaces ( #1145 )
...
* move protocols `CreateOptions` into interfaces and
add possible TODO
* remove: createOptions for PeerExchange
* update test with new API
2023-02-02 08:02:06 +05:30
fryorcraken.eth
a5ff788eed
feat: codec as a property of the protocol implementations
...
For easy access from `@waku/core` without the need to depend on package
implementing the protocol.
2023-01-27 09:08:02 +11: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
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
f743cfd1ca
chore: rename node interfaces to include Node in name
...
Also rename node with only relay to `RelayNode`.
2022-12-12 22:36:14 +11:00
fryorcraken.eth
53af8994bd
feat: added I prefix to protocols interfaces
...
This will enable the remove of `Waku` prefix on all protocol
implementations, which is redundant due to the context.
2022-12-12 22:36:09 +11:00
fryorcraken.eth
cc691e26ce
feat: added I prefix to message/codec interfaces
...
To make it easier to differentiate with their implementations.
2022-12-12 22:13:46 +11:00
fryorcraken.eth
a7c4bb9cbf
refactor: split interface definition in separate files
2022-12-12 22:13:45 +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
danisharora099
36a01c3c30
address comments
2022-11-21 13:20:21 +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
8dfb133cd7
fix: libp2p upgrade (no more autodial + constructor dependency injection)
2022-11-16 21:27:33 +11:00
Danish Arora
9613e9c41d
Merge branch 'master' into danisharora/cursor-support-store
2022-11-16 13:26:35 +05:30
fryorcraken.eth
59992832fe
feat!: add Waku Message ephemeral support
2022-11-16 11:00:43 +11:00
danisharora099
0169a0ccb1
functionality works! test wip
2022-11-15 05:17:24 +05:30
fryorcraken.eth
8aa9b43f61
feat!: split outgoing and incoming message interface
...
While the data structure are similar, they serve different purposes.
Having the same type has show to confuse API consumers
Resolves #979
2022-11-04 14:30:59 +11:00
fryorcraken.eth
69c94db23a
chore: fix doc
2022-11-02 15:05:12 +11:00
fryorcraken.eth
9d74c9f6fe
fix: core check pass
2022-11-01 19:33:33 +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