We could update this by making it a non-case sensitive regex query such as:
HEX_CHARS_RE = re.compile('^[0-9a-f]*$', re.IGNORECASE).
If we detect a mixed case eth address we could also perfom a checksum validation to ensure the address checksum validates before creating an api call. Checksum validation of eth addresses using Python is described here: https://eips.ethereum.org/EIPS/eip-55
Is checksum validation something we should be doing here, or simply adapting the regex to be case insensitive?
To replicate:
after doing some digging it appears that
is_valid_address_for_coinsymbol
callsis_valid_eth_address
which in turn calls:uses_only_hash_chars(addr)
.uses_only_hash_chars
is defined as:We could update this by making it a non-case sensitive regex query such as:
HEX_CHARS_RE = re.compile('^[0-9a-f]*$', re.IGNORECASE)
.If we detect a mixed case eth address we could also perfom a checksum validation to ensure the address checksum validates before creating an api call. Checksum validation of eth addresses using Python is described here: https://eips.ethereum.org/EIPS/eip-55
Is checksum validation something we should be doing here, or simply adapting the regex to be case insensitive?