def _validate_installation(version: Version, solcx_binary_path: Union[Path, str, None]) -> None: binary_path = get_executable(version, solcx_binary_path) try: installed_version = wrapper._get_solc_version(binary_path) except Exception: _unlink_solc(binary_path) raise SolcInstallationError( "Downloaded binary would not execute, or returned unexpected output." ) if installed_version.truncate() != version.truncate(): _unlink_solc(binary_path) raise UnexpectedVersionError( f"Attempted to install solc v{version}, but got solc v{installed_version}" ) if installed_version != version: warnings.warn(f"Installed solc version is v{installed_version}", UnexpectedVersionWarning) if not _default_solc_binary: set_solc_version(version) LOGGER.info(f"solc {version} successfully installed at: {binary_path}")
def _validate_installation(version: Version, vvm_binary_path: Union[Path, str, None]) -> None: binary_path = get_executable(version, vvm_binary_path) try: installed_version = wrapper._get_vyper_version(binary_path) except Exception: binary_path.unlink() raise VyperInstallationError( "Downloaded binary would not execute, or returned unexpected output." ) if installed_version.truncate() != version.truncate(): binary_path.unlink() raise UnexpectedVersionError( f"Attempted to install vyper v{version}, but got vyper v{installed_version}" ) if "".join(installed_version.prerelease) != "".join(version.prerelease): # join prerelease items so we don't warn when `beta.17` is actually `beta17` warnings.warn(f"Installed vyper version is v{installed_version}", UnexpectedVersionWarning) if not _default_vyper_binary: set_vyper_version(version) LOGGER.info(f"vyper {version} successfully installed at: {binary_path}")