docs: async def create_pool_ledger_config(config_name: str,
                                      config: Optional[str]) -> None:
      """
      Creates a new local pool ledger configuration that can be used later to connect pool nodes.
  
      :param config_name: Name of the pool ledger configuration.
      :param config: (optional) Pool configuration json. if NULL, then default config will be used. Example:
          {
              "genesis_txn": string (optional), A path to genesis transaction file. If NULL, then a default one will be used.
                             If file doesn't exists default one will be created.
          }
      :return: Error code
      """
  
      logger = logging.getLogger(__name__)
      logger.debug("create_pool_ledger_config: >>> config_name: %r, config: %r",
                   config_name,
                   config)
  
      if not hasattr(create_pool_ledger_config, "cb"):
          logger.debug("create_pool_ledger_config: Creating callback")
          create_pool_ledger_config.cb = create_cb(CFUNCTYPE(None, c_int32, c_int32))
  
      c_config_name = c_char_p(config_name.encode('utf-8'))
      c_config = c_char_p(config.encode('utf-8')) if config is not None else None
  
      res = await do_call('indy_create_pool_ledger_config',
                          c_config_name,
                          c_config,
                          create_pool_ledger_config.cb)
  
      logger.debug("create_pool_ledger_config: <<< res: %r", res)
      return res