docs: def new(cls, seed: Optional[bytes]) -> 'SignKey':
          """
          Creates and returns random (or seeded from seed) BLS sign key.
          :param: seed - Optional seed.
          :return: BLS sign key
          """
          logger = logging.getLogger(__name__)
          logger.debug("SignKey::new: >>>")
  
          c_instance = c_void_p()
          do_call(cls.new_handler, seed, len(seed) if seed is not None else 0, byref(c_instance))
  
          res = cls(c_instance)
  
          logger.debug("SignKey::new: <<< res: %r", res)
          return res