pub(super) fn normalize_solc_version(
    version: String,
    solc_versions_fetcher: &SolcVersionsFetcher,
) -> String {
    if version.contains("zkVM-") {
        return version.replace("zkVM-", "v");
    }

    // Etherscan expects long solc versions to be passed in the request:
    // 0.8.28 -> 0.8.28+commit.7893614a etc.
    let version = solc_versions_fetcher
        .get_solc_long_version(&version)
        .unwrap_or(version);

    // Stored Solc versions and those returned by the SolcVersionsFetcher
    // do not have a leading 'v', but Etherscan requires it.
    if !version.starts_with("v") {
        return format!("v{}", version);
    }
    version
}
Normalizes the solc version to the format expected by Etherscan.
core/lib/contract_verifier/src/etherscan/utils.rs