def METHOD_NAME(
    cls,
    ethereum_client: EthereumClient,
    uniswap_v3_router_address: Optional[ChecksumAddress] = None,
) -> bool:
    """
    :param ethereum_client:
    :param uniswap_v3_router_address: Provide a custom `SwapRouter02` address
    :return: `True` if Uniswap V3 is available for the EthereumClient provided, `False` otherwise
    """
    router_address = uniswap_v3_router_address or cls.ROUTER_ADDRESSES.get(
        ethereum_client.get_network(), cls.DEFAULT_ROUTER_ADDRESS
    )
    return ethereum_client.is_contract(router_address)