This is similar to other places in the codebase (here or here), there is also alternative where this code could be places in comm-lib but I prefer this, we can move it if needed.
Using is_valid_ethereum_address should be safe, we do the same on the client, and also it's not possible to create username which id valid ETH address.
Depends on D13805