* implement proto
* implement filter v2
* add tests
* minor improvements
- make unsubscribe functions private in
filter
- enable all tests
* enable all tests
* readd multiaddrinput
* address comment removals
* unsubscribe based on contentFilters passed
* update unsubscribe function parameters in test
* reset interfaces & filter v1
* refactor filterv2 into 2 classes
- removes generics from types on filter which means
manual typecasting to filter version is required on
consumer side
- defaults to filterv2
- splits filterv2 into 2 classes:
- one to create the subscription object with a
peer which returns the second class
- the other to manage all subscription functions
* updates filter tests for the new API
- also fixes an interface import
* update `toAsyncIterator` test for Filter V1
* implement IReceiver on FilterV2
* remove return values from subscription functions
* update `to_async_iterator`
* address variable naming
* add tsdoc comments for hidden function
* address minor comments
* update docs to default to filter v2
* address comments
* rename `wakuFilter` to `wakuFilterV1`
* chore: Remove static variables (#1371)
* chore: Remove static variables
- Remove internal types from `@core/interfaces`
- Remove data being redundantly stored (pubsub topic)
- Remove usage of static variables
- Clean up callbacks and decoders when using `unsubscribe`
- Clean up callbacks and decoders when using `unsubscribeAll`
* fix setting activeSubscription
---------
Co-authored-by: danisharora099 <danisharora099@gmail.com>
* make activeSub getter and setter private
* update size-limit
---------
Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>
* 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
* 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
As per its name, `@waku/core` aims to contain, and only contains, the
minimal set of core functionalities needed for a developer to use Waku
in their webapp.
Hence, `@waku/core` should avoid depending on other Waku packages. If a
developer wishes to use functionality from other packages, they should
explicitly import such packages.
Reasoning: by exposing the `Decoder` and `Encoder` classes to the user,
the user may care about them, try to use the method etc.
By "hiding" them away and providing `create*` help, the aim is for the
user to just call a function instead of instantiating a class.
Also, `V0` does not provide much information to the user so removing it.