@classmethod
def from_public_point(cls, public_point: bytes, curve=b'ed'):
    """
        Creates a key object from a public elliptic point.
        :param public_point: elliptic point in the compressed format (see https://tezos.stackexchange.com/a/623/309)
        :param curve: b'sp' for secp251k1, b'p2' for P256/secp256r1, b'ed' for Ed25519 (default)
        """
    return cls(public_point, curve=curve)
