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
* use graceful timeout mechanism
* set max timeout for all hooks
* small fix
* small fix
* use MOCHA_HOOK_MAX_TIMEOUT as default timeoutDuration
* force retry even when the hook fails
* use custom hooks
* fix global timeout problem
* fix unwanted change
* fix enr issue
* force retry on before error as well
* make relay folder
* make relay folder
* adjust message collector for relay
* small fix
* small fix
* small fix
* split tests more
* small fixes
* small fix
* new test
* fix pubsubtopic name
* new subscribe tests
* new subscribe tests
* new tests
* small fix after ci run
* small fix after ci run2
* fix skipped test
* added issue for skipped test
* add bulk of tests
* refactored and improved tests
* add more comments
* fixes after CI run
* split filter tests into mulitple suites
* split filter tests into mulitple suites