from base64 import b32decode from typing import TYPE_CHECKING from onionrutils.bytesconverter import str_to_bytes if TYPE_CHECKING: from onionrtypes import Ed25519PublicKeyBytes, OnionAddressString def extract_ed25519_from_onion_address( address: OnionAddressString) -> Ed25519PublicKeyBytes: address = str_to_bytes(address).replace(b'.onion', b'').upper() ed25519 = b32decode(address)[:-3] return ed25519