pub(super) fn new(api_url: String, api_key: APIKey) -> Self {
        let client = Client::builder()
            // Timeout for establishing connection
            .connect_timeout(Self::connect_timeout())
            // Total timeout for the request
            .timeout(Self::request_timeout())
            .build()
            .expect("Failed to create a reqwest client for EtherscanClient");

        Self {
            api_url,
            api_key,
            http_client: client,
        }
    }
Creates a new EtherscanClient instance.

# Arguments
- `api_url` - URL of the Etherscan API.
- `api_key` - API key for the Etherscan API.
core/lib/contract_verifier/src/etherscan/client.rs