talonlab / python-hdwallet

Python-based library for the implementation of a Hierarchical Deterministic (HD) Wallet generator supporting more than 200 cryptocurrencies.
https://hdwallet.readthedocs.io
MIT License
461 stars 151 forks source link

Typing issue in get_semantic and downstream consequences #87

Open danmarinescu opened 1 year ago

danmarinescu commented 1 year ago

Hi, thanks for building this library! We recently upgraded from version 1.3.2 to 2.2.1 and some of our tests are now failing. For example if we do

xpub_key="drkvjRAvbKRoPGwQKSY4bSbbDrUv1zTH8bUTQDeyEBNGws5BZUwec5wNeNwJqzYSSqC5CTsD7AMvun5RMmi39GjMfELNfF4cwB6DhLG7aTQfUST"
symbol="DASH"
is_root_xpublic_key(xpublic_key=xpub_key, symbol=symbol)

This raises an exception here because get_semantic returns None.

According to the type annotation get_semantic returns a non-optional string and therefore should not return None. Is the type annotation wrong? How should the code handle the above case?