diff --git a/contract.py b/contract.py index 62ea5916b3f0ff0d55293ea1c738a01c298da054..240958811d769cb999c6455b0e0609729789700e 100644 --- a/contract.py +++ b/contract.py @@ -45,13 +45,17 @@ class ContractProvider: self.nft_token = nft_token self.network_id = network_id - @property - def w3(self): - for url in self.urls: - web3 = Web3(HTTPProvider(url)) - if web3.isConnected(): - web3.middleware_onion.inject(geth_poa_middleware, layer=0) - return web3 + @property + def w3(self): + for url in self.urls: + try: + web3 = Web3(HTTPProvider(url)) + if web3.isConnected(): + web3.middleware_onion.inject(geth_poa_middleware, layer=0) + return web3 + except Exception as e: + #logIt.notice(f"Connection failed for URL {url}: {e}") + continue raise ConnectionError("No valid links provided - failed to connect") @property