Changed to use ChainProvider instead of limiting to only a single provider.
Add tests for using chain provider instead of single provider