Beispiel #1
0
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}")
Beispiel #2
0
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}")