From 6b08836e8f611c184da4c5fe3206b5030b696ee0 Mon Sep 17 00:00:00 2001
From: Pavel <pavel.sidorenko@demlabs.net>
Date: Thu, 7 Dec 2023 20:20:59 +0700
Subject: [PATCH] Feature: The try except block has been added to allow you to
 switch to the next connection option

---
 contract.py | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/contract.py b/contract.py
index 62ea591..2409588 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
-- 
GitLab