code: async def generate_wallet_key(config: Optional[str]) -> str:
      
  
      logger = logging.getLogger(__name__)
      logger.debug("generate_wallet_key: >>> config: %r",
                   config)
  
      if not hasattr(generate_wallet_key, "cb"):
          logger.debug("generate_wallet_key: Creating callback")
          generate_wallet_key.cb = create_cb(CFUNCTYPE(None, c_int32, c_int32, c_char_p))
  
      c_config = c_char_p(config.encode('utf-8')) if config is not None else None
  
      key = await do_call('indy_generate_wallet_key',
                          c_config,
                          generate_wallet_key.cb)
  
      res = key.decode()
  
      logger.debug("generate_wallet_key: <<< res: %r", res)
      return res
docs: Generate wallet master key.
      Returned key is compatible with "RAW" key derivation method.
      It allows to avoid expensive key derivation for use cases when wallet keys can be stored in a secure enclave.
  
      :param config: (optional) key configuration json.
       {
          "seed": string, (optional) Seed that allows deterministic key creation (if not set random one will be created).
                                     Can be UTF-8, base64 or hex string.
       }
      :return: Error code