Concepts are being mixed up between the global network config (static vs auto sharding), that needs to be the same of all nodes in the network, individual node configuration (eg relay node subscribing to a given shard), and the routing characteristic of a specific message (eg pubsub topic, shard).
This stops proper configuration of nwaku post 0.36.0 because we know need to be deliberate on whether nwaku nodes are running with auto or static sharding.
It also included various back and forth conversions between shards, pubsub topics, etc.
With this change, we tidy up the network configuration, and make it explicit whether it is static or auto sharded.
We also introduce the concept of routing info, which is specific to a message, and tied to the overall network configuration.
Routing info abstract pubsub topic, shard, and autosharding needs. Which should lead to easier tidy up of the pubsub concept at a later stage.
# Conflicts:
# packages/core/src/lib/connection_manager/connection_manager.ts
# packages/core/src/lib/metadata/metadata.ts
# packages/interfaces/src/metadata.ts
# packages/interfaces/src/sharding.ts
# packages/relay/src/create.ts
# packages/sdk/src/filter/filter.ts
# packages/sdk/src/filter/types.ts
# packages/sdk/src/light_push/light_push.spec.ts
# packages/tests/tests/sharding/auto_sharding.spec.ts
# packages/tests/tests/sharding/static_sharding.spec.ts
# Conflicts:
# packages/sdk/src/store/store.ts
* update Filter test suit, make service nodes connected to each other, remove single node Filter test suit, use 0.35 nwaku image
* update light push tests
* improve auto shard tests
* update static sharding test
* skip blocked tests
* fix test
* remove usage of pusubtopic with nwaku
* remove comment
* chore: upgrade nwaku to v0.33.1
* chore: upgrade to nwaku 0.34.0
* feat: connect nwaku nodes amongst each other over relay
* chore(lightpush): use multiple service nodes for lightpush (instead of just one)
- nwaku now expects >=1 nodes at least connected
* chore: all single-node lightpush requests should now be expected to fail
* chore: update sharding tests
* chore: update tests
* chore: improve Docker network config reliability
* chore: deduplicate ecies encrypted payloads
* chore: update to precise expects
* fix: return early if expect passes
* chore: lightpush 5 times instead of 30
* fix: non duplicacy should happen in application-specific scenario
* chore: update mocha config + fix epehermal tests
* chore: reinstall deps after rebase
* chore: attempt stability for test suite
* fix: store tests to now use multiple nodes, delete uneeded test
* fix: memory leak
* chore: switch while loop with timeout-promise
* chore: remove redundant nodes startup
* chore: add delays for nwaku setup
* fix: use pubsubTopic from current ones if not set
* fix: improve type on dial method
* enforce same pubusb on filter.subscribe, make content topic to pubsub mapping default for decoder / encoder
* fix mapping problem
* update tests
* add error handling
* fix typo
* up lock
* rm lock
* up lock
* remove only
* fix content topic
* fix ephemeral test
* fix filter unsubscribe test
* up utils
* fix subscribe test
* up interfaces and filter api
* remove only
* up ping test
* fix subscribe test
* fix push test
* fix lightPush
* fix multiple pubsub
* remove only, fix subscribe filter test
* remove only
* fix cluster ID selection and named sharding subscription test
* fix unsubscribe test
* fix light push test
* fix light push test
* fix push test
* fix relay publish
* create runNode and fix relay tests
* generalize runNodes, fix some tests
* fix store tests
* fix toAsyncIterator tests
* remove only
* fix lightPush
* use generics
* try fix test
* run failing tests
* remove only
* address failed tests, remove DefaultPubsubTopic dependency in some tests
* append `p2p` with the multiaddrs from ENR
* fix(tests): add p2p checks for ENR multiaddrs
* fix(tests): type getter
* chore(ci): remove debug flag from nwaku_master and go-waku tests