|
| 1 | +import os |
1 | 2 | from importlib.resources import files
|
2 | 3 | from time import sleep
|
3 | 4 |
|
@@ -65,11 +66,23 @@ def __init__(
|
65 | 66 | self.latest_seen_block = self.eth.get_block_number(ignore_latest_seen_block=True)
|
66 | 67 |
|
67 | 68 | self.filter_block_range = self._find_max_filter_range()
|
| 69 | + if self.filter_block_range == 0 and os.getenv("RPC_REQUIRE_LOGS", "false").lower() == "true": |
| 70 | + raise Exception("Can not get logs from RPC") |
68 | 71 | self.rpc_batch_max_size = self._find_max_batch_size()
|
| 72 | + if self.rpc_batch_max_size == 0 and os.getenv("RPC_REQUIRE_BATCHING", "false").lower() == "true": |
| 73 | + raise Exception("RPC does not support batch requests") |
69 | 74 | self.revert_reason_available: bool = self._check_revert_reason_available()
|
| 75 | + if not self.revert_reason_available and os.getenv("RPC_REQUIRE_REVERT_REASON", "false").lower() == "true": |
| 76 | + raise Exception("RPC does not correctly return revert reasons") |
70 | 77 | self.is_archive = self._check_is_archive()
|
| 78 | + if not self.is_archive and os.getenv("RPC_REQUIRE_ARCHIVE", "false").lower() == "true": |
| 79 | + raise Exception("RPC does not support archive requests") |
71 | 80 | self.overwrites_available: bool = self._check_overwrites_available()
|
| 81 | + if not self.overwrites_available and os.getenv("RPC_REQUIRE_OVERWRITES", "false").lower() == "true": |
| 82 | + raise Exception("RPC does not support state overwrites") |
72 | 83 | self.subsquid_available: bool = self._check_subsquid_available()
|
| 84 | + if not self.subsquid_available and os.getenv("RPC_REQUIRE_SUBSQUID", "false").lower() == "true": |
| 85 | + raise Exception("Chain not supported by SubSquid") |
73 | 86 |
|
74 | 87 | self.middleware_onion.inject(BatchRetryMiddleware, layer=0, name="batch_retry") # split and retry batch requests
|
75 | 88 |
|
|
0 commit comments