@@ -227,7 +227,18 @@ def set_solc_version(
227
227
LOGGER .info (f"Using solc version { version } " )
228
228
229
229
230
- def _select_pragma_version (pragma_string : str , version_list : List [Version ]) -> Optional [Version ]:
230
+ def select_pragma_version (pragma_string : str , version_list : List [Version ]) -> Optional [Version ]:
231
+ """
232
+ Get a matching version from the given pragma string and a version list.
233
+
234
+ Args:
235
+ pragma_string (str): A pragma str.
236
+ version_list (List[Version]): A list of valid versions.
237
+
238
+ Returns:
239
+ Optional[Version]: A selected version from the given list.
240
+ """
241
+
231
242
comparator_set_range = pragma_string .replace (" " , "" ).split ("||" )
232
243
comparator_regex = re .compile (r"(([<>]?=?|\^)\d+\.\d+\.\d+)" )
233
244
version = None
@@ -276,7 +287,7 @@ def set_solc_version_pragma(
276
287
Version: The new active `solc` version.
277
288
"""
278
289
installed_versions = get_installed_solc_versions ()
279
- if not (version := _select_pragma_version (pragma_string , installed_versions )):
290
+ if not (version := select_pragma_version (pragma_string , installed_versions )):
280
291
raise SolcNotInstalled (
281
292
f"No compatible solc version installed."
282
293
f" Use solcx.install_solc_version_pragma('{ pragma_string } ') to install."
@@ -316,7 +327,7 @@ def install_solc_pragma(
316
327
"""
317
328
318
329
installed_versions = get_installable_solc_versions ()
319
- if version := _select_pragma_version (pragma_string , installed_versions ):
330
+ if version := select_pragma_version (pragma_string , installed_versions ):
320
331
install_solc (version , show_progress = show_progress , solcx_binary_path = solcx_binary_path )
321
332
else :
322
333
raise UnsupportedVersionError (
0 commit comments