Danish Arora
477c2a5918
feat!: protocols filter peers as per configured shard ( #1756 )
...
* merge: master
* fix: tests
* update: interfafces
* rm: comments
* metadata: store peerIdStr instead of peerId
* chore(utils): move fast-utils to dev deps
* fix: allow autosharding nodes to get peers (#1785 )
* fix: merge
* fix: build
* fix: failing tests from master merge
---------
Co-authored-by: Arseniy Klempner <arseniyk@status.im>
2024-01-19 20:42:52 +05:30
Danish Arora
124a29ebba
feat(static-sharding): filter peer connections per shards ( #1626 )
...
* add interface for `ShardInfo`
* enr: add deserialization logic & setup getters
* add sharding related utils
* utils: add shard<-> bytes conversion helpers
* pass `pubSubTopics` to `Waku`
* add `rs`/`rsv` details during discovery
* connection-manager: discard irrelevant peers
* add tests for static sharding - peer exchange
* update `ConnectionManager` tests to account for topic validity
* add js suffix to import
* address some comments
* move shardInfo encoding to ENR
* test: update for new API
* enr: add tests for serialisation & deserialisation
* address comment
* update test
* move getPeershardInfo to ConnectionManager and return ShardInfo instead of bytes
* update encoding and decoding relay shards to also factor for shards>64
* relay shard encoding decoding: use DataView and verbose spec tests
* improve tests for relay shard encoding decoding
* rm: only
* improve log message for unconfigured pubsub topic
* minor improvement
* fix: buffer <> Uint8array problems with shard decoding
* fix: test
* rm: only
2023-10-10 20:18:02 +05:30
fryorcraken.eth
130c49b636
chore!: extract decoder code
...
Separation of concerns by moving decoding logic in new class.
2023-03-10 10:23:38 +11:00
fryorcraken.eth
8fd1455122
chore: extract test code
...
createFrom* functions are only used in test.
By extracting them in different class it should help
bundlers.
2023-03-10 10:23:38 +11:00
fryorcraken.eth
93ba160791
chore: remove unused keypair api
2023-03-10 10:23:38 +11:00
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
d78a40f273
chore: fix dns-discovery build
2022-11-03 21:37:55 +11:00
fryorcraken.eth
9cc32c1032
tests: fix karma
2022-11-03 14:24:08 +11:00
fryorcraken.eth
f7f28f03b0
feat!: extract dns discovery and enr from core
2022-11-03 14:24:08 +11:00