@@ -246,25 +246,25 @@ def compile(self, crytic_compile: "CryticCompile", **kwargs: str) -> None:
246
246
if etherscan_api_key and "etherscan" in etherscan_url :
247
247
etherscan_url += f"&apikey={ etherscan_api_key } "
248
248
etherscan_bytecode_url += f"&apikey={ etherscan_api_key } "
249
- if arbiscan_api_key and "arbiscan" in etherscan_url :
249
+ elif arbiscan_api_key and "arbiscan" in etherscan_url :
250
250
etherscan_url += f"&apikey={ arbiscan_api_key } "
251
251
etherscan_bytecode_url += f"&apikey={ arbiscan_api_key } "
252
- if polygonscan_api_key and "polygonscan" in etherscan_url :
252
+ elif polygonscan_api_key and "polygonscan" in etherscan_url :
253
253
etherscan_url += f"&apikey={ polygonscan_api_key } "
254
254
etherscan_bytecode_url += f"&apikey={ polygonscan_api_key } "
255
- if test_polygonscan_api_key and "polygonscan" in etherscan_url :
255
+ elif test_polygonscan_api_key and "polygonscan" in etherscan_url :
256
256
etherscan_url += f"&apikey={ test_polygonscan_api_key } "
257
257
etherscan_bytecode_url += f"&apikey={ test_polygonscan_api_key } "
258
- if avax_api_key and "snowtrace" in etherscan_url :
258
+ elif avax_api_key and "snowtrace" in etherscan_url :
259
259
etherscan_url += f"&apikey={ avax_api_key } "
260
260
etherscan_bytecode_url += f"&apikey={ avax_api_key } "
261
- if ftmscan_api_key and "ftmscan" in etherscan_url :
261
+ elif ftmscan_api_key and "ftmscan" in etherscan_url :
262
262
etherscan_url += f"&apikey={ ftmscan_api_key } "
263
263
etherscan_bytecode_url += f"&apikey={ ftmscan_api_key } "
264
- if bscan_api_key and "bscscan" in etherscan_url :
264
+ elif bscan_api_key and "bscscan" in etherscan_url :
265
265
etherscan_url += f"&apikey={ bscan_api_key } "
266
266
etherscan_bytecode_url += f"&apikey={ bscan_api_key } "
267
- if optim_api_key and "optim" in etherscan_url :
267
+ elif optim_api_key and "optim" in etherscan_url :
268
268
etherscan_url += f"&apikey={ optim_api_key } "
269
269
etherscan_bytecode_url += f"&apikey={ optim_api_key } "
270
270
@@ -298,6 +298,10 @@ def compile(self, crytic_compile: "CryticCompile", **kwargs: str) -> None:
298
298
if "message" not in info :
299
299
LOGGER .error ("Incorrect etherscan request" )
300
300
raise InvalidCompilation ("Incorrect etherscan request " + etherscan_url )
301
+
302
+ if not info ["message" ].startswith ("OK" ) and "Invalid API Key" in info ["result" ]:
303
+ LOGGER .error ("Invalid etherscan API Key" )
304
+ raise InvalidCompilation ("Invalid etherscan API Key: " + etherscan_url )
301
305
302
306
if not info ["message" ].startswith ("OK" ):
303
307
LOGGER .error ("Contract has no public source code" )
0 commit comments