fn is_version_blacklisted(self, version: &str) -> bool {
        match self {
            Self::Solc => {
                let Ok(version) = semver::Version::parse(version) else {
                    tracing::error!(
                        "Incorrect version passed to blacklist check: {self:?}:{version}"
                    );
                    return true;
                };
                // The earliest supported version is 0.4.10.
                version < semver::Version::new(0, 4, 10)
            }
            Self::Vyper => {
                let Ok(version) = semver::Version::parse(version) else {
                    tracing::error!(
                        "Incorrect version passed to blacklist check: {self:?}:{version}"
                    );
                    return true;
                };

                // Versions below `0.3` are not supported.
                if version < semver::Version::new(0, 3, 0) {
                    return true;
                }

                // In `0.3.x` we only allow `0.3.3`, `0.3.9`, and `0.3.10`.
                if version.minor == 3 {
                    return !matches!(version.patch, 3 | 9 | 10);
                }

                false
            }
            _ => false,
        }
    }
Check if version is blacklisted, e.g. it shouldn't be available in the contract verifier.
core/lib/contract_verifier/src/resolver/github/gh_api.rs