I adjusted the interaction flow as requested. Now:
Datasources and contracts are independent of each other and can be set selectively.
However Indexers require datasources (mandatory) and may also depend on contracts, depending on the indexer type, for the configuration to pass the final validation check.
All possible scenarios were carefully considered in the update.
for #1106
completed
To test:
@droserasprout