From 57f6bd5355f1daafdc26171cf5e06b65efe90f99 Mon Sep 17 00:00:00 2001 From: Stuart Reed Date: Tue, 20 Feb 2024 10:46:45 -0700 Subject: [PATCH 1/2] `Web3.is_address` no longer requires checksummed addresses --- eth_utils/address.py | 7 +------ tests/address-utils/test_address_utils.py | 2 +- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/eth_utils/address.py b/eth_utils/address.py index df77241a..3407e70b 100644 --- a/eth_utils/address.py +++ b/eth_utils/address.py @@ -59,12 +59,7 @@ def is_address(value: Any) -> bool: """ Is the given string an address in any of the known formats? """ - if is_hex_address(value): - if _is_checksum_formatted(value): - return is_checksum_address(value) - return True - - if is_binary_address(value): + if is_hex_address(value) or is_binary_address(value): return True return False diff --git a/tests/address-utils/test_address_utils.py b/tests/address-utils/test_address_utils.py index fb8d8520..56f4f64d 100644 --- a/tests/address-utils/test_address_utils.py +++ b/tests/address-utils/test_address_utils.py @@ -35,8 +35,8 @@ # checksummed - valid ("0x5B2063246F2191f18F2675ceDB8b28102e957458", True, True, False), (b"0x5B2063246F2191f18F2675ceDB8b28102e957458", False, False, False), + ("0x5b2063246F2191f18F2675ceDB8b28102e957458", True, True, False), # checksummed - invalid - ("0x5b2063246F2191f18F2675ceDB8b28102e957458", False, True, False), (b"0x5b2063246F2191f18F2675ceDB8b28102e957458", False, False, False), # too short - unprefixed ("c6d9d2cd449a754c494264e1809c50e34d64562", False, False, False), From d33fa832cffcb8ab566b15a92ff826aa01cd366b Mon Sep 17 00:00:00 2001 From: Stuart Reed Date: Tue, 20 Feb 2024 10:58:10 -0700 Subject: [PATCH 2/2] Newsfragment for #265 --- newsfragments/265.breaking.rst | 1 + 1 file changed, 1 insertion(+) create mode 100644 newsfragments/265.breaking.rst diff --git a/newsfragments/265.breaking.rst b/newsfragments/265.breaking.rst new file mode 100644 index 00000000..a1f708cc --- /dev/null +++ b/newsfragments/265.breaking.rst @@ -0,0 +1 @@ +`Web3.is_address` now returns True for non-checksummed addresses.