This commit creates the class for an SDS message channel, including
buffers for outgoing and incoming messages. Adds logic for sending
messages, receiving messages, delivering messages, and reviewing
acknowledgement status of messages. Also adds byte serialization
for bloom filters.
Adds a new package for the browser implementation of scalable data
sync. Ports some of the nim implementation of bloom filter to ts.
Adds protobuf definition for SDS messages.
* chore: upgrade libp2p and related packages
* fix: public key on peer id can now be undefined
* chore: upgrade remainder packages
* chore: fix tests
* chore: address comments
* chore: upgrade playwright and proto
* feat: write proto
* chore: move store v2 to a subdir
* chore: update v3 proto
* feat: create custom RPC
* feat: implement storev3 core
* chore: set store v3 as default
* chore: move v2 related code
* chore: update v2 imports
* feat: add store-v3 sdk implementation
* fix: rebase
* chore: add ts-doc for store query request params
* chore: update tests for new API
* fix: use nanoseconds instead of millisecond for timerange
* chore: improve store
* chore: remove store v2
* chore: update tests
* chore: fix legacy imports & proto
* tests: remove manual reversal as its part of the API, update incorrect cursor error msg
* chore: update default page size
* chore: account for MAX_PAGE_SIZE from nwaku
* fix: test
* fix: sorting tests
* add proto
* add rpc and interfaces
* add protocol implementation
* update faulty proto def
* add rpc and interfaces
* refactor implementation & write test
* setup the metadata protocol as a service
* fix cases where metadata service needs to be undefined
* remove redundant catch block
* remove addressed TODO
* update import path
* log errors
* remove redundant code from handling incoming metadata request
* update tests
* add test to check for active connections
* change expects
* save remote peer's shard info after successful connection
* 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>
* 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>
Co-authored-by: fryorcraken.eth <110212804+fryorcraken@users.noreply.github.com>