prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Web3.isAddress doesn't work for non prefixed checksumed values
  * Version: 4.0.0b11
  * Python: 3.6
  * OS: linux
  
  ### What was wrong?
  
  As stated in the docs http://web3py.readthedocs.io/en/latest/overview.html#Web3.isAddress the function Web3.isAddress(value) should **allow both 0x prefixed and non prefixed values**.
  
  If the address is not checksumed, it's ok not to have the **0x**:
  
  ```
  >>> Web3.isAddress('d3cda913deb6f67967b99d67acdfa1712c293601')
  >>> True
  ```
  
  But if it's checksumed
  
  ```
  >>> Web3.isAddress('d3CdA913deB6f67967B99D67aCDFa1712C293601')
  >>> False
  ```
  
  No problem if we add the **0x**:
  
  ```
  >>> Web3.isAddress('0xd3CdA913deB6f67967B99D67aCDFa1712C293601')
  >>> True
  ```
  
  ### How can it be fixed?
  
  Changing the documentation to state that checksumed addresses must have 0x or changing the function to accept checksumed addresses with 0x. I would just remove 0x at the beginning of the function (if found) and work with the address as that.  
  
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `setup.py`
  Content:
  ```
  1 #!/usr/bin/env python
  2 from setuptools import (
  3     find_packages,
  4     setup,
  5 )
  6 
  7 extras_require = {
  8     "tester": [
  9         "eth-tester[py-evm]==v0.10.0-b.1",
  10         "py-geth>=4.1.0",
  11     ],
  12     "linter": [
  13         "black>=22.1.0",
  14         "flake8==3.8.3",
  15         "isort>=5.11.0",
  16         "mypy==1.4.1",
  17         "types-setuptools>=57.4.4",
  18         "types-requests>=2.26.1",
  19         "types-protobuf==3.19.13",
  20     ],
  21     "docs": [
  22         "sphinx>=5.3.0",
  23         "sphinx_rtd_theme>=1.0.0",
  24         "towncrier>=21,<22",
  25     ],
  26     "dev": [
  27         "bumpversion",
  28         "flaky>=3.7.0",
  29         "hypothesis>=3.31.2",
  30         "importlib-metadata<5.0;python_version<'3.8'",
  31         "pytest>=7.0.0",
  32         "pytest-asyncio>=0.18.1,<0.23",
  33         "pytest-mock>=1.10",
  34         "pytest-watch>=4.2",
  35         "pytest-xdist>=1.29",
  36         "setuptools>=38.6.0",
  37         "tox>=3.18.0",
  38         "tqdm>4.32",
  39         "twine>=1.13",
  40         "when-changed>=0.3.0",
  41         "build>=0.9.0",
  42     ],
  43     "ipfs": [
  44         "ipfshttpclient==0.8.0a2",
  45     ],
  46 }
  47 
  48 extras_require["dev"] = (
  49     extras_require["tester"]
  50     + extras_require["linter"]
  51     + extras_require["docs"]
  52     + extras_require["ipfs"]
  53     + extras_require["dev"]
  54 )
  55 
  56 with open("./README.md") as readme:
  57     long_description = readme.read()
  58 
  59 setup(
  60     name="web3",
  61     # *IMPORTANT*: Don't manually change the version here. Use the 'bumpversion' utility.
  62     version="6.14.0",
  63     description="""web3.py""",
  64     long_description_content_type="text/markdown",
  65     long_description=long_description,
  66     author="The Ethereum Foundation",
  67     author_email="snakecharmers@ethereum.org",
  68     url="https://github.com/ethereum/web3.py",
  69     include_package_data=True,
  70     install_requires=[
  71         "aiohttp>=3.7.4.post0",
  72         "eth-abi>=4.0.0",
  73         "eth-account>=0.8.0",
  74         "eth-hash[pycryptodome]>=0.5.1",
  75         "eth-typing>=3.0.0",
  76         "eth-utils>=2.1.0",
  77         "hexbytes>=0.1.0,<0.4.0",
  78         "jsonschema>=4.0.0",
  79         "protobuf>=4.21.6",
  80         "pydantic>=2.4.0",
  81         "pywin32>=223;platform_system=='Windows'",
  82         "requests>=2.16.0",
  83         "typing-extensions>=4.0.1",
  84         "websockets>=10.0.0",
  85         "pyunormalize>=15.0.0",
  86     ],
  87     python_requires=">=3.8",
  88     extras_require=extras_require,
  89     py_modules=["web3", "ens", "ethpm"],
  90     entry_points={"pytest11": ["pytest_ethereum = web3.tools.pytest_ethereum.plugins"]},
  91     license="MIT",
  92     zip_safe=False,
  93     keywords="ethereum",
  94     packages=find_packages(exclude=["tests", "tests.*"]),
  95     package_data={"web3": ["py.typed"]},
  96     classifiers=[
  97         "Development Status :: 5 - Production/Stable",
  98         "Intended Audience :: Developers",
  99         "License :: OSI Approved :: MIT License",
  100         "Natural Language :: English",
  101         "Programming Language :: Python :: 3",
  102         "Programming Language :: Python :: 3.8",
  103         "Programming Language :: Python :: 3.9",
  104         "Programming Language :: Python :: 3.10",
  105         "Programming Language :: Python :: 3.11",
  106     ],
  107 )
  108
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -6,7 +6,7 @@
   
   extras_require = {
       "tester": [
  -        "eth-tester[py-evm]==v0.10.0-b.1",
  +        "eth-tester[py-evm]==v0.10.0-b.3",
           "py-geth>=4.1.0",
       ],
       "linter": [
  @@ -73,7 +73,7 @@
           "eth-account>=0.8.0",
           "eth-hash[pycryptodome]>=0.5.1",
           "eth-typing>=3.0.0",
  -        "eth-utils>=2.1.0",
  +        "eth-utils>=4.0.0",
           "hexbytes>=0.1.0,<0.4.0",
           "jsonschema>=4.0.0",
           "protobuf>=4.21.6",
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -6,7 +6,7 @@\n \n extras_require = {\n     \"tester\": [\n-        \"eth-tester[py-evm]==v0.10.0-b.1\",\n+        \"eth-tester[py-evm]==v0.10.0-b.3\",\n         \"py-geth>=4.1.0\",\n     ],\n     \"linter\": [\n@@ -73,7 +73,7 @@\n         \"eth-account>=0.8.0\",\n         \"eth-hash[pycryptodome]>=0.5.1\",\n         \"eth-typing>=3.0.0\",\n-        \"eth-utils>=2.1.0\",\n+        \"eth-utils>=4.0.0\",\n         \"hexbytes>=0.1.0,<0.4.0\",\n         \"jsonschema>=4.0.0\",\n         \"protobuf>=4.21.6\",\n", "issue": "Web3.isAddress doesn't work for non prefixed checksumed values\n* Version: 4.0.0b11\r\n* Python: 3.6\r\n* OS: linux\r\n\r\n### What was wrong?\r\n\r\nAs stated in the docs http://web3py.readthedocs.io/en/latest/overview.html#Web3.isAddress the function Web3.isAddress(value) should **allow both 0x prefixed and non prefixed values**.\r\n\r\nIf the address is not checksumed, it's ok not to have the **0x**:\r\n\r\n```\r\n>>> Web3.isAddress('d3cda913deb6f67967b99d67acdfa1712c293601')\r\n>>> True\r\n```\r\n\r\nBut if it's checksumed\r\n\r\n```\r\n>>> Web3.isAddress('d3CdA913deB6f67967B99D67aCDFa1712C293601')\r\n>>> False\r\n```\r\n\r\nNo problem if we add the **0x**:\r\n\r\n```\r\n>>> Web3.isAddress('0xd3CdA913deB6f67967B99D67aCDFa1712C293601')\r\n>>> True\r\n```\r\n\r\n### How can it be fixed?\r\n\r\nChanging the documentation to state that checksumed addresses must have 0x or changing the function to accept checksumed addresses with 0x. I would just remove 0x at the beginning of the function (if found) and work with the address as that.  \r\n\n", "before_files": [{"content": "#!/usr/bin/env python\nfrom setuptools import (\n    find_packages,\n    setup,\n)\n\nextras_require = {\n    \"tester\": [\n        \"eth-tester[py-evm]==v0.10.0-b.1\",\n        \"py-geth>=4.1.0\",\n    ],\n    \"linter\": [\n        \"black>=22.1.0\",\n        \"flake8==3.8.3\",\n        \"isort>=5.11.0\",\n        \"mypy==1.4.1\",\n        \"types-setuptools>=57.4.4\",\n        \"types-requests>=2.26.1\",\n        \"types-protobuf==3.19.13\",\n    ],\n    \"docs\": [\n        \"sphinx>=5.3.0\",\n        \"sphinx_rtd_theme>=1.0.0\",\n        \"towncrier>=21,<22\",\n    ],\n    \"dev\": [\n        \"bumpversion\",\n        \"flaky>=3.7.0\",\n        \"hypothesis>=3.31.2\",\n        \"importlib-metadata<5.0;python_version<'3.8'\",\n        \"pytest>=7.0.0\",\n        \"pytest-asyncio>=0.18.1,<0.23\",\n        \"pytest-mock>=1.10\",\n        \"pytest-watch>=4.2\",\n        \"pytest-xdist>=1.29\",\n        \"setuptools>=38.6.0\",\n        \"tox>=3.18.0\",\n        \"tqdm>4.32\",\n        \"twine>=1.13\",\n        \"when-changed>=0.3.0\",\n        \"build>=0.9.0\",\n    ],\n    \"ipfs\": [\n        \"ipfshttpclient==0.8.0a2\",\n    ],\n}\n\nextras_require[\"dev\"] = (\n    extras_require[\"tester\"]\n    + extras_require[\"linter\"]\n    + extras_require[\"docs\"]\n    + extras_require[\"ipfs\"]\n    + extras_require[\"dev\"]\n)\n\nwith open(\"./README.md\") as readme:\n    long_description = readme.read()\n\nsetup(\n    name=\"web3\",\n    # *IMPORTANT*: Don't manually change the version here. Use the 'bumpversion' utility.\n    version=\"6.14.0\",\n    description=\"\"\"web3.py\"\"\",\n    long_description_content_type=\"text/markdown\",\n    long_description=long_description,\n    author=\"The Ethereum Foundation\",\n    author_email=\"snakecharmers@ethereum.org\",\n    url=\"https://github.com/ethereum/web3.py\",\n    include_package_data=True,\n    install_requires=[\n        \"aiohttp>=3.7.4.post0\",\n        \"eth-abi>=4.0.0\",\n        \"eth-account>=0.8.0\",\n        \"eth-hash[pycryptodome]>=0.5.1\",\n        \"eth-typing>=3.0.0\",\n        \"eth-utils>=2.1.0\",\n        \"hexbytes>=0.1.0,<0.4.0\",\n        \"jsonschema>=4.0.0\",\n        \"protobuf>=4.21.6\",\n        \"pydantic>=2.4.0\",\n        \"pywin32>=223;platform_system=='Windows'\",\n        \"requests>=2.16.0\",\n        \"typing-extensions>=4.0.1\",\n        \"websockets>=10.0.0\",\n        \"pyunormalize>=15.0.0\",\n    ],\n    python_requires=\">=3.8\",\n    extras_require=extras_require,\n    py_modules=[\"web3\", \"ens\", \"ethpm\"],\n    entry_points={\"pytest11\": [\"pytest_ethereum = web3.tools.pytest_ethereum.plugins\"]},\n    license=\"MIT\",\n    zip_safe=False,\n    keywords=\"ethereum\",\n    packages=find_packages(exclude=[\"tests\", \"tests.*\"]),\n    package_data={\"web3\": [\"py.typed\"]},\n    classifiers=[\n        \"Development Status :: 5 - Production/Stable\",\n        \"Intended Audience :: Developers\",\n        \"License :: OSI Approved :: MIT License\",\n        \"Natural Language :: English\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.8\",\n        \"Programming Language :: Python :: 3.9\",\n        \"Programming Language :: Python :: 3.10\",\n        \"Programming Language :: Python :: 3.11\",\n    ],\n)\n", "path": "setup.py"}], "after_files": [{"content": "#!/usr/bin/env python\nfrom setuptools import (\n    find_packages,\n    setup,\n)\n\nextras_require = {\n    \"tester\": [\n        \"eth-tester[py-evm]==v0.10.0-b.3\",\n        \"py-geth>=4.1.0\",\n    ],\n    \"linter\": [\n        \"black>=22.1.0\",\n        \"flake8==3.8.3\",\n        \"isort>=5.11.0\",\n        \"mypy==1.4.1\",\n        \"types-setuptools>=57.4.4\",\n        \"types-requests>=2.26.1\",\n        \"types-protobuf==3.19.13\",\n    ],\n    \"docs\": [\n        \"sphinx>=5.3.0\",\n        \"sphinx_rtd_theme>=1.0.0\",\n        \"towncrier>=21,<22\",\n    ],\n    \"dev\": [\n        \"bumpversion\",\n        \"flaky>=3.7.0\",\n        \"hypothesis>=3.31.2\",\n        \"importlib-metadata<5.0;python_version<'3.8'\",\n        \"pytest>=7.0.0\",\n        \"pytest-asyncio>=0.18.1,<0.23\",\n        \"pytest-mock>=1.10\",\n        \"pytest-watch>=4.2\",\n        \"pytest-xdist>=1.29\",\n        \"setuptools>=38.6.0\",\n        \"tox>=3.18.0\",\n        \"tqdm>4.32\",\n        \"twine>=1.13\",\n        \"when-changed>=0.3.0\",\n        \"build>=0.9.0\",\n    ],\n    \"ipfs\": [\n        \"ipfshttpclient==0.8.0a2\",\n    ],\n}\n\nextras_require[\"dev\"] = (\n    extras_require[\"tester\"]\n    + extras_require[\"linter\"]\n    + extras_require[\"docs\"]\n    + extras_require[\"ipfs\"]\n    + extras_require[\"dev\"]\n)\n\nwith open(\"./README.md\") as readme:\n    long_description = readme.read()\n\nsetup(\n    name=\"web3\",\n    # *IMPORTANT*: Don't manually change the version here. Use the 'bumpversion' utility.\n    version=\"6.14.0\",\n    description=\"\"\"web3.py\"\"\",\n    long_description_content_type=\"text/markdown\",\n    long_description=long_description,\n    author=\"The Ethereum Foundation\",\n    author_email=\"snakecharmers@ethereum.org\",\n    url=\"https://github.com/ethereum/web3.py\",\n    include_package_data=True,\n    install_requires=[\n        \"aiohttp>=3.7.4.post0\",\n        \"eth-abi>=4.0.0\",\n        \"eth-account>=0.8.0\",\n        \"eth-hash[pycryptodome]>=0.5.1\",\n        \"eth-typing>=3.0.0\",\n        \"eth-utils>=4.0.0\",\n        \"hexbytes>=0.1.0,<0.4.0\",\n        \"jsonschema>=4.0.0\",\n        \"protobuf>=4.21.6\",\n        \"pydantic>=2.4.0\",\n        \"pywin32>=223;platform_system=='Windows'\",\n        \"requests>=2.16.0\",\n        \"typing-extensions>=4.0.1\",\n        \"websockets>=10.0.0\",\n        \"pyunormalize>=15.0.0\",\n    ],\n    python_requires=\">=3.8\",\n    extras_require=extras_require,\n    py_modules=[\"web3\", \"ens\", \"ethpm\"],\n    entry_points={\"pytest11\": [\"pytest_ethereum = web3.tools.pytest_ethereum.plugins\"]},\n    license=\"MIT\",\n    zip_safe=False,\n    keywords=\"ethereum\",\n    packages=find_packages(exclude=[\"tests\", \"tests.*\"]),\n    package_data={\"web3\": [\"py.typed\"]},\n    classifiers=[\n        \"Development Status :: 5 - Production/Stable\",\n        \"Intended Audience :: Developers\",\n        \"License :: OSI Approved :: MIT License\",\n        \"Natural Language :: English\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.8\",\n        \"Programming Language :: Python :: 3.9\",\n        \"Programming Language :: Python :: 3.10\",\n        \"Programming Language :: Python :: 3.11\",\n    ],\n)\n", "path": "setup.py"}]}